セキュリティはじめにツッコミどころの多い記事かもしれませんが間違ってるところがあれば優しく教えてください。8月22日とあるブログ記事を読んでいたところ、下のスクリーンショットのような読み込み画面とavastによるwebシールドの警告が出てきました。coinhiveをブロックしているらしく、ああたまにあるやつだなと思い特に何もしませんでした。そのあとitmediaや(AT)BIOS、はてなブログにアクセスした際に同様の警告が出たため、流石にこれはおかしいぞと思い始めます。JavaもFlashも無効にしてるし機能拡張もAdBlockしか入れてない、怪しいプロキシを登録しているわけでもない・・・、と一通りチェックした後、とりあえず現状保存のためディスクをバックアップし、システムをavastのフルスキャンにかけて寝ました。模索avastのフルスキャンで発見されたものは以前インストールしたaircrackだけでした。節子それマルウェアやない。利用していたMacは使わないことにして、予備のWindows機で情報を収集することにしました。したらなんと同様の画面(Loadingという文字とgifアニメーション)が表示されます。ネットワークを介して感染が広がったのかと思いこれには流石にびっくりしました。2018年8月23日さらにwindowsにインストールされていたavastはwebシールドが起動しなかったのか普通にコンテンツを読み込んでいました。</script></body></html>やたら長いように見えますが、ほとんどはCSSとgifで占められており、本質的な部分は以下の部分だけです。'start']coinhiveのkeyと関数名をエンコードしていたようです。投げ込まれたhtmlはcoinhiveのスクリプトを読み込み起動するだけで、他のコンテンツをダウンロードするといったことはしていません。若干安心したもののやはり不安だったためwindows機もavastでフルスキャンしました。すると・・・マジで感染してました。2018年8月24日デデドン(絶望)上のツイートはavastが検出したファイルをvirustotalでスキャンした結果です。完全にやられてますありがとうございました。技術力に自信がないため急に弱腰になるクソヒツジ]avastが検出したファイルを展開し、中身を見てみるとJavaScriptのソースコードでした。coinhiveという文字列がそこかしこに書いてあったので、マイニングマルウェアの本体かと思いvirustotalにアップロードしてみると、結果は「coinhive.min.js」でした。ツイートをしたときは焦っていた気づかなかったのですが、このgzはchromeのキャッシュが保存されるディレクトリで検知されたもので、先ほどアクセスした際に読み込んだcoinhive.min.jsが保存されたというだけでした。・毎回発生するわけではない。先ほどこの時のリンクを確認するとhttpでした。リンクを踏んだ後httpsに301リダイレクトされていたため、httpsでも同様の現象が起こったと勘違いしていました。>・特徴的な文字列(_0x7e51やcoinhiveのkeyなど)は毎回固定。・↑をggってもそれらしいものはヒットしなかった。上の現象から、多分自宅のデバイスがマルウェアに感染している訳ではないと思います。インターネット側の機器に原因があるか、中間者攻撃されてるかなどの予測がつくので、パケットキャプチャして中身を分析してみます。パケットを覗くとあるサイトにアクセスした際のhttpパケットをキャプチャして、正常なレスポンスと異常なレスポンスを比較します。正常なレスポンス悪性htmlが返ってきたときのレスポンス異常系のhttpヘッダには特徴的な文字列が発見できました。HttpProxy」の部分です。このプロキシサーバが何かしらの悪さをしているかもしれないと思い、検索を掛けたところ、多数の記事がヒットしました。2018年8月24日どうやらMikroTikルータに感染するcryptojackが世界的に流行しているようです。2番目の埋め込みツイートでは私が発見したのと同じ日に特徴的な文字列(_0x7e51やcoinhiveのkey)に関する報告が上がっています。ggっても出てこなかったのは、検索エンジンに登録される前だったからでした。(今ならこのツイートが検索でヒットします)censysで検索してみる特徴的な文字列を元にcensysで検索を掛けてみると、日本国内で200以上の機器がヒットしました。かなりの数のルータが感染しているようです。censys.ioやばそう(KONAMI.inc)ちなみにtracerouteでホップするルータを割り出し、そのIPで検索を掛けたのですが、この中には含まれていませんでした。途中でtracerouteに応答しないルータがある場合が多く、その先に感染したルータがあるのかもしれません。これはまだしっかりと調査できてないので今後新たな発見があるかもしれないです。今後この記事を書いている現在もwebページを開くとたまにマイニングスクリプトが走るので、ISPなりIPAなりに相談しようと思います。深刻に見えるわりに誰も話題にしてないので全てが僕の勘違いという可能性もありますが。何か意見や質問があればtwitterやコメント欄でお願いします。追記〜後日譚〜当日中に解決したので後日譚でもなんでもありませんが、それはそれはさておき、例の障害、発生しなくなりました!!!以下、ブログを書いた後に行ったISPとのやりとり僕「このブログ読んだらだいたいわかると思うのでマンション共用ルータよりインターネット側に異常がないか調べてください」ISP「障害は確認できませんでした。僕「(常に最新になるようにしといてよ・・・)障害は消えました。僕「(でしょうね・・・。無理と言われたので自力で調べることにします。家庭用ルーターを挟まず直接壁に生えてるポートからマンション共用ルータに接続しarpでMACアドレスを取得しました。MACアドレスの前半部分はベンダー固有の値なのでそれで検索をかけます「Routerboard.com」ggってみるとrouterboardというのはMikrotik社のブランドだそうです。下記の記事でも言及されているように、ベンダーであるMikrotikからは今年4月に修正パッチが配布されています。・自宅マンションの共用ルータはMikrotik製のものが利用されていた。・Mikrotik製のルータはファームをアップデートしないとcryptojackに感染する可能性がある。・ISPがファームのアップデートを行うと障害が(とりあえず今の所は)消えた。私のマンション共用ルータ、cryptojackに感染してたのでは?🤔あくまで推測です。実は私の端末が全てavastに検出されないマルウェアに感染してるかもしれないし、明日ネットを使ってる時にまた「Loading...」の文字とご対面する可能性もあります。今回の件で感じたんですが、「いざ自分の機器がマルウェアに感染したかもしれないと思うと、かなり焦る」ということです。これは完全に私の技術力の問題なんですが、「ネットワークから切断すべきか・・・いやしないほうがあとで解析する際に有利になるって聞いたぞ。いやでも切断しないと情報を抜かれてC2サーバに送信されるかもしれんし・・そうだ再起動すれば治るのでは・・?いやダメだまずメモリダンプを取ってから・・・」などと考え始めて無限に焦ります。マルウェアには感染してないと分かってからは調査するのが楽しかったです。セキュキャンで受講したインシデントレスポンスCTFが少し役に立ちました。「セキュキャンで学んだことは将来どこかで役に立つだろうな」とは思ってましたが、まさか1週間後に役に立つとは思ってもみなかったです。ルーター等のファームウェアアップデートが重要であることも改めて感じました。みなさんちゃんとルーターはアップデートしましょう。勝手に採掘されますよ。Returnsに参加してきませんでした。modulesを使う整数ナップサック問題と0-1ナップサック問題を解いて比較するWiresharkでQUICパケットを復号化して眺める月別アーカイブ参加グループプログラミングはてなブログをはじめよう!cha-shu00さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。