Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: function takes exactly 1 argument (3 given) when processing principal #34

Open
franckc2 opened this issue Sep 16, 2021 · 7 comments

Comments

@franckc2
Copy link

Hi,

here is the line I am using :
c:\Python27\python.exe C:\zgms\TEMPO\2NTDSX\dskeytab.py .\datatable.4 .\link_table.5 .\SYSTEM C:\zgms\TEMPO C:\zgms\TEMPO\keytab.key

The first part when through easily but I get stuck when it wants to create the KAYTAB file.

[+] Initialising engine...
[+] Loading saved map files (Stage 1)...
[+] Loading saved map files (Stage 2)...
Processing principal AD03-DTC$.
Error in sys.excepthook:
Traceback (most recent call last):
File "C:\zgms\TEMPO\2NTDSX\ntds_init_.py", line 31, in simple_exception
sys.stderr.write("[!] Error!", value, "\n")
TypeError: function takes exactly 1 argument (3 given)

Original exception was:
Traceback (most recent call last):
File "C:\zgms\TEMPO\2NTDSX\dskeytab.py", line 263, in
dsAddPrincipalEntries(principal, keytabFile)
File "C:\zgms\TEMPO\2NTDSX\dskeytab.py", line 145, in dsAddPrincipalEntries
kerberosKeys = dsGetPrincipalKerberosKeys(principal)
File "C:\zgms\TEMPO\2NTDSX\dskeytab.py", line 163, in dsGetPrincipalKerberosKeys
creds = principal.getSupplementalCredentials()
File "C:\zgms\TEMPO\2NTDSX\ntds\dsobjects.py", line 254, in getSupplementalCredentials
return dsSupplCredentials(tmpdec)
File "C:\zgms\TEMPO\2NTDSX\ntds\dsobjects.py", line 506, in init
self.ParseUserProperties(text)
File "C:\zgms\TEMPO\2NTDSX\ntds\dsobjects.py", line 533, in ParseUserProperties
assert reserved1 == 0
AssertionError

Since I get through the first part, I guess I am doing at least part of it right.

Thanks for you help.

@lzzbb
Copy link

lzzbb commented Dec 20, 2021

+1

@CppXL
Copy link

CppXL commented Jan 6, 2022

you can delete that line, look like this

def simple_exception(type, value, traceback):
    #sys.stderr.write( value)
    sys.exit(1)

@qihu0808
Copy link

i have the same issue ,but it is not working

@CppXL
Copy link

CppXL commented Mar 25, 2022

show u issue

@qihu0808
Copy link

show u issue

└─$ python2 ../ntdsxtract/dskeytab.py ../ntds.dit.export/datatable.4 ../ntds.dit.export/link_table.7 ../system.hive ~/ntdsxtract/ 1.keytab

[+] Initialising engine...
[+] Loading saved map files (Stage 1)...
[+] Loading saved map files (Stage 2)...
Processing principal Administrator.
Error in sys.excepthook:
Traceback (most recent call last):
File "/home/kali/ntdsxtract/ntds/init.py", line 31, in simple_exception
sys.stderr.write("[!] Error!", value, "\n")
TypeError: function takes exactly 1 argument (3 given)

Original exception was:
Traceback (most recent call last):
File "../ntdsxtract/dskeytab.py", line 239, in
dsAddPrincipalEntries(principal, keytabFile)
File "../ntdsxtract/dskeytab.py", line 145, in dsAddPrincipalEntries
kerberosKeys = dsGetPrincipalKerberosKeys(principal)
File "../ntdsxtract/dskeytab.py", line 163, in dsGetPrincipalKerberosKeys
creds = principal.getSupplementalCredentials()
File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 254, in getSupplementalCredentials
return dsSupplCredentials(tmpdec)
File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 506, in init
self.ParseUserProperties(text)
File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 533, in ParseUserProperties
assert reserved1 == 0
AssertionError

is it the different formats of ntds.dit ? my dc is win2016

@qihu0808
Copy link

show u issue

└─$ python2 ../ntdsxtract/dskeytab.py ../ntds.dit.export/datatable.4 ../ntds.dit.export/link_table.7 ../system.hive ~/ntdsxtract/ 1.keytab

[+] Initialising engine... [+] Loading saved map files (Stage 1)... [+] Loading saved map files (Stage 2)... Processing principal Administrator. Error in sys.excepthook: Traceback (most recent call last): File "/home/kali/ntdsxtract/ntds/init.py", line 31, in simple_exception sys.stderr.write("[!] Error!", value, "\n") TypeError: function takes exactly 1 argument (3 given)

Original exception was: Traceback (most recent call last): File "../ntdsxtract/dskeytab.py", line 239, in dsAddPrincipalEntries(principal, keytabFile) File "../ntdsxtract/dskeytab.py", line 145, in dsAddPrincipalEntries kerberosKeys = dsGetPrincipalKerberosKeys(principal) File "../ntdsxtract/dskeytab.py", line 163, in dsGetPrincipalKerberosKeys creds = principal.getSupplementalCredentials() File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 254, in getSupplementalCredentials return dsSupplCredentials(tmpdec) File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 506, in init self.ParseUserProperties(text) File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 533, in ParseUserProperties assert reserved1 == 0 AssertionError

is it the different formats of ntds.dit ? my dc is win2016
with your solution,it is disable the error debug,and get a same result

└─$ python2 ../ntdsxtract/dskeytab.py ../ntds.dit.export/datatable.4 ../ntds.dit.export/link_table.7 ../system.hive ~/ntdsxtract/ 1.keytab

[+] Initialising engine...
[+] Loading saved map files (Stage 1)...
[+] Loading saved map files (Stage 2)...
Processing principal Administrator.

┌──(mytest)─(kali㉿kali)-[~/mytest]
└─$ ktutil -k 1.keytab list 1 ⨯
1.keytab:

Vno Type Principal Aliases

@CppXL
Copy link

CppXL commented Mar 26, 2022

show u issue

└─$ python2 ../ntdsxtract/dskeytab.py ../ntds.dit.export/datatable.4 ../ntds.dit.export/link_table.7 ../system.hive ~/ntdsxtract/ 1.keytab
[+] Initialising engine... [+] Loading saved map files (Stage 1)... [+] Loading saved map files (Stage 2)... Processing principal Administrator. Error in sys.excepthook: Traceback (most recent call last): File "/home/kali/ntdsxtract/ntds/init.py", line 31, in simple_exception sys.stderr.write("[!] Error!", value, "\n") TypeError: function takes exactly 1 argument (3 given)
Original exception was: Traceback (most recent call last): File "../ntdsxtract/dskeytab.py", line 239, in dsAddPrincipalEntries(principal, keytabFile) File "../ntdsxtract/dskeytab.py", line 145, in dsAddPrincipalEntries kerberosKeys = dsGetPrincipalKerberosKeys(principal) File "../ntdsxtract/dskeytab.py", line 163, in dsGetPrincipalKerberosKeys creds = principal.getSupplementalCredentials() File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 254, in getSupplementalCredentials return dsSupplCredentials(tmpdec) File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 506, in init self.ParseUserProperties(text) File "/home/kali/ntdsxtract/ntds/dsobjects.py", line 533, in ParseUserProperties assert reserved1 == 0 AssertionError
is it the different formats of ntds.dit ? my dc is win2016
with your solution,it is disable the error debug,and get a same result

└─$ python2 ../ntdsxtract/dskeytab.py ../ntds.dit.export/datatable.4 ../ntds.dit.export/link_table.7 ../system.hive ~/ntdsxtract/ 1.keytab

[+] Initialising engine... [+] Loading saved map files (Stage 1)... [+] Loading saved map files (Stage 2)... Processing principal Administrator.

┌──(mytest)─(kali㉿kali)-[~/mytest] └─$ ktutil -k 1.keytab list 1 ⨯ 1.keytab:

Vno Type Principal Aliases

I try it on windows server 2008 export files, it's working. but use it on windows server2016/2019, got an error

maybe, on windows server 2016/2019 the file format has been change. so u can use server 2008 to decrypt kerberos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants
@CppXL @qihu0808 @franckc2 @lzzbb and others