小白从信息收集到企业内网的“入狱”之路

  • 小白从信息收集到企业内网的“入狱”之路已关闭评论
  • 17 views
  • A+

0x00 总要有个题目吧

为什么写这样的一篇文章呐,主要是想挣(pian)稿费,啊呸,说错了,主要是想用这篇文章回复问过我的一些初学者,以前我没得选,我现在想做个好人,什么呀,串场了。是想说即使现在技术可能还在初级阶段,但依旧可以仅仅通过信息收集的技巧撬开目标内网的大门。
那是我的朋友某次闲聊到的,我们就叫他W吧。那时候W还是一个小白,不仅没钱还没技术,天天跟我说某某SRC上的大佬月入百万有多牛X,转眼就把最后一串韭菜撸完了。“卧槽!老子还没吃呢!”他咽下韭菜,喝了一口漓泉,“你听我讲嘛……”。
那是差不多一年前了,朋友W盯着某厂众测,但是没啥漏洞,无意中在浏览某眼查的时候,发现它和某大厂的一个合资公司(我们叫它A厂吧),发现还很大,就决定看能不能捞到一个Self XSS。在A厂的官网http://www.xxbxx.com/上并没有什么实质性的收获,指纹扫描亦非特定cms;接着进行了资产的收集。通过子域名扫描获得了目标的子域名列表,而旁站扫描的结果有点多,都不属于A厂的资产,便暂时打消旁站的念头……为了行文方便,以下我就转述朋友A的经历
0x01 GitHub上的突破——源码与数据库账号密码泄露
由于扫描到的子域都为需要登录的站点,所以我又在GitHub对A厂进行信息收集。通过搜索A厂的域名“xxbxx.com”获得了非常多的条目,很幸运的是在其中找到了很多有用的信息——A厂的员工所写的代码中的重要信息。
里面有三个作者引起了我的注意:其中一个作者GitHub上附上了他的博客的地址,在博客园中的简历看,目前属于A厂,且代码中和另一个拥有相同的阿里云数据库地址,作者很贴心地贴上了数据库账号密码。我没有犹豫就直接连接上了这个MySQL数据库,发现其中涉及的数据特别庞大,但很遗憾的是,未包含如某某系统的管理员、用户的账号数据。

1.png

2.png
在另一个作者的项目中,发现了关于A厂的一条链接:

3.png
这是一个“生日礼物”的小工程,由于没有时间对其进行源代码审计(说的好像我会一样:(),便对该链接进行了常规的安全测试,进而发现了存在SQL注入(看到.do以为可能会有反序列化啥的漏洞,但测试未发现)!注入点为id,数据库Oracle,注入类型为布尔盲注:

4.png

5.png

6.png
很幸运的是DBA权限!朋友A后面的利用步骤这里略去不表,继续讲其他收集到的信息。在该GitHub账号下继续查找和A厂的相关信息,某个项目的logs目录下有个名为jl*-xxxx.log的日志文件。该文件中,存在大量的数据库日志,粗略看了,均为insert操作,操作对象是A厂的员工信息。如果按照下图所示,两行内容为一个员工的信息的话,则此文件大约泄露了四千多个员工的企业信息!而我们知道,A厂的多个系统均使用工号+密码的形式登录——那我可以从该文件中提取员工工号,再使用口令字典进行爆破,若有部分员工使用若口令的话,则可能会被爆破出来。

7.png

8.png
很幸运的是,我随手复制了一个员工的工号6000000000,使用密码123456便成功登录了B系统https://xxx.xxbxx.com/。如果密码如此简单都可以使用,那就爆破一下。果不其然,写了一个python脚本从这个log文件中提取了2987个工号(上面我的估算还是错了哈哈哈),并使用密码123456进行爆破,得到了部分使用此密码的账号并验证登录成功。然而在爆破到一千多个账号的时候,服务器一直返回504,随后转念一想,也不要求这么多了,有几十个账号可以操作就行了——但这不意味着其他的账号中不存在弱口令!

9.png
接着,通过该账号可以浏览很多系统,内部社区BBS、知识库、考试系统、财务在线系统等,此处不再截图,影响范围很广!后来通过在系统中的相关文件发现,工号00开头为公司的正式员工,而6为合作伙伴。

10.png
而在通过对这些系统的测试中,发现“财务在线”(jsp站点) https://xxx.xxbxx.com/存在任意文件上传漏洞。在“费用申请”中(或者其他可以上传附件的申请功能),任意添加一个申请单,在下方可上传附件,此时选择shell文件。选择上传,抓包,将URL中的type=file改为type=images,放行数据包后成功上传,且返回了文件路径:

11.png

12.png

13.png
后续利用不表,以及其他的一些网站上的漏洞这里不表。继续收集信息。

0x02 新员工培训资料——邮箱、VPN默认口令泄露

(1)邮箱默认口令泄露

在渗透时,我喜欢先找到企业的一些类似于“新员工培训”等的文件资料,因为这些资料是为刚进公司且对该公司的相关制度、资产等尚不熟悉的人,所以,这些资料必定包含了企业邮箱、OA等的使用手册!这些手册中会包含很多机密信息,比如邮箱账号格式、初始密码等,虽然新员工都会被要求修改初始密码,但总有一些“自以为聪明且特立独行不听话”的员工——无论这些员工是否受到公司的喜爱,但一定深受恶意黑客们的喜爱!
很幸运的是,我在最初登录的站点帮助中心处,包含了这些文件!其中,“IT服务”/“新邮件系统配置指南”文件描述了如何配置邮件服务器、以及企业邮箱的账号密码格式,其上写明了初始密码为 “公司英文名123”:

14.png

你要相信,总有有那么一些人是不会去修改默认口令的!朋友W也是这么认为的。结合上述从日志中获取到的工号(“感谢”那位在GitHub上泄露了源代码以及日志文件的A厂员工)和初始密码,对A厂的邮箱系统进行爆破。经过几分钟,获得了十几个账号。同样的,使用top10弱口令又爆破了一些账号。

15.png
在此未发现可利用的信息。到这里我就喷朋友W,“你就给我讲这个?说好的内网呐?!”“你等我一下嘛,这不准备到了嘛。”

(2)VPN默认口令泄露

在刚刚的信息收集中,我不仅获得了A厂的邮箱配置,还获得了A厂VPN的详细配置说明文件!这无疑让工作的开展顺利了很多。
在帮助中心中,找到了有一份“《VPN使用方法》”。内容中详细说明了A厂VPN的账号密码、VPN服务器地址端口等信息。其中,A厂企业内部员工的VPN账号密码均为B系统的账号密码,如下图所示:

16.png

17.png
看完了文档的描述,心情很激动!如果登录成功,那将是“一步到位”的操作——直接从外网就可以进入A厂的内网,没有什么比这个更让人兴奋了。根据文档的描述,下载了A厂的VPN软件,安装后,按照描述配置好,用户名为工号,密码为B系统的密码——这里使用了上述爆破出来的弱口令(123456)账户的正式员工账号,发现成功登录!到此,我可以直接访问到A厂的企业内网了!

18.png
使用这几组账号密码,日下了一系列系统,按下不表:

19.png

20.png

21.png

22.png

23.png

24.png
既然进来了,那就都顺手翻翻看,发现两个Web系统中有数据库的配置信息,用户名密码直接连上了:

25.png

26.png

27.png

28.png

29.png

30.png
又随手翻了一下,在“主机环境”中可见A厂的内部机器以及生产机器的配置信息。通过导出Excel的功能,发现该Web系统管理着大约了1800条主机的信息,随机选择一条记录,Linux主机IP和用户密码,通过SSH工具连接并登录成功。

31.png

32.png
通过搜索,发现了系统配置文件,一般,在网站、系统的目录中,我比较倾向于寻找配置文件,因为配置文件中可以获得诸如数据库、后台等的相关信息。接着,查看一下该配置文件内容,cat /xxx/xxx/xxx/config/config.xml,获得数据库地址和用户密码,直接连上。通过这样的方式,陆续获取到几个内网主机的IP与用户名密码,接着,在这些主机上继续搜索配置文件application.ini等,获取数据库等等的配置信息。这样,通过这些“毫无技术”的手段,将内网中的主机、数据库以及项目主机等拿下。

33.png

34.png

35.png

36.png
由于主机过多,无法一一进行渗透与提权。到此,我将我的发现整理成了报告提交给该厂,由于是合资公司,他们很开心地表示漏洞不归他们管,并将报告转给了A厂。我纳闷了几天,说好的奖金呐。这时,一个QQ好友请求发了过来,说是A厂的技术负责人,对我的报告表示赞赏并绝口不提奖金的事情。我也不敢提呀,等下截图说我勒索(警察叔叔你听我解释),那可咋办。

image.png

0x03 最终的最终

朋友W说了很多,但最终还是停止不说话了,只是喝了一小口酒,沉默着。
我又回想起那些问题,其实,duck不必,成长是一个过程,并不是一蹴而就,而是在于积累。用朋友W的经历对“小白们”说,干就完事了,并不是只有大佬才能挖到漏洞,有时候细心一点,信息收集阶段就可以“日”川了。

相关推荐: Earth Kitsune行动两个后门详解

译文声明 本文是翻译文章,文章原作者William Gamazo Sanchez, Aliakbar Zahravi, Elliot Cao, Cedric Pernet, Daniel Lunghi, Jaromir Horejsi, Joseph C Ch…