1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
##
# This file is part of WhatWeb and may be subject to
# redistribution and commercial restrictions. Please see the WhatWeb
# web site for more information on licensing and terms of use.
# http://www.morningstarsecurity.com/research/whatweb
##
Plugin.define "Passport" do
author "Brendan Coles <bcoles@gmail.com>" # 2011-01-09
version "0.1"
description "This plugin detects instances of Microsoft Live Passport servers using the MSNSERVER, X-MSNSERVER and PPServer HTTP headers."
# More info: http://code.entersources.com/f/Generate-Valid-MSNP9-ClientTicket_2_3254_0.aspx
# 1036 ShodanHQ results for MSNSERVER @ 2011-01-09
# 214 ShodanHQ results for PPServer @ 2011-01-09
# Examples #
examples %w|
64.4.34.74
64.4.61.53
64.4.61.141
65.52.114.184
65.52.116.132
65.54.205.13
65.54.251.254
65.54.248.248
65.54.248.249
65.54.186.18
65.54.216.183
65.55.40.71
65.55.64.186
65.55.72.215
65.55.85.119
65.55.255.15
207.46.150.159
207.46.150.163
207.46.150.166
207.46.150.172
|
# Passive #
def passive
m=[]
# PPServer HTTP Header # Retrieve local host name
m << { :string=>@headers["ppserver"].to_s.scan(/H: ([\w\-\.]+) /).flatten } if @headers["ppserver"] =~ /H: ([\w\-\.]+) /
# MSNServer HTTP Header # Retrieve local host name
m << { :string=>@headers["msnserver"].to_s.scan(/H: ([\w\-\.]+) /).flatten } if @headers["msnserver"] =~ /H: ([\w\-\.]+) /
# X-MSNServer HTTP Header # Retrieve local host name
m << { :string=>@headers["x-msnserver"].to_s } unless @headers["x-msnserver"].nil?
m
end
end
|