💡Herramientas de Proxy
Un aspecto importante del uso de servidores proxy web es permitir la interceptación de solicitudes web realizadas por herramientas de línea de comandos y aplicaciones cliente pesadas. Esto nos brinda transparencia en las solicitudes web realizadas por estas aplicaciones y nos permite utilizar todas las diferentes funciones de proxy que hemos utilizado con las aplicaciones web.
Para enrutar todas las solicitudes web realizadas por una herramienta específica a través de nuestras herramientas de proxy web, tenemos que configurarlas como proxy de la herramienta (es decir, http://127.0.0.1:8080
), de manera similar a lo que hicimos con nuestros navegadores. Cada herramienta puede tener un método diferente para configurar su proxy, por lo que es posible que tengamos que investigar cómo hacerlo para cada una.
En esta sección se explicarán algunos ejemplos de cómo utilizar servidores proxy web para interceptar las solicitudes web realizadas por dichas herramientas. Puede utilizar Burp o ZAP, ya que el proceso de configuración es el mismo.
Nota: Las herramientas de proxy generalmente las hacen más lentas, por lo tanto, solo utilice herramientas de proxy cuando necesite investigar sus solicitudes y no para el uso normal.
Proxychains
Una herramienta muy útil en Linux es proxychains , que enruta todo el tráfico proveniente de cualquier herramienta de línea de comandos a cualquier proxy que especifiquemos. Proxychains
agrega un proxy a cualquier herramienta de línea de comandos y, por lo tanto, es el método más simple y fácil para enrutar el tráfico web de las herramientas de línea de comandos a través de nuestros proxies web.
Para utilizar proxychains
, primero tenemos que editar /etc/proxychains.conf
, comentar la línea final y agregar la siguiente línea al final (en caso de que queramos enrutar el tráfico por http):
También deberíamos permitir Quiet Mode
para reducir el ruido descomentando quiet_mode
. Una vez hecho esto, podemos anteponer proxychains
a cualquier comando y el tráfico de ese comando debería enrutarse a través de proxychains
(es decir, nuestro proxy web). Por ejemplo, intentemos usar cURL
en uno de nuestros ejercicios anteriores:
Vemos que funcionó como siempre, con la línea adicional ProxyChains-3.1
al principio, para indicar que se está enrutando a través de ProxyChains
. Si volvemos a nuestro proxy web (Burp en este caso), veremos que la solicitud efectivamente ha pasado por él:
Nmap
A continuación, vamos a intentar hacer un proxy con nmap
. Para saber cómo utilizar las configuraciones de proxy de cualquier herramienta, podemos consultar su manual con man nmap
, o su página de ayuda con nmap -h
:
Como podemos ver, podemos usar el indicador --proxies
. También deberíamos agregar el indicador -Pn
para omitir el descubrimiento de host (como se recomienda en la página del manual). Finalmente, también usaremos el indicador -sC
para examinar lo que hace un escaneo de script de nmap:
Una vez más, si vamos a nuestra herramienta de proxy web, veremos todas las solicitudes realizadas por nmap en el historial del proxy:
Nota: El proxy integrado de Nmap todavía está en su fase experimental, como se menciona en su manual ( man nmap
), por lo que no todas las funciones o el tráfico pueden enrutarse a través del proxy. En estos casos, simplemente podemos recurrir a proxychains
, como hicimos anteriormente.
Metasploit
Por último, intentemos utilizar un proxy para el tráfico web generado por los módulos de Metasploit para investigarlos y depurarlos mejor. Deberíamos comenzar iniciando Metasploit con msfconsole
. Luego, para configurar un proxy para cualquier exploit dentro de Metasploit, podemos usar el indicador set PROXIES
. Probemos el escáner robots_txt
como ejemplo y ejecútelo en uno de nuestros ejercicios anteriores:
Una vez más, podemos volver a nuestra herramienta de proxy web de elección y examinar el historial del proxy para ver todas las solicitudes enviadas:
Vemos que la solicitud efectivamente ha pasado por nuestro proxy web. El mismo método se puede utilizar con otros escáneres, exploits y otras funciones de Metasploit.
De manera similar, podemos utilizar nuestros servidores proxy web con otras herramientas y aplicaciones, incluidos scripts y clientes pesados. Todo lo que tenemos que hacer es configurar el proxy de cada herramienta para que utilice nuestro servidor proxy web. Esto nos permite examinar exactamente lo que estas herramientas envían y reciben y, potencialmente, repetir y modificar sus solicitudes mientras realizamos pruebas de penetración de aplicaciones web.
Ejercicio
Intente ejecutar 'auxiliary/scanner/http/http_put
' en Metasploit en cualquier sitio web, mientras enruta el tráfico a través de Burp. Una vez que vea las solicitudes enviadas, ¿cuál es la última línea de la solicitud?
Esto nos permitiría como atacantes subir un archivo malicioso, como una reverse shell a un servidor web.
Última actualización