前言
作为一个漏洞挖掘者,你会用任何文件读取漏洞。
作为系统维护人员,您将在系统维护主机桌面上保存哪些重要信息?
背景
不久前,我收到了一个共8个域名的渗透测试项目。领导给出的期限是两周。我总觉得一个人做项目缺乏激情。想起我的狗朋友-单身狗强壮。我向领导申请,大强和我一起完成了这个渗透测试项目。很快,在项目周期改为一周的前提下,我们俩都开始工作了。客户只提供多个用户系统测试账户,不提供管理系统测试账户,但管理系统仍在测试范围内。经过四天的努力,我和大强挖了很多漏洞,计算结果,逻辑漏洞很多,系统漏洞也很多,可以愉快地交付。然而,唯一缺少的是一个shell,作为一名资深漏洞挖掘者,我知道渗透测试的目标是发现更多的问题,而不是shell为终点。但是没有shell心里总有一丝遗憾。就像将军拿下城市却没有见到敌人的首领一样。
过程
在整理报告时,我在大强的漏洞报告中发现了一个XXE漏洞,还在显示。经过仔细研究,发现该接口是整个系统登录后的统一参数入口。系统分析xml里面的方法之后,按照相应的方法执行响应逻辑。按照内心的躁动,我和大强开始通过fuzz寻找各种敏感文件。
经过各种尝试,读取了大量的系统敏感信息。Get shell几乎没有帮助。大强几乎要放弃了。这时,我盯着大强的电脑屏幕,发现他的桌面上有一个1.txt、2.txt等待文件。巧合的是,我的桌面也使用了一个简单的命名,并有一些重要的临时文件。有很多人也为了方便,在桌面上存储一些不容易记录的敏感信息。然后,我们直接执行了管理员的桌面文件fuzz。经过一番尝试,我们找到了它111.txt、123.txt、pwd.txt临时文件。其中发现pwd.txt文件中存储着一些网址及对应的账号密码,以及一些零散的字符串,貌似像密码。此时我和大强笑出了鹅叫声,他叫嚣着要教管理员如何做人。
大强和我立即扫描了目标主机的全端口服务。发现主机开放21、80、443、3389、6379、8080、8085、8086服务。大强和我算了算,用我们读到的6对账号密码中的一个直接登录到3389。带着兴奋,我们一次又一次地尝试。但是画风是这样的:
3389失败。
进入ftp失败。。。
进入redis失败。。。
由于读取的链接地址是内网系统,根本没有机会进入。
......
在各种服务失败后,我们尝试了3389ftp等待服务爆发。还是没有结果。当我们直接访问目标地址的8085和8086端口时,没有直接显示任何服务。但发现8085和8086的服务连接性很好。
通过杜娘的努力,我们寻找可能存在8085和8086默认端口的服务信息。但还是什么都没有。
此刻,大强教管理员的叫嚣也消失了。
等等,这不是结束,所以结束太草率了。我闭上眼睛,隐约可见。~好像我在哪里见过默认服务这两个端口。大脑高速运转后,还有一些残余的记忆。想起多年前遇到的treeNMS和treeDMS这两个管理系统的默认端口是8086和8085。经过验证,这次没有让我和大强失望。正是这对兄弟系统。我们使用它XXE读取漏洞读取的任何文件admin帐户密码组合。首先成功进入treeNMS系统。
登录到treeNMS
查看系统数据,What F**K,这个管理端是空的。Redis没有信息。别慌,别慌,还有DMS系统呢?怀着不安的心继续尝试登录下一个。
登入treeDMS
此刻,我非常激动,大强的叫嚣又回来了。管理端有三个账户,密码是通过的MD5存储的。经过反查,成功查到两个账号的密码。直接登入。看看能不能有所收获。
登入后台
果然,出乎意料该产品管理背景系统相对脆弱。对上传类型的文件没有限制。我们通过图标设置模块,直接上传文件shell。当然,内心的遗憾已经得到了很好的弥补。
本着一颗红心,既然我们进入了后台,在测试范围内,我们在客户的授权下挖掘了这个后台系统的全面漏洞。也挖了很多漏洞。在项目截止日期的最后一刻,我们完成了所有目标的测试。我付出了完美的结果,没有留下任何遗憾。虽然过程没有起伏,但值得总结。
总结
挖掘和利用漏洞的过程不仅仅是挖掘一个漏洞,而是简单地利用漏洞可能带来的直接效果。相反,通过不断寻找漏洞,突破思维限制,在任何相关事件中找到最大限度的利用。为什么在挖掘和利用漏洞的过程中,你总是认为其他人可以找到一些你找不到的突破。这个问题可能是你的知识相对狭窄,但也可能是你的思维受到限制。所以,不要让惯性思维限制你能力的进步。所以漏洞挖掘就是先拼写技术能力,然后拼写思维。在技术达到一定程度后,思维决定了发展的高度。