Skip to content

Commit 652fc12

Browse files
committed
Categorize modules
1 parent ac7446b commit 652fc12

120 files changed

Lines changed: 323 additions & 25 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

nxc/modules/adcs.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class NXCModule:
1515
name = "adcs"
1616
description = "Find PKI Enrollment Services in Active Directory and Certificate Templates Names"
1717
supported_protocols = ["ldap"]
18+
category = CATEGORY.ENUMERATION
1819

1920
def __init__(self, context=None, module_options=None):
2021
self.context = context

nxc/modules/add-computer.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from impacket.dcerpc.v5 import samr, epm, transport
55
from impacket.dcerpc.v5.rpcrt import RPC_C_AUTHN_GSS_NEGOTIATE
66

7+
from nxc.helpers.misc import CATEGORY
8+
79

810
class NXCModule:
911
"""
@@ -16,6 +18,7 @@ class NXCModule:
1618
name = "add-computer"
1719
description = "Adds or deletes a domain computer"
1820
supported_protocols = ["smb"]
21+
category = CATEGORY.PRIVILEGE_ESCALATION
1922

2023
def options(self, context, module_options):
2124
"""

nxc/modules/aws-credentials.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from nxc.helpers.misc import CATEGORY
2+
3+
14
class NXCModule:
25
"""
36
Search for aws credentials files on linux and windows machines
@@ -8,6 +11,7 @@ class NXCModule:
811
name = "aws-credentials"
912
description = "Search for aws credentials files."
1013
supported_protocols = ["ssh", "smb", "winrm"]
14+
category = CATEGORY.CREDENTIAL_DUMPING
1115

1216
def __init__(self):
1317
self.search_path_linux = "'/home/' '/tmp/'"

nxc/modules/backup_operator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
from impacket.smbconnection import SessionError
77
from impacket.dcerpc.v5 import transport, rrp
88
from impacket.dcerpc.v5.rpcrt import RPC_C_AUTHN_GSS_NEGOTIATE
9+
from nxc.helpers.misc import CATEGORY
910
from nxc.paths import NXC_PATH
1011

1112

1213
class NXCModule:
1314
name = "backup_operator"
1415
description = "Exploit user in backup operator group to dump NTDS @mpgn_x64"
1516
supported_protocols = ["smb"]
17+
category = CATEGORY.PRIVILEGE_ESCALATION
1618

1719
def __init__(self, context=None, module_options=None):
1820
self.context = context

nxc/modules/badsuccessor.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from impacket.ldap import ldaptypes
2+
from nxc.helpers.misc import CATEGORY
23
from nxc.parsers.ldap_results import parse_result_attributes
34
from ldap3.protocol.microsoft import security_descriptor_control
45

@@ -79,6 +80,7 @@ class NXCModule:
7980
name = "badsuccessor"
8081
description = "Check if vulnerable to bad successor attack (DMSA)"
8182
supported_protocols = ["ldap"]
83+
category = CATEGORY.ENUMERATION
8284

8385
def __init__(self):
8486
self.context = None

nxc/modules/bitlocker.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
from impacket.dcerpc.v5.dcomrt import DCOMConnection
55
from impacket.dcerpc.v5.rpcrt import RPC_C_AUTHN_LEVEL_PKT_PRIVACY
66

7+
from nxc.helpers.misc import CATEGORY
8+
79

810
class NXCModule:
911
name = "bitlocker"
1012
description = "Enumerating BitLocker Status on target(s) If it is enabled or disabled."
1113
supported_protocols = ["smb", "wmi"]
14+
category = CATEGORY.ENUMERATION
1215

1316
def __init__(self, context=None, module_options=None):
1417
self.context = context

nxc/modules/change-password.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
from impacket.dcerpc.v5 import samr, epm, transport
33
from impacket.dcerpc.v5.rpcrt import DCERPCException
44

5+
from nxc.helpers.misc import CATEGORY
6+
57

68
class NXCModule:
79
"""
@@ -12,6 +14,7 @@ class NXCModule:
1214
name = "change-password"
1315
description = "Change or reset user passwords via various protocols"
1416
supported_protocols = ["smb"]
17+
category = CATEGORY.PRIVILEGE_ESCALATION
1518

1619
def options(self, context, module_options):
1720
"""

nxc/modules/coerce_plus.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@
66

77
from impacket.uuid import uuidtup_to_bin
88

9+
from nxc.helpers.misc import CATEGORY
10+
911

1012
class NXCModule:
1113
name = "coerce_plus"
1214
description = "Module to check if the Target is vulnerable to any coerce vulns. Set LISTENER IP for coercion."
1315
supported_protocols = ["smb"]
16+
category = CATEGORY.PRIVILEGE_ESCALATION
1417

1518
def __init__(self, context=None, module_options=None):
1619
self.context = context

nxc/modules/daclread.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from enum import Enum
55
from impacket.ldap import ldaptypes
66
from impacket.uuid import bin_to_string
7+
from nxc.helpers.misc import CATEGORY
78
from nxc.helpers.msada_guids import SCHEMA_OBJECTS, EXTENDED_RIGHTS
89
from nxc.parsers.ldap_results import parse_result_attributes
910
from ldap3.utils.conv import escape_filter_chars
@@ -205,6 +206,7 @@ class NXCModule:
205206
name = "daclread"
206207
description = "Read and backup the Discretionary Access Control List of objects. Be careful, this module cannot read the DACLS recursively, see more explanation in the options."
207208
supported_protocols = ["ldap"]
209+
category = CATEGORY.ENUMERATION
208210

209211
def __init__(self, context=None, module_options=None):
210212
self.context = context

nxc/modules/dfscoerce.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
from nxc.helpers.misc import CATEGORY
2+
3+
14
class NXCModule:
25
name = "dfscoerce"
36
description = "[REMOVED] Module to check if the DC is vulnerable to DFSCoerce, credit to @filip_dragovic/@Wh04m1001 and @topotam"
47
supported_protocols = ["smb"]
8+
category = CATEGORY.PRIVILEGE_ESCALATION
59

610
def __init__(self, context=None, module_options=None):
711
self.context = context

0 commit comments

Comments
 (0)