Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BlackLotus-Z2A-Challenge — BlackLotus-Z2A-Challenge, rien à voir ici pour l'instant, veuillez passer votre chemin | Kitploit
Outils/GitHubGitHub/spiralbl0ck/blacklotus-z2a-challenge
Analyse StatiqueRétro-ingénierieAnalyse de MalwareCTFApprentissage et Éducation
GitHubspiralbl0ck/blacklotus-z2a-challenge

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, rien à voir ici pour l'instant, veuillez passer votre chemin

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
3257il y a 3 ansPas encore vérifié
Partager

BlackLotus-Z2A-Challenge

BlackLotus-Z2A-Challenge, Rien à voir ici pour l'instant, veuillez passer votre chemin

Commençons par le commencement Capture23

Pour des raisons esthétiques uniquement, j'emprunterai (volerai) honteusement :)) de @darthmaulware(Ryan “DM” Smith) la solution les règles de détection yara juste pour faire pro. Va voir son twitter, c'est une personne super cool ! PS. Ryan, ne m'en veux pas d'avoir volé ça :))) et merci pour ton soutien sur Discord :)

Regarde aussi son travail :)

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)

}

Aussi pour des raisons esthétiques, je vais aussi voler ceci parce que ça a l'air cool :) encore désolé ryan, ne te fâche pas contre moi s'il te plaît :)```
        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 si j'étais toi, je ne ferais pas entièrement confiance à capa (du moins dans ce cas précis) parce qu'ici ça dit que l'échantillon utilise RC4 alors qu'en réalité il utilise AES, mais bref, comme mentionné, c'est strictement pour l'esthétique :)

Avant de commencer, tu vas rencontrer tout au long de ce rapport beaucoup de

1

Ignore ça, s'il te plaît, car IDA n'arrive pas à désassembler correctement ça en assembleur, c'est

1

Et ça fait planter le débogueur ? Pourquoi ?

Parce qu'il essaie d'écrire à l'adresse 0, ce qui dans le folklore hacker est connu comme écrire à une adresse de pointeur nul, quelque chose qui était largement exploité pour obtenir l'exécution de code (CE), et cela a évidemment été mitigé.

Et avec la mitigation actuelle, si tu essaies d'écrire à 0, ça fera planter le processus, dans notre cas le malware & par conséquent le débogueur.

Maintenant, si on ouvre ça dans IDA

1

J'ai renommé chaque fonction pour indiquer une certaine logique qu'elle effectue, commençons par la première fonction, do_syscall() Capture23

On remarque immédiatement l'utilisation de syscalls, ce qui est une méthode connue pour rendre la vie d'un analyste plus difficile lors de l'analyse dynamique.

Pour ceux qui ne sont pas familiers avec les syscalls sous Windows, voici une vidéo sympa réalisée par oalabs (https://www.youtube.com/watch?v=Uba3SQH2jNE). Regarde-la parce que je l'ai fait aussi et ça m'a beaucoup aidé à comprendre ce qui se passe dans cette fonction.

Si on inspecte le "pseudo-code" résolu par IDA, on voit que ça ressemble à ça

Capture4

Si on inspecte statiquement solve_hash, ça ressemble à ça

1

Télécharger l’outil