Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RECONOCIMIENTO
MAC
https://www.kali.org/tools/macchanger/
TCP - UDP
Los protocolos TCP (Transmission Control Protocol) y UDP (User Datagram
Protocol) son dos de los protocolos de red más comunes utilizados en la
transferencia de datos a través de redes de ordenadores.
El protocolo TCP, es un protocolo orientado a la conexión que proporciona una
entrega de datos confiable, mientras que el protocolo UDP, es un protocolo no
orientado a conexión el cual no garantiza la entrega de datos.
Una parte crucial del protocolo TCP es el Three-Way Handshake, un
procedimiento utilizado para establecer una conexión entre dos dispositivos.
Este procedimiento consta de tres pasos: SYN, SYN-ACK y ACK, en los que se
sincronizan los números de secuencia y de reconocimiento de los paquetes entre
los dispositivos. El Three-Way Handshake es fundamental para establecer una
conexión confiable y segura a través de TCP.
1
• 80: HTTP (Hypertext Transfer Protocol) – el protocolo que se utiliza para
la transferencia de datos en la World Wide Web.
• 443: HTTPS (Hypertext Transfer Protocol Secure) – la versión segura de
HTTP, que utiliza encriptación SSL/TLS para proteger las comunicaciones
web.
• 110: POP3
• 139, 445: SMB
• 143: IMAP
MODELO OSI
En redes de ordenadores, el modelo OSI (Open Systems Interconnection) es
una estructura de siete capas que se utiliza para describir el proceso de
comunicación entre dispositivos. Cada capa proporciona servicios y funciones
específicas, que permiten a los dispositivos comunicarse a través de la red.
A continuación, se describen brevemente las siete capas del modelo OSI:
1. Capa física: Es la capa más baja del modelo OSI, que se encarga de la
transmisión de datos a través del medio físico de la red, como cables de
cobre o fibra óptica.
2
2. Capa de enlace de datos: Esta capa se encarga de la transferencia
confiable de datos entre dispositivos en la misma red. También
proporciona funciones para la detección y corrección de errores en los
datos transmitidos.
3. Capa de red: La capa de red se ocupa del enrutamiento de paquetes de
datos a través de múltiples redes. Esta capa utiliza direcciones lógicas,
como direcciones IP, para identificar dispositivos y rutas de red.
4. Capa de transporte: La capa de transporte se encarga de la entrega
confiable de datos entre dispositivos finales, proporcionando servicios
como el control de flujo y la corrección de errores.
5. Capa de sesión: Esta capa se encarga de establecer y mantener las
sesiones de comunicación entre dispositivos. También proporciona
servicios de gestión de sesiones, como la autenticación y la autorización.
6. Capa de presentación: La capa de presentación se encarga de la
representación de datos, proporcionando funciones como la codificación
y decodificación de datos, la compresión y el cifrado.
7. Capa de aplicación: La capa de aplicación proporciona servicios para
aplicaciones de usuario finales, como correo electrónico, navegadores
web y transferencia de archivos.
3
MÁSCARAS DE SUBRED
Subnetting es una técnica utilizada para dividir una red IP en subredes más
pequeñas y manejables. Esto se logra mediante el uso de máscaras de red, que
permiten definir qué bits de la dirección IP corresponden a la red y cuáles a
los hosts.
Para interpretar una máscara de red, se deben identificar los bits que están en
“1“. Estos bits representan la porción de la dirección IP que corresponde a la red.
Por ejemplo, una máscara de red de 255.255.255.0 indica que los primeros tres
octetos de la dirección IP corresponden a la red, mientras que el último
octeto se utiliza para identificar los hosts.
Ahora bien, cuando hablamos de CIDR (acrónimo de Classless Inter-Domain
Routing), a lo que nos referimos es a un método de asignación de direcciones
IP más eficiente y flexible que el uso de clases de redes IP fijas. Con CIDR, una
dirección IP se representa mediante una dirección IP base y una máscara de red,
que se escriben juntas separadas por una barra (/).
Por ejemplo, la dirección IP 192.168.1.1 con una máscara de red
de 255.255.255.0 se escribiría como 192.168.1.1/24.
4
La máscara de red se representa en notación de prefijo, que indica el número de
bits que están en “1” en la máscara. En este caso, la máscara de
red 255.255.255.0 tiene 24 bits en “1” (los primeros tres octetos), por lo que su
notación de prefijo es /24.
Para calcular la máscara de red a partir de una notación de prefijo, se deben
escribir los bits “1” en los primeros bits de una dirección IP de 32 bits y los bits
“0” en los bits restantes. Por ejemplo, la máscara de red /24 se calcularía
como 11111111.11111111.11111111.00000000 en binario, lo que equivale
a 255.255.255.0 en decimal.
En cuanto a clases de direcciones IP, existen tres tipos de máscaras de
red: Clase A, Clase B y Clase C.
5
IP base seguida de un número que indica la cantidad de bits que corresponden
a la red.
Con CIDR, se pueden asignar direcciones IP de forma más precisa, lo que
reduce la cantidad de direcciones IP desperdiciadas y facilita la administración
de la red.
El número que sigue a la dirección IP base en la notación CIDR se
llama prefijo o longitud de prefijo, y representa el número de bits en la
máscara de red que están en “1“.
Por ejemplo, una dirección IP con un prefijo de /24 indica que los primeros 24
bits de la dirección IP corresponden a la red, mientras que los 8 bits restantes
se utilizan para identificar los hosts.
Para calcular la cantidad de hosts disponibles en una red CIDR, se deben contar
el número de bits “0” en la máscara de red y elevar 2 a la potencia de ese
número. Esto se debe a que cada bit “0” en la máscara de red representa un bit
que se puede utilizar para identificar un host.
Por ejemplo, una máscara de red de 255.255.255.0 (/24) tiene 8 bits en “0“, lo
que significa que hay 2^8 = 256 direcciones IP disponibles para los hosts en esa
red.
6
CALCULAR SUBREDES
En esta clase, explicamos cómo calcular para la dirección IP 192.168.1.0/26, su
máscara de red, el número total de hosts a repartir, el identificador de red y la
dirección Broadcast.
A continuación, se detalla paso a paso cómo hemos ido calculando cada
apartado:
• 11111111.11111111.11111111.11000000
En este caso, se pueden utilizar los 6 bits que quedan disponibles para
representar la parte de host. En una máscara de red de 26 bits, los 6
bits restantes representan 2^6 – 2 = 62 hosts disponibles para asignar.
El número máximo de hosts disponibles se calcula como 2^(n) – 2, donde n es
la cantidad de bits utilizados para representar la parte de host en la máscara de
red.
7
Para calcular el Network ID, lo que debemos hacer es aplicar la máscara de red
a la dirección IP de la red. En este caso, la máscara de red es 255.255.255.192,
lo que significa que los primeros 26 bits de la dirección IP pertenecen a la parte
de red.
Para calcular el Network ID, convertimos tanto la dirección IP como la máscara
de red en binario y luego hacemos una operación “AND” lógica entre los dos.
La operación “AND” compara los bits correspondientes en ambas direcciones y
devuelve un resultado en el que todos los bits coincidentes son iguales a “1” y
todos los bits no coincidentes son iguales a “0“.
En este caso, la dirección IP es 192.168.1.0 en decimal y se convierte en binario
como 11000000.10101000.00000001.00000000. La máscara de red
es 255.255.255.192 en decimal y se convierte en binario
como 11111111.11111111.11111111.11000000.
Luego, aplicamos la operación “AND” entre estos dos valores binarios bit a bit.
Los bits correspondientes en ambos valores se comparan de la siguiente
manera:
8
Para calcular la Broadcast Address, debemos asignar todos los bits de la parte
del host de la dirección IP a “1“. En este caso, la dirección IP es 192.168.1.0 y
se convierte en binario como 11000000.10101000.00000001.00000000.
Para encontrar la dirección Broadcast, llenamos con unos la parte
correspondiente a los bits de host, es decir, los últimos 6 bits:
11000000.10101000.00000001.00111111 (dirección IP con bits de host
asignados a “1“)
Luego, convertimos este valor binario de regreso a decimal y obtenemos la
dirección de Broadcast: 192.168.1.63. Esta es la dirección a la que se enviarán
los paquetes para llegar a todos los hosts de la subred.
https://www.ipaddressguide.com/cidr
https://blog.jodies.de/ipcalc
NMAP
Nmap es una herramienta de escaneo de red gratuita y de código abierto que
se utiliza en pruebas de penetración (pentesting) para explorar y auditar redes y
sistemas informáticos.
Con Nmap, los profesionales de seguridad pueden identificar
los hosts conectados a una red, los servicios que se están ejecutando en ellos
y las vulnerabilidades que podrían ser explotadas por un atacante. La
herramienta es capaz de detectar una amplia gama de dispositivos, incluyendo
enrutadores, servidores web, impresoras, cámaras IP, sistemas operativos y
otros dispositivos conectados a una red.
Asimismo, esta herramienta posee una variedad de funciones y características
avanzadas que permiten a los profesionales de seguridad adaptar la misma a
sus necesidades específicas. Estas incluyen técnicas de escaneo agresivas,
capacidades de scripting personalizadas, y un conjunto de herramientas
auxiliares que pueden ser utilizadas para obtener información adicional sobre los
hosts objetivo.
65535 puertos
Hay
nmap para ver los puertos abiertos.
ip route
9
nmap -p 1-100 ( del 1 al 100)
-p- ( todos los rangos)
Poner nmap + IP solo --> No es muy conveniente.
Un puerto puede estar abierto --> ofrece servicio.
Puede estar cerrado o filtrado.
--top-ports 500 --> Lista los 500 puertos más comunes.
--open --> Para filtrar puertos abiertos.
nmap -p --open IP
-v --> Para ir viendo el proceso del nmap
man nmap --> Ver el manual de nmap
/-n --> No aplica DNS.
- T --> Temporizado. A número más alto/más rápido va. Savitar dice que suele
usar el -T5.
nmap -p- -T5 -sT --open IP -v -n
-sT --> Lanza un SYN de forma que cuando llegue la respuesta. Si contesta RST,
está cerrado, si no, responde SYN a secas. Para posteriormente, lanzar un ACK
( established).
tcpdump -i ens33 -w (escribir) Captura.cap -v ( ver el número de paquetes).
wireshark Captura.cap &>/dev/null & disown ( a parte, en segundo plano y no se
cierre la consola).
tcp.port == 22 en wireshar y vemos los paquetes. El SYN es nuestro, nos
responde con un SYN de nuevo y luego ACK.
iwconfig--> Especificamos en33 la de DHCP
-Pn --> Para que des por hecho que el host atacado está abierto.
Por UDP:
nmap -p- -T5 --open -sU IP -Pn -v -n
arp-scan -I ens33 --localnet
arp-scan es una herramienta de línea de comandos utilizada para realizar un
escaneo de la tabla ARP en una red local. ARP (Address Resolution Protocol)
es un protocolo utilizado para mapear direcciones IP a direcciones MAC en una
red Ethernet. arp-scan aprovecha este protocolo para descubrir y enumerar las
direcciones IP y MAC de los dispositivos presentes en una red local.
10
** La opción -sn en Nmap (Network Mapper) se utiliza para realizar un escaneo
de tipo "Ping Scan" o "Ping Sweep". En lugar de realizar un escaneo de puertos,
como lo hace Nmap de forma predeterminada, un escaneo de ping busca
determinar qué hosts están activos en la red identificando aquellos que
responden a las solicitudes de ping (ICMP Echo Request).
Cuando utilizas la opción -sn con Nmap, el programa enviará solicitudes de ping
a un rango de direcciones IP para verificar si los hosts están activos y responden.
La opción -sn en Nmap (Network Mapper) se utiliza para realizar un escaneo de
tipo "Ping Scan" o "Ping Sweep". En lugar de realizar un escaneo de puertos,
como lo hace Nmap de forma predeterminada, un escaneo de ping busca
determinar qué hosts están activos en la red identificando aquellos que
responden a las solicitudes de ping (ICMP Echo Request).
Cuando utilizas la opción -sn con Nmap, el programa enviará solicitudes de ping
a un rango de direcciones IP para verificar si los hosts están activos y responden.
La opción -sn en Nmap (Network Mapper) se utiliza para realizar un escaneo de
tipo "Ping Scan" o "Ping Sweep". En lugar de realizar un escaneo de puertos,
como lo hace Nmap de forma predeterminada, un escaneo de ping busca
determinar qué hosts están activos en la red identificando aquellos que
responden a las solicitudes de ping (ICMP Echo Request).
Cuando utilizas la opción -sn con Nmap, el programa enviará solicitudes de ping
a un rango de direcciones IP para verificar si los hosts están activos y responden.
Con -O mayúscula detecta el sistema operativo. Es muy agresivo y hace muchas
peticiones y no es muy adecuado.
Con respecto a puertos:
nmap -p22,80 -sV ( versión y servicio - fingerprinting) IP
11
• MTU (–mtu): La técnica de evasión de MTU o “Maximum Transmission
Unit” implica ajustar el tamaño de los paquetes que se envían para evitar
la detección por parte del Firewall. Nmap permite configurar manualmente
el tamaño máximo de los paquetes para garantizar que sean lo
suficientemente pequeños para pasar por el Firewall sin ser detectados.
• Data Length (–data-length): Esta técnica se basa en ajustar la longitud
de los datos enviados para que sean lo suficientemente cortos como
para pasar por el Firewall sin ser detectados. Nmap permite a los usuarios
configurar manualmente la longitud de los datos enviados para que sean
lo suficientemente pequeños para evadir la detección del Firewall.
• Source Port (–source-port): Esta técnica consiste en configurar
manualmente el número de puerto de origen de los paquetes enviados
para evitar la detección por parte del Firewall. Nmap permite a los usuarios
especificar manualmente un puerto de origen aleatorio o un puerto
específico para evadir la detección del Firewall.
• Decoy (-D): Esta técnica de evasión en Nmap permite al usuario
enviar paquetes falsos a la red para confundir a los sistemas de
detección de intrusos y evitar la detección del Firewall. El comando -
D permite al usuario enviar paquetes falsos junto con los paquetes reales
de escaneo para ocultar su actividad.
• Fragmented (-f): Esta técnica se basa en fragmentar los
paquetes enviados para que el Firewall no pueda reconocer el tráfico
como un escaneo. La opción -f en Nmap permite fragmentar los paquetes
y enviarlos por separado para evitar la detección del Firewall.
• Spoof-Mac (–spoof-mac): Esta técnica de evasión se basa en cambiar
la dirección MAC del paquete para evitar la detección del Firewall. Nmap
permite al usuario configurar manualmente la dirección MAC para evitar
ser detectado por el Firewall.
• Stealth Scan (-sS): Esta técnica es una de las más utilizadas para realizar
escaneos sigilosos y evitar la detección del Firewall. El comando -
sS permite a los usuarios realizar un escaneo de tipo SYN sin establecer
una conexión completa, lo que permite evitar la detección del Firewall.
• min-rate (–min-rate): Esta técnica permite al usuario controlar la
velocidad de los paquetes enviados para evitar la detección del Firewall.
12
El comando –min-rate permite al usuario reducir la velocidad de los
paquetes enviados para evitar ser detectado por el Firewall.
Ejemplo de búsqueda:
nmap -p- --open -sS --min-rate 5000 ( mínimo paquete a tramitar) -v -n -Pn
IP
13
RESUMEN:
-- mtu --> Ajusta los tamaños de los paquetes para hacerlos más pequeños y que
no los detecten.
- data-lenght --> Longitud de datos, la establecemos nosotros.
-source-port --> Puerto de origen.
-D --> Envía paquetes falsos desde otras IP que pongamos nmap IP -D Ip
-f --> Fragmenta paquetes.
-spoof-mac --> Más Dell por ejemplo y falsea la mac.
-sS --> Escaneo sigiloso en el que devuelve RST cuando el puerto está abierto.
-min-rate --> Ponemos la velocidad de los paquetes. Poner 5000 da buen
resultado.
SCRIPTS EN NMAP
-sC es para los scripts.
-sV para la versión
locate .nse | wc -l ( contamos las líneas)
Hay unos 660 scripts.
Con -sC te lanza un conjunto, los más populares.
-sCV --> Se pueden compactar.
Lo más famoso ftp-anon.nse y http-robots.txt.nse
El ftp tiene el modo anonimous y puedes entrar por ahí si está configurado el
modo anonimous. El robots valida la ruta robots.txt, pueden haber entradas de
ruta.
A los scripts se les puede echar un ojo con cat y la ruta del script.
--script --> Le decimos uno concreto.
Cada script tiene un conjunto de categorías.
Con locate .nse los vemos.
locate.nse | xargs grep "categories" A cada línea se le hace un grep.
Entre llaves veremos las categorías.
Existen diferentes categorías de scripts disponibles en Nmap, cada una diseñada
para realizar una tarea específica. Algunas de las categorías más comunes
incluyen:
14
• default: Esta es la categoría predeterminada en Nmap, que incluye una
gran cantidad de scripts de reconocimiento básicos y útiles para la
mayoría de los escaneos.
• discovery: Esta categoría se enfoca en descubrir información sobre la
red, como la detección de hosts y dispositivos activos, y la resolución de
nombres de dominio.
• safe: Esta categoría incluye scripts que son considerados seguros y que
no realizan actividades invasivas que puedan desencadenar una alerta de
seguridad en la red.
• intrusive: Esta categoría incluye scripts más invasivos que pueden ser
detectados fácilmente por un sistema de detección de intrusos o un
Firewall, pero que pueden proporcionar información valiosa sobre
vulnerabilidades y debilidades en la red.
• vuln: Esta categoría se enfoca específicamente en la detección de
vulnerabilidades y debilidades en los sistemas y servicios que se están
ejecutando en la red.
15
Podemos ver el tráfico con wireshark capturando con tcpdum -i XXX -w
Captura.cap -v
Lo abrimos con wireshark -r Captura.cap &>/dev/null & disown
O desde consola con tshark -r Captura.cap 2>/dev/null
Para ver los datos podemos hacer :
16
• dependencies: Este campo se utiliza para especificar cualquier
dependencia de biblioteca o software que requiera el script para funcionar
correctamente.
• actions: Este campo se utiliza para definir la funcionalidad específica del
script, como la realización de un escaneo de puertos, la detección de
vulnerabilidades, etc.
DESCRIPTORES DE ARCHIVOS
La enumeración de puertos es una tarea crucial en las pruebas de penetración y
seguridad de redes. Tal y como hemos visto, Nmap es una herramienta de línea
de comandos ampliamente utilizada para esta tarea, pero existen alternativas
para realizar la enumeración de puertos de manera efectiva sin utilizar
herramientas externas.
Una alternativa a la enumeración de puertos utilizando herramientas externas es
aprovechar el poder de los descriptores de archivo en sistemas Unix. Los
descriptores de archivo son una forma de acceder y manipular archivos y
dispositivos en sistemas Unix. En particular, la utilización de /dev/tcp permite la
conexión a un host y puerto específicos como si se tratara de un archivo en el
sistema.
Para realizar la enumeración de puertos utilizando /dev/tcp en Bash, es posible
crear un script que realice una conexión a cada puerto de interés y compruebe
si el puerto está abierto o cerrado en función de si se puede enviar o recibir datos.
Una forma de hacer esto es mediante el uso de comandos como “echo” o “cat“,
aplicando redireccionamientos al /dev/tcp. El código de estado devuelto por el
comando se puede utilizar para determinar si el puerto está abierto o cerrado.
17
Aunque esta alternativa puede ser menos precisa y más lenta que el uso de
herramientas especializadas como Nmap, es una opción interesante y viable
para aquellos que buscan una solución rápida y sencilla para la enumeración de
puertos en sistemas Unix. Además, este enfoque puede proporcionar una mejor
comprensión de cómo funcionan los descriptores de archivo en los sistemas Unix
y cómo se pueden utilizar para realizar tareas de red.
Creamos un nuevo script llamado portScan.sh
Le damos permisos con chmod +x portScan.sh
18
DESCUBRIMIENTO DE EQUIPOS EN LA RED LOCAL
(ARP e ICMP)
Con home -I
Con ifconfig y vemos nuestra IP y la máscara de red.
Tenemos herramientas:
nmap -sn IP/máscara de subred
Nmap te reporta los equipos que están en la red.
Otras herramientas por ARP:
arp-scan --> arp-scan -I (interfaz de red) --localnet ( en la red local).
Pueden haber duplicados. Para evitar los duplicados:
--ignoredups
netdiscover -i (interfaz). Pero es muy lenta.
En auditorias es muy común que las máscaras puedan variar por segmentación
de red. Se pueden encontrar equipos en otras IPs porque el cliente se confunde
entre subneting y segmentación.
Mejor investigar el resto de subredes, ampliando el subneting. Aunque
pensemos que es clase C, podemos probar como si fuera clase B.
(ping -c 1 IP) &>/dev/null
Ejemplo:
bashCopy code
comando 2>/dev/null
19
2. &>/dev/null: Esta notación redirige tanto la salida estándar (stdout) como
la salida de error (stderr) a /dev/null. Significa que tanto los resultados
normales como los mensajes de error se descartan.
Ejemplo:
bashCopy code
comando &>/dev/null
Otra opción:
RESUMEN:
arp-scan -I enS0e3 --localnet --ignoredups
msscan -p- -v -Pn IP/MS --rate=1000 o 10000 o 5000 ( a variar).
20
CASO PRÁCTICO
https://www.hackerone.com/
Antes de iniciar una auditoría en esta plataforma, es fundamental fijar un objetivo
claro, además de definir el alcance de la auditoría. Esto se logra a través del
concepto de “Scope“, que establece los límites de la auditoría, así como los
sistemas y aplicaciones que pueden ser auditados.
DUna de las principales maneras de vulnerar es a través del correo electrónico.
A continuación, las webs utilizadas:
• Hunter: https://hunter.io/
• Intelligence X: https://intelx.io/ --> Es un buscador de correos, dominios,
información... Se pueden encontrar credenciales por brechas, correos.
• Phonebook.cz: https://phonebook.cz/ --> Aquí vemos correos para hacer
phishing e ingeniería social.
• Clearbit Connect: Chrome Extension
• https://email-checker.net/ --> Validar correos electrónico
Como atacante, lo bueno es obsesionarse con las víctimas. Para poder sacar
toda la información posible. Para ver en qué páginas está, en que redes sociales
está.
RECONOCIMIENTO DE IMÁGENES
21
aparecen en una foto en particular, lo que puede ser útil en la investigación de
casos de acoso o en la búsqueda de personas desaparecidas.
https://pimeyes.com/en
DNS
phonebook.cz
Salen dominios, subdominios... incluso información privilegiada no restringida.
También te da emails, URLS y dominios.
Utilizamos dos herramientas:
Una pasiva --> ctrf que detecta dominios y subdominios y se ejecuta con -->
python3 ctrf -d XXX.com
Activa --> Gobuster --> Descargando una lista que almacenamos en
/usr/share/seclist.
Usamos el siguiente comando:
gobuster vhost -u https://tinder.com -w
/usr/share/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -t 20
Nos da casi todo 403, por tanto, grep -v "403" --> URL prohibida
Podemos usar diccionarios mayores como el de 110000.txt
wfuzz es otra herramienta.
Salen muchos 403 de nuevo -->
wfuzz -c --hc=403 -t 20 -w /usr/share/SecLists/Discovery/DNS/subdomains-
top1million-5000.txt -H "Host: FUZZ.tinder.com" https://tinder.com
Si ponemos --sc nos busca por código.
Usamos otro que es el sublist3r pero no encuentra nada y lo veo flojo.
Se usan todas las herramientas, se copia en un archivo y se ordenan con sort -
u para tener cadenas únicas.
BRECHAS DE SEGURIDAD
https://www.dehashed.com/
Esta página nos dice brechas que pueden tener un dominio en una auditoria.
Pero es de pago.
22
En el curso podemos ver cómo funciona la web. Se ven correos con los usuarios
y contraseña hasheada. Pero a veces está almacenada en texto claro. En
algunas si que salen. Si alguna está hasheada con 32, podemos usarla como
md5 y revertirla.
Se puede ver en LINKEDIN el perfil de la compañía donde salen los empleados.
Y a partir de ahí, podemos ir mirando correos, dominios, subdominios y utilizar
ingeniería social.
23
A continuación, os proporcionamos los enlaces correspondientes a las
herramientas vistas en esta clase:
• Whatweb: https://github.com/urbanadventurer/WhatWeb
• Wappalyzer: https://addons.mozilla.org/es/firefox/addon/wappalyzer/
• Builtwith: https://builtwith.com/
FUZZING
Vamos a miwifi.com. Como se podrían ver rutas:
https://miwifi.com/ --> Van cambiando dependiendo de donde cliquemos.
Tenemos que encontrar directorios:
GOBUSTER:
gobuster dir -u https://miwifi.com/ -w /usr/share/SecLists/Discovery/Web-
Content/directory-list-2.3-medium.txt -t 200
Para quitar el 403 y 404 --> gobuster dir -u https://miwifi.com/ -w
/usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t
200 --add-slash -b 403,404
Para ver extensiones --> gobuster dir -u https://miwifi.com/ -w
/usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t
200 --add-slash -b 403,404 -x php,html,txt
24
Otra manera --> gobuster dir -u https://miwifi.com/ -w
/usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t
50 -b 403,404 -x php,html,txt --> Donde vemos más cosas.
Para ver los códigos exitosos ( por ejemplo el 200) --> gobuster dir -u
https://miwifi.com/ -w /usr/share/SecLists/Discovery/Web-
Content/directory-list-2.3-medium.txt -t 50 -x html -s 200 -b '' --> Hay que
meterle al final una black list con una cadena vacia.
Otra herramienta es wfuzz:
wfuzz -c -t 200 -w /usr/share/SecLists/Discovery/Web-Content/directory-
list-2.3-medium.txt https://miwifi.com/FUZZ
Donde siempre hay que poner FUZZ donde queremos que se meta el payload.
En este caso, al final de la URL.
Para quitar el código de estado 404--> wfuzz -c --hc=404, 403 -t 200 -w
/usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
https://miwifi.com/FUZZ
Otra manera --> wfuzz -c -L --hc=404,403 -t 200 -w
/usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
https://miwifi.com/FUZZ/ --> Pero hay que meterla la barra al final. El L es el
follow del redirect.
** El codigo 301 es URL movida por el cliente.
Para ver líneas de contenido--> wfuzz -c --sl=216 --hc=404,403 -t 200 -w
/usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
https://miwifi.com/FUZZ/
Para esconderlas --> --hl
--sh == Para caracteres.
--hh --> Para quitar caracteres.
Este tipo de payload, es de diccionario. Se puede poner también como -z file
/usr/share....
Hay otros tipos de payloads.
wfuzz -c --hc=404,403 -t 200 -w /usr/share/SecLists/Discovery/Web-
Content/directory-list-2.3-medium.txt https://miwifi.com/FUZZ.htmt --> Se le
concatena el html y deben aparecer los que existen.
Se pueden buscar con otras extensiones.
25
Hay un payload de tipo lista -z list,html-txt-php --> wfuzz -c --hc=404,403 -t 200
-w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-
medium.txt -z list,html-txt-php https://www.miwifi.com/FUZZ.FUZ2Z
./ffuf -c -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-
medium.txt -u https://miwifi.com/FUZZ/ --mc=200
BURPSUITE:
Burpsuite &>/dev/null & disown --> Para abrirlo en segundo plano.
26
Es un intermediario, hacemos petición de origen al destino de web, burpsuite se
mete en medio y hace que las consultas pasen por burpsuite con un proxy. Se
pueden ver cómo se ven las solicitudes, se puede registrar.
google.es
tinder.com --> Aislado el dominio, salen cosas que no tienen nada que ver pero
que dan alusión al dominio principal.
site:tinder.com --> Fuerzas a que salga el dominio tinder.com
site:tinder.com filetype:txt --> Con la extensión txt.
Se pueden buscar pdf, word, excel..
intext:tinder.com --> En el texto de la entrada debe salir tinder.com
intext:tinder.com filetype:pdf
Me podría bajarme los archivos pdf con wget y con la herramienta exiftool ver si
hay metadatos. Y vemos la información del documento.
Hay una página que es pentest-tools que recoge 18 google dorks. En google
hacking pones target y puedes seleccionar uno de los 18 google dorks. Es legal
todo.
wpcontect en wordpress se pueden ver los recursos y puedes enumerar.
Otra web para sploits --> https://www.exploit-db.com/
En worpress --> inurl:wp-config.php.txt --> Se puede enumerar y almacena datos
claros de registro. Puede haber backups por ejemplo.
27
IDENTIFICACIÓN Y VERIFICACIÓN EXTERNA DE
LA VERSIÓN DEL SISTEMA OPERATIVO
En nmap -O veíamos el sistema operativo pero es muy agresivo.
Para verlo de forma más rápida como--> arp-scan -I xxx --localnet --ignoredups
Si le lanzamos un ping -c 1 xxx.xxx.xxx. y a otra IP y vemos que el TTL ( Tiempo
de vida), son diferentes para cada SO. Puedes determinar el SO con este valor.
Las Windows suelen tener 128 de TTL y las máquinas Linux rondan los 64 o
255.
wichSystem.py | xargs bat --> Lo vemos más cuco y es un Script que hizo el. Lo
descargamos y lo metemos en la ruta /usr/bin/whichSystem.py , pero debe estar
en el PATH. Debe tener permisos de ejecución.
28