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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77728483a277c380646ceb6c0253353f177d6348cb908c389a23f831ef23444b
4
- data.tar.gz: 340d97ca26a82a85d91a018a35b8449f562275e0d2abffa43579083d0e0a616a
3
+ metadata.gz: 264d2dff52cd74c3d85add304baf8169b40c8671b001b7b87ea63a761fa700f7
4
+ data.tar.gz: cd0b6bae16f4e063d9fa33e23783b15664255497dc1091c83b2dc30190366af9
5
5
  SHA512:
6
- metadata.gz: 9fe7e89e0291cdce2f2d389ca1a0b005e471d7301b1faa960be34f8d700796f63dcb4705d19008bdcbe51bf64863fd9aedaec0994d356fd7a8a695d95d7a5d42
7
- data.tar.gz: 31ac3e55421f512c810696e62caed0a7d3f30bdae713e1764cc11d36f4d027068e976e871002750ad7234bdd453a80e16f3d960696fcfe5c0200f30b9738a34d
6
+ metadata.gz: 89b68a83d6d4ef217322a7a6d732aeef346b23714fba4886d701bab22c869b681a5ba3aeb27aa38a54147b5e9acb7c226ef4c16284b539e8b08a8add5aac2282
7
+ data.tar.gz: 7effd8183d7d2673bfc71f96e4c23daf5f61fdedf5e83fa6b3349321a1013b9e4151831ff1fdb836a2860e577fcfb150aa639debf5f951ba39ccd6093bc377d1
@@ -6,11 +6,13 @@ class Adobe < Intrigue::Ident::Check::Base
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Adobe Coldfusion",
10
- :description => "Adobe Coldfusion",
9
+ :type => "application",
10
+ :vendor => "Adobe",
11
+ :product => "Coldfusion",
11
12
  :version => nil,
12
- :type => :content_cookies,
13
- :content => /CFTOKEN=/,
13
+ :match_type => :content_cookies,
14
+ :match_content => /CFTOKEN=/,
15
+ :match_details => "Adobe Coldfusion Cookie Match",
14
16
  :hide => false,
15
17
  :examples => ["https://209.235.70.106:443"],
16
18
  :paths => ["#{url}"]
@@ -6,11 +6,13 @@ class Akamai < Intrigue::Ident::Check::Base
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Akamai",
10
- :description => "Akamai Missing Uri",
9
+ :type => "application",
10
+ :vendor => "Akamai",
11
+ :product => "CDN",
11
12
  :version => nil,
12
- :type => :content_body,
13
- :content => /The requested URL "&#91;no&#32;URL&#93;", is invalid.<p>/,
13
+ :match_type => :content_body,
14
+ :match_content => /The requested URL "&#91;no&#32;URL&#93;", is invalid.<p>/,
15
+ :match_details =>"Akamai Missing Uri",
14
16
  :hide => true,
15
17
  :paths => ["#{url}"]
16
18
  }
@@ -6,13 +6,48 @@ class Amazon < Intrigue::Ident::Check::Base
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Amazon ELB",
10
- :description => "Amazon Elastic Load Balancer",
9
+ :type => "application",
10
+ :vendor => "Amazon",
11
+ :product =>"Cloudfront - Error (Body)",
12
+ :match_details =>"Cloudfront - no configured hostname",
13
+ :version => "",
14
+ :match_type => :content_body,
15
+ :match_content => /ERROR: The request could not be satisfied/,
16
+ :hide => true,
17
+ :paths => ["#{url}"]
18
+ },
19
+ {
20
+ :type => "application",
21
+ :vendor => "Amazon",
22
+ :product =>"Cloudfront - Error (Headers)",
23
+ :match_details =>"Cloudfront - no configured hostname",
24
+ :version => "",
25
+ :match_type => :content_headers,
26
+ :match_content => /Error from cloudfront/,
27
+ :hide => true,
28
+ :paths => ["#{url}"]
29
+ },
30
+ {
31
+ :type => "application",
32
+ :vendor => "Amazon",
33
+ :product =>"Cloudfront - 403 (Body)",
34
+ :match_details =>"Cloudfront - 403",
35
+ :version => "",
36
+ :match_type => :content_body,
37
+ :match_content => /<h1>403 Forbidden<\/h1><\/center>\n<hr><center>cloudflare/,
38
+ :hide => true,
39
+ :paths => ["#{url}"]
40
+ },
41
+ {
42
+ :tags => ["error_page","hosting_provider"],
43
+ :type => "application",
11
44
  :url => "https://aws.amazon.com/elasticloadbalancing/",
45
+ :vendor => "Amazon",
46
+ :product => "Elastic Load Balancer",
12
47
  :version => nil,
13
- :tags => ["error_page"],
14
- :type => :content_headers,
15
- :content => /awselb\/\d.\d/,
48
+ :match_type => :content_headers,
49
+ :match_content => /awselb\/\d.\d/,
50
+ :match_details =>"Amazon Elastic Load Balancer",
16
51
  :hide => true,
17
52
  :dynamic_version => lambda { |x| x["details"]["headers"].join("\n").match(/awselb\/(\d.\d)/).captures[0] },
18
53
  :verify_sites => ["http://52.4.103.22:80"],
@@ -0,0 +1,24 @@
1
+ module Intrigue
2
+ module Ident
3
+ module Check
4
+ class Apache < Intrigue::Ident::Check::Base
5
+
6
+ def generate_checks(url)
7
+ [
8
+ {
9
+ :type => "application",
10
+ :vendor => "Apache",
11
+ :product => "Tomcat",
12
+ :match_details =>"Tomcat Application Server",
13
+ :match_type => :content_body,
14
+ :version => nil,
15
+ :match_content => /<title>Apache Tomcat/,
16
+ :dynamic_version => lambda{|x| x["details"]["hidden_response_data"].scan(/<title>(.*)<\/title>/)[0].first.gsub("Apache Tomcat/","").gsub(" - Error report","").chomp },
17
+ :paths => ["#{url}"]
18
+ }
19
+ ]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -6,10 +6,13 @@ class Aruba < Intrigue::Ident::Check::Base
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :description => "Aruba Wireless Controller",
9
+ :type => "application",
10
+ :vendor => "Aruba",
11
+ :product => "Wireless Controller",
10
12
  :version => nil,
11
- :type => :content_body,
12
- :content => /arubalp=/,
13
+ :match_type => :content_body,
14
+ :match_content => /arubalp=/,
15
+ :match_details =>"Matches an aruba link, generic identifier",
13
16
  :paths => ["#{url}"]
14
17
  }
15
18
  ]
@@ -6,27 +6,33 @@ class Atlassian < Intrigue::Ident::Check::Base
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Atlassian BitBucket",
10
- :description => "Atlassian BitBucket",
9
+ :type => "application",
10
+ :vendor => "Atlassian",
11
+ :product =>"BitBucket",
12
+ :match_details =>"Atlassian BitBucket",
11
13
  :version => nil,
12
- :type => :content_body,
13
- :content => /com.atlassian.bitbucket.server/i,
14
+ :match_type => :content_body,
15
+ :match_content => /com.atlassian.bitbucket.server/i,
14
16
  :paths => ["#{url}"]
15
17
  },
16
18
  {
17
- :name => "Atlassian Confluence",
18
- :description => "Atlassian Confluence",
19
+ :type => "application",
20
+ :vendor => "Atlassian",
21
+ :product =>"Confluence",
22
+ :match_details =>"Atlassian Confluence",
19
23
  :version => nil,
20
- :type => :content_headers,
21
- :content => /X-Confluence-Request-Time/i,
24
+ :match_type => :content_headers,
25
+ :match_content => /X-Confluence-Request-Time/i,
22
26
  :paths => ["#{url}"]
23
27
  },
24
28
  {
25
- :name => "Atlassian Crucible",
26
- :description => "Atlassian Crucible",
29
+ :type => "application",
30
+ :vendor => "Atlassian",
31
+ :product =>"Crucible",
32
+ :match_details =>"Atlassian Crucible",
27
33
  :version => nil,
28
- :type => :content_body,
29
- :content => /FishEye and Crucible/,
34
+ :match_type => :content_body,
35
+ :match_content => /FishEye and Crucible/,
30
36
  :dynamic_version => lambda{|x|
31
37
  if x["details"]["hidden_response_data"].scan(/Log in to FishEye and Crucible (.*)\</)[0]
32
38
  x["details"]["hidden_response_data"].scan(/Log in to FishEye and Crucible (.*)\</)[0].first
@@ -35,20 +41,24 @@ class Atlassian < Intrigue::Ident::Check::Base
35
41
  :paths => ["#{url}"]
36
42
  },
37
43
  {
38
- :name => "Atlassian Hipchat",
39
- :description => "Atlassian Hipchat",
44
+ :type => "application",
45
+ :vendor => "Atlassian",
46
+ :product =>"Hipchat",
47
+ :match_details =>"Atlassian Hipchat",
40
48
  :version => nil,
41
- :type => :content_body,
42
- :content => /\$\(document\).trigger\('hipchat.load'\);/,
49
+ :match_type => :content_body,
50
+ :match_content => /\$\(document\).trigger\('hipchat.load'\);/,
43
51
  :examples => ["https://api.appfire.com:443"],
44
52
  :paths => ["#{url}"]
45
53
  },
46
54
  {
47
- :name => "Atlassian Jira",
48
- :description => "Atlassian Jira",
55
+ :type => "application",
56
+ :vendor => "Atlassian",
57
+ :product =>"Jira",
58
+ :match_details =>"Atlassian Jira",
49
59
  :version => nil,
50
- :type => :content_cookies,
51
- :content => /atlassian.xsrf.token/i,
60
+ :match_type => :content_cookies,
61
+ :match_content => /atlassian.xsrf.token/i,
52
62
  :dynamic_version => lambda{ |x|
53
63
  if x["details"]["hidden_response_data"].scan(/<span id="footer-build-information">(.*)-<span/)[0]
54
64
  x["details"]["hidden_response_data"].scan(/<span id="footer-build-information">(.*)-<span/)[0].first.gsub("(","")
@@ -1,96 +1,116 @@
1
1
  module Intrigue
2
2
  module Ident
3
3
  module Check
4
- class Wordpress < Intrigue::Ident::Check::Base
4
+ class Automattic < Intrigue::Ident::Check::Base
5
5
 
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Wordpress",
10
- :description => "Wordpress WP-JSON endpoint",
9
+ :type => "application",
10
+ :vendor => "Automattic",
11
+ :product =>"Wordpress",
12
+ :match_details =>"Wordpress WP-JSON endpoint",
11
13
  :version => nil,
12
- :type => :content_body,
13
- :content => /gmt_offset/,
14
+ :match_type => :content_body,
15
+ :match_content => /gmt_offset/,
14
16
  :paths => ["#{url}/wp-json"]
15
17
  },
16
18
  {
17
- :name => "Wordpress",
18
- :description => "Wordpress TinyMCE Editor",
19
+ :type => "application",
20
+ :vendor => "Automattic",
21
+ :product =>"Wordpress",
22
+ :match_details =>"Wordpress TinyMCE Editor",
19
23
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
20
24
  :version => "2.0",
21
- :type => :checksum_body,
25
+ :match_type => :checksum_body,
22
26
  :checksum => "a306a72ce0f250e5f67132dc6bcb2ccb",
23
27
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
24
28
  },
25
29
  {
26
- :name => "Wordpress",
27
- :description => "Wordpress TinyMCE Editor",
30
+ :type => "application",
31
+ :vendor => "Automattic",
32
+ :product =>"Wordpress",
33
+ :match_details =>"Wordpress TinyMCE Editor",
28
34
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
29
35
  :version => "2.1",
30
- :type => :checksum_body,
36
+ :match_type => :checksum_body,
31
37
  :checksum => "4f04728cb4631a553c4266c14b9846aa",
32
38
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
33
39
  },
34
40
  {
35
- :name => "Wordpress",
36
- :description => "Wordpress TinyMCE Editor",
41
+ :type => "application",
42
+ :vendor => "Automattic",
43
+ :product =>"Wordpress",
44
+ :match_details =>"Wordpress TinyMCE Editor",
37
45
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
38
46
  :version => "2.2",
39
- :type => :checksum_body,
47
+ :match_type => :checksum_body,
40
48
  :checksum => "25e1e78d5b0c221e98e14c6e8c62084f",
41
49
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
42
50
  },
43
51
  {
44
- :name => "Wordpress",
45
- :description => "Wordpress TinyMCE Editor",
52
+ :type => "application",
53
+ :vendor => "Automattic",
54
+ :product =>"Wordpress",
55
+ :match_details =>"Wordpress TinyMCE Editor",
46
56
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
47
57
  :version => "2.3",
48
- :type => :checksum_body,
58
+ :match_type => :checksum_body,
49
59
  :checksum => "83c83d0f0a71bd57c320d93e59991c53",
50
60
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
51
61
  },
52
62
  {
53
- :name => "Wordpress",
54
- :description => "Wordpress TinyMCE Editor",
63
+ :type => "application",
64
+ :vendor => "Automattic",
65
+ :product =>"Wordpress",
66
+ :match_details =>"Wordpress TinyMCE Editor",
55
67
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
56
68
  :version => "2.5",
57
- :type => :checksum_body,
69
+ :match_type => :checksum_body,
58
70
  :checksum => "7293453cf0ff5a9a4cfe8cebd5b5a71a",
59
71
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
60
72
  },
61
73
  {
62
- :name => "Wordpress",
63
- :description => "Wordpress TinyMCE Editor",
74
+ :type => "application",
75
+ :vendor => "Automattic",
76
+ :product =>"Wordpress",
77
+ :match_details =>"Wordpress TinyMCE Editor",
64
78
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
65
79
  :version => "2.6",
66
- :type => :checksum_body,
80
+ :match_type => :checksum_body,
67
81
  :checksum => "61740709537bd19fb6e03b7e11eb8812",
68
82
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
69
83
  },
70
84
  {
71
- :name => "Wordpress",
72
- :description => "Wordpress TinyMCE Editor",
85
+ :type => "application",
86
+ :vendor => "Automattic",
87
+ :product =>"Wordpress",
88
+ :match_details =>"Wordpress TinyMCE Editor",
73
89
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
74
90
  :version => "2.7",
75
- :type => :checksum_body,
91
+ :match_type => :checksum_body,
76
92
  :checksum => "e6bbc53a727f3af003af272fd229b0b2",
77
93
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
78
94
  },
79
95
  {
80
- :name => "Wordpress",
81
- :description => "Wordpress TinyMCE Editor",
96
+ :type => "application",
97
+ :vendor => "Automattic",
98
+ :product =>"Wordpress",
99
+ :match_details =>"Wordpress TinyMCE Editor",
82
100
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
83
101
  :version => "2.7.1",
84
- :type =>:checksum_body,
102
+ :match =>:checksum_body,
85
103
  :checksum => "e6bbc53a727f3af003af272fd229b0b2",
86
104
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
87
105
  },
88
106
  {
89
- :name => "Wordpress",
90
- :description => "Wordpress TinyMCE Editor",
107
+ :type => "application",
108
+ :vendor => "Automattic",
109
+ :product =>"Wordpress",
110
+ :match_details =>"Wordpress TinyMCE Editor",
91
111
  :references => ["https://dcid.me/texts/fingerprinting-web-apps.html"],
92
112
  :version => "2.9.1",
93
- :type => :checksum_body,
113
+ :match_type => :checksum_body,
94
114
  :checksum => "128e75ed19d49a94a771586bf83265ec",
95
115
  :paths => ["#{url}/wp-includes/js/tinymce/tiny_mce.js"]
96
116
  }
@@ -103,10 +123,10 @@ all_checks = [{
103
123
  :url => "#{url}",
104
124
  :checklist => [
105
125
  {
106
- :name => "Yoast Wordpress SEO Plugin", # won't be used if we have
107
- :description => "Yoast Wordpress SEO Plugin",
108
- :type => "content",
109
- :content => /<!-- \/ Yoast WordPress SEO plugin. -->/,
126
+ :product =>"Yoast Wordpress SEO Plugin", # won't be used if we have
127
+ :match_details =>"Yoast Wordpress SEO Plugin",
128
+ :match_type => "content",
129
+ :match_content => /<!-- \/ Yoast WordPress SEO plugin. -->/,
110
130
  :test_site => "https://ip-50-62-231-56.ip.secureserver.net",
111
131
  :dynamic_name => lambda{|x| x.scan(/the Yoast WordPress SEO plugin v.* - h/)[0].gsub("the ","").gsub(" - h","") }
112
132
  }
@@ -6,20 +6,24 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Chef Server",
10
- :description => "Chef Server",
9
+ :type => "application",
10
+ :vendor => "Chef",
11
+ :product =>"Server",
12
+ :match_details =>"Chef Server",
11
13
  :version => nil,
12
- :type => :content_body,
13
- :content => /<title>Chef Server<\/title>/,
14
+ :match_type => :content_body,
15
+ :match_content => /<title>Chef Server<\/title>/,
14
16
  :dynamic_version => lambda{|x| x["details"]["hidden_response_data"].scan(/Version\ (.*)\ &mdash;/)[0].first },
15
17
  :paths => ["#{url}"]
16
18
  },
17
19
  {
18
- :name => "Chef Server",
19
- :description => "Chef Server",
20
+ :type => "application",
21
+ :vendor => "Chef",
22
+ :product =>"Server",
23
+ :match_details =>"Chef Server",
20
24
  :version => nil,
21
- :type => :content_cookies,
22
- :content => /chef-manage/i,
25
+ :match_type => :content_cookies,
26
+ :match_content => /chef-manage/i,
23
27
  :paths => ["#{url}"]
24
28
  }
25
29
  ]
@@ -6,32 +6,38 @@ module Check
6
6
  def generate_checks(url)
7
7
  [
8
8
  {
9
- :name => "Cisco SSL VPN",
10
- :description => "Cisco SSL VPN",
9
+ :type => "application",
10
+ :vendor => "Cisco",
11
+ :product =>"SSL VPN",
12
+ :match_details =>"Cisco SSL VPN",
11
13
  :tags => ["tech:vpn"],
12
14
  :version => nil,
13
- :type => :content_cookies,
14
- :content => /webvpn/,
15
+ :match_type => :content_cookies,
16
+ :match_content => /webvpn/,
15
17
  :hide => false,
16
18
  :paths => ["#{url}"]
17
19
  },
18
20
  {
19
- :name => "Cisco SSL VPN",
20
- :description => "Cisco SSL VPN",
21
+ :type => "application",
22
+ :vendor => "Cisco",
23
+ :product =>"SSL VPN",
24
+ :match_details =>"Cisco SSL VPN",
21
25
  :tags => ["tech:vpn"],
22
26
  :version => nil,
23
- :type => :content_body,
24
- :content => /document.location.replace\(\"\/\+CSCOE\+\/logon.html\"\)/,
27
+ :match_type => :content_body,
28
+ :match_content => /document.location.replace\(\"\/\+CSCOE\+\/logon.html\"\)/,
25
29
  :examples => ["https://12.237.144.250:443", "http://12.150.243.178:80"],
26
30
  :hide => false,
27
31
  :paths => ["#{url}"]
28
32
  },
29
33
  {
30
- :name => "Cisco Router",
31
- :description => "Cisco Router",
34
+ :type => "application",
35
+ :vendor => "Cisco",
36
+ :product => "Router",
37
+ :match_details => "Cisco Router",
32
38
  :version => nil,
33
- :type => :content_headers,
34
- :content => /server: cisco-IOS/,
39
+ :match_type => :content_headers,
40
+ :match_content => /server: cisco-IOS/,
35
41
  :hide => false,
36
42
  :paths => ["#{url}"]
37
43
  }