VPNFilterについての備忘録

概要

米国時間の2018年5月23日にCisco Talos(以降は、Talosと表記)からVPNFilterと呼ばれるネットワーク機器を対象としたマルウェアについての情報が公開された。 また、同日には米国司法省(含むFBI)からは同マルウェアに感染したSOHOルータやネットワークデバイス等で構成されたボットネットを崩壊した旨、そしてこれらはSofacyグループ(別名:APT28、Sandworm、X-Agent、Pawn Storm、Fancy Bear、Sednit)支配下にあった等の発表が行われた。

被害状況

Talosによると、少なくとも54カ国で500,000のデバイスがこのマルウェアに感染している模様で、SOHO環境で使われているLinksys、MikroTik、NETGEAR、TP-Linkなどのネットワーク機器の他、QNAPのNASバイスが対象になっている。なお、Ciscoを含めた他のベンダーは対象ではないが、調査は継続中とのこと。

なお、このVPNFilterのコンポーネントの動作として上記ネットワーク機器上においてウェブサイトのクレデンシャル情報の窃取やModbus SCADAプロトコルの監視を行い、最後には感染したデバイスを使用不能にする機能を有していることから、感染したデバイスやこれらが一括で使用不能になることで、世界中の何十万ものユーザのインターネットアクセスを遮断する可能性についても言及されている。

また、Trend Microによると、2017年8月にピッツバーグの家庭用ルータにおける感染を機にFBIは捜査を続けている旨について同社ブログにて紹介している。

米国時間の2018年6月6日にTalosが追加情報を公開し、当初判明していた対象デバイスに加え、 ASUS、D-Link、Huawei、Ubiquiti、UPVEL、ZTEなどのデバイスも対象になっていたことを発表。また、新たにWebトラフィックに対して悪意あるコードを注入するMITMを行う機能を発見した旨も述べている。

影響を受けるデバイス

※新たに追加されたデバイスには「*」印

  • Linksys Devices
E1200
E2500
E3000 *
E3200 *
E4200 *
RV082 *
WRVS4400N
  • Mikrotik RouterOS Versions for Cloud Core Routers
CCR1009 *
CCR1016
CCR1036
CCR1072
CRS109 *
CRS112 *
CRS125 *
RB411 *
RB450 *
RB750 *
RB911 *
RB921 *
RB941 *
RB951 *
RB952 *
RB960 *
RB962 *
RB1100 *
RB1200 *
RB2011 *
RB3011 *
RB Groove *
RB Omnitik *
STX5 *
  • TP-LINK Devices
R600VPN
TL-WR741ND *
TL-WR841N *
  • Netgear Devices
DG834 *
DGN1000 *
DGN2200
DGN3500 *
FVS318N *
MBRN3000 *
R6400
R7000
R8000
WNR1000
WNR2000
WNR2200 *
WNR4000 *
WNDR3700 *
WNDR4000 *
WNDR4300 *
WNDR4300-TN *
UTM50 *
  • QNAP Devices
TS251
TS439 Pro
その他でQTSが動作しているQNAP NASデバイス

以降は新たに追加されたベンダーとデバイス

RT-AC66U
RT-N10
RT-N10E
RT-N10U
RT-N56U
RT-N66U
  • D-Link
DES-1210-08P
DIR-300
DIR-300A
DSR-250N
DSR-500N
DSR-1000
DSR-1000N
HG8245
  • Ubiquiti
NSM2
PBE M5
  • UPVEL
モデル不明
  • ZTE
ZXHN H108N

対象機器ベンダーの対応状況

VPNFilterの動き

VPNFilterマルウェアは、情報収集と破壊活動を行う機能を有した多段構成によるモジュラー型プラットフォームである。

  • 1stステージ

1stステージの主な目的は、永続的に2ndステージのマルウェア展開を可能にすることである。また、1stステージでは多重冗長のC2メカニズムを利用して、現在の2ndステージのデプロイメントサーバのIPアドレスを検出することで、マルウェアを堅牢化するとともに予期せぬC2インフラの変更にも対応できるようにしている模様である。 なお、IoTデバイスを対象としたマルウェアの多くは再起動することにより消滅するが、1stステージのマルウェアは再起動しても残存し続けるとのこと。

  • 2ndステージ

2ndステージで利用されるマルウェアは、ファイル収集やコマンド実行、データ抽出、デバイス管理などの機能を有する情報収集プラットフォームと考えられている。また、2ndステージマルウェアの一部のバージョンでは、デバイスファームウェアの重要な部分を上書きした後にデバイスを再起動するといった自己破壊機能を備えている模様。 なお、2ndステージマルウェアは再起動することで消滅するとのこと。

  • 3rdステージ

3rdステージは、2ndステージマルウェアプラグインによる活動となる。これらは、2ndステージにて追加機能のプラグインとして提供される。Talosによるブログ執筆時点では、2つのプラグインの存在を認識しており、これらはウェブサイトのクレデンシャル情報の窃取およびModbus SCADAプロトコルの監視を含む、感染デバイスを通過するトラフィックを収集するパケットスニッファと、2ndステージマルウェアがTorを介して通信ができるようにするためのモジュールで構成している。なお、他のプラグインの存在についても確信はしているものの発見には至っていないとのこと。

C2のメカニズム

Talos及びKaspelskyによると、1stステージにおいてマルウェアは、まずphotobucket[.]comのギャラリーページにアクセスして、そのページからファイルを取得しようとする。それが失敗した場合は、ハードコードされているドメイン(toknowall[.]com)からファイルを取得する。しかし、これも失敗した場合は、マルウェアはパッシブバックドアモードに入り、攻撃者からのコマンドを待つ模様である。 上記のファイル取得が成功した場合、取得されるファイルは画像ファイルとなっており、マルウェアはその画像ファイル中のEXIF情報から座標情報を抽出し、それをIPv4アドレスに変換することでその算出されたIPアドレスから新たな検体(2ndステージ)をダウンロードする。 なお、Kasperskyによるとphotobucket[.]comのギャラリーページ中のファイルにはアクセスできないが、toknowall[.]comのpDNS情報により過去に割り当てられていたIPアドレスにアクセスすると、ファイル取得が可能となっていたことから、同ファイルのEXIF情報から2ndステージのIPアドレスの算出に至るまでの解説が行われている。

感染原因

Talosによるブログ執筆時点においては、攻撃者がどのようにしてデバイスを侵害したかについて明らかになっていないが、対象デバイスの多くが既に明らかになっている脆弱性を有していたとのこと。

アトリビューション関連情報

Talosによると、VPNFilterで使われているコードは、過去にウクライナ国内のデバイスが対象となったBlackEnergyマルウェアのコードと重複している点も見られるとのこと。また、Talosの観測では、ウクライナ国内のデバイスを中心にVPNFilterに感染しており、C2についてもウクライナに特化しているものが使われている旨を"決定的ではないが"という前置きの上で述べられている。

コードの重複については、コード中の復号ルーチンで使われているRC4処理の実装に欠陥があり、これがBlackEnergyマルウェアで使用された実装と同一である旨をTalosは言及している。それを踏まえ、背後に国家が絡む攻撃者の存在があることを述べている。一方でKasperskyはこのRC4実装の欠陥についてはTalos同様に認めているが、これがBlackEnergyに繋がるかという点については"信頼性の低いリンク"と述べている。しかし、BlackEnergyが2014年まではルーターマルウェアを展開していた点にも触れ、このTalosの主張について理論を支持する他の類似点を調査しているとのこと。

2018年5月以前にVTにアップロードされていた検体

Talosが公開してるIoC情報を元にVTにアップロートされている検体を調査したところ、以下の3検体については、2018年5月以前にVTにアップロードされていたことが判明した。

検体ハッシュ 最初のVTアップ日時(UTC ファイル名 検体ステージ
50ac4fcd3fbc8abcaa766449841b3a0a684b3e217fc40935f1ac22c34c58a9ec 2016/5/27 12:56 RU cron 1st
f8286e29faa67ec765ae0244862f6b7914fcdde10423f96595cb84ad5cc6b344 2016/6/6 9:46 RU vpnfilterm_ps 3rd
0e0094d9bd396a6594da8e21911a3982cd737b445f591581560d766755097d92 2017/6/12 9:22 TW qsync.php 1st

IoC

C2ドメイン、URL、IPアドレス

  • 1stステージに関連
photobucket[.]com/user/nikkireed11/library
photobucket[.]com/user/kmila302/library
photobucket[.]com/user/lisabraun87/library
photobucket[.]com/user/eva_green1/library
photobucket[.]com/user/monicabelci4/library
photobucket[.]com/user/katyperry45/library
photobucket[.]com/user/saragray1/library
photobucket[.]com/user/millerfred/library
photobucket[.]com/user/jeniferaniston1/library
photobucket[.]com/user/amandaseyfried1/library
photobucket[.]com/user/suwe8/library
photobucket[.]com/user/bob7301/library
toknowall[.]com

Photobucketは、米国の画像管理・動画共有サービスのオンラインコミュニティの模様。toknowall[.]comは、FBIによりテイクダウンされた模様シンクホール化されている。

  • 2ndステージに関連
91.121.109[.]209
217.12.202[.]40
94.242.222[.]68
82.118.242[.]124
46.151.209[.]33
217.79.179[.]14
91.214.203[.]144
95.211.198[.]231
195.154.180[.]60
5.149.250[.]54
94.185.80[.]82
62.210.180[.]229
91.200.13[.]76
23.111.177[.]114

6b57dcnonk2edf5a[.]onion/bin32/update.php
tljmmy4vmkqbdof4[.]onion/bin32/update.php
zuh3vcyskd4gipkm[.]onion/bin32/update.php
4seiwn2ur4f65zo4.onion/bin256/update.php
zm3lznxn27wtzkwa.onion/bin16/update.php

ハッシュ値

50ac4fcd3fbc8abcaa766449841b3a0a684b3e217fc40935f1ac22c34c58a9ec
0e0094d9bd396a6594da8e21911a3982cd737b445f591581560d766755097d92
b9770ec366271dacdae8f5088218f65a6c0dd82553dd93f41ede586353986124
51e92ba8dac0f93fc755cb98979d066234260eafc7654088c5be320f431a34fa
6a76e3e98775b1d86b037b5ee291ccfcffb5a98f66319175f4b54b6c36d2f2bf
313d29f490619e796057d50ba8f1d4b0b73d4d4c6391cf35baaaace71ea9ac37
9683b04123d7e9fe4c8c26c69b09c2233f7e1440f828837422ce330040782d17
d6097e942dd0fdc1fb28ec1814780e6ecc169ec6d24f9954e71954eedbc4c70e
4b03288e9e44d214426a02327223b5e516b1ea29ce72fa25a2fcef9aa65c4b0b
9eb6c779dbad1b717caa462d8e040852759436ed79cc2172692339bc62432387
37e29b0ea7a9b97597385a12f525e13c3a7d02ba4161a6946f2a7d978cc045b4
776cb9a7a9f5afbaffdd4dbd052c6420030b2c7c3058c1455e0a79df0e6f7a1d
8a20dc9538d639623878a3d3d18d88da8b635ea52e5e2d0c2cce4a8c5a703db1
0649fda8888d701eb2f91e6e0a05a2e2be714f564497c44a3813082ef8ff250b
2ffbe27983bc5c6178b2d447d8121cefaa5ffa87fe7b9e4f68272ce54787492f
1e741ec9452aab85a2f7d8682ef4e553cd74892e629012d903b521b21e3a15bf
90efcaeac13ef87620bcaaf2260a12895675c74d0820000b3cd152057125d802
eaf879370387a99e6339377a6149e289655236acc8de88324462dcd0f22383ff
081e72d96b750a38ef45e74d0176beb982905af4df6b8654ea81768be2f84497
24b3931e7d0f65f60bbb49e639b2a4c77de83648ff08e097ff0fa6a53f5c7102
4497af1407d33faa7b41de0c4d0741df439d2e44df1437d8e583737a07ec04a1
579b2e6290c1f7340795e42d57ba300f96aef035886e80f80cd5d0bb4626b5fc
eeb3981771e448b7b9536ba5d7cd70330402328a884443a899696a661e4e64e5
952f46c5618bf53305d22e0eae4be1be79329a78ad7ec34232f2708209b2517c
e70a8e8b0cd3c59cca8a886caa8b60efb652058f50cc9ff73a90bc55c0dc0866
5be57b589e5601683218bb89787463ca47ce3b283d8751820d30eee5e231678c
fe46a19803108381d2e8b5653cc5dce1581a234f91c555bbfff63b289b81a3dc
ae1353e8efe25b277f52decfab2d656541ffdf7fd10466d3a734658f1bc1187a
2ef0e5c66f6d46ddef62015ea786b2e2f5a96d94ab9350dd1073d746b6922859
181408e6ce1a215577c1daa195e0e7dea1fe9b785f9908b4d8e923a2a831fce8
2aa7bc9961b0478c552daa91976227cfa60c3d4bd8f051e3ca7415ceaeb604ca
375ededc5c20af22bdc381115d6a8ce2f80db88a5a92ebaa43c723a3d27fb0d6
0424167da27214cf2be0b04c8855b4cdb969f67998c6b8e719dd45b377e70353
7e5dca90985a9fac8f115eaacd8e198d1b06367e929597a3decd452aaa99864b
8de0f244d507b25370394ba158bd4c03a7f24c6627e42d9418fb992a06eb29d8
7ee215469a7886486a62fea8fa62d3907f59cf9bf5486a5fe3a0da96dabea3f9
ff70462cb3fc6ddd061fbd775bbc824569f1c09425877174d43f08be360b2b58
f5d06c52fe4ddca0ebc35fddbbc1f3a406bdaa5527ca831153b74f51c9f9d1b0
bc51836048158373e2b2f3cdb98dc3028290e8180a4e460129fef0d96133ea2e
d9a60a47e142ddd61f6c3324f302b35feeca684a71c09657ddb4901a715bd4c5
95840bd9a508ce6889d29b61084ec00649c9a19d44a29aedc86e2c34f30c8baf
3bbdf7019ed35412ce4b10b7621faf42acf604f91e5ee8a903eb58bde15688ff
9b455619b4cbfeb6496c1246ba9ce0e4ffa6736fd536a0f99686c7e185eb2e22
bfd028f78b546eda12c0d5d13f70ab27dff32b04df3291fd46814f486ba13693
a15b871fcb31c032b0e0661a2d3dd39664fa2d7982ff0dbc0796f3e9893aed9a
d1bc07b962ccc6e3596aa238bb7eda13003ea3ca95be27e8244e485165642548
eec5cd045f26a7b5d158e8289838b82e4af7cf4fc4b9048eaf185b5186f760db
29ae3431908c99b0fff70300127f1db635af119ee55cd8854f6d3270b2e3032e
ca0bb6a819506801fa4805d07ee2ebaa5c29e6f5973148fe25ed6d75089c06a7
6d8877b17795bb0c69352da59ce8a6bfd7257da30bd0370eed8428fad54f3128
5cf43c433fa1e253e937224254a63dc7e5ad6c4b3ab7a66ec9db76a268b4deeb
a6e3831b07ab88f45df9ffac0c34c4452c76541c2acd215de8d0109a32968ace
f4f0117d2784a3b8dfef4b5cb7f2583dd4100c32f9ee020f16402508e073f0a1
7093cc81f32c8ce5e138a4af08de6515380f4f23ed470b89e6613bee361159e1
350eaa2310e81220c409f95e6e1e53beadec3cffa3f119f60d0daace35d95437
776cb9a7a9f5afbaffdd4dbd052c6420030b2c7c3058c1455e0a79df0e6f7a1d
d2de662480783072b82dd4d52ab6c57911a1e84806c229f614b26306d5981d98
c8a82876beed822226192ea3fe01e3bd1bb0838ab13b24c3a6926bce6d84411b
f30a0fe494a871bd7d117d41025e8d2e17cd545131e6f27d59b5e65e7ab50d92
8a20dc9538d639623878a3d3d18d88da8b635ea52e5e2d0c2cce4a8c5a703db1
0649fda8888d701eb2f91e6e0a05a2e2be714f564497c44a3813082ef8ff250b
2c2412e43f3fd24d766832f0944368d4632c6aa9f5a9610ab39d23e79756e240
218233cc5ef659df4f5fdabe028ab43bc66451b49a6bfa85a5ed436cfb8dbc32
cccbf9bff47b3fd391274d322076847a3254c95f95266ef06a3ca8be75549a4b
ab789a5a10b4c4cd7a0eb92bbfcf2cc50cb53066838a02cfb56a76417de379c5
4896f0e4bc104f49901c07bc84791c04ad1003d5d265ab7d99fd5f40ec0b327f
5e715754e9da9ed972050513b4566fb922cd87958ecf472d1d14cd76923ae59a
797e31c6c34448fbecda10385e9ccfa7239bb823ac8e33a4a7fd1671a89fe0f6
48bfcbc3162a0b00412cba5eff6c0376e1ae4cfbd6e35c9ea92d2ab961c90342
7a66d65fa69b857beeeaaef67ec835900eee09a350b6f51f51c83919c9223793
b0edf66d4f07e5f58b082f5b8479d48fbab3dbe70eba0d7e8254c8d3a5e852ef
840ba484395e15782f436a7b2e1eec2d4bf5847dfd5d4787ae64f3a5f668ed4f
80c20db74c54554d9936a627939c3c7ea44316e7670e2f7f5231c0db23bc2114
5dabbce674b797aaa42052b501fb42b20be74d9ffcb0995d933fbf786c438178
055bbe33c12a5cdaf50c089a29eaecba2ccf312dfe5e96183b810eb6b95d6c5a
c084c20c94dbbffed76d911629796744eff9f96d24529b0af1e78cda54cdbf02
5f6ee521311e166243d3e65d0253d12d1506750c80cd21f6a195be519b5d697f
fcb6ff6a679ca17d9b36a543b08c42c6d06014d11002c09ba7c38b405b50debe
a168d561665221f992f51829e0b282eeb213b8aca3a9735dbbaecc4d699f66b9
98112bd4710e6ffe389a2beb13ff1162017f62a1255c492f29238626e99509f3
afacb38ea3a3cafe0f8dbd26dee7de3d0b24cdecae280a9b884fbad5ed195de7
b431aebc2783e72be84af351e9536e8110000c53ebb5db25e89021dc1a83625e
2b39634dce9e7bb36e338764ef56fd37be6cd0faa07ee3673c6e842115e3ceb1
11533eedc1143a33c1deae105e1b2b2f295c8445e1879567115adebfdda569e2
36e3d47f33269bef3e6dd4d497e93ece85de77258768e2fa611137fa0de9a043
e6c5437e8a23d50d44ee47ad6e7ce67081e7926a034d2ac4c848f98102ddb2f8
1cb3b3e652275656b3ae824da5fb330cccd8b27892fb29adc96e5f6132b98517
ec88fe46732d9aa6ba53eed99e4d116b7444afd2a52db988ea82f883f6d30268
99944ad90c7b35fb6721e2e249b76b3e8412e7f35f6f95d7fd3a5969eaa99f3d
8505ece4360faf3f454e5b47239f28c48d61c719b521e4e728bc12d951ecf315
dd88273437031498b485c380968f282d09c9bd2373ef569952bc7496ebadadde
6e7bbf25ea4e83229f6fa6b2fa0f880dde1594a7bec2aac02ff7d2d19945d036
f989df3aeede247a29a1f85fc478155b9613d4a416428188eda1a21bd481713a
4af2f66d7704de6ff017253825801c95f76c28f51f49ee70746896df307cbc29
ba9fee47dcc7bad8a7473405aabf587e5c8d396d5dd5f6f8f90f0ff48cc6a9ce
5d94d2b5f856e5a1fc3a3315d3cd03940384103481584b80e9d95e29431f5f7a
33d6414dcf91b9a665d38faf4ae1f63b7aa4589fe04bdd75999a5e429a53364a
14984efdd5343c4d51df7c79fd6a2dfd791aa611a751cc5039eb95ba65a18a54
879be2fa5a50b7239b398d1809e2758c727e584784ba456d8b113fc98b6315a2
c0cfb87a8faed76a41f39a4b0a35ac6847ffc6ae2235af998ee1b575e055fac2
fc9594611445de4a0ba30daf60a7e4dec442b2e5d25685e92a875aca2c0112c9
81cbe57cd80b752386ee707b86f075ad9ab4b3a97f951d118835f0f96b3ae79d
4e022e4e4ee28ae475921c49763ee620b53bf11c2ad5fffe018ad09c3cb078cc
a3cf96b65f624c755b46a68e8f50532571cee74b3c6f7e34eecb514a1eb400cf
ff471a98342bafbab0d341e0db0b3b9569f806d0988a5de0d8560b6729875b3e
638957e2def5a8fda7e3efefff286e1a81280d520d5f8f23e037c5d74c62553c
4ffe074ad2365dfb13c1c9ce14a5e635b19acb34a636bae16faf9449fb4a0687
4c596877fa7bb7ca49fb78036b85f92b581d8f41c5bc1fa38476da9647987416
49a0e5951dbb1685aaa1a6d2acf362cbf735a786334ca131f6f78a4e4c018ed9
0dc1e3f36dc4835db978a3175a462aa96de30df3e5031c5d0d8308cdd60cbede
e74ae353b68a1d0f64b9c8306b2db46dfc760c1d91bfdf05483042d422bff572
00c9bbc56388e3fffc6e53ef846ad269e7e31d631fe6068ff4dc6c09fb40c48b
c2bcde93227eb1c150e555e4590156fe59929d3b8534a0e2c5f3b21ede02afa0
70c271f37dc8c3af22fdcad96d326fe3c71b911a82da31a992c05da1042ac06d
ffb0e244e0dabbaabf7fedd878923b9b30b487b3e60f4a2cf7c0d7509b6963ba
dbede977518143bcee6044ed86b8178c6fc9d454fa346c089523eedee637f3be
4d6cbde39a81f2c62d112118945b5eeb1d73479386c962ed3b03d775e0dccfa0
fa229cd78c343a7811cf8314febbc355bb9baab05b270e58a3e5d47b68a7fc7d
4beba775f0e0b757ff32ee86782bf42e997b11b90d5a30e5d65b45662363ece2
a41da0945ca5b5f56d5a868d64763b3a085b7017e3568e6d49834f11952cb927
f3d0759dfab3fbf8b6511a4d8b5fc087273a63cbb96517f0583c2cce3ff788b8
fa4b286eeaf7d74fe8f3fb36d80746e18d2a7f4c034ae6c3fa4c917646a9e147
be3ddd71a54ec947ba873e3e10f140f807e1ae362fd087d402eff67f6f955467
6449aaf6a8153a9ccbcef2e2738f1e81c0d06227f5cf4823a6d113568f305d2a
39dc1aded01daaf01890db56880f665d6cafab3dea0ac523a48aa6d6e6346fff
01d51b011937433568db646a5fa66e1d25f1321f444319a9fba78fd5efd49445
099a0b821f77cb4a6e6d4a641ed52ee8fea659ee23b657e6dae75bb8ca3418c3
4cbf9ecb6ca4f2efed86ba6ebf49436c65afe7ae523ec9dae58e432a9d9a89d0
66a98ad0256681313053c46375cb5c144c81bf4b206aaa57332eb5f1f7176b8c
97d00fc2bc5f5c9a56b498cf83b7a801e2c11c056772c5308ee7adea50556309
9e854d40f22675a0f1534f7c31626fd3b67d5799f8eea4bd2e2d4be187d9e1c7
a125b3e627ecd04d0dd8295e12405f2590144337481eb21086c4afb337c5b3f2
a7d154eaee39ff856792d86720a8d193da3d73bfe4ac8364da030d80539e9ac2
b2dd77af9dd9e8d7d4ebc778f00ff01c53b860a04c4e0b497f2ae74bb8a280c0
f8286e29faa67ec765ae0244862f6b7914fcdde10423f96595cb84ad5cc6b344
afd281639e26a717aead65b1886f98d6d6c258736016023b4e59de30b7348719
acf32f21ec3955d6116973b3f1a85f19f237880a80cdf584e29f08bd12666999
47f521bd6be19f823bfd3a72d851d6f3440a6c4cc3d940190bdc9b6dd53a83d6
d09f88baf33b901cc8a054d86879b81a81c19be45f8e05484376c213f0eedda2
2af043730b632d237964dd6abd24a7f6db9dc83aab583532a1238b4d4188396b
4bfc43761e2ddb65fedab520c6a17cc47c0a06eda33d11664f892fcf08995875
cd8cf5e6a40c4e87f6ee40b9732b661a228d87d468a458f6de231dd5e8de3429
bad8a5269e38a2335be0a03857e65ff91620a4d1e5211205d2503ef70017b69c
ff118edb9312c85b0b7ff4af1fc48eb1d8c7c8da3c0e1205c398d2fe4a795f4b
6807497869d9b4101c335b1688782ab545b0f4526c1e7dd5782c9deb52ee3df4
3df17f01c4850b96b00e90c880fdfabbd11c64a8707d24488485dd12fae8ec85
1367060db50187eca00ad1eb0f4656d3734d1ccea5d2d62f31f21d4f895e0a69
94eefb8cf1388e431de95cab6402caa788846b523d493cf8c3a1aa025d6b4809
78fee8982625d125f17cf802d9b597605d02e5ea431e903f7537964883cf5714
3bd34426641b149c40263e94dca5610a9ecfcbce69bfdd145dff1b5008402314
d113ce61ab1e4bfcb32fb3c53bd3cdeee81108d02d3886f6e2286e0b6a006747
c52b3901a26df1680acbfb9e6184b321f0b22dd6c4bb107e5e071553d375c851
f372ebe8277b78d50c5600d0e2af3fe29b1e04b5435a7149f04edd165743c16d
be4715b029cbd3f8e2f37bc525005b2cb9cad977117a26fac94339a721e3f2a5
27af4b890db1a611d0054d5d4a7d9a36c9f52dffeb67a053be9ea03a495a9302
110da84f31e7868ad741bcb0d9f7771a0bb39c44785055e6da0ecc393598adc8
fb47ba27dceea486aab7a0f8ec5674332ca1f6af962a1724df89d658d470348f
b25336c2dd388459dec37fa8d0467cf2ac3c81a272176128338a2c1d7c083c78
cd75d3a70e3218688bdd23a0f618add964603736f7c899265b1d8386b9902526
110da84f31e7868ad741bcb0d9f7771a0bb39c44785055e6da0ecc393598adc8
909cf80d3ef4c52abc95d286df8d218462739889b6be4762a1d2fac1adb2ec2b
044bfa11ea91b5559f7502c3a504b19ee3c555e95907a98508825b4aa56294e4
c0f8bde03df3dec6e43b327378777ebc35d9ea8cfe39628f79f20b1c40c1b412
8f1d0cd5dd6585c3d5d478e18a85e7109c8a88489c46987621e01d21fab5095d
d5dec646c957305d91303a1d7931b30e7fb2f38d54a1102e14fd7a4b9f6e0806
c0f8bde03df3dec6e43b327378777ebc35d9ea8cfe39628f79f20b1c40c1b412

関連記事

更新履歴

  • 2018/05/31 AM 新規作成
  • 2018/06/01 AM 追記と一部修正
  • 2018/06/09 AM 追記