Voltar
Malware Intelligence
Tabela de conteúdo

Categoria: Inteligência de malware

Tipo/família:

Desativador/curador de AV
Botnet/Amadey
LADRÃO/LINHA VERMELHA

Indústria: Múltiplo

Região: Global

Sumário executivo

AMEAÇA

  • O novo desativador Healer AV está sendo usado pelo botnet Amadey para desativar o Microsoft Defender.
  • O ladrão Redline caiu nos sistemas alvo.
  • Sistemas de destino infectados com o botnet Amadey.

IMPACTO

  • O Microsoft Defender está permanentemente desativado no alvo.
  • O Microsoft Auto-Update está desativado, restringindo os alvos a obter os patches de segurança mais recentes.
  • O infostealer Redline foi implantado para roubar informações confidenciais.
  • Os agentes de ameaças obtêm o controle total dos sistemas de destino usando o bot Amadey.

MITIGAÇÃO

  • Mantenha os ativos atualizados com o patch de segurança mais recente da Microsoft.
  • Use práticas e software antimalware robustos.

Análise e visão geral da campanha

CloudSEKA equipe de inteligência de ameaças tem um desativador de antivírus (AV) do Microsoft Defender chamado Healer.exe . O executável foi encontrado em Tria.ge, e a tag fornecida pelo Tria.ge para este executável é Curandeiro.

Etiqueta de curandeiro vista em amostras de Amadey e Redline

Após uma investigação mais aprofundada do executável. Verifique se esse executável faz parte de uma campanha contínua do Amadey Botnet em vários estágios, que também lança o infame infostealer Redline nos sistemas de destino. No entanto, o ataque não começa com esse executável.

Visão geral da campanha

Uma visão geral dos estágios do ataque (instâncias mais populares)

Etapa 1: O Dropper nº 1 (.EXE) está implantado no sistema e tem dois EXEs embutido em si mesmo. Coloca os dois executáveis no sistema.

Etapa 2: O Dropper no. 2 (.EXE) serve como um dropper para mais dois executáveis; Healer.exe (desativador do Microsoft Defender) e Linha vermelha ladrão de informações.

Etapa 3: O Dropper nº 3 (.EXE) descarta o Amadey executável e executado no sistema

Observe que houve pequenas variações de campanha para campanha (por exemplo, um conta-gotas extra sendo usado em um dos estágios ou uma ordem diferente de entrega de arquivos), mas o fluxo de ataque permanece muito semelhante. O exemplo de campanha usado para análise técnica segue uma ordem diferente para baixar arquivos.

Análise técnica

Estágio 1 - Conta-gotas nº 1 (Drops Second Stage Dropper)

A campanha começa com a implantação do dropper nº 1 no sistema de destino. Esse arquivo geralmente é um executável PE32 C ++, com o nome original EXTRACT.EXE.MUI. A descrição do arquivo afirma que esse arquivo é um”Autoextrator de gabinete Win32”, o que indica que esse binário pode ter binários incorporados em seus recursos. Os direitos autorais também afirmam que esse arquivo é de propriedade da Microsoft.

Detalhes do arquivo original

Uma olhada na seção de recursos desse executável confirma nossas suspeitas de binários incorporados. Podemos ver que o binário contém um Arquivo do gabinete (.CAB) dentro da seção. O formato de arquivo do Microsoft Cabinet é um formato de arquivo usado para armazenar arquivos compactados dentro de si mesmo. Também podemos ver que a seção.rsrc ocupa 91,41% do tamanho do arquivo.

Arquivo de gabinete na seção de recursos

Podemos ver que o arquivo Cabinet contém dois executáveis armazenados no arquivo.

Arquivos armazenados no gabinete

Nós determinamos a ordem de execução desses arquivos, observando o “EXECUTAR PROGRAMA” e “PROGRAMA PÓS-EXECUÇÃO” atributos. O nome do executável especificado em “EXECUTAR PROGRAMA” será executado primeiro e, depois disso, o nome do executável especificado em “PROGRAMA PÓS-EXECUÇÃO” será executado.

A ordem de execução dos programas

Os executáveis são colocados em um diretório recém-criado no C:\Users\ [Nome de usuário]\ AppData\ Local\ Temp\ de forma semelhante à mostrada abaixo.

Local de entrega executável

Etapa 2 - Dropper nº 2 (Healer e Amadey)

Ao contrário do diagrama compartilhado em Visão geral da campanha, os arquivos associados a esta campanha que estão sendo usados para análise técnica serão primeiro Amadey e Healer.exe usando o conta-gotas nº 2. O conta-gotas de segundo estágio também opera da mesma forma que o conta-gotas de primeiro estágio, pois usa um gabinete para descarregar seus executáveis.

Mesmo nome do arquivo e descrição do primeiro dropper

Gabinete contendo mais dois executáveis

Os executáveis são colocados no mesmo caminho em um diretório diferente. O arquivo foi executado primeiro (neste caso) g8262924.exe) é um conta-gotas para Amadeye o coloca em um novo diretório armazenado no caminho C:\Users\ [Nome de usuário]\ AppData\ Temp\. Healer.exe é executado após Amadey.

Executável Amadey

Amadey

Amadey é uma família de botnets que permite que um agente de ameaças tenha acesso total a um sistema alvo. A Amadey tem seu próprio painel C2, módulo Infostealer embutido e módulo interceptor de transações de criptomoedas. O executável vem na forma de um binário PE32 C ++.

Após a execução, há uma longa cadeia de processos formada. Essencialmente, Amadey começa com:

  • Crie uma entrada de registro de inicialização para que o Amadey seja executado sempre que um usuário fizer login.
  • Criação de uma tarefa agendada que executa o binário Amadey a cada minuto usando o comando “C:\Windows\System32\schtasks.exe” /Create /SC MINUTE /MO 1 /TN amadey.exe /TR “C:\Users\ [Nome de usuário]\ AppData\ Local\ Temp\ 5eb6b96734\ amadey.exe” /F.
  • Alterando os direitos do nome de usuário “Test”, fazendo com que o binário Amadey não possa ser gravado ou excluído, mas apenas lido. O comando usado é CHAMADAS” mnolyk.exe” /P “Test:R” /E.

Em seguida, a Amadey inicia uma conexão com o servidor C2 enviando uma solicitação HTTP POST. Essa solicitação contém informações sobre o alvo atual. Informações como detalhes de identificação do Amadey Bot, informações do PC e do sistema operacional de destino, nome de usuário de destino etc.

Comunicação inicial C2 da Amadey

Depois que uma conexão com o servidor C2 foi feita com sucesso, Amadey busca duas DLLs maliciosas do servidor C2, a saber cred64.dll e clip64.dll. Ele faz isso iniciando uma solicitação HTTP GET.

Um exemplo de Amadey baixando clip64.dll do servidor C2

O Cred64.dll, o módulo embutido do infostealer, tentará roubar as credenciais salvas dos navegadores e as informações das carteiras de criptomoedas. Alguns dos aplicativos de destino incluem Google Chrome, Microsoft Edge, Opera, Electrum, Monero e Litecoin. Os dados são extraídos usando solicitações HTTP POST.

O Clip64.dll, o módulo responsável por interceptar transações de criptomoedas, rouba criptomoedas de suas vítimas substituindo o endereço da carteira do destinatário pretendido pelo endereço da carteira do agente da ameaça. Ele faz isso substituindo qualquer coisa armazenada na área de transferência pelo endereço da carteira.

O Amadey também foi visto como um downloader de malware. Saiba que os agentes de ameaças implantaram muitas famílias populares do Infostealer, como Vidar e Redline, além de outros tipos de malware usando o Amadey.

Healer.exe (desativador do Microsoft Defender)

Publique a execução de Amadey nesta campanha, o segundo binário (neste caso, h6920491.exe) é executado no sistema. O arquivo é um PE32.NET Assembly, que tem o nome original Healer.exe com a descrição Healer.

Informações básicas do arquivo

Ao fazer alterações nas entradas do registro, esse desativador é permanentemente desativar o Microsoft Defender e suas medidas anti-spyware, junto com desativando as atualizações automáticas do Windows, para que o alvo não receba os patches de segurança mais recentes e não reinicie inesperadamente.

Alterações no registro feitas pelo Healer

O usuário não consegue fazer alterações nas configurações do Defender

Alterações importantes no registro

Registry Path

Value 

Meaning

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features\TamperProtection 

0

Allows the executable to make changes to Microsoft Defender settings through registry or other means.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\DisableAntiSpyware

1

Disable Microsoft Antivirus.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableBehaviourMonitoring

1

Disable real-time behavior monitoring.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableIOAVProtection

1

Disable Microsoft Office antivirus protection.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableOnAccessProtection

1

Disable monitoring of file activity on the system.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableRealtimeMonitoring

1

Disable real-time monitoring.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection\DisableScanOnRealtimeEnable

1

Disable real-time process scanning.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender Security Center\Notifications\DisableNotifications

1

Disable Microsoft Defender notifications.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUOptions

2

Disable Windows Automatic Updates.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AutoInstallMinorUpdates

0

Disables the automatic installation of minor updates.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoUpdate

1

Disable automatic update.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoRebootWithLoggedOnUsers

1

Disable automatic reboot when users are logged on.


Na maioria dos casos observados nesta campanha, o Healer.exe é executado antes da implantação do Amadey/Redline. Isso também faz sentido logicamente, já que o agente da ameaça gostaria de desativar as medidas de segurança para garantir a implantação e execução perfeitas dos estágios posteriores.

O fato de, nesse caso, o Healer ser implantado após Amadey nos leva a acreditar que isso pode ser um erro cometido pelo ator da ameaça associada a essa campanha específica.

Etapa 3 - Dropper nº 1 (Drops Redline)

Por fim, o segundo arquivo removido pelo conta-gotas do primeiro estágio (neste caso, j3096141.exe) é executado. Esta é uma variante do Linha vermelha Ladrão de informações. Ele vem na forma de um conjunto PE32.NET e tem a capacidade de salvar credenciais salvas, cookies e outras informações de vários navegadores populares e carteiras de criptomoedas.

Você pode ler mais sobre o Redline Infostealer em nosso relatório de análise técnica aqui.

Um exemplo de configuração do Redline

Indicadores de compromisso (IOCs)



SHA256

80fed7cd4c7d7cb0c05fe128ced6ab2b9b3d7f03edcf5ef532c8236f00ee7376

d8e9b2d3afd0eab91f94e1a1a1a0a97aa2974225f4f086a66e76dbf4b705a800

1d51e0964268b35afb43320513ad9837ec6b1c0bd0e56065ead5d99b385967b5

850cd190aaeebcf1505674d97f51756f325e650320eaf76785d954223a9bee38

6cbcf0bb90ae767a8c554cdfa90723e6b1127e98cfa19a2259dd57813d27e116

6cbcf0bb90ae767a8c554cdfa90723e6b1127e98cfa19a2259dd57813d27e116

8020580744f6861a611e99ba17e92751499e4b0f013d66a103fb38c5f256bbb2

021ae2fadbc8bc4e83013de03902e6e97c2815ab821adaa58037e562a6b2357b

aab1460440bee10e2efec9b5c83ea20ed85e7a17d4ed3b4a19341148255d54b1

54ce28a037eea87448e65bc25f8d3a38ddd4b4679516cc59899b77150aa46fcc

0cca99711baf600eb030bbfcf279faf74c564084e733df3d9e98bea3e4e2f45f

ad1d5475d737c09e3c48f7996cd407c992c1bb5601bcc6c6287eb80cde3d852b

ad1d5475d737c09e3c48f7996cd407c992c1bb5601bcc6c6287eb80cde3d852b

d40d2bfa9fcbf980f76ce224ab6037ebd2b081cb518fa65b8e208f84bc155e41

cdd4072239d8a62bf134e9884ef2829d831efaf3f6f7f71b7266af29df145dd0

10ee53988bcfbb4bb9c8928ea96c4268bd64b9dfd1f28c6233185e695434d2f8

3492ed949b0d1cbd720eae940d122d6a791df098506c24517da0cc149089f405

35E5DF856FEE7AAB059E2B80D3A2FC9207CBE3882B3626FAB11F34EA3383F043

4E1377F9874F333DCB0B1B758E3131949E667FC39AADF3091E4E3B7CDBAEEF1D

91FDA0FD32F0E8FD120E767235C58C189F6CC3119D06A813E1C642AB95F28C10

4E1377F9874F333DCB0B1B758E3131949E667FC39AADF3091E4E3B7CDBAEEF1D

850CD190AAEEBCF1505674D97F51756F325E650320EAF76785D954223A9BEE38


IPv4

224.0.0.252

77.91.68.3

77.91.68.68

193.233.20.7

62.204.41.5

62.204.41.251

193.233.20.11


URLs

http://77.91.68.3/home/love/Plugins/cred64.dll

http://77.91.68.3/home/love/index.php

http://77.91.68.3/home/love/Plugins/clip64.dll

http://62.204.41.5/Bu58Ngs/Plugins/cred64.dll

http://62.204.41.5/Bu58Ngs/Plugins/clip64.dll

http://62.204.41.5/Bu58Ngs/index.php


Regras da Yara

Amadey


rule win_amadey_a9f4 {

    meta:
        author                    = "Johannes Bader"
        date                      = "2022-11-17"
        description               = "matches unpacked Amadey samples"
        hash_md5                  = "25cfcfdb6d73d9cfd88a5247d4038727"
        hash_sha1                 = "912d1ef61750bc622ee069cdeed2adbfe208c54d"
        hash_sha256               = "03effd3f94517b08061db014de12f8bf01166a04e93adc2f240a6616bb3bd29a"
        malpedia_family           = "win.amadey"
        tlp                       = "TLP:WHITE"
        version                   = "v1.0"
        yarahub_author_email      = "[email protected]"
        yarahub_author_twitter    = "@viql"
        yarahub_license           = "CC BY-SA 4.0"
        yarahub_reference_md5     = "25cfcfdb6d73d9cfd88a5247d4038727"
        yarahub_rule_matching_tlp = "TLP:WHITE"
        yarahub_rule_sharing_tlp  = "TLP:WHITE"
        yarahub_uuid              = "a9f41cd4-3f67-42fc-b310-e9b251c95fe4"

    strings:
        $pdb  = "\\Amadey\\Release\\Amadey.pdb"
        /*  Amadey uses multiple hex strings to decrypt the strings, C2 traffic
            and as identification. The preceeding string 'stoi ...' is added to
            improve performance.
        */
        $keys = /stoi argument out of range\x00\x00[a-f0-9]{32}\x00{1,16}[a-f0-9]{32}\x00{1,4}[a-f0-9]{6}\x00{1,4}[a-f0-9]{32}\x00/

    condition:
        uint16(0) == 0x5A4D and
        (
            $pdb or $keys
        )
}

rule win_amadey_auto {

meta:
author = "Felix Bilstein - yara-signator at cocacoding dot com"
date = "2023-07-11"
version = "1"
description = "Detects win.amadey."
info = "autogenerated rule brought to you by yara-signator"
tool = "yara-signator v0.6.0"
signator_config = "callsandjumps;datarefs;binvalue"
malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.amadey"
malpedia_rule_date = "20230705"
malpedia_hash = "42d0574f4405bd7d2b154d321d345acb18834a41"
malpedia_version = "20230715"
malpedia_license = "CC BY-SA 4.0"
malpedia_sharing = "TLP:WHITE"

/* DISCLAIMER
* The strings used in this rule have been automatically selected from the
* disassembly of memory dumps and unpacked files, using YARA-Signator.
* The code and documentation is published here:
* https://github.com/fxb-cocacoding/yara-signator
* As Malpedia is used as data source, please note that for a given
* number of families, only single samples are documented.
* This likely impacts the degree of generalization these rules will offer.
* Take the described generation method also into consideration when you
* apply the rules in your use cases and assign them confidence levels.
*/

strings:
$sequence_0 = { 8945f4 837df408 744f 8d85e8fdffff 890424 e8???????? c70424???????? }
// n = 7, score = 700
//   8945f4               | mov                 dword ptr [ebp - 0xc], eax
//   837df408             | cmp                 dword ptr [ebp - 0xc], 8
//   744f                 | je                  0x51
//   8d85e8fdffff         | lea                 eax, [ebp - 0x218]
//   890424               | mov                 dword ptr [esp], eax
//   e8????????           |                     
//   c70424????????       |                     

$sequence_1 = { c745fc00000000 e8???????? 84c0 750c c7042401000000 e8???????? e8???????? }
// n = 7, score = 700
//   c745fc00000000       | mov                 dword ptr [ebp - 4], 0
//   e8????????           |                     
//   84c0                 | test                al, al
//   750c                 | jne                 0xe
//   c7042401000000       | mov                 dword ptr [esp], 1
//   e8????????           |                     
//   e8????????           |                     

$sequence_2 = { 89442404 891424 e8???????? 85c0 7510 8b45fc 40 }
// n = 7, score = 700
//   89442404             | mov                 dword ptr [esp + 4], eax
//   891424               | mov                 dword ptr [esp], edx
//   e8????????           |                     
//   85c0                 | test                eax, eax
//   7510                 | jne                 0x12
//   8b45fc               | mov                 eax, dword ptr [ebp - 4]
//   40                   | inc                 eax

$sequence_3 = { 890424 e8???????? c7042400000000 e8???????? 81c424040000 }
// n = 5, score = 700
//   890424               | mov                 dword ptr [esp], eax
//   e8????????           |                     
//   c7042400000000       | mov                 dword ptr [esp], 0
//   e8????????           |                     
//   81c424040000         | add                 esp, 0x424

$sequence_4 = { e8???????? 8945f4 837df40a 0f842e010000 }
            // n = 4, score = 700
            //   e8????????           |                     
            //   8945f4               | mov                 dword ptr [ebp - 0xc], eax
            //   837df40a             | cmp                 dword ptr [ebp - 0xc], 0xa
            //   0f842e010000         | je                  0x134

        $sequence_5 = { e8???????? c7442404???????? 8b4508 890424 e8???????? 85c0 7e75 }
            // n = 7, score = 700
            //   e8????????           |                     
            //   c7442404????????     |                     
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   890424               | mov                 dword ptr [esp], eax
            //   e8????????           |                     
            //   85c0                 | test                eax, eax
            //   7e75                 | jle                 0x77

        $sequence_6 = { 890424 e8???????? c7042401000000 e8???????? 89442404 8d85e8fbffff 890424 }
            // n = 7, score = 700
            //   890424               | mov                 dword ptr [esp], eax
            //   e8????????           |                     
            //   c7042401000000       | mov                 dword ptr [esp], 1
            //   e8????????           |                     
            //   89442404             | mov                 dword ptr [esp + 4], eax
            //   8d85e8fbffff         | lea                 eax, [ebp - 0x418]
            //   890424               | mov                 dword ptr [esp], eax

        $sequence_7 = { e8???????? 8b4508 c60000 c9 }
            // n = 4, score = 700
            //   e8????????           |                     
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   c60000               | mov                 byte ptr [eax], 0
            //   c9                   | leave               

        $sequence_8 = { 68???????? e8???????? 8d4dcc e8???????? 83c418 }
            // n = 5, score = 500
            //   68????????           |                     
            //   e8????????           |                     
            //   8d4dcc               | lea                 ecx, [ebp - 0x34]
            //   e8????????           |                     
            //   83c418               | add                 esp, 0x18

        $sequence_9 = { 83fa10 722f 8b8d78feffff 42 8bc1 81fa00100000 7214 }
            // n = 7, score = 500
            //   83fa10               | cmp                 edx, 0x10
            //   722f                 | jb                  0x31
            //   8b8d78feffff         | mov                 ecx, dword ptr [ebp - 0x188]
            //   42                   | inc                 edx
            //   8bc1                 | mov                 eax, ecx
            //   81fa00100000         | cmp                 edx, 0x1000
            //   7214                 | jb                  0x16

        $sequence_10 = { 52 51 e8???????? 83c408 8b955cfeffff }
            // n = 5, score = 400
            //   52                   | push                edx
            //   51                   | push                ecx
            //   e8????????           |                     
            //   83c408               | add                 esp, 8
            //   8b955cfeffff         | mov                 edx, dword ptr [ebp - 0x1a4]

        $sequence_11 = { 50 68???????? 83ec18 8bcc 68???????? }
            // n = 5, score = 400
            //   50                   | push                eax
            //   68????????           |                     
            //   83ec18               | sub                 esp, 0x18
            //   8bcc                 | mov                 ecx, esp
            //   68????????           |                     

        $sequence_12 = { 8b7dfc 8d4201 3bcb 7ccb 837e1410 }
            // n = 5, score = 400
            //   8b7dfc               | mov                 edi, dword ptr [ebp - 4]
            //   8d4201               | lea                 eax, [edx + 1]
            //   3bcb                 | cmp                 ecx, ebx
            //   7ccb                 | jl                  0xffffffcd
            //   837e1410             | cmp                 dword ptr [esi + 0x14], 0x10
-- contd--
 ---contd----
        $sequence_13 = { 83c408 8b554c c7453000000000 c745340f000000 c6452000 83fa10 0f8204ffffff }
            // n = 7, score = 400
            //   83c408               | add                 esp, 8
            //   8b554c               | mov                 edx, dword ptr [ebp + 0x4c]
            //   c7453000000000       | mov                 dword ptr [ebp + 0x30], 0
            //   c745340f000000       | mov                 dword ptr [ebp + 0x34], 0xf
            //   c6452000             | mov                 byte ptr [ebp + 0x20], 0
            //   83fa10               | cmp                 edx, 0x10
            //   0f8204ffffff         | jb                  0xffffff0a

        $sequence_14 = { 68e8030000 ff15???????? 8b551c 83fa10 7228 8b4d08 }
            // n = 6, score = 400
            //   68e8030000           | push                0x3e8
            //   ff15????????         |                     
            //   8b551c               | mov                 edx, dword ptr [ebp + 0x1c]
            //   83fa10               | cmp                 edx, 0x10
            //   7228                 | jb                  0x2a
            //   8b4d08               | mov                 ecx, dword ptr [ebp + 8]

        $sequence_15 = { 83fa10 722f 8b8d60feffff 42 }
            // n = 4, score = 400
            //   83fa10               | cmp                 edx, 0x10
            //   722f                 | jb                  0x31
            //   8b8d60feffff         | mov                 ecx, dword ptr [ebp - 0x1a0]
            //   42                   | inc                 edx

        $sequence_16 = { 68???????? e8???????? 8d4db4 e8???????? 83c418 }
            // n = 5, score = 400
            //   68????????           |                     
            //   e8????????           |                     
            //   8d4db4               | lea                 ecx, [ebp - 0x4c]
            //   e8????????           |                     
            //   83c418               | add                 esp, 0x18

        $sequence_17 = { c78514feffff0f000000 c68500feffff00 83fa10 722f 8b8de8fdffff 42 }
            // n = 6, score = 300
            //   c78514feffff0f000000     | mov    dword ptr [ebp - 0x1ec], 0xf
            //   c68500feffff00       | mov                 byte ptr [ebp - 0x200], 0
            //   83fa10               | cmp                 edx, 0x10
            //   722f                 | jb                  0x31
            //   8b8de8fdffff         | mov                 ecx, dword ptr [ebp - 0x218]
            //   42                   | inc                 edx

        $sequence_18 = { 83c408 8b95fcfdffff c78510feffff00000000 c78514feffff0f000000 c68500feffff00 83fa10 }
            // n = 6, score = 300
            //   83c408               | add                 esp, 8
            //   8b95fcfdffff         | mov                 edx, dword ptr [ebp - 0x204]
            //   c78510feffff00000000     | mov    dword ptr [ebp - 0x1f0], 0
            //   c78514feffff0f000000     | mov    dword ptr [ebp - 0x1ec], 0xf
            //   c68500feffff00       | mov                 byte ptr [ebp - 0x200], 0
            //   83fa10               | cmp                 edx, 0x10

    condition:
        7 of them and filesize < 520192
}

}

Linha vermelha


rule detect_Redline_Stealer {
     meta:
        date = "2023-06-06"
        author ="Varp0s"
        yarahub_reference_md5     = "554d25724c8f6f53af8721d0ef6b6f42"
        yarahub_uuid = "671d6f32-8236-46b5-80e3-057192936607"
        yarahub_license =  "CC0 1.0"
        yarahub_rule_matching_tlp =  "TLP:WHITE"
        yarahub_rule_sharing_tlp =  "TLP:WHITE"
        tlp = "WHITE"

    strings:

        $req0 = {72 75 6E 64 6C 6C 33 32 2E 65 78 65 20 25 73 61} 
        $req1 = {43 6F 6E 74 72 6F 6C 20 50 61 6E 65 6C 5C 44 65}
        $req2 = {77 65 78 74 72 61 63 74 2E 70 64 62 00} 
        $req3 = {49 58 50 25 30 33 64 2E 54 4D 50 00}
        $req4 = {54 4D 50 34 33 35 31 24 2E 54 4D 50 00}
        $req5 = {43 6F 6D 6D 61 6E 64 2E 63 6F 6D 20 2F 63 20 25} 
        $req6 = {55 50 44 46 49 4C 45 25 6C 75 00}


              
    condition:
        all of them
}  






rule detect_Redline_Stealer_V2 {
     meta:
        date = "2023-06-06"
        author ="Varp0s"
        yarahub_reference_md5     = "554d25724c8f6f53af8921d0ef6b6f42"
        yarahub_uuid = "e20669f7-da89-41f6-abeb-c3b5a770530e"
        yarahub_license =  "CC0 1.0"
        yarahub_rule_matching_tlp =  "TLP:WHITE"
        yarahub_rule_sharing_tlp =  "TLP:WHITE"
        tlp = "WHITE"
    strings:

        $req0 = {41 00 75 00 74 00 68 00 6F 00 72 00 69 00 7A} 
        $req1 = {6E 00 65 00 74 00 2E 00 74 00 63 00 70 00 3A 00}
        $req3 = {44 00 65 00 63 00 63 00 69 00 65 00 00 00}
        $req4 = {61 00 6D 00 6B 00 6D 00 6A 00 6A 00 6D 00 6D 00}
        $req5 = {31 00 36 00 33 00 2E 00 31 00 32 00 33 00 2E 00}
        $req6 = {59 00 61 00 6E 00 64 00 65 00 78 00 5C 00 59 00}
        $req7 = {31 00 2A 00 2E 00 31 00 6C 00 31 00 64 00 31 00}

              
    condition:
        3 of them 
} 

Healer.exe


import "pe"

rule detect_Healer_Defender_Disabler {
    meta:
        date = "2023-07-25"
        author = "Mehardeep Singh Sawhney"
        description = "Rule to detect Healer Microsoft Defender disabler"
        tlp = "WHITE"

    strings:
        $string1 = "Program.DisableService(\"WinDefend\");"
        $string2 = "Program.RegistryEdit(\"SOFTWARE\\\\Microsoft\\\\Windows Defender\\\\Features\", \"TamperProtection\", \"0\");"
        $string3 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\", \"DisableAntiSpyware\", \"1\");"
        $string4 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\Real-Time Protection\", \"DisableBehaviorMonitoring\", \"1\");"
        $string5 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\Real-Time Protection\", \"DisableIOAVProtection\", \"1\");"
        $string6 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\Real-Time Protection\", \"DisableOnAccessProtection\", \"1\");"
        $string7 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\Real-Time Protection\", \"DisableRealtimeMonitoring\", \"1\");"
        $string8 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\Real-Time Protection\", \"DisableScanOnRealtimeEnable\", \"1\");"
        $string9 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender Security Center\\\\Notifications\", \"DisableNotifications\", \"1\");"
        $string10 = "Program.DisableService(\"wuauserv\");"
        $string11 = "Program.DisableService(\"WaaSMedicSvc\");"
        $string12 = "Program.DisableService(\"UsoSvc\");"
        $string13 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\\\\AU\", \"AUOptions\", \"2\");"
        $string14 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\\\\AU\", \"AutoInstallMinorUpdates\", \"0\");"
        $string15 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\\\\AU\", \"NoAutoUpdate\", \"1\");"
        $string16 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\\\\AU\", \"NoAutoRebootWithLoggedOnUsers\", \"1\");"
        $string17 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\\\\AU\", \"UseWUServer\", \"1\");"
        $string18 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\", \"DoNotConnectToWindowsUpdateInternetLocations\", \"1\");"
        $string19 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\", \"WUStatusServer\", \"server.wsus\");"
        $string20 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\", \"WUServer\", \"server.wsus\");"
        $string21 = "Program.RegistryEdit(\"SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows\\\\WindowsUpdate\", \"UpdateServiceUrlAlternate\", \"server.wsus\");"

    condition:
        all of them and pe.is_dotnet
}

Mehardeep Singh Sawhney
Extremely passionate about cyber security and it's real application in protecting Information Assets. Love learning about new ways to exploit devices
Nenhum item encontrado.

Blogs relacionados