首页
社区
课程
招聘
[原创]安全攻城师系列文章-主机弱口令挖掘讲解
发表于: 2017-4-28 12:23 2835

[原创]安全攻城师系列文章-主机弱口令挖掘讲解

2017-4-28 12:23
2835

文章系列


本次团队主要出一个渗透测试系列,在基上文章会慢慢度加,本次系列文章主要是由安全研究员orion为大家进行创作。后续视频也会慢慢录制,希望给大家一个更好学习的地方团队其它研究也在准powershell渗透系列文章和视频,希望大家尽期待。

本次系列文章以及下系列文章首选都会在公众号先行发布,如果你想看到最新文章,不要犹豫请关注我们。

微信id:sec-redclub


1、Mongodb未授权访问

我们知道mongodb是个数据库,数据库故名思议是用来存储数据的,但是呢有些运维人员,只是将mongodb数据库按默认配置成功不做其他配置,导致该数据库存在未授权访问漏洞。
首先,如何判断是否使用该数据库,第一步,肯定要确认下服务器端开放了哪些服务,使用nmap扫描该主机地址,可以发现27017端口开放,显示是mongodb数据库,说明系统安装了该数据库。
-p0-65535 表示查看0-65535端口哪些开放
-O 识别操作系统

我们使用帮助简单看下mongodb的用法

--bind_ip    绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP--logpath    定MongoDB日志文件,注意是指定文件不是目录--logappend    使用追加的方式写日志--dbpath    指定数据库路径--port    指定服务端口号,默认端口27017--serviceName    指定服务名称--serviceDisplayName    指定服务名称,有多个mongodb服务时执行。--install    指定作为一个Windows服务安装。

下面我们介绍如何利用该未授权访问,操作该数据库信息
首先,第一步肯定是要连接上数据库,由于是未授权,说明运维人员未对数据库进行配置访问权限。直接使用mongodb连接该数据库,可以看到连接成功。
mongo -shell 192.168.80.145

下面简单看下数据库中的数据
db.person.find()

下面我们在mongodb中创建个数据库runoob,并插入数据

显示数据库

可以看到由于管理员的疏忽导致入侵者可任意操作数据库内容。所以安全配置显得尤为重要
如何解决该问题,我们可以设置访问控制,下面我们讲下如何设置访问权限
首先让我们看下都有哪些权限
数据库用户角色 (所有数据库都有)
read 用户可以读取当前数据库的数据
readWrite 用户可以读写当前数据库的数据
数据库管理角色(所有数据库都有)
dbAdmin 管理员用户但不能对用户和角色管理授权
dbOwner 数据库所有者可进行任何管理任务
userAdmin 可以管理当前数据的用户和角色
集群管理角色(admin数据库可用)
clusterAdmin 集群所有管理权限,是 clusterManager , clusterMonitor , hostManager 合集
clusterManager 集群管理和监控
clusterMonitor 集群监控,只读的
hostManager 监控和管理服务器
备份和恢复角色(admin数据库可用)
backup
restore
所有数据库角色(admin数据库可用)
readAnyDatabase 读取所有数据库
readWriteAnyDatabase 读写所有数据库
userAdminAnyDatabase 所有数据库的 userAdmin 权限
dbAdminAnyDatabase 所有数据库的 dbAdmin 权限
首先,我们在本地连接上数据库

输入命令:show dbs,你会发现它内置有两个数据库,一个名为admin,一个名为local

输入命令:use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看

添加管理用户

直接登录访问

进行认证

或者直接使用用户名密码登录

可以发现可正常访问

说明我们创建用户成功,这里我们使用的是3.0以上的mongodb,3.0以下的可自行百度

2、postgresql数据库弱口令

本次课程主要讲的是关于postgresql数据库弱口令破解,讲到破解弱口令肯定要说的就是hydra这款工具,我们简单看下该工具可以破解哪些服务,kali下默认安装了该工具,我们之间输入hydra可以看到有他的使用方法,在最下边,我们可以看到支持很多种破解,ftp、http、https、mssql、mysql等等,很多种服务我们也可以看到我们要破解的postgres数据库,说明该数据库也可使用hydra进行破解。

我们使用一个例子来讲hydra破解postgresql数据库
hydra -L usr.txt -P pass.txt -o savepostgresql.log -f -vV -e ns 192.168.80.144 postgres
可以在下图看到,postgresql数据库的口令被破解出

那么我们下面将下这个命令都是什么意思
-L usr.txt
表示指定用户名字典,这里我们在当前目录,所以不需要加目录,若字典未在当前目录需要我们写出文件所在路径
-P pass.txt
表示指定用户密码字典(同用户名字典)
-o savepostgresql.log
表示指定输出到某个文件当中,在该文件中可以看到使用的语句,以及枚举出的用户名密码

-f
表示找到第一对登录名或者密码的时候中止破解,上图中我们可以看到,找到用户名密码之后不在进行枚举,而下图可以看到,虽然找到了用户名密码,但仍然在进行枚举

-vV
表示显示详细信息
-e ns 192.168.80.144 postgres
可选选项,n:空密码试探,s:使用指定用户和密码试探,最后加地址及要枚举的服务,这里是postgres数据库,所以我们跟postgres

主机漏洞

本来准备写其他主机漏洞,但是最近出了这么多0day不看看都不好意思了。我们也简单看看这个东西
首先简单说明下FUZZBUNCH:
1.将工具放在英文路径下,目标机防火墙关闭否则可能会不成功
2.必须Python2.6和pywin32对应版本。(下载链接自行百度)
3.在windows利用工具目录下创建listeningposts目录
下面我们见到看下这个框架,使用Python运行fb.py

要设置很多东西,不过看提示即可(表示压力好大,英语不过关….)

设置完成之后,会出现fb>有点类似metasploit,同样使用use选择要利用的模块,同样可以使用tab进行补全。这里我们使用eternalblue进行测试。

其他选项默认即可,这里我使用的是win7为目标系统

成功之后需要使用其他模块进行配合进行命令执行,这里使用的是doublepulsar模块

我们使用msfvenom生成一个dll文件

选择目标类型及rundll

我们配置好的目标系统信息

在metasploit监听反弹的端口,可以看到反弹成功


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
求教:攻击机xp  sp3  x86  ,目标机  win  7  sp1,metasploit  一直监听不到反弹,一直在Starting  the  payload  handler...
请问可能是什么原因呢?
2017-4-30 00:08
0
游客
登录 | 注册 方可回帖
返回
//