{"id":4816,"date":"2020-02-03T21:56:06","date_gmt":"2020-02-04T00:56:06","guid":{"rendered":"https:\/\/blog.clusterweb.com.br\/?p=4816"},"modified":"2020-02-03T23:38:11","modified_gmt":"2020-02-04T02:38:11","slug":"ficando-um-pouco-dodente-de-zmeu","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4816","title":{"rendered":"Ficando Um Pouco Doente De zmeu"},"content":{"rendered":"<p>Parece que todos os arquivos de log de todos os servidores HTTP que eu administro t\u00eam seus logs de erros repletos de erros HTTP 404 nos \u00faltimos dias.\u00a0E de onde exatamente est\u00e3o todos esses erros?\u00a0Aparentemente, eles v\u00eam de crian\u00e7as de script que procuram assumir os bancos de dados SQL para o lulz.<\/p>\n<h2>O QUE \u00c9 O ZMEU?<\/h2>\n<p>De minha pesquisa, o ZmEu parece ser uma ferramenta de seguran\u00e7a usada para descobrir falhas de seguran\u00e7a na vers\u00e3o 2.xx do phpMyAdmin, um gerenciador de banco de dados MySQL baseado na web.\u00a0A ferramenta parece ter se originado em algum lugar da Europa Oriental.\u00a0Como o que parece acontecer com todas as ferramentas de seguran\u00e7a do black hat, ele foi para a China, onde tem sido usado desde ent\u00e3o para ataques de for\u00e7a bruta ininterrupta contra servidores da Web em todo o mundo.<\/p>\n<p><!--more--><\/p>\n<h2>MAS EU N\u00c3O CORRO O PHPMYADMIN DE QUALQUER MANEIRA EM UM AMBIENTE DE PRODU\u00c7\u00c3O.<\/h2>\n<p>Francamente, qualquer pessoa que execute esse software bobo em algo que n\u00e3o seja um ambiente de teste sob restri\u00e7\u00f5es de acesso pesado provavelmente deve encontrar outra profiss\u00e3o.\u00a0No entanto, as constantes 404s que a ferramenta gera nos arquivos de erro podem ser um pouco irritantes e podem at\u00e9 causar um DDoS do seu servidor da Web, se voc\u00ea n\u00e3o tiver o or\u00e7amento para o hardware mais sofisticado.<\/p>\n<h2>COMO SEI SE ESTOU SENDO ATACADO POR ESSA COISA DO ZMEU?<\/h2>\n<p>Verifique seus arquivos de log de acesso.\u00a0Voc\u00ea deve come\u00e7ar a ver logs que parecem um pouco<\/p>\n<p class=\"code\">212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 43 -0400] &#8220;GET \/phpMyAdmin-2.2.3\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 311 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 43 -0400] &#8220;GET \/phpMyAdmin-2.2.6\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 311 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 43 -0400] &#8220;GET \/phpMyAdmin-2.5.1\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 311 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10:05:44 -0400] &#8220;GET \/phpMyAdmin-2.5.4\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 311 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 44 -0400] &#8220;GET \/phpMyAdmin-2.5.5-rc1\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 315 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 44 -0400] &#8220;GET \/phpMyAdmin-2.5.5-rc2\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 315 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 45 -0400] &#8220;GET \/phpMyAdmin-2.5.5\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 311 &#8220;-&#8221; &#8220;ZmEu&#8221;<br \/>\n212.175.84.210 &#8211; &#8211; [29 \/ Jul \/ 2010: 10: 05: 45 -0400] &#8220;GET \/phpMyAdmin-2.5.5-pl1\/scripts\/setup.php HTTP \/ 1.1&#8221; 404 315 &#8220;-&#8221; &#8220;ZmEu&#8221;<\/p>\n<p>Esta \u00e9 a ferramenta que mais se esfor\u00e7a para encontrar as instala\u00e7\u00f5es do phpMyAdmin que possam estar instaladas no seu servidor da web.\u00a0Se encontrar um, \u00e9 mais prov\u00e1vel que ele tente explorar uma falha de seguran\u00e7a que possa estar ativa para qualquer vers\u00e3o do phpMyAdmin, e descobrir que pode n\u00e3o ter sido tratada adequadamente pelo administrador do sistema.<\/p>\n<h2>UAU, ISSO \u00c9 CHATO.\u00a0O QUE POSSO FAZER SOBRE ISSO?<\/h2>\n<p>O primeiro pensamento que pode surgir na sua cabe\u00e7a seria simplesmente bloquear quaisquer endere\u00e7os IP que apresentem um monte de erros HTTP 404 simult\u00e2neos.\u00a0No entanto, tenho um palpite de que, se enviarmos a ferramenta de volta para qualquer coisa que n\u00e3o seja um erro HTTP 404, talvez ela pare de verificar, pensando que pode ter encontrado alguma coisa.\u00a0Sabendo disso, podemos levar a ferramenta a pensar que ela pode ter encontrado uma instala\u00e7\u00e3o do phpMyAdmin, quando, na realidade, podemos enviar ao atacante uma p\u00e1gina de volta dizendo algo como &#8220;Conseguir um emprego&#8221;.<\/p>\n<h2>ETAPA 1: CRIAR UMA P\u00c1GINA DE ABUSO<\/h2>\n<p>Crie uma p\u00e1gina em algum lugar do servidor onde possamos transmitir a mensagem apropriada de que n\u00e3o aceitamos muito gentilmente criar scripts para crian\u00e7as nesse servidor da web.\u00a0N\u00e3o precisa ser muito complicado, apenas o suficiente para entender o ponto.\u00a0Aqui est\u00e1 o meu, nada chique.<\/p>\n<p>Opcionalmente, podemos fazer com que a p\u00e1gina retorne um erro HTTP 403, talvez confundindo ainda mais a ferramenta.\u00a0No PHP, por exemplo, isso pode ser realizado com uma linha como<\/p>\n<p class=\"code\">&lt;?<br \/>\ncabe\u00e7alho (&#8220;HTTP \/ 1.1 403 Proibido&#8221;);<br \/>\n?&gt;<\/p>\n<h2>ETAPA 2: O PODER DO MOD_REWRITE<\/h2>\n<p>H\u00e1 apenas algo sobre as crian\u00e7as de script e sua incapacidade de ajustar os arquivos de configura\u00e7\u00e3o para algo diferente dos valores padr\u00e3o.\u00a0Explorando isso, podemos efetivamente bloquear praticamente todas as inst\u00e2ncias dessa ferramenta irritante.<\/p>\n<p>A ferramenta usa a cadeia de agente do usu\u00e1rio \u201cZmEu\u201d para se identificar.\u00a0Ent\u00e3o, naturalmente, vamos redirecionar todo o tr\u00e1fego que identifica seu agente de usu\u00e1rio como &#8220;ZmEu&#8221; para nossa p\u00e1gina de abuso.<\/p>\n<p>Crie um arquivo .htaccess no diret\u00f3rio raiz da web, se ainda n\u00e3o existir, e adicione o seguinte<\/p>\n<p class=\"code\">&lt;IfModule mod_rewrite.c&gt;<br \/>\nRewriteEngine em<br \/>\nRewriteCond% {REQUEST_URI}! ^ \/ Caminho \/ para \/ seu \/ abusefile.php<br \/>\nRewriteCond% {HTTP_USER_AGENT} (. *) ZmEu (. *)<br \/>\nRewriteRule. * Http: \/\/www.seudominio. com \/ caminho \/ para \/ seu \/ abusefile.php [R = 301, L]<br \/>\n&lt;\/IfModule&gt;<\/p>\n<p>Essa diretiva mod_rewrite redirecionar\u00e1 todo o tr\u00e1fego usando uma resposta HTTP 301 para sua p\u00e1gina de abuso, se o agente do usu\u00e1rio se identificar como ZmEu.<\/p>\n<h2>FORMID\u00c1VEL!\u00a0PROBLEMA RESOLVIDO.<\/h2>\n<p>A coisa mais conveniente sobre essa solu\u00e7\u00e3o \u00e9 que, mesmo que voc\u00ea tenha o phpMyAdmin instalado no servidor da Web por qualquer motivo, a ferramenta n\u00e3o poder\u00e1 encontr\u00e1-la, pois estamos redirecionando as visitas \u00e0 p\u00e1gina de abuso com base no User-Agent.<\/p>\n<p>Espero que este artigo lhe d\u00ea outra arma para adicionar ao seu arsenal nas d\u00e9cadas de luta contra ataques de for\u00e7a bruta baseados na China.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Parece que todos os arquivos de log de todos os servidores HTTP que eu administro t\u00eam seus logs de erros repletos de erros HTTP 404 nos \u00faltimos dias.\u00a0E de onde exatamente est\u00e3o todos esses erros?\u00a0Aparentemente, eles v\u00eam de crian\u00e7as de script que procuram assumir os bancos de dados SQL para o lulz. O QUE \u00c9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[455,1082,730,1,830,79,725,42,51,495,271,548],"tags":[353,1438,1436,1437,370,1439],"class_list":["post-4816","post","type-post","status-publish","format-standard","hentry","category-apache2","category-centos-7-rhel-7","category-clusterweb","category-viazap","category-debian","category-firewall","category-hospedagem","category-leitura-recomendada","category-linux-linuxrs","category-profissional-de-ti","category-seguranca-2","category-ubuntu-2","tag-de","tag-doente","tag-ficando","tag-pouco","tag-um","tag-zmeu"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4816"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4816\/revisions"}],"predecessor-version":[{"id":4818,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4816\/revisions\/4818"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}