本文提及的所有工具会在文末提供下载链接
小帅是一名苦逼的网络安全工程师,一个月前他刚和自己的前女朋小美友结束了长达三年的恋爱。为了能够减轻失恋给他带来的痛苦,他便一门心思的投入到工作当中,希望工作的劳累来忘记失恋给他带来的痛苦😖。
一日小帅拖着疲惫的身体回到酒店。此时他的手机收到一条短信。
小帅看到信息后心想:"什么年代了,还有人用这种方式来个人留言吗,就不能直接发微信或者打电话吗。"。于是小帅抱着好奇的心态在微信上搜索并关注了这个公众号。一关注,公众号就给他发了条消息,告诉他收到一条新的回复。
小帅点击进入信箱,并输入了自己的电话号码后,就显示他收到了一条信息,这让小帅想到,是不是分手的前女友小美给他发的。
点开查看短信的详细内容后,里面写的是一些表明自己很后悔的话。小帅看到后心里五味杂陈。心里想是不是小美通过这个平台给他发送的这些话。自己该回复什么。在输入框写了一下让对方放下过往好好生活的话后,发现发这短信竟然还要花钱!!!!。1.99元60个字。小帅想了想自己前女友小美也是个对钱很节省的人,应该不会把钱用在这种勾巴东西上。随即小帅开始怀疑起了对面的身份。于是尝试攻略这个平台。看看能不能看到对方的真实身份。
由于平台是使用微信内置浏览器访问的一个网页,直接通过右上角的复制链接功能获取到平台的访问地址:http://sms10.4.9xxxx9.cn/app/h4/static/
在PC浏览器上打开上述链接发现,可以正常打开并浏览。
在资产平台上搜索该域名下的资产信息。发现域名下还是有很多资产的。其中还包括一些平台信息,在其中小帅看到一个时光漫递系统,从logo一眼就能看出来是若依改的系统。若依在登陆和未登录状态下都有很多可利用的漏洞。而且一般若依系统的权限都出奇的高。于是小帅尝试从这个点进行下一步攻略。
若依系统的话,小帅第一个想到的先用shiro反序列化先一把梭一下。这里用railgun里的shiro反序列化漏洞利用工具进行密钥爆破。结果是没有爆破出来可用的密钥。
见shiro反序列化这条路走不通,小帅也并没有放弃,随后小帅通过弱口令admin/123456成功登陆到了系统当中。小帅心想:"果然弱口令是网络安全界的常青树啊",小帅翻了翻系统里的信息,只看到一些用户信息,微信的配置信息,还有一些默认配置的话术信息。系统中唯一有价值的信息就是项目的路径的信息并没有看到其他的有效的信息。
没办法,小帅只能先上由小黑编写的若依漏洞利用工具进行扫描,设置好目标地址和登陆后获取到的cookie后,点击扫描,发现该系统存在文件读取,模板注入和sql盲注三个漏洞点。但是由于盲注需要的时间过长,模板注入也是误报,所以最后小帅能利用的漏洞点也只有文件读取了。
先读一个/etc/shadow和/etc/passwd来获取主机的用户名账户以及密码信息。
小帅将获取到的密码哈希放入解密平台上进行查询,发现无法进行解密,这条路又被截断。
但是小帅又想到,既然可以文件读取,通过抓包分析获得工具进行漏洞利用的数据包,发现是通过计划任务对文件进行打包后,访问1.zip获取到文件。于是小帅结合前面登陆获取到的项目路径并fuzz若依常见的文件名(ruoyi-admin.jar),成功下载到了该若依系统的源码.想通过源码获取到shiro的key从而使用反序列化漏洞获取到webshell。
结果是,小帅在获取到若依程序并丢入jadx中后发现,该系统开启了随机密钥,也就是说通过shiro反序列化漏洞getshell这条路是彻底被堵死了。小帅只能另寻他路。
小帅尝试通过文件读取来获取更多信息。
读取/root/.ssh/id_ras来获取密钥直接登陆系统,发现文件不存在
读取/etc/redhat-release获取系统版本信息
读取/proc/self/environ获取当前用户环境变量信息。发现可能存在宝塔面板。
读取/proc/sched_debug获取机器进程信息,并结合读取/proc/pid/cmdline获取对应进程的具体执行命令,看能不能获取到该机器下其他项目的源码或敏感配置信息。
可以看到存在多个java进程以及一个jsvc进程。
通过读取jsvc的进程信息文件可以得知该机器上确实安装了宝塔面板,但并未对外开放。
读取那几个java进程的信息。
发现还存在一个SmSSendServer的项目,结合文件读取漏洞获得jar文件并放入jadx中分析源码。
在源码中发现大量数据库账户密码信息。
访问该项目启动时绑定的域名,发现可能由于绑定的公众号被封禁该项目已被废弃,功能都无法使用。从被封禁这里就可以看出。这个平台看样子也不正经。
小帅通过读取以下敏感文件后都没有获取到什么可以进一步深入的信息。
/root/.ssh/authorized_keys //如需登录到远程主机,需要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去
/root/.ssh/id_rsa //ssh私钥,ssh公钥是id_rsa.pub
/root/.ssh/id_ras.keystore //记录每个访问计算机用户的公钥
/root/.ssh/known_hosts
//ssh会把每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。/etc/passwd // 账户信息
/etc/shadow // 账户密码文件
/etc/my.cnf //mysql 配置文件
/etc/httpd/conf/httpd.conf // Apache配置文件
/etc/redhat-release 系统版本
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/var/lib/mlocate/mlocate.db //全文件路径
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/porc/self/cmdline //当前进程的cmdline参数
/proc/sched_debug 配置文件可以看到当前运行的进程并可以获得对应进程的pid
/proc/pid/cmdline 则可以看到对应pid进程的完整命令行。/proc/net/fib_trie 内网IP
/proc/self/environ 环境变量
/proc/self/loginuid 当前用户
此时小帅想到,是不是可以通过读取宝塔目录下的一些敏感文件,来获取服务器更多的一些信息。通过Google前人的文章,小帅得知,宝塔目录下有一个default.db的文件,这个数据文件中存储了许多敏感的配置,以及大量备份文件的路径。一般该文件的路径为/www/server/panel/data/default.db,于是小帅结合文件读取。果然后去到了这个文件。打开后又发现了一块新大陆。
可以看到这个数据库文件中包含了几乎宝塔下的所有信息,包括登陆入口,账户密码,防火墙配置,域名等。但是密码都被宝塔加密,暂时小帅也不知道如何进行解密。
不过在backup表中,获取到了很多数据库备份的目录地址信息,结合文件读取漏洞下载这些备份文件。
打开备份数据库文件,搜索目标域名,发现为一个新的短信平台,正是我们在资产搜索时看到的title为平台的资产。
从数据库备份中查找系统的登陆账户密码,通过解密得到后台账号密码为admin/admin@2023,登入后看看是否有可进一步利用的点。
登陆后看到的是用户信息和营收信息,小帅看到后不禁感叹,这个钱真的好赚啊。
小帅点开消息管理功能,发现其中存在大量的信息。随便点开一个看,就是各种对话,看到系统对用户的标记为“韭菜”才知道,原来这些信息都是客服使用默认模版语句发送的,通过这写暗示性强的话,骗你花钱进行回复。
小帅看到这些后感叹运营平台的这些人真不是东西啊,竟然利用人的情感和对失去之人的向往赚钱。于是小帅决定进一步深入,势要讨伐这些很坏很坏的人。
小帅继续浏览了平台的各个功能块后,在公众号管理功能块中找到一个文件上传点,通过上传一句话jsp马和冰蝎马,并在请求头中添加登陆后的Cookie值后成功Getshell,但是权限较低。
获取数据库账户密码并进行连接。
参考文章以及工具链接:
任意文件读拿下宝塔:https://kdxcxs.github.io/posts/cyber-security/任意文件读拿下宝塔/
文件读取漏洞利用姿势:https://www.freebuf.com/articles/web/337617.html
若依综合利用工具:https://cn-sec.com/archives/1705002.html
railgun:https://github.com/lz520520/railgun
冰蝎:https://github.com/rebeyond/Behinder
原文始发于微信公众号(Xsafe):深入匿名信箱骗局
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论