通过CVE-2021-36260
登录海康IPC-WEB
login-hikvision-davinci-ipc-web-by-CVE-2021-36260
date:2023-10-10 17:44:54
在扫描设备时发现一条告警,某`IPC`具有`CVE-2021-36260`漏洞,通过[CVE-2021-36260 POC](https://github.com/Aiminsun/CVE-2021-36260)可以直接获得一个root shell。同时该设备还具有WEB服务,于是乎想试一试能不能登录,寻找了一下配置文件没有发现,遂有此篇。
不得不说IPCWEB的asp后缀名很诱惑人啊,但是在shell里查看了一下发现都是普通HTML。
于是乎看一下是谁监听的80端口。
看来是这个`davinci`程序提供的WEB服务,
将其软连接到WEB目录下,并通过web下载到本地进行分析:
`ln -s /home/process/davinci
/home/webLib/doc/page/davinci`
拿到文件后抓包了一下登录请求,通过password字段定位到验证函数`sub_48E09C`,根据`dev_debug_v1`中的调试信息发现
验证逻辑。
其中凭证哈希通过内存中的结构体读取。
由于我们已经有shell,所以这里直接写代码从内存中将hash数据读取出来。
得到hash
同时在上面的图中我们发现其是将哈希与challenge拼接后的hash进行98次`sha256`后与输入内容进行比较的,这点我们在前端搜索SHA256发现与其相互印证的逻辑。
而且我们可以得知之前取得hash的计算方法为用户名+盐值+密码,所以可以尝试通过hash爆破明文密码。
这里我们直接在第一次`sha256`下断点后修改其返回结果为从shell中获取的值,执行后登陆成功。
确定`v11`为明文密码,其来源为:`v4+32`。
`v4`为该结构体指针,所以可以通过修改之前的代码中读取偏移为+32直接读取明文密码。
文案 |Qingyun
排版 | Xiaomeng
审核 | Soap
指导老师| Hard Target