SecurityHeroblog

四日前と同じ20秒が、3.8倍速く再びやって来た

昨日、私たちのハニーポットは観測史上もっとも混み合っていました。セッション3,553件、コマンド7,574個。ところがサーバーへ降りてきた悪性実行ファイルは一件もなく、あるセッションは四日前の記録と七つの値が同一でした。違ったのは所要時間ひとつだけです。

携帯に撮っておいた動画を二つ並べて見たことはありますか。去年撮ったものと昨日撮ったもの。場所も同じ、動く順序も同じ、画面に映る物の個数まで同じ。違うのはたった一つ、かかった時間です。

ここから分かることは二つあります。一つは 「同じものを二度撮っておいたから、速くなったと分かる」 — これは正しい。もう一つは 「同じ人が撮ったものだ」 — これは分かりません。画面に撮影者は映らないからです。

昨日、私たちのサーバーに残った記録が、まさにその二本目の動画でした。

昨日20時34分、いやUTC11時34分

事実 昨日 11:34:14Z、ATK-F604B7(45.6.x.x)がTelnetでログインに成功しました。Telnetは非常に古い遠隔接続方式です。平たく言えば インターネットの向こう側からその機械のコマンド画面を直接叩けるように開けておく通路 で、パスワードが暗号化されないまま流れていきます。

事実 滞在時間は 約19.7秒 です。11:34:33Z に切断されました。その20秒のあいだにコマンド 22個 を入力し、ファイル 11個 を持ち去りました。1秒に1行以上のコマンド を入力した速度です(毎秒約1.12個)。ファイルは 2秒に1個の割合 で入ってきました(毎秒約0.56件)。

事実 ところが分類された 意図はたった一つ でした。「防御の無力化」— 守る仕組みを止めようとする行動として分類されたコマンドです。

事実 このセッションのcompleteness値は 42 で、昨日全体の最高値です。completenessは「このセッションをどれだけ完全に覗き込めたか」に付けられた点数ですが、どう計算するのかはデータにありません。 意図が一つしかないセッションがなぜ最高点なのか、私たちにも説明できません。これは後でまた述べます。

持ち去ったファイル11個が、すべて空ファイルでした

事実 この別名だけを配布元に持つ検体は 一種類のみ で、観測回数が 11回 です。セッションのダウンロード数11と一致します。

事実 その一種類がこれです。1バイト。 種類を見分ける目印がまったくないファイルです(very short file (no magic))。ファイルの先頭には普通「私は実行ファイルだ」「私は画像だ」といった短い目印が付いていますが、このファイルにはそれがありません。付ける場所がないからです。

事実 1バイトは 文字一つ です。11個すべて合わせても11バイト、文字十一個 です。20秒のあいだに十一回やり取りされたものが、それだけでした。

推定 ここで止めます。ダウンロードが失敗して殻だけ残ったのか、もともとそう動作するのか 私たちには分かりません。 コマンドの原文がなく、画面録画の内容もこの記録には含まれていないため、このファイルで何をしようとしたのかも述べられません。

四日前の動画と並べてみると

事実 8月18日の記録に ATK-ABE8B7 というセッションがあります。昨日のセッションと並べるとこうなります。

8/18 ATK-ABE8B7 昨日 ATK-F604B7
接続方式 Telnet Telnet
ログイン 成功 成功
実行したコマンド 22個 22個
持ち去ったファイル 11件 11件
分類された意図 「防御の無力化」一つ 「防御の無力化」一つ
そのファイルの正体 1バイトの空ファイル (01ba4719…) 1バイトの空ファイル (01ba4719…)
配布元 1か所 1か所
completeness 42 42
滞在時間 約75秒 約19.7秒

事実 七行が同じです。ファイルの指紋(sha256ハッシュ)まで同じ値です。違うのは最後の一行、約3.8倍速くなった時間 だけです。

事実 ただしこの「3.8倍」は おおよその比較 です。8/18の「約75秒」はその日の記録に書かれた値をそのまま持ってきたもので、昨日の19.7秒は開始・終了時刻から直接計算したものです。二つの値が同じ方法で測られたのか確認する方法がありません。

事実 そしてここが重要です。同じところから来たものかは分かりません。 私たちは送信元IPをそのまま残さず、ATK- で始まる別名に置き換えて記録します。このときソルト(salt)という値を混ぜるため、同じIPでも日付が違えば別の別名になります。8/18の ATK-ABE8B7 と昨日の ATK-F604B7 が同じところなのか、この記録では突き合わせられません。

事実 確認できるのはここまでです。セッションの形が同じで、ファイルの指紋が同じ。 これは 同じツール、同じ自動実行手順を使った という意味であって、同じ組織、同じ人物 という意味ではありません。動画二つが同じでも、撮った人は画面に映りません。

事実 もう一つ。「防御の無力化」という分類は8/16・8/17・8/18に1日1回ずつあった後、8/19に0回、8/20・8/21には項目自体が消えました。昨日、再び1回として現れました。8/18と昨日、その1回はどちらもcompleteness 42のセッションに付いています。

もっとも混み合った夜、降りてきた実行ファイルは0個

事実 昨日の数字はこうです。セッション 3,553件、ログイン試行 3,324回、実行されたコマンド 7,574個。三つともアーカイブ六日間で最大です。直前の最大と比べるとセッションは2,607件(8/20)、コマンドは2,966個(8/18)でしたから、コマンドは 二倍半 に跳ね上がりました。

事実 一日全体を覆う数値と見れば、ログイン試行3,324回は 26秒に一度の割合 で誰かがパスワードを入れてみた計算になります。セッション3,553件は 24秒に一度の割合 で新しい接続が入ってきたことになります。(ただしこの記録に観測区間が明記されていないため、一日全体を仮定した計算です。)

事実 Telnetが特に跳ねました。ポート2223(Telnet) 1,203件。一昨日は281件でしたから、一日で 約4.3倍 です。それ以前の最大値が8/18の370件でしたから、その 約3.3倍 です。全セッションに占めるTelnetの比率は 33.9% で六日間中もっとも高いです(8/16 12.0% → 8/17 22.0% → 8/18 18.3% → 8/19 22.0% → 8/20 11.4% → 8/21 15.2%)。

事実 ところが昨日保存された検体5種のうち Linux実行ファイル(ELF)は一件もありません。 ELFはLinuxで使う実行ファイル形式です。Windowsの .exe に相当すると思ってください。昨日残ったのはこれだけです。

サイズ 正体 観測
306バイト POSIXシェルスクリプト 配布元15か所 · 15回
1,608バイト Bourne-Againシェルスクリプト 配布元1か所 · 1回
389バイト OpenSSH RSA公開鍵 配布元8か所 · 8回
9バイト ASCIIテキスト 配布元1か所 · 13回
1バイト 目印のない空ファイル 配布元1か所 · 11回

事実 シェルスクリプト はコマンドを順に書いておいたメモ用紙です。人が一行ずつ打つ代わりに、ファイル一つを実行すれば書かれた順に動きます。306バイトなら段落一つ程度、1,608バイトならA4半ページ程度の文字量です。

推定 まとめると昨日は 扉をもっとも多く叩かれたのに、中へ配達されたものはなかった日 です。指標だけ見れば観測史上最悪の日なのに、実際に届いた品物の欄は空です。

「来なかったこと」を記録に残すには

事実 私たちはURL 12個を監視リストに載せています。すべて hxxp://31[.]77[.]227[.]121/bins/ 配下の parm・parm5・parm6・parm64・parm7・pm68k・pmips・pmpsl・pppc・psh4・pspc・x86_64 です。アドレスはわざと壊して書いてあります(hxxp://, [.])— そのままコピーして貼り付けても接続されません。

事実 この12個はただ手に入ったものではありません。UPXという圧縮で包まれていたファイルを 解いて初めて 出てきたアドレスです。圧縮された外面だけ見てもアドレスは一つも見えません。

事実 昨日、この12個のアドレスから降りてきたものは 0件 です。8/20・8/21に続き 三日連続 です。

事実 また一昨日(8/21)初めて現れて実行ファイル二つを送り出した配布元 176[.]65[.]139[.]196 は、昨日の記録に まったくありません。

推定 この12個をあらかじめ書いておかなかったら、昨日の記録には「来なかった」という事実自体が残りません。来なかったことを観測するには 何が来うるのかを先に知っておかなければならない からです。何も書かれていない欄と、書いておいたリストがすべて0の欄は違います。

事実 それでもここから一歩先へは進みません。配布元が実際に止まったのか、その要求が私たちのハニーポット側にだけ来なかったのか、このデータでは区別できません。一昨日に立てた「配布元が新しいアドレスへ移った」という読みも、昨日のデータで 裏付けられも覆されもしていません。 旧アドレスも0件、新アドレスも0件です。

昨日一日を時間順に

一日分を順に並べるとこうなります。11:34 二行の秒単位に注目してください。 そしてその上にある三行 — 00:25・02:04・03:57 の継続時間とコマンド個数が互いにどれほど似ているかも併せてご覧いただくとよいです。

  1. 事実 ATK-4D7724(125.224.x.x) Telnetログイン成功。約69.4秒 · コマンド31個 · ダウンロード1件。意図3種 — ファイルダウンロード · 実行権限付与 · ダウンロード後実行。completeness 16。TTY録画あり(内容は含まれない)。Telnetのため指紋・クライアント値は空文字列である。この別名は306バイトPOSIXシェルスクリプト(a6296a79…, hxxp://185[.]93[.]89[.]72/wget)の配布元リストにある
  2. 事実 ATK-383112(125.229.x.x) Telnetログイン成功。約67.3秒 · コマンド31個 · ダウンロード1件。意図・completeness(16)・ダウンロード数がATK-4D7724 と完全に同一である。この別名も a6296a79… の配布元リストにある
  3. 事実 ATK-80B5C2(220.80.x.x) Telnetログイン成功。約68.9秒 · コマンド31個 · ダウンロード1件。三度目の同じ形である。ただしこの別名は a6296a79… の配布元表記リスト(10個)にはない — この検体の実際の配布元は15か所だが、リストは10個までしか表記されていない
  4. 事実 コマンド31個 · ダウンロード1件 · 意図3種 · completeness 16 というこの形は8/20に4件(ATK-7B6CFE · ATK-2E51DB · ATK-127D9E · ATK-CC119E)、8/21に1件(ATK-E07AC3)、昨日3件で、三日にわたり8件である。継続時間も8/20 約67.9~75.8秒、8/21 約85.0秒、昨日 約67.3~69.4秒ですべて1分台である
  5. 事実 ATK-5A0689(107.161.x.x) Telnetログイン成功。約61.0秒 · コマンド17個。意図5種で昨日最多 — 偵察(システム) · ファイルダウンロード · 実行権限付与 · ダウンロード後実行 · 永続化(SSH鍵の植え込み)。ところがダウンロードは0件である。completeness 17。8/18(ATK-C17F4E) · 8/19(ATK-103570) · 8/20(ATK-B4B2E2) · 8/21(ATK-4CA329)に続き五度目の同じ形
  6. 事実 昨日の主題セッション。ATK-F604B7(45.6.x.x) Telnetログイン成功。約19.7秒 · コマンド22個(毎秒約1.12個) · ダウンロード11件(毎秒約0.56件)。意図は「防御の無力化」単独。completeness 42 で昨日全体の最高値。TTY録画あり(内容は含まれない)
  7. 事実 この別名を唯一の配布元に持つ検体は sha256 01ba4719… 一種のみで、観測回数が11である — セッションのダウンロード数11と一致する。1バイト、種類を見分ける目印のない空ファイルである。19.7秒のあいだに持ち去った11個がすべて同じ空ファイルである
  8. 事実 8/18の記録のATK-ABE8B7 セッションと七つの値が一致する — Telnet · ログイン成功 · コマンド22個 · ダウンロード11件 · 意図「防御の無力化」単独 · 11件すべて1バイトの空ファイル(同一ハッシュ 01ba4719…) · 配布元1か所 · completeness 42。違うのは継続時間だけで、8/18の記録上の約75秒から昨日の約19.7秒へ約3.8倍速くなった。別名はソルトを混ぜて作るため、二つの送信元が同じところかは分からない
  9. 事実 「防御の無力化」が昨日1回として三日ぶりに再び現れた — 8/16 1回、8/17 1回、8/18 1回、8/19 0回、8/20 項目なし、8/21 項目なし、昨日1回。8/18と昨日は、その1回がcompleteness 42のセッションに付いている
  10. 事実 検体5種の観測回数の合計が 15+13+11+8+1=48 で、意図分類の「ファイルダウンロード」48回と正確に同じである。また「ファイルダウンロード」48回と「ダウンロード後実行」48回も互いに同じである — アーカイブ六日間でこの二つの値が一致した日は昨日が初めてである(8/19 40対38、8/20 43対41、8/21 109対107)
  11. 事実 306バイトPOSIXシェルスクリプト(a6296a79…, hxxp://185[.]93[.]89[.]72/wget)が互いに異なる配布元15か所で15回観測された。8/17(6か所) · 8/18(13か所) · 8/19(7か所) · 8/20(8か所) · 8/21(5か所)に続き六日連続で同じハッシュ · 同じURLであり、配布元数15か所は六日間で最大である
  12. 事実 389バイトOpenSSH RSA公開鍵(a8460f44…)が互いに異なる配布元8か所で8回観測された。URLは記録されていない。8/16 10か所 → 8/17 → 8/18 16か所 → 8/19 12か所 → 8/20 8か所 → 8/21 10か所 → 昨日8か所と、七日連続で同じハッシュである
  13. 事実 hxxp://5[.]182[.]210[.]174/ok から1,608バイトのBourne-Againシェルスクリプトが1回降りてきた(6ff53177…, 配布元 ATK-10149C 一か所)。同じURL · 同じ1,608バイトなのにハッシュは 8/17~8/19 6aa5054a… → 8/20 b7728639… → 8/21 c850a285… · 7a5dcc03…(一日に二種) → 昨日 6ff53177… へと変わった。五日間でハッシュ5種である
  14. 事実 監視リストの12個のURL(31[.]77[.]227[.]121/bins/ 系)から昨日もダウンロードが0件である — 8/20 · 8/21に続き三日連続。8/21に初めて登場した配布元 176[.]65[.]139[.]196 も昨日の記録にない。結果として昨日保存された検体のうちELF実行バイナリは0件である(アーカイブ上ELFが記録された日は8/16 · 8/19 · 8/21、なかった日は8/18 · 8/20 · 昨日)
  15. 事実 9バイトASCIIテキスト(4af5a5c9…)が配布元1か所(ATK-BECAD3)で13回観測された。8/18 12回 → 8/20 8回 → 8/21 5回 → 昨日13回であり、いつも配布元は一か所である
  16. 事実 意図分類 — 偵察(システム) 1,980回、実行権限付与 271回、ダウンロード後実行 48回、ファイルダウンロード 48回、永続化(SSH鍵の植え込み) 9回、痕跡削除 8回、防御の無力化 1回。合計2,365回である。全コマンド7,574個のうち偵察(システム)は約26.1%で、8/20 約77% · 8/21 約60.4%から大きく下がった。「偵察 — ネットワーク」は昨日は項目がない
  17. 事実 セッション3,553件 / 固有送信元205か所 / ログイン試行3,324回 / コマンド7,574個 / TTY録画2,988件。ポート2222(SSH) 2,350件、ポート2223(Telnet) 1,203件。セッション · コマンド · ログイン試行すべてアーカイブ六日間で最大であり、Telnet 1,203件は8/21(281件)の約4.3倍 · それ以前の最大値(8/18 370件)の約3.3倍である。一方、固有送信元205か所は8/21と同じで六日間の中位水準である(8/18 249、8/17 236)
  18. 事実 送信元一か所あたり平均約17.3セッション(3,553÷205) · 約16.2回のログイン試行(3,324÷205)で六日間で最高である(8/20 約14.1セッション · 12.2回)。セッションあたりのコマンドは約2.13個である
  19. 事実 認証情報の組み合わせ admin/admin が互いに異なるIP 29か所で105回観測された — 一か所あたり約3.6回である。一方 nobody/nobody は5か所で105回、つまり一か所あたり約21回、root/admin は5か所で71回で一か所あたり約14.2回である。345gs5662d34/345gs5662d34 は8か所で8回、すなわち一か所あたり正確に1回である
  20. 事実 SSHクライアント指紋クラスタは計40個で六日間で最多である(8/17 33 → 8/18 36 → 8/19 37 → 8/20 37 → 8/21 38 → 昨日40)。最大クラスタは f555226df1963d1d3c09daf865abdc9a(SSH-2.0-libssh_0.9.6)、昨日IP 8か所 · 累計182か所。リストに載った10個のクラスタすべてが検体配布なしで、8/21に続き二日連続0個である

事実 表で目に留まる行が二つあります。一つは 08:14 の ATK-5A0689 — 意図が5種でもっとも広いのに ダウンロードは0件 です。この形は8/18から五日目の繰り返しです。もう一つは上の三行です。00:25・02:04・03:57 がコマンド31個・ダウンロード1件・completeness 16 まで同じです。未明に同じ形が三度通り過ぎたということです。昨日だけのことではありません — 8/20に4件、8/21に1件、昨日3件で、三日にわたり八度です。

指紋が取れる層と、実際に破られる層

事実 SSHで入ってくる接続には クライアント指紋 が残ります。接続プログラムが最初に差し出す挨拶の構成がツールごとに少しずつ違うため、その値をまとめれば「送信元は違っても同じプログラム」だと分かります。昨日この指紋のまとまりは 40個 で六日間中もっとも多かったです。

事実 ところが昨日の完結性上位5セッションは すべてTelnet です。指紋・クライアント値が五件とも空文字列です。Telnetにはその挨拶の手順が そもそもありません。

事実 そしてリストに載った10個の指紋のまとまりは 一つも検体を降ろしていません。 8/21に続き二日連続0個です。

推定 まとめると、指紋が取れる層(SSH · 2,350セッション)と 実際に破られてコマンドが実行される層(Telnet · 1,203セッション)が昨日も分かれていました。そして昨日はそのTelnet層が一日で4.3倍に膨らみました。

事実 ですから昨日の主題セッションを8/18のセッションと結ぶ根拠は 指紋ではありません。 セッションの形(コマンド22個・ダウンロード11件・意図の組み合わせ・completeness 42)とファイルの指紋(01ba4719…)だけです。そして先に述べたとおり、それは 同じツールを使ったという意味であって、同じ人物という意味ではありません。 指紋の値もまた ビルドの指紋であって人の指紋ではありません — 同じディストリビューションの標準の接続プログラムを使う、互いに知らない人どうしも同じ値を持ちます。

どうやって入ってきたか — 昨日もパスワードです

事実 昨日のログイン試行は 3,324回、送信元は 205か所 です。一か所あたり平均 約16.2回 ずつ叩いた計算で、これは六日間で最高です(8/20 約12.2回)。

事実 互いに異なるIP 3か所以上で観測された組み合わせだけを抜き出すとこうなります。

ID パスワード 観測されたIP数
admin admin 29か所
345gs5662d34 345gs5662d34 8か所
root root 7か所
support support 7か所
root 12345 6か所
nobody nobody 5か所
root admin 5か所
admin password 5か所
user user 5か所
root 1234 5か所
guest guest 5か所
admin 123456 5か所
user 1234 5か所
root 123456 4か所
root pass 4か所
root password 4か所
admin 1111 4か所
node node 4か所
root 111111 4か所
root 12345678 4か所

事実 ここで叩き方が分かれます。admin/admin はIP 29か所 から105回 — 一か所が三、四回ほど 入れてみて去ります。29か所は六日間でもっとも広く散らばった値です(8/20 14か所、8/21 18か所)。反対に nobody/nobody はIP 5か所 だけなのに同じく105回 — 一か所が二十一回ずつ 叩きました。root/admin も5か所で71回、一か所あたり約14.2回です。そして 345gs5662d34/345gs5662d34 は8か所で8回、一か所あたり正確に一度 です。広く一度ずつ撫でていく側と、狭く掘り下げる側が同じ日に一緒に来ました。

事実 そして 703個 の組み合わせは載せていません。互いに異なるIP 3か所未満でのみ出たものです(8/16 934 → 8/17 830 → 8/18 1,388 → 8/19 848 → 8/20 440 → 8/21 806 → 昨日703)。一か所だけで出た組み合わせは、どこかで実際に流出した 誰かのアカウント である可能性があるため、値は書かず個数だけ 数えます。

事実 昨日もCVEやエクスプロイトを参照した侵入経路はありませんでした。すべて認証情報でした。

残していったもの

昨日観測された検体とアドレスのすべてです。値を押すとコピーされます — ハッシュは読むためにあるのではなく、ブロックリストに入れるためにあります。hxxp:// と [.] はそのままにしてあります。

sha256
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b1バイト、種類を見分ける目印のない空ファイル · 配布元1か所(ATK-F604B7) · 11回 · URL未記録 · 昨日の主題セッションのダウンロード11件がすべてこのファイルである。アーカイブ照合上、8/17 121回·配布元2か所、8/18 11回·配布元1か所(ATK-ABE8B7)、8/21 11回·配布元1か所(ATK-792ADF)、昨日11回·配布元1か所
sha256
a6296a79f44e21b76604d2d2bbf795d2cf380f70e39d45fbf166707ff3b4a6a4306バイトPOSIXシェルスクリプト · 配布元15か所 · 15回 · 8/17~8/21と同じハッシュ·同じURLで六日連続であり、配布元数は六日間で最大。表記された配布元は ATK-D010F9 · ATK-B90DD3 · ATK-0880CE · ATK-7458D7 · ATK-DD3BCB · ATK-3651BF · ATK-4D7724 · ATK-383112 · ATK-C6FE9B · ATK-3C87E3 (リストは10個までの表記)
url
hxxp://185[.]93[.]89[.]72/wget上記スクリプトのアドレス。六日連続で同じアドレス·同じハッシュ
sha256
a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2389バイトOpenSSH RSA公開鍵 · 配布元8か所(ATK-E72D06 · ATK-6CFD54 · ATK-FFD724 · ATK-AA7FC7 · ATK-C54B57 · ATK-170A8F · ATK-44ED6E · ATK-9B8F5C) · 8回 · URL未記録 · 8/16~8/21と同じハッシュで七日連続
sha256
4af5a5c98ad132095c6fbe7b02c242153a190a01cc321e50a916a0ca46fbaa629バイトASCIIテキスト · 配布元1か所(ATK-BECAD3) · 13回 · URL未記録 · 8/18·8/20·8/21にも同じハッシュ·同じ別名があり、昨日の回数がもっとも多い
sha256
6ff531776b388e36fd967aa5e38be7b44d1d98c6ad03c5da0a2dbed7f33828e01,608バイトBourne-Againシェルスクリプト · 配布元1か所(ATK-10149C) · 1回 · 同じURL·同じサイズなのにハッシュは 8/17~8/19 6aa5054a…、8/20 b7728639…、8/21 c850a285…·7a5dcc03…、昨日 6ff53177… と五日間で5種である
url
hxxp://5[.]182[.]210[.]174/ok上記スクリプトのアドレス。アドレスもサイズもそのままなのに中身だけが変わる
url
hxxp://31[.]77[.]227[.]121/bins/ 系12件 (parm · parm5 · parm6 · parm64 · parm7 · pm68k · pmips · pmpsl · pppc · psh4 · pspc · x86_64)圧縮を解いて初めて出てきた監視リスト。昨日もダウンロード0件で三日連続であり、引き続きリストに載せておく

事実 リストで hxxp://5[.]182[.]210[.]174/ok の行が目に留まります。アドレスも同じ、サイズも1,608バイトで同じなのに ハッシュだけが違います。 8/17~8/19に一種、8/20に一種、8/21に二種、昨日また一種 — 五日間で 五種類 です。同じ場所に置かれたファイルが静かに入れ替わったという意味 です。「このファイルは危険」とハッシュに名札を付けて防ぐ方式がなぜいつも後手に回るのか、この一行が答えです。何が変わったのかは内容を収めていないため述べられません。

事実 そして389バイトのOpenSSH RSA公開鍵が 七日目 に同じハッシュで出ています。昨日は配布元8か所です。389バイトなら 短いメッセージ一通 程度の大きさです。この小さなファイルが authorized_keys(許可された鍵のリスト)に一行として入ると、パスワードなしで入れる鍵 が玄関に一つ掛かります。パスワードをすべて変えても、その鍵は残ります。

攻撃段階に移すと

観測された行動をMITRE ATT&CKという国際的な分類表に対応させるとこうなります。IDを押せば原文の説明を直接見られます — 私たちの言葉を信じずに確認していただいて構いません。すべて[推定]です。 私たちが見たのはコマンドであって、攻撃者の意図ではありません。

  • T1110.001Brute Force: Password Guessing推定
  • T1078Valid Accounts推定
  • T1059.004Command and Scripting Interpreter: Unix Shell推定
  • T1082System Information Discovery推定
  • T1105Ingress Tool Transfer推定
  • T1222.002File and Directory Permissions Modification: Linux and Mac推定
  • T1098.004Account Manipulation: SSH Authorized Keys推定
  • T1070Indicator Removal推定
  • T1562Impair Defenses推定

事実 最後の行の T1562(防御の無力化)には但し書きを付けなければなりません。これは昨日 わずか1回 として分類された意図一つだけに基づく項目です。コマンドの原文がなく 何を無力化しようとしたのか 述べられないため、より細かい下位技法は付けていません。

どこかで見た気がするなら

推定 2016年から続く Miraiボットネット系 と侵入構造が同じです。Telnetの初期パスワードで入った後、Webサーバーから小さなシェルスクリプトをダウンロードし、/bins/ パスにあるCPU種別ごとの実行ファイルを順に試す方式です。昨日引用した認証情報20件がすべて初期値・単純な組み合わせである点、完結セッション5件がすべてTelnet・パスワード経路である点、そして監視リスト12個のファイル名の規則(p + CPU種別)がこの方式と合致します。米国司法省の起訴・有罪答弁の記録が残っており、複数のベンダーの公開分析レポートがある事件です。

事実 この事例が指し示すものが一つあります。ソースが公開された系統のため、互いに何の関係もない運用者がそれぞれ同じ規則で配布元を立て、同じ手順を回すことがよくあります。 昨日の「四日間隔で同じ形のセッション」も、その方向と矛盾しません。

事実 ただしこの事例が 昨日の個別の判断まで確認してくれるわけではありません。 8/18のセッションと昨日のセッションの関係も、配布元が止まったのかどうかも同様です。そして昨日はELF実行ファイルが一件も観測されず、配布段階そのものが確認されていません。

それで何をすべきか

推定 昨日のデータが指し示す順序です。

  1. Telnetのような遠隔接続を切ります。 昨日Telnetは全セッションの33.9%で一日のうちに4.3倍になり、完結セッション5件はすべてTelnetです。Telnetはパスワードがそのまま流れていき、鍵認証という選択肢そのものがありません — 切る以外に方法がありません。ルーター・ホームカメラの設定で「リモートアクセス」「Telnet」「遠隔管理」を探して切っておいてください。そして 比率を基準に防御の順序を決めると、その基準自体が一日で変わります。 一昨日15%だったものが昨日34%です。
  2. 初期アカウント・初期パスワードを変えます。 ログイン試行3,324回、完結セッション5件はすべてログイン成功です。昨日実行されたコマンド7,574個は すべてログインに成功した後に 実行されたものであり、これは六日間で最大値です。上の表の組み合わせをお使いなら、それがすべてです。
  3. ログイン失敗回数を制限します。 同じ送信元が一日に 十七回ずつ 再び入ってきて、一つの組み合わせを 二十一回ずつ 再試行しても、何にも引っかかりませんでした。しかも昨日の主題セッションは20秒で終わりました。「長く張り付く接続」や「ゆっくり積み上がる試行」を基準に取った閾値には、そもそも引っかかりません。
  4. 機器が外からファイルを取ってこられないように塞ぎます。 昨日はファイルダウンロード48回、実行権限付与271回、ダウンロード後実行48回です。外へ出る接続が塞がれていたなら、ATK-4D7724・ATK-383112・ATK-80B5C2・ATK-F604B7 の四セッションはダウンロードの段階ですべて切れます。昨日は アウトバウンドが開いていたのに 実行ファイルが来ませんでした — つまり昨日の静けさは 私たちの防御が作ったものではなく、相手側の事情 です。
  5. ~/.ssh/authorized_keys ファイルが変わったら通知を受け取ります。 昨日は鍵の植え込み意図9回、同じハッシュの公開鍵を残した配布元8か所です。ATK-5A0689 は検体を一件も保存できなかったセッションなのに、鍵の植え込み段階まで分類されました。特に昨日のように実行ファイルが0件の日は、ウイルス対策ソフトが捕まえるファイル自体がありません。 鍵ファイルを直接覗き込まなければ、破られたという事実自体を知ることができません。
  6. ログを機器の外に保存します。 痕跡削除が8回、防御の無力化が1回観測されました。そして 昨日この記事が成立した理由がログです。 TTY録画2,988件があったからこそ20秒のセッションの中でコマンド22個とダウンロード11件がどう流れたのかを辿ることができ(内容はこの記事に含めません)、四日分の記録を消さなかったからこそ「8/18と同じ形が3.8倍速くなった」と分かりました。一日分だけ見ても分からないことです。

事実 「パスワードの代わりに鍵認証を使ってください」は、昨日のデータでは 中程度 の推奨です。昨日ログインが成功した完結セッションはすべてTelnetであり、Telnetには鍵認証がありません。そして3,324回のうちSSHの取り分がどれだけかをデータが分けてくれないため、「鍵認証を有効にしていたら昨日の侵入は防げた」と言う根拠がありません。

昨日一日の全体

セッション 3,553件
固有IP 205か所
ログイン試行 3,324回
実行されたコマンド 7,574個
SSH (2222) 2,350件
Telnet (2223) 1,203件

送信元一か所あたり平均約17.3セッション、約16.2回の試行です。セッション一つあたりのコマンドは約2.13個です。

昨日観測された配布元・C2(185[.]93[.]89[.]72, 5[.]182[.]210[.]174)と監視リストの 31[.]77[.]227[.]121 はC-TASへ通報しました。昨日の通報分の焦点は新しいアドレスではなく、六日連続で同じハッシュをばら撒く 185[.]93[.]89[.]72 と 五日間でハッシュ5種を回した 5[.]182[.]210[.]174 です。転送レイヤの成功のみ確認されており、KISA側の取り込みの有無は別途確認が必要です。

60秒で見る

同じ観測分を短い動画にもしました。動画は 持ち去ったファイル11個がすべて空だった という側に焦点を当てました。

私たちが分からないこと

このブログは分かっていることと分からないことを分けて書きます。昨日の観測分で確認できなかったことです。

  • 昨日のセッションと8/18のセッションが同じ送信元かどうか。 七つの値が一致しますが、別名はソルトを混ぜて作るため突き合わせられません。確認できるのはセッションの形と検体ハッシュが同じだというところまでであり、これは 同じツール・同じ自動実行手順を使ったという意味であって、同じ組織・同じ人物という意味ではありません。
  • 「約3.8倍」が正確な比較かどうか。 8/18の「約75秒」はその日の記録に書かれた値を引用したもので、昨日の約19.7秒は開始・終了時刻から直接計算しました。二つの値を同じ方法で出したのか確認できません。
  • ATK-F604B7 のcompletenessがなぜ42なのか。 意図が「防御の無力化」一つだけなのに昨日の最高値です。計算式がデータにないため説明できません。8/18(ATK-ABE8B7, 42)・8/21(ATK-792ADF, 意図0個なのに43)にも同じ項目が未解決のまま残っています。
  • 1バイトの空ファイルが11回繰り返し保存された理由。 ダウンロード失敗の結果なのか意図された動作なのか分かりません。コマンドの原文と画面録画の内容がないため、このファイルで何をしようとしたのかも述べられません。8/17・8/18・8/21にも同じ項目が残っています。
  • 「防御の無力化」1回が本当にこのセッションのものかどうか。 データが明示していません。このセッションの意図がそれ一つであり、昨日の全体カウントも1回なのでそう読みましたが、セッションと意図カウントを1:1で結んでくれる項目はありません。
  • 検体5種の観測回数の合計48と「ファイルダウンロード」48回が同じなのが偶然かどうか。 データが二つの値を結び付けてくれません。また389バイトの公開鍵は8/17の記録で「ダウンロードではなくセッションの中で作られたもの」と書かれているため、この8件をダウンロードとして合算するのが妥当かどうかも判断してくれません。
  • コマンド7,574個と意図分類の合計2,365回の差5,209がなぜこれほど大きいのか。 六日間でもっとも大きな差です(8/21は1,910対1,575で差335)。一つのコマンドが複数の意図に分類されるのか、分類されないコマンドがあるのか、昨日未分類が急増した理由が何なのか、説明がありません。偵察(システム)の比率が26.1%に下がったのも同じ原因かもしれませんが、確認できません。
  • Telnetが4.3倍に増えた理由。 固有送信元は205か所で一昨日と同じです。同じところがより頻繁に入ってきたのか、別のところが入ってきたのか、データが区別してくれません。
  • 8/21の配布元 176[.]65[.]139[.]196 が昨日ない理由。 一日限りの観測だったのか、生き続けているのに私たちの側にだけ来なかったのか区別できません。一昨日の「配布元が移った」という読みは、昨日のデータで裏付けられも否定されもしていません。
  • 監視リスト12個が三日連続0件である理由。 配布元が止まったのか、私たちのハニーポットにその要求が来なかったのか、同様に区別できません。
  • ATK-80B5C2 が持ち去った1件が何なのか。 ダウンロード数は1なのに a6296a79… の配布元表記リスト(10個)にはありません。実際の配布元は15か所でリストは10個までの表記のため、残り5か所の中にある可能性はありますが、確認できません。
  • ATK-5A0689 がダウンロードに失敗したのか、受け取ったが保存されなかったのか。 意図には「ファイルダウンロード」「ダウンロード後実行」があるのにダウンロード数は0です。8/18・8/19・8/20・8/21に続き五度目です。
  • 意図のリストが実行順序を意味するのかどうか。 明示されていないため、この記事は意図の配列の順序を段階の進行順序として読んでいません。
  • hxxp://5[.]182[.]210[.]174/ok が五日間で五種類を送り出した理由。 要求のたびに新しく作られるのか、短い周期で入れ替えられるのか分からず、内容を収めていないため何が変わったのかも述べられません。
  • 9バイトASCIIテキスト(4af5a5c9…)が何なのか。 内容が記録にありません。配布元は1か所なのに観測は13回です。
  • 同じハッシュの公開鍵を8か所が残した理由。 同じツールを使った結果なのか、鍵を共有した結果なのか分かりません。別名のため8/16~8/21の配布元数(10 → … → 16 → 12 → 8 → 10 → 昨日8か所)を日付間で合算したり、同じ送信元として追跡したりすることもできません。
  • 指紋のリストが上位いくつなのか全数なのか。 クラスタの総計は40なのにリストは10個です。したがって「昨日、検体を配布したクラスタはない」というのは その10個の範囲内での 事実です。
  • 0425c279…(SSH-2.0-PuTTY_Release_0.70)がいつ初めて観測されたものなのか。 昨日も当日3か所 = 累計3か所です。8/21の記録も同じ値で「その日初めて観測されたクラスタ」と書いていました。同じIP 3か所が二日連続で入ってきたのか、累計集計の方式が違うのか区別できず、累計集計の開始時点も明示されていません。
  • SSH-2.0-ZGrab ZGrab SSH Survey(指紋 dd9bcf09…、昨日IP 2か所·累計38か所)の性格。 公開されているインターネットスキャナーツールの名前ですが、研究・測定目的なのか攻撃の準備なのか、このデータでは区別できません。
  • Discord Webhook URL 1件。 どのセッション・どの検体と結び付くのか明示されていないため、昨日の事実関係に含めませんでした。8/20・8/21も同じ理由で除外しました。
  • 集計数値が一日全体を覆うのかどうか。 主なセッションがUTC 00:25~11:34にわたっており、生成時刻は15:05Zです。観測区間が明示されていません。上で「26秒に一度の割合」と書いたのも一日全体を仮定した計算であり、セッション・コマンド数が急増したのが集計区間が変わったためである可能性も排除できません。
  • tty_recordings_available(174)・samples_on_honeypot(45)と集計TTY録画(2,988件)の関係。 説明がありません。
  • C-TAS通報の取り込み・活用の有無。 転送レイヤの成功のみ確認されました。
  • 背景の脆弱性統計(CVE 4,556件 / CISA KEV 345件 / ランサムウェア連携確認95件、EPSS上位 CVE-2018-13379 · CVE-2022-26134 · CVE-2021-44228 · CVE-2023-4966 · CVE-2024-3400)。 KISAセキュリティ告知に基づく背景統計であり、昨日の観測分と直接結び付きません。昨日観測された侵入経路はすべて認証情報でした。

そしてそもそも 確認する手段がないもの です。これは分からないこととは違います — 推定しない方が正解です。

  • ASN·ISP — GeoIP・ASNデータベースを持っていません。推定しません。昨日の配布元 185[.]93[.]89[.]72・5[.]182[.]210[.]174 のホスティング事業者も分かりません。
  • 地理的位置 — 同じです。IPの地理情報はそもそも帰属の根拠にもなりません。Telnetが4.3倍に増えましたが、どこから来たのかは述べられません。
  • VPN·Tor·クラウドかどうか — 判別する手段がありません。
  • VirusTotalの検出結果 — 未連携です。昨日保存された検体5種がどの系統として検出されるのか、このデータでは述べられません。検体の分類はMalwareBazaarのタグを使います。
  • User-Agent — SSH・TelnetにはUser-Agentそのものが存在しません。HTTP攻撃は別ソースです。
  • CVEとの紐付け — SSH・Telnet攻撃は脆弱性を参照しない場合がほとんどで、昨日の観測分もパスワードを狙ったものでした。

動画二つを並べて見る話から始めました。

昨日私たちが突き止めたのは、ちょうどその程度です。同じ場面が四日ぶりに再び通り過ぎ、今回は3.8倍速かった。撮った人が同じ人なのかは最後まで分かりません。画面に映らないからです。

けれども、これが分かった理由は一つだけです。四日前の動画を消さなかったからです。 昨日一日分だけを見ていたなら「20秒のセッションが空ファイル11個を持ち去った」で終わっていたでしょう。速くなったことも、三度目の同じ形だということも分からなかったでしょう。

今、家にあるルーターやホームカメラも毎日撮影されています。ただ、私たちの側には録画機がありません。 昨日のように残るものが文字十一個だけの日には、ウイルス対策ソフトが捕まえるものもなく、巻き戻して見るものもありません。


この記事は2026-08-22のハニーポット観測分をもとに作成されました。送信元IPはブリーフのマスキング形式のまま表記し、配布アドレスは接続されないように変形(defang)しました。引用した認証情報は互いに異なるIP 3か所以上で観測された20の組み合わせのみを含めており、それ未満でのみ観測された703の組み合わせは個数だけを明かし、値は載せていません。