-
Notifications
You must be signed in to change notification settings - Fork 57
/
SMWYG.py
115 lines (97 loc) · 3.11 KB
/
SMWYG.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
'''
This tool allows you to perform OSINT and reconnaissance on an organization or an individual. It allows one to search 1.4 Billion clear text credentials which was dumped as part of BreachCompilation leak. This database makes finding passwords faster and easier than ever before.
Author: Viral Maniar
Twitter: https://twitter.com/maniarviral
Github: https://github.com/Viralmaniar
LinkedIn: https://au.linkedin.com/in/viralmaniar
'''
import os, sys
import requests
from bs4 import BeautifulSoup
def logo():
logo = '''
___
. -^ `--,
/# =========`-_
/# (--====___====\
/# .- --. . --.|
/## | * ) ( * ), +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|## \ /\ \ / | |S|h|o|w|M|e|W|h|a|t|Y|o|u|G|o|t|
|### --- \ --- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|#### ___) #| Author: Viral Maniar
|###### ##| Twitter: @ManiarViral
\##### ---------- / Description: This tool allows you to perform OSINT and reconnaissance on an organization or an individual. It allows one to search 1.4 Billion
\#### ( clear text credentials which was dumped as part of BreachCompilation leak.
`\### |
\### |
\## |
\###. .)
`======/
***1.4 Billion Clear Text Credentials***
'''
return logo
OPTIONS = '''
1. Enter Domain Name to Search Users
2. Enter Specific Email Address
3. Exit
'''
def menu():
while True:
try:
choice = str(input('\n[?] Do you want to continue? \n> ')).lower()
if choice[0] == 'y':
return
if choice[0] == 'n':
sys.exit(0)
break
except ValueError:
sys.exit(0)
def checkInternetConnection():
try:
requests.get('https://www.gotcha.pw/')
except:
print('[!] No internet connection...Please connect to the Internet')
else:
print('[+] Checking Internet connection...')
print('[+] Connection Successful <3 <3 <3')
def cmdDomainSearch():
Domain = input('Enter Domain Name:').lower()
pwnedDomain = "https://gotcha.pw/search/" + Domain
r = requests.get(pwnedDomain)
#print (r.content)
soup = BeautifulSoup(r.content, 'html.parser')
div = soup.find('div', {"class": "col-md-6 fullheight bottombar centerbar pt-3 mb-lg-2 pb-lg-2"})
print (div.get_text())
def cmdEmailSearch():
Email = input('Enter Email Address:').lower()
pwnedEmail = "https://gotcha.pw/search/" + Email
r1 = requests.get(pwnedEmail)
#print (r.content)
soup = BeautifulSoup(r1.content, 'html.parser')
div1 = soup.find('div', {"class": "col-md-6 fullheight bottombar centerbar pt-3 mb-lg-2 pb-lg-2"})
print (div1.get_text())
cmds = {
"1" : cmdDomainSearch,
"2" : cmdEmailSearch,
"3" : lambda: sys.exit(0)
}
def main():
print (logo())
checkInternetConnection()
try:
while True:
choice = input("\n%s" % OPTIONS)
if choice not in cmds:
print ('[!] Invalid Choice')
continue
cmds.get(choice)()
except KeyboardInterrupt:
print ('[!] Ctrl + C detected\n[!] Exiting')
sys.exit(0)
except EOFError:
print ('[!] Ctrl + D detected\n[!] Exiting')
sys.exit(0)
if __name__ == "__main__":
main()