安全分析的几个好的工具网站的使用

最近在工作中还是遇到了一些攻击者追查等等事情,结合自己过去做过一年的安全分析师的经验,对几款比较好的追踪溯源网站的使用做一个简介。

一、关联神器passivetotal

1、网址:https://community.riskiq.com/

2、简介:常用来搜索IP、Domain、URL、whois信息、ipwhois信息等,是一个存储数量比较全面,信息量较大,而且可以和时间关联分析。实现这些维度的互查反查是很重要的一个功能。需要注册哦。

3、截图:

二、样本神器virustotal

1、网址:https://www.virustotal.com/#/home/upload

2、简介:可以查询样本在多家杀毒引擎的扫描检测结果,另外可以查询IP、url、hash,这样可以关联下载downloadurl 、恶意域名、IP,以及恶意的样本hash。(注册之后可付费,在线样本可下载)

3、截图:

4、自己查看vt文档写的一个apilib库

  1 #!/usr/bin/env python
  2 #-*-coding:UTF-8-*-
  3 #引入头文件
  4 import os
  5 import sys
  6 import json
  7 import urllib
  8 import urllib2
  9 import hashlib
 10 import postfile
 11 import simplejson
 12
 13 #全局变量
 14 #APIKEY = None
 15 APIKEY = ‘033e1a2ae071f8800d558a968717c2674f8eb728cfb6b470d4713dd744600fb7‘
 16 MYVTOBJ = None
 17 CRONTOL_BIT = 0
 18 #创建VirusTotal类
 19 class VirusTotal:
 20     def __init__(self,apikey):
 21         self.virus_dict = {}
 22         self.apikey = apikey
 23
 24     def get_virus_dict(self):
 25         return self.virus_dict
 26
 27     def upload_one_check_file(self,check_file):
 28         check_host = "www.virustotal.com"
 29         selector = "https://www.virustotal.com/vtapi/v2/file/scan"
 30         fields = [("apikey",self.apikey)]
 31         file_name = os.path.basename(check_file)
 32         try:
 33             file_to_check = open(check_file,‘rb‘).read()
 34         except Exception,ex:
 35             #log.log(ex,3,1)
 36             return (-1,ex)
 37         file_struct = [("file",file_name,file_to_check)]
 38         try:
 39             result_json = postfile.post_multipart(check_host,selector,fields,file_struct)
 40         except Exception,ex:
 41             #log.log(ex,3,2)
 42             return (-1,ex)
 43         return result_json
 44
 45     def upload_check_files(self,files_list):
 46         result_json_list = []
 47         if len(files_list) <= 0:
 48             return (-1,‘files_list error‘)
 49         for item in files_list:
 50             ret = self.quick_check(item)
 51             result_json_list.append(ret)
 52         return result_json_list
 53
 54     def check_file_rescan(self,scanid):
 55         url = "https://www.virustotal.com/vtapi/v2/file/rescan"
 56         scanid_string = None
 57         if type(scanid) is list:
 58             for item in scanid:
 59                 scanid_string += str(item)+‘,‘
 60             scanid_string = scanid_string[0:-1]
 61             parameters = {"resource":scanid_string,"apikey":self.apikey}
 62             try:
 63                 data = urllib.urlencode(parameters)
 64                 check_request = urllib2.Request(url,data)
 65                 response = urllib2.urlopen(check_request)
 66                 result_json = response.read()
 67             except Exception,ex:
 68                 ##log.log(ex,3,2)
 69                 return (-1,ex)
 70             return result_json
 71         parameters = {"resource":scanid,"apikey":self.apikey}
 72         try:
 73             data = urllib.urlencode(parameters)
 74             check_request = urllib2.Request(url,data)
 75             response = urllib2.urlopen(check_request)
 76             result_json = response.read()
 77         except Exception,ex:
 78             #log.log(ex,3,2)
 79             return (-1,ex)
 80         return result_json
 81
 82     def quick_check(self,check_file):
 83         file_md5 = None
 84         print str(check_file)
 85         with open(str(check_file),‘rb‘) as f:
 86             file_md5 = hashlib.md5()
 87             file_md5.update(f.read())
 88             file_md5 = file_md5.hexdigest()
 89         ret = self.upload_one_check_file(check_file)
 90         if ret.find(‘Error 400‘) >= 0:
 91             ret = self.check_file_rescan(file_md5)
 92         ret = simplejson.loads(ret)
 93         return ret["sha256"]
 94
 95     def get_report(self,scanid):
 96         url = "https://www.virustotal.com/vtapi/v2/file/report"
 97         parameters = {"resource":scanid,"apikey":self.apikey}
 98         try:
 99             data = urllib.urlencode(parameters)
100             report_requset = urllib2.Request(url,data)
101             response = urllib2.urlopen(report_requset)
102             result_json = response.read()
103         except Exception,ex:
104             #log.log(ex,3,2)
105             return (-1,ex)
106         return result_json
107
108     def get_report_from_designated_company(self,company,scanid):
109         url = "https://www.virustotal.com/vtapi/v2/file/report"
110         parameters = {"resource":scanid,"apikey":self.apikey}
111         try:
112             data = urllib.urlencode(parameters)
113             report_request = urllib2.Request(url,data)
114             response = urllib2.urlopen(report_request)
115             result_json = response.read()
116             response_dict = simplejson.loads(result_json)
117         except Exception,ex:
118             #log.log(ex,3,2)
119             return (-1,ex)
120         return response_dict.get("scans",{}).get(company,{}).get("result")
121
122     def url_check(self,check_url):
123         url = "https://www.virustotal.com/vtapi/v2/url/scan"
124         check_urls = None
125         if type(check_url) is list:
126             for item in check_url:
127                 check_urls += str(item)+‘\n‘
128             check_urls = check_urls[0:-1]
129             parameters = {"url":check_urls,"apikey":self.apikey}
130             try:
131                 data = urllib.urlencode(parameters)
132                 url_check_request = urllib2.Request(url,data)
133                 response = urllib2.urlopen(url_check_request)
134                 result_json = response.read()
135             except Exception,ex:
136                 #log.log(ex,3,2)
137                 return (-1,ex)
138             return result_json
139         check_urls = str(check_url)
140         parameters = {"url":check_urls,"apikey":self.apikey}
141         try:
142             data = urllib.urlencode(parameters)
143             url_check_request = urllib2.Request(url,data)
144             response = urllib2.urlopen(url_check_request)
145             result_json = response.read()
146         except Exception,ex:
147             #log.log(ex,3,2)
148             return (-1,ex)
149         return result_json
150
151     def get_url_report(self,check_url):
152         url = "https://www.virustotal.com/vtapi/v2/url/report"
153         check_urls = None
154         if type(check_url) is list:
155             for item in check_url:
156                 check_urls += str(item)+‘,‘
157             check_urls = check_urls[0:-1]
158             parameters = {"resource": "http://www.sohu.com","apikey":self.apikey,"scan":"1"}
159             try:
160                 data = urllib.urlencode(parameters)
161                 url_check_request = urllib2.Request(url,data)
162                 response = urllib2.urlopen(url_check_request)
163                 result_json = response.read()
164             except Exception,ex:
165                 #log.log(ex,3,2)
166                 return (-1,ex)
167             return result_json
168         check_urls = str(check_url)
169         parameters = {"resource":check_urls,"apikey":self.apikey}
170         try:
171             data = urllib.urlencode(parameters)
172             url_check_request = urllib2.Request(url,data)
173             response = urllib2.urlopen(url_check_request)
174             result_json = response.read()
175         except Exception,ex:
176             #log.log(ex,3,2)
177             return (-1,ex)
178         return result_json
179
180     def get_url_report_from_designated_company(self,check_url,company):
181         url = "https://www.virustotal.com/vtapi/v2/url/report"
182         check_urls = str(check_url)
183         parameters = {"resource":check_urls,"apikey":self.apikey}
184         try:
185             data = urllib.urlencode(parameters)
186             url_check_request = urllib2.Request(url,data)
187             response = urllib2.urlopen(url_check_request)
188             result_json = response.read()
189         except Exception,ex:
190             #log.log(ex,3,2)
191             return (-1,ex)
192         response_dict = simplejson.loads(result_json)
193         return response_dict.get(‘scans‘,{}).get(company).get(‘result‘)
194
195     def ip_check(self,ip):
196         url = ‘https://www.virustotal.com/vtapi/v2/ip-address/report‘
197         parameters = {‘ip‘:ip,‘apikey‘:self.apikey}
198         try:
199             response = urllib.urlopen(‘%s?%s‘%(url,urllib.urlencode(parameters))).read()
200             response_dict = json.loads(response)
201         except Exception,ex:
202             #log.log(ex,3,2)
203             return (-1,ex)
204         return response_dict
205
206     def domain_check(self,domain):
207         url = ‘https://www.virustotal.com/vtapi/v2/domain/report‘
208         parameters = {‘domain‘:domain,‘apikey‘:self.apikey}
209         try:
210             response = urllib.urlopen(‘%s?%s‘%(url,urllib.urlencode(parameters))).read()
211             response_dict = json.loads(response)
212         except Exception,ex:
213             #log.log(ex,3,2)
214             return (-1,ex)
215         return  response_dict
216
217
218 #快速使用函数
219 def vtocq():
220     global APIKEY
221     global MYVTOBJ
222     global CRONTOL_BIT
223     if CRONTOL_BIT != 0:
224         return (‘-2‘,‘ERROR‘)
225     if APIKEY != None:
226         MYVTOBJ = VirusTotal(APIKEY)
227     else:
228         return (‘-1‘,‘APIKEY information set error!‘)
229     CRONTOL_BIT = 1
230     return MYVTOBJ
231
232 def fcq(file_check,hash_sha1):
233     global MYVTOBJ
234     ret = MYVTOBJ.quick_check(file_check)
235     ret = MYVTOBJ.get_report(hash_sha1)
236     ret = simplejson.loads(ret)
237     vtnumber = ret[‘positives‘]
238     av_macfee = ret[‘scans‘][‘McAfee‘][‘result‘]
239     av_bkav = ret[‘scans‘][‘Bkav‘][‘result‘]
240     av_360 = ret[‘scans‘][‘Qihoo-360‘][‘result‘]
241     ret = {
242         "vtnumber":vtnumber,
243         "av_360":av_360,
244         "av_bkav":av_bkav,
245         "av_macfee":av_macfee
246     }
247     return ret
248
249 def vt_check(filecheck,hash_sha1):
250     vtocq()
251     ret = fcq(filecheck,hash_sha1)
252     print ret
253     return ret
254
255 #vt_check(‘C://PuTTY//plink.exe‘)
256 MYVTOBJ = VirusTotal(APIKEY)
257 print MYVTOBJ.domain_check("lx.com")

三、其他工具:

1、站长之家--站长工具:做一些域名、IP、注册邮箱等信息的关联查询。

2、www.ipip.net:做一些IP地理信息查询。

原文地址:https://www.cnblogs.com/KevinGeorge/p/8289965.html

时间: 2024-08-03 09:06:39

安全分析的几个好的工具网站的使用的相关文章

cocos2dx之tolua++全面分析(一):tolua++工具本身

在cocos2dx/tools/tolua++下面,有大量pkg文件,这些是按tolua++要求格式写好的.需要导出到lua中的c++类描述文件. 每当在c++类里增加了新函数需要导出时,应同步修改相应的pkg文件,然后运行此目录下的build.sh,就会重新生成cocos2dx/script/lua/cocos2dx_support/LuaCocos2d.cpp,里面就包含了对新增函数的封装代码. build.sh的内容如下: ${TOLUA} -L basic.lua -o ../../sc

一个可以实时跟踪分析iOS App视图的小工具

一个可以实时跟踪分析iOS App视图的小工具(已开源) GitHub入口:https://github.com/sx1989827/RunTrace 前言 作为iOS的开发者,常常为了UI界面搞得头破血流,你是不是经常遇到这样的痛点:这个view是从哪里来的,它的父视图是什么,它的子视图有哪些,它的frame会发生什么样的变化,它怎么突然隐藏了,它什么时候会被释放掉,对于像自动布局,错误常常如潮水般的涌来,我想动态获取一个view的约束怎么办,我想知道这个view此时此刻和其他哪些view产生

一些好用的工具网站

png压缩工具网站:https://tinypng.com/ 压缩比挺高,而且压缩之后IE6下图片也变得透明起来,我每次压缩的图片的源图片是png24的,IE6实际上是支持png8并不支持png24.对其压缩方式有待进一步了解,效果明显,值得一试. ...待更新. 一些好用的工具网站

web工具网站等

工具 1.chrome扩展packaged包不能使用ga,改用这个:https://github.com/GoogleChrome/chrome-platform-analytics/wiki 2.fiddle:网络抓包工具 网站 1.goo.gl:谷歌短链接并统计 有趣的网页游戏: 1.http://www.webhek.com/page-visibility中的http://www.webhek.com/misc/inverter和http://www.webhek.com/html5-co

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发人员工具 网站设置

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发人员工具 网站设置 你应该熟悉(如果还咩有)的SharePoint主要部分之一是网站设置.你可用点击右手角落的齿轮图标,点击网站设置来访问网站设置.在此页面你会发现大部分站点配置,所以这是尝试理解在哪儿你可以改变站点主题.激活功能.管理权限等的好地方.下图显示了网站设置页面,注意网站设置核心功能被分成几个主要部分.例如,大多安全设置在用户和权限类别中可用,主题是在Web设

一个非常有意思的在线工具网站(绝对不是广告)

今天在网上搜索一个basecode和正常文本互转的工具时,发现了一个很好的在线工具网站,不敢自己独自享用,现给大家推荐一下. 这个网站的地址是:http://tool.oschina.net/ 还挺有意思的.可以测试自己写正则表达式是否正确,可以在线直接做Basecode64编码转换,也可以直接用感兴趣的算法进行加密和解密,此外还有一些很好的帮助文档,希望对大家工作中,有所帮助和提供一些便利性. 一个非常有意思的在线工具网站(绝对不是广告)

三:在线工具网站,让你PC上要装的软件少一半!

记住这几个在线工具网站,让你PC上要装的软件少一半! 一.uzer.me——丰富的云端应用聚合 这个云平台将我们常用的Office系列软件.Adobe家族的系列软件……乃至CAD制图都整合在了云端,随时都可以通过浏览器调用:而且还支持多人合作模式,可以与他人一起协作完成工作. 越是配置低的电脑越能体会到这个云端聚合平台的好处!计算处理都交给了云平台,让配置低的本本也能体验到流畅办公. 二.创客贴——轻巧便捷的在线图片设计 无需太多的专业美工知识.也不需要安装Photoshop.DW等等专业软件,

安卓开发与分析者的利器--安卓右键工具

安卓右键工具,集成dex转jar,二进制xml查看,apk相关信息查询,apk图标提取,apk优化,手机屏幕截图,安装卸载,签名,反编译和回编译等功能,方便快捷,开发者们的利器. 下载地址:安卓右键工具. 运行环境为Windows,以下均以Windows环境下描述. 安卓右键工具运行环境 1.windows x86或者windows x64操作系统. 2.需安装android sdk,并配置adb环境变量. 3.需安装python,并配置python环境变量. 安卓右键工具功能说明 安卓右键工具

如何做好企业SWOT分析?用这个企业项目设计工具就足够了!

什么是SWOT分析? 公司必须了解其业务环境的变化,才能实现业务目标. SWOT分析通常用于企业的战略决策.在战略规划中,SWOT应该被视为一种常用的分析方法,力量 - 竞争优势,劣势 - 劣势,机遇,威胁. 优点和缺点是公司(产品)的内部因素,这些因素受产品质量,材料,人员,机器,渠道和服务等因素的影响.机遇和威胁是公司(产品)的外部因素,受市场,经济,社会和政策的影响.对SWOT的分析指导组织识别产品的优点,缺点,机会和威胁.只有更好地了解自己,了解对手,理解环境,才能更快,更好地保持对变化