Este documento describe un taller sobre la herramienta aircrack-ng incluida en Kali Linux. El taller explica brevemente las características de aircrack-ng y luego guía a los participantes a través de un ejercicio práctico usando la herramienta.
KELA Presentacion Costa Rica 2024 - evento Protégeles
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
1. Pedro Romero Used @sioux69---→teleg Enero 2018
HACKMADRID: KALI
LINUX 3
Rastreando Informacion y
Objetivos
2.
3. Características del Taller
● Mensualmente se realiza un taller sobre Kali
● Cada taller se refiere a una herramienta de Kali
● Breve explicación de la herramienta
● Ejercicios y tareas con la misma
● Cada taller será liderado por un diferente miembro de la
comunidad
● La duración de los talleres será de aproximadamente 3
horas
● De ser necesario las charlas explicativas de cada
herramienta pueden repetirse en modo online
4. Tercer Taller sobre Kali
● Descripción de las características de Kali
● Historia de Kali
● Sistemas Operativos equivalentes a Kali
● Como utilizar Kali con conciencia y ética
● Distintas formas de instalar de Kali
● Herramienta seleccionada: aircrack-ng
● Nociones básicas de redes inalámbricas
● Descripción de la herramienta aircrack-ng
● Ejercicio y práctica con la herramienta
5. Kali Linux
● Kali es una distribución basada en Debian, diseñada para la auditoría y
seguridad informática en general.
● Utiliza un kernel monolítico Linux, el entorno GNU, el escritorio Gnome y
siguiendo un modelo Roling Release.
● Tiene preinstalados más de 600 programas incluyendo Nmap (un escáner de
puertos), Wireshark (un sniffer), John the Ripper (un crackeador de
passwords) y la suite Aircrack-ng (software para pruebas de seguridad en
redes inalámbricas).
● Kali es desarrollado en un entorno seguro. Todos los paquetes de Kali están
firmados por cada desarrollador que lo compiló y publicó. A su vez, los
encargados de mantener los repositorios también firman posteriormente los
paquetes utilizando GNU Privacy Guard.
● La actual versión de Kali es 2017.2, kernel versión 4.12.6
● Puede ser instalado en HDD, o bien ser utilizado en modo live desde un
prendrive o instalado en una máquina virtual (ejemplo VirtualBox)
6. Su historia y quién lo desarrolla
● 2004, primera versión de Backtrack, live CD’s e instalación en HDD, basada
en Linux Slax
● 2006, Backtrack 1.0 a Backtrack 3.0. Basada en Ubuntu
● 2010, Backtrack 4-R2, basada en Ubuntu
● 2012, Backtrack 5-R3, basada en Ubuntu, fue la última versión.
● 2013, Marzo 13, liberan la primera versión de Kali, basada en Debian
● 2015, una nueva versión Kali 2.0, transformando a Kali en “rolling release”
● 2016, versión Kali 2016.2, con muchas mejoras en herramientas de hacking
● 2017, versión Kali 2017.2, nuevos paquetes de seguridad y herramientas de
penetración
● Offensive Security es la empresa que desarrolló Backtrack y actualmente
desarrolla Kali
● Kali fue desarrollada por Mati Aharoni y Devon Kearns, reescribiendo todo el
código de Backtrack 5-R3
● Sitios oficiales: https://kali.org - https://offensive-security.com
7.
8. Distribuciones equivalentes a Kali
Linux● Pentoo, basada en Gentoo Linux
● BackBox Linux, basada en Ubuntu
● BlackArch Linux, basada en Arch Linux
● Parrot Security OS, basada en Debian Linux
● Arch Assault, basada en Arch Linux
● Deft, basada en Ubuntu
● Samurai Web Security Framework, funciona como un
entorno Web
● Network Security Toolkit, basada en Fedora
● Node Zero, basada en Ubuntu
● GnackTrack, basada en Ubuntu
● BlackUbuntu, basada en Ubuntu
9. Usos y no abusos con Kali
Kali es un sistema operativo con más de 600 aplicaciones para
la investigación de estudiantes, entusiastas y profesionales de
la ciberseguridad. Por lo mismo debe ser utilizado en un modo
ético y razonable.
No alentamos su uso para causar daños a personas, violando su
derecho a la privacidad o sustrayendo valiosa información para
uso personal. Contrariamente, su utilización es con própositos
de investigación, aprendizaje y desarrollo profesional.
¡¡ Sugerimos un uso en función del bien
común !!
10. Advertencia
¡IMPORTANTE! Nunca descargue imágenes de
Kali Linux desde cualquier lugar que no sean
las fuentes oficiales. Asegúrese siempre de
verificar el “checksum SHA256” como
comprobación de que el archivo descargado
cumple con los valores oficiales. Sería fácil para
una entidad maliciosa modificar una instalación
de Kali para contener exploits o malware y
alojarla de manera extraoficial.
11. Modos de instalación
● Instalación en el HDD completo, o en una partición del
mismo
● Modo “live”, instalado en un pendrive o dvd
● Modo “live”, instalado en un prendrive con persistencia
● Instalación en máquinas virtuales: VMware, VirtualBox
Nuestra recomendación para trabajar en este taller es utilizar
una instalación de Kali/persistencia desde un pendrive. El
prendrive deberá tener mínimo 8 gigas.
12. Links de interés sobre la
Instalación● Kali en Virtualbox y VMware: https://www.offensive-security.com/kali-
linux-vmware-virtualbox-image-download/
● Kali en Virtualbox video: https://youtu.be/aFfyiXHSMpo
● Kali en Mac y Windows: https://docs.kali.org/category/installation
● Bajar y verificar Kali: https://docs.kali.org/introduction/download-
official-kali-linux-images
● Kali en usb drive y persistencia:
https://docs.kali.org/category/downloading
Página oficial de Kali Linux:
https://www.kali.org/kali-linux-documentation/
17. Gestion de Servicios
.
Kali Linux trae la mayoría de los servicios como MySql, ssh, etc apagados por defecto. Por lo
tanto, si queremos utilizar servicios como por ejemplo apache, debemos levantarlo primero.
Para inicializar un servicio debemos utilizar la siguiente sintaxis:
#service nombre-del-servicio start
Si queremos hacer que el servicio se inicialice al arrancar nuestro Kali:
#update-rc.d nombre-del-servicio enable
Para finalizar o para un servicio:
#service nombre-del-servicio stop
19. Bash/Scripting
Bash proporciona un potente entorno para trabajar, y un motor de secuencias de
comandos para hacer uso de la automatización de los procedimientos mediante
un script bash. Supongamos que queremos identificar los subdominios y sus
correspondientes direcciones ip pertenecientes a un sitio, si lo hacemos de
manera manual sería largo y tedioso, con una herramienta automatizada
podríamos hacerlo más rápido, pero tal vez no es exactamente lo que buscamos,
en cambio si lo hacemos con un script podemos manejar de manera granular lo
que estamos buscando
# wget www.cisco.com
Aquí hemos descargado el index de cisco.com, para poder verlo podemos hacer un cat o
para abrirlo en un editor podemos usar nano o vi
#cat index.html o nano index.html
20.
21. Bash/Scripting
.
Si nos ayudamos de otros comandos para parsear el contenido como lo es cut, podremos
visualizar el contenido de manera algo más amigable.
# grep "href=" index.html | cut -d "/" -f3
Aquí usamos grep (para buscar) + string a buscar + archivo en el cual buscar | (para
concatenar comandos) + cut (para extraer segmentos) + -d (carácter delimitador) + "/"
(como carácter delimitador) + -f (para seleccionar rango del tabulador) + 3 (rango
tabulado).
De esta forma obtendremos todos los hipervínculos del sitio:
---------------->
23. Bash/Scripting
Bien, ahora supongamos que queremos eliminar los repetidos y también ordenarlos
alfabéticamente para verlos de manera más ordenada.
# grep "href=" index.html | cut -d "/" -f3 | grep "." | cut -d '"' -f1 | sort
-u
El nuevo comando que hemos agregado es sort con el parámetro -u , el primero ordena la
lista dada y el segundo hace que el orden sea único.
Hasta aquí ya tenemos nuestro listado de urls únicas que hemos extraído del sitio, ahora
obtengamos las direcciones ip de cada uno.
Podríamos hacerlo con tools como nmap pasándole la lista, pero no es la idea, buscamos
aprender el proceso que las herramientas automatizan, vamos a hacer un script que nos
liste las direcciones ip de cada url.
24. Bash/Scripting
grep "href=" index.html | cut -d "/" -f3 | grep "." | cut -d '"' -f1 | sort -u > list.txt
Hemos generado un fichero con un cat de list.txt para corroborar si es lo mismo que hemos
visto en pantalla.
#for url in $(cat list.txt); do host $url; done | grep "has address" | cut -d
" " -f4 | sort -u
Aquí decimos que a la variable url se le asignan los valores de cada una de las urls que
tenemos en nuestro list.txt, obtenga el host y luego parseamos con los comandos que ya
conocemos.
Entonces obtenemos el siguiente listado de direcciones ip únicas:
27. Fases de Pentesting
. El proceso que sigue un hacker tiene 7 pasos:
Localizar objetivo
Recopilar información sobre objetivo
Identificar vulnerabilidades
Explotar vulnerabilidades y acceder
Ataque
Borrado de huellas
Mantener el acceso, para futuras ocasiones
30. Uno de los primeros pasos recomendables una vez que ya conocemos el nombre
de la empresa que debemos analizar, es ingresar a su sitio web para identificar
información posiblemente provechosa como mails de contacto, teléfonos,
estructura de la compañía si es que está expuesta, hasta el código fuente puede
sernos útil.
Una vez que hemos analizado el sitio web de la entidad como primer instancia,
podemos recolectar más data utilizando buscadores como herramienta. Veamos
entonces la forma de aprovechar las cualidades de por ejemplo google.grep
33. Realicemos una búsqueda específicas, apuntando a no solo a los subdominios, sino
también a extensiones y nombres de archivos.
#site:NombreDeDominio -site:DominioRaiz -filetype:pdf “NombreDeArchivo”
34. En kali tenemos una herramienta llamada metagoolfil que nos puede ser de gran utilidad para
encontrar usuarios de dominios, nombres de equipos y personas, sistema operativo, software
con el cual realizaron el archivo, entre otros.
Con esta tool podemos analizar un archivo descargado o pasar como parámetros el dominio, la
extensión y la cantidad resultados que queramos descargar.
35.
36. ROBANDO PASSWORDS SOLO CON GOOGLE:
ext:pwd inurl:(service | authors | administrators | users) “# -FrontPage-“ Usuarios y
claves de administradores, para modificar la web. Se ven directamente en Google,
sin necesidad de entrar en la página. Hay más de 1.100 claves así en Google
filetype:sql “# dumping data for table” “`PASSWORD` varchar”
Bases de datos sql volcadas completas, tienen datos de usuarios y contraseñas. Se
pueden hacer modificaciones en la cadena de búsqueda, para sacar otros tipos de
información.
37. Aquí un ejemplo de contraseñas de la Universidad de Vigo. Las contraseñas van
encriptadas en md5, pero basta buscar en Google la contraseña y el hacker encontrará un
foro donde alguien la ha desencriptado y sale la original. Pongo un recuadro negro en los
e-milios :
38. Realicemos una búsqueda específicas, apuntando a no solo a los subdominios, sino
también a extensiones y nombres de archivos.
#site:NombreDeDominio -site:DominioRaiz -filetype:pdf “NombreDeArchivo”
39. Los dork se pueden utilizar también para identificar cosas como impresoras, webcams,
routers que tengan un panel de configuración con acceso web. Para ésto no solo Google es
una gran herramienta, también puede hacerse uso de Shodan, Duckduckgo, etc
40. SHODAN: routers, servers,etc usando una variedad de filtros, tales como metadata de
banners de sistemas. For example, you can search for a specific system, such as a Cisco
3850, running una version de software como IOS Version 15.0(1)EX.
Pero mucho mas grave es encontrar sistemas SCADAs con acceso a redes publicas como
Internet:
41. Por supuesto es posible acceder a camaras que tienen abierto su acceso publico via web
inurl:”ViewerFrame?Mode=”
“active webcam page” inurl:8080
intitle:”toshiba network camera – User Login”
intitle:”ivista main page”
intitle:”i-catcher console” “please visit”
camera linksys inurl:main.cgi
42. La Base de Datos de Hacking de Google (GHDB) creada por Johnny Long de Hackers For Charity
( http://www.hackersforcharity.org/ ),es la fuente definitiva para busquedas de google search.
Busquedas para usernames, passwords, sistemas vulnerables y exploits, han sido categorizados por
aficionados al Google hacking y se conocen como Google dorks.Para acceder a GHDB tenemos:
http://www.exploit-db.com/google-dorks/
43. Tecnicas de Reconocimiento de DNS
La mayoria de objetivos de alto valor tienen asociados nombres DNS a aplicaciones o
servicios.
La info DNS y servidores es muy valiosa para un Pentester o un atacante. Algunos DNS
tradicionales pueden permitir transferencias de zona desde un DNS autoritativo, lo cual
nos permitiria el contenido completo de sus tablas, e identificar potenciales targets u
objetivos. Actualmente no deberian permitir transferencia de zona sin autenticacion,
pero siempre hay donde meter el dedo:
Vamos a interrogar servidores DNS:
nslookup (obsoleto)
whois
#dig @server dominio -t tiporeg
#dig @194.179.1.101 nsa.gov -t NS
45. Identificacion de objetivos DNS
Una vez que tenemos identificados servidores autoritativos, podremos determinar que
hosts o sistemas tienen entradas en cada dominio: cloud.drchaos.com, mail.drchaos.com
Esto nos permitirá identificar targets potenciales de gran valor....pero antes deberemos
acceder a las definiciones que existen en los servidores DNS
Podemos utilizar Information Gathering | DNS Analysis | Fierce que nos permite
comprobar las trasnferencia de zona, y identificar servidores y sus IPs que despues
podremos investigar con otras herramientas (como Nmap ):
#fierce.pl -dns thesecurityblogger.com
Tambien puede ser utilizado para investigacion por fuerza bruta de nombres
de servers contra un servidor DNS.
46. Identificacion de objetivos DNS
Podemos tambien utilizar Information Gathering | DNS Analysis | DNSEnum que
nos permite comprobar las trasnferencia de zona, y identificar servidores y sus IPs que
despues podremos investigar con otras herramientas :
#dnsenum –enum google.es
Deberiamos de poder detectar relays de correo, transferencia de zona si es
vulnerable, wilcards, pseudonimos,etc..
Permite pasar un fichero con una lista de subdominios a buscar –->
“ficheros de fuerza bruta”
48. Identificacion de objetivos DNS:
DnsenumInteresante herramienta dnsenum que realmente es un script en
PERL que nos ayudara a encontrar registros tipo MX, A, etc...y otros
registros conectados a un dominio:
root@kali:~# dnsenum --enum sport-fm.gr
dnsenum.pl VERSION:1.2.3
Warning: can't load Net::Whois::IP module, whois queries disabled.
----- sport-fm.gr -----
Host's addresses:
__________________
Name Servers:
______________
ns0.internet.gr. 10798 IN A 62.1.1.62
ns1.internet.gr. 10798 IN A 62.1.1.92
Mail (MX) Servers:
___________________
mail.internet.gr. 86400 IN A 62.1.1.41
52. Email Hardvesting
Obtengamos los correos de Cisco:
>theharvester -d cisco.com -l 10 -b google > nombre-output.txt
Es una técnica utilizada para el descubrimiento de email expuestos,
comprender cómo se conforman los correos del target
Ejemplos:
nombre.apellido = sioux.l4bs@nombrededominio.com
primer letra del nombre más el apellido = sla4bs@nombrededominio.com
54. El amigo EDGAR del tio
Sam nos ayuda
Por cortesia de la administracion americana y de la SEC
acceso a EDGAR
Informacion publica empresarial
55. Esta es una poderosa herramienta desarrollada en python, de manera
modular que nos provee de un entorno para realizar reconocimientos
basado en web.
Su modo de uso es muy similar a la de metasploit. Veamos algunos
ejemplos.
Recon-ng
Aquí usamos el módulo de reconocimiento para identificar
posibles xss que han sido reportados.
56. Recon-ng
Para sacarle el mayor provecho posible a ésta herramienta en
conocer cada módulo con show modules:
57. DMITRY
Dmitry http://linux.die.net/man/1/dmitry
DMitry es una programa en línea de comando para Linux, el cual permite
capturar tanta información como sea posible sobre un host, desde un simple
Whois hasta informes del tiempo de funcionamiento o escaneo de puertos.
59. NETCAT: Shell Admin
RemotaEs capaz de redireccionar la entrada y salida estandard de comando o un ejecutable
C:Usersoffsec>nc -‐nlvp 4444 -‐e cmd.exe
listening on[any] 4444 ...
66. NMAP/ZENMAP: Scan Redes
Scanning de subredes. Con la opción –v nos detalla toda la red, buscando los
equipos de forma secuencial para ver cual existe y cual no
#nmap –sn –v 192.168.20.0/24
84. Cómo proteger nuestra red wi-fi
1. El password puede tener de 8 a 63 caracteres, utilicemos la mayor
cantidad de caracteres posibles
2. Utilizar mayúsculas, minúsculas, números, espacios y caracteres
especiales
3. Evitar nombres, fechas, lugares y eventos de entornos personales,
susceptible de ser conocidos por Ingeniería Social.
4. Evitar publicar en redes sociales información crítica sobre nuestras
actividades, datos personales y relatos que muestran nuestras
rutinas.
5. Utilizar encriptación WPA2
6. Establecer el acceso fijo a nuestro router únicamente de
dispositivos autorizados en función de su dirección MAC
85. Gracias por participar de nuestro taller.
¡¡ Happy Hacking Hackers !!
PROXIMO EVENTO HACK-LAB: 8 DE FEBRERO