Sunteți pe pagina 1din 73

Footprint Básico

Google hacking : Primeros


“dorks”
 site
 filetype
 cache
 intitle
 inurl
 intext

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()

• filetype:sql "PostgreSQL database dump"

• filetype:bak “createobject sa"

• filetype:sql "MySQL dump"

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 :

– gcc dnsmap.c -o dnsmap

• 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'

• metagoofil -d dominio -l Q_archivos -t tipos_archivos -o


directorio_resultados -f archivo_reporte

– 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

• theharvester -d microsoft.com -b bing

• theharvester -d microsoft -l 200 -b linkedin

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

Respuesta : IPID 54321


Evaluador Zombie
RST

37
idle Scan

SYN al puerto 80 / Orígen : Zombie

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

Respuesta : IPID 54321


Evaluador Zombie
RST

40
idle Scan

SYN al puerto 80 / Orígen : Zombie

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

nmap -v -P0 -sV target ---> Identificar


aplicaciones, no Ping

nmap -p665-667 -T1 -v -A -P0 -D decoy target --->


solo esos puertos, 15 seg. delay entre probes

nmap -v -P0 -A target --> Identificar OS y


aplicaciones

nmap -sR -v -P0 target –> Escanear RPC (como


rpcinfo -p), no funciona con Decoy, incluído en
-sV
49
NMAP hacia objetivo local
(laptop del instructor) y hacia
objetivos externos.

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

– Además, una vez que identifiquen una forma de login,


deberán usar estas credenciales para ingresar como un
usuario simple :

– nombre de usuario : quigonjin

– password : starwars

• Una vez que hayan ingresado, deberán escalar al usuario


administrador y crear un archivo de texto con su nombre en el
directorio en que ingresen.
• Puntaje : 5 puntos H.
52
NMAP

nmap 4.50 y posteriores

•NMAP SCRIPT ENGINE



LUA _ Lightweight Scripting Language

Enhanced version detection, malware detection, /usr/local/share/nmap/scripts

-sC

•ZENMAP

•Mejoras en detección de sistemas operativos y versiones de aplicaciones

•--reason (with love, for scapy ;)



All 1711 scanned ports on 192.168.1.141 are closed because of 1711 resets
•Con -v también indica de donde obtiene los archivos como nmap-services

•--traceroute 53
NMAP
•Los scripts requieren la instalación de LUA y LUALIB

•Los scripts están almacenados en /usr/local/share/nmap/scripts

•En el archivo script.db esta la relación y categorías de scripts :


– Entry { filename = "ftp-anon.nse", categories = { "auth", "default", "safe", } }

– Entry { filename = "ftp-bounce.nse", categories = { "default", "intrusive", } }

– Entry { filename = "ftp-brute.nse", categories = { "auth", "intrusive", } }

•La categoría se puede indicar con el parámetro :

--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

• Muestra de TCP ISN


• Opciones TCP soportadas y el orden de
las mismas
• Muestras de IPID
• Tamaño inicial de la ventana

56
Opciones para Discovery
interno
• Por default el “ping” de nmap (-sP o más recientemente, -sn) hace :

– ICMP echo

– TCP SYN 443

– TCP ACK 80

– ICMP Timestamp

– Sí no es root : TCP Connect al 80 y 443

– En la LAN : usa ARP, pero, también hace el port scan

57
Opciones para Port Scan
interno
• nmap -PE : unicamente echo/reply

• nmap -PP : obtener timestamp

• nmap -PM : obtener mascara de subnet

• 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!

Agregar -PR para generar un paquete menos...

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

• Análisis y/o modificación del script nbstat.nse


– Por qué no hace enumeración cuando hay puertos filtrados ?

– Por qué otras herramientas de solamente enumeración si lo


consiguen ?

• Puntaje : 10 puntos G.

61
CtF 3

Host-A = 192.168.120.139

• 1. Analizar los servicios y obtener información que permita el acceso tipo


consola al
Host-A.
• 2. Una vez conseguido el acceso al Host-A, analizar las interfaces de red
y acceder al servidor interno ubicado en otra red distinta a la
(192.168.4.0/24).
• 3. Acceder al Host-B, ubicar el archivo "DataAccess.class", analizar el
trofeo y transferirlo hasta su PC.

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

Cambiar en línea 20 por :


• 20 #include <pcap-bpf.h>
67
Scapy
• https://www.secdev.org/projects/scapy/
• Download scapy.py
• Python scapy.py

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)

./amap -v -b objeto_de_evaluación puerto

70
Xprobe2 (OS fingerprint)
xprobe2 -v -r objeto_de_evaluación
#Con traceroute

xprobe2 -v -r -Tpuerto -A objeto_de_evaluación


#Muestra paquetes obtenidos para analizar sí existe protección
#de algun tipo en el destino. El puerto se ha descubierto antes

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

– Se producirá un error en 2 programas y un header de la libusipp (USI++) :


function not declared in this scope

– Solución:modificar los siguientes programas y archivo de header :

• vi libs-external/USI++/src/ip.cc

• Después de la línea 15: #include "config.h" agregar

– #include <cstdlib>

72
Xprobe2 (OS fingerprint)
• vi libs-external/USI++/src/misc.cc

• Después de la línea 2 :#include "usi++/usi-structs.h" agregar

– #include <cstdlib>

• vi libs-external/USI++/usi++/tcp.h

• Después de la línea 17: #include "ip.h" agregar

– #include <cstring>

73
7 Pasos de la
Fase de Pre-Ataque

TITULO ACTIVO/PASIVO HERRAMIENTAS


OBTENCION DE INFORMACION PASIVO SAM SPADE, ARIN, IANA, WHOIS, NSLOOKUP, LACNIC
DETERMINACION DEL RANGO DE RED PASIVO RPI, APNIC, ARIN, LACNIC
IDENTIFICAR MAQUINAS ACTIVAS ACTIVO PING, TRACEROUTE, SUPERSCAN
ENCONTRAR PUERTOS ABIERTOS Y APLICACIONES ACTIVO NMAP, THC-AMAP, SUPERSCAN
FINGERPRINT DEL SISTEMA OPERATIVO ACTIVO/PASIVO NMAP, WINFINGERPRINT, XPROBE2, ETTERCAP
FINGERPRINT DE SERVICIOS ACTIVO TELNET, NETCAT
MAPEO DE RED ACTIVO CHEOPS, TRACEROUTE, NEOTRACE

74

S-ar putea să vă placă și