DCS17 Writeup

Buenas!

Esta entrada la dedicare a explicar como resolver los retos planteados en el CTF de Donostia CyberSec organizado por S21 sec.

Bueno, al lio.

Forense

Mexico – Matryoska (75 Puntos)

Enunciado: La bandera se encuentra en el fichero comprimido adjunto.

Una vez descargamos el adjunto nos encontramos con un fichero aparentemente comprimido que en su interior tiene un archivo de texto donde deberia estar la flag.

4cc6a14c43e23c3f90fdd846dd4aa374

Como no podemos ver el archivo, y captando la pista del nombre del reto “Matryoska” usaremos el comando binwalk -Me fichero, esto nos extraera de forma recursiva todos los archivos que contiene el fichero.

Cuando binwalk termina, nos ha generado una carpeta de output _nombredelfichero, solo tenemos que navegar hasta la ruta _flag_7c7e9a28dd25a2e2f81e1bfe7000aa52(1).txt.gz.extracted/_flag0.txt.extracted/_flag0.txt.extracted/_flag0.txt.extracted/_flag0.txt.extracted/_flag0.txt.extracted/_flag0.txt.extracted/_flag0.txt.extracted para encontrar la flag.

 

Colombia – Phishing (200 puntos)

Enunciado: Los siguientes ficheros forman parte de una campaña de phishing, ¿ Podrías localizar la bandera en su interior ?

los archivos que se nos proporcionan en esta ocasión son 2 del tipo html con un phishing de gmail.

Abrimos el primero y nos encontramos en la siguiente URL

En este punto ahy dos opciones, o vemos el codigo fuente, o si nos damos cuenta de que al final de la url asoma  un ‘<‘ nos desplazamos a ver que contiene.

Como vemos tiene un texto en base64, lo desciframos y obtenemos:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?”:e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!”.replace(/^/,String)){while(c–){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return’\\w+’};c=1};while(c–){if(k[c]){p=p.replace(new RegExp(‘\\b’+e(c)+’\\b’,’g’),k[c])}}return p}(‘3.2.i=”h g f j k”;n{(m(){5 1=3.2.l(\’1\’);1.d=\’c/x-4\’;1.9=\’8 4\’;1.b=\’\’;5 a=\’o\’;2.z(\’C\’)[0].p(1)}())}B(e){}3.2.E.G=”<6 F=\\”D://A.s–r-q.t\\” u=\\”y: 0;w: 7%;v:7%\\”></6>”;’,43,43,’|link|document|window|icon|var|iframe|100|shortcut|rel|segunda_mitad_flag|href|image|type||been|have|You|title|Signed|out|createElement|function|try|36d185c10a68b42d|appendChild|tmc|google|xn|com|style|height|width||border|getElementsByTagName|accounts|catch|head|http|body|src|outerHTML’.split(‘|’),0,{}))

Un script en JS, no pasa nada por no saber que hace el script, yo, sinceramente no tengo ni idea. La parte que nos interesa es la que esta marcada en rojo. Como vemos nos esta indicando “la segunda mitad de la flag”, como hay dos archivos, lo logico es que la otra mitad este en el otro html que nos dan.

Efectivamente, en el codigo fuente del otro fichero y buscando “flag” encontramos la mitad que nos faltaba

Argentina – TCP (115 Puntos)

Enunciado: Se ha conseguido una captura de tráfico de un equipo comprometido. ¿ Podrías localizar la bandera en dicha captura de tráfico ?

El archivo que nos dan es una captura de trafico, por tanto lo abriremos con wireshark.

Siguiendo la pista “TCP” que nos dan en el titulo del reto, miramos las tramas TCP, y en una de ellas encontramos el siguiente contenido

Etiopia – Forense (50 Puntos)

Enunciado: Estamos realizando una análisis forense de una unidad USB. ¿Cual de los siguientes ficheros ha sido copiado?

La pista que nos dan para este reto es una fotografia del explorador de archivos de windows.

En este caso la fuerza bruta es muy simple, o la respuesta es contactos.txt o servicios.txt, lo que deberia hacer que nos decantasemos por el archivo servicios.txt como respuesta es que la fecha de modificacion/acceso del archivo contactos.txt hace imposible que haya sido copiado a cualquiera de las carpetas mostradas, en cambio el archivo servicios.txt podria haberse copiado perfectamente a la carpeta “Nueva carpeta”.

Grecia – FTP (50 Puntos)

Enunciado. ¿ Cual es la password para acceder a los ficheros de este viejo AS/400 ?

Ahora nos vuelven a dar una captura de trafico, lo abriremos con wireshark.

En las primeras tramas del paquete encontramos una conexion a un servicio que se pone a la espera de un usuario y una contraseña, por tanto en las siguientes tramas debera hacerse el login, y lo que nos estan pidiendo como flag es la contraseña.

Efectivamente, un poco mas abajo tenemos lo que buscamos

Austria – Forense (75 Puntos)

Cameron trabajó en los 80s en una empresa de informatica. Cual era su lema? (En mayusculas y con espacios).

Nos dan un archivo comprimido con 7zip.

Una vez descomprimido el archivo tenemos el archivo card.image, para hacer analizar este fichero usaremos un programa llamado FTK imager.

Una vez abrimos la imagen, encontramos 5 fotografias en la carpeta root, lo que nos da la flag

Suecia -HTTP (125 Puntos)

Enunciado: ¿Sabrias decir el lema de este grupo de hackers? (Minisculas, mayusculas y puntuación tal como lo encuentres).

De nuevo tenemos que hacer un analisi de una captura de trafico, asi que la abriremos con wireshark.

Analizando las primeras tramas vemos que hace una conexion del tipo GET a una imagen y psoteriormente procede a su descarga

Por tanto es facil llegar a la conclusion de que en esa imagen estara la flag. Para ver la imagen ya que la conexion la hizo a una IP interna (192.168.187.1:80/hackers.jpg) es usar network miner a ver si nos la recupera.

Efectivamente nos recupera la imagen que contiene la flag.

Filipinas – Esteganografia (50 Puntos)

Hemos recibido esta imagen de un gran equipo de fútbol. Pero creemos que hay algo raro en ella…

La imagen que nos dan es la siguiente:

 

Real_993d44f0485d956a8d7d931b8d3a8e61.jpg

A simple vista no se ve nada raro en la imagen, por tanto vamos a analizarla mas a fondo.

Si usamos hexdump -C imagen podemos ver que en el EOF tiene algo cifrado en base64

El texto descifrado nos dara la flag.

Chad – Transmision (100 Puntos)

Enunciado: Hemos recibido esta transmisión de algún punto de Chad. ¡Ayúdanos a descifrarla!

Como pista nos dan un fichero de audio .wav con el nombre morse_*.wav por tanto nos dan el trabajo hecho, aunque al reproducirlo se escucha claramente el morse.

Si pasamos el mensaje por un decoder online obtenemos la flag.

Finlandia – Adjuntos en correo electronico.

Enunciado: Se ha recibido un correo electrónico con un fichero adjunto malicioso. En dicho fichero malicioso podrás encontrar la bandera.

Nos dan un archivo .xlsm (excel con macros) para evitar problemas de compatibilidad use el paquete de office para resolverlo.

Una vez lo abrimos y tras habilitar la edicion y habilitar las macros, nos encontramos con una hoja de excel vacia, como es un archivo con macros vamos a ver el codigo de las mismas con alt+f11

Como vemos ejecuta un comando de powershell, lo unico que nos falta es la variable “a”, que esta en la celda AA1 de la hoja ScriptKiddie101.

Como al abrirlo solo veiamos la Sheet1, se deduce que han ocultadola hoja que nos interesa.

Nos fijamos que en la ventana de ropiedades de la sheet que nos interesa, la propiedad “visible” esta marcada en 2 – very hidden, para poder verla y por tanto recuperar el contenido de la celda AA1 que corresponde a la variable “a”, le daremos la propiedad -1.

Si nos desplazamos hacia la derecha nos encontramos con lo siguiente

de la columna Z pasa directamente a la AB, y la que nos interesa es la columna AA y la celda 1. Para resolver este problema hacemos la busqueda de la celda manualmente, donde encontramos el codigo de la variable a

Basta con ejecutar la parte de la variable ‘a’ que esta entre los paréntesis a través del powershell ISE para obtener la flag.

Reversing

Camerún – Reversing

Hemos olvidado la contraseña de este fichero ¿Nos podrías ayudar a recuperarla?

Nos dan el fichero al que tenemos que hacer el reversing para obtener la flag.

Lo primero que tenemos que hacer tras descargar el archivo es darle permisos con chmod +x binario

Ejecutamos para ver el funcionamiento

Ya tenemos localizada la parte del fallo “Fallaste! (-.-)”

A continuación lo abrimos con radare2 y analizamos todo el binario con “aa”, posteriormente  desensamblamos el main con “pdf@sym.main”

Localizamos la zona de fail:

0x08048680      68e7870408     push str.Fallaste____.__ ; str.Fallaste____.__ ; “Fallaste! (-.-)” @ 0x80487e7

Localizamos la zona de contraseña correcta:

0x08048628      68b0870408     push str.Era_co__a._Lo_has_conseguido___Zorionak_ ; str.Era_co__a._Lo_has_conseguido___Zorionak_ ; “Era co..a. Lo has conseguido!! Zorionak!” @ 0x80487b0

Lo de era coña se refiere al contenido de unas posiciones mas arriba donde nos dice:

0x0804860b 689f870408 push str.Otra_vez_sera… ; str.Otra_vez_sera… ; “Otra vez sera…” @ 0x804879f

tras mostrarnos ese mensaje de “error” hace un sleep y posteriormente deberia mostrarnos la flag.

Otras lineas que nos deberian llamar bastante la atencion son:

0x080485e3 68409a0408 push str.DCS2017mola ; obj.paswd ; “DCS2017mola” @ 0x8049a40
| 0x080485e8 e843feffff call sym.imp.strlen
| 0x080485ed 83c410 add esp, 0x10
| 0x080485f0 83ec04 sub esp, 4
| 0x080485f3 50 push eax
| 0x080485f4 68409a0408 push str.DCS2017mola ; obj.paswd ; “DCS2017mola” @ 0x8049a40

Bien, llegados a este punto podriamos deducir que la contraseña es “DCS2017mola”, y efectivamente es esa, aun asi vamos a resolverlo modificando el flujo de ejecuccion (como prueba de concepto).

Para ello y dado que aun soy muy noob con radare, usare GDB con el plugin peda.

Una vez abrimos el programa con “gdb ./binario”, usamos pdisass main para desensamblar el main.

Localizamos la zona donde hace la comprobacion del input con la flag real

0x08048604 <+153>: test   eax,eax

En la linea siguiente y si lso datos no coinciden, salta a la direccion 0x0804867d , justamente la zona donde el programa nos dice que hemos fallado, por tanto vamos a saltarnos esa verificacion.

Para ello colocamos un breakpoint en 0x08048604 con b *main+153 y ejecutamos con run.

Vemos que se ha parado en la comprobacion y esta haciendo un string compare con el caracter “D” y nuestra password “test”. Como evidentemente D != t el salto nos llevaria a la zona de password incorrecta.

Para evitar esto hacemos next instruction (ni) y modificamos el instruction pointer a la siguiente direccion tras el salto que no queremos hacer  (set $eip=0x8048608)

Bien, pasamos la verificacion y nos da la flag, aunque evidentemente esta no es “test” es “DCS2017mola”.

Mauritania – Reversing

Nos ha llegado el siguiente ejecutable con un mensaje protegido por contraseña. ¿Nos podrías ayudar a obtenerlo?

Nos dan de nuevo un binario

Lo primero que hacemos tras descargarlo es darle permisos igual que antes, abrirlo para ver el funcionamiento, que en este caso es exactamente igual que el anterior y abrirlo con radare para analizarlo y desensamblarlo.

Localizamos la zona de chico malo

0x08048553 683c870408 push str.Fallaste____.__ ; str.Fallaste____.__ ; “Fallaste! (-.-)” @ 0x804873c

Y la de chico bueno

0x0804857c 68f4860408 push str.Probaremos_con_un_cifrado_mejor_la_proxima_vez._Zorionak__ ; str.Probaremos_con_un_cifrado_mejor_la_proxima_vez._Zorionak__ ; “Probaremos con un cifrado mejor la proxima vez. Zorionak!!” @ 0x80486f4

Igual que antes una zona nos deberia llamar la atencion

0x08048548      3a91a0990408   cmp dl, byte [ecx + str.A1_C3bK4_2h5f8vE]

En esta comparacion va a comparar nuestro input con el contenido en bytes del registro ecx concatenado con la string “A1_C3bK4_2h5f8vE”, si bien a esta zona en una primera ejecuccion no vamos a llegar, ya que antes nos encontramos con

0x08048543 eb20 jmp 0x8048565

Lo que nos lleva a una zona donde se comprueba de nuevo nuestra password

| | || 0x0804856b 80fa0a cmp dl, 0xa
| | `===< 0x0804856e 75d5 jne 0x8048545
| | | 0x08048570 80b8a0990408. cmp byte [eax + str.A1_C3bK4_2h5f8vE], 0
| | `==< 0x08048577 75cc jne 0x8048545

esta es la zona que tendremos que bypassear, para ello colocaremos igual que antes breakpoints en cada comparacion

0x0804856b

0x08048577

Si alguna de estas comparaciones diese falso saltariamos a la zona antes mencionada, y en caso de que la comprobacion diese falso, continuaria la ejecuccion hasta

0x08048560 eb7f jmp 0x80485e1

donde nos mandaria fuera de la zona de chico bueno.

Recapitulando, que la zona que nos interesa es esta:

Abrimos el binario con gdb y colocamos breakpoints en

0x0804856b y  0x08048577

Ejecutamos y nnos paramos en la primera comparacion

Next instruction, cambiamos el instruction pointer a la direccion 0x8048579 para bypassear la siguiente comprobacion y continuamos obtener la flag

Anuncios

Web based challenges 1-3 | Can you hack it

Hace tiempo que no subo nada, estoy un poco liado ultimamente, pero bueno, hoy me dio por entrar en canyouhack.it y estuve resolviendo algunas cosillas para escalar un poco en el ranking, actualmente voy por el puesto 1175 de 8859. Pero bueno, al lio, vamos a hacer los tres primeros desafios relacionados con webs.

El primero

Can you GET this one?

Nos manda a una web con ese mensaje.

0e0e0174a12e8978d090eccd490772a6

Dado que la URL de la web es la siguiente:

http://canyouhack.it/Content/Challenges/Web/Web1.php?Page=Guest

Ya que el mensaje nos da la bienvenida como desconocido, y en la URL nos identifica como desconocido, y lo que nos pide la web es una contraseña, usando el sentido comun simplemente sustituimos Guest por Admin.

http://canyouhack.it/Content/Challenges/Web/Web1.php?Page=Admin

El primero terminado. Facilito.

En el segundo la cosa ya se pone algo mas interesante, que no complicada.

The way this challenge crumbles

 d0b737e6a43fd34b74739c07fe8e2024
Basicamente nos dicen que para mejorar su seguridad ahora gestionan las sesiones con cookies a traves del metodo GET.
Para superar esta dificultad usaremos un plugin para Mozilla Firefox, Live HTTP Headers, con esto podemos modificar las cabeceras de los paquetes que se generan al interactuar en la web.
74f854aa99ca2235b9f77093b5b2e0a5
La linea remarcada es la que nos interesa, damos a repetir y modificamos el parametro isAdmin de 0 a 1, de este modo el sistema reconocera nuestra sesion como la del administrador. Parece una tonteria, pero hay webs en las que esto es 100% eficaz.
Nos quedatia asi:
0a204850bf0846ed84d5601d3e808c50
Y le damos a repetir, de nuevo.
Vamos a por el tercero

Take us to your leader

6b526ab0ce501641fdad86e2ddc166311
Observamos que nos repite la palabra Robots varias veces, demasiadas, esa es la pista.
Si alguna vez hemos trabajado en desarrollo web sabemos que toda web tiene un archivo llamado robots.txt, se utiliza para interactuar con los buscadores.
Al principio probé a sustituirlo así:
Pero al final la opción correcta era
Aqui encontramos las siguientes lineas
User-agent: *
Disallow: /Content/Challenges/Web/Web3p.php

Lo que hace esta linea es indicar a los buscadores que no indexen esa URL...

Simplemente tenemos que visitarla y nos dará la tercera contraseña.

Follow the Pattern | Solucion | Logica

Buenas

Hace tiempo que resolví este reto matemático, la verdad es que me costo bastante, si no recuerdo mal me llevo mas de 4 horas resolverlo.

Nos piden un numero N de esta sucesion

  • 2
  • 3
  • 5
  • 11
  • 19
  • 41
  • 73
  • 139
  • ???

La única pista que tenemos es que el resultado que nos piden debe ser máximo 999.

En lo primero que pensé fue en la secuencia de Fibonacci por los primeros valores, pero se rompe al llegar al 11 así que lo deje ahí apartado como algo curioso.

Una observación interesante es que todos los valores son números primos, pero no están ordenados, si no que se salta X primos cada vez, tal que así:

2
3
5
7 X
11
13 X
17 X
19
23 X
29 X
31 X
37 X
41
43 X
47 X
53 X
59 X
61 X
67 X
71 X
73
79 X
83 X
89 X
97 X
101 X
103 X
107 X
109 X
113 X
127 X
131 X
137 X
139

El truco esta en los primos que se salta entre los valores que da

1,2,4,7,12

Si colocamos esa serie de esta forma apreciamos que las diferencias entre valores cumplen la secuencia de Fibonacci, al final no iba tan desencaminado al principio.

Serie:           1   2   4   7   12

Diferencias        1   2   3    5

Dado que en las diferencias de los valores primos que la serie se salta cada iteraccion podemos calcular  cual va a ser la próxima diferencia sumando los dos ultimos valores tal que

3+5=8

Ahora que tenemos el valor de la serie solo tenemos que resolver una ecuacion facil y evidente

X-12=8

X = 20

Ese 20 es el numero de primos que se va a saltar antes de llegar al valor que nos pide el reto (a partir de 139)

139
149 X
151 X
157 X
163 X
167 X
173 X
179 X
181 X
191 X
193 X
197 X
199 X
211 X
223 X
227 X
229 X
233 X
239 X
241 X
251 X
257

257 Es por tanto la solución buscada.

 

 

 

reto de esteganografia “Your GF’s favourite wealthy entrepreneur” de canyouhack.it | Solucion

Steganography Challenge 2

Your GF’s favourite wealthy entrepreneur

 

En este reto nos dan la siguiente imagen

stego2

Lo primero que se me ocurrio fue abrirla con el editor hexadecimal a ver si veia algo, y varias cosas me llamaron la atencion.

85beea2009ed2604e6fe02b4943db5dc

La primera la palabra Ducky

Pense que podria ser la contraseña pero no

Analizando el hexadecimal me llamaron la atencion estas partes

54bd80ba6ae75274f709730ed1221571

63afa9cf24f80b0e79bab4ad379f6df9

Por su simetria en primer lugar pense que podian contener texto con algun tipo de cifrado, sobre todo la segunda imagen por encontrarse cerca del EOF, pero al no encontrar referencias decidi analizar la imagen con el steganabara

Mediante las tablas de colores y ordenando por frecuencia obtenemos esta imagen

7978487326a526cd41887436f7934d0c

Sorpresa jejeje

Hasta la proxima

reto de esteganografia “How would you read an image?” de canyouhack.it | Solucion

He encontrado esta pagina con un monton de retos de todo tipo, voy a ir resolviendolos y publicando las soluciones segun las tenga.

El primero se llama

How would you read an image?

Nos da esta imagen

stego1

Lo primero que hacemos es echarle un vistazo a ojo sobre todo en las esquinas a ver si hay algo raro, pero esta todo bien, todo igual de confuso, parecen un monton de codigos QR, nada interesante, vamos a analizar el EOF con nuestro editor hexadecimal.

36327e128469c1bc9709c7cd898c7425

Ahi tenemos la contraseña

 

Reto de esteganografia de HighSec

En esta ocasion voy a mostrar como resolver el reto que nos propone HighSec

Empezamos con la imagen y 0 pistas, vamos a empezar analizando la imagen visualmente

 Revisando las esquinas no vemos nada raro, ningun pixel movido ni nada. En el medio del cerebro parece como si tuviese letras o algo asi… vamos a ver analizando los colores si realmente hay algo ahi o es solo mi imaginación.

highsec 1

Efectivamente pone algo Highsec, pero es logico, no? es su logo.. sigamos con el analisis.

Vamos a abrir la imagen con un editor hexadecimal a ver si hay algo interesante en la cabecera o en el EOF.

highsec 2

Efectivamente, ahi esta la pista, entramos a esa url y se nos descarga un archivo .zip con una nueva imagen y 2 archivos de texto, uno que parece un diccionario y otro que nos da una pequeña aclaracion para el siguiente paso, vamos a ver la imagen.

Imagen2

Muestra una cadena codificada con base64, pero parece que hay algo mas… hay como letras en la parte blanca, vamos a ver si cambiando los colores vemos algo…

highsec 3

Parece que no es nada, vamos a ver si tiene algo en hexadecimal como la anterior…

Nada, todo esta totalmente normal, vamos a ver si al descifrar la cadena en base64 que nos da sacamos alguna pista…

HighSecCon

Llegados a este punto podemos pensar que o bien es la solucion al reto o es una contraseña, vamos a ponernos en el segundo caso, y vamos a ver si hay algun archivo oculto….

Usaremos el programa OpenStego usando la contraseña que tenemos.

highsec 4

Parece que ha sido buena idea seguir buscando, en ese link encontramos un script en python que sirve para crackear un hash mediante diccionario, aqui es donde le vemos la utilidad al archivo dic.txt que obtuvimos junto a la imagen, lo usamos y nos da el texto que corresponde al hash MD5 con el que hemos comparado.

z3cur3-3573g0 

Un texto con un cifrado muy clasico; la solucion al reto es

zecure-estego 

Reto resuelto. Fácil pero interesante. Hasta la proxima

This is legal | Realistic | Challenge 2 | Medio

El escenario que nos plantea este reto es el siguiente:

You have heard about people being targeted by a new religion called Egitology. Another hacker infiltrated the group and discovered that the list of people they target is stored on the site but he doesn’t know where.

 

Hay una nueva religión en la que hay un hacker infiltrado que nos ha pasado la web de la organización y sabe que en el servidor almacenan datos sobre sus objetivos.

Ante este escenario podemos sacar dos conclusiones

La primera que vamos a tener que llevar a cabo un proceso para acceder, quizas sea crackeando una contraseña o vulnerando la seguridad de algun modo.

La segunda es que una vez dentro debemos buscar una base de datos, dumpearla, borrar los logs y salir.

Vamos a empezar…

Al darle a begin challengue de nuevo nos sale la estructura, parece un fallo del servidor, vamos a darle a login.php

Bien, nos sale el panel de inicio en la web de la religion, nos pide usuario y contraseña

Vamos a probar con las combinaciones mas usadas como por ejemplo root:toor
your not an egitologist, get out!

Vaya, parece que este no es el camino…

Dado que la estructura del login esta escrita en php podemos probar con inyeccion de parametros a ver si sacamos algo. Probare con una comilla simple ‘.

you have got the right idea, dont give up 🙂

Mmmm, nos dice que vamos por buen camino y que no nos rindamos.

Ahora estoy convencido de que el formulario es vulnerable a una inyeccion, como buscamos una base de datos tenemos que acceder con un usuario con permisos elevados, por ejemplo “admin” sera entonces en el label de la contraseña donde usaremos un codigo algo mas avanzado para la inyeccion como 1’or’1’=’1 

this is legal realistic 2-1

Una vez dentro podemos salirnos o bien ver que nos muestra al dar en “Back up Database”

— Table structure for table `users`

CREATE TABLE `users` (
`ID` int(2) NOT NULL auto_increment,
`Username` varchar(255) NOT NULL,
`Password` varchar(255) NOT NULL,
`Level_access` varchar(9) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `Username` (`Username`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


— Dumping data for table `users`

INSERT INTO `users` (`ID`, `Username`, `Password`, `Level_Access`) VALUES #La estructura que nos muestra la tabla usuarios es la siguiente ID, nombre de usuario, contraseña, nivel de acceso
(1, ‘Admin’, ‘3819585098e8cfe6c4fe4fcfd3a0fd59’, ‘Limited’),
(2, ‘SuperAdmin’, ‘8cc4ba204dd44cc92d7646ad035b7647’, ‘Unlimited’)

Aqui vemos que la cuenta Admin, que es con la que hemos conseguido acceder tiene el nivel de acceso limitado, asi que vamos a loguearnos con la cuenta SuperAdmin que debe tener acceso a todo, supongo que lo tendra tambien a la base de datos objetivo.

Pero hay un problema, la contraseña esta cifrada, debemos descifrar el hash, para eso lo primero que debemos hacer es identificar el tipo. Usando el script hash identifier nos da estas posibles soluciones:

– MD5
– NTLM
– MD4
– LM
– RAdmin v2.x
– Haval-128
– MD2
– RipeMD-128
– Tiger-128
– Snefru-128
– MD5(HMAC)
– MD4(HMAC)
– Haval-128(HMAC)
– RipeMD-128(HMAC)
– Tiger-128(HMAC)
– Snefru-128(HMAC)
– MD2(HMAC)
– MD5(ZipMonster)
– MD5(HMAC(WordPress))
– Skein-256(128)
– Skein-512(128)
– md5($pass.$salt)
– md5($pass.$salt.$pass)
– md5($pass.md5($pass))
– md5($salt.$pass)
– md5($salt.$pass.$salt)
– md5($salt.$pass.$username)
– md5($salt.’-‘.md5($pass))
– md5($salt.md5($pass))
– md5($salt.md5($pass).$salt)
– md5($salt.MD5($pass).$username)
– md5($salt.md5($pass.$salt))
– md5($salt.md5($salt.$pass))
– md5($salt.md5(md5($pass).$salt))
– md5($username.0.$pass)
– md5($username.LF.$pass)
– md5($username.md5($pass).$salt)
– md5(1.$pass.$salt)
– md5(3 x strtoupper(md5($pass)))
– md5(md5($pass)), Double MD5
– md5(md5($pass).$pass)
– md5(md5($pass).$salt), vBulletin < v3.8.5
– md4($salt.$pass)
– md4($pass.$salt)md5(md5($pass).md5($pass))
– md5(md5($pass).md5($salt))
– md5(md5($salt).$pass)
– md5(md5($salt).md5($pass))
– md5(md5($username.$pass).$salt)
– md5(md5(base64_encode($pass)))
– md5(md5(md5($pass)))
– md5(md5(md5(md5($pass))))
– md5(md5(md5(md5(md5($pass)))))
– md5(sha1($pass))
– md5(sha1(base64_encode($pass)))
– md5(sha1(md5($pass)))
– md5(sha1(md5($pass)).sha1($pass))
– md5(sha1(md5(sha1($pass))))
– md5(strrev($pass))
– md5(strrev(md5($pass)))
– md5(strtoupper(md5($pass)))
– md5(strtoupper(md5(strtoupper(md5(strtoupper(md5($pass)))))))
– strrev(md5($pass))
– strrev(md5(strrev(md5($pass))))
– 6 x md5($pass)
– 7 x md5($pass)
– 8 x md5($pass)
– 9 x md5($pass)
– 10 x md5($pass)
– 11 x md5($pass)
– 12 x md5($pass)

Son muchas opciones como para probarlas todas, pero podemos sospechar que es un hash MD5, para este tipo de hash hay dos metodos de crackeo, por colision y por comparacion, usaremos un servicio online para compararlo en una base de datos.

Una vez tengamos la contraseña descifrada nos metemos con la cuenta de SuperAdmin

this is legal realistic 2-2

Con un poco de suerte en estas carpetas estará lo que buscamos.

En el directorio root/misc/ esta la carpeta targets, la borramos

Antes de salir borramos tambien la carpeta logs root/images/logs

this is legal realistic 2-3