4ensiX

4ensiX

Forensics専門でなければ、CTFはDFIRの勉強にほとんど役立たないことをを知ったこの頃

tailscaleでグローバルアドレス無し環境でのリモートアクセスの実現

前置きはせずに本題からいくと、Tailscaleを利用すればChrome remote desktopのように環境を気にせずにリモートアクセスの環境が整えられる。

Tailscaleでリモートアクセス

とにかく、使い方も簡単でOSごとのアプリケーションをインストールして、ログインが必要と言われて出てきたURLをブラウザに入力して適当なGoogleアカウントでログインするだけ。これだけで、自分のtailscaleネットワークにマシンを追加できるのでリモートアクセスする側される側を追加しておけばリモートアクセスができてしまう。
また、他のtailscaleユーザと自分のネットワークごとではなく、tailscaleネットワークに参加しているマシン単位でのアクセス共有ができる。これは、tailscaleのadmin consoleからmachinesにリストされている共有したいマシンを選んで、ラベルを指定して発行したURLに相手がアクセスするだけ。プライベートゲームサーバーの共有時の利用も良さそう。URLを共有するだけでマシンの共有ができてしまう。(恐ろしいけどスゴイ便利)

参考までに自分の環境の使用例

元々自分は家にあるデスクトップPCを出先からでもいつでも利用できるようにするためにChrome remote desktopを利用していたが、デスクトップPCの電源を常につけておくのことが嫌なのでどうにか遠隔から電源を入れられないかというところから始まった。
Wake on lanを利用しようと思っていたが、これでもやはり同じプライベートネットワークに電源を入れっぱなしにしておく端末が必要である。
そこでまず、rasberry pi 3 model A+を購入した。rasberry piなら必要電力も少なくて済むので今までより圧倒的に省エネになる。

余談

始めはrasberry piにChrome remote desktopを入れて電源を入れっぱなしにして、そこからWolしようと思っていたがarm版のchromeではChrome remote desktopがリモートアクセスされる側として利用できない。
~閑話休題~

購入したrasberry piにtailscaleを導入して、wakeonlanをインストールしてマジックパケットを発射できるようにしておく。
次に、デスクトップPCがWolを利用できるように設定する。
[参考]
【リモートワーク自由自在】Windows 10 Wake On LAN(WoL)入門:WoLでPCを起動(1/2 ページ) - @IT
Wake on Lan で Windows 10 の PC を遠隔で起動する - Qiita
Wake on LANによるWindows10遠隔起動の設定方法
WakeOnLan - Debian Wiki
こうして、Wolの設定をしてやれば、出先からtaislscaleでrasberry piにアクセスして家のPCに電源を入れて予め設定をしてあるChrome remote desktopでデスクトップPCにアクセスできる。

余談2

実はterminalだけでchrome remote desktopの設定ができる。
https://remotedesktop.google.com/headlessにアクセスするとファイルDLとインストールの指示、アクセスするアカウント選択後に設定に必要なコマンドが発行されて、それをterminalで実行してやることでterminalのみのマシンにremote desktop アクセスできる。
ただ、描画のためにxserverやら入れろってエラーが出るかもしれない。

Technical - ENISA を読んだ覚書

 以前に、Forensics学ぶならTechnical - ENISAが良いというようなことを聞いていて遂に取り組む時が来た。以下は、インシデントレスポンス未経験な学生が取り組んだ覚書である。ときどき、取り組むタイミングによってモチベに差があったので本当に適当になってしまっている部分はご了承ください。正直、バリバリ解析するみたいなものではなく、管理ツールの使い方のようなトレーニングはあまり真面目に取り組んでいません。

取り組む前にやるべきこと

Handbookは事前にDLしといた方が良い

見たいときに見れるように手元にあった方が良いし、リンク踏んでページ移動した場合とか一々読み込むよりは良いかと。

資料は取り組む20時間前にはDL始めとく

Technical - ENISAの資料、特にハンズオンのためのovaがある場所はDLめっちゃ時間かかるのでDLは早めに。参考までに、自分の環境だと一番重かったovaが19hくらい。個々のネット環境の差の所為もあるかもしれないが、自分の場合はpingで平均295ms。ブラウザでのダウンロードは全く上手くいかず、wgetでユーザエージェントをOpera 11.0にするのが一番安定した。何故!?

失敗したときのために、こまめに仮想マシンのsnapshotを取る

割と容量喰うので不要なものは消した方が良いが、あるときと無い時の絶望感の差はハンパない。

Technicalのリスト

レーニングはこの順番で進めていくことが前提となっている。後半に進むに連れて、テキストにある通りに上手くいかない度が増していく気がする。

  1. Building artifact handling and analysis environment
  2. Processing and storing artifacts
  3. Artefact analysis fundamentals
  4. Advanced artefact handling
  5. Introduction to advanced artefact analysis
  6. Dynamic analysis of artefacts
  7. Static analysis of artefacts
  8. Forensic analysis: Local incident response
  9. Forensic analysis: Network incident response
  10. Forensic analysis: Webserver analysis
  11. Developing Countermeasures
  12. Common framework for artefact analysis
  13. Using indicators to enhance defence capabilities
  14. Identification and handling of electronic evidence
  15. Digital forensics
  16. Mobile threats incident handling
  17. Mobile threats incident handling (Part II)
  18. Proactive incident detection
  19. Automation in incident handling
  20. Orchestration of CSIRT Tools New
  21. Introduction to network forensics
  22. Honeypots
  23. Vulnerability handling
  24. Presenting, correlating and filtering various feeds

1. Building artifact handling and analysis environment

 様々な解析を行うための環境を整える。Handbookの通りFigure1のような環境を構築していく。Styxマシンはstyx32.ovaとして配布されるが、winboxとなるwindows7は自分でイメージを取得する必要がある。GetMyOSあたりが良いのではないだろうか。ちなみにハンズオンの想定はwindows7の32bitである。

f:id:Zarat:20200721161852p:plain
画像は(Building artifact handling and analysis environmentのHandbook)より抜粋
資料には特に記載が無いが、winboxは拡張子の表示やwindows updateの停止等の設定を施すとやりやすい。
 初めは勘違いしていたが、ここでの設定を完璧に終えなければ追々のトレーニングが全く進められない訳ではない。完璧にできれば、良いに越した事は無いがモノによってはトレーニングの一節でちょっと使うだけのものもある。本当に行き詰ってしまった場合は一度styx32が配布資料に含まれていないものに取り組んでみたりすることで気分転換も良いかと。
 基本的には資料通り設定すれば問題ないが、ときどきタイポがあるので注意。あと、Adobe Acrobat Readerでhandbookを開くと表示倍率によっては_が出ないことがあった。

気になった点

i. DNSの設定関連

 netsimとtorの設定を済ませたあたりで起動時にエラーが出る。おそらく、netsimとtorのDNSが競合してるのだと考える。なんとなく、netsimの方が優先度高めな気がしたのでtorrcを気休めで変更した。全く分かっていないので、気になることがあれば教えてください。

(snip)
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 127.0.0.1
TransListenAddress 10.0.0.1
#DNSPort 53
#DNSListenAddress 127.0.0.1
#DNSListenAddress 10.0.0.1


ii. Cuckooの設定

 結論から言うと諦めた。とりあえず、cuckooのwinboxとの連携が全く上手くいかなかった。自分が調べた限りでは二つの問題により上手くいかなかったと考える。

  • 設定時に記述されているipが間違っている。
    タイポ
  • libvirtvirtualboxのバージョン
     このハンズオンでは、libvirtを通してvirtualbox apiでwinboxを操作する設定を行う。ここで、styx32のlibvirtと今自分が利用しているvirtualboxのバージョンが対応しているものでなければ動作しない。じゃあ、バージョン合わせればいいじゃないかと思われるでしょう。まず、この資料が作成されたのは2014年らしい。つまり、色々当時の最新設定が想定なので最新のvirtualboxに合わせて最新のlibvirtを入れるとなるとライブラリの更新であったり何か他の依存関係ぶっ壊しそうでよく分からなかった。(調査不足)
    ではvirtualboxのダウングレードはどうかというと、自分は複数のマシンでExtension Pack使用民なのでメンドイでした。
     結局、後のトレーニング資料を見るとちょっとしか使わないじゃんっと思ったので放棄。

2. Processing and storing artifacts

 styx32にspam honeypotのShivaマルウェアスクリプトの管理を行うViperを設定して、簡単なspamメールの解析を行う。
 管理ネットワークに、自前のメールサーバがあればspam mailから脅威を事前に検知するというのもあるらしい。攻撃検知であったり侵入検知であったりも何らかの手がかりは残りそう。

3. Artefact analysis fundamentals

 用意されたマルウェアの簡単な静的解析、動的解析、ネットワーク解析、自動解析を行う。
 静的解析では、アンパックから始まり、読み取れる文字列等から機能の推測を行う。デコンパイラ等を使うまで深いところまでは踏み込まない。
 動的解析では、プロセスを監視しながら実際にマルウェアを実行することでどのような影響をもたらすのかを見ていく。デバッガ等を用いる解析は行わない。
 ネットワーク解析では、マルウェア実行中のパケットキャプチャ等からマルウェアの影響を確認する。
 自動解析はCuckooを用いて行う。自分は、やってない。ちなみにこれ以降Cuckooは出てこない。

4. Advanced artefact handling

 volatilityでメモリフォレンジック!  メモリダンプの取得から始まり、与えられたwindowslinuxのメモリダンプの解析を行う。説明は丁寧だが、ハンズオンで行うことは何だか中途半端な気が。

気になった点

i. winpmemをwinboxで試してファイルを転送するとき

 netcatで転送するみたいなことが書いてあったが、winbox⇔styx32間では上手くいかなかったのでファイル転送はlabスクリプトftpを使用した。

ii. 2.2.2.3 Task 1.2.3 Building a Volatility profileにて

 記憶が確かなら、 /usr/src/volatility-tools/linuxではなく、 /home/exercise/volatility-tools/linuxだった。

iii. volatilityのプロファイル追加

 プロファイルのディレクトリは/usr/lib/python2.7/dist-packages/volatility/plugins/overlays/linux
余談だが、volatilityのOSプロファイルをいくらか公式が公開している。
volatilityfoundation/profiles: Volatility profiles for Linux and Mac OS X

 確か、/home/enisa/enisa/ex4/vol-profilesにすでにハンズオン用のプロファイルがあったような気がする。

5. Introduction to advanced artefact analysis

x86の基本知識が色々学べる。レジスタであったり、命令であったり様々。ついでに、ツールの名前だけ紹介されている。ここで挙がっていたツールは、OllyDbg, Immunity Debugger, WinDbg, WinAppDbg, IDA, radare2.

6. Dynamic analysis of artefacts

 基本的にはOllyDbgの動的解析における使い方講座。それに絡めて、簡単な手動アンパックであったり、アンチデバッグの紐解き方、プロセスインジェクションについて触れている。急に難易度上がった感。マルウェアを取ってきて、一緒に解析してみようというようなハンズオンの部分は取得方法が分からなかったのでやっていない。所々言われているものが見つからず辛い。

7. Static analysis of artefacts

 静的解析におけるIDAの使い方講座。call graphsやcross referencesを眺めながら解析していくのが面白い。 典型的なanti-disassemmbly techniqueが施されているプログラム解析の紹介は最も面白いところだったが、どこかでプログラムが配布されているのか・見るだけなのか分からないが手元で解析したかった。やっぱり全体的に、テキストで言われている場所と一致するものを手元で見つけるのが辛い。

8. Forensic analysis: Local incident response

 あるデータ漏洩が発生したシナリオが用意され、8. Forensic analysis: Local incident response,9. Forensic analysis: Network incident response,10. Forensic analysis: Webserver analysisと三部構成で調査を行っていく。  第一部のこちらでは、問題が確認されたworkstation1のメモリフォレンジック、ディスクフォレンジックから感染源となったサイトの特定等を行う。

9. Forensic analysis: Network incident response

 インシデント調査の第二部であるこちらでは、ネットフローダンプやdhcpサーバの解析から他の影響を探っていく。

10. Forensic analysis: Webserver analysis

 インシデント調査の第三部であるこちらでは、三つのwebサーバの調査を行う。最終的に見えてきた全貌はなんだが納得いかないような、ご都合主義なような気がするがシナリオを通して実践的なフォレンジック調査の流れを学べたのはとても良かった。

11. Developing Countermeasures

 Snortシグネチャ作成とYaraルールの作成が学べる。Snortシグネチャを作成してテストしているが、資料に書いてあるものはシグネチャが作成上手くいくためのテストケースを作成しているような気がする。

気になった点

作成したSnortルールの適用

ルールを適用するために/home/enisa/enisa/ex5/snort/snort.test.confにて$RULES_PATH=/home/enisa/enisa/ex5/snortと設定しないと上手くいかなかった。

12. Common framework for artefact analysis

 MANTISCRITsの基本的な使い方を学ぶ。こういう収集した情報を分析して脅威の監視を行うようなツールは初めて触ったのでとても新鮮であった。実際の現場でもこのようなもので情報共有が行われているのだろうか。何か色々上手くいかなかった気がするが覚えていない。

13. Using indicators to enhance defence capabilities

 再びCRITsの登場。上手くいったり、上手くいかなかったところが所々あった気が。

14. Identification and handling of electronic evidence

 デジタルフォレンジックに関して理論的な概要説明。

15. Digital forensics

 銀行システムでの顧客対応の一環を例に挙げたデジタルフォレンジック演習。webサーバのアクセスログの解析やZeusに感染したPCのメモリフォレンジックを行う。VM How Toのリンクにあるように、/home/enisa/setup.shを走らせてから/home/enisa/Desktop/Training-Material/Dig_For_and_Handl_Evにハンズオンのための資料が現れる。

気になった点

i. 5 Task 2 – Identify other attacked customers based on these characteristics

  1. $ for i in `cat access.log | cut -f 1 -d ' '`;do geoiplookup $i;done|sort|uniq| wc -lにて ' 'の間は半角スペース在り。
  2. 薄々勘づかれていた通り、$ grep Mozilla access.log | grep 'ru;' | grep \"\'$ cat access.log | grep 'ru;' | grep \"\'の結果が等しい。

ii. 6 Task 3 – Hands-on analysis of memory process dump

  1. volatilityはコマンドとして登録されており、volatilityコマンドで利用できる。
  2. zeusscanプラグインはすでに導入されており、例えばココでは $ volatility -f memdump.raw zeusscan1 のように利用可能
  3. key.txtの変換が以下のようにしないと上手くいかなかった。
    $ cat key.txt | cut -d ' ' -f 2-19 | xxd -r -p > key.bin
    ' 'は半角スペース在り。

    余談

     今回の演習で出てきたUser-Agentは何か色々怪しすぎてオカシイでしょとか思っていたが、今のChromeの場合 Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Mobile Safari/537.36であったし、今後Chromeではバージョン、OS問わず同じUser-Agentを返すようになるらしい。詳細はおググりください。

16. Mobile threats incident handling

 モバイルのフォレンジックで、apkファイルの解析の基本について学べる。
 AVDで動かして、apkをデコードして少し機能を弄ってみたり、ビルドして再び動かしネットワークトラフィックを見たりした上でdexからjar変換してapk解析等を行う。

気になった点

i. [3.5.1.1 Open Android SDK Manager]
Android SDK ManagerのPackagesのUpdates/Installedに関して

 Handbookの方では、API15を利用していたので同じようにこれを導入。さらに、Toolsについては文句言われたので色々必要なものを導入。

ii. 3.5.1.5 Create an AVD named “SimpleLockerAVD” using avd manager

 Deviceの作成時に容量が足りなく作成できない状態になってしまった。/home/enisa/setup.shを実行すると、仮想マシン[enisa-main.ova]は他のトレーニングの資料も作成される。取り組む前に別のトレーニングのファイルは消しておいた方が良い。
 さらに、AVD作成時のRAMが少ない所為か上手くいかなかったのでAVDのRAMを1024MBし、その上で改めてVM自体のメモリを4096MBに増やした。

iii. 3.5.1.6 Add Hardware and open AVDs

 大抵の人は必要だと思われるが、64bitマシンを利用している場合 ./emulatorの引数には-force-32bitが必要となるらしい。

17. Mobile threats incident handling (Part II)

 モバイルフォレンジックに関してAndoroidに加え、軽くiosの解析のハンズオンも行う。内容としては、モバイルの脅威やRooting、Jail-breaking等モバイルの様々な知識にも触れられる。
 スマホのメモリフォレンジックもあるが話だけでほとんど触れない。iosのバックアップからファイルの解析があるが、イメージの取得のような方法が見てみたかった。
 マルウェアアプリの解析があるが、浅すぎて物足りないと感じた。

気になった点

system.imgの取得からfile carving

 Deviceが事前に用意されていればよかったが自分で作らないといけなさそう。自分が探した限りでは見つからなかったので誰か見つけたら教えてください。自分で作ったイメージを使うということはfile carvingは同じように上手くいかないしjpegがイメージ内に無いといけない。 そりゃそうか。

18. Proactive incident detection

 公開情報から脅威に関する情報を収集する方法に関する話。AbuseHelperの使い方について学ぶ。
 ここら辺から、資料通りの演習の再現が上手くできなくなってくる。仮想マシンのパスワードが分からないのでUbuntu 18.04: 忘れたパスワードを再設定する - Narrow Escapeのように再設定する。

19. Automation in incident handling

 ログを見る時はgrep,awk,sort,wcのようなコマンドを使って解析してみよう。

20. Orchestration of CSIRT Tools New

 [12.Common framework for artefact analysis]よりも話を広げたもの。MISP,Elasticsearch,TheHive,IntelMQ等の基本的な使い方についてのトレーニング。正直個人的にあまり気乗りしていなかったので、IntelMQが上手くいかなかった時点で止めてしまった。
 MISP,Elasticsearchに関しては起動を確認したが、IntelMQは起動できず、TheHiveは確認すらしていないので分からない。

気になった点

4.4.2 Adding data to the cluster

 Elasticsearchにデータを追加するためのコマンドを実行すると

{"error":"Content-Type header [application/x-www-form-urlencoded] is not support

となってしまった。何故かContent-Typeが上手くしていできていない模様。なので、

$ curl -XPOST http://elasticsearch.enisa.ex/logs/request/1 -H "Content-Type: application/json" -d @r1.txt

r1.txtにrequestをテキストファイルに書き込んでやると上手くいく。

21. Introduction to network forensics

 ネットワークの証拠収集についてハード・ソフトを通した話、証拠保全のための設定や情報収集に有効なログ等ネットワークフォレンジックに関わる知識、ツール、ハンズオンを含め盛りだくさんなトレーニング。
 ハンズオンは3種類あり、ICS/SCADA環境での独自の通信プロトコルDNS exfiltration、VPNを介したアクセスの解析を行う。とにかく楽しい。

気になった点

i. ICS/SCADA環境での解析

  1. normal.pcap/home/exercise/traffic/normal.pcapであり、以降も/trraffic以下にファイルがある。
  2. INF5.1.ovaは、まさかのドイツ語キーボード。zとyが逆?ハイフンは/,スラッシュはshift+7,イコールはshift+0,シングルクォーテーションはshift+]

ii. DNS exfiltration

  • squid.confの設定にて  変な改行があるように見えるが
http_port 0.0.0.0:3128 ssl-bump cert=/usr/local/squid/ssl_cert/squid.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
sslcrtd_program /usr/local/squid/libexec/ssl_crtd -s /var/lib/ssl_db -M 4MB
acl step1 at_step SslBump1
acl exceptions ssl::server_name .10.1.1.1
ssl_bump splice exceptions
ssl_bump peek step1
ssl_bump bump all

 これが正しい。

iii. [5.2.6.5 MISP Web Interface]

 MISPの [Search Attributes]の[Containing the following expressions]に

$ awk -F, '{print $20}' firewall.log | grep -v "10.*" | sort | uniq

 の結果を張り付ける。

iv. sargへのアクセスはsarg.localへ

v. [p176]にて

egrep "[a-zA-Z0-9\\]{30,63}" bind.log.2 | wc -l | uniq

は間違い。

egrep "[a-zA-Z0-9\\]{40,63}" bind.log.2 | wc -l | uniq

これが正しい。 何故40から30に減った?

22. Honeypots

 ブラウザエミュレータのようなThug- Client-side honeypot、マルウェア収集に使われるらしいDionaea - Server-side honeypot、wowhoneypot見たいなHTTPアクセスを観測するGlastopf - Server-side honeypotに触れる。
 実際に運用するわけではないので、特にドキドキもなく物足りないのは仕方がない。学生であれば、HoneypotはAzure for Students – 無料アカウント クレジット | Microsoft Azureで試すのがおススメ。

23. Vulnerability handling

 運用しているサービスで脆弱性が見つかった場合どのような対応を取るかに関して理論的な話。

24. Presenting, correlating and filtering various feeds

 Elasticsearchを使う。何度も同じようなトレーニングをやるということは重要なことなのだろうか。

個人的に楽しかったトレーニング(満足度順)

  1. Introduction to network forensics
  2. Mobile threats incident handling (Part II)
  3. Advanced artefact handling
  4. Artefact analysis fundamentals
  5. Forensic analysis: Local incident response
  6. Forensic analysis: Webserver analysis
  7. Mobile threats incident handling
  8. Static analysis of artefact
  9. Dynamic analysis of artefacts
  10. Forensic analysis: Network incident response
  11. Developing Countermeasures
  12. Digital forensics
  13. Processing and storing artifacts
  14. Building artifact handling and analysis environment
  15. Introduction to advanced artefact analysis
  16. Identification and handling of electronic evidence

感想

 Technical - ENISAの魅力は解析技術だけではなく、インシデント情報の管理であったりDF単体でなくDFIR全体に触れることができるところだと思います。まあ、そもそもCERT staffのための資料なのであたりまえと言えばあたりまえですが。
 Handbookは全て、提供された資料を用いて資料をトレーニングを行う場合はこのようにやってくださいというような体で書かれていると思います。そのおかげで「ココではこのような問いかけをしてください」というような説明があり、そこではそのような考え方を持てば良い等と学ぶことができますし、解答もついているので一石二鳥な気がします。しかし、後半の資料では何だか上手くいかないことが少し残念です。自分の力不足の所為でもありますがね。
 余すところ無くトレーニングから学びを得るためには参照リンクを沢山チェックするのがおススメです。

proxmoxにvirtualboxのマシンをインポートする

ある日、仮想化基盤をやってみたいと思いました。なのでproxmoxを入れました。

www.proxmox.com


設定はここら辺で。

Proxmox VE 6.1をインストールしてみた | fefcc.net

ProxmoxVEのセットアップと利用 - Qiita

自分の場合は、物理マシンにインストールしました。RAIDは使っておらず、ファイルシステムはデフォルトで、プライベートipは静的で設定.

条件

このインポートの方法はqemuの機能を使うので、CPUのTypeがkvmのマシンでないとできないと思います。

virtualboxからproxmoxへの移植

結論から言うと、やることはvirtualboxのイメージの実体(vdi,vmdk)ファイルをqmの管理下にインポートする。

1. virtualboxの移したいVMovaファイルを作成

virtualboxマネージャーの[ファイル]->[仮想アプライアンスのエクスポート]を選択。

f:id:Zarat:20200606235150p:plain
[ファイル]->[仮想アプライアンスのエクスポート]
そこから、目的のVMを選択。エクスポートのフォーマットはovaの[Virtualization Format 1.0]を選択する。新しい2.0の方が良さそうな気がしなくも無いが、どこで2.0はエラー吐いて環境によってインポートできないというような話を聞いたので......。詳細はご自身でおググりください。
f:id:Zarat:20200606234939p:plain
ovaファイルのエクスポート

追記

結局はマシンの実体ファイル(vmdk,vdi)がどこにあるか分かれば良いが、ovaファイル ならイメージの実体やマニフェストファイルを書き出すことができるので、イメージの実体ファイルの場所が分からなくても取り出せるし移植先でVMが起動しない場合にマニフェストファイルを見てvirtualboxの設定との比較ができると思うので、ovaファイルのエクスポートがおススメ。

2. proxmoxへファイルを移動

基本的にはsftpやscpでファイル転送がいいでしょう。自分の場合、転送前に解凍しておいて.vmdkか.vdiのみ転送した。解凍時に出てくるマニフェストファイルは、vmを設定したときにエラーが出たときの設定変更の参考にする。

3. インポート

virtual boxのイメージをそのままproxmoxに登録する方法は、今のところ無さそう(2020/06/26)。なので、一度vmを立ててそこにqmを使ってimportする方法を取る。

ストレージの容量以外は、importしたいvirtualboxvmに合わせて他のproxmoxのvmを立てるときのように設定する。 ストレージだけは、適当で良い。

vmを立てた後、ハードウェアの設定でハードディスクを[Detach]して,[Remove]する。

f:id:Zarat:20200626174301p:plain
ハードディスクをDetach

f:id:Zarat:20200626174519p:plain
Remove

ここまでこればimportの準備が整った。importのコマンドはコチラ

$ qm importdisk <vmid> <import_disk> local-lvm -format [raw/qcow2]

vmid......vmを作ったときに割り当てたid
import_disk......importするvirtualboxのイメージファイル(vmdk,vdi)
-format [raw/qcow2]......指定しなくても良いらしい。自分の環境ではデフォルトでrawイメージで、vmのイメージが保存されているようなのでraw変換を選択した。

importコマンド例はコチラ。

$ qm importdisk 5000 vm.vmdk local-lvm -format raw

ここでイメージのimportに成功したら、ハードウェアの設定に未使用のディスクが追加される。この追加されたディスクを選択して、編集画面を開きディスクの設定が問題無ければ追加 f:id:Zarat:20200626195101p:plain 起動しなければ、virtualboxの設定と見比べてみる。大体はSCSIじゃなくて、SATAとかIDEとかにしてないことで問題が起こるような気がする。あとは、イメージ転送ミスとかだろうか。
起動すれば、proxmoxにvirtualbox移植完了

参考

Import OVA as Proxmox VM | It's full of stars!

Another way to move Virtualbox VDI to Proxmox VE | David Yin's Blog

twitterのキーワード検索結果を割とタイムリーに[slack/discord]botで通知する

いつもと全く毛色は異なるが、せっかく調べたのでまとめておく。

プロローグ

twitterのキーワード検索をbotに通知して貰いたいと考えていたのが始まりである。今までtwitterハッシュタグの検索をどうにかtwitterを開かずに観測したいと思っていたが、RT botを作ってくれるような有名なサービスは無くなったようだし、twitter apiをサーバで動かすしか無いと思っていた。
しかし、IFTTTというサービスを利用すればtwitter api無しで! 無料で! 情報の方から寄ってくる生活を体験することができる。

slack botの方は上手くいっていないので、webhookではなくIFTTTで提供されているslackへの投稿を利用した方が良さそうです。(検証中)

bot作成

slack/discordのwebhookを作成

これを行うにはdiscordサーバーの管理者である必要があるので、個人で管理できる場を用意する。
slackの方は管理者ではない立場でめちゃくちゃしたことが無いので、管理者ではない立場で可能かどうかは未検証。

slackの場合

https://api.slack.com/appsにアクセスし、アプリを作成を選択。
アプリ名,ワークスペースを指定してアプリを作成。
機能一覧の[Incoming Webhook]を選択し、この機能を[ON]にする。
webhookを追加すると、botに投稿させるチャンネルを指定した後にwebhookのURLのコピーが可能になる。

参考

Slack での Incoming Webhook の利用 | Slack

slackのIncoming webhookが新しくなっていたのでまとめてみた - Qiita

discordの場合

[サーバの設定]や[チャンネルの設定]にある[ウェブフック]の項目にある[ウェブフックの作成]で簡単に作成する。
botの名前、botの投稿するチャンネルを指定して作成する。
作成後は、ウェブフックのそれぞれのbotの編集からwebhookのURLをチェックできる。

参考
タイトル: Webhooksへの序章 – Discord

IFTTTの設定

まずは、アクセスしてアカウントを作成する。 ログイン後には、アイコンを押すことで表示される[Create]から、大きく表示される[This]で何のサービスからの取得か指定する。

f:id:Zarat:20200515213503p:plain
createボタン
f:id:Zarat:20200515213911p:plain

twitterを検索して、下に出てくる[New tweet from search]を選択。 観測したいキーワードを指定。

f:id:Zarat:20200515214403p:plain
観測するキーワード検索の指定
[Create trigger]を押した後に、今度は[That]を選択した後、webhookを検索する。
f:id:Zarat:20200515214732p:plain
webhookの検索
webhookの[Make a web request]を選び、bot通知の設定を行う。
上から、[URL]には利用するbotのwebbhookのURLを入力。
f:id:Zarat:20200515215224p:plain
botの設定
投稿なので[Method]はPOSTで、[Conctent Type]についてはapplication/jsonにしている。[Body]に関してはtweetのリンクだけ通知して貰えば良いと考えているので[Add indiegrent]からLinkToTweetのみ選択している。
[Create action]を押して、エラーっぽい赤文字が出なければ上手くいっている。最後の画面では、登録時のメールアドレスに動いたときに通知を行うかどうかの確認があるので適宜設定する。

設定完了

使用感

  • 更新頻度はややムラがあるような気がする。しかし、検索結果が更新されていれば、おおよそ1時間以内、早くて2,3分おきに通知が来る。
  • フィルタのようなものが無いので、RTとツイートを判別できず、複数人がRTしたものは元ツイートを含めて繰り返し通知されてしまう。

    今後の展望

  • rssの無いwebの更新を何等の方法で検知してbotに通知させたい
  • サーバ立てて自由にやりたい

Digital Forensics challenge まとめ(随時更新)

Digital Forensicsを学ぶ同士達へ捧ぐ

CTFでDigital Forensics skillsは学べない。
ならば、どこで学ぶか。
その一部を以下に示す。

様々なDigital Forensics Challenge

champdfa fa19 ctf

DFA & CCSC Joint Spring 2020 CTF

仙台 CTF

MemLabs

Mini memory ctf

https://www.13cubed.com/downloads/mini_memory_ctf_solutions_guide.pdf
https://drive.google.com/drive/folders/1E-i2RTUBXBGUd_Xz0k67kFOpHcr6WX8J

Challenges – The Honeynet Project

NW3C Daily Challenge

Test Images and Challenges

DFIR CTF - Email took my money (Exchange forensics training scenario) - Mellivora, the CTF engine

まとめサイト

Test Images and Forensic Challenges | ForensicFocus.com

Challenges & CTFs - AboutDFIR - The Definitive Compendium Project

フォレンジック学習向けのイメージデータ - setodaNote

awesome-forensics: A curated list of awesome forensic analysis tools and resources

ForensicChallenges