当前位置: 首页 > 科技观察

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

时间:2023-03-21 15:35:13 科技观察

后台持久化后门是指破坏者通过某种方式获得服务器的控制权后,通过在服务器上放置一些后门(脚本、进程、连接等),使其更容易为他以后破坏持久化,简单梳理一下日常遇到windows比较常用的一些持久化方法,方便以后排查问题。注册表自动启动最常见的方式是在指定的键值上增加一个新的键值类型REG_SZ,并在数据项中添加要运行的程序的路径来启动它。其中一些操作比较敏感,容易被本地AV拦截。一种常见的方式。键值路径如下:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows\currentversion\run自启动项目如下:用户登录在注册表路径:HKCU\Environment\Createastring键值:UserInitMprLogonScript键值可以是设置为特定脚本路径:另一种实现方式是修改winlogonUserinit字段:HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\UserinitPowershell一键修改命令如下:Set-ItemProperty"HKLM:\SOFTWARE\Microsoft\WINDOWSNT\CurrentVersion\Winlogon"-nameUserinit-value"C:\Windows\system32\userinit.exe,******************"定时任务Windows主要实现定时任务在两种方式:schtasks和at。从某种意义上说,schtasks是at命令的升级版,其主要行为是从特定的外网地址下载下载器样本或病毒母体或维护CC通信心跳包。使用以下命令实现一键式:"schtasks/create/scminute/mo1/tn"chrome"/trwscript.exeC:\Users\\AppData\Local\Temp\13442980_crypted.vbs"WMIWMI是MicrosoftWeb-basedEnterpriseManagement(WBEM),一项行业倡议,旨在开发用于在企业环境中访问管理信息的标准技术。主要是与Powershell命令配合使用,实现无文件危害的重要方法。隐蔽性好,是目前比较常用的持久化方式。关键实现代码如下:WMI对象主要执行一个WQL(WMIQueryLanguage)查询,然后在本地调用Powershell执行响应代码,由于本地磁盘没有保存文件,可以避免扫杀。BlackHat2015公布了一个WMIBackdoorpoc,毕竟还是经典,目前流行的powersploit和nishang框架中都有相关的ps1文件。传送门:https://github.com/mattifestation/WMI_Backdoorwebshel??l在指定的web服务器路径深处放置一个webshel??l,同时反查后的shell往往比常规的系统后门更难被发现。这个操作非常常规。webshel??l传送门有很多种:https://github.com/xl7dev/WebShell自启动服务简单分为两种方式:将自己的恶意可执行文件注册为服务或者调用svchost等系统进程加载一个dll文件运行服务。第二种方法比较隐蔽。由于系统进程的特殊性,往往不容易终止进程。因为这些类型的文件都在磁盘中的PE文件或其他类型的文件中,所以很容易被查杀,除非经过特殊处理。Metasploit可以使用Metsvc创建服务,这样的操作极易被杀毒软件查杀。下面是永恒之蓝挖矿病毒的一个常见病毒,它通过伪装成服务来伪装成系统服务。在Meterpreter下运行metsvc,会在目标主机上以Meterpreter服务的形式注册到服务列表中,自动启动:DLL绝对路径,Windows会尝试在指定目录下寻找DLL;如果破坏者可以控制其中一个目录,并在该目录下放置恶意DLL文件,恶意DLL就会被进程加载,导致代码执行。比较常用的劫持如LPK.dll:Win7及以上系统增加了KnownDLLs保护,需要在注册表中添加“lpk.dll”:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExcludeFromKnownDlls才能成功劫持:另一种思路就是查看被劫持DLL的导出函数表,将被劫持DLL的转发编程为原DLL的导出函数,加入你的恶意代码,达到劫持的效果。COM劫持主要是通过修改CLSID下的注册表键值来实现对CAccPropServicesClass和MMDeviceEnumerator的劫持,而系统中很多正常的程序在启动的时候都需要调用这两个实例,所以这个可以作为后门,而且这个方法也能够绕过Autoruns检测启动项。入口如下:https://www.gdatasoftware.com/blog/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistencepoc的Powershell版本:https://github。com/3gstudent/COM-Object-hijackingBootkitMBR后门的主要思想是读取主引导记录,并从主引导记录中复制分区表。然后它将自己包含恶意二进制数据的主引导记录放入主引导扇区,并将新的分区表复制到其中。但是,不仅需要保留分区表,还需要保留原来的主引导记录。MBR病毒将原始主引导记录复制到其他64个未使用的扇区。MBR病毒在执行自己的操作后,会读取原来的主引导记录,跳转到0x7c00执行引导。目前流行的如乌云木马系列:详见腾讯的研究报告:https://slab.qq.com/news/tech/1308.html通过PCHunter也可以进行简单的MBR异常判断。这类后门病毒的种类往往较少,实施起来往往也比较困难。总结一下Windows环境的持久性,还有更多没遇到过的霸气侧漏姿势。综上所述,与以往创建隐藏账户、网站目录下的webshel??l、exe后门程序、定时任务等方法相比,一些较新的方法更加明显。隐蔽难查杀,希望能为日常运维、安全应急响应、开发大佬、知名辩护人等客户在现场苦苦挣扎时提供一些排查思路。