honey potの簡易解析0日目(事始め編)

honrey pot始めました

正確にはT-potから乗り換えました。

T-potはhoneypot初心者には向いていないとの結論。

T-potは、honeypot多すぎてどこから手をつけていいのか解らず、時々kibanaの統計情報眺めて満足して終わりでした。

唯一やったことと言えば、ギリギリのリソースで回していたのでリソースチューニングして、再起不能になった事ぐらいかw

あと、VPSが月4000円とお財布にも良くないので、月700円ぐらいのVPSで動くwowhoneypotでしっかり運用していこうと思います。

とりあえずチューニング無しで初めてます。huntting機能だけonにしてます。

初めてのログ分析

一発目なので、log見ながら思った事を書きます。

前回T-potを眺めてて、統計情報はすごく勉強になったのだが、正直統計情報は色々なところから手に入るし、自分でやらなくてもなぁと思ってしまった。

じゃあ自分がhoneypotに求めるのは何かっていうと、深堀りする材料と、最新の攻撃等をいち早くキャッチできる事。

それをどうblogに表現するかはなんとなくやりながら、考えていこうと思います。

wowhoneypotのlogには、access_logとhunting.log、wowhoneypot.logがあります。

wowhoneypot.logはhoneypot の動作ログで、ログ解析はaccess_logとhunting.logを見ることになりそう。

ハンティング機能は、正規表現で指定しておいた文字列が、要求内容に含まれていた場合に、その文字列をログとして保存する機能です。

wget等で、ダウンロードしてきたマルウェア等のリンクを保存できそうですが、一日目はhunting.logはありませんでした。

access_logは、攻撃者のhttpリクエストが一部base64にエンコードされ保存されています。今日はここをどう料理するか考えます。

[2019-03-31 03:23:17+0900] 117.13.171.219 www.123cha.com:80 "GET http://www.123cha.com HTTP/1.1" 200 False R0VUIGh0dHA6Ly93d3cuMTIzY2hhLmNvbSBIVFRQLzEuMQpIb3N0OiB3d3cuMTIzY2hhLmNvbQpQcm94eS1Db25uZWN0aW9uOiBrZWVwLWFsaXZlClVzZXItQWdlbnQ6IE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDUuMSkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzQzLjAuMjM1Ny4xMzIgU2FmYXJpLzUzNy4zNgoK
[2019-03-31 03:23:17+0900] 120.85.246.58 www.baidu.com:80 "CONNECT www.baidu.com HTTP/1.1" 200 False Q09OTkVDVCB3d3cuYmFpZHUuY29tIEhUVFAvMS4xCkhvc3Q6IHd3dy5iYWlkdS5jb20KUHJveHktQ29ubmVjdGlvbjoga2VlcC1hbGl2ZQpVc2VyLUFnZW50OiBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA1LjEpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS80My4wLjIzNTcuMTMyIFNhZmFyaS81MzcuMzYKCg==
[2019-03-31 03:23:17+0900] 1.202.68.65 api.ipify.org:80 "GET http://api.ipify.org/ HTTP/1.1" 200 False R0VUIGh0dHA6Ly9hcGkuaXBpZnkub3JnLyBIVFRQLzEuMQpIb3N0OiBhcGkuaXBpZnkub3JnClByb3h5LUF1dGhvcml6YXRpb246IEJhc2ljIE9nPT0KUHJveHktQ29ubmVjdGlvbjogS2VlcC1BbGl2ZQpBY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LGltYWdlL3dlYnAsKi8qO3E9MC44CkNvbm5lY3Rpb246IGtlZXAtYWxpdmUKQWNjZXB0LUVuY29kaW5nOiBnemlwLCBkZWZsYXRlLCBzZGNoCkFjY2VwdC1MYW5ndWFnZTogemgtQ04semg7cT0wLjgKQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wClVzZXItQWdlbnQ6IE1vemlsbGEvNS4wMTczMjAxNiBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdpbjY0OyB4NjQ7IHJ2OjU1LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvNTUuMAoK
[2019-03-31 03:23:20+0900] 112.66.106.167 www.123cha.com:80 "GET http://www.123cha.com/ HTTP/1.1" 200 False R0VUIGh0dHA6Ly93d3cuMTIzY2hhLmNvbS8gSFRUUC8xLjEKSG9zdDogd3d3LjEyM2NoYS5jb20KUHJveHktQXV0aG9yaXphdGlvbjogQmFzaWMgT2c9PQpQcm94eS1Db25uZWN0aW9uOiBLZWVwLUFsaXZlCkNhY2hlLUNvbnRyb2w6IG1heC1hZ2U9MApDb25uZWN0aW9uOiBrZWVwLWFsaXZlCkFjY2VwdC1MYW5ndWFnZTogemgtQ04semg7cT0wLjgKQWNjZXB0LUVuY29kaW5nOiBnemlwLCBkZWZsYXRlLCBzZGNoCkFjY2VwdDogdGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCwqLyo7cT0wLjgKVXNlci1BZ2VudDogTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNTAuMC4yNjYxLjEwMiBTYWZhcmkvNTM3LjM2TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBUcmlkZW50LzcuMDsgcnY6MTEuMCkgbGlrZSBHZWNrb01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdPVzY0OyBydjo0NS4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzQ1LjAKCg==

上図の感じ。う〜んログ分析系のOSSと連携させるか、目grepでやるか悩みますね!とりあえず件数を出してみる。

cat access_log | grep 2019-03-31 | grep -v {自分のGIP} | wc -l
70

70件であれば、目grepで読める量。URIはエンコードされていないので、試しにやってみたら、あたりはつけれた。

でも”何件中、何件が~でした”って言いたくなったので、大好きなgrepのgrepを連打する

#送信元IP一覧
access_log | grep 2019-03-31 | grep -v {自分のGIP} | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -v {honeypotのGIP} | sort | uniq
1.2.3.4
5.6.7.8
・
・

#送信元IP数
cat /opt/wow/WOWHoneypot/log/access_log | grep 2019-03-31 | grep -v {自分のGIP} | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -v {honeypotのGIP} | sort | uniq | wc -l
49

毎日長いコマンドを打っていたら、絶対運用が続かないと思う。

という事でpythonで作って公開してみました。

2019-04-02追記:base64をデコードする機能を追加しました。

2019-04-04追記:logを圧縮して添付する機能を追加し、本文はサマリのみとしました。

https://github.com/mah-nyan/send_logs_mail/

前日のlogをメール送信してくれるスクリプトです。GitHub公開第一号。

実行するとこんな感じでメールが飛びます。

あとはこいつをcronで実行すればOK。

今日知ったけど、blogに載せたい程度の簡単はスクリプトはGISTを使うらしい・・

結局ログ分析というより、script書いて終わってしまった。

という事で明日からログ分析始めますw