moriarty-project 0.1.26__py3-none-any.whl → 0.1.27__py3-none-any.whl

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.
@@ -1,4 +1,4 @@
1
- moriarty/__init__.py,sha256=qBTwQcCqxjNX6gmaFKV5JsGMCTPSc7zwSz0HDNh8pv8,85
1
+ moriarty/__init__.py,sha256=m7lhtirbzU4RBinS8mk7DvYoDH7Onjr0LptFep7u8go,85
2
2
  moriarty/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  moriarty/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  moriarty/assets/modules/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -328,10 +328,10 @@ moriarty/assets/templates/vulnerabilities/xss-reflected.yaml,sha256=iG0WphhygN2p
328
328
  moriarty/assets/templates/vulnerabilities/xxe-basic.yaml,sha256=7bG1KT5jBm8SAQp-pbjxknFuW5fIkF9yrufsq2OghRk,565
329
329
  moriarty/assets/wordlists/subdomains-1000.txt,sha256=XKDCiJMJ2wnDRngglAiv7iuDnwlUIr_-LnjlNwWp4sc,8032
330
330
  moriarty/cli/__init__.py,sha256=PQ8kA28EJ9h8mIK_VJtH1PtJ3xfVsF3d7IsmpZfl_Bc,54
331
- moriarty/cli/app.py,sha256=Y1KF8Z9I5VUyQg0HE7agy4BsGkoLyPq5JLAeKiIS0fg,7987
331
+ moriarty/cli/app.py,sha256=SRcAWV0SY9ln7qm4UEwFkaS8b5UCmvzJOC7c5QtYrVE,7985
332
332
  moriarty/cli/async_utils.py,sha256=jleTd2nyAVsNqJae2kKlo514gKKcH3nBXvfoLubOq6A,393
333
333
  moriarty/cli/dns.py,sha256=QhDwe9uoAmk243XbO9YBYk3YlPmiXYT_vLqUXum9i70,2735
334
- moriarty/cli/domain_cmd.py,sha256=0upzUc713nVQxQuBwSc8zNInL3uVPVZebzxfBYYoI30,48066
334
+ moriarty/cli/domain_cmd.py,sha256=Kd9dYsJUGsSgr8wTZeB5XKcmMiBd8sc9nmvZUQPvVR0,24462
335
335
  moriarty/cli/email.py,sha256=AcXMwtppFHxbjNHagrKXCdEGx-zWpvFFCB4QlCo_STU,14763
336
336
  moriarty/cli/email_investigate.py,sha256=w2OlrwpRAzPNW0YLxmt-eTB3lGJ3a-oQCM4elRFJ7lw,8319
337
337
  moriarty/cli/intelligence.py,sha256=81BnrS8ES7fH2lI34AMB5Yxuw-lbWvu44T2R444b-kE,11852
@@ -340,7 +340,6 @@ moriarty/cli/rdap.py,sha256=OVtYSsx37te0TxvY7K8iBMerPBSByXocm8kLeoUEhOw,3079
340
340
  moriarty/cli/state.py,sha256=5_HXXff9KWiYw8R763NgUAFuCAKHTZZe2zYD9JEvJxw,855
341
341
  moriarty/cli/tls.py,sha256=j4ieW_Vt0QG7AuDHfjUEAOYkvk4GJguB9hY6dYJW3K0,3269
342
342
  moriarty/cli/user.py,sha256=EWtRp4pzY7kOiWE16Yokc71pB4GP-ItguF1E2Lkri3Q,8169
343
- moriarty/cli/wifippler.py,sha256=sFjtwiN0-wSbBZ2MXE2Kb8kMBmz-BG1bsBcgo4G36SY,4431
344
343
  moriarty/core/cache_backend.py,sha256=tu_szkoRfZOmHh9g4ZTGc3gN-gZ-zTJGVKxlHhtvIHY,7032
345
344
  moriarty/core/config_manager.py,sha256=iXrH4UgMU05U7vsqfyFmwzybQIYH5s9hyjJlS9T9CKM,11751
346
345
  moriarty/correlator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -376,7 +375,7 @@ moriarty/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
376
375
  moriarty/modules/avatar_hash.py,sha256=5Yub_N6OjUNMbt8bHShmln7i0ySDyNXrOtihWMKRivA,5919
377
376
  moriarty/modules/directory_fuzzer.py,sha256=R78fxkV6prKtj7Qq0-THPpXvWGV_OeTwa9dE-j-GY-M,12581
378
377
  moriarty/modules/dns_scan.py,sha256=lR1sGwhk1FXDmn6pCTrtd6Cr33uPllBpm_jqAi3-HxA,1096
379
- moriarty/modules/domain_scanner.py,sha256=mOEVX2c_y5Ps6Ddv5AaVqh6d5X_AcBOqn23epec6pzs,29577
378
+ moriarty/modules/domain_scanner.py,sha256=0jhzXyQZ3TZUSwv3TN8hZtpclg_LIxc5zvdIkZVGR0Y,29940
380
379
  moriarty/modules/email_check.py,sha256=VBAWvK3cH2Zu7wjDB2xhnqZ0scifp3s1K67CmAoUVuY,3343
381
380
  moriarty/modules/email_investigate.py,sha256=E25dyf2rM9cU-TjujKct9I1jY4tr1ZOvCzM1WavQlRs,9547
382
381
  moriarty/modules/email_security.py,sha256=L65ctbUGmNgUMCg4i8oECIT0UBpSz2tF1WKjRDGbM1Q,9284
@@ -386,8 +385,7 @@ moriarty/modules/orchestrator.py,sha256=uhK4UP69uWUxCK4a_bGk_BI8I-coBM8mO8Ear3pc
386
385
  moriarty/modules/passive_recon.py,sha256=5XUJgyWvITMUf4W76QyNfbRgF1AitQ5xK9MbwzVURxM,16568
387
386
  moriarty/modules/phone_extractor.py,sha256=Bv4VVWPqf67CQfkMDJddggtEU5UUbra2FP5DLik2Gxw,5298
388
387
  moriarty/modules/pipeline_orchestrator.py,sha256=qP2WcvorM_pAjacJ8VuZ-1TQ7lDVLvnyFD9T4PvWq9I,26337
389
- moriarty/modules/port_scanner.py,sha256=WCE7t8m-yfMslGpIQR3bXRi-OyO53Xg0yI0Mo4ZSyqA,43034
390
- moriarty/modules/port_scanner_nmap.py,sha256=nvYfKrAluQ_knEkw4JhsesBpNasquTkPyzoh5D7oVX4,11164
388
+ moriarty/modules/port_scanner_nmap.py,sha256=Lqo0pEbsxSx3Fvnr8MUzLKly-ZX37ULiWVxFADdqGbk,25141
391
389
  moriarty/modules/rdap.py,sha256=XlrTDalbSxszEwIQFHt-XWON_P9UsLLiR84DGSKAwrk,1859
392
390
  moriarty/modules/rdap_extended.py,sha256=Gef7zyOY5nuS2qn8a9iaXA7Tx3TJHZJBWpqa-BZaq4U,6447
393
391
  moriarty/modules/stealth_mode.py,sha256=9LJWXSgBjDsTZYslHz4zSnzDoC3JFdBcu3oOYN1IPhA,24459
@@ -414,7 +412,7 @@ moriarty/tests/test_email_service.py,sha256=mWqimjQRlljZNBuNePvSzhfq5FZ4mljrILGW
414
412
  moriarty/tests/test_models.py,sha256=etklIISEUts3banaSRDSjhv-g6kd4wxucchCmlJkx6Y,1282
415
413
  moriarty/tests/test_orchestrator.py,sha256=Do3M1qnbqPf_1pR3v89FXxhiwfYPZfXRvcfl05isQvs,856
416
414
  moriarty/tests/test_tls_client.py,sha256=bQ46yXlIYNZwPTd8WGs6eUynHj56hVosxBycSU1gJe4,461
417
- moriarty_project-0.1.26.dist-info/METADATA,sha256=63mYb5hl7-oiyub5AyXrzj4hkTH6blTDwgwy_z-ezJk,11772
418
- moriarty_project-0.1.26.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
419
- moriarty_project-0.1.26.dist-info/entry_points.txt,sha256=L4TAUKy7HAy5hT46ZqS6eNOCmUTMi4x7ehZkIkTNnuE,51
420
- moriarty_project-0.1.26.dist-info/RECORD,,
415
+ moriarty_project-0.1.27.dist-info/METADATA,sha256=9Pdfnk-6qHqIESpLepzurOlxmNJgo2X0-XCz7KoJ6cc,11778
416
+ moriarty_project-0.1.27.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
417
+ moriarty_project-0.1.27.dist-info/entry_points.txt,sha256=L4TAUKy7HAy5hT46ZqS6eNOCmUTMi4x7ehZkIkTNnuE,51
418
+ moriarty_project-0.1.27.dist-info/RECORD,,
moriarty/cli/wifippler.py DELETED
@@ -1,124 +0,0 @@
1
- """
2
- Módulo CLI para análise de redes WiFi usando WifiPPLER.
3
- """
4
- import asyncio
5
- import typer
6
- from typing import Optional
7
- from rich.console import Console
8
- from rich.progress import Progress, SpinnerColumn, TextColumn
9
-
10
- from moriarty.modules.wifippler import WiFiScanner, check_dependencies, is_root, get_network_interfaces
11
-
12
- app = typer.Typer(help="Análise de redes WiFi com WifiPPLER")
13
- console = Console()
14
-
15
- @app.command("scan")
16
- def scan_networks(
17
- interface: str = typer.Option(
18
- None,
19
- "--interface", "-i",
20
- help="Interface de rede para escaneamento"
21
- ),
22
- scan_time: int = typer.Option(
23
- 5,
24
- "--scan-time", "-t",
25
- help="Tempo de escaneamento em segundos"
26
- ),
27
- output: str = typer.Option(
28
- None,
29
- "--output", "-o",
30
- help="Arquivo para salvar os resultados (JSON)"
31
- )
32
- ):
33
- """Escaneia redes WiFi próximas."""
34
- # Verifica se o usuário tem privilégios de root
35
- if not is_root():
36
- console.print("[red]Erro:[/] Este comando requer privilégios de root/sudo")
37
- raise typer.Exit(1)
38
-
39
- # Verifica dependências
40
- missing = check_dependencies()
41
- if missing:
42
- console.print("[red]Erro:[/] As seguintes dependências estão faltando:")
43
- for dep in missing:
44
- console.print(f"- {dep}")
45
- raise typer.Exit(1)
46
-
47
- # Se nenhuma interface for fornecida, lista as disponíveis
48
- if not interface:
49
- interfaces = get_network_interfaces()
50
- if not interfaces:
51
- console.print("[red]Erro:[/] Nenhuma interface de rede encontrada")
52
- raise typer.Exit(1)
53
-
54
- console.print("[yellow]Interfaces disponíveis:[/]")
55
- for i, iface in enumerate(interfaces, 1):
56
- console.print(f"{i}. {iface}")
57
-
58
- try:
59
- choice = int(typer.prompt("\nSelecione o número da interface")) - 1
60
- interface = interfaces[choice]
61
- except (ValueError, IndexError):
62
- console.print("[red]Erro:[/] Seleção inválida")
63
- raise typer.Exit(1)
64
-
65
- # Executa o escaneamento
66
- async def run_scan():
67
- scanner = WiFiScanner(interface=interface, scan_time=scan_time)
68
-
69
- with Progress(
70
- SpinnerColumn(),
71
- TextColumn("[progress.description]{task.description}"),
72
- console=console,
73
- transient=True,
74
- ) as progress:
75
- task = progress.add_task("[cyan]Escaneando redes WiFi...", total=None)
76
- networks = await scanner.scan_networks()
77
- progress.update(task, completed=1, visible=False)
78
-
79
- # Exibe os resultados
80
- if networks:
81
- scanner.display_networks(networks)
82
-
83
- # Salva em arquivo se solicitado
84
- if output:
85
- import json
86
- with open(output, 'w') as f:
87
- json.dump([n.to_dict() for n in networks], f, indent=2)
88
- console.print(f"\n[green]Resultados salvos em:[/] {output}")
89
- else:
90
- console.print("[yellow]Nenhuma rede encontrada.[/]")
91
-
92
- try:
93
- asyncio.run(run_scan())
94
- except Exception as e:
95
- console.print(f"[red]Erro durante o escaneamento:[/] {str(e)}")
96
- raise typer.Exit(1)
97
-
98
- # Adiciona o comando de ataque WPS
99
- @app.command("wps")
100
- def wps_attack(
101
- interface: str = typer.Option(..., "--interface", "-i", help="Interface de rede para o ataque"),
102
- bssid: str = typer.Option(..., "--bssid", "-b", help="BSSID do alvo"),
103
- channel: int = typer.Option(..., "--channel", "-c", help="Canal da rede alvo")
104
- ):
105
- """Executa um ataque WPS contra uma rede WiFi."""
106
- console.print(f"[yellow]Iniciando ataque WPS contra {bssid} no canal {channel}...[/]")
107
- # Implementação do ataque WPS será adicionada aqui
108
- console.print("[green]Ataque WPS concluído com sucesso![/]")
109
-
110
- # Adiciona o comando para verificar dependências
111
- @app.command("check-deps")
112
- def check_deps():
113
- """Verifica se todas as dependências estão instaladas."""
114
- missing = check_dependencies()
115
- if missing:
116
- console.print("[red]As seguintes dependências estão faltando:[/]")
117
- for dep in missing:
118
- console.print(f"- {dep}")
119
- raise typer.Exit(1)
120
- else:
121
- console.print("[green]Todas as dependências estão instaladas![/]")
122
-
123
- if __name__ == "__main__":
124
- app()