Cubrimos el desafío boot2root Atenea de TryHackMe. Escaneamos la máquina con Nmap y descubrimos el servidor SMB del cual extrajimos una nota que nos dirigía a un directorio en el servidor web donde descubrimos una herramienta de ping ejecutándose. Usamos la sustitución de comandos para inyectar un caparazón de enlace y conseguir el primer punto de apoyo. Descubrimos un script de respaldo que se ejecuta periódicamente como otro usuario. Modificamos el script para ejecutar shell inverso y abrimos otra sesión como usuario Athena. Tras la enumeración, descubrimos que el usuario Athena puede cargar módulos del kernel como sudo usando insmod sin necesidad de una contraseña de root. Descargamos el módulo kernal “venom.ko” y usamos Ghidra para realizar ingeniería inversa en el binario. Descubrimos que es un rootkit y después del análisis del código pudimos interactuar con el módulo para llamar a una función que aumentaba los privilegios de Athena a Root.
Obviamente podemos iniciar sesión sin contraseña. Ingrese sin contraseña o en blanco y podrá iniciar sesión como usuario anónimo.
Vemos dos acciones públicas y el IPC. Evidentemente el que está muy interesado es la acción pública. Y proporcionamos el nombre de la acción. Proporcionamos una contraseña en blanco e iniciamos sesión correctamente en el recurso compartido.
Y esta es la nota aquí administrador.
Me gustaría informarles que se está desarrollando un nuevo sistema de ping. Y dejé la solicitud correspondiente.
En una ruta específica, a la que se puede acceder a través de la siguiente dirección.
Si vuelves. y pruebe algunos métodos de inyección de comandos, como el encadenamiento de comandos, para que los analistas de punto y coma envíen y el intento sea bloqueado, intento de piratería, así que aquí el
Parece que el carácter está filtrado si intentamos con el signo comercial y enviamos nuevamente el intento de pirateo para que haya un filtro.
¿Cuál es la solución aquí? La solución es utilizar la sustitución de comandos. Les expliqué la sustitución común en videos anteriores. Puedes volver a ellos específicamente en este vídeo.
Omitir filtros SQL mediante sustitución de comandos
Fue una manifestación en juegos overthewire CTF Natas nivel 16. Muy bien, entonces usaremos la sustitución de comandos aquí.
Como puedes ver lo que hice. Usé la dirección IP. Esta es la entrada que la aplicación espera que la IP haga ping. Ese es el motivo porque -C1 es una opción. Podemos usarlo en el comando ping. Entonces aquí enviamos un paquete y comienza la sustitución de comentarios. Entonces, la sustitución de coma comienza con el signo $ y entre dos paréntesis, proporcionamos en el comando que nos gustaría ejecutar, ya que los caracteres como el ampersand, la tubería y el punto y coma están bloqueados o filtrados, debemos usar algo diferente.
En bind shell nos conectamos a la máquina, lo que significa que la máquina ahora actuará como oyente. Entonces NC – LP cuatro cinco cuatro cinco el puerto y quiero que la máquina escuche una vez que se reciba la conexión. Ejecutaré /bin/bash. entonces hacemos esto como puede ver ahora que está girando indicando que el oyente se está ejecutando ahora, así que vaya a mi máquina, este es el shell de la máquina.
Y como pueden ver, me conecto con la máquina usando este comando. Así es como funciona bind shell.
Notamos un patrón con un script de respaldo. Entonces, este script de respaldo se ejecuta a intervalos regulares mediante el usuario UID 1001.
Entonces, Athena es el usuario cuyo uid es 1001. Esto significa que el usuario Athena ejecuta el script periódicamente. Navegamos hasta el directorio que almacena la copia de seguridad del recurso compartido del usuario del script.
plus -la usuario comparte copia de seguridad y aquí vemos el script de copia de seguridad. Sorprendentemente, el usuario actual www-data es el propietario del script, lo que significa que podemos modificarlo. ¿Cuál es el propósito de modificar el script, ya que Athena ejecuta este script de forma regular y, dado que todavía tenemos un usuario www-data con pocos privilegios, nos gustaría aumentar los privilegios, lo que significa que queremos pasar de www? -datos a Atenea.
Dado que el script se ejecuta como Athena. Significa que si podemos modificar el contenido del script y poner un shell inverso cuando el script se ejecute nuevamente. Va a ejecutar el shell inverso. El usuario Athena puede ejecutar el comando insmod como sudo sin la necesidad de proporcionar una contraseña de root, por lo que descargamos el módulo venom.ko a mi máquina para realizar ingeniería inversa usando Ghidra.
Entonces esta es la página principal de diamorfina. Según la descripción, es un rootkit LKM para kernels de Linux. Y aquí están las instrucciones de cómo instalarlo y desbloquearlo, como puedes ver aquí, el modelo comienza invisible. Para eliminarlo es necesario hacerlo visible.
Esa es la idea de un rootkit que es malicioso o malware que se oculta de los procesos o módulos. Entonces, incluso si enumera los procesos o intentamos encontrar los módulos en ejecución actuales, el rootkit no aparecerá. Vale, porque es un rootkit. Y los rootkits utilizan el vaciado y la inyección de procesos para ocultarse de los ojos de los investigadores. Entonces este comando es muy importante porque revelará el módulo.
Tutorial en vídeo