byt3bl33d3r / CrackMapExec

A swiss army knife for pentesting networks
BSD 2-Clause "Simplified" License
8.38k stars 1.64k forks source link

New old utf-8 bugs #75

Closed maaaaz closed 8 years ago

maaaaz commented 8 years ago

@byt3bl33d3r, here comes the annoying utf-8 guy again. I'm proposing solutions in PR #76:

(venvcrackmapexec)root@kali:~/Partage/CrackMapExec_fork# python crackmapexec.py 192.168.11.144 -u àlolé -p yoloswag1! -x "whoami"
01-24-2016 11:24:27 SMB 192.168.11.144:445 DC01       [*] Windows 6.3 Build 9600 (name:DC01) (domain:ADYOLO)
Traceback (most recent call last):
  File "/root/venvcrackmapexec/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/greenlets.py", line 115, in main_greenlet
    smb, user, passwd, ntlm_hash, domain = smart_login(host, domain, smb, cme_logger)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/smartlogin.py", line 124, in smart_login
    cme_logger.success(u"Login successful {}\\{}:{}".format(domain, user, passwd))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
<Greenlet at 0xb6637edcL: main_greenlet('192.168.11.144')> failed with UnicodeDecodeError
(venvcrackmapexec)root@kali:~/Partage/CrackMapExec_fork# python crackmapexec.py 192.168.11.144 -u administrator -p <passwd> --sessions
01-24-2016 11:27:05 SMB 192.168.11.144:445 DC01       [*] Windows 6.3 Build 9600 (name:DC01) (domain:ADYOLO)
01-24-2016 11:27:05 SMB 192.168.11.144:445 DC01       [+] Login successful ADYOLO\administrator:test124!
01-24-2016 11:27:05 SMB 192.168.11.144:445 DC01       [+] Enumerating active sessions
Traceback (most recent call last):
  File "/root/venvcrackmapexec/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/greenlets.py", line 191, in main_greenlet
    rpc_query.enum_sessions(host)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/rpcquery.py", line 73, in enum_sessions
    session['sesi502_idle_time']))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 0: ordinal not in range(128)
<Greenlet at 0xb6685edcL: main_greenlet('192.168.11.144')> failed with UnicodeEncodeError
(venvcrackmapexec)root@kali:~/Partage/CrackMapExec_fork# python crackmapexec.py 192.168.11.144 -u administrator -p <passwd> --sessions
01-24-2016 11:27:42 SMB 192.168.11.144:445 DC01       [*] Windows 6.3 Build 9600 (name:DC01) (domain:ADYOLO)
01-24-2016 11:27:42 SMB 192.168.11.144:445 DC01       [+] Login successful ADYOLO\administrator:test124!
01-24-2016 11:27:43 SMB 192.168.11.144:445 DC01       [+] Enumerating active sessions
01-24-2016 11:27:43 SMB 192.168.11.144:445 DC01       \\[::1] àlolé [opens:4 time:1220 idle:708]
(venvcrackmapexec)root@kali:~/Partage/CrackMapExec_fork# python crackmapexec.py 192.168.11.144 -d adyolo -u àlolé -H :1356a6dd7709ab1640d062fa957d6634 -x 'whoami'
01-24-2016 12:49:17 SMB 192.168.11.144:445 DC01       [*] Windows 6.3 Build 9600 (name:DC01) (domain:adyolo)
01-24-2016 12:49:17 SMB 192.168.11.144:445 DC01       [+] Login successful adyolo\àlolé::1356a6dd7709ab1640d062fa957d6634
01-24-2016 12:49:19 SMB 192.168.11.144:445 DC01       [+] Executed command via WMIEXEC
ERROR:root:'ascii' codec can't decode byte 0x85 in position 7: ordinal not in range(128)
Traceback (most recent call last):
  File "/root/venvcrackmapexec/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/greenlets.py", line 247, in main_greenlet
    ntlm_hash)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/executor.py", line 24, in __init__
    wmi_exec.run(host, smbconnection)
  File "/mnt/hgfs/Partage/CrackMapExec_fork/core/scripts/wmiexec.py", line 82, in run
    dcom.disconnect()
  File "/root/venvcrackmapexec/local/lib/python2.7/site-packages/impacket/dcerpc/v5/dcomrt.py", line 1070, in disconnect
    del(INTERFACE.CONNECTIONS[self.__target][currentThread().getName()])
KeyError: 'Dummy-1'
<Greenlet at 0xb666198cL: main_greenlet('192.168.11.144')> failed with KeyError
(venvcrackmapexec)root@kali:~/Partage/CrackMapExec_fork# python crackmapexec.py 192.168.11.144 -d adyolo -u àlolé -H :1356a6dd7709ab1640d062fa957d6634 -x 'echo àlolé' --execm smbexec
01-24-2016 12:47:32 SMB 192.168.11.144:445 DC01       [*] Windows 6.3 Build 9600 (name:DC01) (domain:adyolo)
01-24-2016 12:47:32 SMB 192.168.11.144:445 DC01       [+] Login successful adyolo\àlolé::1356a6dd7709ab1640d062fa957d6634
01-24-2016 12:47:32 SMB 192.168.11.144:445 DC01       [+] Executed command via SMBEXEC
CRITICAL:root:'ascii' codec can't decode byte 0xe0 in position 9: ordinal not in range(128)
(venvcrackmapexec)root@kali:~/Partage/CrackMapExec_fork# python crackmapexec.py 192.168.11.144 -d adyolo -u àlolé -H :1356a6dd7709ab1640d062fa957d6634 -x 'echo àlolé' --execm atexec
01-24-2016 12:47:50 SMB 192.168.11.144:445 DC01       [*] Windows 6.3 Build 9600 (name:DC01) (domain:adyolo)
01-24-2016 12:47:50 SMB 192.168.11.144:445 DC01       [+] Login successful adyolo\àlolé::1356a6dd7709ab1640d062fa957d6634
01-24-2016 12:47:50 SMB 192.168.11.144:445 DC01       [+] Executed command via ATEXEC
ERROR:root:'ascii' codec can't decode byte 0x85 in position 9: ordinal not in range(128)

Cheers.

byt3bl33d3r commented 8 years ago

@maaaaz Thanks, will probably write some unit tests to make sure this doesn't keep happening

byt3bl33d3r commented 8 years ago

@maaaaz Unicode issues should be at a minimum in v3.0, see anymore let me know. Thanks!