Hacking ético: huellas digitales
El término huella digital del sistema operativo en Ethical Hacking se refiere a cualquier método utilizado para determinar qué sistema operativo se está ejecutando en una computadora remota. Esto podría ser ...
Active Fingerprinting- La toma de huellas digitales activa se logra enviando paquetes especialmente diseñados a una máquina de destino y luego anotando su respuesta y analizando la información recopilada para determinar el sistema operativo de destino. En la siguiente sección, hemos dado un ejemplo para explicar cómo puede usar la herramienta NMAP para detectar el sistema operativo de un dominio de destino.
Passive Fingerprinting- La toma de huellas digitales pasiva se basa en los rastros del rastreador del sistema remoto. Según los rastreos del rastreador (como Wireshark) de los paquetes, puede determinar el sistema operativo del host remoto.
Tenemos los siguientes cuatro elementos importantes que veremos para determinar el sistema operativo:
TTL - Lo que establece el sistema operativo Time-To-Live en el paquete saliente.
Window Size - En qué establece el sistema operativo el Tamaño de ventana.
DF - ¿El sistema operativo establece el Don't Fragment poco.
TOS - ¿El sistema operativo establece el Type of Service, y si es así, en qué.
Al analizar estos factores de un paquete, es posible que pueda determinar el sistema operativo remoto. Este sistema no es 100% preciso y funciona mejor para algunos sistemas operativos que para otros.
Pasos básicos
Antes de atacar un sistema, es necesario que sepa qué sistema operativo aloja un sitio web. Una vez que se conoce un sistema operativo objetivo, es fácil determinar qué vulnerabilidades pueden estar presentes para explotar el sistema objetivo.
A continuación se muestra un simple nmap comando que se puede utilizar para identificar el sistema operativo que sirve a un sitio web y todos los puertos abiertos asociados con el nombre de dominio, es decir, la dirección IP.
$nmap -O -v tutorialspoint.com
Le mostrará la siguiente información confidencial sobre el nombre de dominio o la dirección IP dados:
Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 09:57 CDT
Initiating Parallel DNS resolution of 1 host. at 09:57
Completed Parallel DNS resolution of 1 host. at 09:57, 0.00s elapsed
Initiating SYN Stealth Scan at 09:57
Scanning tutorialspoint.com (66.135.33.172) [1000 ports]
Discovered open port 22/tcp on 66.135.33.172
Discovered open port 3306/tcp on 66.135.33.172
Discovered open port 80/tcp on 66.135.33.172
Discovered open port 443/tcp on 66.135.33.172
Completed SYN Stealth Scan at 09:57, 0.04s elapsed (1000 total ports)
Initiating OS detection (try #1) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #2) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #3) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #4) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #5) against tutorialspoint.com (66.135.33.172)
Nmap scan report for tutorialspoint.com (66.135.33.172)
Host is up (0.000038s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
TCP/IP fingerprint:
OS:SCAN(V=5.51%D=10/4%OT=22%CT=1%CU=40379%PV=N%DS=0%DC=L%G=Y%TM=56113E6D%P=
OS:x86_64-redhat-linux-gnu)SEQ(SP=106%GCD=1%ISR=109%TI=Z%CI=Z%II=I%TS=A)OPS
OS:(O1=MFFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFF
OS:D7ST11NW7%O6=MFFD7ST11)WIN(W1=FFCB%W2=FFCB%W3=FFCB%W4=FFCB%W5=FFCB%W6=FF
OS:CB)ECN(R=Y%DF=Y%T=40%W=FFD7%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A
OS:=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%
OS:Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=
OS:A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=
OS:Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%
OS:T=40%CD=S)
Si tu no tienes nmap comando instalado en su sistema Linux, entonces puede instalarlo usando lo siguiente yum comando -
$yum install nmap
Puedes pasar nmap comando en detalle para verificar y comprender las diferentes características asociadas con un sistema y protegerlo contra ataques maliciosos.
Arreglo rapido
Puede ocultar su sistema principal detrás de un servidor proxy seguro o una VPN para que su identidad completa esté segura y, en última instancia, su sistema principal permanezca seguro.
Escaneo de puertos
Acabamos de ver información proporcionada por nmapmando. Este comando enumera todos los puertos abiertos en un servidor determinado.
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
También puede verificar si un puerto en particular está abierto o no usando el siguiente comando:
$nmap -sT -p 443 tutorialspoint.com
Producirá el siguiente resultado:
Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 10:19 CDT
Nmap scan report for tutorialspoint.com (66.135.33.172)
Host is up (0.000067s latency).
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
Una vez que un pirata informático conoce los puertos abiertos, puede planificar diferentes técnicas de ataque a través de los puertos abiertos.
Arreglo rapido
Siempre se recomienda verificar y cerrar todos los puertos no deseados para proteger el sistema de ataques maliciosos.
Barrido de ping
Un barrido de ping es una técnica de escaneo de red que puede utilizar para determinar qué dirección IP de un rango de direcciones IP se asigna a hosts activos. Ping Sweep también se conoce comoICMP sweep.
Puedes usar fpingcomando para el barrido de ping. Este comando es un programa similar a un ping que utiliza la solicitud de eco del Protocolo de mensajes de control de Internet (ICMP) para determinar si un host está activo.
fping es diferente de pingya que puede especificar cualquier número de hosts en la línea de comando, o especificar un archivo que contenga las listas de hosts para hacer ping. Si un host no responde dentro de un cierto límite de tiempo y / o límite de reintentos, se considerará inalcanzable.
Arreglo rapido
Para deshabilitar los barridos de ping en una red, puede bloquear las solicitudes ICMP ECHO de fuentes externas. Esto se puede hacer usando el siguiente comando que creará una regla de firewall eniptable.
$iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
Enumeración DNS
El servidor de nombres de dominio (DNS) es como un mapa o una libreta de direcciones. De hecho, es como una base de datos distribuida que se utiliza para traducir una dirección IP 192.111.1.120 a un nombre www.example.com y viceversa.
La enumeración de DNS es el proceso de localizar todos los servidores DNS y sus registros correspondientes para una organización. La idea es recopilar tantos detalles interesantes como sea posible sobre su objetivo antes de iniciar un ataque.
Puedes usar nslookupcomando disponible en Linux para obtener información relacionada con el host y el DNS. Además, puede utilizar lo siguienteDNSenum script para obtener información detallada sobre un dominio -
DNSenum El script puede realizar las siguientes operaciones importantes:
Obtenga las direcciones del anfitrión
Obtener los servidores de nombres
Obtén el registro MX
Realizar axfr consultas sobre servidores de nombres
Obtenga nombres y subdominios adicionales a través de Google scraping
Los subdominios de fuerza bruta del archivo también pueden realizar recursividad en subdominios que tienen registros NS
Calcule los rangos de red de dominio de clase C y realice whois consultas sobre ellos
Realizar reverse lookups en netranges
Arreglo rapido
La enumeración de DNS no tiene una solución rápida y realmente está más allá del alcance de este tutorial. Evitar la enumeración de DNS es un gran desafío.
Si su DNS no está configurado de forma segura, es posible que mucha información confidencial sobre la red y la organización pueda salir al exterior y un usuario de Internet que no sea de confianza pueda realizar una transferencia de zona DNS.