diff --git a/lib/msf/core/exploit/smb.rb b/lib/msf/core/exploit/smb.rb index 4cc333db12..220e5470e7 100644 --- a/lib/msf/core/exploit/smb.rb +++ b/lib/msf/core/exploit/smb.rb @@ -254,26 +254,34 @@ module Exploit::Remote::SMB os = 'Windows Vista ' + $1 sp = '(Build ' + $2 + ')' - when /Windows Server \(R\) 2008 ((\w+ ){1,4})(\d+) Service Pack (\d+)/ + when /Windows Server \(R\) 2008 (([\-\w]+ ){1,4})(\d+) Service Pack (\d+)/ os = 'Windows 2008 ' + $1 sp = 'Service Pack ' + $4 - when /Windows Server \(R\) 2008 ((\w+ ){1,4})(\d+)/ + when /Windows Server \(R\) 2008 (([\-\w]+ ){1,4})(\d+)/ os = 'Windows 2008 ' + $1 sp = '(Build ' + $3 + ')' - when /Windows \(R\) Storage Server 2008 ((\w+ ){1,4})(\d+) Service Pack (\d+)/ + when /Windows \(R\) Storage Server 2008 (([\-\w]+ ){1,4})(\d+) Service Pack (\d+)/ os = 'Windows 2008 Storage Server ' + $1 sp = 'Service Pack ' + $4 - when /Windows \(R\) Storage Server 2008 ((\w+ ){1,4})(\d+)/ + when /Windows \(R\) Storage Server 2008 (([\-\w]+ ){1,4})(\d+)/ os = 'Windows 2008 Storage Server ' + $1 sp = '(Build ' + $3 + ')' - when /Windows 7 ((\w+ ){1,4})(\d+)/ + when /Windows 7 (([\-\w]+ ){1,4})(\d+)/ os = 'Windows 7 ' + $1 sp = '(Build ' + $3 + ')' + when /^(Windows.*) Service Pack (\d+)/ + os = $1 + sp = 'Service Pack ' + $2 + + when /^(Windows.*) (\d+)/ + os = $1 + sp = '(Build ' + $2 + ')' + when 'Unix' os = 'Unix' sv = smb_peer_lm()