Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/klezvirus/inceptor
Frameworks de Tests d'IntrusionFrameworks d'ExploitationGénération de PayloadsRed Teaming
GitHubklezvirus/inceptor

inceptor

Framework d'évasion AV/EDR piloté par modèles

Voir le dépôt
1.8k2806il y a 3 ansVérifié par Kitploit

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 →
Partager

🚩 Ceci est le dépôt public d'Inceptor, pour la dernière version et les mises à jour, veuillez envisager de nous soutenir via https://porchetta.industries/



🚩 Sponsors

Si vous souhaitez sponsoriser ce projet et obtenir les dernières mises à jour d'Inceptor, les derniers correctifs, les dernières fonctionnalités, veuillez nous soutenir sur https://porchetta.industries/

Canal Discord Officiel

Venez traîner sur Discord !

Porchetta Industries

Table des matières

  • Overview
  • Installation
  • Usage

News

NW : Nous travaillons actuellement à l'amélioration du moteur de templates ! Dès que nous publierons la prochaine version, des instructions sur la façon d'utiliser, de personnaliser et d'étendre l'outil seront disponibles dans le Wiki.

Overview

Les tests de pénétration modernes et le Red Teaming nécessitent souvent de contourner les appliances AV/EDR courantes afin d'exécuter du code sur une cible. Avec le temps, les défenses deviennent plus complexes et intrinsèquement plus difficiles à contourner de manière cohérente. Inceptor est un outil qui peut aider à automatiser une grande partie de ce processus, espérons-le sans nécessiter d'efforts supplémentaires.

Télécharger l’outil

Features

Inceptor est un packer PE basé sur des templates pour Windows, conçu pour aider les testeurs de pénétration et les red teamers à contourner les solutions AV et EDR courantes. Inceptor a été conçu avec un accent sur la convivialité et pour permettre une personnalisation extensive par l'utilisateur.

Pour avoir un bon aperçu de ce qui a été implémenté et pourquoi, il peut être utile de jeter un coup d'œil aux ressources suivantes :

  • Le chemin vers l'exécution de code à l'ère des EDR, AV nouvelle génération et AMSI
  • Inceptor - Contourner les solutions AV-EDR en combinant des techniques bien connues

Transformation/Chargement de Shellcode

Inceptor est capable de convertir des EXE/DLL existants en shellcode en utilisant divers convertisseurs open source :

  • Donut : Donut est « The Converter ». Cet outil est plus comme une œuvre d'art par TheWover, et peut être utilisé pour transformer des binaires natifs, DLL et binaires .Net en shellcode de code indépendant de la position.
  • sRDI : Par Monoxgas, cet outil peut convertir une DLL native existante en PIC, qui peut ensuite être injectée comme un shellcode classique.
  • Pe2Sh : Par Hasherazade, cet outil peut convertir un EXE natif existant en shellcode PIC, qui peut également être exécuté comme un EXE normal.

Encodeurs LI vs Encodeurs LD

Inceptor peut encoder, compresser ou crypter du shellcode en utilisant différents moyens. En développant l'outil, j'ai commencé à différencier ce que j'appelle l'encodage indépendant du chargeur (LI) et l'encodage dépendant du chargeur (LD).

L'encodage indépendant du chargeur est un type d'encodage non géré par le template choisi par l'utilisateur (chargeur). Cela signifie généralement que le stub de décodage ne fait pas partie du template, mais est intégré dans le shellcode lui-même. Inceptor offre ce type de fonctionnalité en utilisant l'outil open source sgn, qui est utilisé pour rendre la charge utile polymorphe et indétectable par la détection de signature courante.

Même s'il est puissant, Shikata-Ga-Nai n'est pas vraiment adapté à certains templates. Pour cette raison, Inceptor implémente également des encodeurs dépendants du chargeur, qui sont conçus pour laisser le chargeur s'occuper du décodage. Ainsi, les encodeurs LD installent le stub de décodage directement dans le template. Ce type d'encodeurs, tels qu'implémentés dans Inceptor, sont également « chaînables », ce qui signifie qu'ils peuvent être enchaînés pour encoder une charge utile.

Bien que l'utilisation d'une chaîne d'encodeurs puisse parfois améliorer l'obscurcissement d'une charge utile donnée, cette technique peut également exposer plusieurs routines de décodage, ce qui peut aider les défenseurs à concevoir des signatures contre elles. Pour cette raison, Inceptor offre plusieurs façons d'obscurcir les artefacts finaux, durcissant le processus de rétro-ingénierie.

Au moment de la rédaction, la version publique d'Inceptor a été fournie avec les encodeurs/compresseurs/crypteurs suivants :

  • Natif
    • Xor
    • Nop (Insertion)
  • .NET
    • Hex
    • Base64
    • Xor
    • Nop (Insertion)
    • AES
    • Zlib
    • RLE
  • PowerShell
    • Hex
    • Base64
    • Xor
    • Nop (Insertion)
    • AES

Inceptor peut valider une chaîne d'encodage à la fois statiquement et dynamiquement, en vérifiant statiquement les types d'entrée/sortie des décodeurs, et aussi en vérifiant dynamiquement l'implémentation avec une implémentation indépendante. À tout moment, un utilisateur peut facilement valider une chaîne en utilisant l'utilitaire chain-validate.py.

Mécanismes d'évasion AV

Inceptor implémente également nativement des mécanismes d'évasion AV, et en tant que tel, il offre la possibilité d'inclure des fonctionnalités d'évasion AV à la charge utile sous forme de « modules » (plugins).

Les plugins qui peuvent être intégrés sont :

  • Bypass AMSI
  • Bypass WLDP
  • Bypass ETW
  • Tromperie de sandbox (comportementale)

Mécanismes d'évasion EDR

Inceptor implémente également des mécanismes d'évasion EDR, tels que le déhooking complet, l'invocation directe de syscall et le mappage manuel de DLL. Les syscalls directs sont implémentés en C# en utilisant l'excellent projet DInvoke, encore par TheWover. En C/C++, les syscalls sont implémentés en utilisant les projets SysWhispers et SysWhispers2, par Jackson_T. De plus, Inceptor prend en charge nativement les syscalls x86 également.

Comme les fonctionnalités de contournement d'AV, ces fonctionnalités peuvent être activées en tant que modules, avec la seule différence qu'elles nécessitent de travailler sur un template qui les supporte. Les techniques implémentées jusqu'à présent sont :

  • Déhooking complet
  • Mappage manuel de DLL
  • Syscalls directs

Obscurcissement

Inceptor prend en charge l'obscurcissement de la charge utile en utilisant des utilitaires externes, tels que ConfuserEx et Chameleon, et fournit un support pour l'obscurcissement C/C++ en utilisant LLVM-Obfuscator, qui est un obscurcisseur basé sur IR utilisant la plateforme de compilation LLVM.

  • PowerShell
  • C#
  • C/C++

Signature de code

Une autre fonctionnalité d'Inceptor est qu'il peut signer le binaire/DLL résultant en utilisant l'outil CarbonCopy. Généralement, les fichiers signés avec des certificats de signature de code sont analysés moins strictement. De nombreux produits anti-malware ne valident/vérifient pas ces certificats.

Flux de travail

Le flux de travail complet peut être résumé dans le schéma simplifié et de haut niveau suivant :

Workflow

Installation

Inceptor a été conçu pour fonctionner sur Windows. L'utilitaire update-config.py peut localiser les binaires Microsoft requis et mettre à jour la configuration en conséquence. Il peut être nécessaire d'installer Microsoft Build Tools, le Windows SDK et Visual Studio. update-config.py guidera l'utilisateur sur la façon d'installer les dépendances requises.

root@kitploit:~
git clone --recursive https://github.com/klezVirus/inceptor.git
cd inceptor
virtualenv venv
venv\Scripts\activate.bat
pip install -r requirements.txt
cd inceptor
python update-config.py

Notes utiles

Chargeurs par défaut

La version actuelle d'Inceptor localise un template spécifique en utilisant une convention de nommage simple (ne modifiez pas les noms des templates), et l'ensemble des arguments donnés par l'utilisateur. Parmi les arguments, il y a aussi le chargeur (-t). S'il n'est pas spécifié, le chargeur sera sélectionné en fonction du fichier à packer, suivant ce schéma simple :

root@kitploit:~
$ python inceptor.py -hh

[*] Default Loaders
      Input File Extension SpecialCondition   Guessed Filetype Default Loader  Default Template
0                     .raw              NaN          Shellcode  Simple Loader           Classic
1                     .exe             .NET  Dotnet Executable          Donut           Classic
2                     .exe              NaN  Native Executable   Pe2Shellcode           PE Load
3                     .dll              NaN     Native Library           sRDI           Classic

Convention de nommage des templates

Il est très important de comprendre également la convention de nommage des templates, pour éviter d'interpréter incorrectement le comportement d'un artefact.

  • Classic : un template classique signifie généralement qu'il utilise les API VirtualAlloc/VirtualAllocEx et CreateThread/CreateRemoteThread pour allouer et exécuter du code arbitraire
  • Dinvoke : si un template contient uniquement dinvoke (par exemple classic-dinvoke.cs), cela signifie qu'il utilise la fonctionnalité de résolution dynamique de fonction de dinvoke
  • dinvoke-subtechnique : un template contenant dinvoke suivi d'un autre mot-clé utilise une fonctionnalité particulière de dinvoke, comme manual_mapping, overload_mapping ou syscalls
  • Syscalls : comme son nom l'indique, ce template utilise des syscalls
  • PE Load : ce template essaie de mapper un PE complet en mémoire, sans le transformer
  • Assembly Load : ce template essaie d'exécuter un assembly .NET en utilisant la réflexion

Usage

root@kitploit:~
$ usage: inceptor.py [-h] [-hh] [-Z] {native,dotnet,powershell} ...

inceptor: A Windows-based PE Packing framework designed to help 
          Red Team Operators to bypass common AV and EDR solutions

positional arguments:
  {native,dotnet,powershell}
    native              Native Binaries Generator
    dotnet              .NET Binaries Generator
    powershell          PowerShell Wrapper Scripts Generator

optional arguments:
  -h, --help            show this help message and exit
  -hh                   Show functional table
  -Z, --check           Check file against ThreatCheck

Prochains Développements

  • Nouveau moteur de templates
  • Nouveaux templates
  • Nouveaux encodeurs
  • Obscurcissement basé sur le code C#

Ressources

  • Inceptor - Contourner les solutions AV-EDR en combinant des techniques bien connues
  • Un conte des méthodes de contournement d'EDR