Accion Directa Digital

De HackLab
Saltar a: navegación, buscar


La guía seguirá los pasos lógicos de una acción proponiendo herramientas apropiadas para cada etapa. Son bienvenidas las sugerencias.

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.

Nota: Instalar dig
sudo apt-get install dnsutils

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.

Nota: Instalar dnsrecon
sudo apt-get install libavahi-compat-libdnssd1 git-core python-setuptools
sudo easy_install netaddr
sudo easy_install dnspython
git clone git://github.com/darkoperator/dnsrecon.git

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.

Nota: Instalar nmap
sudo apt-get install nmap

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
Nota: Opciones de Velocidad
 -T<0-5>: template de velocidad (0 paranoica - 5 suicida) 
 --max-retries <tries>: Máximo de reintentos por puerto (0 o 1 es rápido pero puede comerse alguno)
 --max-rate <number>: No mandar mas de <number> intentos por segundo
Nota: Opciones de Privacidad
 -D <decoy1,decoy2[,ME],...>: Despistales creando fantasmas
 --proxy : Enviá las conexiones a través de un proxy
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

proxy

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.

grafico  tor

Los nodos de salida de TOR son conocidos y pueden estar bloqueados, podés combinar TOR con un proxy usando proxychains

Nota: Instalar tor
sudo apt-get install tor

Para sistemas basados en pacman

sudo pacman -S tor

O descargalo del sitio y simplemente extraelo en un directorio.

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.

Nota: Instalar proxychains
sudo apt-get install proxychains

Para sistemas basados en pacman

sudo pacman -S proxychains

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.

Nota: proxychains solo soporta TCP por lo que no podrás hacer ping a travez de este o conexiones UDP. Para averiguar la IP de un dominio sin comprometer tu identidad podés usar tor-resolve.
tor-resolve www.nsa.gov
Nota: Ejemplo: nmap via proxychains
proxychains nmap -sT -PN -n -sV -p21,22,25,80,110,443 23.208.164.226

-sT le dice a nmap que haga conexiones TCP, -PN le dice que no intente hacer ping, -n que no haga resoluciones DNS (importante, sino filtrará estas por fuera de los proxys), -sv que intente identificar el servicio y version que corre en el puerto -p 21,22,.... los puertos a escanear. Ver nmap para mas detalles.

proxychains

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.

Nota: Instalar sqlmap
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap

Crea una carpeta llamada sqlmap con el programa dentro. Necesita python 2.6.x o 2.7.x ejecuta python --version

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