-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcheckInfo.py
More file actions
129 lines (122 loc) · 4.36 KB
/
Copy pathcheckInfo.py
File metadata and controls
129 lines (122 loc) · 4.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import re
import mapData as md
import json
#filename = "datastore"
#target = open(filename, 'a')
#w = csv.writer(open("datastore.csv", "a"))
datastore = {'wp':[], 'sql':[], 'server':[], 'ssh':[], 'redis':[]}
dataF = {'wp':[], 'sql':[], 'server':[], 'ssh':[], 'redis':[]}
#TODO: Use addr:port or dict of arrays?
def checkInfo(data, d_addr, s_addr, dest_port, datastore):
#d_addr = []
#print data
if re.search('GET /wp-.', data):
if d_addr not in datastore['wp']:
datastore['wp'].append(d_addr)
#d_addr.add(dest_port)
#datastore['wp'] = d_addr
print d_addr+" hosts wordpress application"
if re.search('.sql.', data) and re.search('.client.', data):
if d_addr not in datastore['sql']:
datastore['sql'].append(d_addr+':'+dest_port)
print d_addr+" has MySQL server"
if re.search('Server: ', data):
position = re.search('Server: ', data).start()
server = data[position:]
server = server.split('\r\n')
server = server[0]
server = server.split(':')[1]
if s_addr+":"+server not in datastore['server']:
print s_addr+":"+server
datastore['server'].append(s_addr+":"+server)
if re.search('M.i.c.r.o.s.o.f.t. .S.Q.L. .S.e.r.v.e.r.....', data):
print "MSSQL server here"
#Write data to file
#target.write(datastore)
#for key, val in datastore.items():
# w.writerow([key, val])
#with open('packetData.json', 'w+') as outfile:
# json.dump(data, outfile)
dataF=json.load(open('datastore.json'))
for k, v in datastore.iteritems():
for i in v:
#print '-' * 20
#print i, v
if i not in dataF[k]:
#print dataFile[k]
#print i
dataF[k].append(i)
with open('datastore.json', 'w+') as outfile:
#writer = csv.writer(outfile)
#for key, val in dataFile.items():
# writer.writerow([key, val])
#writer.writerows(dataFile.items())
try:
json.dump(dataF, outfile)
except:
print "Cant write"
#md.mapData()
def writeData():
#for key, val in datastore.items():
#w.writerow([key, val])
dataFile = {'wp':[], 'sql':[], 'server':[], 'ssh':[], 'redis':[]}
#print datastore
#Open the file, read it. Compare the data with new found data and merge data.
#with open('datastore.json', 'r+') as infile:
#data = csv.reader(infile)
dataF=json.load(open('datastore.json'))
#dataF = json.load(infile)
#print dataF
#for row in data:
#k, v = row
#dataFile[k] = v #Current data
#print type(v)
#for key, val in datastore.items():
#writer.writerow([key, val])
#ds = (datastore, dataFile)
#newData = {}
#for k in datastore.iterkeys():
# newData[k] = list(newData[k] for newData[k] in ds)
#newData = {}
for k, v in datastore.iteritems():
for i in v:
#print '-' * 20
print i, v
if i not in dataF[k]:
#print dataFile[k]
#print i
dataF[k].append(i)
#datastore=data
#except:
# print "Cant read datastore file"
''' data = json.load(infile)
for row in data:
print row
k, v = row
dataFile[k] = v #Current data
print type(v)
#for key, val in datastore.items():
#writer.writerow([key, val])
#ds = (datastore, dataFile)
#newData = {}
#for k in datastore.iterkeys():
# newData[k] = list(newData[k] for newData[k] in ds)
#newData = {}
print datastore
for k, v in datastore.iteritems():
for i in v:
if i not in dataFile[k]:
#print dataFile[k]
#print i
dataFile[k].append(i)'''
#Write data to file
with open('datastore.json', 'w+') as outfile:
#writer = csv.writer(outfile)
#for key, val in dataFile.items():
# writer.writerow([key, val])
#writer.writerows(dataFile.items())
try:
json.dump(dataF, outfile)
except:
print "Cant write"
#md.mapData()