Cubrimos un arranque en la máquina raíz donde comenzamos con un escaneo de Nmap para descubrir varios puertos abiertos y servicios en ejecución, como el servidor FTP, el servidor web Apache y el recurso compartido de archivos NFS. Al montar el archivo compartido NFS en nuestra máquina local, descubrimos credenciales de texto sin formato que nos dieron acceso al servidor FTP.

Luego descargamos archivos de texto del servidor FTP, uno incluía una nota del administrador y el otro incluía décimas de contraseñas. Debido a que la limitación de velocidad se implementa en el servidor, no ejecutamos fuerza bruta en el formulario de inicio de sesión que se encuentra en la página web, sino que descubrimos que el ID de la sesión PHP se calcula usando una combinación de hash base64 y md5 que incluía el nombre de usuario y la contraseña del usuario que ha iniciado sesión.

Creamos un script de Python que recorre en iteración la lista de contraseñas que encontramos anteriormente, calcula la suma md5 de la contraseña, la codifica con base64 para encontrar el ID de la sesión y la prueba en la página de administración.

Esto nos permitió encontrar la contraseña correcta del usuario administrador junto con el ID de la sesión. Luego logramos un shell inverso al encadenar comandos en la página de estado del servidor y luego logramos una escalada de privilegios al explotar una ruta de biblioteca mal configurada a través de sudo con el proceso Apache.

Obtener notas OSCP

Banderas

¿Qué es la bandera de usuario?

¿Qué es la bandera raíz?

Transcripción del vídeo
¿Qué está pasando chicos? ¿Bienvenido de nuevo este vídeo? Estaban secuestrando Troy Aikman, que es una máquina lanzada recientemente en la plataforma. Ahora, en esta máquina, repasaremos al mismo tiempo las pruebas de penetración de replicación. Vamos a hacer una escalada de privilegios de Linux para recuperar dos indicadores, es un indicador y se marcaría, así que comenzamos con el escaneo de nmap como lo hacemos todo el tiempo y descubrimos que hay 123 alrededor de 42.
Cinco puertos abiertos FTP son H, tenemos un servidor web en ejecución. Solo tenemos un archivo compartido de Office ejecutándose en la máquina, lo que significa que esta podría ser la próxima máquina y tenemos sí, esta tampoco es una cara. Entonces se estima que esta máquina ejecuta un sistema operativo Linux.
Entonces, los próximos pasos dependerán de lo que encontremos en la bandeja de entrada para que podamos seguir adelante y descubrir el servidor web. Vemos invitados bienvenidos en este lado en desarrollo. Esta es la página de inicio. Vemos un par de funciones aquí. Tenemos Administración, a la que no tenemos acceso para iniciar sesión y registrarnos. Así que este está listo para una prueba de usuario 123. Hay uno, dos, tres.
Y ahora podemos iniciar sesión.
Bien, todavía no tenemos acceso a la página de administración. Muy bien, eso es todo para la página web por ahora. Si regresas a la terminal y comenzamos a ir a Buster, entonces ve a Buster. Primero averigüemos dónde están las listas de palabras en esta máquina. Entonces herramientas, vamos herramientas.

Y luego pasamos a las listas de palabras.

Directora de Ester. Bien, entonces tenemos estas aguas aquí. Así que ve a Buster dir y luego al zapato, así que regresaremos.
Tenga el pedido aquí. ¿Eliminé el índice?
Y luego vamos a decir que vamos a usar, veamos qué lista de palabras debemos usar aquí. Entonces Dash W. Usaremos texto grande.
Muy bien, dejaremos esto funcionando por un tiempo. Y sí, está terminado. Entonces, un director descubrió el estado del servidor Dash. Sigamos adelante y descubramos qué es esto. Entonces, dado que ya estamos bloqueados, esperamos que esta página se abra.
Y no tenemos permiso para acceder a esta página.
Bien, eso es todo para el servidor web, ahora no hay nada que hacer por ahora, pero una cosa a tener en cuenta es si hacemos clic en inspeccionar y verificamos las cookies o el almacenamiento y desde aquí. Vamos a copiar esto.
Como pueden ver muchachos, esta es una base64. Bien, ahora una vez que decodificamos esto en texto plano, vemos que está compuesto por un nombre de usuario. Este es uno con el que nos registramos y este es un hash md5 ahora si vamos a una estación de servicio y calculamos. Y de hecho, muchachos, este es el hash que esta casa corresponde a una contraseña de texto sin formato que ya usamos. Ahora. Esto significa que la fórmula para crear la cookie se compone del nombre de usuario y la contraseña separados por dos puntos e incluyen base64. Vamos a tener esto en cuenta.
Ahora, regresemos y repasemos el archivo de interfaz Sheriff. Nos encontramos antes. Entonces CD Bugsy club más profundo y muestra Mount Dash e
toma la dirección IP
entonces tenemos una acción. Por supuesto. Vamos a necesitar montarnos. Veamos aquí en mis notas buscar Mount.
Entonces tenemos esto.
Vasti y Fs. Y esto no son actos. Así que sigamos adelante y escribámoslo primero. Hagamos un directorio de directorio montado. Y luego vamos a decir Mount St. Y la primera parte 2399

hay un directorio especificado en el que recibiremos los montajes, que está montado. Entonces LS entonces tenemos montaje. Montado aquí y vamos a montarlo.

Y permiso denegado. Veamos por qué se montaron así los permisos de usuario. La coincidencia con corresponde a un usuario con ID es 1003 y el grupo es un ID de grupo es 1003, ahora el usuario raíz con el que estamos bloqueados. No tiene estas ideas. Entonces, la solución a este problema es crear un usuario con el ID 1003 y el GID 1003. Sigamos adelante, usuario. Hay un guión. Quiero hacer tres y luego decir hola Dirk.
Parece que tienes un problema fiscal. Entonces queremos especificar el uid. ¿Es ese zapato? Tengo un problema fiscal. Entonces queremos especificar el uid. ¿Es ese zapato?

Bien, eso es lo que hicimos. Oh, usamos un zapato tímido y muy reservado 1300. Vale, contraseña Isaac. Creamos una contraseña para el usuario. Entonces deje que la contraseña sea la misma que el nombre de usuario. Y ahora hemos creado el usuario. Entonces, se montaron Jack y luego LS cd y navegamos exitosamente al directorio. Empecemos por el relevo. Entonces tenemos notas aquí para que los empleados obtengan un texto para los empleados y puedan probar el nombre de usuario y la contraseña del servidor FTP. Así que vamos a continuar e iniciar sesión con esto para salir. y luego usuario FTP SFTP en ¿Nombre o servidores desconocidos?

Intentemos esto. Usuario FTP la contraseña no funciona. Copiemos eso de nuevo.
adelante
Bien, encerramos al menos un chalet y tenemos estos archivos, lista de contraseñas y del administrador. Descarguemos estos archivos y obtengamos el texto del administrador.
y obtener contraseñas
texto de lista de subrayado
Bueno. Ahora tenemos estos cinco chicos. Creo que no son buscados.
Bueno. Sí, estos son los archivos que acabamos de descargar. Sigamos adelante y echemos un vistazo a la nota. Bien del administrador.
Todos los empleados, habla el administrador. Se me ocurrió una lista segura de contraseñas que todos pueden usar en el sitio. Estas contraseñas no aparecen en ninguna lista de palabras que probé hasta ahora. Así que te animo a que los utilices. Incluso yo. Estoy usando una de esas notas para Rick. Este es un usuario que hemos descubierto que hace buen trabajo o limita los intentos de inicio de sesión. Funciona de maravilla, esto evitará cualquier fuerza bruta en el futuro. Entonces, este nodo significa que no podemos usar la fuerza bruta para obtener acceso al usuario administrador.
El servidor web que acabamos de descubrir y hay otra nota.
Que exista algún nombre de usuario llamado Rick.
Muy bien, echemos un vistazo a las contraseñas.
Bien, entonces si creamos un script en Python para repasar todo esto.
Realice la decodificación y el hashing necesarios y tal vez entonces podamos encontrar la contraseña de administrador o la cookie de administrador. Recuerde que la cookie está aquí.
La cookie original estaba codificada en base64.
Bueno.
Entonces vamos a asumir que si creamos un script en Python que repasa todos estos. Bien, realice la codificación y el hash podrá descubrir el nombre de usuario del administrador. El administrador tiene la cookie y la contraseña de administrador después de que, por supuesto, realizamos un hash E5 en la contraseña.
Entonces, ¿el nombre de la sesión de Ellis?
Entonces, en el script aquí, lo primero que definimos es el aceite que querían y queremos probar: la URL que apunta a la página de administración y el script, principalmente, lo primero que hace es revisar la lista de contraseñas. Entonces la lista que acabamos de descargar del servidor FTP, ¿verdad? Entonces esta lista contiene las contraseñas, pero no sabemos cuál es la correcta. Entonces, ¿qué debemos hacer?

Cambio cada una de estas contraseñas. Eso es lo primero aquí y es por eso que usamos la variable de datos para almacenar estas contraseñas y luego revisamos cada una de ellas y las almacenamos en la línea de la variable. Lo primero que hacemos es realizar la suma de comprobación md5 de la contraseña.
Porque esa es la fórmula, recuerda y luego podemos calcular la suma de verificación mt5 con el nombre de usuario. Administración.
Bien, después de tener la contraseña y el nombre de usuario admin, ejecutamos base64 y luego probamos, colocamos la base 64 aquí como cookie de ID de sesión en los encabezados. Lo enviaré si tenemos acceso a un resultado positivo. Concluiremos eso. Esta es la cookie correcta en base64. Podré averiguar la línea de contraseñas correspondiente y los conceptos básicos para nosotros. Sigamos adelante y ejecutemos esto.
Bien, ¿qué es todo esto?
Estos son los ID de sesión. Bueno. Ahora el ID de sesión correcto era este porque dio como resultado un resultado positivo para un acceso positivo en la página de administración. Pudimos acceder y esta es la contraseña correspondiente de la lista. Esta contraseña no fue calculada, no se encontró en una operación de cálculo compleja, especialmente estaba en la lista, pero pudimos encontrarla porque realizamos lo necesario.
Reputaciones en la suma de verificación md5 y las probamos en la página de administración y fue un éxito positivo en esta cookie. Entonces vamos a tomar esta contraseña e iniciar sesión.
Así que regresa.
Cerrar sesión.
Bien, como puede ver, pudimos iniciar sesión, vaya a Administración y vemos que podemos acceder al panel de administración y al panel de administración. Supuestamente tenemos un verificador de estado de servicio. Lo hace, ejecuta un comando del sistema, pero aún no lo sabemos. ¿Qué es esto raro? ¿Quizás podamos hacer alguna estimación sobre qué tipo de comando? Entonces, por ejemplo, systemctl podría ser el comando utilizado.
estado
SSH d
La ciudad del sistema de observadores no se encuentra activa. Está inactivo.
Entonces es este un tipo que se ejecuta. Entonces, lo que podemos hacer aquí es realizar la inyección de comandos. Entonces, para recuperar, debo volver a la máquina o a la máquina atacante. Así que sigamos adelante y nclb sea 44 45.
Bien, entonces este suena bien.
Sigamos adelante y tomemos esto.
entonces
Muy bien, primero veamos la dirección IP de esta máquina.
Y aquí vas a enfrentar esto temporalmente y vamos a copiar la dirección IP.
10 10 12 42 43
Asegurémonos de que esta sea la IP correcta. No queremos luchar con esto más tarde. 194 243. Está bien. Y ahora
Vamos a seguir adelante y tomar esto.
Entonces volviendo.
Sí, lo olvidé. Soy una máquina atacante. Pensé que era dueño de mi máquina virtual, así que bash. Así que aquí fuimos a escribir, no solo queremos ejecutar este código que no funcionará porque no corresponde al comando que espera el sistema. Así que aquí no vamos a ejecutar esto solos porque no va a funcionar. Obviamente. Necesitamos utilizar el servicio o el comando que espera el sistema.
Así que aquí usemos bash.
y aquí comillas dobles
Por supuesto que los pobres 45 45.
sshd verifica el servicio y
ejecutar el siguiente comando ejecutar.
poco trabajo
trabajo de puntuación
Estimado oyente, no está ejecutando ni va a ejecutar esos ahora 45 45 y luego regresará aquí.
Y esto nos dio el shell como datos de doblaje. Lo siguiente que deseas es estabilizar el shell, así que tendrás que escribir TTY.
Bueno, hola, está bien. Entonces, ¿tenemos un archivo aquí llamado config si obtenemos config?
Vea su información sobre estos nombres. Acabamos de ver en las notas y en las notas del administrador a Rick y este es el analizador, así que sue break.
Y tomamos la contraseña y podemos pasar al siguiente usuario.
Bueno. Así que hoy verificará los privilegios de ese usuario nuevamente y pegará la contraseña, como pueden ver. Rick puede ejecutar este comando como root sin la necesidad de proporcionar la contraseña y hay una cosa a tener en cuenta aquí. Tenemos el restablecimiento del entorno habilitado y el mantenimiento del entorno está configurado en la ruta de carga de la biblioteca. Significa que podemos especificar.

El casillero desafió a ejecutarse o usarse cuando ejecutamos Apache. Por lo general, se ve cuando ejecutas un ejecutable.
Con sudo a continuación buscaremos la ruta de la Biblioteca o el archivo de la Biblioteca correspondiente en la ruta de la Biblioteca predeterminada. Bien, si puedes especificar una ruta de biblioteca personalizada

Bien, Linux podrá o tomará la ruta que especifiquemos, pero para que eso suceda, el restablecimiento del entorno debe estar habilitado y este es el caso. El restablecimiento del entorno está habilitado y podemos especificar la ruta de la biblioteca, lo que significa que si podemos especificar la ruta de la biblioteca. para este proceso. Bien, podemos crear un archivo de biblioteca malicioso.

Así que aquí tengo esto en mis notas. Volvamos atrás y usemos el guión bajo LD. Sí, precarga de LD y ruta de la biblioteca de LD

Básicamente vamos a usar esto.

Entonces tomemos este código.
Cópialo.
Y en mi máquina local o en la máquina local aquí.
Voy a crear un archivo llamado.
valiente el mar
Supere el espacio que guarda este código y luego lo compilaremos en un archivo de biblioteca.
así que aquí
Creo que esto será mejor si combinamos esto en la propia máquina. Entonces, para poder transferir este pedo a la máquina, usaremos un corte de red para ver.
Ese es lvp. 4546.
remachado ver
Permiso denegado
Bosco
Bastante bien. Ver permiso denegado. Bien y mira, déjame regresar y encontrar cómo hacerlo porque a veces
un error y el comando no funcionará. Así que tal vez vayamos a Linux y verifiquemos la transferencia.
Sí. Entonces, en el puerto de destino, puede ejecutar esto en la máquina, pero no funciona. Entonces 45 46 está hacia arriba y ya estamos usando el LED 4547. Veamos.
Permiso denegado ¿por qué?
Y mira, la dirección IP es esta.
447
reina del mar
Si, exacto. No funcionará si escucha en ejecución primero.
Pero Rick no puede correr y ver por alguna razón.
si el permiso C es denegado
Directorio de cambio temporal de CD
Quizás esto haga que las cosas funcionen.
Ah, okey. Que ahora enviamos el archivo.
Y recibimos la conexión.
Vale, LS y demuestra que el mar está aquí. Ahora. Vamos a compilarlo en la máquina. Entonces, volvamos a la escalada de privilegios de Linux y al guión bajo.
recargar
Entonces ese es el comando.
Era un C brutal.
Vamos, no.
Entonces gc Dash, oh, va a ser temporal.
Eso se comparte si Pi C. Está bien, y luego veamos.
Después de compilar, ¿puedo generar el archivo en un directorio?
Está bien.
Va a ser S 0 a 1 con el peso.
uno y luego sigue el resto del comando
Entonces tenemos este archivo aquí y lo siguiente que queremos es usar un grupo para ejecutar este archivo. Entonces, como puede ver, especificamos la ruta de la biblioteca desde la cual elegiremos el archivo de la biblioteca.
Esto va aquí.
primero en hacer
Estoy bien
Ahora el archivo de la biblioteca aquí chicos.
Lo que hemos creado va a ser contaminado.
al final
entonces es privado para ese.
así que uno
O creo que no necesitamos especificar esto porque lo detectará por sí solo.
Sí, siempre especifique el directorio en lo siguiente que queremos hacer es ejecutar el comando.
Bien, ese es el comando.
Bien, eliminemos este archivo.
Creo que vamos a tener que mantener el nombre ya que es Library Crypt. Bien, será necesario este comando una vez más.
Veremos.
Veremos.
Y luego ejecutaremos la misma columna o intentaremos hacerlo nuevamente.
Espera por este.
Y como puede ver, el mensaje cambió de Rick a root y ahora hemos escalado con éxito los privilegios de CD a root.
Y conquistaste la máquina. Eso es todo.
Entonces chicos, eso fue todo. Espero que hagan el video y definitivamente chicos, los veré más tarde.

Tutorial en vídeo

Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos