azure_enum 0.2.0 → 0.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6fdc83880b2b733e7d62d3547acddfaf63545d96fe971e40476141aff0478a41
4
- data.tar.gz: f41d54b8da002a67330179fe77f64dd419fd7588494fa1f0b2bdd0384f92d98c
3
+ metadata.gz: 6f2e69cdfa172801c9d1809cde1e8806b1de72b6ffb96f275da139785a2e48f1
4
+ data.tar.gz: 04373e57021f9bc3718a10674b2300e79846e021550b098d7ded5b227e4ab640
5
5
  SHA512:
6
- metadata.gz: a3a494b52395dac75e451203506bd73b3f17613fbe28c4716837d6299363379df4220bdad19da13ce144d16f3ed3be499c0188fed1161301d975f89c23394d93
7
- data.tar.gz: 601600c96b145a70524b6b390f30caee359451e49e9398fa7e04e242e5c9264936db14783d4b1c510a7c684361efab7d05728032289d82f733a17957bdcfd876
6
+ metadata.gz: 20b34570c4589d87648e5ed72b14a5e8c1d79cbdff43826fba2970621c102bd4b721861b792b6b13616f36dcf2e97671724dce049d2aab840a8386b477639856
7
+ data.tar.gz: f5fdcff316d7198a3e038a8e02c129bf98b372797160002d6245aa2381a2d69c1f4fe67857b54701c343968101de76bf3345170207740b6261406abd20dc31be
data/README.md CHANGED
@@ -31,7 +31,7 @@ x = AzureEnum.federated("lolware.net")
31
31
 
32
32
  Or by installing and running the binary:
33
33
  ```
34
- bundle exec ./bin/azure_enum lolware.net
34
+ $ azure_enum lolware.net
35
35
  Please wait while the given domain is enumerated.
36
36
  lolzware.onmicrosoft.com
37
37
  lolware.net
data/azure_enum.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
 
12
12
  spec.summary = %q{Enumerate Office 365 tenancies for federated domains.}
13
13
  spec.description = %q{External enumeration toolkit to identify organisation relationships in Office 365.}
14
- spec.homepage = "https://github.com/technion"
14
+ spec.homepage = "https://github.com/technion/azure_enum"
15
15
  spec.license = "MIT"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -21,9 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.16"
24
+ spec.add_development_dependency "bundler", "~> 2.3.0"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "minitest", "~> 5.0"
27
27
  spec.add_dependency "httpclient", "~> 2.8.0"
28
- spec.add_dependency "nokogiri", "~> 1.8.0"
28
+ spec.add_dependency "nokogiri", "~> 1.15.4"
29
29
  end
@@ -1,3 +1,3 @@
1
1
  module AzureEnum
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.2.2".freeze
3
3
  end
data/lib/azure_enum.rb CHANGED
@@ -25,19 +25,28 @@ module AzureEnum
25
25
  @redirect = res.header["Location"][0]
26
26
  end
27
27
 
28
- def enumerate_autodisc
29
- httpsdomains = [
28
+ def autodisc
29
+ # These are the default autodiscover domains.
30
+ [
30
31
  "https://autodiscover.#{@domain}/autodiscover/autodiscover.svc",
31
32
  "https://#{@domain}/autodiscover/autodiscover.svc"
32
33
  ]
34
+ end
33
35
 
36
+ def enumerate_autodisc(httpsdomains = autodisc)
34
37
  httpsdomains.unshift @redirect if @redirect
38
+ @redirect = nil
35
39
  httpsdomains.each do |url|
36
40
  xml = get_xml(@domain, url)
37
41
  begin
38
42
  http = HTTPClient.new
39
43
  content = { "Content-Type" => "text/xml; charset=utf-8" }
40
44
  res = http.post(url, xml, content)
45
+ # In the event of a second redirect we are on the right path
46
+ # Recurse this function for the correct result
47
+ if res.status_code == 302
48
+ return enumerate_autodisc [res.header['Location'][0]]
49
+ end
41
50
  @xml_text = res.content
42
51
  return true
43
52
  # It is bad style to rescue "all" errors. However, it turns out there is a practically
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: azure_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Technion
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-21 00:00:00.000000000 Z
11
+ date: 2023-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: 2.3.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: 2.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.8.0
75
+ version: 1.15.4
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.8.0
82
+ version: 1.15.4
83
83
  description: External enumeration toolkit to identify organisation relationships in
84
84
  Office 365.
85
85
  email:
@@ -103,11 +103,11 @@ files:
103
103
  - exe/azure_enum
104
104
  - lib/azure_enum.rb
105
105
  - lib/azure_enum/version.rb
106
- homepage: https://github.com/technion
106
+ homepage: https://github.com/technion/azure_enum
107
107
  licenses:
108
108
  - MIT
109
109
  metadata: {}
110
- post_install_message:
110
+ post_install_message:
111
111
  rdoc_options: []
112
112
  require_paths:
113
113
  - lib
@@ -122,9 +122,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubyforge_project:
126
- rubygems_version: 2.7.7
127
- signing_key:
125
+ rubygems_version: 3.3.15
126
+ signing_key:
128
127
  specification_version: 4
129
128
  summary: Enumerate Office 365 tenancies for federated domains.
130
129
  test_files: []