# frozen_string_literal: true ## # 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 ## # Version 0.3 # 2011-08-05 # # Updated http server header match # Added www-authenticate match and google dork ## # Version 0.2 # 2011-02-19 # # Updated version detection ## WhatWeb::Plugin.define "iGuard-Security-System" do @author = "Brendan Coles " # 2010-07-18 @version = "0.3" @description = "Lucky Technology iGuard security system, based on smart card and biometric fingerprint technology." @website = "http://www.lucky-tech.com/p1.php" # ShodanHQ results as at 2011-08-05 # # 280 for iGuard Embedded Web Server # Google results as at 2011-08-05 # # 6 for "iGuard Security System" "Lucky Technology Ltd.. All rights reserved." "US Patent No.: 6,643,779" # Dorks # @dorks = [ '"iGuard Security System" "Lucky Technology Ltd.. All rights reserved." "US Patent No.: 6,643,779"' ] # Matches # @matches = [ # Default Title { text: ' iGuard Fingerprint Security System' }, # Version Detection # Meta Generator { firmware: / / }, # Firmware Detection # /Admins/Content.vtml { url: "/Admins/Content.vtml", firmware: /iGuard Security[^<]+<\/td><\/tr>Firmware Version<\/td>([^<]+)<\/td>/ }, # Count Users # /Admins/Content.vtml { url: "/Admins/Content.vtml", string: /Registered Automatch<\/td>([^<]+)<\/td><\/tr>/ }, ] # Passive # def passive(target) m = [] # HTTP Server Header if target.headers['server'] =~ /^iGuard Embedded Web Server\/([^\s]{1,15}) \(([^\s^\)]+)\) (SN:[^\s]+)$/ m << { firmware: $1.to_s } m << { model: $2.to_s } m << { string: $3.to_s } end # WWW-Authenticate: Basic realm="iGuard System" m << { name: "WWW-Authenticate Header" } if target.headers["www-authenticate"] =~ /Basic realm="iGuard System"/ # Return passive matches m end end