File: isc-scada-service.rb

package info (click to toggle)
whatweb 0.4.8~git20161009-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 8,588 kB
  • ctags: 540
  • sloc: ruby: 33,376; sh: 612; makefile: 42
file content (78 lines) | stat: -rw-r--r-- 3,290 bytes parent folder | download | duplicates (3)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
##
# 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 "ISC-SCADA-Service" do
author "Brendan Coles <bcoles@gmail.com>" # 2010-11-01
version "0.1"
description "ISC SCADA Service"

# 2 ShodanHQ results for "Server: ISC SCADA Service HTTPserv" @ 2010-11-01


# Passive #
def passive
	m=[]

	# Check HTTP Server
	if @headers["server"] =~ /ISC SCADA Service HTTPserv:00001/

		# HTTP Server Header
		m << { :name=>"HTTP Server Header" }

		# Default Title
		m << { :text=>"<title>ISC SCADA</title>" }

		# Default frame message
		m << { :text=>'<p>To take full advantage of this web-interface, you must use a frame compatible browser.</p>' }

		# Default Logo
		m << { :md5=>"3f0d5432fc1a54d284d17939431acf8a", :url=>"/gif/top.gif" }

		# Firmware # /html/info.htm
		m << { :url=>"/html/info.htm", :firmware=>@body.scan(/<td bgcolor="#b4c0cb"><b>&nbsp;Firmware Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/).flatten } if @body =~ /<td bgcolor="#b4c0cb"><b>&nbsp;Firmware Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/

		# Version # /html/info.htm
		m << { :url=>"/html/info.htm", :version=>@body.scan(/<td bgcolor="#b4c0cb"><b>&nbsp;Script Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/).flatten } if @body =~ /<td bgcolor="#b4c0cb"><b>&nbsp;Script Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/

		# MAC Address # /html/info.htm
		m << { :url=>"/html/info.htm", :string=>@body.scan(/<TD bgcolor="#b4c0cb"><b>&nbsp;MAC-adresse&nbsp;<\/b><\/TD>[\r\n\s]*<TD bgcolor="#f1eee9"> ([^<]+)<\/TD>/).flatten } if @body =~ /<TD bgcolor="#b4c0cb"><b>&nbsp;MAC-adresse&nbsp;<\/b><\/TD>[\r\n\s]*<TD bgcolor="#f1eee9"> ([^<]+)<\/TD>/

	end

	m

end

# Aggressive #
def aggressive
	m=[]

	# Check Server
	if @headers["server"] =~ /ISC SCADA Service HTTPserv:00001/

		# HTTP Server Header
		m << { :name=>"HTTP Server Header" }

		target = URI.join(@base_uri.to_s,"/html/info.htm").to_s
		status,url,ip,body,headers=open_target(target)

		# Firmware # /html/info.htm
		m << { :url=>"/html/info.htm", :firmware=>body.scan(/<td bgcolor="#b4c0cb"><b>&nbsp;Firmware Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/).flatten } if body =~ /<td bgcolor="#b4c0cb"><b>&nbsp;Firmware Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/

		# Version # /html/info.htm
		m << { :url=>"/html/info.htm", :version=>body.scan(/<td bgcolor="#b4c0cb"><b>&nbsp;Script Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/).flatten } if body =~ /<td bgcolor="#b4c0cb"><b>&nbsp;Script Version&nbsp;<\/b><\/td>[\r\n\s]*<td bgcolor="#f1eee9"> ([\d\.]+) &nbsp;<\/td>/

		# MAC Address # /html/info.htm
		m << { :url=>"/html/info.htm", :string=>body.scan(/<TD bgcolor="#b4c0cb"><b>&nbsp;MAC-adresse&nbsp;<\/b><\/TD>[\r\n\s]*<TD bgcolor="#f1eee9"> ([^<]+)<\/TD>/).flatten } if body =~ /<TD bgcolor="#b4c0cb"><b>&nbsp;MAC-adresse&nbsp;<\/b><\/TD>[\r\n\s]*<TD bgcolor="#f1eee9"> ([^<]+)<\/TD>/

	end

	m

end

end