Publicado el 10/04/2023 12:04:00 en Hacking Tools.
Author: n4ch0m4n | Total de votos: 7 Vote
Siempre que subo algo (o por lo menos en aquellos años intentaba hacer jaja) pretendo que no sean temas tan quemados y previamente busco algo al respecto en DDLR.
Si bien este tiene una gran parte que son temas recontra vistos, la parte de donde sacar posibles objetivos para posteriores ataques no lo es ... o por lo menos no lo vi acá en DDLR.
La idea es simple, como sabrán existen servicios que exponen nuestra LAN a la WAN (cuando se está atras de una CGNAT de nuestro ISP por ej), herramientas como Ngrok, serveo, localtunnel, etc
Para más info busca sobre los mencionados.
Ahora bien, utilizando de ejemplo ngrok este genera un host y un puerto aleatorio para redireccionarlo al servicio de la LAN que quieras sea accesible desde la WAN...osea un port tunneling:
port_lan:host_ngrok:port_ngrok_wan
Ahora como podemos obtener host_ngrok:port_ngrok_wan tiene un servicio X escuchando detrás? Simple nmap al host:puerto y ver que está escuchando.
Meto un código que armé para que no quede solo chamuyo:
#!/bin/bash host=$1 start_port=$2 end_port=$3 service=$4 if [ -z "$host" ] || [ -z "$start_port" ] || [ -z "$end_port" ] || [ -z "$service" ] then echo "Usar: $0 <host> <start port range> <end port range> <servicio>" exit 1 fi echo "escaneando $host ......" for (( port=$start_port; port<=$end_port; port++ )) do timeout 1 bash -c "echo >/dev/tcp/$host/$port" 2>/dev/null && nmap -sS -sV -p $port $host | grep -q "open $service" && echo "$port -> $service" && echo "$host:$port" >> scan_result.log done
El uso está más que claro. Para mi ejemplo vamos a buscar hosts con servicios ssh detrás
Al ejecutable le llamamos scan_service.sh
De haber usado ngrok alguna que otra vez, los puertos que asigna son aleatorios y generalmente van del 12000 al 18000 para por ej el host 0.tcp.sa.ngrok.io
Una forma de saberlo es iniciar ngrok, en diferentes regiones y ver que puerto asigna, para mi ejemplo me asignó puerto 17920, y escanear puertos cercanos a este, por ej:
$ ./scan_service.sh 0.tcp.sa.ngrok.io 17000 18000 ssh
Si encuentra alguno lo guardará en el archivo log.
Bueno después es usar vuestra imaginación que hacer con esos hosts:ports. Para el caso de servicios ssh atacarlos por fuerza bruta por ej.
Por ej
> sudo ./scan_ports.sh 0.tcp.sa.ngrok.io 17919 17929 ssh escaneando 0.tcp.sa.ngrok.io ...... 17920 -> ssh 17929 -> ssh
En fin esto iba más que nada de donde buscar posibles objetivos. No más que eso. Piénsenlo que podemos escanear servidores web, de correo, etc...
Saludos!!