Título: Ayuda Bypass Magic Quotes && File write bug AlienForm2 Publicado por: germnex en 18 Junio 2011, 03:27 am 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 |