Proyectos prácticos de Seguridad Informática
¿Cómo es posible acceder a una cuenta de banco mediante Phishing? ¿Cuáles son las tretas más utilizadas en Ingeniería Social para obtener contraseñas? ¿Qué pruebas debo realizar para asegurarme de que mi sitio no tiene vulnerabilidades? Estas y muchas otras preguntas se responden en este manual de hacking ético, para detectar posibles fallas en los sistemas y así protegerlos mejor.
Entre otros temas, aprenderá: PRELIMINARES
PROYECTOS AVANZADOS
Hacking ético Herramientas necesarias
PROYECTOS BÁSICOS
Escáner con Nmap (Zenmap) Explorar un sitio con Whois Cómo explotar la búsqueda avanzada de Google Ocultar información mediante esteganografía
Ataque MITM: interceptar conexiones en vivo Creación y alojamiento de un scam Pruebas de ingeniería inversa Pruebas de pentesting con OWASP BWA Ataque por fuerza bruta mediante Hydra Ataque de inyección SQL con SQLmap Hacking de redes inalámbricas Hacking de dispositivos móviles Ataque DOS mediante herramientas GNU-Linux
PROYECTOS INTERMEDIOS Utilizar un keylogger Robo de cuentas de correo mediante ingeniería social y keyloggers Protección de un router inalámbrico Creación de una VPN desde Windows con el uso de VPNBook Recuperar el acceso a sistemas Windows con Trinity Rescue Kit Hacking a cuenta root en sistemas Ubuntu-Linux Explorar la Deep Web Generar un e-mail spamming Rastrear a personas Hackear sitios web con Setoolkit Ataque de phishing mediante SocialFish
NIVEL DE USUARIO
CATEGORÍA
Intermedio / Avanzado
Seguridad Informática
UN MANUAL ACTUALIZADO DE SEGURIDAD INFORMÁTICA
REDUSERS.com En nuestro sitio podrá encontrar noticias relacionadas y también participar de la comunidad de tecnología más importante de América Latina.
¡DE CERO A EXPERTO! GU04 - Tapa con lomo copy.indd 1
ISBN 978-987-4958-05-1
GU 04 Manual del hacker ético / Proyectos prácticos de Seguridad Informática
Manual del hacker ético
Manual del hacker Proyectos prácticos ético de Seguridad Informática
Gilberto González Rodríguez
Escaneo de puertos Ingeniería social y scams Robo de contraseñas mediante phishing Keyloggers, VPNs, Deep Web, Tor y más… CONOZCA LOS METODOS Y HERRAMIENTAS DE ATAQUE 13/03/2019 02:08:37 p.m.
Manual del hacker Proyectos prácticos ético de Seguridad Informática Esta guía está dedicada al hacking ético, esto es, la práctica de vulnerar la seguridad informática de un sistema para detectar posibles fallas y así poder protegerlo mejor. Plataformas como HackerOne pagan a los hackers por cada vulnerabilidad o bug que descubren y reportan a las empresas que contratan sus servicios. Fue en esta plataforma que un hacker argentino de 19 años fue noticia por haber logrado ganar un millón de dólares cobrando las recompensas por los bugs que descubrió y reportó. Los métodos de ataque descritos en esta guía tienen entonces como objetivo capacitar al lector interesado en hacking ético y, al usuario general, hacerlo conocer los peligros actuales a los que está expuesto y cómo protegerse. Por este motivo, en cada procedimiento descrito, se explica también cómo defenderse de los ataques y se recomiendan medidas de prevención.
TÍTULO Manual del hacker ético AUTOR Gilberto González Rodríguez DISEÑO Y PRODUCCIÓN Gustavo De Matteo COLECCIÓN
Users Guías Prácticas
FORMATO
28 x 20 cm
PÁGINAS
144
ISBN
978-987-4958-05-1
Esta guía no debe utilizarse para realizar actividades ilegales o causar daño a terceros; no sólo está moralmente mal, sino que el riesgo es mucho mayor que el beneficio.
Miguel Lederkremer (@leder) Director Editorial
Copyright © MMXIX. Es una publicación de SIX EDICIONES. Hecho el depósito que marca la ley 11723. Todos los derechos reservados. Esta publicación no puede ser reproducida ni facebook.com/redusers
twitter.com/redusers
instagram.com/reduserscom/
redaccion@redusers.com
en todo ni en parte, por ningún medio actual o futuro, sin el permiso previo y por escrito de SIX EDICIONES. Su infracción está penada por las leyes 11723 y 25446. La editorial no
González Rodríguez, Gilberto Manual del hacker ético / Gilberto González Rodríguez. - 1a ed . Ciudad Autónoma de Buenos Aires: Six Ediciones, 2019. 144 p.; 28 x 20 cm.
asume responsabilidad alguna por cualquier consecuencia derivada de la fabricación, funcionamiento y/o utilización de los servicios y productos que se describen y/o analizan. Todas las marcas mencionadas en este libro son propiedad exclusiva de sus respectivos due-
ISBN 978-987-4958-05-1
ños. Impreso en Argentina. Libro de edición argentina. Primera impresión realizada en
1. Computación. 2. Seguridad Informática. I. Título. CDD 004.01
Casano Gráfica S.A. - Ministro Brin 3932 (1826) R. de Escalada (Lanús) Prov. de Buenos Aires - Argentina, en III, MMXIX.
1
01-03 GU Hacking.indd 1
13/03/2019 02:13:19 p.m.
Manual del hacker Proyectos prácticos ético de Seguridad Informática
25
PROCEDIMIENTOS EXPLICADOS PASO A PASO
PROYECTOS INTERMEDIOS Utilizar un keylogger ......................................... 26 Robo de cuentas de correo mediante ingeniería social y keyloggers .......................... 30 Protección de un router inalámbrico................ 34 Creación de una VPN desde Windows con el uso de VPNBook ....................................40 Recuperar el acceso a sistemas Windows con Trinity Rescue Kit ....................................... 44 Hacking a cuenta root en sistemas Ubuntu-Linux ............................... 46 Explorar la Deep Web ........................................52 Generar un e-mail spamming .......................... 56 Rastrear a personas .......................................... 62 Hackear sitios web con Setoolkit .....................68 Ataque de phishing mediante SocialFish ........ 76
PRELIMINARES
PROYECTOS AVANZADOS
Hacking ético....................................................... 4
Ataque MITM: interceptar conexiones en vivo .................................................................81
Herramientas necesarias .................................... 6
Creación y alojamiento de un scam ................. 88 Pruebas de ingeniería inversa ..........................96
PROYECTOS BÁSICOS
Pruebas de pentesting con OWASP BWA ...... 110
Escáner con Nmap (Zenmap) ............................ 8
Ataque por fuerza bruta mediante Hydra ....... 114
Explorar un sitio con Whois ...............................14
Ataque de inyección SQL con SQLmap ..........124
Cómo explotar la búsqueda avanzada de Google .......................................................... 20
Hacking de redes inalámbricas .......................128
Ocultar información mediante esteganografía ...................................................22
Hacking de dispositivos móviles ..................... 133 Ataque DOS mediante herramientas GNU-Linux .......................................................138
2
01-03 GU Hacking.indd 2
13/03/2019 02:13:27 p.m.
Manual del hacker > Preliminares
Hacking ético En esta primera sección veremos qué son y para qué sirven las técnicas conocidas como hacking ético.
Actualmente, nos encontramos rodeados de listas interminables sobre técnicas, ejercicios prácticos, notas y trucos que, sin mayor preámbulo, prometen convertir en hacker especializado a cualquier usuario de la noche a la mañana. Sin embargo, debemos saber que esto no es así de fácil, pues a los grandes hackers les ha llevado años construir sus propios conocimientos y mejorar sus técnicas, aquellas que les permitan atacar y, a su vez, evitar ser descubiertos, a como dé lugar. Antes de entrar de lleno en la materia, debemos saber que, dentro de la doctrina hacker, se conciben diversos tipos de atacante, cuya diferencia radica en el objetivo que persiguen. Esta doctrina también se compone de dos vertientes muy populares, las cuales se definen según las distintas intenciones que haya para penetrar un sistema (que van desde explotarlo, hasta detectar sus puntos débiles para protegerlo). Una de esas vertientes está enfocada en el ataque y originalmente se conoce como hacking; es la que ha dado lugar a una nueva filosofía llamada hacking ético (con fines de investigación), una parte del hacking centrado generalmente en el empleo de un conjunto de técnicas para detección de vulnerabilidades y, por ende, en la protección de bienes y recursos informáticos. Esta es la postura que se ha seguido para la ejecución de las prácticas en esta guía de proyectos. El presente material fue desarrollado para ser concebido como una guía de usuario para la protección de sistemas, bienes y activos. En él se ofrece una recopilación de prácticas sobre seguridad informática y hacking ético (muchas de ellas, desarrolladas y empleadas por diversos usuarios en el mundo), cuyo propósito es dar a conocer los
diversos mecanismos de seguridad que deben emplearse para estar al día en contra de posibles riesgos e inminentes ataques. Estos procedimientos no deben usarse con fines perjudiciales e ilícitos, pues en ese caso, será pura responsabilidad del usuario que los practica.
“La mejor manera de protegerse es conociendo la técnica de ataque. Este es uno de los fundamentos del hacking ético”.
Esta serie de proyectos está integrada por múltiples guías visuales que explican e ilustran la forma de llevar a cabo los ataques más comunes en contra de muchos de los recursos informáticos. Por lo tanto, se recomienda discreción, supervisión y control absoluto. Para esto, se ha definido el uso de plataformas para pruebas de penetración (distribuciones GNU-Linux para pentesting), las cuales pueden usarse libremente para efectos de prueba y demostración de ataque y protección. Los procedimientos paso a paso planteados fueron configurados para tratarlos como ejercicios que persiguen un fin didáctico y sin ánimo de lucro. Aunque en un inicio (para cada proyecto) se ilustra la forma de llevar a cabo el ataque, al final (en la mayoría de los proyectos) se presentan diferentes alternativas de seguridad (empleadas por expertos en la materia) para protegerse ante posibles riesgos o algún tipo de acto ilícito.
4
04-25 GU HACKING.indd 4
13/03/2019 02:22:36 p.m.
Prueba de intrusión El hacking ético también es conocido como prueba de intrusión o penntest. Se define, esencialmente, como un procedimiento que busca comprobar la existencia de vulnerabilidades de seguridad para conocer los peligros a los que está expuesta una infraestructura de red o sus servicios y usuarios. Una vez realizado este análisis, se elaboran informes para revelar aquellos fallos de seguridad encontrados. Mitigarlos a la mayor brevedad posible evita, sin duda, fugas de información y/o ataques informáticos. Esta es una manera de reforzar los niveles de seguridad en un sistema u organización, permitiendo mantener a salvo todos sus datos. Esta prueba, a menudo, es utilizada tanto por hackers de sombrero blanco, como por otros de sombrero gris y negro.
5
04-25 GU HACKING.indd 5
13/03/2019 02:22:41 p.m.
Manual del hacker > Preliminares
Herramientas necesarias Para cada proyecto descripto en el presente material, se concibe la configuración de laboratorios. Estos consisten en un escenario cuyo entorno, en parte, está conformado por varias herramientas de software, procedimientos y demostraciones. Cabe mencionar que estas pueden ser distintas entre un proyecto y otro.
Para el desarrollo de esta guía (en la mayoría de los proyectos) se ha considerado el uso de herramientas GNU-Linux y, por consiguiente, de aplicaciones de software libre. No obstante, para algunos proyectos deben usarse desde herramientas propietarias hasta software comercial (tal es el caso del software para la creación de máquinas virtuales). El principal motivo para utilizar herramientas GNU es que son mucho más versátiles y, por lo tanto, pueden emplearse a gran escala para la protección de sistemas que van desde uso personal hasta el uso corporativo. Otra razón es que consumen menos recursos, son más rápidas (en cuanto a tiempo real), cómodas y, desde luego, más seguras. Aunque la razón
de mayor peso, quizás, es que durante años GNU/Linux ha dejado a disposición del usuario final lo que se conoce como distribuciones, en comparación con otros sistemas operativos (como Windows o MAC OSX). Actualmente podemos encontrar (en gran medida) distribuciones dedicadas a un reciente paradigma computacional que está dando mucho de que hablar, conocido como seguridad informática. Esto ha dado lugar a distribuciones para efectos de prueba de penetración (pentesting). Un claro ejemplo de esto es, sin duda, Kali Linux, Parrot Security OS, Backtrack, OWASP y Metasploitable, por mencionar algunas que serán revisadas a lo largo de este material. Al final, se puntualiza en
Parrot Security OS es una distribución GNU/Linux especializada en seguridad informática. Nos permite realizar tareas de pentesting, informática forense, ingeniería inversa, navegación anónima y criptografía.
6
04-25 GU HACKING.indd 6
13/03/2019 02:22:46 p.m.
Versatilidad, rapidez, menor consumo de recursos y la existencia de distribuciones dedicadas ponen a GNU Linux como una de las opciones más utilizadas para realizar hacking ético.
la distribución Trinity Rescue para efectos de recuperación de accesos a Windows. La concepción de sistemas operativos libres es una excelente alternativa para poner a prueba conocimientos sobre hacking, sobre todo, a la hora de querer analizar, simular e, incluso, experimentar con técnicas de ataque. Por esta razón, sería ideal adoptarlos como segundo sistema operativo dentro de la PC (si es que ya se cuenta con uno instalado como anfitrión). En un principio, si no tenemos suficiente práctica, es recomendable emplear máquinas virtuales (que se pueden crear mediante el uso de software como Virtual Box, VMWare o Virtual PC). Pero no cabe duda de que la
manera más idónea para vivir la experiencia se consigue mediante el manejo de un sistema GNU-Linux booteable. En este texto se han incluido los enlaces web para la descarga del software necesario, de manera que no existe un limitante para comenzar a practicar. La mayoría de los links son de páginas oficiales, lo que garantiza una descarga libre de malware, y con información oficial y legal. Las herramientas que utilizaremos incluyen keyloggers, escáners, sniffers, software para efectos de poisoning (spoofing), navegación anónima, VPN, debugger, crackmes, lenguajes de programación (IDE) y analizadores de tráfico para redes, entre otras.
BackTrack es una distribución GNU-Linux que podemos encontrar en formato LiveCD. Su principal función se relaciona con la realización de auditorías de seguridad informática en general.
7
04-25 GU HACKING.indd 7
13/03/2019 02:22:47 p.m.
Manual del hacker > Proyectos básicos
Escáner con Nmap (Zenmap) En este proyecto, el usuario pondrá en práctica una de las etapas de la metodología hacker: el escaneo. El ejercicio está planeado para la ejecución de la herramienta Nmap desde cualquier equipo de una red. El objetivo j es escanear los p puertos de la PC de una futura víctima.
4
2 1
5
3 6
1
Objetivo: espacio en el que debe colocarse la dirección IP privada o pública de la red que desea inspeccionarse con fines de protección o ataque.
2
Perfil: desde aquí se puede configurar una consulta específica, que se verá reflejada en el cuadro de texto Comando. Se puede crear un perfil o búsqueda personalizada.
3
Área de resultados: permite ver el resultado obtenido. Incluye una serie de pestañas para visualizar desde el estado de los puertos existentes, hasta la topología relacionada con el escaneo de la red o el equipo.
4
Botón Escaneo: permite inicializar el escaneo de puertos de la PC o red, con el propósito de ubicar vulnerabilidades en el sistema.
5
Comando: aquí se escribe el comando a ejecutar para efectos de búsqueda. Estas órdenes se crean de manera automática, pero existe la posibilidad de colocarlo de forma manual.
6
Panel Servidores y Servicios: aquí se visualizan los datos de direccionamiento de los servidores escaneados, los servicios de cada puerto e, incluso, el sistema operativo de los equipos.
Escaneo Es una de las fases de la metodología hacker, a través de la cual se realiza la inspección de un sistema con el fin de identificar el estatus de uno o más puertos. Los puertos abiertos le permiten al atacante explotar ciertas vulnerabilidades en el sistema.
8
04-25 GU HACKING.indd 8
13/03/2019 02:22:48 p.m.
Pentesting (prueba de penetración) Es una práctica que consiste en efectuar algún tipo de ataque sobre diversos entornos, con el objetivo de descubrir vulnerabilidades o fallos en la seguridad de un equipo. El propósito principal del pentesting es prevenir ataques externos hacia esos equipos o sistemas.
Escaneo de puertos de una PC A continuación se muestra un procedimiento paso a paso para comprender el uso básico de la herramienta que se utiliza para el escaneo. Es importante saber que el escaneo de puertos no está tipificado como delito. Una alternativa similar de gran uso es la herramienta SuperScan.
SuperScan: herramienta adicional para la tarea de escaneo de puertos.
1
Antes de la ejecución de Zenmap, es necesario conocer la dirección IP de la red o equipo de la víctima. Para esto, abra la CLI del sistema operativo de su elección. Posteriormente, escriba el comando ipconfig, seguido de un ENTER.
9
04-25 GU HACKING.indd 9
13/03/2019 02:22:48 p.m.
Manual del hacker > Proyectos básicos
2
Ejecute Zenmap y luego, desde la caja de texto Objetivo, ingrese la dirección IP de la PC de la víctima (red o rango deseado). Por ejemplo: 192.168.232.* (0-254). Note que, al terminar de escribir la IP, se presenta un cambio sobre el campo Comando. Haga clic sobre el botón Escaneo y aguarde.
3
4
Después de arrojar los datos esperados sobre el área de resultados, en la ficha Salida Nmap podrá verificar tanto el estado como los servicios de cada puerto escaneado. En caso de querer personalizar la consulta, se sugiere crear un nuevo perfil desde: Perfil/Nuevo perfil o comando. Para invocarlo, es necesario buscarlo desde el Combo Perfil.
Posteriormente, navegue por cada pestaña del área de resultados, así como por el panel de Servidores y Servicios ubicado a su izquierda. Con esta inspección, podrá detectar el estado de los puertos del sistema, además de verificar la topología del escaneo y detalles sobre servidores activos, entre otros aspectos.
10
04-25 GU HACKING.indd 10
13/03/2019 02:22:49 p.m.
Una vez que el hacker conoce el estatus de los puertos (abierto o cerrado), el siguiente paso consiste en averiguar las vulnerabilidades a las que está expuesto el sistema. Para lograrlo, necesita de una o varias herramientas de software viables. La identificación y el reconocimiento de
los puertos dentro de un sistema de cómputo o red es una obligación, prácticamente, para cualquier hacker. En la tabla adjunta se presenta una lista de algunos de los puertos utilizados con mayor frecuencia:
NÚMERO DE PUERTO
PUERTO
NOMBRE DEL PUERTO
20 / 21
FTP data
File Transfer Protocol
22
SSH
Secure Shell
23
Telnet
Telnet
25
SMTP
Send Mail Transfer Protocol
43
Whois
Whois
53
DNS
Domain Name Service
68
DHCP
Dynamic Host Control Protocol
79
Finger
Finger
80
http
HyperText Transfer Protocol
110
POP3
Post Office Protocol Ver 3
115
SFTP
Secure File Transfer Protocol
119
NNTP
Network New Transfer Protocol
123
NTP
Network Time Protocol
139
NetBIOS
NetBIOS
143
IMAP
Internet Message Access Protocol
161
SNMP
Single Network Management Protocol
194
IRC
Internet Relay Chat
443
SSL
Secure Socket Layer
445
SMB
NetBIOS over TCP
666
Doom
Doom
1243
SubSeven
Trojan
1521
Oracle SQL
Oracle SQL
3306
mySQL
My SQL
5010
Yahoo! Messenger
Yahoo! Messenger
5190
AOL Instant Messenger
AOL Instant Messenger
5900
VNC
Virtual Network Computing
Puertos comunes presentes en un sistema de cómputo y red.
Para visualizar la lista completa de la información anterior, es aconsejable consultar el portal de IANA (Assigned Numbers Authority), desde la siguiente dirección: www.iana.org/assignments/ service-names-port-numbers/service-names-port-numbers.xhtml.
11
04-25 GU HACKING.indd 11
13/03/2019 02:22:49 p.m.