Linux上的Maltrail恶意交通检测系统

时间:2020-02-23 14:40:29  来源:igfitidea点击:

Maltrail是一种恶意交通检测系统,利用包含恶意和/或者一般可疑路径的公共可用(黑色)列表,以及从各种AV报告和自定义用户定义列表编译的静态路径,其中路径可以是域名的任何内容(例如Banjori恶意软件的zvpprsensinaix.com),URL(例如,用于已知恶意可执行文件的HXXP://109.162.38.120/Harsh02.exe),IP地址(例如,已知攻击者的185.130.5.231)或者HTTP用户 - 代理标题值(例如,用于自动SQL注入和数据库收购工具的SQLMAP)。
来源(Maltrail GitHub页面)

尽管如此,Maltrail使用(可选)可以帮助发现未知威胁的高级启发式机制。

Maltrail基于交通 - >传感器< - >服务器< - >客户端架构。
传感器是在监控节点上或者在独立机器(例如蜜罐)上运行的独立组件,其中它"监视"对黑名单项目/路径的传递流量(即域名,URL和/或者IPS)源(Maltrail GitHub)页)。
有关Maltrail的更多信息可以在Maltrail Github页面中找到。

此安装是在Debian 10(Buster)Linux系统上完成的。
因此,让我们在Debian 10(Buster)Linux上安装Maltrail恶意交通检测系统。

第1步:更新并升级服务器

更新和升级服务器可确保我们从我们服务器上所有最新软件的点开始。
在下面发出命令。

sudo apt update && sudo apt update

第2步:安装Maltrail Sensor和SchedTool

传感器是在监控节点或者独立机器上运行的独立组件,其中它"监视"传递黑名单项目/小径的流量。
通过运行下面的命令来安装它。

为更好的CPU调度安装'schedtool'

schedtool协助更好的CPU调度

sudo apt-get install schedtool

以下将安装Git和Python-pcapy,从Maltrail Github页面中拉出文件然后安装它。

sudo apt-get install git python-pcapy -y
git clone https://github.com/stamparm/maltrail.git
cd maltrail
sudo python sensor.py &

在最后一个命令之后,我们应该在下面看看下面的内容,并更新与恶意流量相关的Maltrail列表。

克隆git文件

下载和更新与恶意流量相关的Maltrail列表

第3步:在同一台计算机上启动Server(可选)

服务器的主要角色是存储事件详细信息并为Reporting Web应用程序提供后端支持。
在默认配置中,服务器和传感器将在同一台计算机上运行。
要在同一台计算机上启动服务器,请运行下面的命令。

[[ -d maltrail ]] || git clone https://github.com/stamparm/maltrail.git
cd maltrail
python server.py &

我们可以通过执行http://<ip或者fqdn>:8338来访问其Web用户界面。
默认凭据是用户名:管理员密码:Changeme!

第4步:微调传感器和服务器配置

对于那些希望微调他们服务器和传感器配置的人,有一个文件让我们这样做。
只需潜入我们克隆到Maltrail进入的目录,并寻找"Maltrail.conf"

sudo vim /home/tech/maltrail/maltrail.conf

在文件中,我们将在方括号内找到各类类别。
对于服务器,查找#[服务器]和传感器设置,查找#[传感器]类别。
例如,让我们更改我们希望服务器侦听的默认IP。

#[Server]
#Listen address of (reporting) HTTP server
 HTTP_ADDRESS 172.17.196.57
#HTTP_ADDRESS ::
#HTTP_ADDRESS fe80::12c3:7bff:fe6d:cf9b%eno1
#Listen port of (reporting) HTTP server
 HTTP_PORT 8338
#Use SSL/TLS
 USE_SSL false
#SSL/TLS (private/cert) PEM file (e.g. openssl req -new -x509 -keyout server.pem -out server.pem -days 1023 -nodes)
#SSL_PEM misc/server.pem
#User entries (username:sha256(password):UID:filter_netmask(s))
#Note(s): sha256(password) can be generated on Linux with: echo -n 'password' | sha256sum | cut -d " " -f 1
#UID >= 1000 have only rights to display results (Note: this moment only functionality implemented at the client side)
#filter_netmask(s) is/are used to filter results
 USERS
     admin:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:0:                        # changeme!      
 #local:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:1000:192.168.0.0/16       # changeme!

要更改默认密码,请查找"用户"。
在此之下,我们将注意到管理员和表示密码的长字符串。
要创建新密码,请使用以下命令。
它应该生成类似于我们在文件中看到的字符串。
在此之前,我们可以放置任何用户名。
在密码结束时,不要忘记添加参数(:0 :)。

echo -n 'StrongPassword' | sha256sum | cut -d " " -f 1
05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223
The string produced represents StrongPassword as the password

打开相同的文件并编辑它以设置新凭据

sudo vim /home/tech/maltrail/maltrail.conf
#[Server]
#Listen address of (reporting) HTTP server
 HTTP_ADDRESS 172.17.196.57
#HTTP_ADDRESS ::
#HTTP_ADDRESS fe80::12c3:7bff:fe6d:cf9b%eno1
#Listen port of (reporting) HTTP server
 HTTP_PORT 8338
#Use SSL/TLS
 USE_SSL false
#SSL/TLS (private/cert) PEM file (e.g. openssl req -new -x509 -keyout server.pem -out server.pem -days 1023 -nodes)
#SSL_PEM misc/server.pem
#User entries (username:sha256(password):UID:filter_netmask(s))
#Note(s): sha256(password) can be generated on Linux with: echo -n 'password' | sha256sum | cut -d " " -f 1
#UID >= 1000 have only rights to display results (Note: this moment only functionality implemented at the client side)
#filter_netmask(s) is/are used to filter results
#filter_netmask(s) is/are used to filter results
 USERS
#admin:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:0:                        # changeme!
#local:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:1000:192.168.0.0/16       # changeme!
 Admin:05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223:0:  ## New credentials

在你制作了这些变化后,开始和停止健美。

cd /home/tech/maltrail
pkill -f server.py
python server.py &

第5步:测试一切都在运行和运行

要测试所有内容并运行执行以下内容:

ping -c 1 136.161.101.53
cat /var/log/maltrail/$(date +"%Y-%m-%d").log

此外,要测试DNS流量的捕获,我们可以尝试以下操作:

nslookup morphed.ru
cat /var/log/maltrail/$(date +"%Y-%m-%d").log

要查看Web界面上的请求,只需刷新该页面