[Hack] Los peligros del phpinfo y como tirar un servidor

¿Cuantos hemos creado un fichero phpinfo? Y quizás es una de las cosas que primero se hacen al terminar de instalar php.

Para los que no saben, "phpinfo" es una pagina de información con datos de configuración de un servidor. Por lo general, cuando se está configurando un servidor, una forma de saber si funciona "php" es creando este archivo. Sencillamente, no es mas que generar un archivo con el contenido
<?php phpinfo(); ?>
y guardarlo como info.php (puede ser cualquier nombre con extensión *.php). De esta forma, basta con entrar a http://(tu pagina o ip)/phpinfo.php Y así ver la información, variables y configuración actual del servidor.

Y ¿Porque esto es peligroso?
Ya sea por olvido, para un posterior uso, o creyendo que nadie se va a dar cuenta de la existencia de este archivo (al no estar linkeado en la pagina). Los administradores, simplemente lo dejan, le cambian el nombre y listo. Tal vez un usuario común jamas se entere de la existencia del mismo, pero puede que un atacante lo descubra y utilice la información para posteriores ataques.
Cuando se va a iniciar un ataque, el primer paso es el Footprinting (Así se denomina a las diferentes técnicas para recabar información) tratando de obtener IPs, dns, información personal, puertos, servicios corriendo, versiones de programas, etc.

El phpinfo le otorga a un extraño por ejemplo:
-Saber algunos programas que están corriendo, mediante la variable PATH.
-Ver la versión del sistema operativo, sin la necesidad de hacer fingerpriting o utilizar un programa (que además deja huellas).
-Saber las versiones de los programas y módulos de apache. A partir de ello ver si existe algún bug, para después explotarlo.
-Ver permisos de algunos archivos.
-Ver la directiva safe_mode.
-En caso de ser vulnerable a LFI (Local File Inclusion donde se puede visualizar archivos del servidor o inyecta código en un fichero para luego ejecutarlo) podría ayudar a la explotación, debido a que la ejecución de un script se almacena de forma temporal. Al archivo con el script mediante un método gets o post, se visualizaría el nombre del archivo temporal generado en el phpinfo y ejecutar el fichero con el LFI.
-Encontrar una vulnerabilidad RFI (Remote File Inclusion donde se puede ejecutar una shell remota y entrar directamente al servidor) si allow_url_fopen está habilitado.
-Explotar un xss, mediante la variable de vector '?a[]=' agregandola a la url.
Entre otras cosas...

Analizando la salida del phpinfo.
Este es un ejemplo real de un phpinfo en un servidor.


-Cuando entramos a la pagina del phpinfo, nos encontramos con algo similar a esto. Fíjense que al comienzo ya nos dice la versión de php. De esta forma se puede saber que vulnerabilidades pueden llegar a explotarse. Y abajo el Sistema en que corre.


-En la parte de "apache2handler", tenemos la versión de apache. Al igual que antes con esto podemos saber que vulnerabilidades se puede explotar. En el apartado "Loaded Modules" los módulos que se están ejecutando. Esto es importante porque Si existe un bug en esa versión que lo genere un modulo este debe estar cargado.


-Esta es la parte que andaba buscando. Se puede ver que cabeceras del protocolo http se utilizan. La parte que me interesa es "HTTP_ACCEPT_ENCODING", fíjense que acepta "gzip, deflate", quiere decir que permite comprimir la respuesta antes de enviarla.

Verán, cuando nuestro explorador (IExplorer, Mozilla, Opera, Chrome etc..) envían una consulta http a un servidor al abrir una pagina, internamente se envía algo similar a esto (puede variar):
 GET /index.html HTTP/1.1
Host: www.pagina.com
User-Agent: nombre-cliente
Y el servidor internamente devuelve algo asi:
HTTP/1.1 200 OK
Date: Fri, 2 Mar 2012 18:39:05 GMT
Content-Type: text/html
Content-Length: 1221

<Cuerpo de la pagina>
...
Como el protocolo http utiliza múltiples cabeceras, uno puede enviar una cabecera modificada
para obtener una respuesta diferente. Un caso particular es el de los servidores de descarga, que utilizan "range", rango de bytes que se necesita para continuar la descarga.
Aprovechando esto, si enviamos múltiples consultas con diferentes rangos y a todas ellas, le decimos que los comprima con gzip, el servidor intentará atender todas estas consultas y finalmente colapsará.
-----------------------------
Para el exploit utilice lenguaje C++ y es bastante sencillo. En primer lugar se pide la url de la pagina, a partir de ella se obtiene la ip. Para cada consulta se crea un "hilo" y utilizando "socket" se envía la cabecera modificada.





Así que ya saben, acuerdense de deshabilitar el phpinfo. Actualizar los programas.
Aclaración: Esto no es un tutorial. Gonzac Studios no se hace responsable por el mal uso de este material.

Comentarios

  1. con deshabilitar phpinfo() te refieres a no usarlo ¿verdad? O ¿hay alguna opcion para "desactivar" la funcion?

    ¿Se puede descargar el exploit para echarle un ojo a tu codigo? Parece muy interesante.............

    Gracias por el articulo me fue muy util, saludos:D

    ResponderEliminar
    Respuestas
    1. El phpinfo no es necesario, asi que puede moverse el archivo a una carpeta protegida. o solo eliminarlo.

      El exploit, se me perdio en alguna pc vieja. Si lo encuntro lo adjunto.
      Saludos

      Eliminar
  2. Hola, hice una web para practicar con la vulnerabilidad RFI con el allow_url_fopen habilitado, me gustaria saber como subir la shell poniendome en el lugar de alguien externo a la web.

    Gracias por el articulo, saludos :)

    ResponderEliminar
  3. Slotomania is super-quick and 카지노사이트 convenient to entry and play, wherever, anytime. You can take pleasure in basic slot games like “Crazy train” or Linked Jackpot games like “Vegas Cash”. You can also take pleasure in an interactive story-driven slot recreation from our “SlotoStories” series or a collectible slot recreation like ‘Cubs & Joeys”! The greatest approach to discover out is to spin and see what suits you greatest.

    ResponderEliminar
  4. Very Fresh, Legit & Genuine Stuff available now
    Freshly spammed from HIGH INCOME Databases
    USA, UK, Canada States available
    All info included SSN/SIN DOB DL
    Fullz will be high credit scores 680 to 700+
    Stuff will be fresh, never sold before

    +92 3.1.7 2.7.2 1.1.2.2 WhatsApp/Tele-gram
    7.5.2.8.2.2.0.4.0 I.C.Q
    @peeterhacks Skype&WickrMe
    exploit dot tools4u at gmail dot com

    CC FULLZ with CVV's
    DUMPS with Pins
    Combos
    Logs
    Office365 Emails & Logs
    Spamming Tools & Tutorials (SMTP's, RDP's, C-panels, Brutes, Scripting, etc)
    Ha-cking stuff with complete tools, Guides, Ebooks & guidance
    Carding fresh Methods, Loan Methods, Carding Cash-out Methods
    Carding Tutorials, Transfers, top-up's
    Kali Linux with Termex & Python
    Keyloggers, Shells, RAT's
    I.p's, Proxies, Server I.p's

    Many other stuff we can provide on demand
    Here we're

    @killhacks ICQ&Tele.gram
    +92 317272 1122 WhatsApp

    ResponderEliminar

Publicar un comentario

Entradas populares