Modular Implant Design for Windows
Instructeur: Kai (Kbsec)
Dates: 15 au 18 juin 2026
Lieu: Hilton DoubleTree Montreal
Capacité: 20
Ce cours initie les étudiants à la conception d'implants modulaires. Bien qu'il se concentre sur le système d'exploitation Windows, de nombreux sujets sont applicables à d'autres systèmes avec de légères modifications.
Ce cours adopte une approche dogmatique du développement d'implants qui affirme que les charges utiles doivent être aussi complexes que nécessaire et pas plus.
En particulier, il devrait être facile d'étendre la fonctionnalité des implants, de compiler sélectivement des fonctionnalités et de s'adapter aux particularités de l'environnement dans lequel ils sont déployés. Les cours couvrent les stratégies de conception d'implants flexibles et les laboratoires se concentreront sur le développement d'un serveur de commande et contrôle, avec un implant dérivé de sHELL (hell shell).
sHELL
sHELL (Hell shell): une façon infernale de développer un shell.
sHELL est un shell d'enseignement qui démontre une stratégie pour construire des implants modulaires: la liaison dynamique personnalisée. En particulier, chaque commande que le shell supporte est implémentée dans un fichier binaire séparé appelé module. Au runtime, le programme principal peut charger un module et étendre la fonctionnalité runtime. Pour commencer, sHELL supporte le chargement de modules DLL depuis le disque. Au fur et à mesure que le cours progresse, les étudiants travailleront à ajouter des fonctionnalités, implémenter des chargeurs pour d'autres types de modules et améliorer l'opsec.
Programme
Jour 1
- Conception d'implant 101
- Ce qui rend un implant flexible
- Implants personnalisés: quand et quand ne pas utiliser
- Internes Windows de base
- DLL, liaison
- Introduction à sHELL (Hell Shell)
- Interfaces, vtables et liaison dynamique personnalisée
- Implémentation des fonctionnalités de base de sHELL
Jour 2
- Construction d'un système de dépendances de base
- Format de fichier PE en profondeur
- Construction d'un PE Windows minimal
- Chargement PE
- sHELL: remplacement de LoadLibraryA avec un chargeur PE personnalisé
- COFF/BOF
Jour 3
- C2, Canaux
- Canaux contraints
- Faible latence vs haute latence
- Avoir un plan de secours
- Transformer sHELL en rev-sHELL
- Construction de canaux spécifiques à la cible
- Exemples: TCP, HTTP, SMB
- Cryptographie
- TLS, et les pièges TLS
- WinAPI ou pas WinAPI
- Opsec d'implant: chaînes, bibliothèques, syscalls et tout ça
- Rétro-ingénierie de nos implants
Jour 4
- Tout assembler: construire un poste d'écoute de base
- Étude de cas: passer de commande string à opcode/hash
- Passer des fonctions de bibliothèque aux syscalls directs
- Intégration d'interpréteurs
- Interopérabilité avec d'autres langages. Étude de cas: zig
Exigences
Matériel/Logiciel:
- Ordinateur portable capable d'exécuter des machines virtuelles
- Ordinateur portable avec au moins 200 Go d'espace libre, 16 Go de RAM, capable d'exécuter des VM
Prérequis:
- Expérience en programmation C
- Connaissance des internes Windows de base
- Connaissance de base des réseaux informatiques
- Programmation socket dans le langage de votre choix. Ce cours utilise python3 pour implémenter les postes d'écoute, mais les étudiants sont encouragés à utiliser le langage avec lequel ils sont le plus à l'aise
Objectifs d'apprentissage
Créer un implant modulaire de première étape avec les fonctionnalités suivantes:
- Aucune dépendance à Libc (-nostdlib)
- Les capacités peuvent être incluses sélectivement à la fois au moment de la compilation et au runtime
- Intégration dans d'autres langages/frameworks
Qui devrait assister
Les personnes intéressées à démystifier les logiciels malveillants Windows.
Qui NE devrait PAS assister
Les personnes mal à l'aise avec la programmation en C.
BIO
Kai (kbsec) est un chercheur en sécurité et rétro-ingénieur chevronné avec plus d'une décennie d'expérience en sécurité offensive. Actuellement en doctorat à l'Université Northeastern (NEU), Kai passe son temps libre à enseigner aux étudiants comment développer des implants pour mieux comprendre les systèmes qu'ils ciblent-- ou comme il le dit "Cheval de Troie de la sécurité des systèmes via le développement de logiciels malveillants."
Pour s'inscrire
Cliquez ici pour vous inscrire.
