Squid es un servidor proxy para web con caché.

Entre sus utilidades está la de mejorar el rendimiento de las conexiones de empresas y particulares a Internet guardando en caché peticiones recurrentes a servidores web y DNS, acelerar el acceso a un servidor web determinado o añadir seguridad realizando filtrados de tráfico.

Para probar cómo ganar acceso a un squidproxie, vamos a cescargarnos un laboratorio que tiene unas vulnerabilidades que nos permitirán ganar acceso, ya que en caso de estar todo actualizado, los intentos de acceso, quedarían registrados y podrian ser evitados.

Me descargo la máquina SicOs de Vulnhub.

Hago un descubrimiento de la ip con arpscan

arp-scan -I eth0 --ignoredumps

escaneo puertos abiertos

nmap -p- --open -sT --min-rate 5000 -vvv -n -Pn 192.168.111.39 -oG allPorts

veo que hay dos abiertos

22,3128

lanzo con nmap un escaneo mas exaustivo

nmap -sCV -p22,3128 192.168.111.39 -oN targeted

Veo que es una maquina debian y que es un squid proxie, lo que ya sabiamos por que nos hemos descargado este proyecto justamente por esto. el SquidProxie es un servidor situado entre la maquina e internet que funciona como cache, así el proxy puede evitar accesos indeseados, guarda las peticiones…


Voy a usar este proxy para ver los puertos abiertos detras del proxy.

nmap -p80 192.168.111.39 -T5 -v -n

veo un puerto filtrdo por el puerto 80/TCP

con curl puedo filtrar el proxy por el puerto 3128

curl http://192.168.111.39 --proxy http://192.168.111.39:3128

con foxy proxy en options add

Title SquidProxy

Type: Http

Proxy IP: 192.168.111.39

Port: 3128

le doy a save

en el navegador en foxy proxy veo que esta pasando por el sqid proxy que le acabo de definir. Ahora con gobuster pordria lanzar:

gobuster dir -u http://192.168.111.39/ --proxy http://192.168.111.39:3128 -w /usr/share/seclist/Discovery/Web-Content/directory-list-2.3-medium.txt -t 20

le doy a enter y deberia de descubrit sub-directorios como robots, wolfcms

Para enumerar todos los puertos ocultos también me podría definir con python:

!/usr/bin/python3

import sys, signal, requestd\par

def def_handker(sig, frame):
print("\n\n Saliento…\n")
sys.exit(1)

ctrl+c

signal.signal(signal.SIGINT, def_handler)

main_url = "http://127.0.0.1"
squid_proxy = {'http': 'http://192.168.111.39:3128'}

def portDiscovery():
common_tcp_ports = {20, 21, 22, 23, 25, 53, 67, 68, 69, 80,110, 119,
123, 143, 161, 162, 443, 445, 514, 540,587, 631, 993, 995, 1080, 1433, 
1434, 1521, 3306, 3389,5432, 5900, 6379, 6660, 6661, 6662, 6663, 8080, 
8888, 9000,9100, 10000, 20000, 50000, 8000, 8081, 8880, 9090, 10051,   
27017}

for tcp_port in common_tcp_ports:
    r = request.get(main_url + ':' + str(tcp_port), proxies=squid_proxy)

    if r.status_code != 503:
        print("\n[+] Port " + str(tcp_port) + " - OPEN")
if name == 'main':
portDiscovery()

para ejecutarlo: python3 squid_proxy_port_discovery.py

si me devuelve un estado diferente a 503, sera que el puerto esta abierto

Tambien en la propia url podriamos acceder asi:

curl http://127.0.0.1:3306 --proxy http://admin:password@192.168.111.39:3128 --output output

Categorías: Hacking

0 comentarios

Deja una respuesta

Marcador de posición del avatar