Documente Academic
Documente Profesional
Documente Cultură
2 2
Qúe más Conoce sobre Google ?
www.google.com/intl/xx-hacker
“texto de busqueda” site:www.sitioweb.com
Busca en el sitio web específico
“texto de busqueda” site:dominio.com
Busca en todos los “sitios indexados” del dominio específico
.... site:...... filetype:asp
Busca por extensión de archivo asp. Otros: pdf,ppt,odp,sql,reg,ora y
muchos más
.... site:...... inurl:login admin
Busca las pagǵinas que contengan login en el URL o admin en cualquier
3
otra parte del documento
Qúe más Conoce sobre Google ?
.... site:...... allintitle:login intranet
Busca las páginas que contengan ambas palabras
unicamente en el title
intitle:index.of inurl:admin
@dominio.com busco ayuda
4
Algunos Ejemplos con Google
•
filetype:reg “Terminal Server Client”
•
inurl:nqt.php intitle:”Network Query Tool”
“Powered by” phpnuke
•
intitle:”Welcome to Windows 2000 Internet
Services”
•
intitle:”Microsoft Windows Update Services”
•
intitle:”Home” “Xerox Corporation” “Refresh”
“Status”
5
Más Ejemplos...
•
inurl:”level/15/exec”
•
inurl:10000 webmin
•
Axis Video Server
•
inurl:indexFrame.shtml Axis
•
allintitle:palabra1 palabra2 “frase 1”
“frase 2
•
Lo mismo para allinurl
•
inurl:8080 -intext:8080 (sólo en el URL,
NO en el texto)
6
Más Ejemplos...
• filetype:inc mysql_connect()
7
GHDB
http://www.exploit-db.com/google-dorks/
8 8
Consolidación : Spiders,
Relaciones de Confianza, Más!
• www.netcraft.com
www.archive.org (wayback)
www.touchgraph.com
9
OSSTM : Revisión de la
Inteligencia Competitiva
• dig NS dominio
• dig any dominio
• whois dominio
– nslookup – dnsipaddress
– set q=any
– server dnsoftarget
• host -a dominio dnsserver
• dig @dnsserver recordname type
– dig @dns.dominio.com dominio.com.pe MX
10
www.robtex.com
11
www.robtex.com
12
www.robtex.com
13
dnsmap
• Descargar desde
– http://www.gnucitizen.org/blog/new-version-
of-dnsmap-out/
• Compilación :
• Ejecución :
– dnsmap dominio.com 14
Buscando Metadata :
Metagoofil
http://www.edge-security.com/metagoofil.php
16
Buscando Metadata :
Metagoofil
http://www.edge-security.com/metagoofil.php
• Requiere
– Libextractor1 o libextract
– extract
– Python
• Modificar metagoofil.py
– which extract
– extcommand='/usr/bin/extract'
– Tipo : pdf, xls, ppt, odp, doc, docx, pptx, ods, xlsx,
17 ods
Buscando Cuentas de Usuario y
Correo Electrónico :
http://www.edge-security.com/theHarvester.php
• Requiere Python
• theharvester -d microsoft.com -l 500 -b google
18 18
EXIFtool
19
Un engine diferente
20 20
Scanning y
Enumeración
Revisión de la Inteligencia Competitiva
22
Seccion C : Seguridad en las
Tecnologías de Internet
23
Sondeo de Red
24
Herramientas de Footprint en
Windows
• Sam Spade
• DNSStuff.com
• NeoTrace
• Trout
• Tracert
• Megaping
• SNScan
• gooscan – Google on wheels (automático)
25
Scanning
Identificación de los servicios de los
Sistemas
27
Scanners de Puertos y
Servicios en Windows
• NMAP
– ZENMAP
• SuperScan
• HAKTEK
• Megaping
• LANGuard
• Unicorn Scan
• Port Bunny
28
Telnet
• Dirigido a puertos
• Comandos
– SMTP
• EHLO, HELO, RCPT TO:, MAIL FROM:, DATA,
QUIT, VRFY
– POP
• USER, PASS, LIST
– IMAP
• CAPABILITY, LOGIN, LOGOUT
– HTTP
• GET / HTTP
29
Puertos “bien” conocidos...
30
Handshake TCP
SYN
SYN+ACK
ACK
FIN+ACK
ACK
FIN+ACK
ACK
31
Estructura de Paquetes - IP
32
Estructura de Paquetes - TCP
33
ICMP 1
34
ICMP 2
35
idle Scan
• Al enviar un SYN, el objetivo responderá con un SYN|ACK sí el
puerto esta abierto y con un RST|ACK sí esta cerrado.
• Un objetivo que recibe un SYN|ACK no solicitado, responderá
con un RST. Un RST no solicitado será ignorado.
• Cada paquete IP tiene un número de fragmento que muchos
sistemas operativos simplemente incrementan al enviar
paquetes.
• Consultando este número se puede saber cuantos paquetes
han sido enviados desde el último testing.
36
idle Scan
Consulta IP ID
SYN|ACK
37
idle Scan
Evaluador
SYN|ACK sí el puerto esta abierto
Objetivo
RST
IP ID 54322
Zombie
38
idle Scan
Chequeando IP ID Zombie
SYN|ACK
Respuesta :
Evaluador IP ID 54323
RST El IP ID se incremento en 2
desde el primer contacto.
El puerto debe estar abierto.
39
idle Scan
Consulta IP ID
SYN|ACK
40
idle Scan
Evaluador
RST|ACK sí el puerto esta cerrado
Objetivo
No envia nada
Zombie
41
idle Scan
Chequeando IP ID Zombie
SYN|ACK
Respuesta :
Evaluador IP ID 54322
RST El IP ID se incremento en 1
desde el primer contacto.
El puerto debe estar cerrado.
42
NMAP
43
NMAP
44
NMAP
45
NMAP
46
NMAP
47
NMAP
/usr/local/share/nmap/nmap-services
/usr/local/share/nmap/nmap-service-probes
48
NMAP
50
CtF 1
• Tenemos un equipo identificado como www.exploit-db.com y se
requiere obtener la siguiente información :
– Proveedor de Internet.
– Proveedor de DNS.
– Dirección IP del objetivo.
– Puntaje : 10 puntos G.
En un objetivo local (indicado por el instructor) :
– Puertos abiertos en el objetivo.
– Programas que atienden los servicios relacionados a los puertos
abiertos del objetivo.
– Sistema operativo.
51
CtF 1
– password : starwars
•ZENMAP
•--traceroute 53
NMAP
•Los scripts requieren la instalación de LUA y LUALIB
--script=CATEGORIA
54
Timing
• paranoid (0)
– Evasión IDS, serializado, 5 minutos de gap
• sneaky (1)
– 15 segundos de gap
• polite (2)
– 0.4 segundos de gap
• normal (3)
– verificaciones en paralelo
• aggressive (4)
– 10 milisegundos de gap
• insane (5)
– 5 milisegundos de gap 55
Criterios para descubrimiento
del Sistema Operativo
56
Opciones para Discovery
interno
• Por default el “ping” de nmap (-sP o más recientemente, -sn) hace :
– ICMP echo
– TCP ACK 80
– ICMP Timestamp
57
Opciones para Port Scan
interno
• nmap -PE : unicamente echo/reply
• nmap -sP : “menos ruidoso”, si hace port scan (TCP SYN 443,
TCP ACK 80,ICMP Timestamp) en la LAN sólo usa ARP
scan Y NO hace port scan!
58
FIN, NULL, XMAS, ACK
• Flags:
– SYN, FIN, PUSH, URG, RST, ACK
• XMAS : FPU
• Respuestas
– RST+ACK ---> Cerrado
– Nada --> Abierto
• MS Windows siempre devuelve RST
• ACK no puede determinar si el puerto esta cerrado o
abierto
– RST-->Abierto o Cerrado, No Filtrado
– Sin respuesta--> Filtrado
59
Tips sobre NMAP
• Validar tráfico con
– tcpdump -i any -n -p -v | grep “) target” (para ver si hay
respuestas)
– tcpdump -i any -n -p -v | grep “) source” (para ver si se
estan enviando paquetes)
• Dejar que el scanning lo haga con puertos al azar
• Demorar el scanning (-T2 o -T1)
• Usar Decoys sí ha sido aceptado en Lineamientos de
Acción (OSSTMM).
• No incluir en los primeros escaneos -sV ni -A
• Recordar estado de puertos : Abierto, Cerrado, Filtrado
60
CtF 2
• Puntaje : 10 puntos G.
61
CtF 3
Host-A = 192.168.120.139
Puntaje : 10 puntos G.
62
Opcionales y Complementarios...
PASSIVE OS fingerprint scanning
Conexiones entrantes
p0f
Conexiones salientes
p0f -A -S -M
-A SYN/ACK
-S mostrar incluso firmas conocidas
-M detectar NAT
64
Port Scanning hecho en casa :
hping
• Ping (echo 8, reply 0)
– hping3
– hping3>hping send {ip(daddr=192.168.1.1)+icmp(type=8,code=0)}
– hping3>hping recv ath0
• Prediccion de numero de secuencia (ISN)
– ./hping3 192.168.1.140 --seqnum -p 22 -S -i u1 -I wlan0
• --seqnum mostrar solo numero de secuencia TCP
• -p puerto destino
• -S setear flag SYN
• -i intervalo, u1=1 microsegundo
• -I interface a usar
• Resultado : (Primera columna ISN, segunda diferencia entre el
ultimo y el actual).
65
Port Scanning hecho en casa :
hping
• Ping via TCP
– hping3 -c 4 -n -i 2 192.168.1.130
• -c cantidad de paquetes
• -n solo numerico
• -i intervalo
• Usa TCP Null
• Resultado : se verá mensaje NO FLAGS y las respuestas
vendrán con FLAGS=RA (Reset Ack) y todos los paquetes van
al puerto 0 (cero)
66
Port Scanning hecho en casa :
hping
• hping3 --scan known ip_target -S
known---> usa /etc/services
-s --> SYN scan o S flag activado
• En compilación
editar libpcap_stuff.c
68
Scapy
>>> sr(IP(dst="192.168.1.141")/TCP(dport=[1967],flags="S"))
Begin emission:
Finished to send 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
(<Results: TCP:1 UDP:0 ICMP:0 Other:0>, <Unanswered: TCP:0 UDP:0
ICMP:0 Other:0>)
>>> ans, unans = _
>>> ans.summary()
IP / TCP 192.168.1.137:ftp_data > 192.168.1.141:sns_quote S ==> IP / TCP
192.168.1.141:sns_quote > 192.168.1.137:ftp_data SA / Padding
>>>
69
THC - Amap
Application Scanner
(Más allá de los banners)
70
Xprobe2 (OS fingerprint)
xprobe2 -v -r objeto_de_evaluación
#Con traceroute
xprobe2 -D 1 -D 2 -D 3 -v -T 80 objeto_eval
#Deshabilita modulos que esperan que el host este “vivo”
#(Ping ICMP, TCP, UDP)
xprobe2 -D 1 -D 2 -D 3 -v -B objeto_eval
#Igual que el anterior, pero, sin conocer algún puerto.
71
Xprobe2 (OS fingerprint)
• Durante la compilación, de estar usando un gcc 4.3 o superior
• vi libs-external/USI++/src/ip.cc
– #include <cstdlib>
72
Xprobe2 (OS fingerprint)
• vi libs-external/USI++/src/misc.cc
– #include <cstdlib>
• vi libs-external/USI++/usi++/tcp.h
– #include <cstring>
73
7 Pasos de la
Fase de Pre-Ataque
74