intrigue-ident 0.47 → 0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/checks/adobe.rb +6 -4
  3. data/lib/checks/akamai.rb +6 -4
  4. data/lib/checks/amazon.rb +40 -5
  5. data/lib/checks/apache.rb +24 -0
  6. data/lib/checks/aruba.rb +6 -3
  7. data/lib/checks/atlassian.rb +30 -20
  8. data/lib/checks/{wordpress.rb → automattic.rb} +56 -36
  9. data/lib/checks/chef.rb +12 -8
  10. data/lib/checks/cisco.rb +18 -12
  11. data/lib/checks/citrix.rb +6 -4
  12. data/lib/checks/cloudflare.rb +33 -23
  13. data/lib/checks/cpanel.rb +6 -4
  14. data/lib/checks/django.rb +6 -4
  15. data/lib/checks/drupal.rb +6 -4
  16. data/lib/checks/f5.rb +6 -4
  17. data/lib/checks/fastly.rb +6 -4
  18. data/lib/checks/generic.rb +10 -8
  19. data/lib/checks/gitlab.rb +6 -4
  20. data/lib/checks/google.rb +6 -4
  21. data/lib/checks/grafana.rb +6 -4
  22. data/lib/checks/heroku.rb +27 -0
  23. data/lib/checks/hp.rb +6 -4
  24. data/lib/checks/jenkins.rb +18 -12
  25. data/lib/checks/joomla.rb +6 -4
  26. data/lib/checks/limesuvey.rb +6 -4
  27. data/lib/checks/lithium.rb +12 -8
  28. data/lib/checks/lotus.rb +6 -4
  29. data/lib/checks/magento.rb +6 -4
  30. data/lib/checks/mcafee.rb +6 -4
  31. data/lib/checks/mediawiki.rb +10 -8
  32. data/lib/checks/microsoft.rb +132 -66
  33. data/lib/checks/nagios.rb +6 -4
  34. data/lib/checks/nginx.rb +6 -4
  35. data/lib/checks/oracle.rb +12 -8
  36. data/lib/checks/palo_alto.rb +6 -4
  37. data/lib/checks/pardot.rb +6 -4
  38. data/lib/checks/pfsense.rb +6 -4
  39. data/lib/checks/phpmyadmin.rb +6 -4
  40. data/lib/checks/pivotal.rb +24 -0
  41. data/lib/checks/rabbitmq.rb +12 -8
  42. data/lib/checks/team_city.rb +6 -4
  43. data/lib/checks/telerik.rb +6 -4
  44. data/lib/checks/varnish.rb +6 -4
  45. data/lib/checks/vmware.rb +6 -4
  46. data/lib/checks/wp_engine.rb +7 -4
  47. data/lib/intrigue-ident.rb +23 -11
  48. metadata +5 -6
  49. data/lib/checks/asp_net.rb +0 -64
  50. data/lib/checks/cloudfront.rb +0 -41
  51. data/lib/checks/spring.rb +0 -22
  52. data/lib/checks/tomcat.rb +0 -22
@@ -6,12 +6,14 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Citrix Netscaler Gateway",
10
- :description => "Citrix Netscaler Gateway",
9
+ :type => "application",
10
+ :vendor => "Citrix",
11
+ :product => "Netscaler Gateway",
12
+ :match_details => "Citrix Netscaler Gateway",
11
13
  :tags => ["tech:vpn"],
12
14
  :version => nil,
13
- :type => :content_body,
14
- :content => /<title>Netscaler Gateway/,
15
+ :match_type => :content_body,
16
+ :match_content => /<title>Netscaler Gateway/,
15
17
  :hide => false,
16
18
  :paths => ["#{url}"]
17
19
  }
@@ -6,47 +6,57 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Cloudflare",
10
- :description => "Cloudflare Accelerated Page",
11
- :version => "",
12
- :type => :content_cookies,
13
- :content => /__cfduid/i,
9
+ :type => "application",
10
+ :vendor => "Cloudflare",
11
+ :product =>"CDN",
12
+ :version => nil,
13
+ :match_type => :content_cookies,
14
+ :match_content => /__cfduid/i,
15
+ :match_details =>"Cloudflare Accelerated Page",
14
16
  :paths => ["#{url}"]
15
17
  },
16
18
  {
17
- :name => "Cloudflare",
18
- :description => "Cloudflare Server",
19
- :version => "",
20
- :type => :content_headers,
21
- :content => /cloudflare-nginx/i,
19
+ :type => "application",
20
+ :vendor => "Cloudflare",
21
+ :product =>"CDN",
22
+ :version => nil,
23
+ :match_type => :content_headers,
24
+ :match_content => /cloudflare-nginx/i,
25
+ :match_details =>"Cloudflare Server",
22
26
  :paths => ["#{url}"]
23
27
  },
24
28
  {
25
- :name => "Cloudflare",
26
- :description => "Cloudflare - Direct IP Access",
29
+ :type => "application",
30
+ :vendor => "Cloudflare",
31
+ :product =>"CDN",
27
32
  :tags => ["error_page"],
28
- :version => "",
29
- :type => :content_body,
30
- :content => /<title>Direct IP access not allowed \| Cloudflare/,
33
+ :version => nil,
34
+ :match_type => :content_body,
35
+ :match_content => /<title>Direct IP access not allowed \| Cloudflare/,
36
+ :match_details =>"Cloudflare - Direct IP Access",
31
37
  :hide => true,
32
38
  :paths => ["#{url}"]
33
39
  },
34
40
  {
35
- :name => "Cloudflare",
36
- :description => "Cloudflare Error",
41
+ :type => "application",
42
+ :vendor => "Cloudflare",
43
+ :product =>"CDN",
44
+ :match_details =>"Cloudflare Error",
37
45
  :tags => ["error_page"],
38
46
  :version => "",
39
- :type => :content_body,
40
- :content => /cferror_details/,
47
+ :match_type => :content_body,
48
+ :match_content => /cferror_details/,
41
49
  :hide => true,
42
50
  :paths => ["#{url}"]
43
51
  },
44
52
  {
45
- :name => "Cloudflare",
46
- :description => "Cloudfront Error - Direct IP Access",
53
+ :type => "application",
54
+ :vendor => "Cloudflare",
55
+ :product =>"CDN",
56
+ :match_details =>"Cloudfront Error - Direct IP Access",
47
57
  :version => "",
48
- :type => :content_body,
49
- :content => /403\ Forbidden<\/h1><\/center>\n<hr><center>cloudflare<\/center>/,
58
+ :match_type => :content_body,
59
+ :match_content => /403\ Forbidden<\/h1><\/center>\n<hr><center>cloudflare<\/center>/,
50
60
  :hide => true,
51
61
  :paths => ["#{url}"]
52
62
  }
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "cPanel Hosted - Missing Page",
10
- :description => "cPanel Hosted, but either misconfigured, or accessed via ip vs hostname?",
9
+ :vendor => "cPanel",
10
+ :type => "application",
11
+ :product =>"cPanel Hosted - Missing Page",
12
+ :match_details =>"cPanel Hosted, but either misconfigured, or accessed via ip vs hostname?",
11
13
  :version => nil,
12
- :type => :content_body,
13
- :content => /URL=\/cgi-sys\/defaultwebpage.cgi/,
14
+ :match_type => :content_body,
15
+ :match_content => /URL=\/cgi-sys\/defaultwebpage.cgi/,
14
16
  :hide => true,
15
17
  :paths => ["#{url}"]
16
18
  }
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Django",
10
- :description => "Django Admin Page",
9
+ :type => "application",
10
+ :vendor => "Django",
11
+ :product =>"Django",
11
12
  :version => nil,
12
- :type => :content_body,
13
- :content => /<title>Log in \| Django site admin<\/title>/,
13
+ :match_details =>"Django Admin Page",
14
+ :match_type => :content_body,
15
+ :match_content => /<title>Log in \| Django site admin<\/title>/,
14
16
  :paths => ["#{url}/admin"]
15
17
  }
16
18
  ]
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Drupal",
10
- :description => "Drupal CMS",
9
+ :type => "application",
10
+ :vendor => "Drupal",
11
+ :product => "Drupal",
12
+ :match_details => "Drupal CMS",
11
13
  :version => nil,
12
- :type => :content_body,
13
- :content => /Drupal/,
14
+ :match_type => :content_body,
15
+ :match_content => /Drupal/,
14
16
  :dynamic_version => lambda { |x|
15
17
  version = x["details"]["hidden_response_data"].scan(/^(Drupal.*)[ ,<\.].*$/)[0]
16
18
  return version.first.gsub("Drupal ","").gsub(",","").chomp if version
@@ -6,12 +6,14 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "F5 BIG-IP APM",
10
- :description => "F5 BIG-IP APM",
9
+ :type => "application",
10
+ :vendor => "F5",
11
+ :product =>"BIG-IP APM",
12
+ :match_details =>"F5 BIG-IP APM",
11
13
  :tags => ["tech:vpn"],
12
14
  :version => nil,
13
- :type => :content_cookies,
14
- :content => /MRHSession/,
15
+ :match_type => :content_cookies,
16
+ :match_content => /MRHSession/,
15
17
  :hide => false,
16
18
  :paths => ["#{url}"]
17
19
  }
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Fastly",
10
- :description => "",
9
+ :type => "application",
10
+ :vendor =>"Fastly",
11
+ :product =>"Fastly",
12
+ :match_details =>"",
11
13
  :version => "",
12
- :type => :content_headers,
13
- :content => /x-fastly-backend-reqs/i,
14
+ :match_type => :content_headers,
15
+ :match_content => /x-fastly-backend-reqs/i,
14
16
  :paths => ["#{url}"]
15
17
  }
16
18
  ]
@@ -6,23 +6,25 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Unauthorized (401)",
10
- :description => "Generic Unauthorized",
9
+ :type => "application",
10
+ :product =>"Unauthorized (401)",
11
+ :match_details =>"Generic Unauthorized",
11
12
  :tags => ["error_page"],
12
13
  :version => nil,
13
14
  :hide => true,
14
- :type => :content_body,
15
- :content => /<STRONG>401 Unauthorized/,
15
+ :match_type => :content_body,
16
+ :match_content => /<STRONG>401 Unauthorized/,
16
17
  :paths => ["#{url}"]
17
18
  },
18
19
  {
19
- :name => "Content Missing (404)",
20
- :description => "Content Missing (404) - Could be an API, or just serving something at another location. TODO ... is this ECS-specific? (check header)",
20
+ :type => "application",
21
+ :product =>"Content Missing (404)",
22
+ :match_details =>"Content Missing (404) - Could be an API, or just serving something at another location. TODO ... is this ECS-specific? (check header)",
21
23
  :tags => ["error_page"],
22
24
  :version => nil,
23
25
  :hide => true,
24
- :type => :content_body,
25
- :content => /<title>404 - Not Found<\/title>/,
26
+ :match_type => :content_body,
27
+ :match_content => /<title>404 - Not Found<\/title>/,
26
28
  :paths => ["#{url}"]
27
29
  }
28
30
  ]
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Gitlab",
10
- :description => "Gitlab",
9
+ :type => "application",
10
+ :vendor => "Gitlab",
11
+ :product => "Gitlab",
12
+ :match_details => "Gitlab",
11
13
  :version => nil,
12
- :type => :content_cookies,
13
- :content => /_gitlab_session/i,
14
+ :match_type => :content_cookies,
15
+ :match_content => /_gitlab_session/i,
14
16
  :paths => ["#{url}"]
15
17
  }
16
18
  ]
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Google",
10
- :description => "Google Missing Page",
11
- :type => :content_body,
9
+ :type => "application",
10
+ :vendor => "Google",
11
+ :product => "Hosted",
12
+ :match_details => "Google Missing Page",
13
+ :match_type => :content_body,
12
14
  :version => "",
13
- :content => /The requested URL <code>\/<\/code> was not found on this server\./,
15
+ :match_content => /The requested URL <code>\/<\/code> was not found on this server\./,
14
16
  :hide => true,
15
17
  :paths => ["#{url}"]
16
18
  }
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Grafana",
10
- :description => "Grafana",
9
+ :type => "application",
10
+ :vendor => "Grafana",
11
+ :product =>"Grafana",
12
+ :match_details =>"Grafana",
11
13
  :version => nil,
12
- :type => :content_cookies,
13
- :content => /grafana_sess/i,
14
+ :match_type => :content_cookies,
15
+ :match_content => /grafana_sess/i,
14
16
  :paths => ["#{url}"]
15
17
  }
16
18
  ]
@@ -0,0 +1,27 @@
1
+ module Intrigue
2
+ module Ident
3
+ module Check
4
+ class Heroku < Intrigue::Ident::Check::Base
5
+
6
+ def generate_checks(url)
7
+ [
8
+ {
9
+ :type => "application",
10
+ :vendor => "Heroku",
11
+ :product =>"Heroku",
12
+ :match_details =>"Heroku",
13
+ :tags => ["hosting_provider"],
14
+ :version => nil,
15
+ :match_type => :content_body,
16
+ :match_content => /herokucdn.com\/error-pages\/no-such-app.html/,
17
+ :hide => true,
18
+ :examples => ["http://54.209.64.71:80"],
19
+ :paths => ["#{url}"]
20
+ }
21
+ ]
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "HP Printer",
10
- :description => "HP Printer",
9
+ :type => "application",
10
+ :vendor => "HP",
11
+ :product =>"Printer",
11
12
  :version => nil,
12
- :type => :content_headers,
13
- :content => /server: HP-ChaiSOE\/1.0/i,
13
+ :match_type => :content_headers,
14
+ :match_content => /server: HP-ChaiSOE\/1.0/i,
15
+ :match_details =>"Generic HP Printer match",
14
16
  :examples => ["http://69.162.52.20:80"],
15
17
  :paths => ["#{url}"]
16
18
  }
@@ -6,28 +6,34 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  { # might need to be its own, but haven't seen it yet outside jenkins
9
- :name => "Hudson",
10
- :description => "Hudson",
9
+ :type => "application",
10
+ :vendor => "Jenkins",
11
+ :product => "Hudson",
12
+ :match_details => "Hudson",
11
13
  :version => nil,
12
- :type => :content_headers,
13
- :content => /x-hudson/i,
14
+ :match_type => :content_headers,
15
+ :match_content => /x-hudson/i,
14
16
  :dynamic_version => lambda { |x| x["details"]["headers"].select{|y| y =~ /x-hudson/}.split(":").last },
15
17
  :paths => ["#{url}"]
16
18
  },
17
19
  {
18
- :name => "Jenkins",
19
- :description => "Jenkins",
20
+ :type => "application",
21
+ :vendor => "Jenkins",
22
+ :product =>"Jenkins",
23
+ :match_details =>"Jenkins",
20
24
  :version => nil,
21
- :type => :content_headers,
22
- :content => /X-Jenkins-Session/i,
25
+ :match_type => :content_headers,
26
+ :match_content => /X-Jenkins-Session/i,
23
27
  :paths => ["#{url}"]
24
28
  },
25
29
  {
26
- :name => "Jenkins",
27
- :description => "Jenkins",
30
+ :type => "application",
31
+ :vendor => "Jenkins",
32
+ :product =>"Jenkins",
33
+ :match_details =>"Jenkins",
28
34
  :version => nil,
29
- :type => :content_headers,
30
- :content => /x-jenkins/i,
35
+ :match_type => :content_headers,
36
+ :match_content => /x-jenkins/i,
31
37
  :dynamic_version => lambda { |x| x["details"]["headers"].select{|y| y =~ /x-jenkins/}.split(":").last },
32
38
  :paths => ["#{url}"]
33
39
  }
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Joomla!",
10
- :description => "Known Joomla Admin Page",
11
- :type => :content_body,
9
+ :type => "application",
10
+ :vendor => "Joomla!",
11
+ :product =>"Joomla!",
12
+ :match_details =>"Known Joomla Admin Page",
13
+ :match_type => :content_body,
12
14
  :version => nil,
13
- :content => /files_joomla/i,
15
+ :match_content => /files_joomla/i,
14
16
  :references => ["https://twitter.com/GreyNoiseIO/status/987547246538391552"],
15
17
  :paths => ["#{url}/administrator/manifests/files/joomla.xml"]
16
18
  }
@@ -6,11 +6,13 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "LimeSurvey",
10
- :description => "LimeSurvey",
11
- :type => :content_body,
9
+ :type => "application",
10
+ :vendor =>"LimeSurvey",
11
+ :product =>"LimeSurvey",
12
+ :match_details =>"LimeSurvey",
13
+ :match_type => :content_body,
12
14
  :version => nil,
13
- :content => /Donate to LimeSurvey/,
15
+ :match_content => /Donate to LimeSurvey/,
14
16
  :paths => ["#{url}"]
15
17
  }
16
18
  ]
@@ -6,19 +6,23 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Lithum ",
10
- :description => "Lithium Community Management",
11
- :type => :content_cookies,
9
+ :type => "application",
10
+ :vendor => "Lithium",
11
+ :product =>"Lithum",
12
+ :match_details =>"Lithium Community Management",
13
+ :match_type => :content_cookies,
12
14
  :version => nil,
13
- :content => /LithiumVisitor/i,
15
+ :match_content => /LithiumVisitor/i,
14
16
  :paths => ["#{url}"]
15
17
  },
16
18
  {
17
- :name => "Lithum",
18
- :description => "Lithium Community Management",
19
- :type => :content_cookies,
19
+ :type => "application",
20
+ :vendor => "Lithium",
21
+ :product =>"Lithum",
22
+ :match_details =>"Lithium Community Management",
23
+ :match_type => :content_cookies,
20
24
  :version => nil,
21
- :content => /LiSESSIONID/i,
25
+ :match_content => /LiSESSIONID/i,
22
26
  :paths => ["#{url}"]
23
27
  }
24
28
  ]