Está en la página 1de 13

Hacking Ético: Nociones y Conceptos.

Entendiendo el Hacking Ético

Este curso introduce al hacking ético profesional que consisten en romper la


seguridad de una organización de forma sistemática y organizada con previa
autorización escrita por la organización.
El hacking ético es un efectivo método para comprobar los mecanismos de seguridad
y verificar la postura de seguridad de una organización frente a un ataque.
Los objetivos de este curso son:

● Introducir al hacking ético.


● Terminología.
● Fases del hacking ético.
● Manejo de herramientas.
● Técnicas de ataque.

La necesidad del hacking ético


El hacking ético se ha convertido en una necesidad, ya que es el único método
efectivo para verificar la seguridad de una organización.

Figura 1.1. Hacking ético


Fuente: elaboración propia
En simples términos: el hacking ético nos permite verificar la postura de seguridad
de una organización y encontrar los puntos débiles.

Terminología hacker
Algunos términos según Wikipedia:

● Seguridad informática: el área de la informática que se enfoca en la protección de


la infraestructura computacional y todo lo relacionado con esta y, especialmente, la
información contenida o circulante.
● Hacker (el bueno):
− Definición 1: término para designar a alguien con talento, conocimiento,
inteligencia e ingenuidad, especialmente relacionada con las operaciones de
computadora, redes, seguridad, etc.
− Definición 2: persona que disfruta aprendiendo detalles de los sistemas de
programación y cómo extender sus capacidades, tan intensamente como, al contrario,
muchos usuarios prefieren aprender solo el mínimo necesario.
● Cracker (el malo): se utiliza para referirse a las personas que “rompen“ algún
sistema de seguridad. Los crackers pueden estar motivados por una multitud de
razones, incluyendo fines de lucro, protesta o por el desafío.
● Hacker ético: profesional de la seguridad informática que aplica sus conocimientos
al hacking con fines defensivos y de manera legal.
● Sombrero blanco (white hat): persona que utiliza sus conocimientos de hacking
para fines defensivos, el analista de seguridad o hacker ético.
● Sombrero negro (black hat): persona que utiliza sus conocimientos de hacking
para acciones destructivas. El cracker.
● Sombrero Gris (gray hat): persona que utiliza sus conocimientos de hacking tanto
para fines defensivos o acciones destructivas según le interese.
● Hacktivismo: el término hacktivismo es controvertido. Algunos afirman que se
acuñó para describir cómo las acciones directas electrónicas podían usarse en favor
del cambio social al combinar la programación con el pensamiento crítico. Otros
utilizan el término como sinónimo de actos maliciosos y destructivos que vulneran la
seguridad de Internet como una plataforma tecnológica, económica y política.
La Real Academia Española define hacker como pirata informático; ¡sin duda todo un
error por parte de la RAE que esperamos corrijan pronto!
● Pirata informático: traducción recomendada para la voz inglesa hacker, “persona
con grandes habilidades en el manejo de ordenadores, que utiliza sus conocimientos
para acceder ilegalmente a sistemas o redes ajenos”: “Un pirata informático logró
jaquear los sistemas de seguridad” (Clarín@ [Arg.] 19.6.05).

Hacking ético vs. escaneo de vulnerabilidades


El hacking ético es una metodología sistemática que verifica de forma efectiva la
seguridad de una organización, mientras que un escaneo de vulnerabilidades es una
prueba reducida y concreta que identifica vulnerabilidades.

Figura 1.2. Hacking ético vs. escaneo de vulnerabilidades


Fuente: elaboración propia

Hoy en día es un error generalizado llamar hacking ético a un escaneo de


vulnerabilidades entre muchos profesionales de seguridad y clientes. La diferencia es
que en el hacking ético la prueba consiste en simular de forma real un ataque
informático, estableciendo los menores limites posibles. ¡Los atacantes de verdad no
tienen reglas que seguir!

Si se establecen demasiadas reglas y límites a una prueba de hacking ético pierde su


veracidad; por desgracia suele ser común y por eso muchas pruebas de hacking ético
son ineficaces.

Los escaneos de vulnerabilidades suelen ser cortos en tiempo y más baratos, mientras
que una prueba de hacking ético necesita de más tiempo y, por lo tanto, es más
costoso, aunque mucho más beneficioso para el cliente.
Como profesionales del hacking ético debemos entender la diferencia entre hacking
ético y escaneo de vulnerabilidades y transmitirlo a los clientes.
Escaneo de vulnerabilidades Hacking ético
Rápido Lento
Barato Costoso
Superficial Profundo
Sin metodología Con metodología
Horario de oficina 24 horas
inflexible flexible
Requiere pocos conocimientos Requiere ser un experto atacante
Esperado Inesperado
Solo encuentra vulnerabilidades Encuentra los riesgos para el negocio
Poco valor para el cliente Mucho valor para el cliente

Figura 1.3. Escaneo de vulnerabilidades frente a hacking ético


Fuente: elaboración propia

Fases del hacking ético


El hacking ético se compone de una serie de fases o etapas que se relacionan entre
si y organizan todo el proceso de forma sistemática. El orden de estas fases es vital
para el éxito del hacking ético.

En la Figura 1.4 podemos ver la metodología genérica de ataque que se compone


de cinco fases, que son:

1. Primera fase: reconocimiento. Consiste en recoger información del objetivo,


generalmente usando su Web.
2. Segunda fase: escaneo. Consiste en la búsqueda de vectores de ataque. Durante
esta fase se realizan escaneos de redes y sistemas/puertos, se identifican
vulnerabilidades, etc.
3. Tercera fase: obtener acceso. Se explotan las vulnerabilidades identificadas
anteriormente con el fin de obtener acceso al objetivo.
4. Cuarta fase: mantener acceso. Una vez obtenido acceso, el atacante debe
mantener acceso al sistema instalando puertas traseras, troyanos, etc.
5. Quinta fase: borrado de huellas. El atacante debe borrar todo rastro del ataque
dificultando su detección y análisis forense.

Figura 1.4. Metodología genérica de ataque


Fuente: elaboración propia

Tenemos que tener una mentalidad de ataque y entender la metodología genérica


del ataque, pero como profesionales de hacking ético, nuestra metodología debe
tener más profundidad, estableciendo más fases.

En la Figura 1.5 podemos apreciar la metodología de hacking ético que es la que


debemos seguir. Esta metodología se compone de seis fases, que son:

1. Primera fase: preparación. Se definen los parámetros de la prueba: objetivos,


ámbito, responsabilidades, personas de contacto, reglas, tiempo, éxitos/fracasos y
documentación aprobando la prueba.
2. Segunda fase: reconocimiento. Se comienza la prueba recogiendo información
sobre el objetivo, generalmente utilizando la web.
3. Tercera fase: escaneo. En esta fase seremos activos, enviando paquetes a la red
del objetivo para identificar puertos y vulnerabilidades.
4. Cuarta fase: explotación. Comienza la explotación de las vulnerabilidades
identificadas para obtener acceso al objetivo.
5. Quinta fase: análisis. Se analiza toda la información obtenida a lo largo de las
fases anteriores para identificar los riesgos y priorizarlos, determinar mitigaciones,
etc.
6. Sexta fase: informe. Se crearán diversos documentos (técnico, ejecutivo, etc.)
detallando toda la prueba: resultado, riesgos, etc. Los documentos deben estar bien
detallados, realistas y adaptados al lector.

Figura 1.5. Metodología de hacking ético


Fuente: elaboración propia

Como hackers éticos que somos debemos seguir esta metodología en todos nuestros
proyectos, con el tiempo iremos refinando nuestra técnica y herramientas, pero
siempre partiendo de este esquema.
Otro hacker ético debería llegar a un resultado similar al nuestro si todos seguimos
la misma metodología, por ello su importancia.
Marcos de hacking ético
Existen diferentes marcos de hacking ético que podemos utilizar como punto de
partida para nuestros proyectos algunos de los más populares son:
● Penetration Testing Execution Standard (PTES):

http://www.pentest-standard.org/index.php/Main_Page.
● Open Source Security Testing Methodology Manual (OSSTMM):
http://www.isecom.org/research/osstmm.html.
● Penetration Testing Framework:
http://www.vulnerabilityassessment.co.uk/Penetration%20Test.html.
● OWASP Testing Framework:
https://www.owasp.org/index.php/The_OWASP_Testing_Framework.
● NIST Technical Guide to Information Security Testing and Assessment:
http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf.

Distribuciones para hacking ético


Existen muchas distribuciones para realizar hacking ético que podemos y debemos
utilizar, la mayoría están basadas en alguna versión de Linux.
A continuación, mencionaremos las más comunes, únicamente vamos a comentar
distribuciones de seguridad relaciones con el hacking ético, como son:

● Kali https://www.kali.org/.
● NodeZero http://www.nodezero-linux.org/.
● BackBox Linux http://www.backbox.org/.
● Blackbuntu http://sourceforge.net/projects/blackbuntu/.
● Samurai Web Testing Framework http://samurai.inguardians.com/.
● Knoppix STD http://s-t-d.org/.
● Pentoo http://www.pentoo.ch/.
● Weakerth4n http://weaknetlabs.com/main/.
● Matriux http://www.matriux.com/index.php?language=en.
● Parrot Security OS http://www.parrotsec.org/.
● BlackArch Linux http://www.blackarch.org/.
● Network Security Toolkit (NST)
http://networksecuritytoolkit.org/nst/index.html.
La elección de la distribución que queramos utilizar depende de nuestros gustos.
Prácticamente todas las distribuciones ofrecen las mismas herramientas. Incluso
podemos montar nuestra propia plataforma de ataque utilizando una versión
estándar de Linux tipo Ubuntu, Debian, Fedora, etc., o Windows ¿por qué no?
Lo bueno de utilizar una distribución de seguridad es que ya incorpora muchas de
las herramientas que vamos a utilizar a lo largo de este curso. Por lo que no tenemos
que estar perdiendo el tiempo bajando y configurando herramientas.

Kali Linux
URL: https://www.kali.org/
Doc: http://docs.kali.org/introduction/what-is-kali-linux

Posiblemente Kali Linux es la distribución, basada en Ubuntu, de seguridad más


popular para realizar hacking ético y es la que vamos a utilizar en este curso. Siéntete
libre de utilizar otra versión de las mencionadas anteriormente o tu propia
distribución.
Lo bueno de Kali es que incorpora muchas de las herramientas, más de 600, que
vamos a manejar en este curso y aquellas que no incorpora son fácilmente instalables.
Las características de Kali:

● Más de 600 herramientas de hacking ético.


● Es Libre y siempre lo será.
● Árbol Git Open Source.
● Cumple con FHS (Filesystem Hierarchy Standart).
● Amplio soporte para dispositivos inalámbricos.
● Parches al Kernel para inyección wifi.
● Entorno de desarrollo seguro.
● Paquetes y repositorios firmados con GPG.
● Soporta varios lenguajes.
● Completamente personalizable.
● Soporte ARMEL y ARMHF 1.2.
Podemos utilizar Kali en modo Live que no requiere ninguna instalación pero
perdemos todo lo realizado al apagar el equipo o podemos optar por instalar Kali,
opción recomendada. Las tecnologías de virtualización como VMWare o VirtualBox
hacen realmente fácil de instalar un sistema operativo invitado en nuestro equipo de
hacking ético. Podemos tener muchas máquinas virtuales para realizar diferentes
ataques.
Una vez arrancada la máquina de Kali tendremos el escritorio (véase Figura 1.6, y en
el menú Aplicaciones podemos encontrar el submenú Kali Linux. Aquí encontramos
todas las herramientas que trae Kali.

Figura 1.6. Menú Kali


Fuente: elaboración propia

En el menú Kali Linux podemos encontrar las siguientes opciones:

● Top 10 Security Tools: acceso directo a las diez herramientas más populares de
seguridad, como son aircrack-ng (ataques wifi), burpsuite (ataques web), hydra
(ataques de contraseñas en redes), John (ataques de contraseña), Maltego (OSINT),
Metasploit (explotación), nmap (escaneo de puertos), owasp-zap (ataques web),
sqlmap (ataques base de datos) y wireshark (sniffer)
● Information Gathering: herramientas para recogida de información.
● Vulnerability Analysis: herramientas de análisis de vulnerabilidades.
● Web Applicactions: herramientas para ataques web.
● Password Attacks: herramientas para analizar contraseñas.
● Explotation Tools: herramientas de explotación.
● Sniffing/Spoofing: herramientas de ataques en red.
● Maintaining Access: herramientas para mantener acceso.
● Reverse Engineering: herramientas de ingeniería inversa.
● Stress Testing: herramientas para pruebas de carga.
● Hardware Hacking: herramientas para hacking de hardware.
● Forensics: herramientas de análisis forense.
● Reporting Tools: herramienta para generar informes.
● System Services: utilidades para activar servicios en Kali.

En el directorio /usr/share podemos encontrar todas las herramientas instaladas en


Kali. Es recomendable que exploremos este directorio y nos familiaricemos con la
mayoría de herramientas ya que en el curso es imposible que las veamos todas. Véase
Figura 1.7.

Figura 1.7. Directorio/usr/share en Kali


Fuente: elaboración propia
La mayoría de herramientas que vamos a utilizar son de línea de comandos por lo
que tenemos que estar a gusto con una línea de comandos en Linux. Podemos
encontrar una estupenda referencia en http://www.pixelbeat.org/cmdline.html.

Figura 1.8. Algunos comandos Linux


Fuente: elaboración propia

Las actualizaciones en Kali son frecuentes y somos responsables de que siempre esté
a la última en parches y herramientas, para ello semanalmente debemos ejecutar los
siguientes comandos:

● # apt-get update
● # apt-get upgrade
o
● # apt-get dist-upgrade
El comando apt-get dist-upgrade actualiza la distribución cuando se publican nuevas
versiones.
Otro comando que debemos conocer es el dpkg que nos permite instalar paquetes
o conocer los que están instalados (Figura 1.9).

Figura 1.9. Listando paquetes instalados en Kali


Fuente: elaboración propia
Hacking seguro: juegos
Existen multitud de juegos donde practicar hacking ético, también conocidos como
War Games o Capture the Flag (CTF). Estos juegos son el entorno perfecto para
practicar técnicas y herramientas sin preocuparnos de las consecuencias.
Existen muchos tipos de juegos:
● Portales web: generalmente estos portales están enfocados a hacking web.
● Capture the Flag (CTF): son competiciones que se organizan en Internet y en los
congresos de seguridad. Se definen una serie de reglas, objetivos y tiempo y se
compite por equipos. Podemos encontrar todo tipo de pruebas: ataques web,
ingeniera inversa, análisis de tráfico de red, explotación de vulnerabilidades, análisis
de cifrado, desarrollo de herramientas, etc.
● Servidores remotos: varios portales web ofrecen acceso a servidores remotos
donde poder realizar prácticas y explotar vulnerabilidades.
● Máquinas virtuales: existen multitud de máquinas virtuales con todo tipo de
pruebas y vulnerabilidades que podemos bajar de Internet y utilizar en nuestro
laboratorio.
Algunos de los juegos hacking más populares son:
● OverTheWire: http://overthewire.org/wargames/.
● NetWars: http://www.netwars.info/.
● PentesteLabs: https://pentesterlab.com/.
● VulnHub: https://www.vulnhub.com/.
● Hacker Experience: https://hackerexperience.com/.
● Hack this Site: https://www.hackthissite.org/.
● Exploit Exercises: https://exploit-exercises.com/.
● Hacking Lab: https://www.hacking-lab.com/index.html.
● Smash the Stack: http://smashthestack.org/.
El nivel de sofisticación de estos juegos es muy variado desde pruebas muy simples
realizando un ataque Web de Cross-Site Scripting (XSS) hasta analizar un binario
desconocido para explotar una vulnerabilidad.
Lo bueno de estos juegos es que generalmente incluyen tutoriales de ayuda donde
encontrar pistas y foros en caso que nos atasquemos y pedir ayuda a la comunidad.
Otra opción muy interesante es montar un servidor en nuestro laboratorio con un
software de virtualización y configurar diferentes maquinas con Linux y Windows y
realizar ataques. Podemos pedirle a un amigo que configure una máquina virtual y
nuestra tarea consistirá en atacarla, luego podemos cambiar los papeles. Todo
profesional debe saber atacar y defender.

También podría gustarte