内部服务访问
我们在域内可以访问的其他服务也不可忽视,因为企业的域环境同时也是个内部网络。我们在一般内部网络渗透中会遇到的应用以及对应的攻击手法,在企业的域环境中依旧适用。诸如 FTP,SSH,HTTP(S) 等普通内网中就很常见的网络服务不再赘述,我们来讲在 AD 中更应当注意的内部服务:SMB 与 MSSQL。
SMB
如果拿下的的用户可以访问其他主机的 C$/ 或 ADMIN$,意味着该用户拥有对该计算机的本地管理员权限。除了 C$/ 和 ADMIN$,还要注意任何可读/可写的共享目录,例如某个服务器开放 dev 共享目录,它可能存储着应用程序的源代码。
枚举域内所有共享目录
枚举当前用户可以访问的共享目录
FTP
除了匿名访问,如果我们可以通过凭证认证登陆,请不要忘记检查其中的任何有趣的文件。
扫描内网端主机的21端口,尽管FTP依旧可能被部署在非21的端口。
Web应用
如果我们可以利用内部Web应用,我们可以转移到另一台机器上。常见的情况有利用Jenkins的脚本执行功能实现RCE。
扫描内网段主机的80,443,8080等端口,尽管Web应用也可能被部署在非常规端口
SQL服务器
我们可以利用xp_cmdshell 和 SQL Link 在其他机器上执行命令。关于SQL Server的利用,我们会在下一章做具体解释。
扫描内网段主机的1433端口
使用 PowerUpSql 脚本枚举域内SQL服务器
get-SQLInstanceDomain
测试对特定实例的访问
Get-SQLConnectionTest -Instance [实例名]
获取SQL数据库实例信息
Get-SQLServerInfo -Instance [实例名]
获取SQL数据库实例的链接 (不同帐号能枚举出的内容可能所有不同)
Get-SQLServerLinkCrawl -Instance [实例名] (-username [帐号] -password [密码])
实际上,有很多的内网服务可以与 AD 进行无缝交互,例如 IIS 服务器、Exchange、Jenkins 等。在教材未来的更新中,我们争取加入更多这样的案例。