[HACK] Buscando proxies

RoMaNSoFt r0man at phreaker.net
Fri Apr 5 13:26:17 CEST 2002


 Hola.

 ¿Qué utilidades / scripts me aconsejais para buscar proxies abiertos?
Busco soluciones finales, o al menos que se complementen unas con
otras, y no respuestas genéricas. Me gustaría indagar un poco en el
tema. La idea sería automatizar todo lo más posible.

 En primera aproximación se puede hacer algo como:
# nmap -sS -p 81,3128,8080,1080 www.existanthost.com/24 -oN log

con lo cual haríamos un stealth scan (q no es tan fiable como un
tcp-scan, pero sí algo menos ruidoso) de ciertos puertos habituales de
proxies. [1a preg: ¿qué puertos más añadiríais?]

 Pero con lo anterior (o cualquier scanner de puertos) tenemos un
principal problema: los (supuestos) proxies q nos salgan lo más normal
es q sean de acceso restringido. Por ejemplo, lo que más se encuentra
por ahi (Squid) resulta q por defecto no son open-proxies (lo cual es
lógico y bueno desde el punto de vista de la seguridad, aunque en este
caso juega en nuestra contra), es decir, viene cerrado "de fábrica".

 En el caso de 8080 en muchos casos lo q nos encontramos es el puerto
HTTP de Tomcat.

 En el caso del 1080 normalmente se requiere user/pass.

 Es decir, demasiados falsos positivos :-(

 Lo que yo busco es algún programa que aparte del scan implemente
alguna funcionalidad "avanzada" q permita comprobar si el proxy es
abierto. ¿Esto ya está hecho por ahí o habrá q invertarlo? ;-)

 Seguimos indagando un poco más. ¿Y si encima teneis q buscar proxies
de un determinado dominio? (por ejemplo, .es) ¿Esta funcionalidad está
implementada por ahi? La cosa no es tan trivial, ya que aparte del
problema de encontrar el proxy (digamos algo.proxy.es), esto NO
implica que el host destino vaya a ver ese hostname! ¿Por que? Pues
por ejemplo, imaginaros q dicho proxy sale "al exterior" a través de
otro proxy (por ejemplo, forma parte de una jerarquía de proxies). En
ese caso, el destino final ve la ip/hostname de este ultimo proxy.

Para comprobar esto último q he dicho podeis utilzar cantidad de
scripts, como este:
http://www.dsv.su.se/~p-lundst/internet2/misc/env.cgi

 Pero claro, según todo lo explicado, para buscar un proxy .es el
proceso sería algo como:
1) nmap -sS -p 81,3128,8080,1080 www.existanthost.es/24 -oN log
Esto no garantiza q nos vayan a salir proxies .es, pero lo normal es q
si scaneamos el entorno (=red) de una máquina .es, pues lo que no
salga es bastante probable q tb lo sea.
2) Probar uno a uno lo que nos salga en el punto anterior (uf!). Este
punto habría q automatizarlo. Estoy pensando en hacerme algun script q
conecte con la máquina:puerto y mande cadenas HTTP tipicas de proxy.
En fin, tengo una idea por ahi. Pero me gustaría saber si alguien se
ha peleado tb con esta cuestión y/o tiene ya algo implementado.
3) De entre los proxies abiertos obtenidos, ahora vamos uno a uno a un
.cgi de comprobación como el referido anteriormente. Nos dará la IP q
ve el cgi.
4) Ahora hacemos un nslookup de dicha IP y...
5) .. si nos devuelve gw.xxx.es o en definitiva, algo.es hemos
obtenido lo q buscamos.

 Pero si os fijais en el proceso hay una criba impresionante. Es muy
dificil encontrar lo q buscamos!!! 

 ¿Ideas hasta aquí?

 Se me ocurre una segunda opción: pedirle un favorcete a alguien q
administre algún rango de IPs (y q administre tb los hostnames *arpa,
es decir, la resolución inversa correspondiente a dicho rango). De
este modo, coges una de TUS ips, y le metes un dominio .es. Primera
preg. ¿Es esto posible? Lo digo porque es posible q deban coincidir la
resolución directa con la inversa. Q alguien me corrija por aquí, q no
lo veo muy claro.

 Otra preg q se sale un poco de la temática de este mail, pero ya
aprovecho: ¿cómo van delegando los servidores de nombres para el caso
de la resolución inversa? Me explico. Si a mi me asignan un rango de 
ips dado, por ejemplo, 62.40.25.64/28 ¿no hay forma de q yo pueda
administrar la resolución inversa de ese dominio delegando en un NS
mio? Por lo q yo entiendo, la respuesta sería negativa:
- 25.40.62.in-addr.arpa: este dominio lo administraria mi proveedor
(el q me ha "alquilado" las IPs).
- Lo anterior deberia colgar de: 40.62.in-addr.arpa
- etc

Es decir, parece q como muchisimo se podría delegar 3 veces, no?
Vamos, q no es granular como el caso de la resolución directa.

 ¿Comentarios?

 En fin, al menos os habeis entretenido un poco leyendo =)

 Salu2,
 --Roman




More information about the hacking mailing list