逆向工程 IP 摄像机固件以查找管理员密码

逆向工程 IP 摄像机固件以查找管理员密码

我正在尝试对 IP 摄像机固件进行逆向工程并找到完整的 ROM 操作系统,但我想找出系统密码,因此我查看了/etc/passwd.

该文件不存在,而是存在,/etc/default/passwd以下是其内容:

# cat passwd
admin:hgZXuon0A2DxN:0:0:Administrator:/etc/config:/bin/sh
viewer::1:1:Viewer:/:/dev/null

那么现在我正在寻找该shadow文件并且完整的ROM中有这样的文件吗?

所以我有点困惑这个系统上使用的加密类型是什么?顺便说一句,我想了解如何做到这一点,而不仅仅是查找密码表(顺便说一句,它可以在 Web ui 上工作,但不能在 telnet 上工作),并且每个教程似乎都使用这种类型的哈希:

root:$6$jcs.3tzd$aIZHimcDCgr6rhXaaHKYtogVYgrTak8I/EwpUSKrf8cbSczJ3E7TBqqPJN2Xb.8UgKbKyuaqb78bJ8lTWVEP7/:0:0:root:/root:/bin/bash

不是我拥有的那个

答案1

我不会尝试破解这个问题,而是查找品牌/型号并找出它的默认密码是什么。此类信息在互联网上无处不在。

像这样的网站标题为:我不知道设置网络摄像机时要输入什么用户名和密码,拥有这个信息比实际破解它要容易得多:

Manufacturer  Default user name   Default password
ACTi          Admin               123456
Axis          root                pass
D-Link        admin               [none]
IQinVision    root                system
LinkSys       admin               admin
Panasonic     [none]              [none]
Sony          admin               admin
TRENDnet      admin               admin

像这样的网站比比皆是,除非您更改密码,否则它将成为您的品牌/型号的默认网站之一。

你的设备

Stardot 公司在此列表中:网络摄像机默认密码目录

星点:管理员/管理员

答案2

以这种形式(即之前/etc/shadow且没有任何$...$前缀)它可能是基于 (3)DES 的哈希, 看https://en.wikipedia.org/wiki/Crypt_%28C%29#Traditional_DES-based_scheme以及该段落上方的表格:

最初的密码加密方案被发现速度太快,因此需要暴力枚举最可能的密码。 [10]在第七版 Unix 中,[12] 该方案被更改为 DES 算法的修改形式

如果你使用这个工具https://github.com/psypanda/hashID它说的是你的价值:

Analyzing 'hgZXuon0A2DxN'
[+] DES(Unix)
[+] Traditional DES
[+] DEScrypt

像这样的暴力破解工具hashcat应该能够根据该密码找到原始密码。它还会告诉您特定哈希值的哈希值是错误的(因此:https://hashcat.net/forum/thread-3809.html)在这种情况下,如果这确实是一个哈希值,那么它可能是hgZXuon0A2DxM

请注意这种密码存储的一个有趣的“特征”(如果它是真正古老的基于 DES 的 Unix 存储):仅考虑前 8 个字节(因此字符,因为当时 UTF-8 是闻所未闻的),因此限制可能值的空间。

答案3

没有人可以告诉您这个系统到底是做什么的,除非有人拥有完全相同的网络摄像机(并且您忘记提及确切的品牌和型号)。

但我们可以猜测:/etc/default/passwd可能是从 flash rom 复制到 的模板/etc/passwd,它可能驻留在 flash rom 另一个分区的覆盖文件系统中。对实际密码所做的任何更改都将在此分区中;所以仅仅拥有 ROM 映像是不够的。

但您可以尝试使用默认密码。有一些工具可以破解unix密码给予足够的时间和记忆。

顺便说一句,还有一个逆向工程堆栈交换

答案4

你的问题是,密码的格式对你来说很奇怪,实际上现在你可以在 Unix/Linux 中拥有很多加密的密码格式。

在遥远的过去,默认且最常见的格式是使用该crypt算法加密的密码。这就是您向我们介绍的情况。

shadow文件也是后来添加的,在老式 Linux(或实际上是嵌入式)中,您可以在/etc/passwd.因此,对于找不到该文件,我不会感到太惊讶shadow

如今,您有多种格式,可以通过其第一个字符轻松识别它们。

所以你有了:

crypt - 无标准和起始标识符,固定 13 个 ASCII 字符作为长度。

$1$ - md5
$2a$ - Blowfish
$2y$ - Blowfish,正确处理 8 位字符
$5$ - sha256
$6$ - sha512

了解并生成存储在 /etc/shadow 中的哈希值

相关内容