0x00 前言

参考Micro8系列第三十四课:https://micro8.gitbook.io/micro8/contents-1/31-40/34-gong-ji-sqlserver-fu-wu

0x01 MSF攻击MSSQL服务

MSF中常用攻击MSSQL服务的模块如下:

MSF模块 说明
auxiliary/admin/mssql/mssql_enum 非常详细的目标机MSSQL信息。
auxiliary/admin/mssql/mssql_enum_sql_logins 枚举sql logins,速度较慢,不建议使用。
auxiliary/admin/mssql/mssql_escalate_dbowner 发现dbowner,当sa无法得知密码时,或者需要其他账号提供来支撑下一步的内网渗透。
auxiliary/admin/mssql/mssql_exec 最常用模块之一,当没有激活xp_cmdshell,自动激活。并且调用执行cmd命令。权限继承SQL Server。
auxiliary/admin/mssql/mssql_sql 最常用模块之一,如果熟悉SQL Server数据库特性以及SQL语句,建议该模块,更稳定。
auxiliary/admin/mssql/mssql_sql_file 当需要执行多条SQL语句或者非常复杂的时候使用。MSF本身支持执行SQL文件。授权渗透应用较少,非授权应用较多的模块。
auxiliary/scanner/mssql/mssql_hashdump MSSQL的hash导出。如果熟悉SQL语句也可以用mssql_sql模块来执行。
auxiliary/scanner/mssql/mssql_login 内网渗透中的常用模块之一,支持RHOSTS,来批量发现内网MSSQL主机。MSSQL的特性除了此种方,还有其他方法来专门针对MSSQL主机发现,以后会提到。
auxiliary/scanner/mssql/mssql_ping 查询MSSQL实例,实战中应用较少,信息可能不准确。
exploit/windows/mssql/mssql_payload 非常好的模块之一,在实战中针对不同时间版本的系统都有着自己独特的方式来上传payload。
post/windows/manage/mssql_local_auth_bypass 后渗透模块,后面会讲到。

与MySQL不同的是,在SQL Server的模块中,一定要注意参数的配备以及payload的组合。否则无法反弹payload。