公众号旧文

从一个很像的域名,挖出了一个 SSPanel

作者:胖子阅读 —

刚刚,我在一个群里看到一条信息:

名称:19920429
官网:https://ss.19920429.xyz

看到这个域名的时候,我愣了一下。

因为我的个人域名是:

19900429.xyz

对方的域名是:

19920429.xyz

只差了两年。

于是好奇心就上来了。

我想看看,这个和我命名风格几乎一样的域名,背后到底跑着什么服务。

第一步:查看 WHOIS

首先查看域名信息:

whois 19920429.xyz

结果显示:

  • 注册时间:2017年7月
  • 注册商:Name.com
  • DNS:Cloudflare

这个域名已经注册接近 9 年了。

如果是一次性的短期项目,通常不会续费这么多年。

因此我初步判断:这大概是一个长期持有的个人域名。

第二步:检查 DNS 解析

查询根域名:

dig 19920429.xyz

结果很意外:

ANSWER: 0

没有 A 记录。

继续查询 IPv6:

dig AAAA 19920429.xyz

结果同样为空。

也就是说 19920429.xyz 本身没有解析到任何服务器。

但是群里的地址却是:

ss.19920429.xyz

于是继续查询子域名:

dig ss.19920429.xyz

结果出现了:

64.176.52.26

线索终于出来了。

第三步:定位服务器

用 nmap 查看这个 IP:

nmap 64.176.52.26

扫描结果:

80/tcp   open
443/tcp  open
3306/tcp open
22/tcp   closed

同时反向解析显示:

64.176.52.26.vultrusercontent.com

说明这是一台部署在 Vultr 上的 VPS。

这里有两个值得注意的地方:

第一,SSH 的 22 端口关闭。

说明要么改了 SSH 端口,要么采用了其他管理方式。

第二,MySQL 的 3306 端口直接暴露在公网。

这一点比较少见。

很多运维都会把数据库绑定到:

127.0.0.1

而不是直接开放给整个互联网。

第四步:查看网站

继续访问:

curl -I https://ss.19920429.xyz

返回:

HTTP/2 200
server: nginx

说明网站正常运行。

于是直接查看首页源码:

curl -s https://ss.19920429.xyz | head

出现了关键内容:

<title>SSPanel-UIM</title>

并且自动跳转:

window.location.href = "/auth/login"

到这里,实际上就已经破案了。

第五步:查看登录页

继续查看登录页:

curl -s https://ss.19920429.xyz/auth/login

页面内容包括:

登录到用户中心
注册邮箱
登录密码
两步认证
点击注册

标题仍然是:

<title>SSPanel-UIM</title>

至此可以确认:

这台服务器运行的是 SSPanel-UIM。

从一个域名到一个服务

回头看整个过程,很有意思。

最开始我只是在群里看到一个和自己的域名非常相似的名字:

19920429.xyz

然后顺着这条线索一步步追踪:

WHOIS
↓
DNS
↓
发现子域名
↓
解析服务器IP
↓
Nmap扫描
↓
查看HTTP头
↓
查看HTML源码
↓
识别SSPanel-UIM

最终确认了这个域名背后的服务类型。

整个过程中没有利用任何漏洞,也没有尝试登录系统。

只是利用公开可访问的信息进行分析。

对于学习 Linux、网络和服务器的人来说,这种调查过程非常有价值。

因为它把:

  • 域名
  • DNS
  • Cloudflare
  • VPS
  • Nginx
  • TLS证书
  • MySQL
  • Web面板

这些平时分散的知识点,全部串联到了一起。

而这一切的起点,仅仅是因为我看到一个和自己域名非常像的生日域名。