diff --git a/lazagne/__init__.py b/donpapi/__init__.py
similarity index 100%
rename from lazagne/__init__.py
rename to donpapi/__init__.py
diff --git a/config/donpapi_config.json b/donpapi/config/donpapi_config.json
similarity index 90%
rename from config/donpapi_config.json
rename to donpapi/config/donpapi_config.json
index ed87b0d..863dc38 100644
--- a/config/donpapi_config.json
+++ b/donpapi/config/donpapi_config.json
@@ -2,7 +2,7 @@
"workspace":"default",
"db_path":"donpapi.db",
"db_name":"donpapi.db",
- "css":"res\\css\\style.css",
+ "css":"res\\style.css",
"mychartjs":"res\\css\\Chart.js",
"logo_login": "res\\Logo_LOGIN.PNG",
"logo_link": "res\\link.png",
diff --git a/database.py b/donpapi/database.py
similarity index 99%
rename from database.py
rename to donpapi/database.py
index 34ec5b0..30bb354 100644
--- a/database.py
+++ b/donpapi/database.py
@@ -1,7 +1,7 @@
import logging
import binascii,os,json,datetime,shutil,base64
from datetime import date,datetime,timedelta
-from lib.toolbox import bcolors
+from donpapi.lib.toolbox import bcolors
class reporting:
@@ -82,7 +82,7 @@ class reporting:
DonPapi - Result for %s
- \n""" % ('res/style.css', "[client_name]")
+ \n""" % (mycss, "[client_name]")
self.add_to_resultpage(data)
@@ -345,11 +345,12 @@ class reporting:
T arget
T ype
P illaged_from_computerid
- P illaged_from_userid \n"""
+ P illaged_from_userid
+ B ypass MFA \n"""
#
current_type = 'cookies'
- data += f""" """
+ data += f""" """
previous_target = ''
previous_userid = ''
previous_computerid = ''
@@ -416,7 +417,7 @@ class reporting:
### On supprime les cookies expirés
for info in [name,value]:
- data += f""" {str(info)[:48]} """
+ data += f""" {str(info)[:48]} """
for info in [expires_utc]: #Formule a change si on intègre des cookies venant d'autre chose que chrome
try:
if type == "browser-chrome" :
@@ -446,6 +447,8 @@ class reporting:
for info in [type, computer_info, pillaged_from_userid]:
data += f""" {str(info)[:48]} """
+
+ data += f"""Copy """
data += """\n"""
diff --git a/DonPAPI.py b/donpapi/entry.py
similarity index 97%
rename from DonPAPI.py
rename to donpapi/entry.py
index ca3258e..ecab201 100644
--- a/DonPAPI.py
+++ b/donpapi/entry.py
@@ -23,11 +23,10 @@ from __future__ import print_function
import sys
import logging
import argparse,os,re,json,sqlite3
-from impacket import version
-from myseatbelt import MySeatBelt
+from donpapi.myseatbelt import MySeatBelt
import concurrent.futures
-from lib.toolbox import split_targets,bcolors
-from database import database, reporting
+from donpapi.lib.toolbox import split_targets,bcolors
+from donpapi.database import database, reporting
from datetime import date
@@ -38,8 +37,8 @@ assets={}
def main():
global assets
# Init the example's logger theme
- #logger.init()
- print(version.BANNER)
+ # logger.init()
+ # print(version.BANNER)
parser = argparse.ArgumentParser(add_help = True, description = "SeatBelt implementation.")
parser.add_argument('target', nargs='?', action='store', help='[[domain/]username[:password]@]',default='')
@@ -176,7 +175,7 @@ def main():
if len(targets) > 0 :
try:
with concurrent.futures.ThreadPoolExecutor(max_workers=int(options.t)) as executor:
- executor.map(seatbelt_thread, [(target, options, logging) for target in targets])
+ executor.map(seatbelt_thread, [(target, options, logging.getLogger()) for target in targets])
except Exception as e:
if logging.getLogger().level == logging.DEBUG:
import traceback
@@ -264,7 +263,7 @@ def seatbelt_thread(datas):
def export_results_seatbelt(output_dir=''):
global assets
users={}
- logging.info(f"[+]Gathered infos from {len(assets)} targets")
+ logging.info(f"[+] Gathered infos from {len(assets)} targets")
f = open(os.path.join(output_dir, f'SeatBelt_secrets_all.log'), 'wb')
for machine_ip in assets:
for user in assets[machine_ip]:
diff --git a/lazagne/config/__init__.py b/donpapi/lazagne/__init__.py
similarity index 100%
rename from lazagne/config/__init__.py
rename to donpapi/lazagne/__init__.py
diff --git a/lazagne/config/DPAPI/__init__.py b/donpapi/lazagne/config/DPAPI/__init__.py
similarity index 100%
rename from lazagne/config/DPAPI/__init__.py
rename to donpapi/lazagne/config/DPAPI/__init__.py
diff --git a/lazagne/config/DPAPI/blob.py b/donpapi/lazagne/config/DPAPI/blob.py
similarity index 95%
rename from lazagne/config/DPAPI/blob.py
rename to donpapi/lazagne/config/DPAPI/blob.py
index 23bf66d..9ca2a35 100644
--- a/lazagne/config/DPAPI/blob.py
+++ b/donpapi/lazagne/config/DPAPI/blob.py
@@ -12,10 +12,10 @@ import traceback
from .eater import DataStruct
from . import crypto
-from lazagne.config.write_output import print_debug
-from lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC
-from lazagne.config.crypto.pyDes import CBC
-from lazagne.config.winstructure import char_to_int
+from donpapi.lazagne.config.write_output import print_debug
+from donpapi.lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC
+from donpapi.lazagne.config.crypto.pyDes import CBC
+from donpapi.lazagne.config.winstructure import char_to_int
AES_BLOCK_SIZE = 16
diff --git a/lazagne/config/DPAPI/credfile.py b/donpapi/lazagne/config/DPAPI/credfile.py
similarity index 100%
rename from lazagne/config/DPAPI/credfile.py
rename to donpapi/lazagne/config/DPAPI/credfile.py
diff --git a/lazagne/config/DPAPI/credhist.py b/donpapi/lazagne/config/DPAPI/credhist.py
similarity index 100%
rename from lazagne/config/DPAPI/credhist.py
rename to donpapi/lazagne/config/DPAPI/credhist.py
diff --git a/lazagne/config/DPAPI/crypto.py b/donpapi/lazagne/config/DPAPI/crypto.py
similarity index 98%
rename from lazagne/config/DPAPI/crypto.py
rename to donpapi/lazagne/config/DPAPI/crypto.py
index 0864fec..ae4f793 100644
--- a/lazagne/config/DPAPI/crypto.py
+++ b/donpapi/lazagne/config/DPAPI/crypto.py
@@ -23,10 +23,10 @@ import hmac
import struct
import sys
-from lazagne.config.crypto.rc4 import RC4
-from lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC, AESModeOfOperationECB
-from lazagne.config.crypto.pyDes import triple_des, des, ECB, CBC
-from lazagne.config.winstructure import char_to_int, chr_or_byte
+from donpapi.lazagne.config.crypto.rc4 import RC4
+from donpapi.lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC, AESModeOfOperationECB
+from donpapi.lazagne.config.crypto.pyDes import triple_des, des, ECB, CBC
+from donpapi.lazagne.config.winstructure import char_to_int, chr_or_byte
try:
diff --git a/lazagne/config/DPAPI/eater.py b/donpapi/lazagne/config/DPAPI/eater.py
similarity index 100%
rename from lazagne/config/DPAPI/eater.py
rename to donpapi/lazagne/config/DPAPI/eater.py
diff --git a/lazagne/config/DPAPI/masterkey.py b/donpapi/lazagne/config/DPAPI/masterkey.py
similarity index 99%
rename from lazagne/config/DPAPI/masterkey.py
rename to donpapi/lazagne/config/DPAPI/masterkey.py
index 63d4545..8b62d59 100644
--- a/lazagne/config/DPAPI/masterkey.py
+++ b/donpapi/lazagne/config/DPAPI/masterkey.py
@@ -18,7 +18,7 @@ import hashlib
import struct
import os
-from lazagne.config.constant import constant
+from donpapi.lazagne.config.constant import constant
class MasterKey(DataStruct):
diff --git a/lazagne/config/DPAPI/system.py b/donpapi/lazagne/config/DPAPI/system.py
similarity index 100%
rename from lazagne/config/DPAPI/system.py
rename to donpapi/lazagne/config/DPAPI/system.py
diff --git a/lazagne/config/DPAPI/vault.py b/donpapi/lazagne/config/DPAPI/vault.py
similarity index 99%
rename from lazagne/config/DPAPI/vault.py
rename to donpapi/lazagne/config/DPAPI/vault.py
index d4ea508..6b0e90d 100644
--- a/lazagne/config/DPAPI/vault.py
+++ b/donpapi/lazagne/config/DPAPI/vault.py
@@ -12,8 +12,8 @@ import struct
from .blob import DPAPIBlob
from .eater import DataStruct, Eater
-from lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC
-from lazagne.config.winstructure import char_to_int
+from donpapi.lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC
+from donpapi.lazagne.config.winstructure import char_to_int
import os
diff --git a/lazagne/config/crypto/__init__.py b/donpapi/lazagne/config/__init__.py
similarity index 100%
rename from lazagne/config/crypto/__init__.py
rename to donpapi/lazagne/config/__init__.py
diff --git a/lazagne/config/change_privileges.py b/donpapi/lazagne/config/change_privileges.py
similarity index 98%
rename from lazagne/config/change_privileges.py
rename to donpapi/lazagne/config/change_privileges.py
index 84ca6a7..c28f5ab 100644
--- a/lazagne/config/change_privileges.py
+++ b/donpapi/lazagne/config/change_privileges.py
@@ -4,8 +4,8 @@
import sys
import traceback
-from lazagne.config.write_output import print_debug
-from lazagne.config.winstructure import *
+from donpapi.lazagne.config.write_output import print_debug
+from donpapi.lazagne.config.winstructure import *
import os
diff --git a/lazagne/config/constant.py b/donpapi/lazagne/config/constant.py
similarity index 100%
rename from lazagne/config/constant.py
rename to donpapi/lazagne/config/constant.py
diff --git a/lazagne/config/lib/__init__.py b/donpapi/lazagne/config/crypto/__init__.py
similarity index 100%
rename from lazagne/config/lib/__init__.py
rename to donpapi/lazagne/config/crypto/__init__.py
diff --git a/lazagne/config/crypto/pyDes.py b/donpapi/lazagne/config/crypto/pyDes.py
similarity index 100%
rename from lazagne/config/crypto/pyDes.py
rename to donpapi/lazagne/config/crypto/pyDes.py
diff --git a/lazagne/config/crypto/pyaes/__init__.py b/donpapi/lazagne/config/crypto/pyaes/__init__.py
similarity index 100%
rename from lazagne/config/crypto/pyaes/__init__.py
rename to donpapi/lazagne/config/crypto/pyaes/__init__.py
diff --git a/lazagne/config/crypto/pyaes/aes.py b/donpapi/lazagne/config/crypto/pyaes/aes.py
similarity index 100%
rename from lazagne/config/crypto/pyaes/aes.py
rename to donpapi/lazagne/config/crypto/pyaes/aes.py
diff --git a/lazagne/config/crypto/pyaes/blockfeeder.py b/donpapi/lazagne/config/crypto/pyaes/blockfeeder.py
similarity index 100%
rename from lazagne/config/crypto/pyaes/blockfeeder.py
rename to donpapi/lazagne/config/crypto/pyaes/blockfeeder.py
diff --git a/lazagne/config/crypto/pyaes/util.py b/donpapi/lazagne/config/crypto/pyaes/util.py
similarity index 100%
rename from lazagne/config/crypto/pyaes/util.py
rename to donpapi/lazagne/config/crypto/pyaes/util.py
diff --git a/lazagne/config/crypto/rc4.py b/donpapi/lazagne/config/crypto/rc4.py
similarity index 95%
rename from lazagne/config/crypto/rc4.py
rename to donpapi/lazagne/config/crypto/rc4.py
index 9014dee..117f4e4 100644
--- a/lazagne/config/crypto/rc4.py
+++ b/donpapi/lazagne/config/crypto/rc4.py
@@ -1,7 +1,7 @@
# Thanks to g2jun for his RC4-Python project
# Code from https://github.com/g2jun/RC4-Python
-from lazagne.config.winstructure import char_to_int, chr_or_byte
+from donpapi.lazagne.config.winstructure import char_to_int, chr_or_byte
class RC4(object):
diff --git a/lazagne/config/dico.py b/donpapi/lazagne/config/dico.py
similarity index 100%
rename from lazagne/config/dico.py
rename to donpapi/lazagne/config/dico.py
diff --git a/lazagne/config/dpapi_structure.py b/donpapi/lazagne/config/dpapi_structure.py
similarity index 93%
rename from lazagne/config/dpapi_structure.py
rename to donpapi/lazagne/config/dpapi_structure.py
index 22602a5..affc8c0 100644
--- a/lazagne/config/dpapi_structure.py
+++ b/donpapi/lazagne/config/dpapi_structure.py
@@ -3,13 +3,13 @@
import codecs
import os
-from lazagne.config.DPAPI.masterkey import MasterKeyPool
-from lazagne.config.DPAPI.credfile import CredFile
-from lazagne.config.DPAPI.vault import Vault
-from lazagne.config.DPAPI.blob import DPAPIBlob
-from lazagne.config.write_output import print_debug
-from lazagne.config.constant import constant
-from lazagne.softwares.windows.lsa_secrets import LSASecrets
+from donpapi.lazagne.config.DPAPI.masterkey import MasterKeyPool
+from donpapi.lazagne.config.DPAPI.credfile import CredFile
+from donpapi.lazagne.config.DPAPI.vault import Vault
+from donpapi.lazagne.config.DPAPI.blob import DPAPIBlob
+from donpapi.lazagne.config.write_output import print_debug
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.softwares.windows.lsa_secrets import LSASecrets
def are_masterkeys_retrieved():
diff --git a/lazagne/config/execute_cmd.py b/donpapi/lazagne/config/execute_cmd.py
similarity index 96%
rename from lazagne/config/execute_cmd.py
rename to donpapi/lazagne/config/execute_cmd.py
index 18a461a..5da0452 100644
--- a/lazagne/config/execute_cmd.py
+++ b/donpapi/lazagne/config/execute_cmd.py
@@ -5,8 +5,8 @@ import os
import subprocess
import re
-from lazagne.config.write_output import print_debug
-from lazagne.config.constant import constant
+from donpapi.lazagne.config.write_output import print_debug
+from donpapi.lazagne.config.constant import constant
try:
import _subprocess as sub
diff --git a/lazagne/softwares/__init__.py b/donpapi/lazagne/config/lib/__init__.py
similarity index 100%
rename from lazagne/softwares/__init__.py
rename to donpapi/lazagne/config/lib/__init__.py
diff --git a/lazagne/config/lib/memorpy/Address.py b/donpapi/lazagne/config/lib/memorpy/Address.py
similarity index 100%
rename from lazagne/config/lib/memorpy/Address.py
rename to donpapi/lazagne/config/lib/memorpy/Address.py
diff --git a/lazagne/config/lib/memorpy/BaseProcess.py b/donpapi/lazagne/config/lib/memorpy/BaseProcess.py
similarity index 100%
rename from lazagne/config/lib/memorpy/BaseProcess.py
rename to donpapi/lazagne/config/lib/memorpy/BaseProcess.py
diff --git a/lazagne/config/lib/memorpy/LinProcess.py b/donpapi/lazagne/config/lib/memorpy/LinProcess.py
similarity index 100%
rename from lazagne/config/lib/memorpy/LinProcess.py
rename to donpapi/lazagne/config/lib/memorpy/LinProcess.py
diff --git a/lazagne/config/lib/memorpy/LinStructures.py b/donpapi/lazagne/config/lib/memorpy/LinStructures.py
similarity index 100%
rename from lazagne/config/lib/memorpy/LinStructures.py
rename to donpapi/lazagne/config/lib/memorpy/LinStructures.py
diff --git a/lazagne/config/lib/memorpy/Locator.py b/donpapi/lazagne/config/lib/memorpy/Locator.py
similarity index 100%
rename from lazagne/config/lib/memorpy/Locator.py
rename to donpapi/lazagne/config/lib/memorpy/Locator.py
diff --git a/lazagne/config/lib/memorpy/MemWorker.py b/donpapi/lazagne/config/lib/memorpy/MemWorker.py
similarity index 100%
rename from lazagne/config/lib/memorpy/MemWorker.py
rename to donpapi/lazagne/config/lib/memorpy/MemWorker.py
diff --git a/lazagne/config/lib/memorpy/OSXProcess.py b/donpapi/lazagne/config/lib/memorpy/OSXProcess.py
similarity index 100%
rename from lazagne/config/lib/memorpy/OSXProcess.py
rename to donpapi/lazagne/config/lib/memorpy/OSXProcess.py
diff --git a/lazagne/config/lib/memorpy/Process.py b/donpapi/lazagne/config/lib/memorpy/Process.py
similarity index 100%
rename from lazagne/config/lib/memorpy/Process.py
rename to donpapi/lazagne/config/lib/memorpy/Process.py
diff --git a/lazagne/config/lib/memorpy/SunProcess.py b/donpapi/lazagne/config/lib/memorpy/SunProcess.py
similarity index 100%
rename from lazagne/config/lib/memorpy/SunProcess.py
rename to donpapi/lazagne/config/lib/memorpy/SunProcess.py
diff --git a/lazagne/config/lib/memorpy/WinProcess.py b/donpapi/lazagne/config/lib/memorpy/WinProcess.py
similarity index 100%
rename from lazagne/config/lib/memorpy/WinProcess.py
rename to donpapi/lazagne/config/lib/memorpy/WinProcess.py
diff --git a/lazagne/config/lib/memorpy/WinStructures.py b/donpapi/lazagne/config/lib/memorpy/WinStructures.py
similarity index 100%
rename from lazagne/config/lib/memorpy/WinStructures.py
rename to donpapi/lazagne/config/lib/memorpy/WinStructures.py
diff --git a/lazagne/config/lib/memorpy/__init__.py b/donpapi/lazagne/config/lib/memorpy/__init__.py
similarity index 100%
rename from lazagne/config/lib/memorpy/__init__.py
rename to donpapi/lazagne/config/lib/memorpy/__init__.py
diff --git a/lazagne/config/lib/memorpy/structures.py b/donpapi/lazagne/config/lib/memorpy/structures.py
similarity index 100%
rename from lazagne/config/lib/memorpy/structures.py
rename to donpapi/lazagne/config/lib/memorpy/structures.py
diff --git a/lazagne/config/lib/memorpy/utils.py b/donpapi/lazagne/config/lib/memorpy/utils.py
similarity index 100%
rename from lazagne/config/lib/memorpy/utils.py
rename to donpapi/lazagne/config/lib/memorpy/utils.py
diff --git a/lazagne/config/lib/memorpy/version.py b/donpapi/lazagne/config/lib/memorpy/version.py
similarity index 100%
rename from lazagne/config/lib/memorpy/version.py
rename to donpapi/lazagne/config/lib/memorpy/version.py
diff --git a/lazagne/config/lib/memorpy/wintools.py b/donpapi/lazagne/config/lib/memorpy/wintools.py
similarity index 100%
rename from lazagne/config/lib/memorpy/wintools.py
rename to donpapi/lazagne/config/lib/memorpy/wintools.py
diff --git a/donpapi/lazagne/config/manage_modules.py b/donpapi/lazagne/config/manage_modules.py
new file mode 100644
index 0000000..7c884cf
--- /dev/null
+++ b/donpapi/lazagne/config/manage_modules.py
@@ -0,0 +1,172 @@
+# Browsers
+from donpapi.lazagne.softwares.browsers.chromium_based import chromium_browsers
+from donpapi.lazagne.softwares.browsers.ie import IE
+from donpapi.lazagne.softwares.browsers.mozilla import firefox_browsers
+from donpapi.lazagne.softwares.browsers.ucbrowser import UCBrowser
+# Chats
+from donpapi.lazagne.softwares.chats.pidgin import Pidgin
+from donpapi.lazagne.softwares.chats.psi import PSI
+from donpapi.lazagne.softwares.chats.skype import Skype
+# Databases
+from donpapi.lazagne.softwares.databases.dbvis import Dbvisualizer
+from donpapi.lazagne.softwares.databases.postgresql import PostgreSQL
+from donpapi.lazagne.softwares.databases.robomongo import Robomongo
+from donpapi.lazagne.softwares.databases.sqldeveloper import SQLDeveloper
+from donpapi.lazagne.softwares.databases.squirrel import Squirrel
+# Games
+from donpapi.lazagne.softwares.games.galconfusion import GalconFusion
+from donpapi.lazagne.softwares.games.kalypsomedia import KalypsoMedia
+from donpapi.lazagne.softwares.games.roguestale import RoguesTale
+from donpapi.lazagne.softwares.games.turba import Turba
+# Git
+from donpapi.lazagne.softwares.git.gitforwindows import GitForWindows
+# Mails
+from donpapi.lazagne.softwares.mails.outlook import Outlook
+from donpapi.lazagne.softwares.mails.thunderbird import Thunderbird
+# Maven
+from donpapi.lazagne.softwares.maven.mavenrepositories import MavenRepositories
+# Memory
+from donpapi.lazagne.softwares.memory.keepass import Keepass
+from donpapi.lazagne.softwares.memory.memorydump import MemoryDump
+# Multimedia
+from donpapi.lazagne.softwares.multimedia.eyecon import EyeCON
+# Php
+from donpapi.lazagne.softwares.php.composer import Composer
+# Svn
+from donpapi.lazagne.softwares.svn.tortoise import Tortoise
+# Sysadmin
+from donpapi.lazagne.softwares.sysadmin.apachedirectorystudio import ApacheDirectoryStudio
+from donpapi.lazagne.softwares.sysadmin.coreftp import CoreFTP
+from donpapi.lazagne.softwares.sysadmin.cyberduck import Cyberduck
+from donpapi.lazagne.softwares.sysadmin.filezilla import Filezilla
+from donpapi.lazagne.softwares.sysadmin.filezillaserver import FilezillaServer
+from donpapi.lazagne.softwares.sysadmin.ftpnavigator import FtpNavigator
+from donpapi.lazagne.softwares.sysadmin.opensshforwindows import OpenSSHForWindows
+from donpapi.lazagne.softwares.sysadmin.openvpn import OpenVPN
+from donpapi.lazagne.softwares.sysadmin.iiscentralcertp import IISCentralCertP
+from donpapi.lazagne.softwares.sysadmin.keepassconfig import KeePassConfig
+from donpapi.lazagne.softwares.sysadmin.iisapppool import IISAppPool
+from donpapi.lazagne.softwares.sysadmin.puttycm import Puttycm
+from donpapi.lazagne.softwares.sysadmin.rdpmanager import RDPManager
+from donpapi.lazagne.softwares.sysadmin.unattended import Unattended
+from donpapi.lazagne.softwares.sysadmin.vnc import Vnc
+from donpapi.lazagne.softwares.sysadmin.winscp import WinSCP
+from donpapi.lazagne.softwares.sysadmin.wsl import Wsl
+# Wifi
+from donpapi.lazagne.softwares.wifi.wifi import Wifi
+# Windows
+from donpapi.lazagne.softwares.windows.autologon import Autologon
+from donpapi.lazagne.softwares.windows.cachedump import Cachedump
+from donpapi.lazagne.softwares.windows.credman import Credman
+from donpapi.lazagne.softwares.windows.credfiles import CredFiles
+from donpapi.lazagne.softwares.windows.hashdump import Hashdump
+from donpapi.lazagne.softwares.windows.ppypykatz import Pypykatz
+from donpapi.lazagne.softwares.windows.lsa_secrets import LSASecrets
+from donpapi.lazagne.softwares.windows.vault import Vault
+from donpapi.lazagne.softwares.windows.vaultfiles import VaultFiles
+from donpapi.lazagne.softwares.windows.windows import WindowsPassword
+
+
+def get_categories():
+ category = {
+ 'browsers': {'help': 'Web browsers supported'},
+ 'chats': {'help': 'Chat clients supported'},
+ 'databases': {'help': 'SQL/NoSQL clients supported'},
+ 'games': {'help': 'Games etc.'},
+ 'git': {'help': 'GIT clients supported'},
+ 'mails': {'help': 'Email clients supported'},
+ 'maven': {'help': 'Maven java build tool'},
+ 'memory': {'help': 'Retrieve passwords from memory'},
+ 'multimedia': {'help': 'Multimedia applications, etc'},
+ 'php': {'help': 'PHP build tool'},
+ 'svn': {'help': 'SVN clients supported'},
+ 'sysadmin': {'help': 'SCP/SSH/FTP/FTPS clients supported'},
+ 'windows': {'help': 'Windows credentials (credential manager, etc.)'},
+ 'wifi': {'help': 'Wifi'},
+ }
+ return category
+
+
+def get_modules():
+ module_names = [
+
+ # Browser
+ IE(),
+ UCBrowser(),
+
+ # Chats
+ Pidgin(),
+ Skype(),
+ PSI(),
+
+ # Databases
+ Dbvisualizer(),
+ Squirrel(),
+ SQLDeveloper(),
+ Robomongo(),
+ PostgreSQL(),
+
+ # games
+ KalypsoMedia(),
+ GalconFusion(),
+ RoguesTale(),
+ Turba(),
+
+ # Git
+ GitForWindows(),
+
+ # Mails
+ Outlook(),
+ Thunderbird(),
+
+ # Maven
+ MavenRepositories(),
+
+ # Memory
+ MemoryDump(), # retrieve browsers and keepass passwords
+ Keepass(), # should be launched after memory dump
+
+ # Multimedia
+ EyeCON(),
+
+ # Php
+ Composer(),
+
+ # SVN
+ Tortoise(),
+
+ # Sysadmin
+ ApacheDirectoryStudio(),
+ CoreFTP(),
+ Cyberduck(),
+ Filezilla(),
+ FilezillaServer(),
+ FtpNavigator(),
+ KeePassConfig(),
+ Puttycm(),
+ OpenSSHForWindows(),
+ OpenVPN(),
+ IISCentralCertP(),
+ IISAppPool(),
+ RDPManager(),
+ Unattended(),
+ WinSCP(),
+ Vnc(),
+ Wsl(),
+
+ # Wifi
+ Wifi(),
+
+ # Windows
+ Autologon(),
+ Pypykatz(),
+ Cachedump(),
+ Credman(),
+ Hashdump(),
+ LSASecrets(),
+ CredFiles(),
+ Vault(),
+ VaultFiles(),
+ WindowsPassword(),
+ ]
+ return module_names + chromium_browsers + firefox_browsers
diff --git a/lazagne/config/module_info.py b/donpapi/lazagne/config/module_info.py
similarity index 95%
rename from lazagne/config/module_info.py
rename to donpapi/lazagne/config/module_info.py
index 2052a26..74f6d4b 100644
--- a/lazagne/config/module_info.py
+++ b/donpapi/lazagne/config/module_info.py
@@ -14,7 +14,7 @@ ex: ('-s', action='store_true', dest='skype', help='skype')
- options['help'] = 'skype'
"""
-from lazagne.config.write_output import print_debug
+from donpapi.lazagne.config.write_output import print_debug
class ModuleInfo(object):
diff --git a/lazagne/config/run.py b/donpapi/lazagne/config/run.py
similarity index 94%
rename from lazagne/config/run.py
rename to donpapi/lazagne/config/run.py
index ec1e660..b0017d9 100644
--- a/lazagne/config/run.py
+++ b/donpapi/lazagne/config/run.py
@@ -5,13 +5,13 @@ import logging
import sys
import traceback
-from lazagne.config.change_privileges import list_sids, rev2self, impersonate_sid_long_handle
-from lazagne.config.users import get_user_list_on_filesystem, set_env_variables, get_username_winapi
-from lazagne.config.dpapi_structure import SystemDpapi, are_masterkeys_retrieved
-from lazagne.config.execute_cmd import save_hives, delete_hives
-from lazagne.config.write_output import print_debug, StandardOutput
-from lazagne.config.constant import constant
-from lazagne.config.manage_modules import get_categories, get_modules
+from donpapi.lazagne.config.change_privileges import list_sids, rev2self, impersonate_sid_long_handle
+from donpapi.lazagne.config.users import get_user_list_on_filesystem, set_env_variables, get_username_winapi
+from donpapi.lazagne.config.dpapi_structure import SystemDpapi, are_masterkeys_retrieved
+from donpapi.lazagne.config.execute_cmd import save_hives, delete_hives
+from donpapi.lazagne.config.write_output import print_debug, StandardOutput
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.manage_modules import get_categories, get_modules
# Useful for the Pupy project
# workaround to this error: RuntimeError: maximum recursion depth exceeded while calling a Python object
diff --git a/lazagne/config/users.py b/donpapi/lazagne/config/users.py
similarity index 96%
rename from lazagne/config/users.py
rename to donpapi/lazagne/config/users.py
index d371baa..fbb8a3c 100644
--- a/lazagne/config/users.py
+++ b/donpapi/lazagne/config/users.py
@@ -4,8 +4,8 @@ import os
import ctypes
import sys
-#from lazagne.config.winstructure import get_os_version
-from lazagne.config.constant import constant
+#from DonPAPI.lazagne.config.winstructure import get_os_version
+from donpapi.lazagne.config.constant import constant
def get_user_list_on_filesystem(impersonated_user=[]):
diff --git a/lazagne/config/winstructure.py b/donpapi/lazagne/config/winstructure.py
similarity index 99%
rename from lazagne/config/winstructure.py
rename to donpapi/lazagne/config/winstructure.py
index a010f73..d36f0ce 100644
--- a/lazagne/config/winstructure.py
+++ b/donpapi/lazagne/config/winstructure.py
@@ -618,7 +618,7 @@ def Win32CryptUnprotectData(cipherText, entropy=False, is_current_user=True, use
if not decrypted:
can_decrypt = True
if not (user_dpapi and user_dpapi.unlocked):
- from lazagne.config.dpapi_structure import are_masterkeys_retrieved
+ from donpapi.lazagne.config.dpapi_structure import are_masterkeys_retrieved
can_decrypt = are_masterkeys_retrieved()
if can_decrypt:
diff --git a/lazagne/config/write_output.py b/donpapi/lazagne/config/write_output.py
similarity index 98%
rename from lazagne/config/write_output.py
rename to donpapi/lazagne/config/write_output.py
index c6e808e..89757c1 100644
--- a/lazagne/config/write_output.py
+++ b/donpapi/lazagne/config/write_output.py
@@ -11,8 +11,8 @@ import traceback
from time import gmtime, strftime
from platform import uname
-from lazagne.config.users import get_username_winapi
-from lazagne.config.winstructure import string_to_unicode, char_to_int, chr_or_byte, python_version
+from donpapi.lazagne.config.users import get_username_winapi
+from donpapi.lazagne.config.winstructure import string_to_unicode, char_to_int, chr_or_byte, python_version
from .constant import constant
# --------------------------- Standard output functions ---------------------------
diff --git a/lazagne/softwares/browsers/__init__.py b/donpapi/lazagne/softwares/__init__.py
similarity index 100%
rename from lazagne/softwares/browsers/__init__.py
rename to donpapi/lazagne/softwares/__init__.py
diff --git a/lazagne/softwares/chats/__init__.py b/donpapi/lazagne/softwares/browsers/__init__.py
similarity index 100%
rename from lazagne/softwares/chats/__init__.py
rename to donpapi/lazagne/softwares/browsers/__init__.py
diff --git a/lazagne/softwares/browsers/chromium_based.py b/donpapi/lazagne/softwares/browsers/chromium_based.py
similarity index 97%
rename from lazagne/softwares/browsers/chromium_based.py
rename to donpapi/lazagne/softwares/browsers/chromium_based.py
index 1f0b4e4..13218d1 100644
--- a/lazagne/softwares/browsers/chromium_based.py
+++ b/donpapi/lazagne/softwares/browsers/chromium_based.py
@@ -11,10 +11,10 @@ import traceback
from Crypto.Cipher import AES
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.winstructure import Win32CryptUnprotectData
-from lazagne.softwares.windows.credman import Credman
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.winstructure import Win32CryptUnprotectData
+from donpapi.lazagne.softwares.windows.credman import Credman
class ChromiumBased(ModuleInfo):
diff --git a/lazagne/softwares/browsers/ie.py b/donpapi/lazagne/softwares/browsers/ie.py
similarity index 98%
rename from lazagne/softwares/browsers/ie.py
rename to donpapi/lazagne/softwares/browsers/ie.py
index 79a714e..a7c8e1f 100644
--- a/lazagne/softwares/browsers/ie.py
+++ b/donpapi/lazagne/softwares/browsers/ie.py
@@ -3,8 +3,8 @@ import subprocess
import traceback
import lazagne.config.winstructure as win
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
try:
import _subprocess as sub
diff --git a/lazagne/softwares/browsers/mozilla.py b/donpapi/lazagne/softwares/browsers/mozilla.py
similarity index 98%
rename from lazagne/softwares/browsers/mozilla.py
rename to donpapi/lazagne/softwares/browsers/mozilla.py
index 4f18b2f..0dc5375 100644
--- a/lazagne/softwares/browsers/mozilla.py
+++ b/donpapi/lazagne/softwares/browsers/mozilla.py
@@ -11,15 +11,15 @@ import sys
import traceback
import os
-#from lazagne.config.module_info import ModuleInfo
-from lazagne.config.crypto.pyDes import triple_des, CBC
-from lazagne.config.crypto.pyaes import AESModeOfOperationCBC
-from lazagne.config.dico import get_dic
-from lazagne.config.constant import constant
+#from DonPAPI.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.crypto.pyDes import triple_des, CBC
+from donpapi.lazagne.config.crypto.pyaes import AESModeOfOperationCBC
+from donpapi.lazagne.config.dico import get_dic
+from donpapi.lazagne.config.constant import constant
from pyasn1.codec.der import decoder
from binascii import unhexlify
from base64 import b64decode
-#from lazagne.config.winstructure import char_to_int, convert_to_byte
+#from DonPAPI.lazagne.config.winstructure import char_to_int, convert_to_byte
from hashlib import sha1, pbkdf2_hmac
import logging
diff --git a/lazagne/softwares/browsers/ucbrowser.py b/donpapi/lazagne/softwares/browsers/ucbrowser.py
similarity index 78%
rename from lazagne/softwares/browsers/ucbrowser.py
rename to donpapi/lazagne/softwares/browsers/ucbrowser.py
index c9525cb..77e8702 100644
--- a/lazagne/softwares/browsers/ucbrowser.py
+++ b/donpapi/lazagne/softwares/browsers/ucbrowser.py
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
import os
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
-from lazagne.softwares.browsers.chromium_based import ChromiumBased
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.softwares.browsers.chromium_based import ChromiumBased
class UCBrowser(ChromiumBased):
diff --git a/lazagne/softwares/databases/__init__.py b/donpapi/lazagne/softwares/chats/__init__.py
similarity index 100%
rename from lazagne/softwares/databases/__init__.py
rename to donpapi/lazagne/softwares/chats/__init__.py
diff --git a/lazagne/softwares/chats/pidgin.py b/donpapi/lazagne/softwares/chats/pidgin.py
similarity index 87%
rename from lazagne/softwares/chats/pidgin.py
rename to donpapi/lazagne/softwares/chats/pidgin.py
index 044fe82..af7f182 100644
--- a/lazagne/softwares/chats/pidgin.py
+++ b/donpapi/lazagne/softwares/chats/pidgin.py
@@ -2,8 +2,8 @@
import os
from xml.etree.cElementTree import ElementTree
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class Pidgin(ModuleInfo):
diff --git a/lazagne/softwares/chats/psi.py b/donpapi/lazagne/softwares/chats/psi.py
similarity index 91%
rename from lazagne/softwares/chats/psi.py
rename to donpapi/lazagne/softwares/chats/psi.py
index 504a661..65ba6dc 100644
--- a/lazagne/softwares/chats/psi.py
+++ b/donpapi/lazagne/softwares/chats/psi.py
@@ -4,9 +4,9 @@ from xml.etree.cElementTree import ElementTree
from glob import glob
from itertools import cycle
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.winstructure import char_to_int
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.winstructure import char_to_int
class PSI(ModuleInfo):
diff --git a/lazagne/softwares/chats/skype.py b/donpapi/lazagne/softwares/chats/skype.py
similarity index 94%
rename from lazagne/softwares/chats/skype.py
rename to donpapi/lazagne/softwares/chats/skype.py
index a988477..1da36d3 100644
--- a/lazagne/softwares/chats/skype.py
+++ b/donpapi/lazagne/softwares/chats/skype.py
@@ -6,10 +6,10 @@ import struct
from xml.etree.cElementTree import ElementTree
import lazagne.config.winstructure as win
-from lazagne.config.constant import constant
-from lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC
-from lazagne.config.dico import get_dic
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.crypto.pyaes.aes import AESModeOfOperationCBC
+from donpapi.lazagne.config.dico import get_dic
+from donpapi.lazagne.config.module_info import ModuleInfo
try:
import _winreg as winreg
@@ -46,7 +46,7 @@ class Skype(ModuleInfo):
self.debug(str(e))
return False
- # get hash from lazagne.configuration file
+ # get hash from DonPAPI.lazagne.configuration file
def get_hash_credential(self, xml_file):
tree = ElementTree(file=xml_file)
encrypted_hash = tree.find('Lib/Account/Credentials3')
diff --git a/lazagne/softwares/games/__init__.py b/donpapi/lazagne/softwares/databases/__init__.py
similarity index 100%
rename from lazagne/softwares/games/__init__.py
rename to donpapi/lazagne/softwares/databases/__init__.py
diff --git a/lazagne/softwares/databases/dbvis.py b/donpapi/lazagne/softwares/databases/dbvis.py
similarity index 93%
rename from lazagne/softwares/databases/dbvis.py
rename to donpapi/lazagne/softwares/databases/dbvis.py
index b4249e6..114a676 100644
--- a/lazagne/softwares/databases/dbvis.py
+++ b/donpapi/lazagne/softwares/databases/dbvis.py
@@ -7,9 +7,9 @@ import os
import re
from xml.etree.cElementTree import ElementTree
-from lazagne.config.constant import constant
-from lazagne.config.crypto.pyDes import des, CBC
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.crypto.pyDes import des, CBC
+from donpapi.lazagne.config.module_info import ModuleInfo
class Dbvisualizer(ModuleInfo):
diff --git a/lazagne/softwares/databases/postgresql.py b/donpapi/lazagne/softwares/databases/postgresql.py
similarity index 89%
rename from lazagne/softwares/databases/postgresql.py
rename to donpapi/lazagne/softwares/databases/postgresql.py
index 68cc003..a18fc0e 100644
--- a/lazagne/softwares/databases/postgresql.py
+++ b/donpapi/lazagne/softwares/databases/postgresql.py
@@ -2,8 +2,8 @@
import os
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class PostgreSQL(ModuleInfo):
diff --git a/lazagne/softwares/databases/robomongo.py b/donpapi/lazagne/softwares/databases/robomongo.py
similarity index 97%
rename from lazagne/softwares/databases/robomongo.py
rename to donpapi/lazagne/softwares/databases/robomongo.py
index 629918e..2b3a4f4 100644
--- a/lazagne/softwares/databases/robomongo.py
+++ b/donpapi/lazagne/softwares/databases/robomongo.py
@@ -2,8 +2,8 @@
import json
import os
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class Robomongo(ModuleInfo):
diff --git a/lazagne/softwares/databases/sqldeveloper.py b/donpapi/lazagne/softwares/databases/sqldeveloper.py
similarity index 96%
rename from lazagne/softwares/databases/sqldeveloper.py
rename to donpapi/lazagne/softwares/databases/sqldeveloper.py
index 3f2dab1..a8d2e7d 100644
--- a/lazagne/softwares/databases/sqldeveloper.py
+++ b/donpapi/lazagne/softwares/databases/sqldeveloper.py
@@ -7,9 +7,9 @@ import os
import re
from xml.etree.cElementTree import ElementTree
-from lazagne.config.constant import constant
-from lazagne.config.crypto.pyDes import des, CBC
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.crypto.pyDes import des, CBC
+from donpapi.lazagne.config.module_info import ModuleInfo
class SQLDeveloper(ModuleInfo):
diff --git a/lazagne/softwares/databases/squirrel.py b/donpapi/lazagne/softwares/databases/squirrel.py
similarity index 88%
rename from lazagne/softwares/databases/squirrel.py
rename to donpapi/lazagne/softwares/databases/squirrel.py
index 396481b..c38439d 100644
--- a/lazagne/softwares/databases/squirrel.py
+++ b/donpapi/lazagne/softwares/databases/squirrel.py
@@ -2,8 +2,8 @@
import os
from xml.etree.cElementTree import ElementTree
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class Squirrel(ModuleInfo):
diff --git a/lazagne/softwares/git/__init__.py b/donpapi/lazagne/softwares/games/__init__.py
similarity index 100%
rename from lazagne/softwares/git/__init__.py
rename to donpapi/lazagne/softwares/games/__init__.py
diff --git a/lazagne/softwares/games/galconfusion.py b/donpapi/lazagne/softwares/games/galconfusion.py
similarity index 93%
rename from lazagne/softwares/games/galconfusion.py
rename to donpapi/lazagne/softwares/games/galconfusion.py
index 58eeae8..4942d75 100644
--- a/lazagne/softwares/games/galconfusion.py
+++ b/donpapi/lazagne/softwares/games/galconfusion.py
@@ -8,8 +8,8 @@ except ImportError:
import winreg
import lazagne.config.winstructure as win
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.winstructure import string_to_unicode
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.winstructure import string_to_unicode
class GalconFusion(ModuleInfo):
diff --git a/lazagne/softwares/games/kalypsomedia.py b/donpapi/lazagne/softwares/games/kalypsomedia.py
similarity index 86%
rename from lazagne/softwares/games/kalypsomedia.py
rename to donpapi/lazagne/softwares/games/kalypsomedia.py
index 3743ce3..d8e049d 100644
--- a/lazagne/softwares/games/kalypsomedia.py
+++ b/donpapi/lazagne/softwares/games/kalypsomedia.py
@@ -2,9 +2,9 @@
import base64
import os
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.winstructure import char_to_int, chr_or_byte
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.winstructure import char_to_int, chr_or_byte
try:
from ConfigParser import ConfigParser # Python 2.7
diff --git a/lazagne/softwares/games/roguestale.py b/donpapi/lazagne/softwares/games/roguestale.py
similarity index 91%
rename from lazagne/softwares/games/roguestale.py
rename to donpapi/lazagne/softwares/games/roguestale.py
index 6968099..4e3fca3 100644
--- a/lazagne/softwares/games/roguestale.py
+++ b/donpapi/lazagne/softwares/games/roguestale.py
@@ -3,8 +3,8 @@ import os
import re
from xml.etree.cElementTree import ElementTree
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class RoguesTale(ModuleInfo):
diff --git a/lazagne/softwares/games/turba.py b/donpapi/lazagne/softwares/games/turba.py
similarity index 93%
rename from lazagne/softwares/games/turba.py
rename to donpapi/lazagne/softwares/games/turba.py
index a7bc9b8..d79facf 100644
--- a/lazagne/softwares/games/turba.py
+++ b/donpapi/lazagne/softwares/games/turba.py
@@ -8,8 +8,8 @@ except ImportError:
import winreg
import lazagne.config.winstructure as win
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.winstructure import string_to_unicode
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.winstructure import string_to_unicode
class Turba(ModuleInfo):
diff --git a/lazagne/softwares/mails/__init__.py b/donpapi/lazagne/softwares/git/__init__.py
similarity index 100%
rename from lazagne/softwares/mails/__init__.py
rename to donpapi/lazagne/softwares/git/__init__.py
diff --git a/lazagne/softwares/git/gitforwindows.py b/donpapi/lazagne/softwares/git/gitforwindows.py
similarity index 92%
rename from lazagne/softwares/git/gitforwindows.py
rename to donpapi/lazagne/softwares/git/gitforwindows.py
index 36ba99a..02594e0 100644
--- a/lazagne/softwares/git/gitforwindows.py
+++ b/donpapi/lazagne/softwares/git/gitforwindows.py
@@ -6,9 +6,9 @@ try:
except ImportError:
from urllib.parse import urlparse, unquote
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.winstructure import string_to_unicode
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.winstructure import string_to_unicode
class GitForWindows(ModuleInfo):
diff --git a/lazagne/softwares/maven/__init__.py b/donpapi/lazagne/softwares/mails/__init__.py
similarity index 100%
rename from lazagne/softwares/maven/__init__.py
rename to donpapi/lazagne/softwares/mails/__init__.py
diff --git a/lazagne/softwares/mails/outlook.py b/donpapi/lazagne/softwares/mails/outlook.py
similarity index 96%
rename from lazagne/softwares/mails/outlook.py
rename to donpapi/lazagne/softwares/mails/outlook.py
index 966adae..a7d9d6e 100644
--- a/lazagne/softwares/mails/outlook.py
+++ b/donpapi/lazagne/softwares/mails/outlook.py
@@ -5,8 +5,8 @@ except ImportError:
import winreg
import lazagne.config.winstructure as win
-from lazagne.config.module_info import ModuleInfo
-from lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
class Outlook(ModuleInfo):
diff --git a/lazagne/softwares/mails/thunderbird.py b/donpapi/lazagne/softwares/mails/thunderbird.py
similarity index 56%
rename from lazagne/softwares/mails/thunderbird.py
rename to donpapi/lazagne/softwares/mails/thunderbird.py
index 9a58adf..2c4c127 100644
--- a/lazagne/softwares/mails/thunderbird.py
+++ b/donpapi/lazagne/softwares/mails/thunderbird.py
@@ -1,5 +1,5 @@
-from lazagne.config.module_info import ModuleInfo
-from lazagne.softwares.browsers.mozilla import Mozilla
+from donpapi.lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.softwares.browsers.mozilla import Mozilla
class Thunderbird(Mozilla):
diff --git a/lazagne/softwares/memory/__init__.py b/donpapi/lazagne/softwares/maven/__init__.py
similarity index 100%
rename from lazagne/softwares/memory/__init__.py
rename to donpapi/lazagne/softwares/maven/__init__.py
diff --git a/lazagne/softwares/maven/mavenrepositories.py b/donpapi/lazagne/softwares/maven/mavenrepositories.py
similarity index 98%
rename from lazagne/softwares/maven/mavenrepositories.py
rename to donpapi/lazagne/softwares/maven/mavenrepositories.py
index b5beb99..af225d5 100644
--- a/lazagne/softwares/maven/mavenrepositories.py
+++ b/donpapi/lazagne/softwares/maven/mavenrepositories.py
@@ -2,8 +2,8 @@
import os
from xml.etree import ElementTree
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class MavenRepositories(ModuleInfo):
diff --git a/lazagne/softwares/multimedia/__init__.py b/donpapi/lazagne/softwares/memory/__init__.py
similarity index 100%
rename from lazagne/softwares/multimedia/__init__.py
rename to donpapi/lazagne/softwares/memory/__init__.py
diff --git a/lazagne/softwares/memory/keepass.py b/donpapi/lazagne/softwares/memory/keepass.py
similarity index 90%
rename from lazagne/softwares/memory/keepass.py
rename to donpapi/lazagne/softwares/memory/keepass.py
index 8b4876a..35743ea 100644
--- a/lazagne/softwares/memory/keepass.py
+++ b/donpapi/lazagne/softwares/memory/keepass.py
@@ -8,8 +8,8 @@
import traceback
from . import libkeepass
-from lazagne.config.constant import constant
-from lazagne.config.module_info import ModuleInfo
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.module_info import ModuleInfo
class Keepass(ModuleInfo):
diff --git a/lazagne/softwares/memory/keethief.py b/donpapi/lazagne/softwares/memory/keethief.py
similarity index 99%
rename from lazagne/softwares/memory/keethief.py
rename to donpapi/lazagne/softwares/memory/keethief.py
index 310ae71..3b66d64 100644
--- a/lazagne/softwares/memory/keethief.py
+++ b/donpapi/lazagne/softwares/memory/keethief.py
@@ -4,9 +4,9 @@ import json
import os
import sys
-from lazagne.config.constant import constant
-from lazagne.config.execute_cmd import powershell_execute
-from lazagne.config.write_output import print_debug
+from donpapi.lazagne.config.constant import constant
+from donpapi.lazagne.config.execute_cmd import powershell_execute
+from donpapi.lazagne.config.write_output import print_debug
class KeeThief():
diff --git a/lazagne/softwares/memory/libkeepass/__init__.py b/donpapi/lazagne/softwares/memory/libkeepass/__init__.py
similarity index 100%
rename from lazagne/softwares/memory/libkeepass/__init__.py
rename to donpapi/lazagne/softwares/memory/libkeepass/__init__.py
diff --git a/lazagne/softwares/memory/libkeepass/common.py b/donpapi/lazagne/softwares/memory/libkeepass/common.py
similarity index 100%
rename from lazagne/softwares/memory/libkeepass/common.py
rename to donpapi/lazagne/softwares/memory/libkeepass/common.py
diff --git a/lazagne/softwares/memory/libkeepass/crypto.py b/donpapi/lazagne/softwares/memory/libkeepass/crypto.py
similarity index 90%
rename from lazagne/softwares/memory/libkeepass/crypto.py
rename to donpapi/lazagne/softwares/memory/libkeepass/crypto.py
index 0ba9d1f..b3176c4 100644
--- a/lazagne/softwares/memory/libkeepass/crypto.py
+++ b/donpapi/lazagne/softwares/memory/libkeepass/crypto.py
@@ -2,8 +2,8 @@
import hashlib
import struct
-from lazagne.config.crypto.pyaes.aes import AESModeOfOperationECB, AESModeOfOperationCBC
-from lazagne.config.winstructure import char_to_int
+from donpapi.lazagne.config.crypto.pyaes.aes import AESModeOfOperationECB, AESModeOfOperationCBC
+from donpapi.lazagne.config.winstructure import char_to_int
AES_BLOCK_SIZE = 16
diff --git a/lazagne/softwares/memory/libkeepass/hbio.py b/donpapi/lazagne/softwares/memory/libkeepass/hbio.py
similarity index 100%
rename from lazagne/softwares/memory/libkeepass/hbio.py
rename to donpapi/lazagne/softwares/memory/libkeepass/hbio.py
diff --git a/lazagne/softwares/memory/libkeepass/kdb4.py b/donpapi/lazagne/softwares/memory/libkeepass/kdb4.py
similarity index 100%
rename from lazagne/softwares/memory/libkeepass/kdb4.py
rename to donpapi/lazagne/softwares/memory/libkeepass/kdb4.py
diff --git a/lazagne/softwares/memory/libkeepass/pureSalsa20.py b/donpapi/lazagne/softwares/memory/libkeepass/pureSalsa20.py
similarity index 99%
rename from lazagne/softwares/memory/libkeepass/pureSalsa20.py
rename to donpapi/lazagne/softwares/memory/libkeepass/pureSalsa20.py
index bc689cc..60a6946 100644
--- a/lazagne/softwares/memory/libkeepass/pureSalsa20.py
+++ b/donpapi/lazagne/softwares/memory/libkeepass/pureSalsa20.py
@@ -164,7 +164,7 @@
from array import array
from struct import Struct
-from lazagne.config.winstructure import char_to_int
+from donpapi.lazagne.config.winstructure import char_to_int
little_u64 = Struct(": domain/user@target
+DonPAPI --hashes : domain/user@target
```
Using kerberos (-k)
```bash
-DonPAPI.py -k domain/user@target
+DonPAPI -k domain/user@target
```
Using a user with LAPS password reading rights
```bash
-DonPAPI.py -laps domain/user:passw0rd@target
+DonPAPI -laps domain/user:passw0rd@target
```
Using relayed socks :
@@ -101,7 +101,7 @@ user2:passX
```
```bash
-DonPAPI.py -credz credz_file.txt domain/user:passw0rd@target
+DonPAPI -credz credz_file.txt domain/user:passw0rd@target
```
When a domain admin user is available, it is possible to dump the domain backup key using impacket `dpapi.py` tool:
@@ -112,7 +112,7 @@ dpapi.py backupkeys --export -t domain/user:passw0rd@target_dc_ip
This backup key (pvk file) can then be used to dump all domain user's secrets!
-`python DonPAPI.py -pvk domain_backupkey.pvk domain/user:passw0rd@domain_network_list`
+`DonPAPI -pvk domain_backupkey.pvk domain/user:passw0rd@domain_network_list`
### Select targets
Target can be an IP, IP range, CIDR, FQDN, file containing list targets (one per line)
@@ -144,17 +144,24 @@ The RemoteOps part can be spoted by some EDR (it's basically a secretdump). It c
```
git clone https://github.com/login-securite/DonPAPI.git
cd DonPAPI
-python3 -m pip install -r requirements.txt
-python3 DonPAPI.py
+python3 -m pip install .
+DonPAPI
```
or
```
-git clone https://github.com/login-securite/DonPAPI.git
+pip install git+https://github.com/login-securite/DonPAPI.git
+DonPAPI
+```
+
+or
+
+```
+git clone git+https://github.com/login-securite/DonPAPI.git
cd DonPAPI
-poetry install
-poetry run donpapi
+poetry update
+poetry run DonPAPI
```
## Credits
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 679b3f4..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-impacket
-#json
-pyasn
-LnkParse3
-wheel
-#M2Crypto
-#pycryptodome
\ No newline at end of file
diff --git a/res/style.css b/res/style.css
deleted file mode 100644
index 4a52e6b..0000000
--- a/res/style.css
+++ /dev/null
@@ -1,179 +0,0 @@
-body {
- background: white ;
-}
-table {
- border:0px solid red;
- width:100%;
-}
-
-table.main {
- border:0px solid green;
- text-align:center;
- width:60em;
- margin-left: auto;
- margin-right: auto;
-}
-table.statistics {
- margin-left: auto;
- margin-right: auto;
- border:2px solid #c92b2f;
- text-align:left;
- border-radius : 25px;
- padding: 1em;
-}
-table.details {
- margin-left: auto;
- margin-right: auto;
- border:0px solid blue;
- text-align:left;
-}
-td {
- border:0px solid black;
-}
-td.ip_infos {
- border:1px solid black;
-}
-td.menu_gauche {
- width: 20% ;
- text-align: left ;
- vertical-align: top ;
-}
-td.menu_right {
- align: center ;
- vertical-align: middle ;
-}
-td.menu_top {
- text-align: center ;
- vertical-align: middle ;
- font-weight: bold;
- font-family: Arial, sans-serif;
- font-size: 2.5em;
- border:0px solid green;
-}
-td.actions {
- vertical-align: middle ;
- align: center ;
-}
-td.cracked {
- vertical-align: middle ;
- align: center ;
- color: #c92b2f;
- font-weight: bold;
-}
-
-tr {
- border:0px solid blue;
-}
-tr.table_title{
- font-weight: bold;
-}
-tr.infos{
- font-weight: bold;
- align: left ;
-}
-tr.tableau_resultat_row0 {
- background-color: #A9E2F330;
- text-align:center;
-}
-tr.tableau_resultat_row1 {
- background-color: #e0e0e0c0;
- text-align:center;
-}
-tr.details {
- margin-left: auto;
- margin-right: auto;
- border:0px solid blue;
- text-align:left;
- padding: 1em;
- font-weight: bold;
-}
-td.toggle_menu {
- background-color: #30A93030;
- text-align:center;
- font-weight: bold;
-}
-
-th {
- background-color: none;
- border:0px solid blue;
- font-family: Arial, sans-serif;
- text-align:left;
- font-weight: bold;
-}
-
-img.menu {
- display: block;
- margin-left: auto;
- margin-right: auto;
- height : 50px;
-}
-img.logo {
- display: inline-block;
- height : 80px;
- hspace : 20px;
-}
-img.logo_left {
- display: inline-block;
- height : 80px;
- float: center;
- hspace : 20px;
-}
-img.logo_right {
- display: inline-block;
- height : 80px;
- float: center;
-}
-img.actions {
- vertical-align: middle ;
- align: center ;
- height : 20px;
- alt : "MyImageReload";
-}
-img.ip_link {
- width: 14px; /* Width of new image */
- height: 14px; /* Height of new image */
- padding-left: 6px; /* Equal to width of new image */
-}
-
-#images{
- text-align:center;
-}
-a.firstletter {
- color : #c92b2f;
-}
-a.cracked {
- color: #c92b2f;
- font-weight: bold;
-}
-
-/* The navigation bar */
-.navbar {
- overflow: hidden;
- background-color: #333;
- position: fixed; /* Set the navbar to fixed position */
- top: 0; /* Position the navbar at the top of the page */
- width: 100%; /* Full width */
-}
-
-/* Links inside the navbar */
-.navbar a {
- float: left;
- display: block;
- color: #f2f2f2;
- text-align: center;
- padding: 14px 16px;
- text-decoration: none;
-}
-
-/* Change background on mouse-over */
-.navbar a:hover {
- background: #ddd;
- color: black;
-}
-
-/* Main content */
-.main {
- padding: 16px;
- margin-top: 30px; /* Add a top margin to avoid content overlay */
- height: 90%; /* Used in this example to enable scrolling */
-}
\ No newline at end of file