seguridad informática – prácticas de laboratorio seguridad … continuidad... · 2020-05-14 ·...

51
Seguridad informática – Prácticas de laboratorio Cuadernillo de trabajo SEGURIDAD INFORMÁTICA Prácticas de hacking ético ED. 2020 Índice 1. Manejo de un Keylogger…………………………3 2. Ataque MITM……………………………………..9 3. Pruebas de pentesting con OWASP……………..17 4. Ataque por fuerza bruta…………………………24 5. Pruebas de ingeniería inversa…………………...51 6. Hacking de redes WI-FI………………………….54 7. Esteganografía…………………………………....61 8. Ataque DOS……………………………………….67 9. Recuperación de accesos con Trinity Rescue…..78 10. Hacking de cuenta ROOT en sistemas Ubuntu…85 11. Generación de un Email-spamming…………….93 12. Rastreando delincuentes…………………………101

Upload: others

Post on 28-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

SEGURIDAD INFORMÁTICA Prácticas de hacking ético

ED. 2020

Índice

1. Manejo de un Keylogger…………………………3 2. Ataque MITM……………………………………..9 3. Pruebas de pentesting con OWASP……………..17 4. Ataque por fuerza bruta…………………………24 5. Pruebas de ingeniería inversa…………………...51 6. Hacking de redes WI-FI………………………….54 7. Esteganografía…………………………………....61 8. Ataque DOS……………………………………….67 9. Recuperación de accesos con Trinity Rescue…..78 10. Hacking de cuenta ROOT en sistemas Ubuntu…85 11. Generación de un Email-spamming…………….93 12. Rastreando delincuentes…………………………101

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

1.0 MANEJO DE UN KEYLOGGER

Este proyecto está orientado a conocer la forma de operación de una herramienta de monitoreo conocida como keylogger. Así como los alcances de su concepción, que van desde una simple labor de vigilancia con propósitos de mejora, hasta el robo de información almacenada en el equipo, datos de usuarios registrados (credenciales de acceso), etc.

Un keylogger es un software o hardware (este último suele ser más flexible para los

cybercriminales, ya que son independientes del sistema operativo) que puede interceptar y guardar las pulsaciones del teclado de un equipo de cómputo infectado.

Un keylogger almacena los datos de forma local en el ordenador de la víctima. A menudo se utilizan herramientas de control remoto para la extracción y almacenamiento de datos hacia otra terminal.

1. Barra de herramientas: contiene una serie de opciones generales que van desde el ícono para comenzar con el monitoreo, ocultar el programa o desinstalarlo del equipo. 2. Ficha de configuración: tras pulsar sobre esta opción, se visualiza una interfaz con cuatro fichas, sobre las cuales, se efectúan los ajustes necesarios para conseguir un resultado óptimo en la tarea de sniffing. 3. Botón actualizar y Eliminar: tras parar el monitoreo y pulsar el botón actualizar, se mostrará el resultado de las pulsaciones en el área de monitoreo. Este puede eliminarse en cualquier momento. 4. Área de monitoreo: muestra el resultado obtenido tras el monitoreo en texto plano. Desde esta área, el hacker puede obtener los datos deseados. 5. Fecha del informe: desde esta opción podrá consultar el informe sobre monitoreo emitido en la fecha deseada. Con el propósito de probar el funcionamiento de un Keylogger, se propone descargar la herramienta Keylooger_Gratis, y al mismo tiempo, la revisión del siguiente paso a paso: 1. Al ejecutar Keylogger_Gratis, aparecerá una ventana de configuración inicial. Sobre la cual efectuara una selección de casillas, acorde a su necesidad. Posteriormente presione el botón OK.

3 4

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Presione el botón Empezar monitoreo que se ubica sobre la barra de herramientas de la interfaz. Note que no aparece nada en pantalla hasta que usted mismo decida detener el proceso de monitoreo. 3. Sin cerrarla ventana del Keylogger, ingrese a su navegador intente abrir alguna cuenta de correo o la red social de su preferencia. En este caso, puede ser Facebook. Luego, comience a escribir los datos de sus credenciales para el acceso. Finalmente, minimice la ventana de su navegador. 4. Regrese a la herramienta Keylogger y presione el botón Parar monitoreoubicado también sobre la barra de herramientas de la interfaz. Tras efectuar esto, oprima sobre el botón Actualizar ubicado a la derecha del combo que señala la fecha actual del monitoreo. Note que podrá apreciar un informe con texto plano, donde puede extraer las credenciales de la víctima.

5. Los keylogger, normalmente son invisibles para el usuario. Para ocultarlo, es necesario oprimir sobre el botón Ocultar el programa, que se ubica en la barra de herramientas. Tras haces esto, aparece un recuadro con la combinación de teclas para invocarlo al momento de solicitar la inspección de informes.

Como se puede apreciar, el keylogger permanece oculto para el usuario, aunque no para el hacker, quien puede aprovechar la forma alterna de invocarlo para ver el resultado sobre un editor de texto plano.

Herramientas de prevención Una forma sencilla de detección de Malware de este tipo, se consigue mediante la instalación de herramientas Antivirus con la opción para detectar y eliminar Keyloggers. Una de las más famosas es: MalwareBytes Antivirus. El siguiente paso a paso, ilustra la manera de detectar y eliminar un keylogger. 1. Tras haber instalado la herramienta, debe proceder a presionar clic sobre la opción Analizar, ubicada en el panel de la izquierda. Una vez hecho esto, el análisis recomendado se efectuará para la búsqueda de amenazas en el equipo.

5 6

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Como se puede apreciar, el resultado obtenido se encarga de mostrar las posibles amenazas, que en éste caso, parecen ser las de KLG MONITOR.

3. Una vez detectadas, se sugiere su selección para enviarlas a cuarentena. Presione clic sobre el botón azul (cuarentena seleccionada) ubicado en la parte inferior derecha de la ventana. Tras esto, se solicita reiniciar el equipo para que los cambios surtan efecto.

Otra opción viable, para evitar el robo de datos presentes en un ordenador, es mediante herramientas para congelar equipos: un ejemplo es DeepFreeze.

7 8

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2.0 ATAQUE MITM:

INTERCEPTAR CONEXIONES EN VIVO

En este proyecto se configura Ethercap (herramienta para pentesters natal de Kali Linux, auxiliar para efectos de ataques MITM) con el fin de demostrar la forma en que se lleva a cabo un ataque ARP Spoofing (por donde el atacante envía mensajes ARP falsos en una red local interna, con la intención de cazar dirección IP de más equipos).

Ataque MITM Un Ataque Man In The Middle (Hombre en el medio); es una forma de realizar una escucha a escondidas en el cual un atacante realiza conexiones independientes para intervenir (tarea que incluye la inyección de nuevos mensajes, sin que la víctima lo sepa) la comunicación. Actualmente se pueden utilizar herramientas de software para pentest, como Kali Linux e incluso de Ettercap para efectos de poisoning, sniffing y MITM dentro de la misma distribución GNU-Linux.

Esquema representativo de un ataque Man In TheMiddle (MITM).

Ettercap Consiste en una suite completa para realizar ataques MITM. Permite interceptar conexiones en vivo, filtrar contenido, entre otras interesantes acciones. Incluye también diversas características para el análisis de redes y host. Durante el proceso, Ettercap generará un ataque ARP Spoofing (por donde el atacante envía mensajes ARP falsos en una red local interna, con la intención de cazar dirección IP de más equipos. Lo anterior con la repercusión que se ha comentado con anterioridad. Para ilustrar lo anterior, se propone realizar el procedimiento descrito en el siguiente Paso a paso. Para efectos de esta práctica, se utilizarán tres máquinas virtuales: 1) la máquina virtual de Kali Linux, donde se realizará el ataque, 2) la máquina virtual de Metasploitable y 3) la máquina de Windows7. Estas dos últimas serán las víctimas.

Ataque MITM mediante Ettercap

1. Desde la terminal de Kali Linux, ejecutar la herramienta Ettercap con el siguiente comando: # ettercap –G. Lo anterior se encarga de mostrar la interfaz principal de dicho entorno. 2. Posteriormente proceda a oprimir clic sobre la opción Sniff>UnifiedSniffing ubicada en el menú superior de Ettercap. Donde debe seleccionar la interfaz de conexión. Que en este caso corresponde a eth0 (con la IP 192.168.0.12), precedida de un clic en el botón OK. Note que en la ventana inferior de Ettercap se presentará cierta información relacionada con la acción realizada.

9 10

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

3. Proceda a añadir a la lista de hosts, los objetivos contra los cuales se realizará el ARP Spoofing. Para ello, se precisa hacer clic en la opción Hosts >Scanfor Host. Note que, en la parte inferior, se muestra el escaneo de los equipos presentes en la red. Para después, seleccionar la opción Host -> Host List. Ante lo cual se presentará una nueva pestaña con el listado de dichos equipos.

4. Despues, seleccione la opción Host -> Host List. Ante lo cual se presentará una nueva pestaña con el listado de dichos equipos. Del listado de Hosts presentado seleccionar la dirección IP de Metasploitable2 y definirla como Objetivo 1 haciendo clic en el botón Addto Target 1. Seleccionar también la dirección IP de Windows 7 y definirla como objetivo 2 haciendo clic en el botón Addto Target 2. 5. Posteriormente, se sugiere oprimir clic en Mitm>Arppoisoning. Acción tras la cual se apertura una ventana donde se debe seleccionar la opción Sniff remote connections (husmear conexiones remotas). Para finalmente oprimir clic en la opción Start>Startsniffing y así, comenzar el rastreo.

11 12

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

6. Como se puede apreciar, el ataque ha iniciado. Para verificar esto, se visualiza la dirección MAC asignada a Kali Linux. Para después verificar desde Windows 7 que la dirección MAC asignada a Kali Linux, se trata de la misma dirección MAC relacionada con la dirección IP asignada a Metasploitable2.

7. En Metasploitable2 notar que la dirección MAC asignada a Kali Linux, es la misma dirección MAC relacionada con la dirección IP asignada a Windows 7.

8. Si se realiza una conexión desde Windows 7 hacia Metasploitable2, datos como nombres de usuarios y contraseñas serán factibles de ser capturadas desde Kali Linux, sin que la víctima lo note.

13 14

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Herramientas de prevención

Para protegernos de algún ataque MITM existen diversas recomendaciones. Algunas son: verificar siempre que la comunicación esté cifrada con SSL (HTTPS), activar la verificación de dos pasos al momento de loggearnos y usar redes VPN.

Verificar comunicación cifrada con SSL

1. Inicie ingresando a un portal de Internet desde el navegador de su elección. Posteriormente analice el costado izquierdo de la caja de texto donde se coloca la URL. Si el portal está protegido (y que, por tanto, incluye un cifrado SSL), deberá verse un candado que indica que la página es segura. Se sugiere presionar clic sobre éste para el desglose de información.

2. Los sitios No seguros, incluyen un ícono con un signo de admiración y una

leyenda que dice: No es seguro. Tras presionar clic, se muestra un recuadro de información sobre Conexión no segura.

3.

3. En caso de requerir un certificado SSL para conseguir que su sitio esté protegido, puede contratar el servicio ofertado por alguna compañía como GooDaddy.

15 16

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. Los sitios Web seguros, a menudo incluyen el protocolo de transferencia de hipertexto seguro (https), en lugar de simplemente http. Este representa una forma diferente de poder verificar que el sitio que visita, está protegido y, por tanto, es confiable.

3.0 PRUEBAS DE PENTESTING CON OWASP BWA

Este proyecto está orientado a la labor del Pentesting. Pues representa una guía de exploración de la distro OWASP BWA para la identificación de vulnerabilidades e implementación de medidas de seguridad en entornos Web.

El entorno OWASP BWA Un recurso vital que no puede faltar en la biblioteca de ningún hacker se llama: OWASP Broken Web Applications Proyect (Proyecto OWASP de Aplicaciones Web Rotas). El cual consiste en una colección de aplicaciones Web vulnerables que son distribuidas dentro de una máquina virtual en el formato VMware, compatible con el producto sin costo VMware Player y VMwarevSphereHypervisor (ESXi).

Este proyecto tiene como objetivo principal, hacer entender al usuario todo sobre seguridad Web desde un enfoque práctico, además de probar y analizar los diferentes tipos de aplicaciones Web. Por tanto, es OWAP BWA, una de lasherramientas de seguridad más populares del mundo y se mantiene activa por cientos de voluntarios internacionales.

En esta imagen se muestran tanto las credenciales como la dirección IP para el acceso a la herramienta OWASP BWA. Uso de Firebug

OWASP BWA está integrado por múltiples recursos para efectos de pruebas. Una de estas es Firebug, la cual consiste en una extensión para navegadores que permite analizar los componentes que están dentro de una página o sitio Web (como tablas, frames, clases, imágenes, videos, entre otros). Y que incluso permite alterar el comportamiento de una aplicación Web. En esta ocasión, se propone realizar el siguiente Paso a paso con efectos de análisis de una página Web con Firebug

1. Comience ejecutando la VM conParrot OS instalada, donde procederá a abrir la herramienta Mantra (navegador Web especial, equipado con un conjunto de extensiones que facilitan el análisis y auditoria Web). Esta herramienta se invoca mediante la terminal de Parrot OS, tecleando el comando: sudo owasp-mantra-ff.

17 18

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Tras abrir dicho navegador (que incluye los respectivos add-ons o extensiones para análisis Web), debe ingresar la dirección IP asociada a la VM de OWASP desde la barra del navegador, seguida de un Enter. Una vez dentro, debe oprimir clic sobre la aplicación WackoPicko.

3. Dentro de la página proceda a presionar clic derecho sobre la caja de texto que dice Checkthis File y seleccione: Inspeccionar elemento con Firebug. Acción que permitirá mostrar el código fuente del campo.

4. Ahora posiciónese sobre la línea que dice: <input type=Hidden”…> y sustituya la palabra Hidden por la palabra text, seguido de un Enter. Lo anterior trae consigo un valor numérico por default para la carga para archivos.

Note que se ha intentado modificar el comportamiento básico de la página Web. Pues en vez de que se utilice un input, aparece una caja de texto con una cifra.

19 20

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

5. Para efectos de prueba en entornos reales (por ejemplo, sobre Google Chrome en sistemas Windows), se debe oprimir la tecla F12. Lo que trae consigo, una ventana lateral, conocida como consola de herramientas del navegador. Desde la cual se pueden modificar entradas comunes como las implicadas en las ventanas de sesión de usuario, cómo, por ejemplo: cambiar la cadena “passwd” por la cadena “text”. Lo que permite ver la cadena de caracteres, en vez de los asteriscos (carácter definido para ocultar un password) definidos para el campo.

Preparación de la herramienta OWAP Para efectos de ataque, o en su defecto, de investigación, el hacker deberá montar su laboratorio. Para lo que es necesario equiparse con el software necesario. A continuación, se listan las herramientas que se aconseja tener a la mano, además del rol (atacante y objetivo) que va a tener cada estación: - Una máquina virtual (VM) con la distribución Parrot o Kali Linux. La página oficial de descarga de Parrot es: www.parrotsec.org/download-full.fx. Esta estación de trabajo fungirá como la máquina del atacante.

Escritorio de la distribución Parrot Security OS.

21 22

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

-Una máquina virtual (VM) con la distribución OWASPinstalada. La cual se descarga desde el siguiente enlace: www.owasp.org, o en su defecto desde: https://sourceforge.net/projects/owaspbwa/files. Para esta tarea, se recomiendan dos cosas. La primera consiste en descargar la versión 1.2 de BWA (Broken Web Apps) y la segunda, configurar el adaptador de red (desde la VM) en modo NAT.

Página Web del proyecto OWASP BWA. Esta VM por tanto, va a fungir como la víctima u objetivo (denominado también host de pruebas), que tras ser ejecutada pone a disposición del Pentester una dirección IP para el acceso al proyecto OWASP Broken Web Apps, con el cual, se da comienzo al test de vulnerabilidades en aplicaciones Web.

Apertura del proyecto OWASP BWA desde un navegador Web.

4.0 ATAQUE POR FUERZA BRUTA

El proyecto se enfoca a la explicación tanto de la creación de diccionarios para ataques por fuerza bruta, como de la formulación de dicho ataque. Un ataque de fuerza bruta es aquel que consiste en intentar averiguar una contraseña probando una gran cantidad de palabras contenidas en archivos de texto conocidos como diccionarios de claves.

Elementos para el ataque

Entre las diferentes herramientas para efectos de ataque por fuerza bruta, por lo general se necesitan tres elementos: un diccionario (WordList), una herramienta para su ejecución y, una interfaz de usuario (a modo texto o gráfica). Para la generación de diccionarios se recomienda el uso de herramientas como Cewly John the Ripper. En tanto que, para la ejecución del ataque, se requerirá de THC-Hydra. Esta última consiste en una herramienta que crackea contraseñas de un servicio de networking.

Generación de diccionarios

Para poder crear un WordList (con el uso de Cewl y John theRipper), se debe efectuar un análisis del sitio o página Web elegido. Lo anterior con el propósito de recopilar todas las palabras o combinaciones relacionadas con su contexto. Y de esa manera generar un diccionario. En este caso ha de utilizarse WackoPickode OWASP.

1. Se iniciará con Cewl. Para invocar WackoPicko, debe abrir la terminar y escribir: cewl –w cewl_Wacko.txt –c –m 5 http://192.168.x.x/WackoPicko. Donde –w especifica el archivo de salida, -c, desglosa el número de palabras encontradas, y –m, es el número mínimo de dígitos que se establecerá para la búsqueda de dichas palabras.

23 24

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Lo anterior muestra un diccionario o wordlist, con el conjunto de palabras

relacionadas con la aplicación. Note que esta lista posee una ubicación. Para desplegar el contenido del directorio, coloque el comando ls, y para ver el contenido de los archivos, recuerde utilizar la orden cat. Esta lista permitirá efectuar el ataque por fuerza bruta.

3. Proceda a generar el diccionario con la herramienta John theRipper. Para esto, escriba el siguiente comando: john --stdout --wordlist=cewl_Wacko.txt. Lo anterior muestra un diccionario similar al realizado por Cewl, aunque se tiene la posibilidad de extender su tamaño con el uso del parámetro –rules.

4. Note los números que se encuentran después de la coma. Estos representan el número total de combinaciones que hay con ese password. Observe que este nuevo wordlist se integra de un mayor número de datos que el anterior (3368 combinaciones vs. poco menos de 500).

25 26

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Ataque con el uso de Hydra Actualmente, herramientas como Parrot OS o Kali Linux, ofrecen una herramienta llamadaHydra, mediante la cual se efectúan este tipo de ataque. La forma más común de hacerlo es a través de la terminal de comandos. 1. Para esta actividad, se utilizará la aplicación Daam Vulnerable Web Applicationde OWASP. La cual se compone de una ventana de sesión, para lo cual será necesario, la generación de una lista de usuarios. Para esta tarea, debe ejecutarse el comando que se visualiza en pantalla, y posteriormente, abrir el archivo .txtgenerado.

2. Una vez abierto el archivo, se visualizará un listado de palabras relacionadas con el usuario para efectos de acceso a la página. De manera opcional, se pueden agregar unas cuantas.

3. Con fines de comprender el funcionamiento de envío de datos y el funcionamiento de la solicitud de loggeo, utilice un Web Application Proxy (sniffer/proxy). En este caso: Burp suite. El cual debe configurarse para fines de convivencia con el proxy del navegador que está utilizando. Para esto, efectúe la búsqueda de la ruta siguiente: Edit/Preferences/Advanced/Networking/Settings (aunque esta puede variar). Una vez allí, se efectúa lo siguiente:

4. Despues, abra Burp Suite para comenzar a interceptar tanto tráfico como paquetes enviados. Posteriormente, proceda a navegar dentro de la aplicación de DVWA. Introduzca un usuario y un password ficticios.

27 28

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

5. Una vez hecho esto, dirigirse a Burp (el cual ya se encuentra interceptando el tráfico y, por tanto, ya puede observar que es lo que se está enviando). Haga clic en la pestaña de Proxy, donde se mostrarán las variables con las que trabaja el proceso de loggeo (username ,password y login).

6. Proceda a efectuar el ataque. Para esto, abra una terminal y ejecute el siguiente comando: hydra 192.168.28.129 http-form-post "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:login.php" -L cewl_users.txt -e ns -u -t 2 -w 15 -o resultadoBruteForceHydraDVWA.txt.

7. Tras ejecutar esta orden, dará inicio el proceso de envío de peticiones, con el fin de comprobar las credenciales correctas para completar el loggeo (que incluye el archivo de salida). Proceda a probar el password correcto.

29 30

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

5.0 PRUEBAS DE INGENIERÍA

INVERSA

El proyecto que se propone en esta ocasión, se centra en el diseño de un crackme. Lo anterior para introducirse al gran campo de la ingeniería inversa, el cracking de aplicaciones y la generación de parches. Ingeniería inversa La ingeniería inversa (o reversing) se define como un proceso que consiste en extraer o abducir la lógica de diseño de cualquier sistema, dispositivo o software, con el fin de conocer su estructura, función y operación. Hoy en día, son muchas las aplicaciones de la ingeniería inversa, las cuales, en ocasiones suponen ventajas para el usuario o desarrollador. Requerimientos para cracking Uno de los elementos críticos para efectos de cracking, es sin duda un depurador o Debugger. Este consiste en una herramienta encargada de mostrar el código fuente abstracto de un programa ejecutable (por ejemplo, un archivo.exe). OllyDbg es el más usado, pues muestra mediante sentencias de código la información requerida para generar una copia depurada del programa ejecutable (llamado parche). Otro elemento indispensable es un ejecutable o aplicación. El cual será intervenido mediante el depurador con fines de exploración de código fuente. La GUI de OllyDbg La interfaz gráfica de la herramienta OllyDbg, cuenta por lo general con cuatro áreas, las cuales deben ser analizadas por el desarrollador, analista o cracker. En la siguiente infografía, se puede apreciar la interfaz de OllyDbg, en la que se señalan cada una se las áreas que la componen:

1. Área de desensamblado: en esta parte se observará el código del crackme a bajo nivel. En esta sección se verán cuatro columnas: dirección de memoria (la cual puede llegar a variar por equipo), el código de operaciones (es lo que lee y entiende el equipo), la columna de código assembler y finalmente los comentarios.

2.

31 32

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Área de registros: contiene los registros que maneja la CPU: EAX, EBX, ECX, EDX, etc. 3. Área de pila (STACK): aloja los valores temporalmente para recuperarlo en los registros. 4. Área de volcado (DUMP): se encarga de mostrar el contenido de la dirección de memoria. Se integra de tres columnas: dirección de memoria, valor Hexadecimal y código ASCII. Configurando OllyDbg Con la finalidad de poder apreciar mejor el contenido desde la interfaz (de por sí, ya tan abstracta) del presente depurador, se recomienda una configuración inicial. La cual consiste en activar una serie de interesantes opciones para resaltar el contenido. Práctica auxiliar para conseguir efectuar una búsqueda más dinámica de los registros-banderas, posiciones de memoria, binarios a la hora de analizar un ejecutable. En el siguiente Paso a Paso, se describe la forma de hacerlo. NOTA: tras descargar la herramienta (la cual se lee como: OLLYDBG.EXE), será necesario ejecutarla con permisos de administrador. 1. Debe comenzar configurando la ubicación de Pluginsy el repositorio de UDD. Estos son losbackup o respaldo de cada ejecutable. Cada cambio que se realice sobre el mismo, se generará un backupcon extensión .udd. Para esta tarea, debe ingresar al menú Optionsy después seleccionar Appearance; sitio donde podrá comenzar a configurar las rutas (pestaña Directories). Una vez hecho esto, presione OK y proceda a reiniciar la aplicación para efectos de cambio.

2. Después debe oprimir clic nuevamente sobre el menú Options, y así elegir la opción Debuggingoptions. Tras efectuar esto, se apertura otra ventana en la que debe seleccionar la opción CPU y habilitar las casillas que se muestran en la imagen siguiente. Presione OK. Estos cambios tienen como fin simplificar el trabajo a la hora de analizar el ejecutable, ya que le mostrará con una pequeña flecha, hacia donde se dirige el flujo de saltos condicionales.

33 34

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

3. Con el fin de verificar el efecto de los cambios antes realizados a la herramienta, proceda a abrir un ejercicio de prueba (que en este caso puede ser cualquier aplicación con extensión .EXE por ejemplo: CRACKME.EXE. El cual se adjunta en la plataforma del presente libro en la sección Capítulo 4). Esto se consigue desde File>Open>archivo.exe.

4. Con el fin de resaltar las llamadas (a procedimientos o APIs de Windows) y saltos condicionales del ejecutable (JMP y CALL respectivamente), es necesario configurar la forma en la que se presenta la información (apariencia). Para esto, debe presionar clic derecho sobre la sección Disassembler y seguir la ruta: Appearance>Highlighting>Jumps ‘n’ calls. 5. Note que el área de Desensamblado (la cual se encuentra conformada básicamente por tres columnas: Offset o dirección de memoria, Códigos de operación y Código en ensamblador), ha cambiado de apariencia, pues se han resaltado algunas líneas de código de color verde, amarillo o en ocasiones rojo.

35 36

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Imagen 4

Imagen 5 Resulta importante saber, que, tras haber efectuado una configuración sobre la interfaz de OllyDbg, será más sencillo identificar ciertos elementos durante la depuración de alguna aplicación. Diseño de un crackme en C Muchos compiladores de lenguaje C, por lo regular generan dos archivos de gran relevancia: el archivo.cpp y el archivo.exe. Siendo éste último, el que mantiene ocultas las líneas de su programación, y que a la vez funge como aplicación.

37 38

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Los archivos ejecutables con extensión .exe difícilmente dejan ver el código fuente, a menos que sea inspeccionado con alguna herramienta como OllyDbg (usada para efectos de ingeniería inversa). En el siguiente Paso a Paso, se ilustra el procedimiento para la creación de un crackme en lenguaje C, para lo que será necesario el uso de la IDE: DEV-C++. NOTA: el programa a desarrollar, debe validar un nombre de usuario (Username) y una contraseña (Password) correctas. En caso de serlas, el programa arrojará el siguiente mensaje: Bienvenido al sistema, de lo contrario; el mensaje dirá: Logueo incorrecto, intente de nuevo. Opcionalmente, dicho password se puede intentar ocultar debajo de una cadena de asteriscos o puntos. El crackme, debe guardarse como PRUEBA_CM. 1. Inicie abriendo DEV-C++ y enseguida proceda a crear un nuevo Archivo Fuente: Menú Archivo>Nuevo> Archivo Fuente.

2. Posteriormente guarde el archivo en una localidad de su disco duro (por ejemplo, en el Escritorio en una carpeta llamada Crackmes). Lo anterior con el nombre: PRUEBA_CM. 3. Comience a capturar el código fuente que se muestra en la siguiente imagen. Verifique cada línea de código (sobre todo la declaración del nombre de usuario y su password, el cual, se encuentra definido por el programador). Guarde los cambios, compile, ejecute y efectúe las pruebas de logueo correspondientes. Finalmente, cierre DEV-C++.

39 40

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. Note que los archivos generados (sobre el repositorio donde ha decidido guardar su crackme) son dos: PRUEBA_CM.cpp y PRUEBA_CM.exe. 5. Oprima dos clics sobre el archivo ejecutable. Pruébelo y proceda a almacenarlo en algún dispositivo USB o súbalo a la Web para plantear el desafío de cracking.

Lo que sigue, es obtener estas credenciales mediante el uso de un depurador. Las cuales, se verán mediante la inspección del código fuente. En este caso, no será necesario generar un parche. En la siguiente imagen, se puede apreciar dicha información.

Develado de la contraseña del archivo PRUEBA_CM.exe desde OllyDbg. Pruebas de ingeniería inversa

Para llevar a cabo algún tipo de prueba relacionada con la ingeniería inversa, se deben considerar dos cosas: el objetivo del crack y las herramientas a utilizar. El objetivo de la presente práctica, en un principio, se centra básicamente en efectuar un salto de registro para obtener como resultado un mensaje de acceso correcto. Lo anterior, para después validar cualquier clave de acceso. Finalmente, deberá generarse un parche que refleje los cambios realizados. En cuanto a las herramientas, deberá tenerse a la mano: OllyDbg, y el crackme en cuestión (para llevar a cabo esta actividad, se ha de trabajar con el archivo ejecutable: CRACKME.EXE, archivo que hace referencia el Paso a Paso anterior). Ambos recursos deben estar almacenados en alguna localidad del equipo donde se realiza la práctica. De igual modo, es necesario tomar en consideración la ruta de almacén de archivos udd y pluggins. Antes de dar comienzo con el siguiente Paso a Paso, se recomienda realizar una copia y resguardo del archivo CRACKME.EXE. Útil como respaldo para el futuro. Desensamblando un crackme.exe PARTE_1 1. Inicie probando el funcionamiento del crackme, para ello, presione doble clic sobre el archivo CRACKME.EXE. Una vez hecho esto, se aconseja colocar cualquier cifra dentro del campo contraseña, tal como se muestra en la imagen. Lo anterior traerá consigo un mensaje que indica que el password no es el correcto (conocido a menudo como BAD BOY). Termine presionando Aceptar.

41 42

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Posteriormente ejecute la Herramienta OllyDbg como administrador (en el que se refleje la configuración inicial vista en el Paso a Paso_1, que incluye la definición de rutas). 3. Desde OllyDbg abra el ejecutable oprimiendo menú Abrir para posteriormente presionar (solo una vez) sobre el botón PLAY ubicado en la barra de herramientas de la interfaz.

4. Ahora, es necesario efectuar la búsqueda del texto expuesto tras ejecutar el crackme con un password incorrecto (Maybe, youshould try again, it’ssoooeasy!!). Para esto, presione clic derecho sobre cualquier espacio del desensamblador y siga la ruta: Searchfor>Allreferencedtextstrings.

5. Debe centrarse ahora en la línea que señala al BAD BOY (con el texto Maybe, youshould try again, it’ssoooeasy!! en la dirección 0040126E). Proceda presionando doble clic.

43 44

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

6. Proceda a analizar tanto el string que dice: Youenteredtherightpassword (ubicado en la dirección de memoria 00401258), como la instrucción JNZ (0040124F), la cual representa un salto a la dirección 00401267 (salto encargado de decidir si aparecerá el conocido BAD BOY o GOOG BOY.

7. Tras este análisis, deberá agregar un BreakPoint (BP) con la tecla F2 sobre la dirección 0040124F. La función del BP, es detener el proceso, para poder realizar otro análisis. Después presione la tecla F9 (o PLAY) para ejecutar el crackme. Agregue la clave con la que se ha propuesto jugar: 271114. Tras el mensaje de clave incorrecta, proceda a presionar clic sobre el botón Check, y analice lo que sucede.

8. Observe que una vez que oprime el botón Check, el proceso se detiene en la dirección 0040124F y por tanto, OllyDbg se encarga de mostrar la palabra Pausa (sombreada de color amarillo) sobre la parte inferior derecha de la interfaz. Note que el programa se ha detenido justamente sobre el BP agregado. En este punto se puede deducir que: JNZ: salta si Z=0 y No salta si Z=1 (nomenclatura señalada en la sección de registros de OllyDbg).

9. Proceda a presionar la tecla F8, esto con el fin de conocer la siguiente línea a ejecutar (proceso conocido como Traceo, ya que expone la ejecución línea por línea). El salto para este caso, se ve transpuesto hacia la dirección 00401267. Punto en el que se ejecuta el MessageBoxA de BAD BOY.

10. Ahora presionamos F9 o play y observe que debe aparecer el BAD BOY. Acepte el MessageBox del BAD BOY e ingrese nuevamente la clave: 271114, y presione clic en Check. Note como nuevamente se detiene en el BreakPoint sobre la dirección 0040124F. En este punto es donde se decide si se efectúa un salto al BAD BOY o en su defecto al GOOD BOY. En este caso, se observa que el salto es hacia el BAD BOY.

45 46

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Es necesario recordar que: JNZ: salta si Z=0 y no salta si Z=1. La bandera Z es la flag, que decide si JNZ se activa o no. En este caso se propone modificar el valor de la bandera de un valor cero (0) a uno (1) y así comprobar si salta o no. Como es de esperarse, se muestra un texto en la parte inferior que dice: Jumpis NOT taken. Es decir que, no saltará.

11. Para poder validar que no se efectuará algún salto, proceda a tracear con la tecla F8. Y de este modo, ver la siguiente línea que se ejecutará (00401251). En este punto puede presionar la tecla F9 o PLAY. El resultado es el GOOD BOY.

Una vez expuesta la forma de efectuar un salto condicional utilizando un crackme, será necesario llevar a cabo un par de modificaciones adicionales, con el fin de hacer válida cualquier clave de acceso que el usuario quiera ingresar, aun cuando esta, no es correcta. Para este ejercicio, es necesario analizar el siguiente Paso a Paso: Desensamblando un crackme.exe PARTE_2. 1. Lo que debe hacer ahora, es modificar la línea de instrucción JNZ situada en la dirección 0040124F, e indicarle al programa que cualquier palabra que desee ingresar, sea considerada como clave válida. Para esto, seleccione la línea a modificar; que en este caso se trata de JNZ (ubicada en la dirección 0040124F).

47 48

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Presione doble clic sobre la instrucción a modificar, lo que trae como resultado la apertura de un cuadro titulado como Assembler at 0040124F (la dirección es diferente para cada equipo). En este punto puede agregar la instrucción contraria a JNZ. Es decir: JE.

2. Ahora proceda a cambiar el código. Para esta tarea, sustituya JNZ SHORT Dirección, por: JE SHORT Dirección. Después presione clic sobre la casilla de verificación: Fillwith NOP. Luego de cambiar el código, finalice haciendo clic sobre el botón Assemble.

3. Observe que, tras este último cambio, la fuente de la instrucción modificada cambió a color rojo. Comience a presionar F9 para verificar si la modificación tiene algún efecto. Para esto, ingrese como clave: 271114 (y aunque se entiende que esta no es clave correcta), la modificación debería enviarnos el MessageBox del GOOD BOY.

4. Tras presionar sobre el botonCheck, el proceso se detendrá en el BP. Luego presione la tecla F8 (para ver cuál sería la siguiente instrucción que se ejecuta). Como puede observar, no se produce el salto. Aunque para conseguirlo es necesario presionar F9 o PLAY.

49 50

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Generación de parches Para crear un parche desde un depurador, en este caso sobre OllyDbg, deberán seleccionarse todas las líneas sobre las que se han efectuado cambios durante el proceso de depuración, para proceder finalmente a guardarlos en un nuevo archivo ejecutable que será el reemplazo del original. Para saber cómo se efectúa esta tarea, se propone analizar el siguiente Paso a Paso, el cual deriva del PxP anterior. 1. La pregunta que debe plantearse en este punto es: ¿cómo guardar la modificación anterior, y cómo conseguir que se ejecute sin problemas? Para ello, es necesario hacer clic derecho en la dirección 0040124F (donde se ubica la instrucción JE, que representa la línea modificada de color rojo), para luego ir a Copytoexecutable->Selection.

2. Como se puede observar, este punto se encarga de mostrar todo el código del crackme, así como también la última modificación efectuada. Proceda a hacer clic derecho sobre cualquiera de las instrucciones expuestas y diríjase a la opción Save file.

3. Al momento de almacenar el parche, considere un nombre válido, además de una ruta adecuada para su fácil acceso. En este caso, sobre la misma ruta donde reside CRACKME.EXE, proceda a guardar el parche como CRACKME_PARCHE.exe 4. Tras guardarlo cierre OllyDbg. Proceda ahora a ejecutar el archivo CRACKME_PARCHE.exe y colocar cualquier password. En este caso: PRUEBA_USERS. Lo anterior con el fin de validar si se ejecuta sin problemas.

51 52

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

6.0 HACKING DE REDES WI-FI

El hacking de redes inalámbricas se puede llevar a cabo a través de diferentes medios, que van desde software, hasta hardware. En este proyecto se efectúa una demostración en la que se ilustra un ataque a redes inalámbricas protegidas por WPA2. Lo anterior, gracias a la herramienta Aircrack-ng desde Kali-Linux.

Herramientas para el hacker

Algunas de las tantas herramientas más utilizadas para hackear redes inalámbricas, son sin duda Aircrack-ng y AirSlax, aunque este proyecto está enfocado al uso de la primera herramienta. Aircrack-ng consiste es una suite muy completa para las auditorías Wi-Fi, la cual, permite al pentester realizar un completo análisis sobre la propia red. Con este recurso será sencillo obtener credenciales de servicios WEP, WPA, WPA2.

Shell que muestra AirCrack: herramienta más utilizada para efectos de hacking de redes inalámbricas

53 54

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Modos de seguridad

Se debe saber que,Aircrack-ng permite realizar potentes auditorías hacia los servicios WEP, WPA y WPA2, a menudo conocidos también como modos de seguridad en redes Wi-Fi. Estos se definen a continuación:

WEP: (WirelessEquivalentPrivacy), es un mecanismo de cifrado utilizado por WI-FI, el cual permite al administrador la definición de un conjunto de claves para cada usuario de la red inalámbrica.

Conforme a lo especificado en la norma, WEP utiliza el algoritmo RC4 con una clave de 40 bits o de 128 bits. Misma que se utiliza para cifrar los datos antes de transmitirlos a través de ondas. Si una estación recibe un paquete que no está cifrado con la clave adecuada, el paquete es rechazado y no se envía al host, lo que impide el acceso no autorizado y el espionaje.

WPA: (Wi-Fi Protected Access) fue creado por el grupo industrial y comercial Alianza Wi-Fi. De igual modo, los datos utilizan el algoritmo RC4 con una clave de 128 bits y un vector de inicialización de 48 bits. Una de las mejoras más sobresalientes sobre su predecesor, WEP, es TKIP (Temporal Key Integrity Protocol o Protocolo de integridad de clave temporal), el cual consiste en el cambio dinámico mientras se utiliza el sistema. Cuando se combina con Vectores de Inicialización mayores, hace considerablemente más difícil realizar ataques para la obtención de llaves, como ocurre con WEP.

WPA2: (Wi-Fi Protected Access 2), también conocido como IEEE 802.11i. Se trata de una enmienda en la seguridad del estándar 802.11 (WPA). WPA2 establece medidas estándares de seguridad para redes inalámbricas. Además, WPA2 termina de reemplazar por completo el sistema de seguridad WEP, que carecía de la seguridad suficiente. WPA2 reemplaza el WPA. Introduce el CCMP, una nueva forma de encriptación basada en cifrado por bloques AES con gran seguridad.

Imagen que muestra el área del modo de seguridad en un router doméstico.

55 56

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Ataque WPA/WPA2

El ataque a una red inalámbrica, se puede efectuar tanto para WEP como para WPA o WPA2. El ataque a la seguridad de la red Wi-Fi que se propone a continuación será para el modo de protección WPA2 (ya que para WPA es una estructura similar) desde Kali-Linux:

1. Primeramente deberá contar con un adaptador de red inalámbrico. El cuál será detectado por el sistema tras escribir el comando iwconfig desde la terminal de Kali Linux. El nombre de su tarjeta de red inalámbrica, que en este caso aparece es: wlan0.

2. Como siguiente paso deberá setear la interfaz Wi-Fi en modo monitor. El cuál tiene como objetivo de permitirle detectar (escuchar) las redes inalámbricas que se encuentran alrededor (incluso permite realizar una inyección de paquetes hacia el objetivo). Para este proceso ejecute: #airmon-ngstart wlan0 (se sugiere cambiar wlan0 por el nombre de su interfaz de red Wireless).

Note que, en este caso la interfaz en modo monitor es: wlan0mon.

3. Posteriormente deberá utilizar el comando #airodump-ng wlan0mon para escuchar las redes disponibles, y así mismo determinar cuál de todas será el objetivo para el ataque. En este caso nos enfocaremos en la red llamada Hogar. La cuál posee un cliente conectado (que se señala en la esquina inferior izquierda con el BSSID: B4:52:7D:D4:B1:9D). Pues gracias a este cliente será posible extraer lo que se conoce como: Handshake.

57 58

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. Antes de obtener el llamado Handshake, será necesario utilizar el siguiente comando: #airodump-ng --bssid B4:52:7D:D4:B1:9D --channel 6 -w red_hogar wlan0mon, con el cuál conseguirá ver la forma en que actúa el AP (Hogar) y cuánto tráfico está generando.

5. Para lograr obtener el Handshake, es necesario desautenticar al cliente que está conectado a la red que se desea atacar. Una vez que el cliente sea desconectado e intente nuevamente conectarse a la red, se obtendrá el Handshake para posteriormente ser crackeado. Para realizar esta tarea se utilizará la herramienta aireplay-ng de la siguiente manera: #aireplay-ng -0 3 -a B4:52:7D:D4:B1:9D -c E0:2A:82:DA:DA:A4 wlan0mon. Con esta secuencia se ha dado la orden de interceptar al AP Hogar, de tal manera que se desautentificará al cliente conectado a dicha red.

6. Tras la desautenticación exitosa, la intercepción y la obtención del Handshake, Finalmente se intentará realizar un ataque por fuerza bruta offline hacia este Handshake. Lo anterior con la siguiente secuencia: #aircrack-ng red_hogar-01.cap -w rockyou.txt. Con este comando es posible realizar un crack con el diccionario rockyou.txt al archivo red_hogar-01.cap el cual fue creado con airodump-ng.Note que el ataque fue exitoso.

59 60

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

7.0 ESTEGANOGRAFÍA

En esta ocasión, el protagonista es la esteganografía. Una práctica idónea que pone sobre la mesa una opción a la que han recurrido muchos personajes con el único fin ocultar mensajes a través medios visuales como imágenes, para después enviarlos a su destinatario. Esto último utilizando correo electrónico, páginas Web o medios extraíbles. En este proyecto, se efectúa una demostración básica sobre su uso.

Esteganografía

Del griego steganos (oculto) y graphos (escritura), la esteganografía se puede definir como la forma de ocultar información en un canal encubierto. Lo anterior con el propósito de prevenir la detección de un mensaje oculto.Esta ciencia ha suscitado mucho interés en los últimos años debido a que ha sido utilizada por organizaciones criminales y terroristas. La cuál además, debe ser diferenciada de la criptografía.

Actores implicados en la Esteganografía

Se pueden observar distintos actores implicados en el campo de la estenografía. A continuación, se listan los principales, mismos que se utilizarán en la práctica en de este proyecto.

-Mensaje: se trata de las líneas de texto que desean comunicarse al destinatario.

-Objeto contenedor: se trata de la entidad que se emplea para portar el mensaje oculto.

-Estego-objeto: se trata del objeto contenedor más el mensaje encubierto.

-Adversario: son todos aquellos entes a los que se trata de ocultar la información encubierta. Este adversario puede ser pasivo o activo.

Un adversario pasivo sospecha que se puede estar produciendo una comunicación encubierta y trata de descubrir el algoritmo que se extrae del estego-objeto, pero no trata de modificar dicho objeto. Un adversario activo, además de tratar de hallar el algoritmo de comunicación encubierta, modifica el estego-objeto con el fin de corromper cualquier intento de mensajería subliminal.

El arte de ocultar la información

Con el fin de comprender lo anterior, se sugiere analizar el siguiente escenario:

Imaginemos que se desea enviar un mensaje oculto vía correo electrónico a un familiar o amigo que se encuentra de residente en otro país. Y que, por lógica, no queremos que ciertas personas intercepten ese mensaje. ¿Qué sería una buena práctica para llevarlo a cabo?.

La solución está en hacer uso de la esteganografía. Pero, finalmente la pregunta es: ¿qué se requiere?

-Una computadora con cualquier sistema operativo (en este caso se utilizará Windows (de manera específica: el símbolo del sistema).

-Una imagen (o foto) cuyo tamaño, en este caso, no exceda los 800 MB (aunque para otro tipo de prácticas, se pueden utilizar medios HD).

-Un archivo de texto (que originalmente se redacta en Microsoft Word) que incluya el mensaje para el amigo o familiar.

-Winrar instalado.

1. Primeramente debe redactar el mensaje que desea enviar. Lo anterior mediante el uso de algún editor de texto (Microsoft Word). Proceda a guardarlo en alguna localidad de su disco duro (por ejemplo, el Escritorio) con un nombre que lo identifique, por ejemplo: Mensaje.doc.

61 62

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Posteriormente, deberá comprimir el documento con la ayuda de algún compresor de archivos como Winrar. Se sugiere la protección con contraseña del archivo comprimido (cuya cadena, no debe ser menor a 8 caracteres de longitud, debe incluir el uso de mayúsculas, minúsculas, números y algún símbolo especial). Esto último se hace con la finalidad de integrar en cierto modo, la criptografía con la esteganografía.

Nota: tenga presente que el destinatario debe conocer esa clave.

3. Posteriormente abra una ventana de comandos (en este caso el Símbolo del sistema de Windows o Power Shell) y escriba lo siguiente: C:/>copy /b Foto.jpg + Mensaje.rar Foto-msg.jpg.

Donde:

-Foto.jpg: consiste en la imagen en el que permanecerá oculto el mensaje (objeto contenedor).

-Mensaje.rar: es el archivo comprimido con el mensaje.

-Foto-msg.jpg: es el archivo resultante, el que contendrá el mensaje oculto. El cuál es considerado como el Estego-objeto.

-copy /b: este comando genera una copia binaria de la imagen (Foto.jpg con el mensaje oculto).

63 64

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. Proceda a enviar la información generada, por correo electrónico. Se pueden enviar diferentes medios, aunque el más común son las imágenes. Puede, además cambiar el nombre del archivo que incluye el mensaje.

5. Ahora, si prueba abrir el archivo resultante con el visor de imágenes de Windows o su visor preferido, podrá apreciar en pantalla la foto original. Pero al intentar abrir dicha imagen con Winrar, se verá el archivo comprimido: Mensaje.rar.

Nótese que lo anterior es totalmente transparente para el usuario.

Se debe saber qué, al realizar este método, el archivo con el mensaje oculto tendrá un tamaño igual a la imagen original más el tamaño del archivo a ocultar, lo cual puede levantar sospechas tras un análisis. Por ejemplo, si envía una imagen .jpg de 800x600 que pese 5.0 MB. Por esta razón es conveniente comprimir el archivo a ocultar para tratar de disimular el tamaño.

65 66

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Como se puede apreciar, aunque lo anterior es muy sencillo de realizar, puede llegar a ser fácil de detectar, por ello es conveniente codificar el archivo con una contraseña segura.

• Bin Laden fue uno de los tantos personajes que ha hecho uso de esta práctica para el envío de mensajes ocultos a sus oficiales (esto según, el FBI y la CIA).

8.0 ATAQUE DOS

En este proyecto, se realiza una demostración de cómo llevar a cabo un ataque DOS mediante herramientas GNU-Linux. Se propone la explicación de una de las diversas formas en que los atacantes efectúan este tipo de prácticas.

Ataques DOS Un ataque de denegación de servicios o DOS, es aquel en el que una cantidad considerable de sistemas o conexiones, intentan interceptar a un único objetivo, provocando la caída del servicio en el sistema afectado. Hay que entender qué, la sobrecarga de mensajes entrantes sobre el sistema objetivo forzará su cierre, denegando así el servicio a los usuarios legítimos. HPING3 desde Kali-Linux

HPing3, es una herramienta de uso libre distribuida bajo licencia GNU, la cual es a menudo utilizada para generar paquetes IP a discreción. Lo anterior quiere decir que permite crear y analizar paquetes TCP/IP.

HPing3, no solo es capaz de enviar paquetes ICMP, sino que también es capaz de enviar paquetes TCP, UDP y RAW-IP.

Esta herramienta será utilizada en esta práctica con el objetivo de generar lo que se conoce como un SYN FLOOD ATTACK. El cual consiste en un tipo particular de ataque donde no se cumple una condición de consulta TCP/IP habitual. A menudo, este se genera dejando al servidor a la espera del ACK final, lo que provoca que, si se realizan miles de consultas de este tipo, el equipo remoto colapsa por falta de recursos.

En este proyecto, el propósito consiste en generar un alto número de inicios de conexión sin finalizar, dejando al servidor a la espera del cierre de la conexión y provocando así la caída inminente del servicio por falta de recursos físicos para soportar múltiples conexiones. Requerimientos para efectos del ataque DOS Las herramientas que se requieren para efectos de demostración en elpresente proyecto son: - Kali Linux: es el sistema bajo el que se realizará el ataque. - Metasploitable: consiste en una herramienta de GNU-Linux, que puede descargarse desde: https://information.rapid7.com/download-metasploitable-2017.html.. Se trata de una máquina virtual basada en Linux que contiene varias vulnerabilidades intencionales para su explotación. Metasploitable es esencialmente un laboratorio de pruebas de penetración. Las credenciales de acceso a esta herramienta son: Usuario: msfadmin y contraseña: msfadmin.

67 68

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

-WireShark: herramienta (analizadora de protocolos) que permite la verificación de consultas mediante el uso de diversos comandos. Se puede descargar desde su página oficial: https://www.wireshark.org. El ataque DOS Una vez listas las herramientas, proceda a realizar lo siguiente: 1. Comience explorando la dirección IP tanto de la máquina que contiene Kali-Linux, como del equipo con Metasploitable. En este caso se tiene qué, Kali-Linux (atacante) cuenta con la IP: 192.168.56.101, y sobre la máquina con Metasploitable (víctima) se tiene la dirección 192.168.56.102.

2. Ahora, proceda a realizar una consulta de conectividad (test TCP) hacia el equipo de la víctima. Para ello escriba la orden #hping3 192.168.56.102 desde la terminal de Kali-Linux. A la par, abra WireShark y coloque el siguiente filtro: ip.src==192.168.56.101 (consulta por protocolo TCP a 54 bit). Verifique los resultados obtenidos en tiempo real tanto de la terminal, como los emitidos por el analizador.

3. Toca el turno de un test ICMP. Para esta tarea, ingrese el comando #hping3 -1 192.168.56.102desde KaliLinux. En la presente prueba se puede observar una consulta a 42 bytes. Nota: desde este paso en adelante, no olvide verificar el filtro emitido sobre la caja de texto Filterdesde WhireShark.

69 70

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. Para efectos de un test UDP, escriba el comando #hping3 -2 192.168.56.102, bajo el cual se obtiene un resultado de consulta UDP de 42 bytes.

Spoofing: práctica en la cual un atacante (generalmente con usos maliciosos o de investigación), se hace pasar por una entidad distinta a través de la falsificación de los datos en una comunicación.

5. Para esto último, proceda a ocultar su dirección IP al servidor víctima y a su vez efectúe las consultas pertinentes por TCP. Esto requiere la ejecución del comando: #hping3 -a 1.2.3.4 192.168.56.102. Note qué, ahora el source ya no es 192.168.56.102, sino 1.2.3.4. Con esto, el firewall o el IDS no sería capaz de reconocer la IP del atacante (aunque sí pueda percatarse del ataque). Dada la circunstancia, en esta ocasión deberá hacer un cambio sobre el filtro desde WireShark, tratando de apuntar en esta vez al servidor destino (es decir la victima). El cambio se aprecia como: ip.dst==192.168.56.102.

71

72

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

6. Una forma de poder evitar que un firewall o IDS identifique el ataque, sería hacer creer al firewall o IDS que se lleva a cabo una consulta que apunte al puerto 80. Para esto sería necesario teclear el comando#hping3 –a 1.2.3.4 192.168.56.102 –p 80. Aprecie qué, todas las consultas han sido emitidas desde la IP 1.2.3.4 al puerto 80 mediante TCP. Aunque para un firewall o IDS es aún muy fácil detectarlos. Lo anterior se debe a que, por lo regular, las consultas cada 1 segundo al puerto 80 son bastante sospechosas.

7. Lo que ahora procede, será burlar por completo y de manera definitiva al firewall o IDS. Para esto, teclee el siguiente comando: #hping3 –rand-source 192.168.56.102 –p 80. Sin duda, con esta última prueba, podrá observar que Kali-Linux se encuentra enviando peticiones a la víctima con IPS aleatorias (aunque lo hace con 54 bytes, por lo que para colapsar el sistema no sería suficiente).

73 74

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

8. Deberá entonces alterar el tamaño de los paquetes enviados por TCP. Por tanto, es necesario proceder del siguiente modo: #hping3 --rand-source -d 500 192.168.56.102 -p80. Con el comandó que acaba de ejecutar, se le han sumado 500 bytes a una consulta clásica de TCP de solo 54 bytes. Ahora solo resta colapsar los sistemas para hacer las pruebas de tolerancia.

9. Para cambiar la velocidad de tráfico con hping3 desde la terminal en sistemas GNU-Linux es necesario escribir: #hping3 –h. Esto mostrará datos como: fast = 10 paquetes por segundo, faster = 100 paquetes por segundo y, flood = envío de paquetes lo más rápido que sea posible. Inicie probando el envío de 10 paquetes por segundo con el uso del parámetro fast: #hping3 --rand-source -d 500 192.168.56.102 -p80 –fast. Note el cambio que se efectuó sobre la tabla de WireShark en el registro 11, esto tras el envío de 10 paquetes por segundo.

75 76

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

10. Ahora proceda a enviar un total de 100 paquetes por segundo con el parámetro faster. Para ello escriba: #hping3 --rand-source -d 500 192.168.56.102 -p80 –faster. La presente consulta envío más de 9962 paquetes. Note qué, en el registro marcado (No. 9975), se ha perdido la conexión con el servidor víctima. Ahora sólo resta probar el parámetro flood: #hping3 --rand-source -d 500 192.168.56.102 -p80 --flood.

9.0 RECUPERACIÓN DE ACCESOS CON TRINITY RESCUE

En el presente proyecto se explican los pasos para la recuperación de accesos en sistemas Windows. Lo anterior tras haber extraviado la contraseña del administrador. Para llevar a cabo esta actividad se hará uso de la distribución Trinity Rescue Kit.

Trinity Rescue Kit

Este recurso consiste en una interesante herramienta que le va a permitir, entre otras cosas, recuperar información eliminada, clonar sistemas, recuperación de particiones, e incluso, la recuperación de accesos al sistema tras haber olvidado la contraseña de acceso. Se trata de una distribución de GNU-Linux cuya interfaz es modo texto.

Antes de iniciar con el procedimiento para la recuperación de acceso a un sistema Windows, se sugiere contar con un CD Boot (o en su defecto USB Boot) de la distribución Trinity Rescue Kit. Además de la configuración necesaria (orden de arranque de dispositivos) sobre el SETUP del equipo para efectos de carga.

1. Esta primera imagen muestra el inicio de sesión tradicional al Escritorio de un sistema Windows. Al cual no es posible tener acceso, pues el usuario desconoce la contraseña para poder ingresar. Se sugiere en este caso, reiniciar el sistema para poder cargar la distribución Trinity Rescue Kit.

77 78

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Previamente configurado el SETUP del equipo en cuestión, y una vez reiniciado, aparecerá en pantalla un menú a modo texto compuesto por múltiples opciones. Seleccione Run Trinity Rescue Kit 3.4 (default mode).

3. Una vez que ha dado inicio la distribución, aparecerá otro menú, sobre el cual debe seleccionar la opción que dice: Quitthismenu. Lo anterior, para iniciar configurando el teclado en castellano, para ello escriba: trk ~ # loadkeys es.

79 80

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. Ahora proceda a mostrar la tabla de usuarios. Sobre la que debe figurar su sistema actual. Para ello, escriba: trk ~ #winpass –l.

Tras esto, escriba: trk ~ #winpass –u Users (en este caso, Users es el nombre del sistema actual).

Note qué, tras lo anterior, el sistema solicitará la selección de una partición válida. Seleccione la partición en la que se tiene el sistema operativo. En este caso la opción 1: /sda2/Windows. Lo cual se representa como: Makeyourchoiceor “q” toquit [1]: 1

81 82

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

5. Una vez seleccionada la partición, aparecerá un pequeño menú con diferentes opciones:

1: Dejar la contraseña en blanco.

2. Editar la contraseña.

3. Eliminar usuario (crear un usuario Administrador)

4. Desbloquear y activar la cuenta de usuario (parece desbloqueado)

5. Salir de usuario de edición, (vuelta para seleccionar un usuario).

En este caso, se propone elegir la primera opción. Select: [q] > 1

6. Finalmente proceda a reiniciar el sistema. Una vez que el equipo solicita la contraseña del usuario, debe presionar simplemente la tecla ENTER. Note que, el Escritorio de Windows carga normalmente.

83 84

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

10.0 HACKING DE CUENTA ROOT EN SISTEMAS UBUNTU

El proyecto se centra en las vulnerabilidades de Ubuntu, tras permitir la modificación de su cuenta con privilegios de súper usuario. Así mismo, se explica la forma de activar la cuenta root. Lo anterior con el fin de poder cambiar los permisos del sistema para futuros ataques. Cuentas de usuario en Ubuntu-Linux Actualmente, cualquier sistema operativo cuenta con lo que se conoce como cuentas de usuario. GNU-Linux es un sistema que maneja tres cuentas: Guest (invitado), Administrator (administrador) y Root (Súper usuario). Estas son diferentes entre sí, por lo que es necesario conocer el momento preciso para ejecutarlas. La cuenta de súper usuario (root) Los sistemas operativos GNU-Linux se caracterizan por tener un usuario con permisos totales sobre el sistema. Tradicionalmente se le conoce como root, aunque también se le denomina súper usuario. Su carpeta personal se encuentra en /root. En Ubuntu, la cuenta de root viene desactivada por defecto, por seguridad. De esta forma se evita provocar destrozos en el sistema por desconocimiento de lo que se ejecuta o, por accidente. La cuenta de administrador La cuenta del usuario que se crea al instalar Ubuntu no debe confundirse con la cuenta del root. Pues la primera pertenece al grupo de administradores. Para dotar de privilegios de root al usuario administrador se utiliza el comando $sudo, cuya carpeta personal se encuentra dentro de /home/nombre-usuario. Nota: es aconsejable jamás poner la misma contraseña a ambas cuentas de usuario.

El GRUB El GRUB es a menudo denominado como el gestor de arranque de GNU/Linux, el cual ha logrado superar en prestaciones y posibilidades de configuración al ya conocido LILO (Linux Loader). La interfaz del GRUB, se encarga de mostrar un menú sobre el cual se encuentra una lista de (entre otras opciones) los sistemas operativos que se tienen presentes en un equipo. De esta manera, el usuario decide con cuál de estos iniciar. Hacking de cuentas de usuario Para llevar a cabo este proyecto, se partirá del caso en el que se desconocen las credenciales de acceso a Ubuntu (UsernameyPassword), las cuales se colocan una vez dentro de la ventana de sesión del sistema. Es importante mencionar que, aunque la mayoría de las veces se conoce el Username, puede llegar a ser la excepción con el Password. Para efectos de esta práctica, es imprescindible contar con el primer dato aunque de no ser así, la manera de poder conocerlo, esto tras navegar por el interior del directorio /home del sistema. 1. Inicie la carga del Escritorio de Ubuntu-Linux. Trate de ingresar las credenciales de acceso solicitadas en la ventana de inicio de sesión del sistema (login).

85 86

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

2. Debe ingresar al GRUB del sistema. Para lo qué, deberá reiniciar el equipo y posteriormente pulsar la tecla SHIFT izquierda de su teclado. Una vez dentro del GRUB, se seleccionará la opción: *Advanced Options for Ubuntu (opciones avanzadas de Ubuntu), para después pulsar sobre *Ubuntu, with Linux Versión generic (RecoveryMode). Esta última opción le permitirá ingresar a la consola de recuperación del sistema.

3. Una vez dentro del modo del Recovery Mode, se efectuará la carga del conocido Menú de recuperación (RecoveryMenu). Una interfaz a color, de la que deberá seleccionar la opción network para activar la red. En caso de estar activa, deberá entonces seleccionar la opción root, y después pulsar la tecla ENTER.

4. Posteriormente se abrirá una terminal sobre la parte inferior de la pantalla. Dentro de esta, puede tratar de averiguar el Username para conseguir el acceso al sistema. Lo anterior se consigue tecleando: #cd home. Posteriormente, tecle /home#ls. Esto último para listar el contenido del directorio /home, dentro del cual encontrará el Username empleado. Salga de directorio actual tecleando: #cd .. 5. Una vez dentro del área de la partición raíz (/), la cual se monta por defecto (y que, por ende, cuenta con una protección contra escritura) en el sistema. Ingrese el siguiente comando: ~$ mount –o remount,rw /. Con esto conseguirávolver a montar dicha partición con los permisos de lectura y escritura (rw) correspondientes, con lo que podrá efectuar modificaciones al sistema. Finalmente debe ingresar una nueva contraseña. Las órdenes son: #passwdUsuario Password Password 6. Una vez hecho lo anterior, teclear el comando exit, lo que permitirá salir de la terminal (raíz) y regresar al RecoveryMenu, donse se sugiere seleccionar la opción Resume seguido de un ENTER. Acepte el recuadro posterior. Con esto regresará al inicio de sesión de Ubuntu-Linux, donde se colocará la nueva contraseña de la cuenta objetivo. Tras ingresarla, presione ENTER.

88 87

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

7. Ahora debe activar la cuenta de super-usuario (root)desde la terminal de Ubuntu (CTRL + ALT + T). Esto se consigue a través del comando siguiente: ~$ sudo passwdroot. Después, le solicitara introducir dos veces un password. Una vez termine el proceso, la cuenta root estará activada. La recuperación de accesos en este sistema es una práctica que puede ser de gran ayuda, sobre todo cuando se han extraviado las credenciales de acceso, o en su defecto, desea cometerse una intrusión. Con la activación de la cuenta root, a menudo pueden efectuarse prácticas de sniffing para la modificación de permisos y por consiguiente, el robo de datos.

11.0 GENERACION DE UN EMAIL

SPAMMING

En este proyecto se propone la descripción del proceso para la generación de Email-spamming. Para esta tarea se empleará la distribución Kali Linux, donde a través de la terminal se ejecutan algunas configuraciones para efectos de ataque. ¿En qué consiste el Email-spamming? Actualmente, el correo electrónico (Email) es considerado como uno de los puntos de entrada más vulnerables tanto para particulares, como para una empresa (que ha montado un servidor SMTP). Y aunque los ataques por esta vía han sido recurrentes y por consiguiente efectivos para el atacante, un plan de medidas de seguridad óptimo reduce al mínimo el riesgo de ataques por Email-spamming. El spamming es una práctica maliciosa (ejercida por un atacante) que consiste en el envío masivo de mensajes de correo electrónico hacia un objetivo particular. Los términos asociados más habituales a este tipo de prácticas son: correo basura y correo no deseado, los cuáles hacen referencia a los mensajes habitualmente de tipo publicitario (aunque pueden ser de diferente índole). El correo electrónico no deseado, puede llegar a causar múltiples daños, aunque el más habitual es sobresaturar la bandeja de entrada del correo. En el peor de los casos pudiera quedar inhabilitado el servidor de correo.

90 89

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Modo habitual de ataque

Lo único que necesita conocer el ciber-delincuente para llevar a cabo un ataque Email-spamming, es sin duda la dirección de correo electrónico de su víctima (y desde luego, una herramienta que le permita explotar esta vulnerabilidad). Para su recopilación, a menudo hace uso de la ingeniería social. Un ejemplo clásico que suele presentarse con frecuencia en las redes sociales es el ya conocido bulo o hoax. El cual se define como una práctica que consiste en la publicación de contenido falso e incitante, el cuál es a menudo distribuido en cadena por sus sucesivos receptores (por lo regular es formulado para hacer creer a todo usuario que su contenido parece provenir de una fuente seria y fiable). Este tipo de publicaciones a menudo solicita ser reenviado a los contactos del destinatario (o en su defecto a presionar Me gusta). Los que crean los hoax suelen tener como principal objetivo el robo indirecto de direcciones de correo electrónico a gran escala. Lo anterior con el fin de mandar correo masivo, virus, mensajes con suplantación de identidad (spoofing), e incluso para persuadir al destinatario.

Claro ejemplo de publicaciones (cadena) para la extracción de correo electrónico (se trata de una leyenda urbana).

Ataque Email-spamming desde Kali-Linux

Como se sabe, Kali-Linux es una distribución para Pentesters, sobre la cual, en esta ocasión se utiliza para llevar a cabo un ataque Email-spamming con fines ilustrativos y didácticos. Para efectos de demostración se ocupará la consola de comandos nativa del sistema, sobre el cual se ejecutará un script que es capaz de generar una cantidad voluminosa de spam. 1. Para iniciar se requiere ejecutar un comando que permite clonar el repositorio donde se ubica el script (alojado en Internet). Para estoescriba la secuencia: #git clone https://github.com/jagreetdg/spikey-spammer.git seguido de un ENTER.

2. Hecho lo anterior, verifique la creación de la carpeta spikey-spammer con el comando #ls. Trate de ingresar a este directorio (con #cd spikey-spammer) y finalmente ejecute la herramienta. La ejecución se consigue introduciendo el comando: #pythonmain.py. Desde aquí podrá ver algunos parámetros de salida del script.

92 91

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

3. Como podrá apreciar, el sistema comenzará a solicitar algunos datos para ejercer el ataque, tales como: correo electrónico del objetivo (y por consiguiente del destinatario). Por lo que sería buena práctica la generación de un correo para atacar. 4. Comience a vaciar los datos solicitados (entre ellos: el proveedor de servicios) manteniendo presente el anonimato en todo momento. Configure además el mensaje a enviar (y en caso de incluir archivos, agréguelos). Finalmente ingrese el número de mensajes que desean enviarse. Presione ENTER.

5. Note el momento en el que se lleva a cabo la detonación del spam. En esta sección podrá ver un conjunto de cadenas MIME, al igual que los correos dados de alta para la prueba. Al final, se aprecia el envío de cada uno de los paquetes enviados. 6. Para comprobar el éxito de este ataque, aquí se muestra el screenshot de la bandeja de entrada del correo de la víctima. Note que se han enviado 1000 mensajes en este caso.

94 93

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

12.0 RASTREANDO DELINCUENTES

En este proyecto se propone conocer el funcionamiento general de la herramienta Trape. La cual ha sido diseñada con propósitos de investigación. Por tanto, este recurso brinda al usuario la posibilidad de buscar y, por consiguiente, rastrear personas vía remota. Herramienta utilizada en el universo hacker para localizar ciberdelincuentes. La herramienta Trape

Trape consiste en un software que ha sido desarrollado por el hacker Colombiano José Pino. Esta herramienta se encuentra disponible en dos versiones: opensourceo de código abierto (la cual es gratuita) y, la versión profesional, la cual tiene un costo de 28,000 dólares. Trape le permite al investigador trabajar de manera remota. Y, por tanto, es posible conocer, por ejemplo; en qué red social está conectada una persona. Lo anterior, con tan solo mandarle el link de una simple nota o página Web. Se sabe que la víctima presionará clic sobre el enlace, evento tras el cual la herramienta es capaz de elaborar unaperfilación: pues le indicará si se trata de un activista, un desarrollador o un pedófilo en busca de material audiovisual. La herramienta realiza también una predicción sobre el comportamiento del individuo, con lo que es posible saber con exactitud con qué persona o ciberdelincuente se está tratando. Argumentó el autor durante una entrevista. Algunos otros beneficios que propone el uso de esta herramienta son: el reconocimiento remoto de sesiones en redes sociales y otros servicios, como Facebook, Twitter, Reddit, Gmail, Tumblr, Instagram, GitHub, Spotify, PayPal, Amazon y AirBnB. El registro de víctimas, la obtención de información y la posibilidad de coordinar ataques dephishing en tiempo real. Es posible también la obtención de credenciales almacenadas dentro de los equipos rastreados y por tanto, el mapeo de las víctimas mediante técnicas de geolocalización.

Geolocalización con Trape Es importante recordar la definición de geolocalización: consiste en la capacidad para obtener la ubicación geográfica real de un objeto, como un ordenador, un teléfono móvil o cualquier dispositivo conectado a Internet. Por lo regular esta se hace por IP. La ubicación geográfica en la Web se determina, entre otras cosas, por medio de la dirección IP (Protocolo de Internet). Por tanto, este tipo de datos, cumplen con el propósito de informar sobre la región, país, ciudad, latitud y longitud, zona horaria, código postal, nombre de dominio e idioma de un determinado objetivo. Por medio de la ubicación geográfica, se puede hacer un rastreo o seguimiento, por ejemplo, de las personas que visitan un sitio Web en particular. La geolocalización por IP tiene sus ventajas y desventajas. Por un lado, se puede ubicar la procedencia de un fraude o delito informático para llegar a una solución. En el lado opuesto, permite que muchas empresas hagan un seguimiento de la actividad en línea de un usuario cualquiera. Los mapas de Google son un recurso auxiliar para efectos de localización de personas. Es por ello que hoy, forman parte de la interfaz de Trape.

El mapeo de una víctima se puede llevar a cabo mediante el uso de recursos como Google Maps.

De acuerdo a lo anterior, se debe saber que, para poder visualizar el mapa correspondiente para efectos de geolocalización, y por consiguiente, para poder llevar a cabo el mapeo de una víctima, será necesario obtener una clave API de Google Maps.

95 96

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

Clave API: es un tipo de identificación (Interfaz de Programación de Aplicaciones) para el uso de aplicaciones con Google Maps. Actualmente existen dos versiones: una de ellas es gratuita (con varias limitaciones) mientras que la otra se trata de una versión Premium, es decir, de pago para los usuarios que requieren sacarle mayor rendimiento.

Ataque o defensa con Trape Mucho se hablado en los últimos tiempos sobre el dilema de presentar una herramienta como Trape. Pues se sabe que las capacidades con las que cuentan las aplicaciones como esta, suponen hoy un riesgo para los derechos de la población de cualquier país. No obstante, es importante resaltar que finalmente ha sido desarrollada con fines de inteligencia y vigilancia por parte de los gobiernos, empresas u otro tipo de entidades. A continuación, se presenta un paso a poso que explica la forma de utilizar esta herramienta: 1. Inicie ejecutando el comando que permite clonar el repositorio donde se ubica la herramienta de rastreo (alojada en Internet). Escriba la siguiente secuencia: #git clone https://github.com/boxug/trape.git mas ENTER. Ahora intente listar el contenido del repositorio actual con #ls. Oprima ENTER, ingrese a la carpeta /trape que se ha creado.

2. Una vez dentro, proceda a configurar el proyecto y dejar que instale sus dependencias. Para esto es necesario ingresar el comando: #python trape.py -h.

Nota: de no funcionar el comando anterior, se aconseja utilizar la siguiente orden: #pipinstall -r requirements.txt

3. Ahora para ejecutar la herramienta será necesario colocar el siguiente comando: #python trape.py --url http://página.com --port 8080. Dónde: página.com es la URL de una página cualquiera, la cual es considerada como el anzuelo para atraer a una víctima. El puerto de entrada se coloca después del parámetro port. En este caso se utiliza el 8080. Presione ENTER. Posteriormente verá un declaimer en el que el autor del software nos expone el propósito principal de la creación de esta herramienta, además de los datos sobre repositorios de consulta e información de contacto. Presione la tecla ENTER para continuar.

97 98

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

4. La siguiente pantalla se encarga de darle a conocer las pautas de configuración de zona para el uso del software. Para lo que será necesario su registro en: https://ngrok.com (DDNS) para la obtención de un token. 5. Una vez hecho el registro en la página anterior, se verá el token correspondiente. El cual debe copiarse y pegarse sobre la terminal de comandos. Seguramente se requerirá también, la generación de una clave de Google para la navegación sobre mapas (tarea que ha de efectuarse más adelante). Presione ENTER.

6. Si todo ha salido bien, conseguirá el acceso a Trape. Verifique ahora los datos que aparecen en pantalla. Como podrá ver, se trata de varias URL distintas y una llave de acceso. Por ejemplo: el primer enlace le conduce a la página principal de consulta (el anzuelo que ha de utilizar el atacante para cazar a su presa). Presione clic para abrir la página de google.com. 7. Debe saber qué, el propio Trape ya ha detectado el ingreso a la página principal de consulta (anzuelo). Y, por tanto, ha registrado un usuario conectado desde el panel de control de Trape. Analice las conexiones que se aprecian en el presente panel (donde podrá efectuar la tarea de rastreo). Finalmente presione clic sobre el ícono azul ubicado en la parte inferior izquierda de la pantalla (dirección IP).

99 100

Seguridad informática – Prácticas de laboratorio Seguridad informática – Prácticas de laboratorio

Cuadernillo de trabajo

8. Comience a explorar el mapa desplegado en pantalla, donde podrá rastrear al usuario que acaba de conectarse mediante la página anzuelo.

Herramientas de prevención

Para poder evitar la geolocalización por IP, y por tanto poder navegar con total libertad sin correr el riesgo de ser rastreado, se aconseja la concepción de una VPN. Pues es importante recordar que, las redes privadas virtuales ofrecen una navegación anónima. Una alternativa que le permite tener una experiencia Web segura, confiable y veloz, se consigue mediante el uso de servidores de empresas de primera línea, como Le VPN.

Derechos reservados Redusers

La publicación adjunta, es obra de Gilberto González Rodríguez, autor de la editorial RedUsers.

Este cuadernillo es la recopilación de diversos contenidos, y prácticas con derecho de autor.

101