Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BlackLotus-Z2A-Challenge — BlackLotus-Z2A-Challenge, Niente da vedere qui per ora , per favore passa oltre | Kitploit
Strumenti/GitHubGitHub/spiralbl0ck/blacklotus-z2a-challenge
Analisi StaticaReverse EngineeringAnalisi MalwareCTFApprendimento e Formazione
GitHubspiralbl0ck/blacklotus-z2a-challenge

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, Niente da vedere qui per ora , per favore passa oltre

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
32573 anni faNon ancora revisionato
Condividi

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, non c'è niente da vedere per ora, per favore proseguite

Prima di tutto Capture23

Per scopi puramente estetici, prenderò in prestito (ruberò) :)) senza vergogna le regole di rilevamento yara dalla soluzione di @darthmaulware(Ryan “DM” Smith) solo per farlo sembrare professionale. Vai a dare un'occhiata al suo Twitter, è una persona fighissima! P.S. Ryan, per favore non ti arrabbiare perché l'ho rubato :))) e grazie per il supporto su Discord :)

Date un'occhiata anche al suo lavoro :)

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)

}

Anche per ragioni estetiche rubo anche questo perché è figo :) di nuovo scusa Ryan, per favore non arrabbiarti con me :)```
        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 fossi in te non mi fiderei al 100% di capa (almeno in questo caso specifico) perché qui dice che il campione usa rc4 mentre in realtà usa aes, ma vabbè, come già detto questo è strettamente per estetica :)

Prima di iniziare, incontrerai durante questo report un sacco di

1

Per favore ignora questo perché ida non riesce a disassemblare correttamente in assembly; questo è

1

E questo crasha il debugger? Perché?

perché cerca di scrivere all'indirizzo 0, cosa che nel folklore hacker è nota come scrittura a un puntatore nullo, che era qualcosa di ampiamente sfruttato per ottenere CE (esecuzione di codice), ed è stato ovviamente mitigato.

E quindi con la mitigazione attuale, se provi a scrivere a 0, il processo crasha - nel nostro caso il malware - e di conseguenza anche il debugger.

Ora, se apriamo questo in ida

1

Ho rinominato ogni funzione per indicare una certa logica che svolge; iniziamo con la prima funzione, do_syscall() Capture23

Notiamo subito l'uso delle syscall, che è un metodo noto per rendere la vita più dura a un analista nell'analisi dinamica.

Per chi non ha familiarità con le syscall in Windows, ecco un bel video fatto da oalabs(https://www.youtube.com/watch?v=Uba3SQH2jNE). Per favore guardatelo perché l'ho fatto anch'io e mi ha aiutato molto a capire cosa succede in questa funzione.

Se ispezioniamo il "pseudo-codice" generato da ida, vediamo che appare così.

Capture4

Se ispezioniamo staticamente solve_hash, appare così.

1

2

Da una prospettiva pseudo, appare così.

Scarica lo strumento