Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Z4nzu
GitHub Repository: Z4nzu/hackingtool
Path: blob/master/tools/phising_attack.py
1761 views
1
# coding=utf-8
2
import os
3
4
from core import HackingTool
5
from core import HackingToolsCollection
6
7
from rich.console import Console
8
from rich.theme import Theme
9
from rich.table import Table
10
from rich.panel import Panel
11
from rich.prompt import Prompt
12
13
_theme = Theme({"purple": "#7B61FF"})
14
console = Console(theme=_theme)
15
16
17
class autophisher(HackingTool):
18
TITLE = "Autophisher RK"
19
DESCRIPTION = "Automated Phishing Toolkit"
20
INSTALL_COMMANDS = [
21
"sudo git clone https://github.com/CodingRanjith/autophisher.git",
22
"cd autophisher"
23
]
24
RUN_COMMANDS = ["cd autophisher;sudo bash autophisher.sh"]
25
PROJECT_URL = "https://github.com/CodingRanjith/autophisher"
26
27
28
class Pyphisher(HackingTool):
29
TITLE = "Pyphisher"
30
DESCRIPTION = "Easy to use phishing tool with 77 website templates"
31
INSTALL_COMMANDS = [
32
"sudo git clone https://github.com/KasRoudra/PyPhisher",
33
"cd PyPhisher/files",
34
"pip3 install -r requirements.txt"
35
]
36
RUN_COMMANDS = ["cd PyPhisher;sudo python3 pyphisher.py"]
37
PROJECT_URL = "git clone https://github.com/KasRoudra/PyPhisher"
38
39
40
class AdvPhishing(HackingTool):
41
TITLE = "AdvPhishing"
42
DESCRIPTION = "This is Advance Phishing Tool ! OTP PHISHING"
43
INSTALL_COMMANDS = [
44
"sudo git clone https://github.com/Ignitetch/AdvPhishing.git",
45
"cd AdvPhishing;chmod 777 *;bash Linux-Setup.sh"]
46
RUN_COMMANDS = ["cd AdvPhishing && sudo bash AdvPhishing.sh"]
47
PROJECT_URL = "https://github.com/Ignitetch/AdvPhishing"
48
49
50
class Setoolkit(HackingTool):
51
TITLE = "Setoolkit"
52
DESCRIPTION = "The Social-Engineer Toolkit is an open-source penetration\n" \
53
"testing framework designed for social engine"
54
INSTALL_COMMANDS = [
55
"git clone https://github.com/trustedsec/social-engineer-toolkit/",
56
"cd social-engineer-toolkit && sudo python3 setup.py"
57
]
58
RUN_COMMANDS = ["sudo setoolkit"]
59
PROJECT_URL = "https://github.com/trustedsec/social-engineer-toolkit"
60
61
62
class SocialFish(HackingTool):
63
TITLE = "SocialFish"
64
DESCRIPTION = "Automated Phishing Tool & Information Collector NOTE: username is 'root' and password is 'pass'"
65
INSTALL_COMMANDS = [
66
"sudo git clone https://github.com/UndeadSec/SocialFish.git && sudo apt-get install python3 python3-pip python3-dev -y",
67
"cd SocialFish && sudo python3 -m pip install -r requirements.txt"
68
]
69
RUN_COMMANDS = ["cd SocialFish && sudo python3 SocialFish.py root pass"]
70
PROJECT_URL = "https://github.com/UndeadSec/SocialFish"
71
72
73
class HiddenEye(HackingTool):
74
TITLE = "HiddenEye"
75
DESCRIPTION = "Modern Phishing Tool With Advanced Functionality And " \
76
"Multiple Tunnelling Services \n" \
77
"\t [!]https://github.com/DarkSecDevelopers/HiddenEye"
78
INSTALL_COMMANDS = [
79
"sudo git clone https://github.com/Morsmalleo/HiddenEye.git ;sudo chmod 777 HiddenEye",
80
"cd HiddenEye;sudo pip3 install -r requirements.txt;sudo pip3 install requests;pip3 install pyngrok"
81
]
82
RUN_COMMANDS = ["cd HiddenEye;sudo python3 HiddenEye.py"]
83
PROJECT_URL = "https://github.com/Morsmalleo/HiddenEye.git"
84
85
86
class Evilginx2(HackingTool):
87
TITLE = "Evilginx2"
88
DESCRIPTION = "evilginx2 is a man-in-the-middle attack framework used " \
89
"for phishing login credentials along with session cookies,\n" \
90
"which in turn allows to bypass 2-factor authentication protection.\n\n\t " \
91
"[+]Make sure you have installed GO of version at least 1.14.0 \n" \
92
"[+]After installation, add this to your ~/.profile, assuming that you installed GO in /usr/local/go\n\t " \
93
"[+]export GOPATH=$HOME/go \n " \
94
"[+]export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin \n" \
95
"[+]Then load it with source ~/.profiles."
96
INSTALL_COMMANDS = [
97
"sudo apt-get install git make;go get -u github.com/kgretzky/evilginx2",
98
"cd $GOPATH/src/github.com/kgretzky/evilginx2;make",
99
"sudo make install;sudo evilginx"
100
]
101
RUN_COMMANDS = ["sudo evilginx"]
102
PROJECT_URL = "https://github.com/kgretzky/evilginx2"
103
104
105
class ISeeYou(HackingTool):
106
TITLE = "I-See_You"
107
DESCRIPTION = "[!] ISeeYou is a tool to find Exact Location of Victom By" \
108
" User SocialEngineering or Phishing Engagement..\n" \
109
"[!] Users can expose their local servers to the Internet " \
110
"and decode the location coordinates by looking at the log file"
111
INSTALL_COMMANDS = [
112
"sudo git clone https://github.com/Viralmaniar/I-See-You.git",
113
"cd I-See-You && sudo chmod u+x ISeeYou.sh"
114
]
115
RUN_COMMANDS = ["cd I-See-You && sudo bash ISeeYou.sh"]
116
PROJECT_URL = "https://github.com/Viralmaniar/I-See-You"
117
118
119
class SayCheese(HackingTool):
120
TITLE = "SayCheese"
121
DESCRIPTION = "Take webcam shots from target just sending a malicious link"
122
INSTALL_COMMANDS = ["sudo git clone https://github.com/hangetzzu/saycheese"]
123
RUN_COMMANDS = ["cd saycheese && sudo bash saycheese.sh"]
124
PROJECT_URL = "https://github.com/hangetzzu/saycheese"
125
126
127
class QRJacking(HackingTool):
128
TITLE = "QR Code Jacking"
129
DESCRIPTION = "QR Code Jacking (Any Website)"
130
INSTALL_COMMANDS = [
131
"sudo git clone https://github.com/cryptedwolf/ohmyqr.git && sudo apt -y install scrot"]
132
RUN_COMMANDS = ["cd ohmyqr && sudo bash ohmyqr.sh"]
133
PROJECT_URL = "https://github.com/cryptedwolf/ohmyqr"
134
135
136
class WifiPhisher(HackingTool):
137
TITLE = "WifiPhisher"
138
DESCRIPTION = "The Rogue Access Point Framework"
139
INSTALL_COMMANDS = [
140
"sudo git clone https://github.com/wifiphisher/wifiphisher.git",
141
"cd wifiphisher"]
142
RUN_COMMANDS = ["cd wifiphisher && sudo python setup.py"]
143
PROJECT_URL = "https://github.com/wifiphisher/wifiphisher"
144
145
146
class BlackEye(HackingTool):
147
TITLE = "BlackEye"
148
DESCRIPTION = "The ultimate phishing tool with 38 websites available!"
149
INSTALL_COMMANDS = [
150
"sudo git clone https://github.com/thelinuxchoice/blackeye",
151
"cd blackeye "]
152
RUN_COMMANDS = ["cd blackeye && sudo bash blackeye.sh"]
153
PROJECT_URL = "https://github.com/An0nUD4Y/blackeye"
154
155
156
class ShellPhish(HackingTool):
157
TITLE = "ShellPhish"
158
DESCRIPTION = "Phishing Tool for 18 social media"
159
INSTALL_COMMANDS = ["git clone https://github.com/An0nUD4Y/shellphish.git"]
160
RUN_COMMANDS = ["cd shellphish;sudo bash shellphish.sh"]
161
PROJECT_URL = "https://github.com/An0nUD4Y/shellphish"
162
163
164
class Thanos(HackingTool):
165
TITLE = "Thanos"
166
DESCRIPTION = "Browser to Browser Phishingtoolkit"
167
INSTALL_COMMANDS = [
168
"sudo git clone https://github.com/TridevReddy/Thanos.git",
169
"cd Thanos && sudo chmod -R 777 Thanos.sh"
170
]
171
RUN_COMMANDS = ["cd Thanos;sudo bash Thanos.sh"]
172
PROJECT_URL = "https://github.com/TridevReddy/Thanos"
173
174
175
class QRLJacking(HackingTool):
176
TITLE = "QRLJacking"
177
DESCRIPTION = "QRLJacking"
178
INSTALL_COMMANDS = [
179
"git clone https://github.com/OWASP/QRLJacking.git",
180
"cd QRLJacking",
181
"git clone https://github.com/mozilla/geckodriver.git",
182
"chmod +x geckodriver",
183
"sudo mv -f geckodriver /usr/local/share/geckodriver",
184
"sudo ln -s /usr/local/share/geckodriver /usr/local/bin/geckodriver",
185
"sudo ln -s /usr/local/share/geckodriver /usr/bin/geckodriver",
186
"cd QRLJacker;pip3 install -r requirements.txt"
187
]
188
RUN_COMMANDS = ["cd QRLJacking/QRLJacker;python3 QrlJacker.py"]
189
PROJECT_URL = "https://github.com/OWASP/QRLJacking"
190
191
192
class Maskphish(HackingTool):
193
TITLE = "Miskphish"
194
DESCRIPTION = "Hide phishing URL under a normal looking URL (google.com or facebook.com)"
195
INSTALL_COMMANDS = [
196
"sudo git clone https://github.com/jaykali/maskphish.git",
197
"cd maskphish"]
198
RUN_COMMANDS = ["cd maskphish;sudo bash maskphish.sh"]
199
PROJECT_URL = "https://github.com/jaykali/maskphish"
200
201
202
class BlackPhish(HackingTool):
203
TITLE = "BlackPhish"
204
INSTALL_COMMANDS = [
205
"sudo git clone https://github.com/iinc0gnit0/BlackPhish.git",
206
"cd BlackPhish;sudo bash install.sh"
207
]
208
RUN_COMMANDS = ["cd BlackPhish;sudo python3 blackphish.py"]
209
PROJECT_URL = "https://github.com/iinc0gnit0/BlackPhish"
210
211
def __init__(self):
212
super(BlackPhish, self).__init__([('Update', self.update)])
213
214
def update(self):
215
os.system("cd BlackPhish;sudo bash update.sh")
216
217
218
class dnstwist(HackingTool):
219
Title = 'dnstwist'
220
Install_commands = ['sudo git clone https://github.com/elceef/dnstwist.git','cd dnstwist']
221
Run_commands = ['cd dnstwist;sudo python3 dnstwist.py']
222
project_url = 'https://github.com/elceef/dnstwist'
223
224
225
class PhishingAttackTools(HackingToolsCollection):
226
TITLE = "Phishing attack tools"
227
TOOLS = [
228
autophisher(),
229
Pyphisher(),
230
AdvPhishing(),
231
Setoolkit(),
232
SocialFish(),
233
HiddenEye(),
234
Evilginx2(),
235
ISeeYou(),
236
SayCheese(),
237
QRJacking(),
238
BlackEye(),
239
ShellPhish(),
240
Thanos(),
241
QRLJacking(),
242
BlackPhish(),
243
Maskphish(),
244
dnstwist()
245
]
246
247
def _get_attr_fallback(self, item, *names, default=""):
248
for n in names:
249
if hasattr(item, n):
250
return getattr(item, n)
251
return default
252
253
def pretty_print(self):
254
table = Table(title="Phishing Attack Tools", show_lines=True, expand=True)
255
table.add_column("Title", style="purple", no_wrap=True)
256
table.add_column("Description", style="purple")
257
table.add_column("Project URL", style="purple", no_wrap=True)
258
259
for t in self.TOOLS:
260
# try typical attribute names, then fall back to common variations
261
title = (
262
self._get_attr_fallback(t, "TITLE", "Title", "title")
263
or t.__class__.__name__
264
)
265
desc = self._get_attr_fallback(t, "DESCRIPTION", "Description", "description", "INSTALL_COMMANDS", default="") or ""
266
# prefer PROJECT_URL but also accept project_url or project_url-like fields
267
url = self._get_attr_fallback(t, "PROJECT_URL", "PROJECT_URL", "PROJECT", "project_url", "projectUrl", default="") or ""
268
table.add_row(str(title), str(desc).strip().replace("\n", " "), str(url))
269
270
panel = Panel(table, title="[purple]Available Tools[/purple]", border_style="purple")
271
console.print(panel)
272
273
def show_options(self, parent=None):
274
console.print("\n")
275
panel = Panel.fit("[bold magenta]Phishing Attack Tools Collection[/bold magenta]\n"
276
"Select a tool to view options or run it.",
277
border_style="purple")
278
console.print(panel)
279
280
table = Table(title="[bold cyan]Available Tools[/bold cyan]", show_lines=True, expand=True)
281
table.add_column("Index", justify="center", style="bold yellow")
282
table.add_column("Tool Name", justify="left", style="bold green")
283
table.add_column("Description", justify="left", style="white")
284
285
for i, tool in enumerate(self.TOOLS):
286
title = self._get_attr_fallback(tool, "TITLE", "Title", "title", default=tool.__class__.__name__)
287
desc = self._get_attr_fallback(tool, "DESCRIPTION", "Description", "description", default="—")
288
table.add_row(str(i + 1), title, desc or "—")
289
290
table.add_row("[red]99[/red]", "[bold red]Exit[/bold red]", "Return to previous menu")
291
console.print(table)
292
293
try:
294
choice = Prompt.ask("[bold cyan]Select a tool to run[/bold cyan]", default="99")
295
choice = int(choice)
296
if 1 <= choice <= len(self.TOOLS):
297
selected = self.TOOLS[choice - 1]
298
# If tool exposes show_options (collection-style), delegate to it
299
if hasattr(selected, "show_options"):
300
selected.show_options(parent=self)
301
# Otherwise, if runnable, call its run method
302
elif hasattr(selected, "run"):
303
selected.run()
304
# Preserve any before_run hooks if present
305
elif hasattr(selected, "before_run"):
306
selected.before_run()
307
else:
308
console.print("[bold yellow]Selected tool has no runnable interface.[/bold yellow]")
309
elif choice == 99:
310
return 99
311
except Exception:
312
console.print("[bold red]Invalid choice. Try again.[/bold red]")
313
return self.show_options(parent=parent)
314
315
316
if __name__ == "__main__":
317
tools = PhishingAttackTools()
318
tools.pretty_print()
319
tools.show_options()
320
321