Skip to content

Commit e73d002

Browse files
committed
Fixed a bug that can not load additional timezone log #95
1 parent 9551842 commit e73d002

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

logontracer.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,14 @@ def xml_records(filename):
693693
yield xml, e
694694

695695

696+
def convert_logtime(logtime, tzone):
697+
tzless = re.sub('[^0-9-:\s]', '', logtime.split(".")[0]).strip()
698+
try:
699+
return datetime.datetime.strptime(tzless, "%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=tzone)
700+
except:
701+
return datetime.datetime.strptime(tzless, "%Y-%m-%dT%H:%M:%S") + datetime.timedelta(hours=tzone)
702+
703+
696704
# Parse the EVTX file
697705
def parse_evtx(evtx_list):
698706
cache_dir = os.path.join(FPATH, 'cache')
@@ -830,10 +838,7 @@ def parse_evtx(evtx_list):
830838

831839
if eventid in EVENT_ID:
832840
logtime = node.xpath("/Event/System/TimeCreated")[0].get("SystemTime")
833-
try:
834-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=tzone)
835-
except:
836-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%dT%H:%M:%S") + datetime.timedelta(hours=tzone)
841+
etime = convert_logtime(logtime, tzone)
837842
stime = datetime.datetime(*etime.timetuple()[:4])
838843
if args.fromdate or args.todate:
839844
if args.fromdate and fdatetime > etime:
@@ -1052,10 +1057,7 @@ def parse_evtx(evtx_list):
10521057
###
10531058
if eventid == 1102:
10541059
logtime = node.xpath("/Event/System/TimeCreated")[0].get("SystemTime")
1055-
try:
1056-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=tzone)
1057-
except:
1058-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%dT%H:%M:%S") + datetime.timedelta(hours=tzone)
1060+
etime = convert_logtime(logtime, tzone)
10591061
deletelog.append(etime.strftime("%Y-%m-%d %H:%M:%S"))
10601062

10611063
namespace = "http://manifests.microsoft.com/win/2004/08/windows/eventlog"
@@ -1401,10 +1403,7 @@ def parse_es():
14011403

14021404
if eventid in EVENT_ID:
14031405
logtime = hit["@timestamp"].replace("T", " ").split(".")[0]
1404-
try:
1405-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=tzone)
1406-
except:
1407-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%dT%H:%M:%S") + datetime.timedelta(hours=tzone)
1406+
etime = convert_logtime(logtime, tzone)
14081407

14091408
stime = datetime.datetime(*etime.timetuple()[:4])
14101409

@@ -1603,10 +1602,7 @@ def parse_es():
16031602
###
16041603
if eventid == 1102:
16051604
logtime = hit["@timestamp"]
1606-
try:
1607-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=tzone)
1608-
except:
1609-
etime = datetime.datetime.strptime(logtime.split(".")[0], "%Y-%m-%dT%H:%M:%S") + datetime.timedelta(hours=tzone)
1605+
etime = convert_logtime(logtime, tzone)
16101606
deletelog.append(etime.strftime("%Y-%m-%d %H:%M:%S"))
16111607

16121608
if hasattr(event.user_data, "SubjectUserName"):

0 commit comments

Comments
 (0)