Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

sh9369/personal_respo2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

174 Commits

Repository files navigation

personal_respo2

前言

本程序用于获取网络情报,针对imap中记录的目的ip地址进行检查,若目的ip与情报中出现的ip匹配,则发出告警信息,并将告警信息写入ES中。

本程序需在Linux环境下运行,基于python 2.7语法规范编写,主要的相关依赖包如下: json、logging、datetime、time、elasticsearch、ConfigParser、socket、struct、re、requests、bs4、lxml
本程序GitHub地址为:https://github.com/sh9369/personal_respo2

下载

  1. GitHub主页上使用zip打包下载得personal_respo2-master.zip,解压后得personal_respo2文件夹;或使用git clone 命令直接下载。主要的文件目录形式如下:
personal_respo2:
|——project:				程序主文件目录
 |——data: 				程序数据存放目录
 |——log:			日志文件目录
	|——self_blacklist:		本地黑名单文件目录
	|——self_defaultlist:		本地默认情报源目录
	|——self_whitelist:		本地白名单文件目录
 |——get_blacklist:			网络情报源处理文件存放目录
	|——MiningServerIPList.py:	具体处理网络情报的文件
	|—— ......
 |——lpm: 				lpm算法集成目录
 |——blacklist_match.conf:		程序配置文件
 |——blacklist_tools.py:		程序公共函数方法文件
 |——update_blacklist.py:		更新黑名单文件
 |——match_insert.py:		匹配以及插入ES操作文件
 |——ontime_run.py:			主运行程序
 |——parser_config.py:		配置文件操作函数文件
 |——subnet_range.py:		IP子网段处理函数文件
 |——treat_ip.py:			IP操作处理函数文件
 |——ip_check_C2.py:			二次检查处理文件
 |——check_XForce.py:		获取xforce信息文件

运行

2.运行前,对blacklist_match.conf文件进行配置参数的修改:
2.1 修改[frequency]下的starttime,表示开始检查时间;
2.2 修改[ES_info]下对应的server/dport信息;
2.3 若需启动本地黑名单,请在[self_blacklist_path]下令blacklist_flg=1,path对应于本地黑名单的默认目录; 白名单和默认情报源的启动设置与黑名单一致。
2.4 无网络情况下,请设置[update_flg]下updateFlg=0,以便关闭更新功能。

3.安装完成对应python版本以及依赖包后,进入/project目录下使用以下命令启动程序:
nohup python ontime_run.py &
【再次回车】
使用以下命令查看日志文件:
tail -50f ./data/log/testlog
日志文件会记录程序运行中的相关信息,当看到日志文件不断写入内容后表示程序已经运行。

增加情报源

4.增加网络情报源的方法
4.1 在/get_blacklist目录下新建一个处理文件,假设为XXX.py;
4.2 在XXX.py中编写完整的情报下载/清洗/存储过程,务必保证最终存储的数据格式如下:

`{

"ip1":
 { #具体属性域请参考其他处理文件
 "subtype":"mining_pool"
 "desc_subtype":"... ... "
 ... .... 
 },
"ip2":
 {
 ... ...
 },
 ... ... 

}`
4.3 确定网络情报数据源的更新频率,在blacklist_match.conf文件中[parse_blacklist]下的fun1末尾添加",XXX:frequency"

XForce信息

5.获取XForce 信息:
5.1 主要文件: check_XForce.py
5.2 调用方法:

import check_XForce as xf
xf.start(1,lists)

#start(stype,values,checkflg=1)为程序入口;
#params:
stype取值为1或2,1表示检查的对象values是IP列表;2表示values是url列表;
values表示具体的IP或url的列表;
checkflg默认值为1,表示写入文件;若赋值为0,则表示不写入文件;
#return:
final_dic :字典形式返回,查询的内容为key,其他属性值为value
#example for return:

{
	"198.54.117.200": {
		"company": "NAMECHEAP-NET - Namecheap, Inc., US", 
 	"cats": {
 		"Botnet Command and Control Server": 43, 
 		"Malware": 43, 
 		"Anonymisation Services": 43
 	}, 
 	"geo": "United States", 
 	"score": 4.3, 
 	"asns": "22612"
 	}, 
 	"197.210.23.55": {
 	"cats": {
 		"Dynamic IPs": 71
 	}, 
 	"company": "VCG-AS, NG", 
 	"score": 1, 
 	"geo": "Nigeria", 
 	"asns": "29465"
 	}
}


5.3 更多参数以及注释请见代码文件check_XForce.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 81.6%
  • C 18.0%
  • Makefile 0.4%

AltStyle によって変換されたページ (->オリジナル) /