From 9cdd0fd37f49081381afc45ab5318b54c307d15c Mon Sep 17 00:00:00 2001 From: zblurx Date: Wed, 14 Jun 2023 13:01:24 +0200 Subject: [PATCH] packaging --- {lazagne => donpapi}/__init__.py | 0 .../config}/donpapi_config.json | 2 +- database.py => donpapi/database.py | 13 +- DonPAPI.py => donpapi/entry.py | 15 +- .../config => donpapi/lazagne}/__init__.py | 0 .../lazagne}/config/DPAPI/__init__.py | 0 .../lazagne}/config/DPAPI/blob.py | 8 +- .../lazagne}/config/DPAPI/credfile.py | 0 .../lazagne}/config/DPAPI/credhist.py | 0 .../lazagne}/config/DPAPI/crypto.py | 8 +- .../lazagne}/config/DPAPI/eater.py | 0 .../lazagne}/config/DPAPI/masterkey.py | 2 +- .../lazagne}/config/DPAPI/system.py | 0 .../lazagne}/config/DPAPI/vault.py | 4 +- .../lazagne/config}/__init__.py | 0 .../lazagne}/config/change_privileges.py | 4 +- .../lazagne}/config/constant.py | 0 .../lazagne/config/crypto}/__init__.py | 0 .../lazagne}/config/crypto/pyDes.py | 0 .../lazagne}/config/crypto/pyaes/__init__.py | 0 .../lazagne}/config/crypto/pyaes/aes.py | 0 .../config/crypto/pyaes/blockfeeder.py | 0 .../lazagne}/config/crypto/pyaes/util.py | 0 .../lazagne}/config/crypto/rc4.py | 2 +- {lazagne => donpapi/lazagne}/config/dico.py | 0 .../lazagne}/config/dpapi_structure.py | 14 +- .../lazagne}/config/execute_cmd.py | 4 +- .../lazagne/config/lib}/__init__.py | 0 .../lazagne}/config/lib/memorpy/Address.py | 0 .../config/lib/memorpy/BaseProcess.py | 0 .../lazagne}/config/lib/memorpy/LinProcess.py | 0 .../config/lib/memorpy/LinStructures.py | 0 .../lazagne}/config/lib/memorpy/Locator.py | 0 .../lazagne}/config/lib/memorpy/MemWorker.py | 0 .../lazagne}/config/lib/memorpy/OSXProcess.py | 0 .../lazagne}/config/lib/memorpy/Process.py | 0 .../lazagne}/config/lib/memorpy/SunProcess.py | 0 .../lazagne}/config/lib/memorpy/WinProcess.py | 0 .../config/lib/memorpy/WinStructures.py | 0 .../lazagne}/config/lib/memorpy/__init__.py | 0 .../lazagne}/config/lib/memorpy/structures.py | 0 .../lazagne}/config/lib/memorpy/utils.py | 0 .../lazagne}/config/lib/memorpy/version.py | 0 .../lazagne}/config/lib/memorpy/wintools.py | 0 donpapi/lazagne/config/manage_modules.py | 172 +++++++++++++++++ .../lazagne}/config/module_info.py | 2 +- {lazagne => donpapi/lazagne}/config/run.py | 14 +- {lazagne => donpapi/lazagne}/config/users.py | 4 +- .../lazagne}/config/winstructure.py | 2 +- .../lazagne}/config/write_output.py | 4 +- .../lazagne/softwares}/__init__.py | 0 .../lazagne/softwares/browsers}/__init__.py | 0 .../softwares/browsers/chromium_based.py | 8 +- .../lazagne}/softwares/browsers/ie.py | 4 +- .../lazagne}/softwares/browsers/mozilla.py | 12 +- .../lazagne}/softwares/browsers/ucbrowser.py | 6 +- .../lazagne/softwares/chats}/__init__.py | 0 .../lazagne}/softwares/chats/pidgin.py | 4 +- .../lazagne}/softwares/chats/psi.py | 6 +- .../lazagne}/softwares/chats/skype.py | 10 +- .../lazagne/softwares/databases}/__init__.py | 0 .../lazagne}/softwares/databases/dbvis.py | 6 +- .../softwares/databases/postgresql.py | 4 +- .../lazagne}/softwares/databases/robomongo.py | 4 +- .../softwares/databases/sqldeveloper.py | 6 +- .../lazagne}/softwares/databases/squirrel.py | 4 +- .../lazagne/softwares/games}/__init__.py | 0 .../lazagne}/softwares/games/galconfusion.py | 4 +- .../lazagne}/softwares/games/kalypsomedia.py | 6 +- .../lazagne}/softwares/games/roguestale.py | 4 +- .../lazagne}/softwares/games/turba.py | 4 +- .../lazagne/softwares/git}/__init__.py | 0 .../lazagne}/softwares/git/gitforwindows.py | 6 +- .../lazagne/softwares/mails}/__init__.py | 0 .../lazagne}/softwares/mails/outlook.py | 4 +- .../lazagne}/softwares/mails/thunderbird.py | 4 +- .../lazagne/softwares/maven}/__init__.py | 0 .../softwares/maven/mavenrepositories.py | 4 +- .../lazagne/softwares/memory}/__init__.py | 0 .../lazagne}/softwares/memory/keepass.py | 4 +- .../lazagne}/softwares/memory/keethief.py | 6 +- .../softwares/memory/libkeepass/__init__.py | 0 .../softwares/memory/libkeepass/common.py | 0 .../softwares/memory/libkeepass/crypto.py | 4 +- .../softwares/memory/libkeepass/hbio.py | 0 .../softwares/memory/libkeepass/kdb4.py | 0 .../memory/libkeepass/pureSalsa20.py | 2 +- .../lazagne}/softwares/memory/memorydump.py | 8 +- .../lazagne/softwares/multimedia}/__init__.py | 0 .../lazagne}/softwares/multimedia/eyecon.py | 4 +- .../lazagne/softwares/php}/__init__.py | 0 .../lazagne}/softwares/php/composer.py | 4 +- .../lazagne/softwares/svn}/__init__.py | 0 .../lazagne}/softwares/svn/tortoise.py | 6 +- .../lazagne/softwares/sysadmin}/__init__.py | 0 .../sysadmin/apachedirectorystudio.py | 4 +- .../lazagne}/softwares/sysadmin/coreftp.py | 6 +- .../lazagne}/softwares/sysadmin/cyberduck.py | 8 +- .../lazagne}/softwares/sysadmin/d3des.py | 0 .../lazagne}/softwares/sysadmin/filezilla.py | 4 +- .../softwares/sysadmin/filezillaserver.py | 4 +- .../softwares/sysadmin/ftpnavigator.py | 4 +- .../lazagne}/softwares/sysadmin/iisapppool.py | 2 +- .../softwares/sysadmin/iiscentralcertp.py | 2 +- .../softwares/sysadmin/keepassconfig.py | 4 +- .../softwares/sysadmin/opensshforwindows.py | 4 +- .../lazagne}/softwares/sysadmin/openvpn.py | 8 +- .../lazagne}/softwares/sysadmin/puttycm.py | 4 +- .../lazagne}/softwares/sysadmin/rdpmanager.py | 6 +- .../lazagne}/softwares/sysadmin/unattended.py | 6 +- .../lazagne}/softwares/sysadmin/vnc.py | 4 +- .../lazagne}/softwares/sysadmin/winscp.py | 4 +- .../lazagne}/softwares/sysadmin/wsl.py | 4 +- .../lazagne/softwares/wifi}/__init__.py | 0 .../lazagne}/softwares/wifi/wifi.py | 6 +- .../lazagne/softwares/windows}/__init__.py | 0 .../lazagne}/softwares/windows/autologon.py | 4 +- .../lazagne}/softwares/windows/cachedump.py | 6 +- .../softwares/windows/creddump7}/__init__.py | 0 .../softwares/windows/creddump7/addrspace.py | 0 .../softwares/windows/creddump7/newobj.py | 0 .../softwares/windows/creddump7/object.py | 0 .../softwares/windows/creddump7/types.py | 0 .../windows/creddump7/win32/__init__.py | 0 .../windows/creddump7/win32/domcachedump.py | 4 +- .../windows/creddump7/win32/hashdump.py | 8 +- .../windows/creddump7/win32/lsasecrets.py | 6 +- .../windows/creddump7/win32/rawreg.py | 0 .../lazagne}/softwares/windows/credfiles.py | 4 +- .../lazagne}/softwares/windows/credman.py | 4 +- .../lazagne}/softwares/windows/hashdump.py | 4 +- .../lazagne}/softwares/windows/lsa_secrets.py | 6 +- .../lazagne}/softwares/windows/ppypykatz.py | 4 +- .../lazagne}/softwares/windows/vault.py | 4 +- .../lazagne}/softwares/windows/vaultfiles.py | 4 +- .../lazagne}/softwares/windows/windows.py | 8 +- {lib => donpapi/lib}/RecentFiles.py | 4 +- donpapi/lib/__init__.py | 0 {lib => donpapi/lib}/adconnect.py | 0 {lib => donpapi/lib}/certificates.py | 12 +- {lib => donpapi/lib}/compliance_security.py | 4 +- {lib => donpapi/lib}/defines.py | 0 {lib => donpapi/lib}/dpapi.py | 2 +- donpapi/lib/dpapi_pick/__init__.py | 0 {lib => donpapi/lib}/dpapi_pick/credhist.py | 4 +- {lib => donpapi/lib}/dpapi_pick/crypto.py | 0 {lib => donpapi/lib}/dpapi_pick/eater.py | 0 {lib => donpapi/lib}/eater.py | 0 {lib => donpapi/lib}/fileops.py | 6 +- {lib => donpapi/lib}/neo4jconnection.py | 2 +- {lib => donpapi/lib}/new_module.py | 4 +- {lib => donpapi/lib}/reg.py | 0 {lib => donpapi/lib}/secretsdump.py | 0 {lib => donpapi/lib}/toolbox.py | 0 {lib => donpapi/lib}/wmi.py | 0 myseatbelt.py => donpapi/myseatbelt.py | 36 ++-- myusers.py => donpapi/myusers.py | 2 +- {res => donpapi/res}/Logo DonPapi.png | Bin {res => donpapi/res}/Logo_LOGIN.PNG | Bin {res/css => donpapi/res}/style.css | 14 ++ donpapi/software/__init__.py | 0 donpapi/software/browser/__init__.py | 0 .../software}/browser/chrome_decrypt.py | 5 +- .../software}/browser/firefox_decrypt.py | 10 +- .../software}/browser/mozilla.py | 12 +- donpapi/software/manager/__init__.py | 0 .../software}/manager/keepass.py | 6 +- .../software}/manager/lastpass.py | 4 +- .../software}/manager/mRemoteNG-local.py | 2 +- .../software}/manager/mRemoteNG.py | 2 +- donpapi/software/sysadmin/__init__.py | 0 .../software}/sysadmin/d3des.py | 0 .../software}/sysadmin/mobaxterm.py | 2 +- .../software}/sysadmin/putty.py | 4 +- .../software}/sysadmin/teamviewer.py | 0 .../software}/sysadmin/vnc-local.py | 2 +- .../software}/sysadmin/vnc.py | 4 +- .../software}/sysadmin/winscp.py | 2 +- key.pvk | Bin 0 -> 1196 bytes lazagne/config/manage_modules.py | 172 ----------------- pyproject.toml | 11 +- readme.md | 31 +-- requirements.txt | 7 - res/style.css | 179 ------------------ 184 files changed, 476 insertions(+), 641 deletions(-) rename {lazagne => donpapi}/__init__.py (100%) rename {config => donpapi/config}/donpapi_config.json (90%) rename database.py => donpapi/database.py (99%) rename DonPAPI.py => donpapi/entry.py (97%) rename {lazagne/config => donpapi/lazagne}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/DPAPI/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/DPAPI/blob.py (95%) rename {lazagne => donpapi/lazagne}/config/DPAPI/credfile.py (100%) rename {lazagne => donpapi/lazagne}/config/DPAPI/credhist.py (100%) rename {lazagne => donpapi/lazagne}/config/DPAPI/crypto.py (98%) rename {lazagne => donpapi/lazagne}/config/DPAPI/eater.py (100%) rename {lazagne => donpapi/lazagne}/config/DPAPI/masterkey.py (99%) rename {lazagne => donpapi/lazagne}/config/DPAPI/system.py (100%) rename {lazagne => donpapi/lazagne}/config/DPAPI/vault.py (99%) rename {lazagne/config/crypto => donpapi/lazagne/config}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/change_privileges.py (98%) rename {lazagne => donpapi/lazagne}/config/constant.py (100%) rename {lazagne/config/lib => donpapi/lazagne/config/crypto}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/crypto/pyDes.py (100%) rename {lazagne => donpapi/lazagne}/config/crypto/pyaes/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/crypto/pyaes/aes.py (100%) rename {lazagne => donpapi/lazagne}/config/crypto/pyaes/blockfeeder.py (100%) rename {lazagne => donpapi/lazagne}/config/crypto/pyaes/util.py (100%) rename {lazagne => donpapi/lazagne}/config/crypto/rc4.py (95%) rename {lazagne => donpapi/lazagne}/config/dico.py (100%) rename {lazagne => donpapi/lazagne}/config/dpapi_structure.py (93%) rename {lazagne => donpapi/lazagne}/config/execute_cmd.py (96%) rename {lazagne/softwares => donpapi/lazagne/config/lib}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/Address.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/BaseProcess.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/LinProcess.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/LinStructures.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/Locator.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/MemWorker.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/OSXProcess.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/Process.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/SunProcess.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/WinProcess.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/WinStructures.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/__init__.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/structures.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/utils.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/version.py (100%) rename {lazagne => donpapi/lazagne}/config/lib/memorpy/wintools.py (100%) create mode 100644 donpapi/lazagne/config/manage_modules.py rename {lazagne => donpapi/lazagne}/config/module_info.py (95%) rename {lazagne => donpapi/lazagne}/config/run.py (94%) rename {lazagne => donpapi/lazagne}/config/users.py (96%) rename {lazagne => donpapi/lazagne}/config/winstructure.py (99%) rename {lazagne => donpapi/lazagne}/config/write_output.py (98%) rename {lazagne/softwares/browsers => donpapi/lazagne/softwares}/__init__.py (100%) rename {lazagne/softwares/chats => donpapi/lazagne/softwares/browsers}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/browsers/chromium_based.py (97%) rename {lazagne => donpapi/lazagne}/softwares/browsers/ie.py (98%) rename {lazagne => donpapi/lazagne}/softwares/browsers/mozilla.py (98%) rename {lazagne => donpapi/lazagne}/softwares/browsers/ucbrowser.py (78%) rename {lazagne/softwares/databases => donpapi/lazagne/softwares/chats}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/chats/pidgin.py (87%) rename {lazagne => donpapi/lazagne}/softwares/chats/psi.py (91%) rename {lazagne => donpapi/lazagne}/softwares/chats/skype.py (94%) rename {lazagne/softwares/games => donpapi/lazagne/softwares/databases}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/databases/dbvis.py (93%) rename {lazagne => donpapi/lazagne}/softwares/databases/postgresql.py (89%) rename {lazagne => donpapi/lazagne}/softwares/databases/robomongo.py (97%) rename {lazagne => donpapi/lazagne}/softwares/databases/sqldeveloper.py (96%) rename {lazagne => donpapi/lazagne}/softwares/databases/squirrel.py (88%) rename {lazagne/softwares/git => donpapi/lazagne/softwares/games}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/games/galconfusion.py (93%) rename {lazagne => donpapi/lazagne}/softwares/games/kalypsomedia.py (86%) rename {lazagne => donpapi/lazagne}/softwares/games/roguestale.py (91%) rename {lazagne => donpapi/lazagne}/softwares/games/turba.py (93%) rename {lazagne/softwares/mails => donpapi/lazagne/softwares/git}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/git/gitforwindows.py (92%) rename {lazagne/softwares/maven => donpapi/lazagne/softwares/mails}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/mails/outlook.py (96%) rename {lazagne => donpapi/lazagne}/softwares/mails/thunderbird.py (56%) rename {lazagne/softwares/memory => donpapi/lazagne/softwares/maven}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/maven/mavenrepositories.py (98%) rename {lazagne/softwares/multimedia => donpapi/lazagne/softwares/memory}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/memory/keepass.py (90%) rename {lazagne => donpapi/lazagne}/softwares/memory/keethief.py (99%) rename {lazagne => donpapi/lazagne}/softwares/memory/libkeepass/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/memory/libkeepass/common.py (100%) rename {lazagne => donpapi/lazagne}/softwares/memory/libkeepass/crypto.py (90%) rename {lazagne => donpapi/lazagne}/softwares/memory/libkeepass/hbio.py (100%) rename {lazagne => donpapi/lazagne}/softwares/memory/libkeepass/kdb4.py (100%) rename {lazagne => donpapi/lazagne}/softwares/memory/libkeepass/pureSalsa20.py (99%) rename {lazagne => donpapi/lazagne}/softwares/memory/memorydump.py (96%) rename {lazagne/softwares/php => donpapi/lazagne/softwares/multimedia}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/multimedia/eyecon.py (97%) rename {lazagne/softwares/svn => donpapi/lazagne/softwares/php}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/php/composer.py (94%) rename {lazagne/softwares/sysadmin => donpapi/lazagne/softwares/svn}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/svn/tortoise.py (92%) rename {lazagne/softwares/wifi => donpapi/lazagne/softwares/sysadmin}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/apachedirectorystudio.py (95%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/coreftp.py (89%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/cyberduck.py (88%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/d3des.py (100%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/filezilla.py (94%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/filezillaserver.py (92%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/ftpnavigator.py (93%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/iisapppool.py (97%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/iiscentralcertp.py (98%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/keepassconfig.py (98%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/opensshforwindows.py (97%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/openvpn.py (88%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/puttycm.py (90%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/rdpmanager.py (94%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/unattended.py (94%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/vnc.py (98%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/winscp.py (96%) rename {lazagne => donpapi/lazagne}/softwares/sysadmin/wsl.py (92%) rename {lazagne/softwares/windows => donpapi/lazagne/softwares/wifi}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/wifi/wifi.py (96%) rename {lazagne/softwares/windows/creddump7 => donpapi/lazagne/softwares/windows}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/windows/autologon.py (93%) rename {lazagne => donpapi/lazagne}/softwares/windows/cachedump.py (75%) rename {lazagne/softwares/windows/creddump7/win32 => donpapi/lazagne/softwares/windows/creddump7}/__init__.py (100%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/addrspace.py (100%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/newobj.py (100%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/object.py (100%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/types.py (100%) create mode 100644 donpapi/lazagne/softwares/windows/creddump7/win32/__init__.py rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/win32/domcachedump.py (97%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/win32/hashdump.py (97%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/win32/lsasecrets.py (96%) rename {lazagne => donpapi/lazagne}/softwares/windows/creddump7/win32/rawreg.py (100%) rename {lazagne => donpapi/lazagne}/softwares/windows/credfiles.py (87%) rename {lazagne => donpapi/lazagne}/softwares/windows/credman.py (92%) rename {lazagne => donpapi/lazagne}/softwares/windows/hashdump.py (78%) rename {lazagne => donpapi/lazagne}/softwares/windows/lsa_secrets.py (85%) rename {lazagne => donpapi/lazagne}/softwares/windows/ppypykatz.py (95%) rename {lazagne => donpapi/lazagne}/softwares/windows/vault.py (96%) rename {lazagne => donpapi/lazagne}/softwares/windows/vaultfiles.py (87%) rename {lazagne => donpapi/lazagne}/softwares/windows/windows.py (92%) rename {lib => donpapi/lib}/RecentFiles.py (98%) create mode 100644 donpapi/lib/__init__.py rename {lib => donpapi/lib}/adconnect.py (100%) rename {lib => donpapi/lib}/certificates.py (99%) rename {lib => donpapi/lib}/compliance_security.py (98%) rename {lib => donpapi/lib}/defines.py (100%) rename {lib => donpapi/lib}/dpapi.py (99%) create mode 100644 donpapi/lib/dpapi_pick/__init__.py rename {lib => donpapi/lib}/dpapi_pick/credhist.py (99%) rename {lib => donpapi/lib}/dpapi_pick/crypto.py (100%) rename {lib => donpapi/lib}/dpapi_pick/eater.py (100%) rename {lib => donpapi/lib}/eater.py (100%) rename {lib => donpapi/lib}/fileops.py (98%) rename {lib => donpapi/lib}/neo4jconnection.py (99%) rename {lib => donpapi/lib}/new_module.py (97%) rename {lib => donpapi/lib}/reg.py (100%) rename {lib => donpapi/lib}/secretsdump.py (100%) rename {lib => donpapi/lib}/toolbox.py (100%) rename {lib => donpapi/lib}/wmi.py (100%) rename myseatbelt.py => donpapi/myseatbelt.py (99%) rename myusers.py => donpapi/myusers.py (99%) rename {res => donpapi/res}/Logo DonPapi.png (100%) rename {res => donpapi/res}/Logo_LOGIN.PNG (100%) rename {res/css => donpapi/res}/style.css (92%) create mode 100644 donpapi/software/__init__.py create mode 100644 donpapi/software/browser/__init__.py rename {software => donpapi/software}/browser/chrome_decrypt.py (99%) rename {software => donpapi/software}/browser/firefox_decrypt.py (96%) rename {software => donpapi/software}/browser/mozilla.py (97%) create mode 100644 donpapi/software/manager/__init__.py rename {software => donpapi/software}/manager/keepass.py (99%) rename {software => donpapi/software}/manager/lastpass.py (98%) rename {software => donpapi/software}/manager/mRemoteNG-local.py (99%) rename {software => donpapi/software}/manager/mRemoteNG.py (99%) create mode 100644 donpapi/software/sysadmin/__init__.py rename {software => donpapi/software}/sysadmin/d3des.py (100%) rename {software => donpapi/software}/sysadmin/mobaxterm.py (99%) rename {software => donpapi/software}/sysadmin/putty.py (95%) rename {software => donpapi/software}/sysadmin/teamviewer.py (100%) rename {software => donpapi/software}/sysadmin/vnc-local.py (98%) rename {software => donpapi/software}/sysadmin/vnc.py (99%) rename {software => donpapi/software}/sysadmin/winscp.py (99%) create mode 100644 key.pvk delete mode 100644 lazagne/config/manage_modules.py delete mode 100644 requirements.txt delete mode 100644 res/style.css 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: Target Type Pillaged_from_computerid - Pillaged_from_userid\n""" + Pillaged_from_userid + Bypass MFA\n""" # current_type = 'cookies' - data += f"""Cookies ({len(results)})""" + data += f"""Cookies ({len([results])})""" 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"""""" 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(";CnJr0eemV+}=o3IN5NZn#xpr$4x*+m6Rn0HJh; z3#5hZz{7p%b|ii3gGw$KcH^_2(<-=E;YwWRQVrY6w-tBFQ(>aiz4a4RFWeHmVNE!5 z<1Q8gK@93ODOqEoGzzdavv<^$ z^V-bYf!-PtWUuSX`tt94a`@VN1m5WKVIMgFdWx|NmYm(GjZQgn#nYst!<l$#Xld8sTL=q-}2GltHJ)qpmMPfl`F@&`5Rs$HFyZjsA)^Q7xIJIfu_+IDOLs~ zD_xPSKe8A;DfZS)q(a9Qtui63#y%G7Oma(er_1)mhj#d;g~N1?sEf`47jt+vgw>UmcWz=@7Y5S}7Q7Vo69^z}K{X!i*sQ(ZR&2%Nv+! zo(mu_#cYSxBCh8&Ol4CgEPvg`aayJ>mD$pYdY@Z4(@?Y})WMY1#U0t!Yk@6M1PFP3 zu-03(yrM6x<;%tT@6YG_zLnLiqdO=54a7t?Cf+dD@4i;+Gcfs<9|aZ6t{$zWsB+Y4 zOQw|)iYMM1Tng`s<(ah$l3T~jOgM?FjS!cBPpr1ib}(RwtIih%ep1icF7DBJG1Y~H#IFv)a|%tB?chI|z0n%!@% zXY6F)BwtP)p@W7x+zyH49fdlP$KhC: 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