内网安全-横向移动&Exchange服务&有账户CVE漏洞&无账户口令爆破
目录
内网安全-横向移动&Exchange服务&有账户CVE漏洞&无账户口令爆破
#知识点:
1、横向移动-内网服务-Exchange
2、横向移动-无账户-Exchange-爆破
3、横向移动-有账户-Exchange-漏洞
Exchange Server是微软公司的一套电子邮件服务组件。. 除传统的电子邮件的存取、储存、转发作用外,在新版本的产品中亦加入了一系列辅助功能,如语音邮件、邮件过滤筛选、OWA(基于Web的电子邮件存取)。Exchange支持多种网络邮件协议;如:SMTP,POP3,IMAP4等。
本节课主要讲一下Exchange在内网横向移动的用处,我们一般是扫描25端口来看这个服务开启了没有。25端口就是SMTP协议,即邮件传输协议。
域横向移动-内网服务-Exchange探针
1、端口扫描
exchange会对外暴露接口如OWA,ECP等,会暴露在80端口,而且25/587/2525等端口上会有SMTP服务,所以可以通过一些端口特征来定位exchange。
2、SPN扫描
powershell setspn -T 0day.org -q */*
3、脚本探针
python Exchange_GetVersion_MatchVul.py xx.xx.xx.xx
利用端口扫描的话就是看25端口是否开放,SPN扫描的话就直接可以看域内主机开启的服务。而脚本探针则是利用py脚本对目标ip进行探针,不仅可以探针到目标机器的Exchange服务的版本,还会列出该版本存在的漏洞信息
利用CS进行端口扫描就可以看到25号端口开设了一个ESMTP MAIL服务,那我们一看就知道这是邮件服务呀。
此时我们需要知道一点,就是这个邮件服务器不一定就是在域控上面,可能是单独开设的一个机器来作为邮件服务器
这里可以看到利用SPN扫描也是可以扫到exchange服务的
利用脚本可以探测到Exchange的内核版本,
我们可以通过下面这个微软官方文档找到相应的server版本,如果说这个版本存在一直的CVE的话,那就会直接显示出来。
Exchange Server 内部版本号和发行日期 | Microsoft Learn
那这个很可能就是2010 SP3这个版本,然后我们就可以根据这个版本看存在哪些漏洞。
并且这里如果说这个邮件服务暴露在外网的话,利用这个工具也是可以进行探针的,如果说该版本存在漏洞的话,就会直接把漏洞编号显示出来
插入知识:
通过下图我们可以看到exchange以前爆出来过11个漏洞。但是没有版本对应漏洞,我们不太好看。
然后我们在看刚才那个脚本的源码写的,会发现少了一个2018的,也就是说可能存在CVE2018这个漏洞,但是这个脚本没扫出来的情况,需要注意一下
这一张图片有漏洞对应的版本,但是图片比较模糊,细看的话能看出来,就别嫌弃了。
域横向移动-内网服务-Exchange爆破
1、Burp+Proxifier
这个就是当我们已经有一个主机的普通权限就行,就可以先看一下域内成员都有谁,然后就可以在登录邮件系统的时候进行爆破,因为这个作为域内成员发邮件的一个东西,肯定每个人都有一个账户,我们可以通过抓包然后对密码进行爆破,如果能爆破出来就可以发送一些钓鱼邮件。但这个用处不是特别大,爆破出来登录上去可以发送钓鱼邮件,其他也没啥大的做用,不如我们等会说的直接通过Exchange版本来看相应漏洞,然后直接利用漏洞去利用然后上传后门拿下域控。
这里需要注意一下,我们这里是在本机抓包的,所以需要是利用proxifier搞个代理,不然也访问不了域控上面的邮件服务,同样也抓不了包
就可以把这些成员名字全部放到burp上面进行爆破,然后看能不能爆破出来正确的密码。
2、项目
GitHub - grayddq/EBurst: 这个脚本主要提供对Exchange邮件服务器的账户爆破功能,集成了现有主流接口的爆破方式。
这两个项目也是爆破用的,小迪说不推荐大家使用,因为他没有成功。。。。。
域横向移动-内网服务-Exchange漏洞
确定内核版本-筛选Server版本-确定漏洞对应关系-选择漏洞进行漏洞
我们这里可以直接在邮件服务的页面右键源码,就可以知道它的内核版本,然后看server版本,然后确定漏洞关系,最后利用漏洞
https://www.cnblogs.com/xiaozi/p/14481595.html
这个链接里面就有版本和漏洞的对应关系,但是到2020就结束了,这也是比较难受的地方。
然后小迪复现了几个CVE,这里我就不在记了,网上直接搜CVE编号比小迪讲的清楚。