SecurityHeroblog

同じ棟、三軒目の家 — 今回の箱には管理室のステッカーが貼られていた

9月17日、8月に二度ファイルを配っていたアドレスと先頭3つの数字が同じ、三つ目のアドレスが現れました。そこから来たファイル7個はすべて27日分の記録になかったもので、5個はLinuxが自ら動かすプログラム名に似たラベルを付けていました。ところがこの7個を持ってきた侵入は、その日記録が残ったセッション5件のどこにもありませんでした。

アパートの一棟を思い浮かべてください。8月21日にその棟のある家から、私たちの家の前に箱を三つ置いていきました。数日後には同じ棟の別の家からまた箱を置いていきました。ラベルは毎回違いました。

昨日、その棟の三軒目の家が私たちの家の前に箱を置いていきました。今回は七つです。そのうち五つには**「管理室の備品」**と書かれたステッカーが貼られています。管理室の物なら誰も開けて見ません。一つは残りの五つを全部合わせたものより五倍大きいです。そしてその大きな箱には、工場で刻印した製造番号のステッカーが剥がされないままそのまま残っています。

ところが、おかしなことが一つあります。廊下の防犯カメラ映像五つを全部回して見たのですが、箱を持ってきた人がどこにも映っていませんでした。

昨日、私たちのサーバーに記録されたのはこれです。

私たちのサーバーはわざと鍵をかけていない家です

事実 私たちはハニーポットサーバーを運用しています。ハニーポットとは、わざと無防備に開けておき、誰が入ってきて何をするのかを見守るおとりサーバーです。玄関に鍵をかけていない空き家だと思ってください。ですから、ここで起きたことは実際の被害ではなく観測記録です。

事実 昨日、箱七つを持ってきた側には ATK-5165FA という別名を付けました。別名は身元ではありません。記事と記事の間で同じマスク処理された発信元を続けて呼ぶために付けた印にすぎません。この別名は私たちのアーカイブ27日分(8月16日〜9月15日)のどこにもなかった新しい別名です。そしてこの記事では、この別名のIPをマスク処理された形ですら書けません。理由は下の「持ってきた人が映っていなかった」で述べます。

同じ棟、三軒目の家

事実 インターネットアドレス(IP)は、ドットで区切られた4つの枠の数字です。昨日ファイル7個が来たアドレスは hxxp://176[.]65[.]139[.]206/ です。アドレスをこのように奇妙に書くのは誤字ではありません。誤ってクリックして接続することがないように、http を hxxp に、ドットを [.] に置き換えておく慣習です。ディファング(defang)、牙を抜いておくという意味です。

事実 このアドレスの先頭3つの枠 176.65.139 は、8月に二度見たことがあります。先頭3つが同じで最後の枠だけ違うアドレスは、同じ棟にある別の家に似ています。下の表の最後の枠とラベルを見てください。

日付 アドレス(ディファング) 箱のラベル — ファイル名の規則 PC用(x86)ファイル
8月21日 176[.]65[.]139[.]196 /bins/kla · px86 · pmips — 「p + CPUの種類」 あり
8月23〜25日 176[.]65[.]139[.]202 telnet.sh + daredevil.armv5l · armv6l · armv7l · mips · mipsel — 「daredevil. + CPUの種類」 0件
9月17日 176[.]65[.]139[.]206 kworkerd-irq-bal · kworkerd-blkcg · kworkerd-irq · kworkerd-netns-rt · kworkerd-softirq + w.sh + armv5l — 「kworkerd- + カーネル名」 0件

事実 一軒目は8月21日の記事で「記録5日分に一度もなかった場所」として初めて登場しました。二軒目は8月23日から三日連続で現れました。そして二軒目が最後に見えた8月25日から昨日まで、23日ぶりに三軒目が現れました。家が変わるたびにラベルの規則も三回とも変わりました。

推定 言えるのはここまでです。最後の枠が違うので**同じ機械ではありません。同じ棟に住んでいても同じ家族とは限らないように、三軒が同じ人のものかどうかを確認する手段はありません。**先頭3つが同じという事実だけがあります。

箱七つを開けてみると

事実 七つはこうです。サイズの欄で⑦の行を見てください。

# ファイル名 サイズ(バイト) 種類 備考
① kworkerd-irq-bal 274,516 ELF 32ビット ARM 静的リンク · 名札除去
② kworkerd-blkcg 265,836 ELF 32ビット ARM 静的リンク · 名札除去
③ kworkerd-irq 275,476 ELF 32ビット ARM 静的リンク · 名札除去
④ kworkerd-netns-rt 386,320 ELF 32ビット MIPS(ビッグエンディアン) 静的リンク · 名札除去
⑤ kworkerd-softirq 287,260 ELF 32ビット ARM 静的リンク · 名札除去
⑥ w.sh 1,237 テキスト(CRLF改行) ショートメッセージ6〜7行分
⑦ armv5l 7,405,752 ELF 32ビット ARM 名札除去の表記なし · BuildID残存

事実 用語を解くとこうです。ELFはLinuxでプログラムファイルが使う規格の名前です。ARMとMIPSはCPUの種類で、ルーターやホームカメラのような小さな機器によく入っている側です。PCやサーバーに多いx86系は七つのうち**一つもありません。**静的リンクとは、プログラムが使う部品を全部中に入れて丸ごと作ったという意味です。他人の機械に行っても部品を借りる必要がないのでよく動きます。「名札除去」とは、作った人が付けておいた内部の印を配布前に剥がしたという意味で、そうすると分解して調べるのが難しくなります。④のビッグエンディアンとは、数字を読む順序が逆のCPUの種類だという話です。

事実 ①〜⑤の五つは平均297,882バイトです。スマートフォンの写真1枚の10分の1ほどです。ところが⑦は7,405,752バイトです。スマートフォンの写真2〜3枚のサイズです。五つの平均の24.9倍で、五つを全部合わせても(1,489,408バイト)⑦一つの5分の1に届きません。昨日このサーバーに保存されたファイル13個の中で圧倒的に最大です。同じ名前の規則で8月24日に来た daredevil.armv5l は50,096バイトでしたから、それと比べると148倍です。

事実 ⑦にはもう一つあります。**BuildIDが残っています。**BuildIDはプログラムを作るときに自動的に刻まれる製造番号のような値です。他の五つは名札を消したのに、この大きなファイルだけ製造番号のステッカーを剥がさないまま来ました。値そのものは私たちの材料で表記が切れている可能性があるため転記しません。

事実 七つはすべてそれぞれちょうど一回ずつ保存され、合計すると8,896,397バイトです。そして七つのハッシュがすべてアーカイブ27日分にありません。ハッシュはファイルの内容を丸ごと計算して作った指紋なので、一文字違っても値が変わります。つまり七つとも初めて見る中身です。

管理室のステッカー

事実 五つの名前をもう一度見てください。kworkerd、irq、softirq、blkcg、netns。Linuxが起動している間、自ら動かす小さなプログラムがあります。実行中のプログラム一覧を開くと、kworker、ksoftirqd、irq/…、blkcg、netns のような名前で常に表示されています。カーネルスレッドと呼びます。アパートで言えば管理室の職員です。いつも廊下にいるので、誰も「どなたですか」と尋ねません。

推定 昨日の五つのファイル名は、この管理室職員の名前に似た文字列です。**プログラム一覧を眺める目に付かないようにするための名前選びと読めます。ただしここで止まります。ファイルが実際に実行されたとき一覧にどんな名前で表示されるかは、ファイルの内容が私たちの材料にないため確認できません。**ステッカーが貼られているというところまでが事実で、そのステッカーで人を欺いたかどうかは分かりません。

事実 もう一つ目に付くものがあります。一軒目(px86、pmips)と二軒目(daredevil.armv5l、daredevil.mips…)は、ラベルに**CPUの種類をそのまま書いていました。昨日の五つはそれを消しました。**代わりに管理室の名前を付けました。

推定 ⑥の w.sh は改行がCRLFです。CRLFはWindowsのエディタが既定で使う改行なので、このスクリプトをWindowsで書いた可能性があります。しかしLinuxでも作れるので**断定しません。**このスクリプトが残りの六つをダウンロードする案内文(ローダー)なのかも、内容がないため分かりません。ただ、七つが一つの別名・一つの配布元から各1回ずつ出てきた形は、一回の手順でまとめて降りてきたという側に合っています。

持ってきた人が映っていなかった

事実 私たちの材料には、一日のうち記録が最も細かいセッション5件が別に載っています。廊下の防犯カメラ映像5つだと思ってください。昨日その5つの画面に映った別名は ATK-A593DF、ATK-BDB53E(2回)、ATK-73181C、ATK-CA5936 です。**ATK-5165FA はありません。**この別名は「ファイルを配達した場所」の欄にだけ名前があります。

事実 ですからこの侵入については**分からないことが多いです。**何時に来たのか、TelnetなのかSSHなのか、コマンドをいくつ打ったのか、画面が録画されたのか、マスク処理されたIPが何なのか。すべてJSONにありません。箱七つが置かれたという事実だけがあり、置いていった人はどの画面にもいません。

推定 5つの画面が「記録の細かい順で上位5件」なら、この侵入の記録は5番目(完全性14)より粗かったという意味になります。しかし選定基準がJSONに書かれていないため**これも推定です。ですから今日の記事は「一つの侵入を追う」ではなく、「一軒の家から来た箱七つを追う」**です。

時系列に並べるとこうなります。主題の行に時刻がないことと、12:06の2行が2秒間隔であることを見てください。

  1. 事実 ATK-A593DF(61.245.x.x) Telnetログイン成功。00:56:36Zまで22.7秒 · コマンド8個 · ダウンロード1件。意図: 実行権限付与 · ファイルダウンロード。持ち帰ったファイルは9バイトのASCIIテキスト(0dc95fb4… · 観測2回)。別名・ハッシュともにアーカイブにない。画面録画あり(内容は材料にない)。完全性14
  2. 事実 ATK-BDB53E(160.119.x.x) Telnetログイン成功。03:06:41Zまで6.98秒 · コマンド7個 · ダウンロード2件。意図: ダウンロード後実行 · 実行権限付与 · ファイルダウンロード。完全性19。9/15の主題セッションとコマンド数 · ダウンロード数 · 意図 · 完全性がすべて同じ
  3. 事実 同じ別名ATK-BDB53Eの二つ目のセッション。最初のセッション開始の2.33秒後に始まり、最初のセッションが終わる前に重なって動いた。4.75秒 · コマンド2個 · ダウンロード2件 · 意図3つ同一 · 完全性16。9/15には二つのセッションが6時間59分離れていたが、今日は2秒間隔の並列だ
  4. 事実 hxxp://160[.]119[.]66[.]206/bins/kla.sh (3,241バイト POSIXシェルスクリプト · 39be6853…) と hxxp://160[.]119[.]66[.]206/bins/net.x86_64 (190,632バイト ELF 64-bit x86-64 · 静的リンク · 名札除去 · cd6ccc5d…)。どちらも今日観測2回。sha256は9/15と同一 — 二日の間に作り直されていない
  5. 事実 ATK-73181C(124.158.x.x) Telnetログイン成功。04:40:35Zまで65.4秒 · コマンド17個 — 今日記録されたセッションの中で最も長く、コマンドが最も多い。意図5つ: 偵察—システム · ファイルダウンロード · 実行権限付与 · ダウンロード後実行 · 持続性—SSHキー植え付け。ところがダウンロード数は0。完全性17。別名はアーカイブにない
  6. 推定 「ファイルダウンロード」·「SSHキー植え付け」の意図が付いているのに保存されたファイルが0個だ。ダウンロードが失敗したか、キーがファイルではなくコマンド内の文字列として植え付けられた可能性がある。コマンド原文が材料にないためどちらか確認できない。8/18(63秒 · キー植え付け · 保存ファイル0)と同じ形だ
  7. 事実 ATK-CA5936(130.12.x.x) SSHログイン成功。3.72秒 · コマンド1個 · ダウンロード2件 · 意図5つ。指紋16443846… / SSH-2.0-Go。ファイルは399バイトのOpenSSH秘密鍵(43728fbf…)と54バイトのASCII(00b6f15c…)で8/19以降同じハッシュ。今日の主題ではない
  8. 事実 今日の主題。ATK-5165FAが唯一の出所である検体7種がhxxp://176[.]65[.]139[.]206/から来た。この別名は記録が残ったセッション5件のどこにもなく、時刻 · プロトコル · コマンド数 · マスクIPが分からない
  9. 事実 ① kworkerd-irq-bal 274,516バイト ELF 32-bit LSB ARM(0603941e…) ② kworkerd-blkcg 265,836バイト ARM EABI4(c45ff1d6…) ③ kworkerd-irq 275,476バイト ARM(89ec6a69…) ④ kworkerd-netns-rt 386,320バイト ELF 32-bit MSB MIPS32 rel2(951258ff…) ⑤ kworkerd-softirq 287,260バイト ARM EABI4(93d12190…) ⑥ w.sh 1,237バイト ASCII · CRLF改行(a05b90af…) ⑦ armv5l 7,405,752バイト ARM EABI5 · BuildID保存(2dbdb379…)。7種すべて観測1回、合計8,896,397バイト。sha256 7個すべてアーカイブ27日分(8/16〜9/15)にない
  10. 事実 ①〜⑤はすべて静的リンク · 名札除去。ARM 4種 + MIPS(ビッグエンディアン)1種でx86系がない。⑦ armv5lだけ名札除去の表記がなくBuildID[sha1]が残っている。⑦は①〜⑤平均(297,882バイト)の24.9倍、今日01に保存された検体13種の中で圧倒的最大。8/24のdaredevil.armv5l(50,096バイト)と比べると148倍
  11. 推定 kworkerd · softirq · irq · blkcg · netnsは、Linuxカーネルが自ら立ち上げる作業スレッド · サブシステム名(kworker, ksoftirqd, irq/…, blkcg, netns)に似た文字列だ。プロセス一覧でカーネルスレッドのように見せるための名前選びと読めるが、実行時にプロセス名を実際にどう表示するかは検体の内容がないため確認できない。8/21 · 8/23〜25はCPUの種類を名前に出していたが、今日の五つは名前からCPUの種類を消した
  12. 推定 w.shは「ASCII text with CRLF line terminators」。CRLFはWindowsエディタの既定の改行なので作成環境がWindowsだった可能性があるが、Linuxでも作れるため断定しない。このスクリプトが残りの六つをダウンロードするローダーかは内容がないため分からない。ただ7種が一つの別名 · 一つの配布元から各1回ずつ出た点は、一回の手順でまとめて降りてきたという側に合致する
  13. 事実 176[.]65[.]139[.]196は8/21に初登場し/bins/kla · px86 · pmipsを配った(x86含む)。176[.]65[.]139[.]202は8/23〜8/25の三日連続でtelnet.sh + daredevil.{armv5l, armv6l, armv7l, mips, mipsel}を配り、x86は0件。今日の.206はkworkerd-* 5種 + w.sh + armv5lで、やはりx86 0件。先頭3つが同じアドレス三つが三通りの名前規則で交互に現れた。最後の枠が違うため同じ機械ではなく、同じ運用者かは確認手段がない
  14. 推定 8/24の記事は「名前 · URLで作ったリストは当たり、ハッシュのリストは一日で外れた」と書いた。今日は逆だ — 8/21 · 8/24のURL · ファイル名リストでは今日の7種を一つも捕まえられず、ハッシュのリストも捕まえられない。残るのは先頭3つの176.65.139だけだ
  15. 事実 セッション791件 · ユニーク発信元196か所 · ログイン試行403回 · コマンド1,081個 · 画面録画285件。アーカイブ28日分のうち8/29 634 · 8/31 779に次ぐ三番目の最低。Telnet 421件(2223) > SSH 369件(2222)、Telnet比率53.2% — 8/16(SSH 88%)と正反対
  16. 事実 意図: 実行権限付与131 · 偵察—システム82 · ファイルダウンロード34 · ダウンロード後実行29 · 持続性—SSHキー植え付け17 · 痕跡削除15。合計308で全コマンドの28.5%。1位が偵察ではなく「実行権限付与」の日は9/4に続き二度目。9/15は偵察が意図の91.7%だった
  17. 事実 389バイトのOpenSSH RSA公開鍵(a8460f44…)を互いに異なる14か所が残した(別名は10か所までのみ表記)。8/16の初観測以降、アーカイブにある日ごとに同じハッシュ。今日の「SSHキー植え付け」17回とおおむね噛み合う
  18. 事実 SSH指紋クラスター44個(9/15と同じ)。最多指紋f555226d…(libssh_0.9.6)は今日14か所 · 集計205か所だがファイルを一つも配達していない。検体を配達した指紋は16443846…(SSH-2.0-Go · 今日3か所 · 集計21か所)一つだけで、これはATK-CA5936のもの。主題の別名はプロトコルが分からずどのクラスターにも対応させられない。スキャナーバナー4e066189…(Fingerprintx-SSH2 · 3か所) · dd9bcf09…(ZGrab SSH Survey · 2か所)もリストにある
  19. 事実 セッション24,064件 · ユニーク発信元513か所。VNC 20,953件(258か所 · 87.1%) · RDP 2,210件(118か所 · 9.2%) · SMB 387件(92か所) · LDAP 157件(12か所) · MSSQL 58件(13か所)。ADBセッション299件 · 検体4件
  20. 事実 VNC 20,953件は02アーカイブ17日分(8/26〜9/15 · 最低8/27 29,111 · 最高9/10 65,487)のどの値よりも少ない。発信元258か所は9/6(264か所)と近く、一か所あたり81.2件に減った形。提案されたVNCバージョンは003.003 17,315 · 003.008 3,562(82.6% : 17.0%)、合計20,877でセッション数より76件少ない
  21. 推定 ADBセッション299件はアーカイブ記録(8/30 25 · 8/31 52 · 9/1 22 · 9/3 32 · 9/4 25 · 9/6 47 · 9/15 26)のうち最大52件の5.7倍。ところが検体4件(0d3c687f… 46,525 · 76ae6d57… 239,388 · a1b6223a… 334,816 · d7188b8c… 153,208バイト)はすべて8/28 · 8/30 · 9/7にあったハッシュで、出所ATK-C93E77だけが新しい別名。接触は増えたのに投入物は古いままだ。02の検体をADBと読むのは02でファイルが残る経路がADBだけだからであり、データが明示しているわけではない
  22. 事実 上位1 · 2位ATK-A9F1B3(68.183.x.x) · ATK-943F0E(129.212.x.x)がそれぞれ5,675件で完全に同じ。二つで11,350件 = 02全体の47.2%、上位4か所(+ATK-0E3BBB 1,323 · ATK-AE264D 671)が55.5%。この二つの別名は9/10 · 9/13 · 9/15にも並んで上位にあり、9/15にも5,736 · 5,723で近接していた。どのサービスを叩いたかはデータにない
  23. 事実 RDPクッキー: hello 1,514(68.5%) · <ip> 469 · nmap 6 · rdpaudit 6 · (空欄) 2 · Domain 1。9/10 · 9/13に3万台だった「mstsc」は今日ない。「nmap」·「rdpaudit」はスキャナーツール名と同じ文字列だが、相手が自ら書いて送る値なので偽装可能。SMB方言提案491件のうち「SMB 2.???」28件を除いた463件(94.3%)がSMB1世代(NT LM 0.12 121 · LANMAN1.0 86 · LM1.2X002 86 · LANMAN 46 · PC NETWORK PROGRAM 1.0 44 · Windows for Workgroups 3.1 40 · LANMAN2.1 40)
  24. 事実 UPX圧縮を解かないと出てこない配布元hxxp://31[.]77[.]227[.]121/bins/の12個のURLは8/16以降の繰り返しで今日の新規指標ではない。平文指標としてはdiscordウェブフックURL 1件(ディファング維持)。脆弱性の背景統計(CVE 7,628 · KEV 397 · ランサムウェア確認100)はKISA公知に基づくもので今日の観測と直接つながらない

事実 主題の行だけ時刻が空いています。残りの5つの画面は秒単位まであるのに、箱七つを置いていった行だけが**「時刻不明」**です。そして12:06の2行は、二日前に同じ別名が7時間離れて二度来たのとは違い、2.33秒差で重なって動きました。

リストでは捕まえられない — 残るのは先頭3つ

事実 8月24日の記事で私たちはこう書きました。ファイル名とアドレスで作ったブロックリストは当たり、ハッシュで作ったリストは一日で外れたと。そのときは同じ家から同じラベルの箱が来て、中身だけが変わったからです。

推定 昨日は逆です。8月21日と24日の**アドレス・ファイル名リストでは昨日の七つを一つも捕まえられません。**家が変わり、ラベルも変わりました。ハッシュのリストは当然捕まえられません。七つとも初めて見る中身ですから。あの日のリストから昨日まで生き残った値はただ一つ、先頭3つの 176.65.139 だけです。部屋番号を覚えれば引っ越したときに外れ、棟の名前を覚えればその棟の別の家まで一緒に引っかかります。どちらが正しい選択かはサーバーごとに異なり、この記事はそれを決めてあげません。

その日、廊下に映った他の人たち

事実 5つの画面に映った側も押さえておきます。昼12時6分の ATK-BDB53E は二日前の記事の主役です。ファイル2個(kla.sh 3,241バイト · net.x86_64 190,632バイト)のハッシュが二日前とまったく同じです。二日の間に作り直されていないという意味です。コマンド7個・ファイル2個・意図3つ・完全性19もそのままです。変わったのは一つ、二つ目のセッションが2.33秒後に重なって始まったことです。二日前は6時間59分後でした。

事実 昼1時39分の ATK-73181C は、昨日の5つの画面の中で最も長く(65.4秒)滞在し、コマンドを最も多く(17個)打った侵入です。意図も五種類で最多です。偵察、ファイルダウンロード、実行権限付与、ダウンロード後実行、そしてSSHキーの植え付け。ところが保存されたファイルが0個です。

推定 ファイルを受け取ろうとして失敗したか、鍵をファイルではなくコマンド文の中に文字として入れて植え付けた可能性があります。SSH公開鍵とは、簡単に言えばパスワードなしで入れる合鍵で、これはファイルをダウンロードしなくてもコマンド一行で仕掛けておけます。コマンド原文が材料にないためどちらかは分かりません。8月18日の記事の「63秒・キー植え付け・保存ファイル0」と同じ形なので、今日は脇筋としてだけ置いておきます。

事実 朝9時56分の ATK-A593DF は22.7秒間にコマンド8個を打ち、9バイトの文字ファイルを一つ持ち帰りました。文字九つ分です。別名もハッシュも初めてですが、内容は材料にありません。夜11時19分の ATK-CA5936 は8月19日から繰り返し登場する別名で、ファイル2個もそのときから同じハッシュです。

昨日の箱から出てきたもの — 書き留める値

事実 防御に使えるよう値をそのまま転記します。**値をクリックするとコピーされます。**アドレスは接続されないよう変形してありますので、そのままにして使ってください。上の14行が昨日初めて出た値で、その下は二日前の値、一番下は数週間変わっていない背景です。

sha256
0603941eb6e88c7b716a67c1584aedf4d78fc060e18cf72e09cb59f6561387de① kworkerd-irq-bal · 274,516バイト ELF 32-bit LSB ARM · 静的リンク · 名札除去 · 観測1回 · 出所ATK-5165FA · 新規ハッシュ
url
hxxp://176[.]65[.]139[.]206/kworkerd-irq-bal① 配布元 · 新規アドレス · 先頭3つが8/21 .196 · 8/23〜25 .202と同じ
sha256
c45ff1d693057febbed0989a0990d7b0de74006e6f4a0976036df2944692bffa② kworkerd-blkcg · 265,836バイト ARM EABI4 · 静的リンク · 名札除去 · 観測1回 · 新規ハッシュ
url
hxxp://176[.]65[.]139[.]206/kworkerd-blkcg② 配布元
sha256
89ec6a698e44c22d39bb822add4abfba32a23e1af991b9f0ad786b9d0ec0be1e③ kworkerd-irq · 275,476バイト ARM · 静的リンク · 名札除去 · 観測1回 · 新規ハッシュ
url
hxxp://176[.]65[.]139[.]206/kworkerd-irq③ 配布元
sha256
951258ffa00273ea87d05725471d1174fe7176bf34c56b1b3c9974eeb2e0d5b5④ kworkerd-netns-rt · 386,320バイト ELF 32-bit MSB MIPS32 rel2 · 静的リンク · 名札除去 · 観測1回 · 新規ハッシュ · 7種中唯一のMIPS
url
hxxp://176[.]65[.]139[.]206/kworkerd-netns-rt④ 配布元
sha256
93d1219016d2c06a434d3042b9c26e471acbff40062b22fcab73d05bfe169760⑤ kworkerd-softirq · 287,260バイト ARM EABI4 · 静的リンク · 名札除去 · 観測1回 · 新規ハッシュ
url
hxxp://176[.]65[.]139[.]206/kworkerd-softirq⑤ 配布元
sha256
a05b90aff2b770c56d025b26d978a5d87ca8686ba2fd4e48010c036f72737310⑥ w.sh · 1,237バイト ASCII · CRLF改行 · 観測1回 · 新規ハッシュ · 内容は材料にないためローダーかどうか判断しない
url
hxxp://176[.]65[.]139[.]206/w.sh⑥ 配布元
sha256
2dbdb379610e8a9bdbbbe898e896c6ff96285e4ae2f4979ed514aaac57c7804b⑦ armv5l · 7,405,752バイト ARM EABI5 · 名札除去の表記なし · BuildID[sha1]保存 · 観測1回 · 新規ハッシュ · 今日の最大サイズ
url
hxxp://176[.]65[.]139[.]206/armv5l⑦ 配布元 · 8/24 daredevil.armv5l(50,096バイト)と名前の規則だけ同じでサイズは148倍
sha256
39be6853a8204ce6455a373a6ffb4cb4672d4a62d90be69f7d6eeb66cda10b96kla.sh · 3,241バイト POSIXシェルスクリプト · 今日2回 · 出所ATK-BDB53E · 9/15と同じハッシュ(二日前の値)
url
hxxp://160[.]119[.]66[.]206/bins/kla.sh上のスクリプトの配布元 · 9/15と同一(二日前の値)
sha256
cd6ccc5dabe85309a938e43c9508998bb0f52a9264fa9ba9276956f7fa42f48dnet.x86_64 · 190,632バイト ELF 64-bit x86-64 · 静的リンク · 名札除去 · 今日2回 · 出所ATK-BDB53E · 9/15と同じハッシュ(二日前の値)
url
hxxp://160[.]119[.]66[.]206/bins/net.x86_64上の実行ファイルの配布元 · 9/15と同一(二日前の値)
sha256
0dc95fb4077cce0bff19aa1a77109d059dff6503bbf6c1b0dd2f41fc0a4c88e79バイトASCIIテキスト · 今日2回 · 出所ATK-A593DF · アドレス未記録 · 新規ハッシュ · 内容は材料にない
sha256
a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2389バイトOpenSSH RSA公開鍵 · 今日14回 · 互いに異なる14か所 · アドレス未記録 · 8/16以降同じハッシュ · 配達した別名は10か所までのみ表記(背景)
sha256
43728fbfb98bb39ff61a2db0fc2905bd6937997062b05b9ab8b186fdee18c09a399バイトOpenSSH秘密鍵 · 今日2回 · 出所ATK-CA5936 · 8/19以降同じハッシュ(背景)
sha256
00b6f15c2274420217ed3098a9f5f00545bf1793d7a324fd18a7809cbbf5b12b54バイトASCIIテキスト · 今日2回 · 出所ATK-CA5936 · 8/19以降同じハッシュ(背景)

事実 上の14行で注目すべきはアドレスのパスです。一軒目と二軒目、そして二日前の 160[.]119[.]66[.]206 はすべて /bins/ フォルダの下でファイルを配っていました。昨日の三軒目はフォルダなしで最上位から配りました。フォルダ名で作った規則も昨日は外れます。

196個はわざと隠しました

事実 昨日一日のログイン試行は403回、互いに異なる196か所から入ってきました。一日を秒で割ると3分34秒に一回の割合です。一か所あたり平均2.1回です。二日前(3,620回、24秒に一回)と比べると9分の1です。

事実 試行されたID・パスワードの組み合わせのうち、この記事に転記するのは10種だけです。残りの196種は個数だけ数え、値は書きません。互いに異なるIP 3か所以上で繰り返された組み合わせだけ原文を引用するのが私たちのルールです。一、二か所でしか出なかった組み合わせは、どこかで漏れた誰かの本物のアカウントかもしれないからです。他人の家の玄関の暗証番号を偶然見たからといって書き留めないのと同じです。

下の10種は反対側です。複数の場所で繰り返されたので**「誰のものでもない出荷時の初期値」**と見なせるものです。

ID パスワード 異なる発信元
admin admin 14か所
345gs5662d34 345gs5662d34 14か所
root root 7か所
root 3245gs5662d34 6か所
root (空欄) 5か所
root 123456 4か所
root admin 4か所
root xc3511 3か所
admin password 3か所
tentob tentob 3か所

事実 admin/admin は14か所から31回入ってきました。一か所あたり2.2回です。root/root は7か所から15回、パスワード欄がまったく空の root は5か所から23回、root/xc3511 は3か所から15回です。一か所が同じ組み合わせを5回前後入れてみた計算です。

推定 このリストは私たちを狙って作ったものではありません。どこでも通る値を順に入れてみる辞書です。そして昨日箱七つを置いていった侵入が**どの組み合わせで入ってきたかは分かりません。**その侵入はそもそも画面にないのですから。

昨日一日全体

事実 ドアが実際に開く側(センサー01)の一日集計です。右の欄も一緒に見てください — 数字一つだけ見ても大きさがつかめません。

項目 9月17日 比べるもの
セッション 791件 約2分に一回 · 28日分のうち三番目に少ない日(8/29 634 · 8/31 779の次)
ユニーク発信元 196か所 一か所あたり平均4.0件
ログイン試行 403回 3分34秒に一回 · 一か所あたり2.1回
コマンド 1,081個 80秒に一つ
ポート2223(Telnet) 421セッション 全体の53.2% — 8/16(SSH 88%)と正反対
ポート2222(SSH) 369セッション 46.8%
画面録画 285件 セッションの36.0%

事実 静かな日でした。ところが静かな日に初めて見るファイルが七つ来ました。騒がしい日と危険な日は同じ言葉ではありません。そして昨日はTelnetがSSHより多かったです。Telnetはとても古いリモート接続方式で、**やり取りする文字が暗号化されずそのまま行き交います。**8月16日にはSSHが88%だったのに、昨日はTelnetが半分を超えました。

事実 昨日サーバーの中で起きたことを種類別に数えるとこうです。

何をしようとしたか 回数 比べるもの
実行権限付与 131回 今日の1位 — 偵察が1位でない日は9/4以来二度目
偵察 — システム調査 82回 9/15にはこれが意図の91.7%だった
ファイルダウンロード 34回 —
ダウンロード後実行 29回 上と5の差
持続性 — SSHキー植え付け 17回 389バイトの公開鍵が14か所から
痕跡削除 15回 —

事実 「実行権限付与」とは、ファイルに**「これは実行してもいいファイルだ」という印を付ける動作**です。Linuxではこの印がないと、プログラムであってもそのままでは動きません。昨日はこれが1位です。意図が付いたコマンドは308個で全体の28.5%、残りの71.5%は分類されていないコマンドです。

事実 SSHで入ってきた側は、接続プログラムの指紋(hassh)が残ります。昨日最も多く来た指紋 f555226d…(libssh_0.9.6 · 今日14か所 · 集計205か所)は**ファイルを一つも置いていきませんでした。**ファイルを置いていった指紋は 16443846…(SSH-2.0-Go · 今日3か所)一つだけで、それは ATK-CA5936 のものです。昨日の主役はプロトコル自体が分からないため、**このリストのどこにも置けません。**指紋は接続プログラムの指紋であって人の指紋ではありません。

隣のサーバー — 中に入れない側

事実 私たちはサーバーを2台置いています。2台目(センサー02)は奥まで入れない浅い罠なので、**「どのドアを何か所が何回叩いたか」だけが残ります。**警備室だけあって家のない棟だと思ってください。ログイン成功も、コマンドも、認証情報もここには存在しません。昨日は収集が正常でした。

ドア(サービス) ポート 叩いた回数 叩いた場所
VNC(画面共有) 5900 20,953件(87.1%) 258か所
RDP(リモートデスクトップ) 3389 2,210件(9.2%) 118か所
SMB(ファイル共有) 445 387件 92か所
LDAP(アカウント照会) 389 157件 12か所
MSSQL(データベース) 1433 58件 13か所
ADB(Androidデバッグ) (未記録) 299件 (未記録)

事実 六行を足すと24,064件で、セッション総計と正確に合います。画面共有20,953件は4秒に一回の割合ですが、この値は02アーカイブ17日分(最低8/27 29,111 · 最高9/10 65,487)の**どの日よりも少ないです。**叩いた場所258か所は9月6日(264か所)と近いです。来る場所はそのままなのに、一か所が叩いた回数が81.2回に減りました。

事実 逆に増えたのはADBです。ADBはAndroid機器をコンピューターから操作するときに使うデバッグ経路です。昨日は299件ですが、アーカイブに書かれた値の中で最大は8月31日の52件です。5.7倍です。ところが隣のサーバーに残ったファイル4件はすべて8月28日・30日・9月7日にすでにあったハッシュで、出所 ATK-C93E77 だけが新しい別名です。叩く回数は増えたのに置いていった物は古いままです。

推定 この4件をADBで入ってきたものと読むのは、隣のサーバーでファイルが残る経路がADBだけという構造のためです。データがそう書いてくれたわけではありません。

事実 隣のサーバーの1位と2位、ATK-A9F1B3(68.183.x.x)と ATK-943F0E(129.212.x.x)は、それぞれ**5,675件で数字が完全に同じです。**二つで11,350件、全体の47.2%です。この二つは9月10日・13日・15日にも並んで上位にあり、二日前にも5,736と5,723で接近していました。どのドアを叩いたかはデータにありません。

事実 リモートデスクトップ側の名札は hello 1,514(68.5%) · <ip> 469 · nmap 6 · rdpaudit 6 · 空欄2 · Domain 1です。9月10日・13日に3万台で記録された mstsc は昨日のリストにありません。nmap と rdpaudit はスキャナーツール名と同じ文字ですが、相手が自ら書いて送る値なのでいくらでも偽って書けます。ファイル共有側は提案491件のうち SMB 2.??? 28件を除いた463件(94.3%)がSMB1世代の規格です。セッション387件より提案が多いのは、一回の交渉で複数の規格をずらりと並べるからです。

攻撃者が使った手口を国際分類表に対応させると

MITRE ATT&CKは攻撃手口ごとに番号を付けた国際リストです。昨日見た行動をその番号に合わせるとこうです。IDを押すと原文の説明に飛びます — 私たちの言葉を信じず、直接確認していただくためにリンクを張ります。

  • T1110.001Brute Force: Password Guessing — ログイン試行403回、引用可能な組み合わせ10種がIP 3〜14か所で反復推定
  • T1078.001Valid Accounts: Default Accounts — admin/admin · root/root · root/(空欄) · root/xc3511 などの初期値の組み合わせでログイン成功推定
  • T1021Remote Services (Telnet 2223 · SSH 2222) — 記録されたセッション5件すべてログイン成功推定
  • T1082System Information Discovery — 「偵察 — システム」82回推定
  • T1105Ingress Tool Transfer — 「ファイルダウンロード」34回、配布元176[.]65[.]139[.]206 7種 · 160[.]119[.]66[.]206 2種推定
  • T1222.002File and Directory Permissions Modification: Linux — 「実行権限付与」131回(今日の意図1位)推定
  • T1059.004Command and Scripting Interpreter: Unix Shell — 「ダウンロード後実行」29回、シェルスクリプトkla.sh · w.sh推定
  • T1098.004Account Manipulation: SSH Authorized Keys — 「持続性 — SSHキー植え付け」17回、公開鍵a8460f44… 出所14か所推定
  • T1070Indicator Removal — 「痕跡削除」15回(ファイル削除か履歴削除か細分類なし)推定
  • T1036.005Masquerading: Match Legitimate Name or Location — kworkerd-irq · softirq · blkcg · netnsというカーネルスレッド型のファイル名。実行時のプロセス名偽装の有無は未確認推定
  • T1027.002Obfuscated Files or Information: Software Packing — UPX圧縮検体からのみ出る指標12件(背景、今日の新規ではない)推定

事実 11行すべてに**[推定]バッジが付いていることを見てください。私たちの手元にあるのはコマンドの「意図分類結果」と「何回だったか」、そしてファイルの名前とサイズまでです。コマンド原文もファイルの内容もありません。分類表に合わせる作業は常に解釈であり、解釈には解釈と書きます。特に10行目のT1036.005 — 管理室のステッカー — はファイル名だけを見て付けたもの**です。実行されたときに実際にその名前で表示されたかどうかは分かりません。

以前にこういう形があった

推定 **Miraiボットネット(2016)。**Telnetの初期認証情報辞書でLinux機器に入った後、ARM・MIPSなどCPUの種類別に作っておいた静的リンクELFをダウンロードして実行する構造でした。昨日の表にある root/xc3511、root/root、admin/admin は、2016年に公開されたMiraiソースコードの認証情報リストに入っている値です。そして「Telnetログイン → シェルスクリプト → CPUの種類別の静的リンクELF」という配送形態も同じです。(出典の種類: 公開されたソースコード分析 · 米国US-CERT警報TA16-288A)

事実 ここで止まります。検体分類サービス(VirusTotal)が連携されていないため、**昨日の七つがこの系統だという判定はしません。**似ているのは認証情報の値とファイルの見た目までです。

では何をすべきか

同じ棟の三軒目の家がどんなラベルを付けて箱を送るかを私たちが決めることはできません。変えられるのは、私たちの家の玄関がどう施錠されていて、私たちの家から外へ出る道がどうなっているかです。

事実 1. 初期アカウント・簡単なパスワードをそのまま使っている · 可能性 高 上の表の10行はすべて、機器やディストリビューションが出荷時に入れておく値です。admin/admin 14か所31回、root/root 7か所15回、root/(空欄) 5か所23回、root/xc3511 3か所15回。昨日記録されたセッション5件はすべてログインに成功し、成功後4秒から65秒以内に実行権限付与・ダウンロード・キー植え付けまで進みました。実際のサーバーだったなら、その数秒が侵害の時点です。

事実 2. パスワードログインを許可し、鍵方式を使っていない · 可能性 高 昨日のログイン試行403回のうちSSHセッションは369件です。ATK-CA5936 はSSHパスワードログインに成功した後、コマンド1個・3.72秒で意図五種類を終えました。鍵方式だけを許可していれば、パスワード推測の部分は**認証段階で終わります。**そして侵入した側は成功すると自分の鍵からまず仕掛けておきます。昨日はキー植え付け17回、389バイトの公開鍵が14か所から出ました。サーバーの authorized_keys(許可された鍵のリスト)ファイルに一行書かれると、後でパスワードを変えてもその鍵で入り続けられます。

事実 3. 管理ポートをインターネットにそのまま開けている · 可能性 高 私たちのサーバーのアドレスはどこにも知らせたことがありません。それでも昨日、ドアが開く側に196か所、隣のサーバーに513か所が来ました。2台を合わせて上限709か所です。特定の対象を選んだ痕跡ではなく、開いているドアを探す形です。Telnet・SSH・VNC・RDP・SMBのうちどれか一つでも開いていれば侵入口になります。

推定 4. 回数ベースのブロック(fail2banなど)がない · 可能性 中 昨日は一か所あたりの試行が5回前後です。admin/admin は一か所あたり2.2回、root/xc3511 は5.0回、root/(空欄) は4.6回。「5回失敗したらロック」のルールは発動しないか、すでに遅い水準です。しかも ATK-BDB53E は2.33秒間隔でセッション二つを重ねて動かしました。ロックルールがあっても、昨日のような分散・低頻度の試行はその閾値の下をすり抜けます。ですから「高」にはしません。

事実 5. 外へ出る接続を止めていない · 可能性 高 昨日保存されたファイル13個のうちアドレスがある9個は、二つの配布元(176側7個 8,896,397バイト · 160側2個 193,873バイト)からサーバーが外へ出てHTTPで受け取ったものです。出る道が塞がれていたなら、この9個はサーバーに到着しません。「ファイルダウンロード」34回すべてが同じところで止まります。私たちの家からその棟までの道が塞がれていれば、箱は私たちの家の前に置かれません。そして昨日受け取ったのはARM・MIPS用です。サーバー自体よりも同じネットワークの機器類が実際の標的かもしれません。

推定 6. ログをサーバーの中だけに置いている · 可能性 中 昨日、痕跡を消そうとする意図が15回分類されました。そしてファイル五つの名前が管理室職員の名前に似ているため、**プログラム一覧を目で眺めるだけでは見逃すよう設計されたものと読めます。**私たちはハニーポットなのでセッション285件を別に録画しており、消されても残ります。実際のサーバーはログを外へ出さなければ、消された後に残るものがありません。ただしその15回がどのセッションのものかデータにないため「中」にしておきます。

事実 昨日初めて確認された配布元 hxxp://176[.]65[.]139[.]206 とファイル七つのハッシュは、C-TAS(韓国インターネット振興院サイバー脅威情報共有体系)への報告対象です。同じ棟の .196(8/21)と .202(8/23〜25)も当時報告対象でしたから、国家の脅威情報体系側にはこの棟が一か月以内に三度報告されることになります。ただし私たちが確認できるのは送信が成功したところまでで、相手側に実際に登録されたかは別途確認が必要です。

私たちが分からないこと

このブログが他と違う点です。**分かることより分からないことを書くのに時間を多く使います。**今日は特にそうです。主役が画面にいなかったのですから。

昨日の主題について確認できないこと

  • [確認不可] 主題の別名 ATK-5165FA は「ファイルを配達した場所」の欄にだけあり、記録されたセッション5件にありません。**セッションの時刻・継続時間・プロトコル(SSH/Telnet)・ポート・コマンド数・意図・画面録画の有無・マスク処理されたIPをJSONで確認できません。**この記事にこの別名のポートがない理由です。
  • [確認不可] 記録された5件が「完全性上位5件」なら、この侵入の完全性は14未満という意味になりますが、選定基準がJSONに書かれていないため推定です。
  • [確認不可] 七つが**一つのセッションで降りてきたのか、複数のセッションにまたがったのか分かりません。**各「観測1回」は一回ずつ保存されたという意味にすぎません。
  • [確認不可] 7,405,752バイトの armv5l が実際に実行されたのか、静的リンクの大型実行ファイルであること以外にどの言語・ランタイムで作られたのか分かりません。BuildIDの値そのものはJSONの表記が切れている可能性があるため引用しません。
  • [確認不可] w.sh の内容、つまり残りの六つをダウンロードするローダーかどうかは確認できません。CRLF改行がWindowsの作成環境を意味するかも断定しません。
  • [確認不可] 176[.]65[.]139[.]196 · .202 · .206 が**同じ運用者かは確認手段がありません。**先頭3つが同じという事実だけがあります。
  • [確認不可] 昨日の二つの配布元の最後の枠がどちらも206(160[.]119[.]66[.]206 · 176[.]65[.]139[.]206)であることは偶然の可能性があり、いかなる推論の根拠にも使いません。
  • [確認不可] ATK-73181C の「SSHキー植え付け」の意図と保存ファイル0個の関係 — キーがファイルではなくコマンド文字列として植え付けられたのか、ダウンロードが失敗したのか、**コマンド原文がないため分かりません。**389バイト公開鍵の配達別名は14か所のうち10か所だけ表記されているため、ATK-73181C が含まれるかも分かりません。

データ自体を疑うべきこと

  • [確認不可] 隣のサーバーの1・2位が正確に5,675件で同じ理由(同じツールの並列実行なのか偶然なのか)と、これらが叩いたサービスはJSONにありません。
  • [確認不可] 隣のサーバーのファイル4件をADB経由と読むのは構造上の推定です。ADBセッション299件の発信元数もJSONにありません。
  • [確認不可] 画面共有のバージョン提案の合計(20,877)とセッション(20,953)の76件の差の原因は分かりません。
  • [確認不可] ドアが開く側のポート別合計(421 + 369 = 790)がセッション総計791と**1件違います。**原因はデータにありません。
  • [確認不可] 隣のサーバーで一つの発信元が複数のドアを一緒に探ったかは計算できません。サービス別ユニーク発信元の合計(493)が全体(513)より小さく、重なりを逆算することもできません。0と書けば嘘になるため「算出不可」としておきます。
  • [偶然] 隠した認証情報196種とユニーク発信元196か所が同じ数字なのは単位が異なる値の偶然であり、意味を持たせません。
  • [注意] 指紋リストの「集計」値は9月5日の記事が指摘したとおり単調増加しない値なので、「累積」とは読みません(f555226d… 9/15 175 → 昨日205)。
  • [注意] アーカイブに9/9・9/11・9/12・9/14・9/16がないため、「連続」という表現は**「アーカイブにある日ごとに」に限定しました。**

わざとつなげなかったこと

  • [除外] 背景統計として入ってきた脆弱性指標(追跡CVE 7,628件 · KEV 397件 · ランサムウェア連携確認100件)はKISAセキュリティ公知から抜き出した値です。昨日観測されたどのセッション・検体ともつながりません。
  • [除外] 圧縮を解かないと現れない配布元 31[.]77[.]227[.]121/bins/ 12件は8月16日以降の反復指標で、昨日の新規指標ではありません。平文指標として残ったdiscordウェブフックURL 1件もディファング状態でのみ保管します。
  • [確認不可] C-TAS報告は送信が成功したところまでしか確認されません。昨日の新規配布元がKISAに登録されたかは別途確認が必要です。

そもそも判断しないこと

  • 通信事業者・組織(ASN・ISP) — 関連データベースがありません。**推定しません。**先頭3つが同じという事実から「同じ通信事業者」を引き出さない理由もこれです。
  • 地理情報 — 上と同じです。そもそもIP地理情報は帰属の根拠になりません。この記事はいかなる国家・企業・個人も攻撃者として名指ししません。
  • VPN・Tor・クラウドかどうか — 判別手段がありません。
  • 検体分類(VirusTotal) — 連携されていません。検体分類はMalwareBazaarのタグを使いますが、昨日の七つにはタグがありません。
  • 接続プログラム文字列(User-Agent) — 二つの観測面ともウェブ(HTTP)ではありません。01はSSH・Telnet、02はSMB・RDP・VNC・MSSQL・LDAP・ADBです。HTTP攻撃は別のソースです。
  • 脆弱性番号(CVE)との紐付け — SSH・Telnet攻撃はほとんど特定の脆弱性を参照せず、02も規格を合わせる段階なので同様です。

同じ棟から三軒目の家が箱を置いていきました。ラベルは三回とも違い、今回は管理室のステッカーまで貼られていました。箱の一つはひときわ大きく、製造番号を剥がさないまま来ました。そして持ってきた人はどの画面にもいませんでした。

私たちは先頭3つが同じというところまでしか書きません。三軒が一人のものなのか、ステッカーが実際に誰かを欺いたのか、画面にいない人が何時に来たのか — 分からないことは分からないままにしておきます。分からないことを分からないと書くのも観測の一部です。

代わりにこちら側でできることは明確です。**出荷時の初期パスワードを変え、Telnetのような管理ポートをインターネットにそのまま晒さず、サーバーが外からファイルを受け取る道を塞ぎ、記録はサーバーの外に残すこと。**昨日の箱七つが指し示した場所は、正確にそこでした。


観測日は2026年9月17日で、この記事はその翌日にまとめました。発信元IPはブリーフでマスク処理された形(160.119.x.x、124.158.x.x など)のまま転記し、復元していません。主題の別名 ATK-5165FA はマスク処理されたIPすらブリーフにないため書いていません。配布元アドレスは誤って接続されないよう、ディファング(hxxp://、[.])状態を本文とIOCブロックの両方で維持しました。認証情報は互いに異なるIP 3か所以上で繰り返し観測された組み合わせ10個だけを原文引用し、残りの196個は個数だけ明らかにして値は書いていません。通信事業者・国籍・VPNの有無のように私たちに計測手段がない項目は推定せず、「分からない」として残しました。