Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BlackLotus-Z2A-Challenge — BlackLotus-Z2A-Challenge, Nada para ver aqui por agora, por favor, siga em frente | Kitploit
Ferramentas/GitHubGitHub/spiralbl0ck/blacklotus-z2a-challenge
Análise EstáticaEngenharia ReversaAnálise de MalwareCTFAprendizado e Educação
GitHubspiralbl0ck/blacklotus-z2a-challenge

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, Nada para ver aqui por agora, por favor, siga em frente

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
3257há 3 anosAinda não revisado
Compartilhar

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, Nada para ver aqui por agora, por favor siga em frente

Antes de mais nada Capture23

Por razões estéticas apenas, vou pedir emprestado (roubar) :)) da solução do @darthmaulware(Ryan “DM” Smith) as regras de detecção yara só para parecer profissional. Vai ver o twitter dele, ele é uma pessoa incrivelmente fixe! Ps. Ryan, por favor não fiques zangado porque roubei isso :))) e obrigado pelo apoio no discord :)

Por favor, vejam também o trabalho dele :)

https://gitlab.com/malre-rcs/zero2automated/-/blob/main/solutions/bi_weekly_challenge/BlackLotus_20230321/BlackLotus_HTTP_Downloader.ipynb``` rule Blacklotus_HTTP_Downloader { meta: description = "Rule to detect Blacklotus HTTP Downloader" author = "Darth Maulware" sha256 = "d68f668b4240f9518e4f80499d93d8c5a1eddece0771658c33ae916cc54f5a66"

    strings:
        $opcode1 = {48 89 4C 24 08 48 89 54 24 10 4C}
        $opcode2 = {89 44 24 18 4C 89 4C 24 20 48 83}
        $opcode3 = {EC 28 B9 31 62 D7 2E 90 90 E8 ??}
        $opcode4 = {?? ?? ?? 48 83 C4 28 48 8B 4C 24}
        $opcode5 = {08 48 8B 54 24 10 4C 8B 44 24 18}
        $opcode6 = {4C 8B 4C 24 20 4C 8B D1 90 90}

    condition:
        (uint16(0) == 0x5a4d and filesize < 500KB and all of them)

}

Também por razões estéticas, também vou roubar isto porque parece legal :) novamente, desculpa ryan, por favor não fique bravo comigo :)```
        C:\\Users\\REM\\Desktop>capa.exe -f pe -r capa-rules-5.0.0 d68f668b4240f9518e4f80499d93d8c5a1eddece0771658c33ae916cc54f5a66.exe
        matching: 100%|████████| 124/124 [00:02<00:00, 46.96 functions/s, skipped 1 library functions (0%)]

        +------------------------+------------------------------------------------------------------------------------+
        | ATT&CK Tactic          | ATT&CK Technique                                                                   |
        |------------------------+------------------------------------------------------------------------------------|
        | DEFENSE EVASION        | Obfuscated Files or Information T1027                                              |
        | DISCOVERY              | Process Discovery T1057                                                            |
        | EXECUTION              | Shared Modules T1129                                                               |
        +------------------------+------------------------------------------------------------------------------------+

        +-----------------------------+-------------------------------------------------------------------------------+
        | MBC Objective               | MBC Behavior                                                                  |
        |-----------------------------+-------------------------------------------------------------------------------|
        | ANTI-BEHAVIORAL ANALYSIS    | Debugger Detection::Process Environment Block BeingDebugged [B0001.035]       |
        |                             | Debugger Detection::Process Environment Block NtGlobalFlag [B0001.036]        |
        | CRYPTOGRAPHY                | Encrypt Data::RC4 [C0027.009]                                                 |
        |                             | Generate Pseudo-random Sequence::RC4 PRGA [C0021.004]                         |
        | DATA                        | Encode Data::XOR [C0026.002]                                                  |
        | DEFENSE EVASION             | Obfuscated Files or Information::Encoding-Standard Algorithm [E1027.m02]      |
        +-----------------------------+-------------------------------------------------------------------------------+

        +------------------------------------------------------+------------------------------------------------------+
        | CAPABILITY                                           | NAMESPACE                                            |
        |------------------------------------------------------+------------------------------------------------------|
        | execute syscall instruction (35 matches)             | anti-analysis                                        |
        | check for PEB BeingDebugged flag (2 matches)         | anti-analysis/anti-debugging/debugger-detection      |
        | check for PEB NtGlobalFlag flag                      | anti-analysis/anti-debugging/debugger-detection      |
        | encode data using XOR (2 matches)                    | data-manipulation/encoding/xor                       |
        | encrypt data using RC4 PRGA (2 matches)              | data-manipulation/encryption/rc4                     |
        | get process heap flags                               | host-interaction/process                             |
        | get ntdll base address (3 matches)                   | linking/runtime-linking                              |
        | parse PE header (2 matches)                          | load-code/pe                                         |
        | resolve function by parsing PE exports (2 matches)   | load-code/pe                                         |
        +------------------------------------------------------+------------------------------------------------------+

tbh se eu fosse você, eu não confiaria 100% no capa (pelo menos neste caso específico) porque aqui diz que a amostra usa rc4 quando na verdade usa aes, mas tanto faz, como mencionado, isso é estritamente por estética :)

Antes de começarmos, você vai encontrar ao longo deste relatório muitas

1

Por favor, ignore isso, pois o ida não consegue desmontar isso corretamente em assembly. Isto é

1

E isso derruba o debugger? Por quê?

porque ele tenta escrever no endereço 0, o que no folclore hacker é conhecido como escrever em endereço de ponteiro nulo, algo que foi amplamente explorado para obter CE (execução de código), e isso obviamente já foi mitigado.

E com a mitigação atual, se você tentar escrever em 0, o processo vai crashar — no nosso caso, o malware — e consequentemente o debugger.

Agora, se abrirmos isso no ida

1

Renomeei cada função para indicar alguma lógica que ela faz. Vamos começar com a primeira função, do_syscall() Capture23

Imediatamente notamos o uso de syscalls, que é um método conhecido para dificultar a vida de um analista quando se trata de análise dinâmica.

Para quem não está familiarizado com syscalls no Windows, aqui está um vídeo legal feito pela oalabs(https://www.youtube.com/watch?v=Uba3SQH2jNE). Por favor, assista, porque eu também assisti e me ajudou muito a entender o que acontece nessa função

Se inspecionarmos o "pseudo-código" resolvido pelo ida, vemos que fica assim

Capture4

Se inspecionarmos estaticamente a solve_hash, ela fica assim

1

2

De uma perspectiva pseudo, fica assim

Baixar ferramenta