...and source
This commit is contained in:
parent
237b66b520
commit
203a458878
61
pass.py
Normal file
61
pass.py
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import select
|
||||||
|
import sqlite3
|
||||||
|
import re
|
||||||
|
import signal
|
||||||
|
import sys
|
||||||
|
from systemd import journal
|
||||||
|
|
||||||
|
#regex
|
||||||
|
test = re.compile('Honey: Username.*Password')
|
||||||
|
|
||||||
|
#sqlite
|
||||||
|
conn = sqlite3.connect('local.db')
|
||||||
|
conn.execute("CREATE TABLE IF NOT EXISTS dbas2 (id INTEGER PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, count INT NOT NULL);")
|
||||||
|
|
||||||
|
print ("Table created successfully")
|
||||||
|
#traps
|
||||||
|
def close(sig,frame):
|
||||||
|
conn.close()
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
signal.signal(signal.SIGINT, close)
|
||||||
|
signal.signal(signal.SIGTERM, close)
|
||||||
|
|
||||||
|
def lookup(conn,user,passw):
|
||||||
|
c = conn.cursor()
|
||||||
|
result = c.execute('SELECT count FROM dbas2 WHERE username=? AND password=?', (user, passw))
|
||||||
|
if result.fetchone() is None:
|
||||||
|
c.execute('INSERT INTO dbas2 (username, password, count ) VALUES (?,?,?)',(user,passw, 1))
|
||||||
|
conn.commit()
|
||||||
|
else:
|
||||||
|
c.execute('UPDATE dbas2 SET count = count + 1 WHERE username=? AND password=?', (user, passw))
|
||||||
|
conn.commit()
|
||||||
|
j = journal.Reader()
|
||||||
|
j.log_level(journal.LOG_INFO)
|
||||||
|
|
||||||
|
# j.add_match(_SYSTEMD_UNIT="systemd-udevd.service")
|
||||||
|
j.seek_tail()
|
||||||
|
j.get_previous()
|
||||||
|
# j.get_next() # it seems this is not necessary.
|
||||||
|
|
||||||
|
p = select.poll()
|
||||||
|
p.register(j, j.get_events())
|
||||||
|
|
||||||
|
while p.poll():
|
||||||
|
if j.process() != journal.APPEND:
|
||||||
|
continue
|
||||||
|
|
||||||
|
for entry in j:
|
||||||
|
if entry['MESSAGE'] != "" and test.match(entry['MESSAGE']):
|
||||||
|
code = entry['MESSAGE'].split(" ")
|
||||||
|
username = code[2]
|
||||||
|
if len(code) > 4:
|
||||||
|
password = code[4]
|
||||||
|
else:
|
||||||
|
password = "##EMPTY_STRING##"
|
||||||
|
print("Username: " + username + "\t\t\tPassword: " + password )
|
||||||
|
lookup(conn,username.encode('utf-8'),password.encode('utf-8'))
|
||||||
|
#print(str(entry['__REALTIME_TIMESTAMP'] )+ ' ' + entry['MESSAGE'])
|
||||||
|
|
||||||
|
print("killing me softly")
|
Loading…
Reference in a new issue