Ayuda Bypass Magic Quotes && File write bug AlienForm2

Iniciado por germnex, 18 Junio 2011, 03:27 AM

0 Miembros y 1 Visitante están viendo este tema.

germnex

Hola Gente

Les comento que me apasiona la seguridad informàtica y recientemente tuve la oportunidad de realizar un pentest sobre el servidor de un amigo para probar mis conocimientos y ver hasta donde llegaba

Les paso a grandes rasgos una lista de los pasos que fui siguiendo:

1. Escaneo con nmap
nmap -sS -sU -sV -T3 -A -v -Pn -PS80,443,5430,5431 -PA3389 -PU40125 -PY -g 53 --script all <host>

resultados:

Port   protocol   state   service   Version
21      tcp         open   ProFTPD 1.2.10
22      tcp         open   OpenSSH 3.8.1p1 Debian 8.sarge.4 (protocol 2.0)
53      tcp         open   ISC BIND 9.6-ESV-R1
110      tcp         open   Dovecot pop3d
222      tcp         open   OpenSSH 4.3 (protocol 2.0)
2222   tcp         open   OpenSSH 4.3 (protocol 2.0)
3322   tcp         open   OpenSSH 4.3 (protocol 2.0)
3389   tcp         open   Microsoft Terminal Service
3390   tcp         open   Microsoft Terminal Service
5431   tcp         open   PostgreSQL DB 8.0.0


2. Escaneo con nessus
Pongo solo los resultados que supongo interesantes

Port 80
Apache < 1.3.37 mod_rewrite LDAP Protocol URL Handling Overflow
PHP 5 < 5.2.7 Multiple Vulnerabilities
PHP < 5.2.1 Multiple Vulnerabilities
PHP < 5.2.6 Multiple Vulnerabilities
PHP < 5.2 Multiple Vulnerabilities
PHP < 4.4.3 / 5.1.4 Multiple Vulnerabilities
PHP < 4.4.1 / 5.0.6 Multiple Vulnerabilities
Web Server Expect Header XSS
AlienForm2 alienform.cgi Traversal Arbitrary File Manipulation  ;-)
PHP expose_php Information Disclosure
HTTP TRACE / TRACK Methods Allowed
PHP < 5.2.4 Multiple Vulnerabilities
PHP < 5.2.3 Multiple Vulnerabilities
PHP < 5.2.10 Multiple Vulnerabilities
PHP < 5.2.12 Multiple Vulnerabilities
PHP < 5.2.5 Multiple Vulnerabilities
PHP < 5.3.2 / 5.2.13 Multiple Vulnerabilities
PHP < 5.2.11 Multiple Vulnerabilities
PHP < 5.2.9 Multiple Vulnerabilities
Multiple Web Server printenv CGI Information Disclosure
HTTP Server Type and Version -> Apache/1.3.33 (Unix) PHP/5.0.4


3. Obtencion de información

Probando conexión por terminal al puerto 3389 salta que es un xp
Probando conexión por terminal al puerto 3390 salta que es un win server 2008

Utilizando AlienForm2 alienform.cgi Traversal Arbitrary File Manipulation pude obtener el archivo /etc/passwd, logs de apache, archivos de configuracion de mysql, proftpd, red, ssh y archivo de contraseñas de apache para directorio protegido entre otros menos importantes

Utilizando un site crawler obtube nombres de archivos y viendo el log de apache pude obtener la ruta de otros tantos mas. Todos ellos los pude leer utilizando AlienForm

Viendo los scripts php determine que se conecta al servidor con el usuario postgres mediante una conexión de confianza (sin password para la conexión local)

No pude encontrar los archivos de configuración de postgresql ni su log en las siguientes rutas  :(

/var/lib/pgsql/data/pg_hba.conf
/var/lib/pgsql/data/postgresql.conf
/usr/lib/pgsql/data/postgresql.conf
/var/lib/pgsql/pg_hba.conf
/usr/lib/pgsql/pg_hba.conf
/usr/lib/pgsql/data/pg_hba.conf
/usr/lib/pgsql/pg_hba.conf.sample
/etc/postgresql/7.4/main/pg_hba.conf
/etc/postgresql/8.0/main/pg_hba.conf
/etc/postgresql/8.1/main/postgresql.conf
/etc/postgresql/8.2/main/postgresql.conf
/etc/postgresql/8.3/main/postgresql.conf
/etc/postgresql/8.3/main/pg_hba.conf
/var/log/postgresql.log

Sabiendo el codigo php de determinadas paginas pude encontrar la posibilidad de realizar sql injection para obtener los usuarios y contraseñas de postgresql, pero como esta habilitado el magic quotes me esta impidiendo realizar esta tecnica dado que el script vulnerable obtiene parametros por medio de la url

Por otro lado intente utilizar la funcionalidad de escribir archivos utilizando la misma vulnerabilidad de AlienForm2 segun http://seclists.org/bugtraq/2002/Jun/73 pero no logro que funcione  :(


Ahora paso a las preguntas:
Alguien ha utilizado el bug de AlienForm2 para escribir archivos? no logro comprender como una expresion regular puede escribir un archivo en el disco. :-\ Estoy tratando de depurar el script cgi para entender bien lo que sucede

Conocen algna tecnina para bypasear el magic quotes por url? He visto tecnicas aplicadas sobre formularios utilizando javascript pero no sirven para este caso

Alguna sugerencia de archivo de configuración a buscar, alguna otra locación donde pueda encontrar configuración y logs de postgre

Alguna otra técnica que me pueda arrojar un poco de luz. De momento intento evitar ingeniería social y fuerza bruta sobre ssh, ftp y postgre

Se agradece cualquier aporte