对学校门禁的一次渗透测试

疫情当前,进出校园成了一大难题。

不少大学生直呼回到了高三的生活。

我们学校之前是人工看审批报告,截几张图蒙混过关也可以。但后来装了人脸识别+身份证验证+健康码验证之后,我们的快乐就没了。

本着 “我不黑你总会有人黑你甚至翻墙钻狗洞出校门” 的心情,我对这个门禁系统进行了一次渗透测试。

2022-10-08,图书馆,单词背不进去。


首先,这个门禁系统能对接钉钉审批,肯定要联网

只要你联网就好办

上nmap,直接扫b段,10.0.0.0/8

最后得到一批5555端口的可疑IP

共有7个,从30到36

5555-5585 是adb调试桥的端口,一般这种扫码机器都是比较垃圾的安卓机

直接就是su权限

1
2
3
adb connect x.x.x.x
adb -s x.x.x.x shell
su

既然是su权限就方便了很多

先查看包:

1
pm list packages -3

我是通过top这个命令,确定的当前运行的是一个叫“xx门神”的程序(还是打个码吧)

找到pid后查看他的log

1
logcat |grep --line-buffered xxx >> /sdcard/result.txt  

这里有个小插曲是,本来毫无头绪的,吃了个饭,心血来潮对下载了这个app到手机模拟器里

抓包发现起到作用的是socket包,而不是http包,也难怪,得持续监听,想也能想到

最后分析包,发现xms_white_result这个字段是1的时候就是通过审批

接下来判断健康码和行程卡就能出校了

如果能来个中间人,静态修改这个字段的值,就能做到欺骗机器,假装自己申报过


接下来就没搞了,但这个漏洞还是蛮严重的,因为只要有人进校就会有数据包发过来,我就能监听到相关信息。

建议是增加身份验证,要么直接关掉adb的功能,需要升级就带着线上门,不然维护费交来让你喝下午茶的嘛?!


不过话又说回来,要是他这个端口也没开,我应该怎么知道他的IP地址呢?