我想要在Kibana上查看WOWHoneypot的日志

我想尝试使用WOWHoneypot来设置蜜罐。

WOWHoneypot: 为初学者提供!欢迎攻击者的 Web 蜜罐

由于需要检查服务器访问日志,并且部分日志采用Base64编码,因此我们决定使用Kibana进行可视化。

请谅解,尽管我的自身经验有限,有些方面还不够成熟,但请宽容以待…

前提 tí)

本次我选择先在VMware上构建,然后再迁移到AWS的过程。下面只记录VMware上的构建部分。

    • OS: Centos7系

 

    • メモリ2GB, プロセッサ2推奨

 

    NAT設定もお忘れなく

准备工作

安装

安装Git和Python3
可选择安装Vim

$ yum -y install git​
$ yum -y install python3
$ yum -y install vim

防火墙设置

我会打开8080、5601和9200端口。

# firewall-cmd --zone=public --add-port=8080/tcp --permanent
# firewall-cmd --zone=public --add-port=5601/tcp --permanent
# firewall-cmd --zone=public --add-port=9200/tcp --permanent
# firewall-cmd --reload

接下来,将端口号从80转发到8080(虽然不是绝对必要的,但从浏览器访问时会更为便捷)。

当用户访问80号端口时,请设置为跳转到8080端口。

# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
# firewall-cmd --reload

安装的东西 de xi)

    • WOWHoneypot

 

    • Fluentd (td-agent)

 

    • elastic search

 

    kibana

构成形象

architecture.png

哇喔蜜罐

WOWHoneypot是什么?

    • 攻撃者をおもてなしする Web ハニーポット

 

    送信元からの HTTP リクエストをそのまま保存するので、​後からじっくりゆっくりログ分析をすることが可能

Github: https://github.com/morihisa/WOWHoneypot

WOWHoneypot 安装指南

只需要从git克隆即可
例如:将克隆放在/opt/目录下的步骤

$ cd /opt/
$ git clone https://github.com/morihisa/WOWHoneypot​

如果opt文件夹下存在”WOWHoneypot”,就没问题。

WOWHoneypot 开启确认

启动「wowhoneypot.py」

$ cd /opt/WOWHoneypot
$ python3 ./wowhoneypot.py
wowstart.png

在此之后,访问http://”ip地址”
若出现如下所示的屏幕,则表示操作成功。

wowhttp.png

如果您想用背包磨床移动,请参考以下网站:https://qiita.com/hogehuga/items/cad931485f58ae487d53。

确认WOWHoneypot的访问日志

当通过浏览器访问时,会向“access_log”写入日志。

$ tail /opt/WOWHoneypot/log/access_log

然后,通过使用Fluentd插件,我们可以同时进行解码并将其传输到elasticsearch,因此我们将进行相应的设置。

流利的

流畅日志(Fluentd或td-agent) 是什么?

fluentdimg.png
    • データ収集ソフトウェア

 

    • 主にRubyで構成されている

 

    今回インストールする「td-agent」は、Fluentdの安定版​

部署 Fluentd 的步骤

输入以下命令,执行yum

# curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh

インストールされたか確認
# yum list | grep td-agent
td-agent.x86_64  3.8.1-0.el7  @treasuredata

安装Fluentd插件。

安装插件以将日志传送到Elasticsearch并解码base64。
安装td-agent后,将有一个名为”td-agent-gem”的命令可用,使用该命令进行安装。

用于查找插件的网站

# td-agent-gem install elasticsearch
# td-agent-gem install fluent-plugin-filter-base64-decode

确认 Fluentd 是否已启动。

用systemctl启动

# systemctl start td-agent
# systemctl enable td-agent

activeになっていれば成功
# systemctl status td-agent

Elasticsearch与kibana

Elasticsearch 是什么

elasticimg.png
    • 分散検索/分析エンジン

 

    ログ分析、フルテキスト検索、セキュリティインテリジェンス、ビジネス分析、およびオペレーショナルインテリジェンスのユースケースに広く使用されている

Kibana 是什么?

kibana.png
    • Elasticsearch専用のデータ視覚化ダッシュボードソフトウェア

 

    ログの可視化に用いられることが多い

当谈到日志可视化时,Elasticsearch和Kibana基本上被认为是一套(这只是我的印象)。

Elasticsearch Kibana 安装步骤

安装Java

# yum install java-1.8.0-openjdk-devel -y
# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

安装Elasticsearch PGP密钥

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

注册 Elasticsearch 存储库

# vim /etc/yum.repos.d/elasticsearch.repo

# 下記を入力し、ファイルを保存
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

安装Elasticsearch Kibana

一起安装Kibana(需要一些时间)。

# yum install -y --enablerepo=elasticsearch  elasticsearch kibana
    • Kibanaに利用するIPアドレスの設定

 

    サーバに割り当てられているIPアドレスにアクセスできるよう設定
# vim /etc/kibana/kibana.yml

↓を追加
server.host: "0.0.0.0"

确认 Elasticsearch Kibana 是否启动

使用systemctl命令启动,需要一些时间。

# systemctl start elasticsearch kibana
# systemctl enable elasticsearch kibana

使用 Elasticsearch

只需以以下方式显示即可

# curl localhost:9200

{
  "name" : "localhost.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "CDwf8sbpTfap9zd7CNDaRw",
  "version" : {
    "number" : "7.15.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "83c34f456ae29d60e94d886e455e6a3409bba9ed",
    "build_date" : "2021-10-07T21:56:19.031608185Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Kibana 访问

请访问IP地址为”IPアドレス”的5601端口。

如果出现如下的画面显示,那就可以了。

kibanaAccess.png

在Kibana上查看8个日志

    • FluentdでWOWHoneypotのログの取得・フォーマット・デコード

 

    取得したログをElasticsearchへ転送

※假设WOWHoneypot已经在opt目录下克隆,并进行下一步操作。

Fluentd的配置

填写获取日志的配置。
省略正则表达式等详细说明。

# vim /etc/td-agent/td-agent.conf

下記のコードを張り付け
<source>
  @type tail
  format /^\[(?<time>[^\]]*)\] (?<clientip>[^ ]*) (?<hostname>[^ ]*) "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<status>[^ ]*) (?<mrrid>[^ ]*) (?<requestbody>[^ ]*)$/
  time_format %Y-%m-%d %H:%M:%S%z
  path /opt/WOWHoneypot/log/access_log
  pos_file /var/log/td-agent/wowhoneypot.log.pos
  tag wowhoneypot-access
</source>

<filter wowhoneypot-access>
  @type base64_decode
  fields requestbody
</filter>

<match wowhoneypot-access>
  @type elasticsearch
  host localhost
  port 9200
  logstash_format true
</match>

--再起動
# systemctl restart td-agent

通过Kibana查看日志

访问 Kibana,从侧边栏点击“Discover”。

kibanaDiscover.png

我认为会显示如下画面,请点击”创建索引模式”。

kibanaIndex.png

在Name标签中选择”logstash*”,在Timestanp字段中选择”@timestamp”,然后点击右下角的”创建索引模式”。

kibanaLogstash.png

稍后,启动WOWHoneypot,并进行几次访问以获取日志记录。

当您访问WOWHoneypot后,稍等片刻,将显示如下日志。

kibanaLogs.png
bannerAds