HOWTOs
Persistencia y encriptación USB en Kali Linux
Persistencia y encriptación USB en Kali Linux
Partimos de un pendrive en el que hemos instalado Kali linux live, y arrancamos en modo Live. Ha de quedar espacio libre en el pendrive para crear una patición adicional. Arrancado el sistema en Live, creamos una partición en el espacio libre (parted, cparted, etc.), supongamos de aquí ena delante que la nueva partición es "sdb3".
$ cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3
$ cryptsetup luksOpen /dev/sdb3 my_usb
$ mkfs.ext3 /dev/mapper/my_usb
$ e2label /dev/mapper/my_usb persistence
$ mkdir -p /mnt/my_usb
$ mount /dev/mapper/my_usb /mnt/my_usb
$ echo "/ union" > /mnt/my_usb/persistence.conf
$ umount /dev/mapper/my_usb
$ cryptsetup luksClose /dev/mapper/my_usb
Documentación original: USB Persistence & Encrypted Persistence
Instalación módulo para RTL8812BU en Kali Linux
Instalación módulo para RTL8812BU en Kali Linux
$ sudo apt install dkms bc
$ git clone https://github.com/cilynx/rtl88x2bu
$ cd rtl88x2bu
$ VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
$ sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
$ sudo dkms add -m rtl88x2bu -v ${VER}
$ sudo dkms build -m rtl88x2bu -v ${VER}
$ sudo dkms install -m rtl88x2bu -v ${VER}
$ sudo modprobe 88x2bu
Documentación original: Driver for rtl88x2bu wifi adaptors
Montar USB exfat en Kali Linux
Montar USB exfat en Kali Linux
Supongamos que disponemos de un pendrive formateado con exfat (propietario) en "sdb1".
$ sudo apt install exfat-fuse exfat-utils
Esto no es suficiente, ya que al intentar montarlo nos da un error de permisos. La solución es montar a mano:
$ sudo mkdir /media/kali/Flash
$ sudo mount.exfat-fuse /dev/sdb1 /media/kali/Flash
Documentación original: Cannot mount exFAT even installed exfat-fuse, exfat-utils in kali linux
Escribir con Kanji en Kali Linux
Escribir con Kanji en Kali Linux
$ sudo apt install ibus-mozc anthy
$ ibus-setup
Es necesario reiniciar, y tendremos en la barra un panel de idioma
Documentación original: Kali Linux - Help Me Enable Japanese IME with Mozc or Anthy
Buscar redes y obtener el PMKID con AirCrack-NG
Buscar redes y obtener el PMKID con AirCrack-NG
El primer paso es poner la tarjeta Wifi en modo monitor, y aconsejable cambiarle la MAC. Este proceso desconectará nuestra Wifi del AP donde esté conectada.
$ sudo airmon-ng
$ sudo ifconfig wlan1 down
$ sudo macchanger -r wlan1
$ sudo ifconfig wlan1 up
$ sudo airmon-ng check kill
$ sudo airmon-ng start wlan1
$ sudo iwconfig
Una opción menos agresiva y directa, sobre todo si disponemos de dos tarjetas Wifi y queremos mantener la conexión de una de ellas sería esta:
$ sudo airmon-ng
$ sudo ifconfig wlan1 down
$ sudo macchanger -r wlan1
$ sudo iwconfig wlan1 mode monitor
$ sudo ifconfig wlan1 up
Una vez la tenemos en modo monitor, buscamos el AP de la red que nos interesa. Nos interesa el BSSID y el canal.
$ sudo airodump-ng wlan1
Primero intentamos obtener el PMKID en modo pasivo. Tendremos que esperar hasta que un dispositivo de la Wifi objetivo se conecte o renueve su conexión. En el ejemplo, el BSSID de la red es XX:XX:XX:XX:XX:XX, el canal es el 00 y generamos un archivo pcapfile.cap.
$ sudo airodump-ng -c 00 --bssid XX:XX:XX:XX:XX:XX -w pcapfile wlan1
También podemos poner a escuchar "a lo bruto", incluso en 5GHz, abrir el archivo pcap que se está generado con aircrack-ng para ver si encontramos algún BSSID interesante y luego usando tshark filtrar el archivo generado por airodump y generar un archivo pcap específico. En el ejemplo, el BSSID de la red es XX:XX:XX:XX:XX:XX, el canal es el 00 y generamos un archivo XX-XX-XX-XX-XX-XX.pcap.
$ sudo sudo airodump-ng -b abg --manufacturer --uptime --wps -f 2000 -w /tmp/wps wlan1 &
$ tshark -r /tmp/wps-1.cap -Y "wlan.addr==XX:XX:XX:XX:XX:XX" -w XX-XX-XX-XX-XX-XX.pcap -F pcap
Si no queremos esperar, podemos forzar la captura inyectando paquetes y desconectando un cliente de la red. Para ello, hemos de abrir otra terminal mientras mantenemos la anterior escuchando y ha de haberse visualizado un cliente conectado a la red Wifi objetivo. En el ejemplo, la MAC del dispositivo cliente es YY:YY:YY:YY:YY:YY.
$ sudo aireplay-ng -0 1 -a XX:XX:XX:XX:XX:XX -c YY:YY:YY:YY:YY:YY wlan1
Cuando aircrack-ng haya obtenido el paquete PMKID lo marcará en la columna Notes. Una vez conseguido, ya podemos cerrar ^C la ventana de airodump-ng y recuperar nuestra Wifi.
$ sudo airmon-ng stop wlan1
$ sudo systemctl start NetworkManager
Por último, solo falta obtener la contraseña. Esto lo podemos hacer usando aircrack-ng u otro software, como por ejemplo hascat (en este caso, habría que transformar el archivo pcap generado a hccapx usando cap2hccapx) Lo mas normal es probar un ataque de diccionario, antes de realizar uno de fuerza bruta. En el ejemplo, usamos el diccionario rockyou, disponible por defecto en Kali Linux en /usr/share/wordlists, solo hay que descomprimirlo.
$ sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt -b XX:XX:XX:XX:XX:XX pcapfile*.cap
Documentación original:
How to Use Aircrack-ng
Cracking de WPA/WPA2 con aircrack-ng
Tutorial: Simple WEP Crack
Crack WPA/WPA2 Wi-Fi Routers with Aircrack-ng and Hashcat
Scanning For Wireless Access Point Information Using Airodump-ng Kali Linux Tutorial
Navegación anónima: Tor browser
Navegación anónima: Tor browser
Existen varias formas de asegurarnos que navegamos de forma anónima, una de ellas es Tor Browser.
$ sudo apt update
$ sudo apt install -y torbrowser-launcher
Ahora disponemos de una navegador basado en Firefox que podemos usar para conectar con la red Tor. Lo ejecutamos de la siguiente forma:
$ torbrowser-launcher
Documentación original: Installing Tor Browser on Kali Linux
Navegación anónima: red proxy Tor en Kali.
Navegación anónima: red proxy Tor en Kali.
Aunque la manera más fácil de navegar por internet es usar Tor-Browser, podemos instalar el servicio Tor para ir más allá.
$ sudo apt update
$ sudo apt install -y tor
Comprobamos que todo está bien instalado. Con ss hemos de comprobar que tenemos el puerto 9050 abierto:
$ systemctl status tor
$ tor --version
$ ss -lt
Personalmente, no me gusta que el servicio de tor se arranque en el inicio. Para evitar que esto ocurra:
$ sudo systemctl disable tor
Para iniciar el servicio de forma manual, y comprobar que el servicio ha arrancado correctamente:
$ sudo systemctl start tor
$ ss -lt
Para navegar, solo hemos de configurar nuestro navegador favorito para que use el puerto 9050 como SOCKS proxy V5.
OJO! A nivel de privacidad, no es lo mismo usar Tor-browser que nuestro navegador favorito con el servicio Tor.
Tor-browser es una versión modificada de Firefox y adaptada específicamente para la navegación por la red Tor, por lo que su uso es aconsejado.
Documentación original: Installing Tor Browser on Kali Linux
Activar Tor control port. Tor Nyx
Activar Tor control port. Tor Nyx
El Tor control port es interesante tenerlo activado ya que, entre otras cosas, permite recopilar información sobre el estado de la red Tor y controlar maualmente los circuitos Tor. También permite usar librerias como Stem de Python para crear scripts y automatizar tareas. Para activar el control port hacemos lo siguiente:
$ torpass=$(tor --hash-password "mypass")
$ printf "HashedControlPassword $torpass\nControlPort 9051\n" | sudo tee -a /etc/tor/torrc
$ tail -2 /etc/tor/torrc
$ sudo systemctl restart tor
Ahora, para comprobar, podemos ver que el comando ss nos devuelve un nuevo puerto, el 9051 en este caso.
$ ss -lt
Para usar este puerto, lo primero que hemos de hacer es autenticarnos con la contraseña que hemos escogido, y luego enviar el comando deseado, todo esto por Telnet o similar. Por ejemplo, podemos probar a solicitar un nuevo circuito Tor de forma manual con el comando SIGNAL NEWNYM:
$ telnet 127.0.0.1 9051
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
AUTHENTICATE "mypass"
250 OK
SIGNAL NEWNYM
250 OK
quit
250 closing connection
Connection closed by foreign host.
Pero esto es muy tedioso. Existe una herramienta propia para esto, tor-prompt que se instala con el paquete tor. Es una herramienta que de forma automática usa la librería Stem usando un intérprete Python y puede se usar de forma interactiva o pasarle argumentos. Por ejemplo, para extraer un listado de los circuitos que existen en este momento (Ojo con el tabulador de la segunda linea, y el salto de linea de la última):
$ tor-prompt --interface 9051
>>> for circuito in controller.get_circuits():
... print ("circuito %s, estado: %s" % (circuito.id, circuito.status))
...
circuito 21, estado: BUILT
circuito 18, estado: BUILT
circuito 17, estado: BUILT
circuito 16, estado: BUILT
circuito 15, estado: BUILT
circuito 14, estado: BUILT
circuito 20, estado: BUILT
circuito 19, estado: BUILT
circuito 22, estado: BUILT
circuito 23, estado: BUILT
También podemos usar la herramienta Nyx para monitorizar el tráfico de la red Tor en nuestra máquina en tiempo real.
$ sudo apt install nyx
La herramienta Nyx nos permite también comprobar los valores del archivo de configuración de Tor y usar un intérprete para el puerto de control de Tor (interface de tor-prompt), entre otras opciones.
Documentación original:
Beginner’s Guide to Tor on Ubuntu
TC: A Tor control protocol (Version 1)
Down the Rabbit Hole
Tor Nyx
Navegación anónima: kali-anonstealth
Navegación anónima: kali-anonstealth
El objetivo es que todo el tráfico generado pase por la red Tor.
$ git clone https://github.com/Und3rf10w/kali-anonsurf.git
$ cd kali-anonsurf
$ sudo bash ./installer.sh
Se ha instalado un servicio que al iniciarlo, y usando IPTables, redirigirá el tráfico de cualquier navegador por la red Tor, incluido el DNS (DNS del proveedor VPN Private Internet Access):
Para detener el servicio:$ sudo anonsurf start
$ sudo anonsurf stop
Documentación original: kali-anonstealth
Navegación anónima: red I2P
Navegación anónima: red I2P
I2P (Invisible Internet Project) es una red que añade una capa de red con encriptación que nos proporciona también privacidad.
$ sudo apt-get install apt-transport-https curl
$ sudo apt install i2p
Ahora disponemos de un servicio que nos proporcionará acceso a la red I2P:
$ i2prouter start
Disponemos del puerto 4444 en localhost como proxy para navegar por la red I2P, por lo que hemos de configurar en el navegador la dirección 127.0.0.1:4444 como proxy. Para detener el servicio:
$ i2prouter stop
Documentación original:
Setting up I2P for anonymity
Web Browser Configuration
Ocultar Kali como Windows: kali-undercover
Ocultar Kali como Windows: kali-undercover
Podemos ocultar nuestra Kali de ojos curiosos, y hacer que parezca un Windows.
$ sudo apt install kali-undercover
Para activarlo o desactivarlo:
$ kali-undercover
Documentación original: Kali Undercover
Firefox Fingerprinting tips
Firefox Fingerprinting tips
Ademas de las acciones que tomemos en relaci&ooacute;n con la IP o MAC que mostramos, hemos de prestarle atenci&ooacute;n a los datos que nuestro navegador proporciona sin que nosotros lo queramos.
En funci&ooacute;n de los datos que no nos importe compartir y la funcionalidad del navegador que queramos mantener, podemos activar/desactivar caracteristicas o instalar o no diferentes extensiones.
Podemos comprobar que información proporciona nuestro navegador consultando Cover Your Tracks o Am I Unique o Browser Leaks.
Configuración de Firefox
- Idioma para mostrar: English (US) (Menu > Options > General > Languages > Choose the languages used to display menus, messages, and notifications from Firefox)
- Idioma por defecto: English (US) (Menu > Options > General > Languages > Choose your preferred language for displaying pages)
- Buscador por defecto: DuckDuckGo (Menu > Options > Search > Default Search Engine)
- Deshabilitar telemetria (Menu > Options > Privacy & Security > Firefox Data Collection and Use)
- Bloqueo de contenido: Strict (Menu > Options > Privacy and Security > Content Blocking)
- Do not Track: always (Menu > Options > Privacy and Security > Content Blocking)
- Cookies and site data: Delete cookies and site data when Firefox is closed (Menu > Options > Privacy and Security > Content Blocking)
- Logins and Passwords: Deshabilitado "Ask to save logins and passwords for websites" (Menu > Options > Privacy and Security > Content Blocking)
Extensiones de Firefox
- Privacy Badger
- Language Switch (EN default)
- Spoof Timezone (GMT0)
- User-Agent switcher
- uBlock origin
- NoScript
Configuración avanzada de Firefox "About:Config"
- privacy.resistFingerprinting : true
- webgl.disabled : true
- media.peerconnection.enabled : false
- geo.enabled : false
- privacy.firstparty.isolate: true
- media.navigator.enabled : false
- dom.event.clipboardevents.enabled : false
- network.cookie.lifetimePolicy : 2 (0-3)
Documentación original:
Firefox Privacy
Browser Fingerprinting
New fingerprinting techniques identify users across different browsers on the same PC
Recopilación pasiva de información: Google Dorks
Recopilación pasiva de información: Google Dorks
Operadores de búsqueda de Google. Google Dorks.
- Comillas " ". Busca las palabras exactas.
- Guión -. Excluye una palabra de la búsqueda.
- OR (ó |). Busca páginas que contengan un término.
- +. Permite incluir palabras que Google por defecto no tiene en cuenta al ser muy comunes.
- *. Comodín.
- define:valor. Se muestran definiciones para el valor buscado.
- filetype:valor. Se busca tipos de ficheros según el valor proporcionado.
- site:sitio/dominio. La búsqueda se circunscribe al sitio/dominio proporcionado.
- link:url. Busca las páginas que apuntan a dicha url.
- cache:url. Se busca en la cache de Google.
- info:url. Muestra información de la url.
- related:url. Se buscan páginas similares a la url.
- allinanchor:valores. Se muestra aquellas páginas apuntadas por enlaces donde el texto contiene el valor/es.
- inanchor:valor. Se muestra aquellas páginas apuntadas por enlaces donde el texto contiene el valor/es, pudiéndose combinar con la búsqueda habitual.
- allintext:valores. La búsqueda proporciona resultados que contienen los valores en el texto de la página.
- intext:valor. La búsqueda proporciona resultados que contienen los valores en el texto de la página, pudiéndose combinar con la búsqueda habitual.
- allinurl:valores. Sólo se presentan los resultados que contienen los valores buscados en la url.
- inurl:valor. Sólo se presentan los resultados que contienen los valores buscados en la url, pudiéndose combinar con la búsqueda habitual.
- allintitle:valores. Muestra los resultados que contienen los valores en el título.
- intitle:valor. Muestra los resultados que contienen los valores en el título, pudiéndose combinar con la búsqueda habitual.
Documentación original: Complete Google Dorks List in 2020 For Ethical Hacking and Penetration Testing
Recopilación pasiva de información: filtros Shodan
Recopilación pasiva de información: filtros Shodan
Lista de filtros Shodan relevantes
- after. Solo muestra los resultados después de la fecha proporcionada (dd/mm/yyyy)
- asn. Cadena ASN (Autonomous System Number)
- before. Solo muestra los resultados antes de la fecha proporcionada (dd/mm/yyyy
- category. Categorias disponibles: ics, malwarestring
- city. Nombre de ciudad
- country. Código de país de 2 caracteres
- geo. Acepta de 2 a 4 valores. 2 valores: latitud, longitud. 3 valores: latitud, longitud, rango. 4 valores: latitud superior izquierda, longitud superior izquierda, latitud inferior derecha, longitud inferior derecha.
- hash. Hash del entero de la propiedad de la fecha.
- has_ipv6. True/False
- has_screenshot. True/False
- server. Dispositivos o sevidores con un identificador de cabecera determinado
- hostname. Host name completo
- ip. Alias para el filtro de red
- isp. ISP
- net. Rango de red en formato CIDR (ex.199.4.1.0/24)
- org. Organización
- os. Sistema operativo
- port. Puerto
- postal. Código postal (solo USA)
- product. Nombre del producto en el banner
- region. Región
- state. Estado
- version. Version
- vuln. ID del CVE para la vulnerabilidad
Documentación original: Shodan Search Filter Reference