-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.py
More file actions
338 lines (272 loc) · 12.3 KB
/
script.py
File metadata and controls
338 lines (272 loc) · 12.3 KB
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
import os
import requests
import socket
import whois
from bs4 import BeautifulSoup
# Função para consultar o IP de um site
def consultar_ip(site):
try:
print(f"\nConsultando o IP de {site}...")
ip = socket.gethostbyname(site)
print(f"O IP de {site} é: {ip}")
except socket.gaierror:
print(f"Não foi possível encontrar o IP de {site}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para verificar as portas abertas de um site
def verificar_portas(site):
try:
print(f"\nVerificando as portas abertas de {site}...")
count_portas_abertas = 0 # Variável para contar as portas abertas
for porta in range(1, 65536): # Alterado para verificar até a porta 65535
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(2)
resultado = sock.connect_ex((site, porta))
if resultado == 0:
print(f"A porta {porta} está aberta.")
count_portas_abertas += 1
break # Para aqui assim que encontrar uma porta aberta
if count_portas_abertas == 0:
print("Nenhuma porta aberta encontrada.")
else:
print(f"Total de {count_portas_abertas} portas abertas encontradas.")
except socket.gaierror:
print(f"Não foi possível verificar as portas de {site}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para verificar se o site possui SSL/TLS habilitado
def verificar_seguranca_ssl(site):
try:
print(f"\nVerificando se o site {site} possui SSL/TLS habilitado...")
resposta = requests.get(f"https://{site}", verify=True)
if resposta.status_code == 200:
print(f"{site} possui SSL/TLS habilitado.")
else:
print(f"{site} não possui SSL/TLS habilitado.")
except requests.exceptions.SSLError:
print(f"{site} não possui SSL/TLS habilitado.")
except requests.exceptions.RequestException:
print(f"Não foi possível verificar a segurança de {site}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para verificar se o site está online
def verificar_site_online(site):
try:
print(f"\nVerificando se {site} está online...")
resposta = requests.get(f"https://{site}", timeout=5)
if resposta.status_code == 200:
print(f"{site} está online.")
else:
print(f"{site} está fora do ar.")
except requests.exceptions.RequestException:
print(f"{site} está fora do ar.")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para identificar vulnerabilidades SQL em um site
def identificar_vulnerabilidades_sql(site):
try:
print(f"\nIdentificando vulnerabilidades SQL em {site}...")
# Código para identificar vulnerabilidades SQL em um site
# Exemplo simples:
parametros = {"username": "admin' OR '1'='1", "password": "123"}
resposta = requests.post(f"https://{site}/login", data=parametros)
if "Usuário ou senha incorretos" not in resposta.text:
print("Possível vulnerabilidade SQL identificada.")
else:
print("Nenhuma vulnerabilidade SQL identificada.")
except Exception as e:
print(f"Ocorreu um erro durante a identificação de vulnerabilidades SQL: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para consultar informações WHOIS de um site
def consultar_whois(site):
try:
print(f"\nConsultando informações WHOIS de {site}...")
info_whois = whois.whois(site)
print(info_whois)
except Exception as e:
print(f"Ocorreu um erro durante a consulta WHOIS: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para simular teste de força bruta em formulários de login
def simular_teste_forca_bruta(site, usuario):
try:
print(f"\nSimulando teste de força bruta no formulário de login de {site}...")
# Código para simular teste de força bruta em formulários de login
# Exemplo simples:
for senha in ["123456", "password", "1234", "qwerty"]:
parametros = {"username": usuario, "password": senha}
resposta = requests.post(f"https://{site}/login", data=parametros)
if "Usuário ou senha incorretos" not in resposta.text:
print(f"Senha encontrada: {senha}")
break
else:
print("Nenhuma senha encontrada.")
except Exception as e:
print(f"Ocorreu um erro durante o teste de força bruta: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para verificar exposição em bases de dados de brechas
def verificar_exposicao_brechas_dados(site):
try:
print(f"\nVerificando se {site} está listado em bases de dados públicas de brechas de dados...")
# Código para verificar a exposição de dados em bases públicas
# Exemplo simples:
resposta = requests.get(f"https://breachdatabase.com/search?q={site}")
if "Nenhum resultado encontrado" not in resposta.text:
print(f"{site} está listado em bases de dados de brechas de dados.")
else:
print(f"{site} não está listado em bases de dados de brechas de dados.")
except Exception as e:
print(f"Ocorreu um erro durante a verificação de exposição de dados: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para consultar subdomínios de um site
def consultar_subdominios(site):
try:
print(f"\nConsultando subdomínios de {site}...")
resposta = requests.get(f"https://www.pagesinventory.com/search/?s={site}&filter_domain=&filter_ip=&offset=1")
soup = BeautifulSoup(resposta.content, "html.parser")
subdominios = set()
for resultado in soup.find_all("div", class_="domain"):
subdominio = resultado.text.strip()
subdominios.add(subdominio)
if subdominios:
print("Subdomínios encontrados:")
for subdominio in subdominios:
print(subdominio)
else:
print("Nenhum subdomínio encontrado.")
except Exception as e:
print(f"Ocorreu um erro durante a consulta de subdomínios: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
import socket
# Função para verificar se o site utiliza UDP ou TCP
def verificar_udp_tcp(site):
try:
print(f"\nVerificando se o site {site} utiliza UDP ou TCP...")
# Verificando o protocolo utilizado pelas portas 80 (HTTP) e 443 (HTTPS)
http_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
http_socket.settimeout(2)
http_resultado = http_socket.connect_ex((site, 80))
https_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
https_socket.settimeout(2)
https_resultado = https_socket.connect_ex((site, 443))
if http_resultado == 0 and https_resultado == 0:
print(f"O site {site} pode utilizar tanto UDP quanto TCP.")
elif http_resultado == 0:
print(f"O site {site} utiliza o protocolo TCP (HTTP).")
elif https_resultado == 0:
print(f"O site {site} utiliza o protocolo TCP (HTTPS).")
else:
print(f"Não foi possível determinar se o site {site} utiliza UDP ou TCP.")
except Exception as e:
print(f"Ocorreu um erro durante a verificação de UDP/TCP: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para encontrar painéis de administração em um site
def encontrar_painel_administracao(site):
try:
print(f"\nProcurando painel de administração em {site}...")
# Lista com possíveis URLs de painéis de administração
paineis_administracao = [
"admin", "adm", "login", "wp-admin", "administrator",
"admin/login", "admin_area", "admin-login", "adminlogin",
"panel-administracion", "admin1", "admin2", "admin3",
]
for painel in paineis_administracao:
url = f"https://{site}/{painel}/"
resposta = requests.get(url)
if resposta.status_code == 200:
print(f"Painel de administração encontrado: {url}")
break
else:
print("Nenhum painel de administração encontrado.")
except requests.exceptions.RequestException as e:
print(f"Ocorreu um erro durante a busca por painéis de administração: {e}")
input("\nPressione Enter para continuar...")
os.system("clear")
# Função para exibir o grupo do Telegram
def grupo_telegram():
print("\n=====================================")
print(" ★ Grupo do Telegram ★ ")
print("=====================================")
print("Junte-se ao nosso grupo do Telegram:")
print("Link: https://t.me/BlackoutTeamOfc")
print("=====================================\n")
input("Pressione Enter para voltar ao menu...")
os.system("clear")
# Função para exibir os créditos
def creditos():
print("\n=====================================")
print(" ★ Créditos ★ ")
print("=====================================")
print("Desenvolvido por: Zed Hacking")
print("Telegram: @ZedHacking")
print("=====================================\n")
input("Pressione Enter para voltar ao menu...")
os.system("clear")
# Função para exibir o menu
def exibir_menu():
while True:
os.system("clear")
print("=====================================")
print(" ★ BLACKOUT SECURITY ★ ")
print("=====================================")
print("1. Consultar IP de um site")
print("2. Verificar portas abertas de um site")
print("3. Verificar segurança SSL/TLS do site")
print("4. Verificar se o site está online")
print("5. Identificar vulnerabilidades SQL em um site")
print("6. Consultar informações WHOIS de um site")
print("7. Verificar exposição em bases de dados de brechas")
print("8. Consultar subdomínios de um site")
print("9. Verificar se o site utiliza UDP ou TCP")
print("10. Grupo do Telegram")
print("11. Créditos")
print("12. Encontrar painel de administração de um site")
print("0. Sair")
print("=====================================")
opcao = input("Digite o número da opção desejada: ")
if opcao == "1":
site = input("Digite o site para consultar o IP: ")
consultar_ip(site)
elif opcao == "2":
site = input("Digite o site para verificar as portas abertas: ")
verificar_portas(site)
elif opcao == "3":
site = input("Digite o site para verificar a segurança SSL/TLS: ")
verificar_seguranca_ssl(site)
elif opcao == "4":
site = input("Digite o site para verificar se está online: ")
verificar_site_online(site)
elif opcao == "5":
site = input("Digite o site para identificar vulnerabilidades SQL: ")
identificar_vulnerabilidades_sql(site)
elif opcao == "6":
site = input("Digite o site para consultar informações WHOIS: ")
consultar_whois(site)
elif opcao == "7":
site = input("Digite o site para verificar exposição em bases de dados de brechas: ")
verificar_exposicao_brechas_dados(site)
elif opcao == "8":
site = input("Digite o site para consultar subdomínios: ")
consultar_subdominios(site)
elif opcao == "9":
site = input("Digite o site para verificar se utiliza UDP ou TCP: ")
verificar_udp_tcp(site)
elif opcao == "10":
grupo_telegram()
elif opcao == "11":
creditos()
elif opcao == "12":
site = input("Digite o site para encontrar o painel de administração: ")
encontrar_painel_administracao(site)
elif opcao == "0":
print("Saindo do menu...")
break
else:
print("Opção inválida. Tente novamente.")
if __name__ == "__main__":
exibir_menu()