首页 安全防御正文

常见的几种Windows后门持久化方式

背景

持久后门是指当破坏者在通过某种方式获得服务器的控制后,通过在服务器上放置一些后门(脚本、过程、连接等),方便他未来持久的损坏,简要梳理日常会议windows多用一些持久的 *** ,方便以后查问题。

自启动注册表

在指定键值中添加新的键值类型是最常见的REG_SZ,可以通过在数据项中添加需要操作程序的路径来启动。这些操作更敏感,更容易被本地操作AV拦截也是目前常见的 *** 。

键值路径如下:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microft\windows\currentversion\run
  • 启动项目如下:

    用户登录

    注册表路径:HKCU\Environment\

    创建字符串键值:UserInitMprLogonScript

    键值可以设置为特定的脚本路径:

    另一种实现 *** 是修改winlogon Userinit字段:

  • HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit
  • Powershell一键修改命令如下:

  • Set-ItemProperty"HKLM:\SOFTWARE\Microsoft\WINDOWSNT\CurrentVersion\Winlogon"-nameUserinit-value"C:\Windows\system32\userinit.exe,***************"
  • 定时任务

    Windows主要有实现定时任务schtasks与at两种 *** ,在一定层次上schtasks是at从特定的外网地址下载命令的升级版和主要行为downloader样本或病毒母维持或维持CC通信心跳包。

    一键实现以下命令:

  • "schtasks/create/scminute/mo1/tn"chrome"/trwscript.exeC:\Users\\AppData\Local\Temp\13442980_crypted.vbs"
  • WMI

    WMI是微软基于Web的企业管理(WBEM)实现版本是一项旨在在企业环境中开发管理信息的标准技术的行业计划。Powershell使用命令可以实现无文件危害具有良好隐蔽性的重要 *** 也是目前常用的持久手段。

    关键代码如下:

    WMI对象主要执行一个WQL(WMI Query Language)查询后,本地调用Powershell执行响应的代码由于没有文件保存在本地磁盘能够较好的免查杀。

    Black Hat 2015年宣布WMIBackdoor的poc毕竟,它仍然是一受欢迎powersploit与nishang框架也有相关性ps1文件。

    传送门:https://github.com/mattifestation/WMI_Backdoor

    webshell

    在指定的web服务器路径隐藏得很深的那种放置一个webshell,同时做好免杀后的工作shell通常比传统的系统后门更难找到,这找到。

    各类webshell传送门种类较多:https://github.com/xl7dev/WebShell

    自启动服务

    将恶意可执行文件注册为服务或调用系统流程分为两种方式svchost加载dll文件运行服务。第二种 *** 相对隐蔽,因为系统过程的特殊性往往不敢轻易终止,因为这些都在PE磁盘中容易查杀文件或其他类型的文件,特殊处理的除外。

    Metasploit可以使用Metsvc创建服务很容易创建服务AV查杀。

    以下是永恒蓝挖掘病毒的常见病毒,通过伪装服务称为系统服务。

    在Meterpreter下可以运行run metsvc将在目标主机上Meterpreter在服务列表中注册服务形式,并自动启动:

    Windows成功注册服务端服务:

    dll劫持

    试着在这个过程中加载一个DLL时没有指定DLL绝对路径,所以Windows试着在指定的目录下找到这个DLL;如果破坏人们可以控制 目录,并放置恶意目录DLL这个恶意的目录下的文件DLL代码执行将被过程加载。

    比较常用的如LPK.dll的劫持:

    win7及win7增加了上述系统KnownDLLs注册表中需要保护:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExcludeFromKnownDlls
  • 下添加 “lpk.dll” 劫持成功:

    另一个想法是通过查看被劫持的想法DLL导出函数表,编程实现劫持DLL向原DLL转发导出函数,并添加您的恶意代码劫持效果。

    COM劫持

    主要通过修改CLSID下注册表键值实现对CAccPropServicesClass和MMDeviceEnumerator劫持,许多正常程序需要调用这两个例子,所以这可以用作后门,这种 *** 也可以绕过Autoruns测试启动项。

    传送门如下:

    https://www.gdatasoftware.com/blog/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence

    Powershell版本的poc:https://github.com/3gstudent/COM-Object-hijacking

    Bootkit

    MBR后门的主要思路是读取主导记录,从主导记录中复制分区表。然后将包含恶意二进制数据的主导记录放在主导风扇区域,并将新的分区表复制到主导风扇区域。然而,不仅需要保留分区表,还需要保存原始的主导记录,MBR病毒复制的原始指导记录在其他64个未使用的扇区。MBR病毒执行自己的操作后,读取原始的主要指导记录,跳到0x7c00处执行引导启动。暗云木马系列目前比较流行:

    详情请参考腾讯的研究报告: https://slab.qq.com/news/tech/1308.html

    通过PCHunter也可以简单MBR对于异常判断,这类后门实施难度较大的病毒种类往往较少。

    总结

    Windows随着环境的持久化,还有更多霸气侧漏的姿势。与之前建立隐藏账户、网站和目录相比,webshell、一个后门的exe程序、定时任务这些手法一些更新的手法显得更加隐蔽与难以查杀,希望能给日常背锅的运维、安全应急、开发大佬与很有地位的当客户现场焦头烂额时,道歉师会提供一些调查思路。

       
    版权声明

    本文仅代表作者观点,不代表本站立场。
    本文系作者授权发表,未经许可,不得转载。