本篇讲从杀软快速提取报毒文件.
不论是个人还是工作都可能用到这个..
0x1 指定目录恢复
360/金山等提供了这一方便的功能,先处理样本,如果要集中查看杀软处理的样本是不是自己的重要资料或者误报,可以恢复到指定目录方便查看.
0x2 py脚本处理
趋势就比较那啥了,太注重安全了,没有指定目录恢复,单个恢复也要好几步操作,还好的是可以导出log(趋势试用期过了,截不了图了).
就从log入手,写了个半个py进行处理.
2.1 log格式
日期/时间,威胁名称,类型,受感染文件,处理措施,检测方式,来自,收件人,主题,协议
2017/7/15 17:48,HTML_PHISH.YTUDN,威胁,E:\测试\trendmicro\061bb1de2dbe82287e8f138cd9b5ba298af505b43d076a04a8e026a61e4f8ff2,已移除,手动扫描,,,,
2017/7/15 17:48,TROJ_POWLOAD.GQA,威胁,E:\测试\trendmicro\a505d0d502bac07359a455d2ae3babd5c99f8765b8130eeb9c4f49679b187193,已移除,手动扫描,,,,
2017/7/15 17:48,VBS_BANLOAD.YWNPL,威胁,E:\测试\trendmicro\a5b34e0b83bd6665f01f149e45ee90e6aa8885ba7444dbcca8e5e8c4f9363593,已移除,手动扫描,,,,
2017/7/15 17:48,HTML_MALPHISH.SMX,威胁,E:\测试\trendmicro\a84411decbe4469bcd359b5dbd5ae41b78f701a59d1f661eb61418d593a232df,已移除,手动扫描,,,,
2017/7/15 17:48,Mal_Hifrm,病毒,E:\测试\trendmicro\a4d17f7039f9be25a35cad04af5ca7a035f473747befd11fa9bb7b6d7d1083aa,已移除,手动扫描,,,,
2017/7/15 17:48,Mal_Hifrm,病毒,E:\测试\trendmicro\a505ede2e3ee8561828f6506af0d0f208d7d1342f1254470250ffd2a055873f6,已移除,手动扫描,,,,
2.2 4256_v0.2.py处理
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a test module ahoo'
__author__ = 'ahoo'
import sys
import os
import codecs
import re
import shutil
myVirus = []
Md5Virus= []
PutPath = 'log.txt' #趋势log文件
OutPath = 'log_sha256.txt' #提取到的sha256文件
whiteFilePaht = '' #全部文件的文件夹路径
def test():
argv = sys.argv
argc = len(sys.argv)
if argc > 3:
print('Too many argv')
return False
#---------------获取到sha256-输出到文件-----------
if os.path.exists(PutPath):
f = codecs.open(PutPath,'r','utf-8')
f_out = codecs.open(OutPath,'w','utf-8')
#读入到list
for line in f:
if None == line:
pass
else:
myVirus.append(line)
f.close()
#--开始查找自己的VirusFamily
#--还有一种方法:用,分割,找到line.split(',')[2][-64:]
for i in myVirus:
if "trendmicro" in i:
# 写入myVirus
loc = i.index("trendmicro")
shastr = i[loc+11:loc+43]
Md5Virus.append(shastr)
f_out.write(shastr + '\n')
f_out.close()
#遍历文件----不需要的删除.
for parent,dirnames,filenames in os.walk(whiteFilePaht):
for filename in filenames:
filenamePath = os.path.join(parent, filename)
if filename not in Md5Virus:
os.remove(filenamePath)
print("完成!")
return True
if __name__ == '__main__':
test()