Rename Module Classname to match python convention

main
Alexander Neff 2023-09-17 22:20:40 +02:00
parent c9a0604489
commit 50c4bb7e97
70 changed files with 73 additions and 73 deletions

View File

@ -60,8 +60,8 @@ class ModuleLoader:
Load a module, initializing it and checking that it has the proper attributes
"""
try:
spec = importlib.util.spec_from_file_location("nxcModule", module_path)
module = spec.loader.load_module().nxcModule()
spec = importlib.util.spec_from_file_location("NXCModule", module_path)
module = spec.loader.load_module().NXCModule()
if self.module_is_sane(module, module_path):
return module
@ -103,8 +103,8 @@ class ModuleLoader:
Get the path, description, and options from a module
"""
try:
spec = importlib.util.spec_from_file_location("nxcModule", module_path)
module_spec = spec.loader.load_module().nxcModule
spec = importlib.util.spec_from_file_location("NXCModule", module_path)
module_spec = spec.loader.load_module().NXCModule
module = {
f"{module_spec.name.lower()}": {

View File

@ -11,7 +11,7 @@ from impacket.dcerpc.v5.rpcrt import RPC_C_AUTHN_LEVEL_NONE
from impacket.dcerpc.v5.dcomrt import IObjectExporter
class nxcModule:
class NXCModule:
name = "ioxidresolver"
description = "This module helps you to identify hosts that have additional active interfaces"
supported_protocols = ["smb", "wmi"]

View File

@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
class nxcModule:
class NXCModule:
"""
Module by Shutdown and Podalirius

View File

@ -5,7 +5,7 @@ from impacket.ldap import ldap, ldapasn1
from impacket.ldap.ldap import LDAPSearchError
class nxcModule:
class NXCModule:
"""
Find PKI Enrollment Services in Active Directory and Certificate Templates Names.

View File

@ -5,7 +5,7 @@
import ldap3
from impacket.dcerpc.v5 import samr, epm, transport
class nxcModule:
class NXCModule:
'''
Module by CyberCelt: @Cyb3rC3lt
Initial module:

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
class nxcModule:
class NXCModule:
"""
Checks for credentials in IIS Application Pool configuration files using appcmd.exe.

View File

@ -11,7 +11,7 @@ from neo4j import GraphDatabase
from neo4j.exceptions import AuthError, ServiceUnavailable
class nxcModule:
class NXCModule:
name = "bh_owned"
description = "Set pwned computer as owned in Bloodhound"
supported_protocols = ["smb"]

View File

@ -187,7 +187,7 @@ class ALLOWED_OBJECT_ACE_MASK_FLAGS(Enum):
Self = ldaptypes.ACCESS_ALLOWED_OBJECT_ACE.ADS_RIGHT_DS_SELF
class nxcModule:
class NXCModule:
"""
Module to read and backup the Discretionary Access Control List of one or multiple objects.
This module is essentially inspired from the dacledit.py script of Impacket that we have coauthored, @_nwodtuhs and me.

View File

@ -10,7 +10,7 @@ from impacket.uuid import uuidtup_to_bin
from nxc.logger import nxc_logger
class nxcModule:
class NXCModule:
name = "dfscoerce"
description = "Module to check if the DC is vulnerable to DFSCocerc, credit to @filip_dragovic/@Wh04m1001 and @topotam"
supported_protocols = ["smb"]

View File

@ -4,7 +4,7 @@
import ntpath
class nxcModule:
class NXCModule:
"""
Technique discovered by @DTMSecurity and @domchell to remotely coerce an host to start WebClient service.
https://dtm.uk/exploring-search-connectors-and-library-files-on-windows/

View File

@ -11,7 +11,7 @@ from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
class nxcModule:
class NXCModule:
"""
Uses Empire's RESTful API to generate a launcher for the specified listener and executes it
Module by @byt3bl33d3r

View File

@ -10,7 +10,7 @@ from impacket.dcerpc.v5 import transport
import pathlib
class nxcModule:
class NXCModule:
"""
Uses LsarLookupNames and NamedPipes to gather information on all endpoint protection solutions installed on the the remote host(s)
Module by @mpgn_x64

View File

@ -5,7 +5,7 @@ from datetime import datetime
from nxc.helpers.logger import write_log
class nxcModule:
class NXCModule:
"""
Uses WMI to dump DNS from an AD DNS Server.
Module by @fang0654

View File

@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
class nxcModule:
class NXCModule:
"""
Example
Module by @yomama

View File

@ -3,7 +3,7 @@
import socket
import sys
class nxcModule:
class NXCModule:
'''
Module by CyberCelt: @Cyb3rC3lt

View File

@ -3,7 +3,7 @@ from dploot.lib.target import Target
from nxc.protocols.smb.firefox import FirefoxTriage
class nxcModule:
class NXCModule:
"""
Firefox by @zblurx
Inspired by firefox looting from DonPAPI

View File

@ -7,7 +7,7 @@ import re
from nxc.logger import nxc_logger
class nxcModule:
class NXCModule:
"""
Get description of users
Module by @nodauf

View File

@ -6,7 +6,7 @@ from nxc.helpers.logger import write_log
import json
class nxcModule:
class NXCModule:
"""
Uses WMI to extract network connections, used to find multi-homed hosts.
Module by @fang0654

View File

@ -5,7 +5,7 @@ import xml.etree.ElementTree as ET
from io import BytesIO
class nxcModule:
class NXCModule:
"""
Reference: https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Get-GPPAutologon.ps1
Module by @byt3bl33d3r

View File

@ -8,7 +8,7 @@ from binascii import unhexlify
from io import BytesIO
class nxcModule:
class NXCModule:
"""
Reference: https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Get-GPPPassword.ps1
Module by @byt3bl33d3r

View File

@ -3,7 +3,7 @@
from impacket.ldap import ldapasn1 as ldapasn1_impacket
class nxcModule:
class NXCModule:
'''
Module by CyberCelt: @Cyb3rC3lt

View File

@ -5,7 +5,7 @@ from impacket.ldap import ldapasn1 as ldapasn1_impacket
from impacket.ldap import ldap as ldap_impacket
class nxcModule:
class NXCModule:
"""
Created as a contributtion from HackTheBox Academy team for CrackMapExec
Reference: https://academy.hackthebox.com/module/details/84

View File

@ -12,7 +12,7 @@ import sys
from nxc.helpers.bloodhound import add_user_bh
class nxcModule:
class NXCModule:
name = "handlekatz"
description = "Get lsass dump using handlekatz64 and parse the result with pypykatz"
supported_protocols = ["smb"]

View File

@ -134,7 +134,7 @@ def initial_run(connection, cursor):
)
class nxcModule:
class NXCModule:
name = "hash_spider"
description = "Dump lsass recursively from a given hash using BH to find local admins"
supported_protocols = ["smb"]

View File

@ -7,7 +7,7 @@ from base64 import b64decode
from sys import exit
from os import path
class nxcModule:
class NXCModule:
name = "impersonate"
description = "List and impersonate tokens to run command as locally logged on users"

View File

@ -6,7 +6,7 @@ from impacket.dcerpc.v5 import scmr
from impacket.examples.secretsdump import RemoteOperations
class nxcModule:
class NXCModule:
name = "install_elevated"
description = "Checks for AlwaysInstallElevated"
supported_protocols = ["smb"]

View File

@ -1,7 +1,7 @@
from csv import reader
class nxcModule:
class NXCModule:
"""
Search for KeePass-related files and process

View File

@ -10,7 +10,7 @@ from xml.etree import ElementTree
from nxc.helpers.powershell import get_ps_script
class nxcModule:
class NXCModule:
"""
Make use of KeePass' trigger system to export the database in cleartext
References: https://keepass.info/help/v2/triggers.html

View File

@ -5,7 +5,7 @@ import json
from impacket.ldap import ldapasn1 as ldapasn1_impacket
from nxc.protocols.ldap.laps import LDAPConnect, LAPSv2Extract
class nxcModule:
class NXCModule:
"""
Module by technobro refactored by @mpgn (now compatible with LDAP protocol + filter by computer)

View File

@ -13,7 +13,7 @@ from asyauth.common.credentials.kerberos import KerberosCredential
from asysocks.unicomm.common.target import UniTarget, UniProto
class nxcModule:
class NXCModule:
"""
Checks whether LDAP signing and channelbinding are required.

View File

@ -14,7 +14,7 @@ from lsassy.session import Session
from nxc.helpers.bloodhound import add_user_bh
class nxcModule:
class NXCModule:
name = "lsassy"
description = "Dump lsass and parse the result remotely with lsassy"
supported_protocols = ["smb"]

View File

@ -5,7 +5,7 @@ from masky import Masky
from nxc.helpers.bloodhound import add_user_bh
class nxcModule:
class NXCModule:
name = "masky"
description = "Remotely dump domain user credentials via an ADCS and a KDC"
supported_protocols = ["smb"]

View File

@ -4,7 +4,7 @@
from sys import exit
class nxcModule:
class NXCModule:
"""
Downloads the Meterpreter stager and injects it into memory using PowerSploit's Invoke-Shellcode.ps1 script
Module by @byt3bl33d3r

View File

@ -9,7 +9,7 @@ import socket
import struct
class nxcModule:
class NXCModule:
name = "ms17-010"
description = "MS17-010, /!\ not tested oustide home lab"
supported_protocols = ["smb"]

View File

@ -6,7 +6,7 @@ from os import path
from nxc.helpers.powershell import get_ps_script
class nxcModule:
class NXCModule:
name = "msol"
description = "Dump MSOL cleartext password from the localDB on the Azure AD-Connect Server"
supported_protocols = ["smb"]

View File

@ -21,7 +21,7 @@ class User:
return f"User({self.username})"
class nxcModule:
class NXCModule:
"""
Enumerate MSSQL privileges and exploit them
"""

View File

@ -13,7 +13,7 @@ from nxc.helpers.bloodhound import add_user_bh
from nxc.protocols.mssql.mssqlexec import MSSQLEXEC
class nxcModule:
class NXCModule:
name = "nanodump"
description = "Get lsass dump using nanodump and parse the result with pypykatz"
supported_protocols = ["smb", "mssql"]

View File

@ -10,7 +10,7 @@ from impacket.krb5 import constants
from impacket.krb5.types import Principal
class nxcModule:
class NXCModule:
name = "nopac"
description = "Check if the DC is vulnerable to CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domain user"
supported_protocols = ["smb"]

View File

@ -9,7 +9,7 @@ from nxc.helpers.logger import highlight
from nxc.helpers.misc import validate_ntlm
class nxcModule:
class NXCModule:
"""
Dump NTDS with ntdsutil
Module by @zblurx

View File

@ -6,7 +6,7 @@ from impacket.examples.secretsdump import RemoteOperations
from impacket.dcerpc.v5.rrp import DCERPCSessionError
class nxcModule:
class NXCModule:
"""
Detect if the target's LmCompatibilityLevel will allow NTLMv1 authentication
Module by @Tw1sm

View File

@ -19,7 +19,7 @@ from impacket.dcerpc.v5.rpcrt import (
from impacket.uuid import uuidtup_to_bin
class nxcModule:
class NXCModule:
name = "petitpotam"
description = "Module to check if the DC is vulnerable to PetitPotam, credit to @topotam"
supported_protocols = ["smb"]

View File

@ -2,7 +2,7 @@ from base64 import b64decode
from sys import exit
from os import path
class nxcModule:
class NXCModule:
name = "pi"
description = "Run command as logged on users via Process Injection"

View File

@ -16,7 +16,7 @@ KNOWN_PROTOCOLS = {
}
class nxcModule:
class NXCModule:
"""
Check if vulnerable to printnightmare
Module by @mpgn_x64 based on https://github.com/ly4k/PrintNightmare

View File

@ -14,7 +14,7 @@ from pypykatz.pypykatz import pypykatz
from nxc.helpers.bloodhound import add_user_bh
class nxcModule:
class NXCModule:
name = "procdump"
description = "Get lsass dump using procdump64 and parse the result with pypykatz"
supported_protocols = ["smb"]

View File

@ -7,7 +7,7 @@ from math import fabs
import re
class nxcModule:
class NXCModule:
'''
Created by fplazar and wanetty
Module by @gm_eduard and @ferranplaza

View File

@ -10,7 +10,7 @@ from dploot.lib.smb import DPLootSMBConnection
from nxc.helpers.logger import highlight
class nxcModule:
class NXCModule:
name = "rdcman"
description = "Remotely dump Remote Desktop Connection Manager (sysinternals) credentials"
supported_protocols = ["smb"]

View File

@ -13,7 +13,7 @@ from impacket.dcerpc.v5.dtypes import NULL
from impacket.dcerpc.v5.rpcrt import RPC_C_AUTHN_LEVEL_PKT_PRIVACY
class nxcModule:
class NXCModule:
name = "rdp"
description = "Enables/Disables RDP"
supported_protocols = ["smb" ,"wmi"]

View File

@ -6,7 +6,7 @@ from impacket.dcerpc.v5 import rrp
from impacket.examples.secretsdump import RemoteOperations
class nxcModule:
class NXCModule:
name = "reg-query"
description = "Performs a registry query on the machine"
supported_protocols = ["smb"]

View File

@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
class nxcModule:
class NXCModule:
name = "runasppl"
description = "Check if the registry value RunAsPPL is set or not"
supported_protocols = ["smb"]

View File

@ -80,7 +80,7 @@ def searchResEntry_to_dict(results):
return data
class nxcModule:
class NXCModule:
name = "get-network"
description = ""
supported_protocols = ["ldap"]

View File

@ -5,7 +5,7 @@ import ntpath
from sys import exit
class nxcModule:
class NXCModule:
"""
Original idea and PoC by Mubix "Rob" Fuller
URL: https://room362.com/post/2016/smb-http-auth-capture-via-scf/

View File

@ -17,7 +17,7 @@ from impacket.smbconnection import SessionError
from nxc.logger import nxc_logger
class nxcModule:
class NXCModule:
name = "shadowcoerce"
description = "Module to check if the target is vulnerable to ShadowCoerce, credit to @Shutdown and @topotam"
supported_protocols = ["smb"]

View File

@ -6,7 +6,7 @@ import ntpath
from sys import exit
class nxcModule:
class NXCModule:
"""
Original idea and PoC by Justin Angel (@4rch4ngel86)
Module by @byt3bl33d3r

View File

@ -497,7 +497,7 @@ class SMBSpiderPlus:
self.logger.success("All files processed successfully.")
class nxcModule:
class NXCModule:
"""
Spider plus module
Module by @vincd

View File

@ -17,7 +17,7 @@ KNOWN_PROTOCOLS = {
}
class nxcModule:
class NXCModule:
"""
For printnightmare: detect if print spooler is enabled or not. Then use @cube0x0's project https://github.com/cube0x0/CVE-2021-1675 or Mimikatz from Benjamin Delpy
Module by @mpgn_x64

View File

@ -13,7 +13,7 @@ def searchResEntry_to_dict(results):
return data
class nxcModule:
class NXCModule:
"""
Retrieves the different Sites and Subnets of an Active Directory

View File

@ -4,7 +4,7 @@
import sqlite3
class nxcModule:
class NXCModule:
name = "teams_localdb"
description = "Retrieves the cleartext ssoauthcookie from the local Microsoft Teams database, if teams is open we kill all Teams process"
supported_protocols = ["smb"]

View File

@ -4,7 +4,7 @@
from sys import exit
class nxcModule:
class NXCModule:
"""
Executes the Test-Connection PowerShell cmdlet
Module by @byt3bl33d3r

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
class nxcModule:
class NXCModule:
'''
Extract all Trust Relationships, Trusting Direction, and Trust Transitivity
Module by Brandon Fisher @shad0wcntr0ller

View File

@ -6,7 +6,7 @@ from impacket.dcerpc.v5 import rrp
from impacket.examples.secretsdump import RemoteOperations
class nxcModule:
class NXCModule:
name = "uac"
description = "Checks UAC status"
supported_protocols = ["smb"]

View File

@ -7,7 +7,7 @@ from impacket.ldap import ldap, ldapasn1
from impacket.ldap.ldap import LDAPSearchError
class nxcModule:
class NXCModule:
"""
Get user descriptions stored in Active Directory.

View File

@ -11,7 +11,7 @@ from base64 import b64encode
from nxc.helpers.powershell import get_ps_script
class nxcModule:
class NXCModule:
"""
Module by @NeffIsBack, @Marshall-Hallenbeck
"""

View File

@ -84,7 +84,7 @@ class ConfigCheck:
context.log.highlight(msg)
context.log.info(info_msg)
class nxcModule:
class NXCModule:
'''
Windows Configuration Checker

View File

@ -6,7 +6,7 @@ from impacket.dcerpc.v5 import rrp
from impacket.examples.secretsdump import RemoteOperations
from sys import exit
class nxcModule:
class NXCModule:
name = "wdigest"
description = "Creates/Deletes the 'UseLogonCredential' registry key enabling WDigest cred dumping on Windows >= 8.1"

View File

@ -4,7 +4,7 @@
from sys import exit
class nxcModule:
class NXCModule:
"""
Kicks off a Metasploit Payload using the exploit/multi/script/web_delivery module
Reference: https://github.com/EmpireProject/Empire/blob/2.0_beta/data/module_source/code_execution/Invoke-MetasploitPayload.ps1

View File

@ -7,7 +7,7 @@ from impacket.smb3structs import FILE_READ_DATA
from impacket.smbconnection import SessionError
class nxcModule:
class NXCModule:
"""
Enumerate whether the WebClient service is running on the target by looking for the
DAV RPC Service pipe. This technique was first suggested by Lee Christensen (@tifkin_)

View File

@ -1,4 +1,4 @@
class nxcModule:
class NXCModule:
"""
Basic enumeration of provided user information and privileges
Module by spyr0 (@spyr0-sec)

View File

@ -17,7 +17,7 @@ import re
import configparser
class nxcModule:
class NXCModule:
"""
Module by @NeffIsBack
"""

View File

@ -9,7 +9,7 @@ from dploot.triage.wifi import WifiTriage
from nxc.helpers.logger import highlight
class nxcModule:
class NXCModule:
name = "wifi"
description = "Get key of all wireless interfaces"
supported_protocols = ["smb"]

View File

@ -12,7 +12,7 @@ from nxc.logger import nxc_logger
MAX_ATTEMPTS = 2000 # False negative chance: 0.04%
class nxcModule:
class NXCModule:
name = "zerologon"
description = "Module to check if the DC is vulnerable to Zerologon aka CVE-2020-1472"
supported_protocols = ["smb", "wmi"]