From cbf7be1d129afb8d24da4639a7c31362907fcf90 Mon Sep 17 00:00:00 2001 From: lanjelot Date: Fri, 2 Jun 2017 08:35:08 +1000 Subject: [PATCH] Fix xml output --- README.md | 62 +++++++++++++++++++++++++++--------------------------- patator.py | 8 ++++--- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 66367a7..ff36a6c 100644 --- a/README.md +++ b/README.md @@ -3,37 +3,37 @@ Patator was written out of frustration from using Hydra, Medusa, Ncrack, Metaspl Currently it supports the following modules: ``` -* `ftp_login` : Brute-force FTP -* `ssh_login` : Brute-force SSH -* `telnet_login` : Brute-force Telnet -* `smtp_login` : Brute-force SMTP -* `smtp_vrfy` : Enumerate valid users using the SMTP VRFY command -* `smtp_rcpt` : Enumerate valid users using the SMTP RCPT TO command -* `finger_lookup` : Enumerate valid users using Finger -* `http_fuzz` : Brute-force HTTP/HTTPS -* `ajp_fuzz` : Brute-force AJP -* `pop_login` : Brute-force POP -* `pop_passd` : Brute-force poppassd (not POP3) -* `imap_login` : Brute-force IMAP -* `ldap_login` : Brute-force LDAP -* `smb_login` : Brute-force SMB -* `smb_lookupsid` : Brute-force SMB SID-lookup -* `rlogin_login` : Brute-force rlogin -* `vmauthd_login` : Brute-force VMware Authentication Daemon -* `mssql_login` : Brute-force MSSQL -* `oracle_login` : Brute-force Oracle -* `mysql_login` : Brute-force MySQL -* `mysql_query` : Brute-force MySQL queries -* `rdp_login` : Brute-force RDP (NLA) -* `pgsql_login` : Brute-force PostgreSQL -* `vnc_login` : Brute-force VNC -* `dns_forward` : Brute-force DNS -* `dns_reverse` : Brute-force DNS (reverse lookup subnets) -* `ike_enum` : Enumerate IKE transforms -* `snmp_login` : Brute-force SNMPv1/2 and SNMPv3 -* `unzip_pass` : Brute-force the password of encrypted ZIP files -* `keystore_pass` : Brute-force the password of Java keystore files -* `umbraco_crack` : Crack Umbraco HMAC-SHA1 password hashes +* ftp_login : Brute-force FTP +* ssh_login : Brute-force SSH +* telnet_login : Brute-force Telnet +* smtp_login : Brute-force SMTP +* smtp_vrfy : Enumerate valid users using the SMTP VRFY command +* smtp_rcpt : Enumerate valid users using the SMTP RCPT TO command +* finger_lookup : Enumerate valid users using Finger +* http_fuzz : Brute-force HTTP/HTTPS +* ajp_fuzz : Brute-force AJP +* pop_login : Brute-force POP +* pop_passd : Brute-force poppassd (not POP3) +* imap_login : Brute-force IMAP +* ldap_login : Brute-force LDAP +* smb_login : Brute-force SMB +* smb_lookupsid : Brute-force SMB SID-lookup +* rlogin_login : Brute-force rlogin +* vmauthd_login : Brute-force VMware Authentication Daemon +* mssql_login : Brute-force MSSQL +* oracle_login : Brute-force Oracle +* mysql_login : Brute-force MySQL +* mysql_query : Brute-force MySQL queries +* rdp_login : Brute-force RDP (NLA) +* pgsql_login : Brute-force PostgreSQL +* vnc_login : Brute-force VNC +* dns_forward : Brute-force DNS +* dns_reverse : Brute-force DNS (reverse lookup subnets) +* ike_enum : Enumerate IKE transforms +* snmp_login : Brute-force SNMPv1/2 and SNMPv3 +* unzip_pass : Brute-force the password of encrypted ZIP files +* keystore_pass : Brute-force the password of Java keystore files +* umbraco_crack : Crack Umbraco HMAC-SHA1 password hashes ``` The name "Patator" comes from https://www.youtube.com/watch?v=kU2yPJJdpag diff --git a/patator.py b/patator.py index a7c072d..e793a87 100755 --- a/patator.py +++ b/patator.py @@ -789,9 +789,11 @@ def process_logs(queue, indicatorsfmt, argv, log_dir): f.write('\n') else: # remove "..." - with open(results_xml, 'r+') as f: - f.seek(f.read().find('')) - f.truncate(f.tell()) + with open(results_xml, 'r+b') as f: + offset = f.read().find('') + if offset != -1: + f.seek(offset) + f.truncate(f.tell()) handler_log = logging.FileHandler(runtime_log) handler_csv = logging.FileHandler(results_csv)