opnsrcint 0.1.5 → 0.1.7
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 +4 -4
- data/README.md +29 -14
- data/bin/opnsrcint +8 -5
- data/lib/opnsrcint/mail_leak.rb +55 -0
- data/lib/opnsrcint/user.rb +1 -0
- data/lib/opnsrcint/version.rb +1 -1
- data/opnsrcint.gemspec +2 -1
- metadata +8 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 604eed637b705f7655481a36730e3ce519fb5809662199404fa08e61b5f58f81
|
|
4
|
+
data.tar.gz: 7a75b1f2bff10550dd0d66834ed0730527bf586ca2e11147b0f953d1ceb5a5e2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8d7d340ff40dc3f6ec102b9a528742e5d257d4330c1ed3d8749ff92a970ec31b8dd391158c4624d3d759b4cc5651915c7bd3dc912c391fcd30a122c2e6b36a18
|
|
7
|
+
data.tar.gz: dab90fb8242eb8bf2ca2a36eecf093a44b1f3296c50ac571bc0369226ae1a030d644399f55b15c11c94927411c7340277b622d1d0f918a22b8885b5653d6ca32
|
data/README.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Opnsrcint
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
|
|
3
10
|
OSINT tool for searching username,subdomain finding using dns
|
|
4
11
|
such as google, cloudflare, opendns, ..
|
|
5
12
|
|
|
@@ -18,35 +25,43 @@ bundle install
|
|
|
18
25
|
|
|
19
26
|
**Or install it yourself as:**
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
```ruby
|
|
29
|
+
gem install opnsrcint
|
|
30
|
+
```
|
|
22
31
|
|
|
23
32
|
## Usage
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
```ruby
|
|
34
|
+
opnsrcint [cmd] [argv]
|
|
35
|
+
```
|
|
26
36
|
|
|
27
37
|
**search user names:**
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
```ruby
|
|
40
|
+
opnsrcint scan4user user1,user2
|
|
41
|
+
```
|
|
30
42
|
|
|
31
43
|
**searching subdomains:**
|
|
32
44
|
|
|
33
|
-
|
|
45
|
+
```ruby
|
|
46
|
+
opnsrcint subenum example.com
|
|
47
|
+
```
|
|
48
|
+
|
|
34
49
|
|
|
35
50
|
## example for irb
|
|
36
51
|
|
|
37
52
|
```ruby
|
|
38
53
|
irb(main):001:0> require 'opnsrcint'
|
|
39
54
|
irb(main):002:0> Opnsrcint::search_for_username(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
55
|
+
["test"], # list of user names
|
|
56
|
+
false, # verbose
|
|
57
|
+
false # enable 18+ site
|
|
58
|
+
)
|
|
44
59
|
irb(main):003:0> sub = Subdomain_enum::new
|
|
45
|
-
irb(main):004:0> sub.target = 'example.com'
|
|
46
|
-
irb(main):005:0> sub.wordlist = '/path/to/wordlist'
|
|
47
|
-
irb(main):006:0> sub.max_thread = 10
|
|
48
|
-
irb(main):007:0> sub.timeout = 1
|
|
49
|
-
irb(main):008:0> sub.brut
|
|
60
|
+
irb(main):004:0> sub.target = 'example.com' # require
|
|
61
|
+
irb(main):005:0> sub.wordlist = '/path/to/wordlist' # defaultly wordlist set
|
|
62
|
+
irb(main):006:0> sub.max_thread = 10 # defaultly set
|
|
63
|
+
irb(main):007:0> sub.timeout = 1 # defaultly value set
|
|
64
|
+
irb(main):008:0> sub.brut # start searching
|
|
50
65
|
```
|
|
51
66
|
|
|
52
67
|
## Contributing
|
data/bin/opnsrcint
CHANGED
|
@@ -8,7 +8,7 @@ OPNSRCINT (v#{Opnsrcint::VERSION}) Madhava-mng@cyb3r-mafia
|
|
|
8
8
|
Usage: opnsrcint [cmd] [argv]
|
|
9
9
|
|
|
10
10
|
OSINT tool for username deduction,
|
|
11
|
-
Sub domain enumeration
|
|
11
|
+
Sub domain enumeration,
|
|
12
12
|
|
|
13
13
|
Cmd: scan4user, subenum, help
|
|
14
14
|
|
|
@@ -25,6 +25,7 @@ argv/subenum:
|
|
|
25
25
|
-t Maximum concurrency.
|
|
26
26
|
-T Set time out.
|
|
27
27
|
|
|
28
|
+
|
|
28
29
|
argv/help:
|
|
29
30
|
show this message
|
|
30
31
|
|
|
@@ -62,30 +63,32 @@ def main
|
|
|
62
63
|
end
|
|
63
64
|
|
|
64
65
|
if targets != ''
|
|
66
|
+
begin
|
|
65
67
|
Opnsrcint::search_for_username(targets, verbose, prono)
|
|
68
|
+
rescue Interrupt => e
|
|
69
|
+
puts "\e[A\e[C";exit
|
|
70
|
+
end
|
|
66
71
|
else
|
|
67
72
|
puts "opnsrcint: User name need.\nrun 'opnsrcint help'."
|
|
68
73
|
end
|
|
69
74
|
|
|
70
75
|
when 'help'
|
|
71
76
|
puts HELP
|
|
77
|
+
|
|
72
78
|
when 'subenum'
|
|
73
79
|
|
|
74
80
|
sub_enum = Subdomain_enum::new
|
|
75
81
|
|
|
76
82
|
ARGV.length.times do |i|
|
|
77
|
-
|
|
78
83
|
if ARGV[i].start_with? '-'
|
|
79
84
|
case ARGV[i]
|
|
80
85
|
when '-t'
|
|
81
|
-
|
|
82
86
|
if ARGV[i+1].to_i.is_a? Integer
|
|
83
87
|
sub_enum.max_thread = ARGV[i+1].to_i
|
|
84
88
|
else
|
|
85
89
|
puts 'opnsrcint :-t :must be integer.'
|
|
86
90
|
exit
|
|
87
91
|
end
|
|
88
|
-
|
|
89
92
|
when '-T'
|
|
90
93
|
if ARGV[i+1].to_i.is_a? Integer
|
|
91
94
|
sub_enum.timeout = ARGV[i+1].to_i
|
|
@@ -93,7 +96,6 @@ def main
|
|
|
93
96
|
puts 'opnsrcint :-T :must be integer.'
|
|
94
97
|
exit
|
|
95
98
|
end
|
|
96
|
-
|
|
97
99
|
when '-w'
|
|
98
100
|
if File.file? ARGV[i+1]
|
|
99
101
|
sub_enum.wordlist = ARGV[i+1]
|
|
@@ -109,6 +111,7 @@ def main
|
|
|
109
111
|
sub_enum.target = ARGV[i]
|
|
110
112
|
end
|
|
111
113
|
end
|
|
114
|
+
|
|
112
115
|
begin
|
|
113
116
|
sub_enum.brut
|
|
114
117
|
rescue Interrupt => e
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require 'net/http'
|
|
2
|
+
require 'json'
|
|
3
|
+
|
|
4
|
+
class Mail_leak
|
|
5
|
+
attr_accessor:mail,:url
|
|
6
|
+
def initialize
|
|
7
|
+
@url = {
|
|
8
|
+
"psbdmp": "https://psbdmp.ws/api/search/#{@mail}",
|
|
9
|
+
"emailrep":"https://emailrep.io/#{@mail}",
|
|
10
|
+
}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def search_mail(mail)
|
|
14
|
+
Thread::new do
|
|
15
|
+
res = Net::HTTP::get_response(
|
|
16
|
+
URI "https://psbdmp.ws/api/search/#{mail}"
|
|
17
|
+
)
|
|
18
|
+
if res.code == '200'
|
|
19
|
+
data = JSON::parse(res.body)
|
|
20
|
+
|
|
21
|
+
if data.length > 0
|
|
22
|
+
puts "\e[31m•>\e[0m #{data["search"]} :breached"
|
|
23
|
+
|
|
24
|
+
data["data"].each do |e|
|
|
25
|
+
e.keys.each do |v|
|
|
26
|
+
puts "\e[32m#{v}\e[0m:#{e[v]}"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
Thread::new do
|
|
35
|
+
res = Net::HTTP::get_response(
|
|
36
|
+
URI "https://emailrep.io/#{mail}"
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
if res.code == '200'
|
|
40
|
+
data = JSON::parse(res.body)
|
|
41
|
+
|
|
42
|
+
puts "\e[31m•>\e[0m #{data["email"]} :breached :#{data["reputation"]}"
|
|
43
|
+
|
|
44
|
+
data["details"].keys.map do |k|
|
|
45
|
+
puts "\e[32m#{k}\e[0m:#{data["details"][k]}"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
while Thread::list::length > 1;sleep 0.5;end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
|
data/lib/opnsrcint/user.rb
CHANGED
|
@@ -10,6 +10,7 @@ class User
|
|
|
10
10
|
@tmp_list = []
|
|
11
11
|
@url_list = {
|
|
12
12
|
"github": [URI("https://github.com/"+@user), '200', 'github'],
|
|
13
|
+
"gitlab": [URI("https://gitlab.com/"+@user), '200', 'gitlab'],
|
|
13
14
|
"pypi": [URI("https://pypi.org/user/#{@user}/"), '200', 'pypi'],
|
|
14
15
|
"pypi*C": [URI("https://pypi.org/user/#{@user.capitalize}/"), '200', 'pypi'],
|
|
15
16
|
"udemy": [URI("https://www.udemy.com/user/#{@user}/"), '200', ''],
|
data/lib/opnsrcint/version.rb
CHANGED
data/opnsrcint.gemspec
CHANGED
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
|
9
9
|
spec.email = ["newmob@hotmail.com"]
|
|
10
10
|
|
|
11
11
|
spec.summary = "OSINT tool"
|
|
12
|
-
spec.description = "OSINT tool for username, subdomain
|
|
12
|
+
spec.description = "OSINT tool for username, subdomain, mail"
|
|
13
13
|
spec.homepage = "https://github.com/Madhava-mng/opnsrcint"
|
|
14
14
|
spec.license = "MIT"
|
|
15
15
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
"bin/setup", "bin/opnsrcint",
|
|
35
35
|
"dict/subdomain.txt",
|
|
36
36
|
"lib/opnsrcint/subdomain_enum.rb",
|
|
37
|
+
"lib/opnsrcint/mail_leak.rb",
|
|
37
38
|
]
|
|
38
39
|
|
|
39
40
|
spec.executables = ['opnsrcint']
|
metadata
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: opnsrcint
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Madhava-mng
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
|
-
description: OSINT tool for username, subdomain
|
|
13
|
+
description: OSINT tool for username, subdomain, mail
|
|
14
14
|
email:
|
|
15
15
|
- newmob@hotmail.com
|
|
16
16
|
executables:
|
|
@@ -26,6 +26,7 @@ files:
|
|
|
26
26
|
- bin/setup
|
|
27
27
|
- dict/subdomain.txt
|
|
28
28
|
- lib/opnsrcint.rb
|
|
29
|
+
- lib/opnsrcint/mail_leak.rb
|
|
29
30
|
- lib/opnsrcint/script.rb
|
|
30
31
|
- lib/opnsrcint/site.rb
|
|
31
32
|
- lib/opnsrcint/subdomain_enum.rb
|
|
@@ -38,7 +39,7 @@ licenses:
|
|
|
38
39
|
metadata:
|
|
39
40
|
allowed_push_host: https://rubygems.org
|
|
40
41
|
homepage_uri: https://github.com/Madhava-mng/opnsrcint
|
|
41
|
-
post_install_message:
|
|
42
|
+
post_install_message:
|
|
42
43
|
rdoc_options: []
|
|
43
44
|
require_paths:
|
|
44
45
|
- lib
|
|
@@ -53,8 +54,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
53
54
|
- !ruby/object:Gem::Version
|
|
54
55
|
version: '0'
|
|
55
56
|
requirements: []
|
|
56
|
-
rubygems_version: 3.2.
|
|
57
|
-
signing_key:
|
|
57
|
+
rubygems_version: 3.2.27
|
|
58
|
+
signing_key:
|
|
58
59
|
specification_version: 4
|
|
59
60
|
summary: OSINT tool
|
|
60
61
|
test_files: []
|