blog.toxn

あしあと

独自ブラウザ実装メモ

C#.netで独自ブラウザ組んでるんだけど、いろいろメモ

全体像

Windows FormアプリにWebBrowserコントロールを貼るだけ。

でもタブにも対応したいので、TabControlを貼ってWebBrowserコントロールをもつTabPageを都度増やす。

タブのカスタマイズ

CodeProjectのCustomTabControlが手軽に使えて良いと思います。

Painting Your Own Tabs - Second Edition - CodeProject

WebBrowserコントロールのブラウザ変更

デフォルトはIE7です。不安になります。 レジストリで変更可能。アプリ名がKeyで、IEのバージョンがValue。

IEのバージョンは次の値を指定。

Internet Feature Controls (B..C) (Internet Explorer)

新しいタブで開く機能

これ、結構面倒。 WebBrowserコントロールで新しいウインドウ開くときはIEが開く。やめてくれー。

WebBrowserで新しいウインドウを開くイベントをキャッチして、ウインドウを開く処理を奪い取ります。 アクティブなHTMLタグ(aタグ)を特定し、URLを指定して新しいTabPageを開くようにすると同時にIEを開くイベントをキャンセルします。

今回はIFrameにも対応。ページ遷移しないWebアプリではIFrameを使うことも多い(と思っている)ので。 Document.ActiveElementを取得しても、IFrameの中身のどのタグがアクティブかまではわからず、もう一手間必要。 Document.Window.Framesからフレームを指定して、内部のActiveElementを見ればよい。

今回作りきれてない部分

javascriptのwindow.openとか使ったとき。

[System.Runtime.InteropServices.ComVisibleAttribute(true)] で、COM扱えるようにして、public void MethodA()をC#で実装したら、

javascript側でwindow.external.MethodA()みたいに呼び出してあげればよい。

できればC#メソッドを呼び出すためのjavascriptはブラウザ側から注入してあげるのが良い。

まとめ

こんな感じ。

gist7352a2294cf96b4d14e6

1年振り返り

ダイジェスト

仕事編

  • 転職して1年経ちました
  • 強力なメンバーが参入
  • 忙しくしています

プライベート編

  • 家族が増える予定です
  • ちょっとだけ引っ越しました
  • VCP更新しました
  • ネスペ落ちました
  • 2重飛びが10回できるようになりました

仕事

冬〜春 * 販売系のシステム開発 夏〜秋 * 社内のサーバ環境一新 * 情報統制管理の基盤づくり

秋に強力な開発メンバーが来てくれたのでチームとしてはバランスも取れてかなり強力になったと感じます。 最近はもっぱらインフラ関係の整備とシステム保守。

プライベート

近々父親になる予定です。 こんなんで大丈夫かと不安ではありますが、楽しみです。

これ毎年言ってる気がしますが、今年は輪をかけてインプットもアウトプットもしていないなーと思うことが多かったように感じます。 職場の環境が変わって、かなり自由に伸び伸びと仕事させてもらえていますので、ハングリーさに欠けてたのかもなーと。

来年はプライベートが忙しくなりそうですが、月に本1冊、最低1記事を続けます。 今年はお世話になりました。2016年もよろしくお願いします。

TMCTF Writeup

開催当日も仕事だったのでがっつり出来ませんでしたが、今まで参加したCTFと比べてレベル高くて降参って感じでした。

自力で唯一解けたのがMisc100

ACROSS

3 A technique used for a piece of email to be sent to specific organisations 

SPEAR PHISHING

6 An effective measure that protects unpatched vulnerabilities on a system 

VIRTUAL PATCHING

8 Indicator of Compromise 

IOC

9 The year the company hosting TMCTF was founded 

EIGHTY EIGHT (1988)

11 Malware or technique used by cybercriminals that were arrested by FBI in 2011. The company hosting TMCTF contributed to this case. 

DNS CHANGER

12 Global Technical Support and R&D Center of the company hosting TMCTF 

TREND LABS

14 A piece of malware that prevents you from accessing your files and asks for money 

RANSOMWARE

15 Something that was compromised in CMS in the following video: https://youtu.be/z5FXxnHiZOQ?list=PL08763C67B0C84AA1

VULNABILITY (2:18)

16 Annoying email or canned food 

SPAM

17 A server used by cybercriminals to communicate with a piece of malware planted in corporate network 

COMMAND AND CONTROL

19 Where the main character got infected with malware in the following video: https://youtu.be/ws7Hqb-GPnc?list=PL08763C67B0C84AA1

SxxxExxxTxxxx (DOWN19から)

21 Current CEO of the company hosting TMCTF 

EVA CHEN

23 Also known as 'internet' 

CLOUD

24 Breach detection solution from the company hosting TMCTF 

DEEP DISCOVERY

DOWN

1 Free malware scanning tool from the company hosting TMCTF

HOUSECALL

2 What assumuption does the narrator say is required in the following video: https://youtu.be/0hs8rc2u5ak

BREACH WILL HEPPEN (5:08)

4 A type of malware used for stealing data from corporate network 

BACKDOOR

5 Datacenter security platform from the company hosting TMCTF 

DEEP SECURITY

7 International law enforcement working with the company hosting TMCTF 

INTERPOL

10 The company hosting TMCTF 

TRENDMICRO

13 Malware that was prevalent in late 90s and now resurging in 2015 

MACROVIRUS

18 Cyber attack targeting specific organisation 

APT

19 System used for industrial control system 

SCADA

20 Where the company hosting TMCTF is headquartered 

TOKYO

22 A unique executive position within the the company hosting TMCTF

CCO

先頭の文字を並べるとSVIEDTRVSCSECDHBBDITMASTCになります。 MD5かけたのがflagなので、TMCTF{88f5505a45c9e176e36898095f505187}

あとはチームメイトが解いてくれましたが、200問題以降お手上げ状態。まだまだ実力不足だなーと感じました。

vSphere 5.5 から 6.0にアップグレードした話

vSphere 5.5から6.0にアップグレードしたよ

環境は以下の通り

  • ESXi 5.5 x3
  • vCenter Server Virtual Appliance(vCSA) 5.5

アップグレード方法

5.5 to 6.0 はインプレースアップグレードができます。

  1. vCSAをアップグレードする
  2. ホストをアップグレードする
  3. 仮想マシンをアップグレードする

vCSAをアップグレードする

公式の手順スライドがあったので参考にしました。助かります。

featurewalkthrough.vmware.com

まずは、vCSA 6.0のインストールメディアをダウンロード。 isoファイルなんだけど、5.5までとは違ってVMイメージが入っているわけではなく、 管理クライアント側でマウントする用です。

6.0用のクライアント統合インテグレーションプラグインをインストールして、 setup用のhtmlを叩くとインストールかアップグレードか聞かれます。

その後はウィザードに従って進めていけばOK。

5.5のvCSAはシャットダウンされた状態で残るので、必要ないなら消してしまいます。

Active Directory認証していたんですが、その設定が消えているのでadministrator@vsphere.localでログインして、 管理からADのアイデンティティ追加してユーザー権限設定すればOK。

ホストをアップグレードする

こちらはVMをローテーションしながらアップグレード。 ホストをメンテナンスモードにしてからESXi 6.0のイメージをマウント。 再起動してマウントしたイメージから起動し、ESXi 5.5のインストールされているデータストアを指定すると、 アップグレードの選択肢が出てくるのでそのままアップグレード。

仮想マシンをアップグレードする

ホストのアップグレードが終わったら、仮想マシンVMware Tools、仮想ハードウェアのアップグレードします。

VMware Toolsは自動アップグレードが使えるので、VMware Toolsの期限切れ警告からポチーで完了ですね。 仮想ハードウェアの更新はしていません。

見たところ、バージョン10→11にするとCPU、メモリ、ビデオメモリ、PCIパススルー、シリアルポートが強化されるようですが、 今のところ足りているので、すぐにはアップグレードしないかなぁ。。。

vSphere 6.0 Documentation Center

vRealize Operations Managerを導入した話

vSphere 5.5から6.0にアップグレードをしたんですが、 ついでにvRealize Operations Manager(旧:vCOM)を導入しました。

導入する理由

vCenterでアラートメールを飛ばしたいんですけど、 vCenterはメール送信時の認証に対応していないという仕様があります。 私が使っているメールサーバーは認証必須なので、vCenterではメールアラートが飛ばせない。困る。 なんと、vCOMだとその辺も対応してるんですね。これはvCOM入れなければ!!!vmware狙ってやってるでしょコレ)

導入方法

.ovaファイルが公開されているので、myVMwareからダウンロードします。 中身はvAppでVMが2台(分析用、UI用)で、このvAppをvCenterからデプロイします。

クラスタ組んでる環境にデプロイしようとするとDRSを有効にしていないとダメって怒られるんですけど、 ライセンス上DRS使えないEssentialsやStandaloneでもデプロイできます。下記参照。

kb.vmware.com

  1. vAppをデプロイするホストを1台選んでメンテナンスモードにし、クラスタから除外する
  2. メンテナンスモードをそのホストにデプロイする。(vAppとしては展開されない)このときVM2台に対して静的IPを付与する
  3. VM2台を起動する
  4. ホストをクラスタに戻す

vCenterがAD連携していたのですが、ログインもADアカウントでいけました。

注意

このVM2台でけっこうリソース食うんですね。↓にもありますが、HDDも2台で約350GBくらい。 リソース分析も必要だとは思うんですが、正直ここまでのHWサイジングしてなかったので苦しい。。。

VMware KB: vRealize Operations Manager 6.0 Sizing Guidelines

CTF for ビギナーズ 2015 長野に行ってきた

お疲れ様でした。 SECCON 2015のまえに、リハビリと弱点解消のために行ってきました。

ctf4b.doorkeeper.jp

続きを読む