探索黑客技术攻防,实战研究与安全创新

导航菜单

一次绕过IPSEC限制的渗透之旅

都说:“学到老,活到老。”这年头没点文化,真受歧视呀。这不,最近一狠心,砸开我的小猪存钱罐,取出多年积攒下来的MONEY,报了个MCSE的学习辅导班,也算是扩充一下自己的知识面吧!理论知识的课程听起来总是枯燥乏味的,有N多同志都伏案睡着了,我们可不能像他那样,花了那么多钱来这里是培训学习的,可不是来睡觉的。那就找点刺激的事情来给自己提提神,还是测试一下培训中心的内网服务器的安全吧!

这个内网有台WEB服务器,上面存储了一些MCSE培训有关的课件和软件,以方便我们需要的时候从WEB服务器上拷贝到本地,就从这台服务器入手吧!我浏览了一下WEB服务器,发现所有页面都是静态的,而且每个静态页面文件的命名方式都是年月日时这样的方式,一看就知道是个CMS系统,可是具体采用的是哪款CMS系统就不知道了,注入是没啥希望了,内网的WEB服务器旁注更是无稽之谈。还是拿出臭要饭的编写的“WEB路径猜解”来扫描一些敏感的文件或者路径吧!我发现运气也不错,扫到了Ewebeditor这个路径。

867fe4044b76039f1.png

我打开Ewebeditor的登录页面,使用默认的admin登录,出错了。看来管理员还是有点安全意识的,不能图方便呀!我利用默认路径下载了Ewebeditor的数据库,使用access打开eWebEditor的数据库文件,使用access打开eWebEditor_System表来查看管理员登陆的用户名和密码,都采用MD5加密了。不过,没关系,网上有许多MD5查询网站,我们把被MD5算法加密后的用户名和密码放到MD5破解网站上进行查询,结果就出来了。

想破解出来的管理员账号登录Ewebeditor的后台管理,然后再得到WEBShell就简单了。来到“样式管理”,随便选择其中的一个样式,然后点“设置”,进入“设置样式”页面,在图片类型中添加ASP文件类型,图片限制里输入0,以方便我们传送。选中刚才修改后的样式,点“预览”按钮,我们就能利用插入图片的功能来插入我们的海阳顶端ASP的相对路径。

c768c44585d9f3211.png

登陆我们的海阳顶端ASP,许多黑客初学者们在得到WEBShell都会进行,涂改主页。其实这是非常不明智的做法。我们应该先收集一些服务器的相关信息,以方便我们进一步提权。利用海阳顶端ASP木马的强大功能,我搜集到了服务器的一些基本的信息,以方便我们进一步提权。利用海阳顶端ASP木马的强大功能,我收集到了服务器的一些的基本信息。操作系统为Windows2000,开启了终端服务,并且默认的端口也没有改变。我还发现了提权好帮手Serv-U,我们来提权吧!上传GoldSun编写的Serv-U,我们来提权吧。上传GoldSun编写的Serv-U提权ASP文件到服务器上,输入添加管理员的命令“cmd/c net user mickey andy /add & net localgroup administrators mickey /add”,然后点提交,返回了成功页面。看来管理员并没有修改Serv-U默认管理用户的口令或端口,这倒是省下了我们不少的麻烦。激动的时刻也要到了,我们使用远程桌面连接,输入WEB服务器的IP地址,点连接,结果就弹出了连接失败。

我也没想到内网的这台服务器配置还挺严格的,刚开始确实是小看了它了,我扫描了一下服务器的端口,发现只开放了80端口,难怪终端连接不上。可是刚才我们也没有看到WEB服务器安装有任何防火墙呀?等等,有个“IPSEC Policy Agent”服务启动了,或许是管理员利用IPSEC做了端口过滤,这非常有可能,毕竟学的就是MCSE,使用微软自带的这个IPSEC进行安全管理对于管理员来说是再好不过了。不过,IPSEC也不是非常安全的,经过精心配制的IPSEC广播通信、多播通信及Kerberos协议的通信,因为Kerberos本身就是一种安全协议,就不需要IPSEC保护了,这个就是Windows自带的IPSEC的Kerberos免过滤规则,我们就是要利用这个规则来突破限制。

u=4157629394,1252058239&fm=15&gp=0.jpg

我们都知道Kerberos协议是采用88端口通信的,所以只要在源端口绑定为88端口,IPSEC就会放行。可是这里还有一个拦路虎,就是在Windows2000 Spl及以后的版本中,系统默认是禁用Kerberos免过滤规则的,不过这点不用担心,我们可以通过修改注册表的HKLM\SYSTEM\CurrentControlSet\Services\IPSec下的NoDefaultExempt键来绕过这个限制。这个NoDefaultExempt键在Win2000 spl-sp4下默认是1,在Win2003下默认是3,我们将其修改为0就可以了。

我们在本地计算机上从注册表导出该文件并修改NoDefaultExempt的默认值为0,然后保存为ipsec.reg,通过WEBShell上传到WEB服务器上,利用Serv-U提取ASP版来执行如下命令“cmd /c regedit /s C:\Inetpub\wwwroot\ipsec.reg&iisreset /reboot”。这样执行成功后,WEB服务器就会重新启动来刷新IPSEC设置,我们可以通过海阳顶端的ASP后门的注册表键值的读取功能来确认我们的修改,这样就说明我们的修改已经成功了。

我们再次利用SL扫描器执行一下端口扫描,这次多加了“-g”参数,意思为绑定源端口为88开始扫描。可以看出前后两次的扫描区别,第一次没有绑定源端口88的扫描结果是只扫描出了WEB的80端口,说明服务器所开放的端口仍然在IPSEC的保护之中,而第二次则扫描出了WEB服务器上所有开放的端口,这就说明我们绕过了IPSEC的保护限制。

接下来我们需要利用Fpipe这类的端口转向工具,在本地CMD命令执行下执行“Fpipe.exe -1 3389 -r 3389 192.168.0.2 -s 88 -v”,这条命令的意思是利用Fpipe监听本地的3389端口,当使用mstsc连接本地的3389时,Fpipe会把数据包转发到192.168.0.2服务器的3389端口,并采用源端口为88。我们重新打开远程桌面,输入本机的IP地址,就可以连接上远程的WEB服务器了。

登录到远程服务器后,打开本地安全设置下的IP安全策略,证实了我的想法。服务器果然是利用IPSEC来设置除了开放80端口外,其他的所有端口都禁止通信了。

这次的渗透测试虽然简单,却很特别。管理员自认为仅开放WEB服务所需要的端口,服务器就安全了,而我们却可以通过应用层的攻击,比如利用常见的WEB程序的注入漏洞,先得到一个WebShell,然后再利用微软操作系统自身的漏洞或第三方软件的漏洞,再或者服务器配置的漏洞来提升我们的权限,然后再由里向外突破防火墙的限制就易如反掌了。管理员要不断的学习,不断的实践来提升自己的功力,就像我这样。

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐