El dron Five86-1 de CTF *** combate real

Dirección de la máquina de destino: < http://www.vulnhub.com/entry/five86-1,417/> ;

Este artículo incluye ejercicios prácticos sobre puntos de conocimiento: VulnHub *** prueba el campo de tiro de combate real Nodo 1.0 (El nodo 1.0 es un desafío Boot2root / CTF de dificultad media. El entorno del campo de tiro fue creado originalmente por HackTheBox, y el propósito del experimento es obtener dos banderas)

Punto técnico

  • opennetadmin v18.1.1RCE
    • searchsploit
    • exp de búsqueda de github
  • Descifrando la contraseña cifrada HASH en Linux
    • crunchGenerar diccionario
    • johnY hashcatdescifrar el código
    • hash-identifierVer tipo de HASH
  • Inicio de sesión sin contraseña SSH
    • Copie la clave pública comoauthorized_keys
  • Linux ve los permisos de usuario actuales, archivos legibles y comandos ejecutables
    • Ver archivos legibles con permisos de usuario actualesfind / -type f -user www-data
    • Comando ejecutablesudo -l

Descubrimiento de destino

El parámetro nmap -sP usa ping para escanear hosts de LAN, la dirección de destino es 192.168.56.5

Descubra la dirección de destino

nmap -sS -A -v 192.168.56.5 Eche un vistazo a los resultados detallados del escaneo -sS es un escaneo semiabierto, -A es para la detección de versiones y huellas dactilares del sistema operativo, -v genera información detallada

Detalles de salida

Podemos ver los 22,80,10000 abiertos tres puertos y existen 80 puertos robots.txt, y las rutas/ona

Descubrimiento y explotación de vulnerabilidades

accesohttp://192.168.56.5 es una página en blanco, y luego vaya a visit / ona, puede ver que opennetadminla página de administración y la versión es18.1.1

Visite la página de administración

Página de gestión

v18.1.1La opennetadminexistencia de la vulnerabilidad RCE, en github puede encontrar exp hit en el pasado, < https://github.com/amriunix/ona-rce> ;

Encuentra un exp en github y llámalo

O utilícelo searchsploit, pero hay un error aquí, que es convertir el formato de este script bash; de lo contrario, se informará un error, use dos2unix 47691.sheste comando y el shell aquí no se puede convertir a TTY

Utilizar searchsploit

Formato de conversión

La siguiente pregunta es cómo escalar los privilegios. Después de algunas pruebas, se descubre que los comandos que no se pueden ejecutar aquí no se repiten y los cdcomandos no se pueden ejecutar , pero los comandos lsy se pueden usarcat

El comando no se repite

El comando no se repite

Debe haber control de permisos aquí. Puede usar find / -type f -user www-datacomandos para ver los archivos que este usuario puede leer, a excepción /procde /var/www/html/reports/.htaccessy/var/log/ona.log

Ver archivos que este usuario puede leer

Lea la ruta que var/www/html/reports/.htaccessse puede encontrarAuthUserFile/var/www/.htpasswd

Encuentra el camino

Lea este archivo de la siguiente manera, puede obtener el nombre de usuario douglasy la contraseña HASH $apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1, el mensaje dado es只包含aefhrt的十个字符

Obtenga el nombre de usuario y la contraseña HASH

douglas:$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1

# To make things slightly less painful (a standard dictionary will likely fail),
# use the following character set for this 10 character password: aefhrt 

Primero utilícelo para hash-identifierver cuál es HASH, el resultado es tipo hash: [+] MD5 (APR)

Mira qué hash

Luego use para crunchgenerar el diccionario correspondiente, formato de comando crunch &lt;min-len&gt; &lt;max-len&gt; [charset string] [options], aquí para generar solo 10 caracteres que contengan aefhrt, puede usar los siguientes comandos crunch 10 10 aefhrt -o pass.txt, para más introducción, consulte la herramienta de generación de diccionario Crunch y comandos crunch en Linux.

Genera el diccionario correspondiente

Finalmente, debemos usar el famoso hashcatpara descifrar este HASH, el formato de comando hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]..., el comando que se usa aquí eshashcat -m 1600 -a 0 -o res hash.txt pass.txt

-m es la categoría HASH, -a es el método ***, -o es el resultado de salida, y más parámetros pueden hacer referencia a la guía de descifrado de contraseñas Hashcat . Aquí, la ejecución en kali ha estado informando errores, por lo que se trasladó a wsl2, el comandohashcat -m 1600 -a 0 -o res hash.txt pass.txt --force

Ejecutar en Kali sigue informando errores

contraseña

La contraseña final es fatherrrrr

O se puede usar johnaquí para romper john --wordlist=pass.txt hash.txt, pero la velocidad puede ser problemática

Grieta

Utilice ssh para conectarsessh [email protected]

Conéctese con ssh

Este es un TTY, pero todavía hay control de permisos. Úselo para sudo -lver qué comandos se pueden usar. Como resultado (jen) NOPASSWD: /bin/cp, es un poco extraño aquí. douglasPuede jenejecutar cpcomandos como puede

Control de acceso

Vaya a visitar homeel directorio, encontrado douglasy jenestos dos usuarios, pero solo con jenel cpcomando y sin jencontraseña

Visite el directorio de inicio

Vale la pena señalar que si el jenusuario /home/jen/.ssh/authorized_keyscontiene douglasla clave pública, el ssh que se puede usar douglaspara id_rsainiciar sesión jenen el archivo , es decir, el ssh que puede iniciar sesión sin secreto jen. Esto se copia en el /tmpdirectorio porque jenno hay permiso para acceder a douglaslos archivos en el directorio.

cp .ssh/id_rsa.pub /tmp/authorized_keys
chmod 777 /tmp/authorized_keys 
sudo -u jen /bin/cp /tmp/authorized_keys /home/jen/.ssh/

Inicie sesión en el ssh de jen con el archivo id_rsa de douglas

Entonces conéctate con sshssh -i id_rsa [email protected]

Conéctese con ssh

Inicie sesión correctamente jen, vea el mensaje mailo ejecútelo primero echo $(find / -type f -user jen) &gt; 1.txt, hay un /var/mail/jenarchivo que se puede leer

Iniciar sesión correctamente en jen

O maillos comandos ingresados ​​directamente aquí también se pueden ver

Ingrese el comando de correo directamente

Léelo, su contenido es el siguiente

Leer su contenido

Palabras clave:change Moss's password ,his password is now Fire!Fire!

Luego ssh para conectar al mossusuariossh [email protected]

ssh connect usuario de moss

Se encontró un directorio oculto en el directorio actual .gamesy se encontró un rootarchivo binario de permisos después del accesoupyourgame

archivo binario

Después de ejecutar, me encontré mágicamente convertido en usuario root picante

despues de correr

Finalmente, la bandera está /rootadentro, por8f3b38dd95eccf600593da4522251746

bandera

Momento del huevo de Pascua, de hecho douglas, puede iniciar sesión con una máquina virtual después de obtener la contraseña y luego operar, aquí está mossla contraseña de la cuenta utilizada, y el mismo efecto

tiempo de Pascua

Supongo que te gusta

Origin blog.51cto.com/14601372/2595864
Recomendado
Clasificación