# 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 ## WhatWeb::Plugin.define "TutorTrac" do @author = "Brendan Coles " # 2011-06-02 @version = "0.1" @description = "Online management software for learning, writing, tutoring departments, and academic skills centers for traditional and athletic students. " @website = "http://www.go-redrock.com/" # ShodanHQ results as at 2011-06-02 # # 65 for TutorTrac # Google results as at 2011-06-02 # # 5 for intitle:"TutorTrac Learning Center Tracking Software" # Dorks # @dorks = [ 'intitle:"TutorTrac Learning Center Tracking Software"' ] # Matches # @matches = [ # Title { text: 'TutorTrac Learning Center Tracking Software' }, # Meta Keywords { text: '' }, # Version Detection # 3.x { version: /

version[\s]+([\d\.]+)[\s]?©Copyright 20[\d]{2}, <\/FONT>RedRock/ }, # Version Detection # 4.x { version: /

version ([\d\.]+)[\s]+©Copyright 2004-20[\d]{2}
<\/FONT>
RedRock/ }, # Aggressive # Usually 3.x # /TutorTrac/favicon.ico { url: "/TutorTrac/favicon.ico", md5: "c56dda95e69b50c4b3802919aab0e950" }, # Aggressive # Usually 4.x # /TracWeb40/favicon.ico { url: "/TracWeb40/favicon.ico", md5: "365ccabab0c04ec5c6a9721725b76c36" }, ] # Passive # def passive(target) m = [] # No server HTTP header if target.headers["server"].nil? # Location Header # ./TracWeb40/Default.html m << { name: "Location Header" } if target.headers["location"] =~ /^\.\/TracWeb40\/Default\.html$/ # Location Header # TutorTrac/Default.html m << { name: "Location Header" } if target.headers["location"] =~ /^TutorTrac\/Default\.html$/ # InstallCode Cookie m << { name: "InstallCode Cookie" } if target.headers["set-cookie"] =~ /InstallCode=[A-Z]+;/ # ProductCode Cookie m << { name: "ProductCode Cookie" } if target.headers["set-cookie"] =~ /ProductCode=RSC[\d]+=[\d]+;/ end # Return passive matches m end end