内网学习笔记五 | 域内横向移动分析及防御
域内横向移动技术是在复杂的内网攻击中被广泛使用的一种技术,尤其是在高级持续威胁 (Advanced Persistent Threats
,APT
)中。攻击者会利用该技术,以被攻陷的系统为跳板,访问其他域内主机,扩大资产范围(包括跳板机器中的文档和存储的凭证,以及通过跳板机器连接的数据库、域控制器或其他重要资产)。
通过此类攻击手段,攻击者最终可能获取域控制器的访问权限,甚至完全控制基Windows
操作系统的基础设施和与业务相关的关键账户。因此,必须使用强口令来保护特权用户不被用于横向移动攻击,从而避免域内其他机器沦陷。建议系统管理员定期修改密码,从而使攻击者获取的权限失效。
5.1 常用Windows 远程连接和相关命令
在渗透测试中,拿到目标计算机的用户明文密码或者 NTLM Hash
后,可以通过 PTH
(Pass the Hash
,凭据传递)的方法,将散列值或明文密码传送到目标机器中进行验证。与目标机器建立连接后,可以使用相关方法在远程 Windows
操作系统中执行命令。在多层代理环境中进行渗透测试时,由于网络条件较差,无法使用图形化界面连接远程主机。此时,可以使用命令行的方式连接远程主机(最好使用 Windows
自带的方法对远程目标系统进行命令行下的连接操作)并执行相关命令。在实际的网络环境中,针对此类情况,网络管理员可以通过配置 Windows
系统自带的防火墙或组策略进行防御。
5.1.1 IPC
IPC(Internet Process Connection)
共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC 可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算机的共享资源时使用。通过 ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息。
建立连接:net use \\192.168.100.190\ipc$ "Aa123456@" /user:administrator
,在命令行环境中输人命令net use
,查看当前的连接:
5.1.2 Windows 自带工具获取远程主机信息
5.1.3 计划任务
5.2 Windows 系统散列值获取分析与防范
5.2.1 LM Hash 和NTLM Hash
5.2.2 单机密码抓取与防范
5.2.3 使用Hashcat 获取密码
5.2.4 如何防范攻击者抓取明文密码
5.3 hash传递攻击分析与防范
5.3.1 哈希传递攻击的概念
5.3.2 哈希传递攻击分析
5.3.3 更新KB2871997 补丁产生的影响
5.4 票据传递攻击分析与防范
5.4.1 使用mimikatz 进行票据传递
5.4.2 使用kekeo 进行票据传递
5.4.3 如何防范票据传递攻击
5.5 PsExec 的使用
5.5.1 PsTools 工具包中的PsExec
5.5.2 Metasploit 中的psexec 模块
5.6 WMI 的使用
5.6.1 基本命令
5.6.2 impactket 工具包中的wmiexec
5.6.3 wmiexec.vbs
5.6.4 Invoke-WmiCommand
5.6.5 Invoke-WMIMethod
5.7 永恒之蓝漏洞分析与防范
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。