公众号旧文
从一个很像的域名,挖出了一个 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面板
这些平时分散的知识点,全部串联到了一起。
而这一切的起点,仅仅是因为我看到一个和自己域名非常像的生日域名。