Reconocimiento Hacking Ético

reconocimiento hacking

Cuarta Lección: Habilidades y Procesos Necesarios para Hacking Ético

Reconocimiento

La recopilación de información y el conocimiento de los sistemas de destino es el primer proceso en la piratería informática. El reconocimiento es un conjunto de procesos y técnicas (Footprinting, Scanning & Enumeration) que se utilizan para descubrir y recopilar información sobre un sistema de destino.

Durante el reconocimiento, un hacker ético intenta recopilar tanta información sobre un sistema objetivo como sea posible, siguiendo los siete pasos que se enumeran a continuación:

  1. Recopilar información inicial
  2. Determinar el alcance de la red
  3. Identificar máquinas activas
  4. Descubra puertos abiertos y puntos de acceso
  5. Huella digital del sistema operativo
  6. Descubrir servicios en puertos
  7. Mapear la red

Discutiremos en detalle todos estos pasos en los siguientes capítulos de este curso. El reconocimiento tiene lugar en dos partes: Reconocimiento activo y Reconocimiento pasivo.

Reconocimiento Activo

En este proceso, usted interactuará directamente con el sistema informático para obtener información. Esta información puede ser relevante y precisa. Pero existe el riesgo de ser detectado si usted está planeando un reconocimiento activo sin permiso. Si usted es detectado, entonces el administrador del sistema puede tomar medidas severas contra usted y rastrear sus actividades subsecuentes.

Reconocimiento pasivo

En este proceso, no estará conectado directamente a un sistema informático. Este proceso se utiliza para recopilar información esencial sin interactuar nunca con los sistemas de destino.

Footprinting

El Footprinting (huellas de pizada) es una parte del proceso de reconocimiento que se utiliza para recopilar toda la información posible sobre un sistema informático o red de destino. Footprinting podría ser tanto pasivo como activo. Revisar el sitio web de una empresa es un ejemplo de Footprinting pasivo, mientras que intentar acceder a información sensible a través de la ingeniería social es un ejemplo de recopilación activa de información.

Footprinting es básicamente el primer paso donde el hacker recoge tanta información como sea posible para encontrar formas de intrusión en un sistema objetivo o al menos decidir qué tipo de ataques serán más adecuados para el objetivo.

Durante esta fase, un hacker puede recopilar la siguiente información:

  • Nombre de dominio
  • Direcciones IP
  • Espacios de nombres
  • Información del empleado
  • Números de teléfono
  • Correos electrónicos
  • Información de trabajo

En la siguiente sección, discutiremos cómo extraer la información básica y de fácil acceso sobre cualquier sistema informático o red que esté conectada a Internet.

Información de nombre de dominio

Puede utilizar el sitio web http://www.whois.com/whois para obtener información detallada sobre un nombre de dominio, incluyendo su propietario, su registrador, fecha de registro, caducidad, servidor de nombres, información de contacto del propietario, etc.

reconocimiento hacking

Aquí hay un registro de muestra de www.cronicasethicalhacking.com extraído de WHOIS:

whois cronicasethicalhacking

Solucion rápida

Siempre se recomienda mantener el perfil de su nombre de dominio en un perfil privado que debe ocultar la información antes mencionada de posibles hackers.

Búsqueda de dirección IP

Puede usar el comando ping en su línea de comandos. Este comando está disponible tanto en Windows como en Linux OS. A continuación, se muestra el ejemplo para averiguar la dirección IP de cronicasethicalhacking. com

$ping cronicasethicalhacking.com

Producirá el siguiente resultado:

PING cronicasethicalhacking.com (66.135.33.172) 56(84) bytes of data.
64 bytes from 66.135.33.172: icmp_seq = 1 ttl = 64 time = 0.028 ms
64 bytes from 66.135.33.172: icmp_seq = 2 ttl = 64 time = 0.021 ms
64 bytes from 66.135.33.172: icmp_seq = 3 ttl = 64 time = 0.021 ms
64 bytes from 66.135.33.172: icmp_seq = 4 ttl = 64 time = 0.021 ms

Búsqueda de empresa de hosting

Una vez que tenga la dirección del sitio web, puede obtener más detalles utilizando el sitio web ip2location.com. El siguiente es el ejemplo para averiguar los detalles de una dirección IP:

Buscando empresa de hosting

Aquí la tabla ISP le da los detalles sobre la empresa de hosting porque las direcciones IP son proporcionadas por las empresas de hosting solamente.

Reparación rápida

Si un sistema informático o red está conectado directamente con Internet, no se puede ocultar la dirección IP y la información relacionada, como la empresa de hosting, su ubicación, ISP, etc. Si usted tiene un servidor que contiene datos muy confidenciales, entonces se recomienda mantenerlo detrás de un proxy seguro para que los hackers no puedan obtener los detalles exactos de su servidor real. De esta manera, será difícil para cualquier posible hacker llegar directamente a su servidor.

Otra manera efectiva de ocultar su sistema IP y en última instancia toda la información asociada es a través de una Red Privada Virtual (VPN). Si configura una VPN, entonces todo el tráfico pasa a través de la red VPN, por lo que su verdadera dirección IP asignada por su ISP estará siempre oculta.

Rangos de direcciones IP

Los sitios pequeños pueden tener una única dirección IP asociada a ellos, pero los sitios web más grandes suelen tener múltiples direcciones IP que sirven a diferentes dominios y subdominios.

Puede obtener un rango de direcciones IP asignadas a una empresa en particular utilizando el American Registry for Internet Numbers (ARIN).

arin para ethical hacking

Puede introducir el nombre de la empresa en el cuadro de búsqueda para obtener una lista de todas las direcciones IP asignadas a dicha empresa.

Historia del Sitio Web

Es muy fácil obtener una historia completa de cualquier sitio web utilizando www.archive.org.

conoce el historial de una web

Puede introducir un nombre de dominio en el cuadro de búsqueda para averiguar cómo estaba el sitio web en un momento determinado y cuáles eran las páginas disponibles en el sitio web en diferentes fechas.

registro archive para ver paginas

Solución rápida

Aunque hay algunas ventajas de mantener su sitio web en una base de datos de archivo, pero si no le gusta que nadie vea cómo progresó su sitio web a través de diferentes etapas, entonces usted puede realizar la solucitud a archive.org para eliminar el historial de su sitio web.

Fingerprinting

El término de fingerprinting en la ética hacking se refiere a cualquier método utilizado para determinar qué sistema operativo se ejecuta en un equipo remoto. Esto podría ser de la siguiente forma:

  • Fingerprinting activo: la toma de fingerprinting activa se realiza enviando paquetes especialmente diseñados a una máquina objetivo y anotando su respuesta y analizando la información recopilada para determinar el sistema operativo del objetivo. En la siguiente sección, hemos dado un ejemplo para explicar cómo se puede utilizar la herramienta NMAP para detectar el sistema operativo de un dominio de destino.

Fingerprinting pasivos: Se basa en seguir rastros del sistema remoto. Basado en los rastros (como Wireshark) de los paquetes, para determinar el sistema operativo del host remoto.

Tenemos los siguientes cuatro elementos importantes que analizaremos para determinar el sistema operativo:

TTL: Lo que el sistema operativo configura el Time To Live en el paquete de salida.

Tamaño de ventana: Lo que el sistema operativo configura como Tamaño de ventana.

DF: El sistema operativo fija el bit Don’ t Fragment.

TOS: El sistema operativo configura el Tipo de Servicio, 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, se requiere que usted sepa qué sistema operativo está alojando un sitio web. Una vez que se conoce un sistema operativo de destino, resulta fácil determinar qué vulnerabilidades podrían estar presentes para explotar el sistema de destino.

A continuación, se muestra un comando nmap simple que puede utilizarse 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 cronicasethicalhacking.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 cronicasethicalhacking.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 cronicasethicalhacking.com (66.135.33.172)
Retrying OS detection (try #2) against cronicasethicalhacking.com (66.135.33.172)
Retrying OS detection (try #3) against cronicasethicalhacking.com (66.135.33.172)
Retrying OS detection (try #4) against cronicasethicalhacking.com (66.135.33.172)
Retrying OS detection (try #5) against cronicasethicalhacking.com (66.135.33.172)
Nmap scan report for cronicasethicalhacking.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 no tiene el comando nmap instalado en su sistema Linux, entonces puede instalarlo usando el siguiente comando yum:

$yum install nmap

Puede pasar por el comando nmap para comprobar y comprender las diferentes funciones asociadas a un sistema y protegerlo contra ataques maliciosos.

Solución rápida

Puede ocultar su sistema principal detrás de un servidor proxy seguro o una VPN para que su identidad y hacerla segura, en última instancia, su sistema principal permanecera seguro.

Escaneo de puertos

Acabamos de ver la información dada por el comando nmap. Este comando enumera todos los puertos abiertos de 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 comprobar si un puerto en particular está abierto o no usando el siguiente comando:

$nmap -sT -p 443 cronicasethicalhacking.com

Producirá el siguiente resultado:

Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 10:19 CDT
Nmap scan report for cronicasethicalhacking.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 hacker conoce los puertos abiertos, entonces puede planificar diferentes técnicas de ataque a través de los puertos abiertos.

Solución rápida

Se recomienda siempre comprobar y cerrar todos los puertos no deseados para proteger el sistema de ataques maliciosos.

Barrido de Ping

Un barrido ping (ping sweep ) 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. El barrido de ping es también conocido como barrido ICMP.

Puede usar el comando fping para realizarlo. Este comando es un programa similar a un ping que utiliza la petición de echo del Protocolo de Mensaje de Control de Internet (ICMP) para determinar si un host está activo.

fping es diferente de ping por que puede especificar cualquier número de hosts en la línea de comandos, o un archivo que contenga las listas de hosts a ping. Si un host no responde dentro de un cierto límite de tiempo y/o límite de reintento, se considerará inalcanzable.

Solución rápida

Para desactivar los barridos de ping en una red, puede bloquear las peticiones de ICMP ECHO desde fuentes externas. Esto se puede hacer usando el siguiente comando que creará una regla de firewall en iptable.

$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 localización de todos los servidores DNS y sus registros correspondientes para una organización. La idea es reunir tantos detalles interesantes como sea posible sobre su objetivo antes de iniciar un ataque.

Puede utilizar el comando nslookup disponible en Linux para obtener información relacionada con DNS y host. Además, puedes usar el siguiente script DNSenum para obtener información detallada sobre un dominio.

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 localización de todos los servidores DNS y sus registros correspondientes para una organización. La idea es reunir tantos detalles interesantes como sea posible sobre su objetivo antes de iniciar un ataque.

Puede utilizar el comando nslookup disponible en Linux para obtener información relacionada con DNS y host. Además, puedes usar el siguiente script DNSenum para obtener información detallada sobre un dominio.

DNSenum.pl

El script DNSenum puede realizar las siguientes operaciones:

  • Obtener las direcciones del host
  • Obtenga los servidores de nombres
  • Obtenga el registro MX
  • Realizar consultas axfr en servidores de nombres
  • Obtener nombres y subdominios adicionales a través de Google scrapping
  • Los subdominios de fuerza bruta de archivo también pueden realizar recursión en subdominios que tienen registros NS
  • Calcule rangos de red de dominio de clase C y realice consultas whois en ellos
  • Realizar búsquedas inversas en netranges
Solución rápida

DNS Enumeration no tiene una solución rápida y está realmente más allá del alcance de este curso. Prevenir la Enumeración 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 que un usuario de Internet no confiable pueda realizar una transferencia de zona DNS.

Sexta Lección: Sniffing

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *