如何用Python批量发现互联网“开放”摄像头

现在无论家用还是公司使用摄像头越来越多,但是安全性又如何呐?今天我来说说几款比较常用的摄像头,并且使用python如何批量检查弱口令。

第一个“海康威视”:

前段时间爆出海康威视的摄像头存在默认弱口令的问题,那么就先收集下信息。

关于获取IP:可以shodan,zoomeye之类的去搜索或者调用API批量获取,关键词“Hikvision-Webs”,关于其他的关键词可以自行挖掘…也可以进行端口扫描使用nmap或者s扫描器之内的

通过shodan我发现大多数设备开发了80 81 8080 82 之内的端口,那么你就可以使用端口扫描工具扫描这些端口

接下来咱们要登陆并且获取登陆信息用于后面的python。我随便打开了一个。试试弱口令 admin/12345

如何用Python批量发现互联网“开放”摄像头_第1张图片
image

通过代码发现,PSIA/System/deviceInfo可以获取设备的信息。

如何用Python批量发现互联网“开放”摄像头_第2张图片
image

需要进行验证,账号密码与之前的一样

如何用Python批量发现互联网“开放”摄像头_第3张图片
image

那么我们就利用这个页面来写python。

代码实现:

image

大致就是使用requests去访问/PSIA/System/deviceInfo这个页面并使用re正则去获取信息。

接下来实现一个简单的多线程:

如何用Python批量发现互联网“开放”摄像头_第4张图片
image

当然如果有人修改密码,也可以写一个弱口令列表进行扫描:

如何用Python批量发现互联网“开放”摄像头_第5张图片
image

经过一大串废话,关于海康威视就这样吧。接着看下一个。

第二个 “汉邦高科”:

也是一样有着默认弱口令问题:admin/888888(你要问我怎么知道的?你打开某度搜索汉邦高科默认密码,我相信你可以的)

与之前一样咱们先去找找IP,用shodan搜索NVR Webserver

如何用Python批量发现互联网“开放”摄像头_第6张图片
image

嗯,可以尝试扫扫这些端口…

随便打开一个,尝试默认的弱口令admin/888888

如何用Python批量发现互联网“开放”摄像头_第7张图片
image
如何用Python批量发现互联网“开放”摄像头_第8张图片
image

灰尘简单的就进来了。。。接着查看代码。。发现获取设备信息的地址都差不多/ISAPI/System/deviceInfo,而且还不要验证

代码:

第一种可以与之前一样

image

直接获取…但是如果有人修改密码肿么办呢

第二种

如何用Python批量发现互联网“开放”摄像头_第9张图片
image

接下来就是多线程(其实和之前差不多一样…套进去用就行= =):

如何用Python批量发现互联网“开放”摄像头_第10张图片
image

就这么几十行简单的代码就搞定了,这对于新手朋友来说简单粗爆,容易看懂。对于代码的改进…可以自己修改…

对于其他牌子的摄像头,大家可以自行摸索。。基本都差不多。

你可能感兴趣的:(如何用Python批量发现互联网“开放”摄像头)