AWSで50$請求されたのは、VNC Auth Challenge Attackされたせい。[ハニポ]
こんにちは、よもぎです。研究室に配属されました。机がおっきいです。
今回は、12月ぐらいにAWS上に立てたハニーポットの観察記です。詳しくはこちらのエントリをみてね。
身に覚えのない請求書が届いた😨
そんなことはない。身に覚えのある請求書だった。AWSに立てているサーバーは一つだけだったし。
今までは、有料インスタンスであったものの、CPU使用率は低い水準で推移していたので、 課金対象とならずに無料で運営することができていました。
そんな折にAmazonから届いた請求書メールには驚いてしまいました。 無料じゃないの? あれ、5,500円ぐらいかかっていて結構大きな額じゃない? かかってしまったのはしょうがないので払いますが……
原因を調べよう
とりあえず急いでAWSのEC2管理画面に行ってCPU使用率を見てみることに
過去2週間までしか遡れないのですが、 3/27だけ群を抜いてCPU使用率が高い ということがわかりますね。 ということで、T-potにはELKがあるので、Kibanaから3/27の状況を探ってみます。
めっちゃVnclowpotに攻撃が来てるじゃん
国別でいうとロシアから、そしてポートでいうと5900番ポートにめちゃくちゃ来ていることがわかりますね。 とりあえずこのVnclowpotに来ている攻撃や、Vnclowpotそのものについて調べて、書いていきたいと思います。 実のところ、各ハニーポットについては余り知らないからね……
VNCとVnclowpot
VnclowpotのREADME.md
によれば
Low-interaction VNC honeypot. Listens on a port and logs responses to a static VNC Auth challenge.
It was inspired by VNC-Pot, but does not have any dependencies outside the go standard library.
ということで、 静的なVNC Auth Challengeという攻撃を待ち受ける低対話型VNCハニーポット って感じです。 VNCとはVirtual Network Computingの略で、リモートデスクトップソフトウェアであり、 RFBプロトコルを利用しクロスプラットホームであることが特徴とされています。 このVNCの認証に対する攻撃を待ち受けているわけですね。*1 ちなみにこのハニポのgithubはこちら
そして、このハニーポットに絞った上での、3/27の集計はこちら
15720カウントもあることがわかりますね。 とても多いので何かしらの自動ツールを用いて攻撃してきているなあって感じです。
vnclowpotのログからはこんな感じのvnc handshakeを見ることができます。
vnc handshakeの解析
上に貼った画像から察するに、おそらくパスワードをハッシュ化したものが後半部に現れています。 そして、vncのパスワードは最大8文字らしいのです。
vnclowpotは、公式にこのvnc handshakeのログから、 John the Ripper方式でもとの入力されたパスワードをクラックする クラッカーを提供してくれています。
こちらのブログエントリを参考にさせていただきました。
まず、3/27時点でのログを使って26,506件の解析結果はこちら
2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*3D237A19965ABE973D237A19965ABE97:123456 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*31FC1A8360CAFE2231FC1A8360CAFE22:12345 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*D29F6E7F0456F8DED29F6E7F0456F8DE:12345678 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*FF97502E9422F089FF97502E9422F089:password 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*BE64078CF66446BABE64078CF66446BA:iloveyou 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*8BD03CDB308F55258BD03CDB308F5525:princess 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*D70AF1BB49C36845D70AF1BB49C36845:1234567 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*3FB4D289814B5F083FB4D289814B5F08:rockyou 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*939B6B579DF37A3B939B6B579DF37A3B:abc123 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*F167F128C29C13F7F167F128C29C13F7:nicole 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*DEC87E2DC6A67CA3DEC87E2DC6A67CA3:daniel 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*9E7A18F0EFEFB5E19E7A18F0EFEFB5E1:babygirl 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*563592A06590A800563592A06590A800:monkey 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*0FF8E4AD03D278AC0FF8E4AD03D278AC:lovely 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*6449D40B61B4277E6449D40B61B4277E:jessica 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*029600BCF434914B029600BCF434914B:654321 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*64D9F38F5BE564E064D9F38F5BE564E0:michael 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*6D391AF0C33D01846D391AF0C33D0184:ashley 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*91345B77ABF09D9C91345B77ABF09D9C:qwerty 2019/04/10 21:37:09 FOUND $vnc$*00000000000000000000000000000000*6A9AFB57E01E30A26A9AFB57E01E30A2:111111 (clip) 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*6746B99B1729F1276746B99B1729F127:!@#123!@ 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*A353647F78C64F9AA353647F78C64F9A:!@#$qwer 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*9BBFC7496EDF4CEC9BBFC7496EDF4CEC:!@#$qazx 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*48CF24B1CECC216248CF24B1CECC2162:!@#$abcd 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*7D668C9C682C4D607D668C9C682C4D60:!@#$5678 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*BB5D0DE9CDE8ED9DBB5D0DE9CDE8ED9D:!@#$4321 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*087F3AE937DA6CE2087F3AE937DA6CE2:!@#$%abc 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*72EAB016D217F1D172EAB016D217F1D1:!@#$%^7 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*48422B0A43BF0EAB48422B0A43BF0EAB:!@#$%^12 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*7FFDB4F0704E23D17FFDB4F0704E23D1:!@#$%678 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*61216F8F5C3F091961216F8F5C3F0919:!@#$%123 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*3264139264B8DA363264139264B8DA36:!@#$%%$# 2019/04/11 02:08:59 FOUND $vnc$*00000000000000000000000000000000*8DEF20160F73E5D58DEF20160F73E5D5:!@#$%!@# 2019/04/11 02:09:00 FOUND $vnc$*00000000000000000000000000000000*63B08A6B254B7D8363B08A6B254B7D83:!@# 2019/04/11 02:09:00 FOUND $vnc$*00000000000000000000000000000000*A39D1A15C5A9EB54A39D1A15C5A9EB54:!23456 2019/04/11 02:09:00 FOUND $vnc$*00000000000000000000000000000000*76731E96C5399C5376731E96C5399C53:!2#4QwEr 2019/04/11 02:09:00 FOUND $vnc$*00000000000000000000000000000000*804A3764429FA11C804A3764429FA11C:!2#4%6& 2019/04/11 02:09:00 FOUND $vnc$*00000000000000000000000000000000*6E1B4289C98FCEE06E1B4289C98FCEE0:!#%&(_ 2019/04/11 02:09:01 FOUND $vnc$*00000000000000000000000000000000*8A2600DC505CD6AC8A2600DC505CD6AC:!!!! 2019/04/11 02:09:01 FOUND $vnc$*00000000000000000000000000000000*AF932FC01637812AAF932FC01637812A:!
やってみた範囲ではすべてのハッシュ値が復元できたみたいです。
(+α)期間を一ヶ月にしてみてみた
3/11-4/10の統計はこんなかんじです
VNC Auth Challenge に使われたパスワードTOP10についてもCrackerにかけてみました。
順位 | Hash値 | password | CNT |
---|---|---|---|
1 | 199F29E1BC8DB985199F29E1BC8DB985 | mypasswd | 3122 |
2 | D29F6E7F0456F8DED29F6E7F0456F8DE | 12345678 | 1057 |
3 | FF97502E9422F089FF97502E9422F089 | password | 957 |
4 | D94BB74798A107C7D94BB74798A107C7 | Password | 898 |
5 | E56458A7B0DC568AE56458A7B0DC568A | P@ssw0rd | 541 |
6 | 587029A8254FAA2B587029A8254FAA2B | administ | 444 |
7 | 227D501DF1BF8456227D501DF1BF8456 | Passw0rd | 384 |
8 | BD76EA55421504DEBD76EA55421504DE | P@$$w0rd | 361 |
9 | 9AEC969A3C3468C59AEC969A3C3468C5 | 1q2w3e4r | 292 |
10 | 9134BAD2D134A6389134BAD2D134A638 | Administ | 281 |
P@$$w0rd
とかでも辞書に登録されているんですね……
最大8文字ってやっぱり短すぎるんだろうなぁ
おわりに
お金かかっちゃうので、攻撃する側も程々にしてほしいなあ。
でも今回こうやって調べる機会をくれたのでありがとう、かもしれない。
参考にさせていただいたもの
*1:たぶんそういうこと