北上研究所

2024年06月24日 攻撃を受けている

Kitakami Yuma Project.のyumaです。

今絶賛受けている状況です。
なんだか攻撃を受けているって書くと陰謀論と言いますか、まるで怪しい感じがありますがそういうわけではなく、本当にサーバーが攻撃を受けています。

6月10日から今現在にかけて、北上ゆまのホームページがサイバー攻撃を受けています。

受けてましたじゃなく受けていますです。
現在進行形です。

いや~最近ニコニコでサイバー攻撃があったので何となく自分のサーバーのアクセスログを見たら攻撃されてるんですよね。
最初見た時はとても驚きました。

ちなみに隠しページの北上研究所には攻撃を受けていません。
安心していられませんがひとまず安心ですね。

具体的に何をどういう風にされたかについてなんですが、その前にWordPressについて軽く説明しましょう。

WordPressとはブログから大規模なサイトまで作成できるシステムで、非常に簡単な操作でホームページを作成することができます。
WordPressを使用しているサイトは非常に多く、Wikipediaによると全ウェブサイトの43.3%が使用しているそうです。

ただ、ここまで多くのサイトに使われてるとなると多くの攻撃者から狙われることとなり実際に多くの被害が発生しています。
今回行われたサイバー攻撃もそのWordPressの脆弱性を利用した物でした。

実際のアクセスログの一部を公開します。

www.kitakamiyuma.com 127.0.0.1 - - [20/Jun/2024:10:16:49 +0900] "GET /wp-includes.bak/html-api/about.php HTTP/1.1" 404 1314 "-" "-"

一応アドレスはlocalhostの物に変更しました。
まあサイバー攻撃野郎のことなんか気にしなくてもいいと思いますがね(笑)

とりあえず軽く見方を説明しましょう。

先頭のwww.kitakamiyuma.comはバーチャルホストです。
ざっくり言うとどのドメインに接続しているかを表しています。

メインのページならkitakamiyuma.comで隠しページはkakushi.kitakamiyuma.comと記入されます。
www付きはwww無しに変換するんですが何故かエラーだけwww付きになります。
設定は合ってるはずなんですがね……。

127.0.0.1はアクセスしてきたコンピューターのIPアドレスです。
正確にはリモートホストのIPアドレスだそうです。
そもそも今回はlocalhostのアレに書き換えてるのでリモートホストのアドレスでもないんですが……。

次の-(ハイフン)はクライアントのユーザー名です。
ただよほどな事が無い限りここは空欄を意味する-(ハイフン)が入っています。

2つ目の-(ハイフン)は認証したユーザーの名前です。
認証したユーザーの名前が表示されますが、当サイトは認証が必要なページが存在しないため通常は-(ハイフン)のままです。

[20/Jun/2024:10:16:49 +0900]はタイムスタンプで日、月、年、時、分、秒の順です。
タイムスタンプはこの時間にリクエストされた処理が終わったことを意味します。
何故海外は年月日の順じゃないのかといつも思う。

"GET /wp-includes.bak/html-api/about.php HTTP/1.1"はリクエストの内容です。
ここはちょっと複雑なので更に分解してみましょう。

先頭のGETは要するにこっちにデータを送れって意味です。
GET以外にもHEADやPOSTもありますが今回は割愛します。

次の/wp-includes.bak/html-api/about.phpは先ほどのGETで送るデータです。
今回はwp-includes.bak/html-apiというファイルにあるabout.phpというファイルを呼び出しているみたいですね。

最後のHTTP/1.1は先ほどのデータを送る方式を指定しています。
HTTP/1.1だけでなくHTTP/2やHTTP/3など様々な種類の方式があります。

この3つをまとめるとHTTP/1.1の方式で/wp-includes.bak/html-api/about.phpを送ってこいって言うことになります。
面倒ですね。

404はHTTPステータスコードを表していて、HTTPの通信が正常に動作しているかを示しています。
大まかに継続中は100番台、正常に完了は200番台、他のURLに飛ばすのが300番台、クライアント側のエラーが400番台、サーバー側のエラーが500番台となっています。

1314は送信したデータのバイト数です。
HTMLやPHP本体のデータ量で画像やCSSのデータは含みません。

次の"-"はアクセス元のURLです。
別のページから来ていたらそのページのURLが記入されますがURLを直接入力してきた場合は-(ハイフン)になります。

最後の"-"はこのページをリクエストしたユーザーの使用するブラウザやOSの情報が記入されます。
最近は同じ情報ばかりなのでそこまで当てになりませんが……。

というわけで説明しましたが、普通の状態がわからないとどうしようもないので自分でアクセスした通常のログもご覧ください。

www.kitakamiyuma.com 133.32.219.255 - - [22/Jun/2024:14:38:51 +0900] "GET / HTTP/2.0" 200 3564 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"

これは表のトップページをChromeで読み込んだ物です。
https://kitakamiyuma.com/のhttps://kitakamiyumaが無いので要求しているファイル名は/のみになってますね。

これと先ほどのログを見比べてみましょう。
上に戻るのは大変なので上下に並べてみますね。

サイバー攻撃のアクセスログ

www.kitakamiyuma.com 127.0.0.1 - - [20/Jun/2024:10:16:49 +0900] "GET /wp-includes.bak/html-api/about.php HTTP/1.1" 404 1314 "-" "-"

通常のアクセスログ

www.kitakamiyuma.com 133.32.219.255 - - [22/Jun/2024:14:38:51 +0900] "GET / HTTP/2.0" 200 3564 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"

これを見比べて欲しいんですが、サイバー攻撃のログは通常のログと比べ要求するファイル名がやたら長く、逆にブラウザやOSの情報が全くありません。

一応頑張れば長いログを残すこともできます。

www.kitakamiyuma.com 133.32.219.255 - - [22/Jun/2024:15:02:44 +0900] "GET /images/contents/yuma_live2d_image.webp HTTP/2.0" 200 18150 "https://kitakamiyuma.com/contents/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"

こちらは公式素材 - 北上ゆま 公式HPで/images/contents/yuma_live2d_image.webpという画像を開く時に残るアクセスログになります。
このように限界まで長くしたら先ほどのサイバー攻撃で要求するファイルよりも長くなりますが、通常のHTMLやPHPのファイルではそうは行きません。

そもそも表のページにあるHTMLとPHPのファイルは全てindexって名前なのでindex以外のPHPのファイルをリクエストすること自体が異常です。
通常ならばそんなファイルにアクセスする必要がありません。
一応400、401、403、404、500、510のファイルだけindexではないですがとはいえ……。

あとサイバー攻撃のアクセスログでおかしな部分は通常は必ずあるはずのブラウザやOSに関する情報がないんですよね。
最近のブラウザは内容が同じだったりしてあまり当てになりませんがとはいえまっさらなのは明らかに異常です。

これはおそらく攻撃者側がこちらに情報を渡さないために何かしらの情報を改ざんしたリクエストを送信してるのかと思われます。
一応こういう事があると知識としては知っていましたが実際に見てとても驚きました。

で、どこがWordPressと関係があるんだってなると思いますが、このサイバー攻撃で要求された/wp-includes.bak/html-api/about.phpがWordPressで使われるファイルなんですよね。

正直WordPressについてはチンプンカンプンですが、このように脆弱性のあるファイルを狙って攻撃を仕掛けるんですよね。
ちなみに今回は/wp-includes.bak/html-api/about.phpでしたが、様々なファイルを要求しているのでこのファイルだけが危険というわけではありません。

ただ今回のサイバー攻撃で幸いだったのがそもそも表のページはWordPressを一切使用していないんですよね。
全ウェブサイトの43.3%が使用しているそうですが表のページはこの中には含まれず残りの56.7%のグループに属しています。

そのためWordPressの脆弱性を狙った攻撃が来てもそもそもWordPressではないためその脆弱性によるハッキングは行われません。
実際、サイバー攻撃と思われるリクエストのステータスは全て404とデータなんかねえよってエラーを返してますからね。

そもそも表のページと隠しページのほぼ全てがHTMLだけで書かれておりPHPは使っていません。
一応表のページの418エラーのページだけはエラーコードを出すために少しPHPを使ってますがそれしか存在しません。

幸い今回はWordPressに関する攻撃だけでしたので無傷でしたが、それ以外の攻撃となると話は別です。
このサイトはレンタルサーバーを使用しているのですが、レンタルサーバーの脆弱性やサーバーに使われているOSやCPUの脆弱性によるハッキングの可能性は残っています。

事実、あのニコニコ動画でさえハッキングされています。
ニコニコ動画ですらハッキングされるんですからたった1人で制作したホームページなんてよりセキュリティ的に弱いでしょう。

とりあえず今回の事件をまとめてみましたが今回はサイバー攻撃に耐えれました。
しかし次はどうなるかわかりません。

これまでもセキュリティに関しては注意していましたがこれからはもっと気を付けていきたいと思います。
これを読んでる皆さんも気を付けてくださいね。

特にWordPressを使ってる方はね。