Author Archive

#ssmjp 2018/04 に参加してきた


どうもみむらです。

ブログ書くなんて何年ぶりだ、そんな雰囲気がしますが、
調べてみると去年書いていたらしいです。

気分的にはもう10年ぐらい書いていない勢いなんですけどね。

気づけば友人がブログを定期的に書き始めていましたので
自分も定期的とは言わなくても書かねば、と。

ということで、「ブログ書きたい枠」があったので
タイミングもいいやとチャレンジしてみることにしました。


前説

あっ、とがくしさん!とがくしさんの説明だ!
レアだレア!!

この勉強会は「運用」がテーマらしいです。
また「かなりゆるふわ」で「喋る敷居はとても低い」とのこと。

喋りたい方はサイトを確認してくださいとのことですので、
チャレンジしてみてはいかがでしょうか。
http://ssm.pkan.org/

私もこんな記事を過去に貼り付けたことがあります:


タイムマシンインテリジェンス

スピーカー : @moton さん

さて・・情報収集はどうやっていますか?

1. 専門家なので寝ずに情報収集している
2. 業務中も業務外も頻繁にチェックしている
3. 情報収集が仕事だ
4. JPCERT のメールで十分だ
5. 収集しなくても良い

→ 普通の人は「常時情報収集は難しい」ので
タイムマシン・インテリジェンスで効率よく情報を収集しよう。

タイムマシン・インテリジェンス?

→ 時差を理解してセキュリティ情報を収集するメソッド

・海外の情報が日本で話題になるまでに先取りする
→ 朝一に海外情報をチェックできれば、日本で話題になる前に情報を知ることが出来る。
How? : RSS リーダーに海外ニュースサイトを登録して、毎朝スマホでチェックする。

・日本で話題になったネタは「まとめ」で取りこぼさない
→ twitter セキュリティまとめ etc… を用いて追いかける。

Appendix (Source):

MS, Adobe, Oracle, ICS(BIND), McAfee, Symantec, Trend Micro, Malwarebytes, Skybox, EndGame etc..


ペネトレーションテスターの資格

スピーカー : @gr4vit0n さん

資格を取る意義

強い技術者になるために勉強しなければならないことを知る
・「資格を持っている割には」と言われないようにする。
・「資格取得のための勉強がすべてではない」(自己研鑽が重要)

ペネトレーションテスター向けの資格?

EC-Council, Certified Ethical Hacker (略称 : CEH)
2年以上の実務経験または公式トレーニング受講
択一式選択で 70% 以上
費用は 30 ~ 60 万円.

→ 「アメリカの法律」や「攻撃ツールの基本的な使い方」などの基礎的な問題が多い。
→ (Src: Twitter) 「環境とツールの豊富さがいい。ツールを動かしながら学べる」
https://twitter.com/enigma63/status/989099449321308161

GIAC のペネトレーションテスター向け認定
基本は SANS トレーニングのあとに受講。
四択式で基準点を満たす(各認定によって基準点が異なる)
費用は 80万円ぐらい

→ 教科書の持ち込みが出来るが、知識を組み合わせて解く問題が多い。(深い知識が求められる)
→ 実務的でとても品質が良い。

Offensive Security (OSCE, OSCP, OSWP の3つがオンラインで受講できる)
Kali Linux 開発元の Offensive Security が運営するペネトレーションテスター向けの資格。
各認定に対応したトレーニングを受講し、試験環境を攻撃してレポーティングする内容。
費用は 10 ~ 20 万円。

→ 海外のペネトレーションテスターが目標とする「難関」の資格。
→ トレーニング環境は「マテリアルを渡すので、勝手にやってみてください」という構成。
→ Lab 環境で 30ホスト以上攻略できるようになってから挑戦するのがオススメ

例) OSCP 試験
<実技(23時間45分)>
5つのホストに侵入して、それぞれ権限昇格する
<報告(24時間)>
実技の内容を報告書に纏めて提出する。

認定条件:ホスト攻撃により得られる得点 + 報告書の点数 で 70点を超える.
ボーナス : テキストの演習を全て纏め、Lab 環境の制圧手段を報告書に纏めて提出すると追加点

FAQ

Offensive Security の試験のレポートの形式は?
→ テンプレートは公開されている。
https://www.offensive-security.com/reports/sample-penetration-testing-report.pdf


VyOS で挑む IPv4 over IPv6 IPsec

スピーカー : @genta さん
Sub-keyword? : 「雰囲気で VyOS をやろう。バグを直そう。貢献しよう。」

経歴

・VyOS Helium (安定版) のフルビルドを試した
・脆弱性対応のために「Linux 本家から取り込まれたパッチに漏れがあった」ことに気づく
→ 「コントリビュータ」として語れるように。

なお、下記の技術があれば「コントリビュータ」になれる!
「ドヤ顔」ができる!

・パズルを解く能力
(git log –p を読む,   grep –ril ‘keyword’ する, try-and-error をする)

How to become a Contributor without technology skills:

1. 二分探索でコードのエラー行を発見する。(コードを消したり戻したりしてみつける)
2. エラーコードをググる。
3. 治す。

開発の人たちは怖くない。

ドンドンコミュニケーションをしていこう。
無料で英語が使える環境を触ることも出来るよ?

こういう経験、よくありますよね?

・IPsec を張りたくなった。 IPhone で L2TP/IPSec とかしたい。
・実家と BGP 張りたい。親が病気でどうしても張らなければいけない。

→ これを 素の Linux で見たそうとするのはとても大変。 VyOS ならサクッと出来る。

VyOS とは?

→ Linux と 各種 OSS と設定スクリプト(シェル環境) が一緒にまとまったもの。
→ JUNOS と似たコマンド体系!
→ ただ 安定版の Kernel はとても古い (Debian : squeeze)

IPv4 over IPv6 IPSec をやってみた。

→ IPv6 網を経由すると早くなるらしい? (理由は分からないけれど)
→ でも各拠点は IPv4..  なら 「IPv4 over IPv6 すればいいじゃない!」

ダメだった。

なぜダメだったの?

→ カーネルが古い。 OSS も古い。 vti6 対応してない。
→ なら Linux の git から cherry-pick してくればいいじゃない?

・・そんな4月頃。「 VyOS 1.2.0 Current 」が更新される

→ iproute2 が更新される。
→ カーネルも更新され、最初から対応されている。 cherry-pick いらない・・。
→ CLI に関しては IPv4 ベースで使えない。←  頑張ってここを修正する必要がある。

VyOS 現状のまとめ

これは VyOS ではない。 Debian だ。
さすれば道は開かれん。
(意訳:コンフィグを手で書けば動く)

→ みなさんでここのところ、頑張って治していきましょう・・!


なぜSphinxで手順書を作るのか

スピーカ : @tcsh さん

SPHINX で手順書を生成しよう。

なぜなら Include できるから。 (CSV, ソースコード, ドキュメントのパーツ etc..)
→ 画像やコードを純粋に挿入出来る (イメージとしては TeX っぽい。)
→ 定数置換が出来る。
→ シェルスクリプトを貼り付けて、それを実行させることができる(!)

手順書は「ドキュメント」だけ・・?

→ SPHINX を使うと、運用で使える「シェルスクリプト」を一発生成できる。
→ また「索引」が自動生成されたりしてとっても良い感じ。
(個人的には Sandcastle と似たような感じのイメージ・・)

よく使われる例

→ API や環境、演算結果等はスクリプトで生成し、
人間が書かねばならないところ(設計意図など)だけを手で書いて
常に最新のドキュメントを簡単に生成できるようにする。自動化する。


まとめ

久しぶりの参加で面白かったです。

ただちょっと、雨上がりだったことを完全に忘れていてか
最後の方ちょっと気分が悪かったです。。体力回復してこう・・。

Windows 10 の更新が 45% 付近で中断されてしまう時の確認事項。


お疲れ様です。みむらです。

Windows 10 RS2 がリリースされました。皆さんはお使いでしょうか。
私はそのあとの Insider Preview で RS3 のブランチに移行しております。。

今回はそんなときに遭遇した Windows のビルド更新がうまくいかない人向けの話です。
RS1 (Anniversary Update) から RS2 (Creators Update) のアップデートでも嵌る可能性があります。


ところで、冒頭でも書いたような
仕事のメールを書くと必ず先頭に書く「お疲れ様です」というメッセージ。
あのプロトコルはどこから来ているんでしょうか。

英語のメールではあんまり見たことないけれど、
英語の “GoodDay!!” と書くあれに該当するのでしょうか。

それならカットできそうなそんな気がする。

かといって「業務最適化だ!」と言ってそういうところから削除し始めて、
削除に熱中になりすぎると、必要なことまで削ってしまい不安定になる。

昔の Windows 向けのレジストリクリーナーの結果と同じように、
消していいもの悪いものってのはある気がしますが、
どうしてそれがあって、それがどういう効果を生んでいるというのは考えてみると楽しそうです。


冗談はここまでにしておいて。


事象

Windows 10 のアップグレード / アップデートが45% ぐらいまで進んだあたりで勝手に再起動がかかり、「以前の Windows を復元しています…」というようなメッセージと共にアップデート前に戻るため完了できない。

またログ中には次のようなログが残ります。

MigApply caught exception: Win32Exception: Can't switch to requested user context: USER00000001.: 
システムに接続されたデバイスが機能していません。 [0x0000001F] int __cdecl Mig::CKnowledgeManager::Apply
(class Mig::CPlatform *,class Mig::CPlatform *,class Mig::CPlatform *,
class Mig::CUserMappingList *,class UnBCL::Hashtable *,
class Mig::CAgentManager *,struct IMigExecuteProgress *)[gle=0x00000003]

特に 自作ユーザでシステムはSSD, ユーザファイルはHDD (別ドライブ) というような
使い方をされている場合
、今回の事象を踏み抜く可能性が考えられます。

回避方法

下記の値をアップデート前にデフォルト値に戻す。
KEY : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
NAME : ProfilesDirectory
DEFAULT-VALUE : %SystemDrive%\Users

戻したのちに再度アップデートを試みるとうまくいくかと思います・・!

回避方法による副作用

新規ユーザ作成時に C:\Users 以下にファイルが作成されるようになります。
もちろん、アップグレード後に再度変更すれば問題ありません。

また既存ユーザは “ProfileImagePath” にて格納先が別途指定されているため
パスが変わることはありません。


取り急ぎー。なんとなく自作ユーザだとはまる人が多そう・・。
であであ!

“Zsh” on “Arch Linux” on “Windows 10”


どうもみむらです。

最近、Windows 10 の RS1 から “Windows Subsystem for Linux” という機能が乗りました。

早い話が Linux アプリケーションを Windows 10 上で動かせるようになりました、
というような機能でして、 “Bash on Ubuntu on Windows” とも呼ばれたりします。

ただ、私は “Bash” 派ではなく “Zsh” 派だったりして、
また “Ubuntu” 派でもなく “Arch Linux” 派だったりしますので、
ちょいとこの機能を使って、表題のようなことをしてみようかと。


余談ですが・・:

どういう風に Bash on Ubuntu on Windows が実現されているかと言うことですが、
ざっくり書くと Linux 環境で Windows アプリケーションを動かす “WineHQ” の逆操作のような
そんな感じです。

Wine が Windows API 呼出 → Linux システムコール として、動かせるようにしているように、
WSL ではその逆で Linux のシステムコール → Windows API 呼出 に変換して動かすような。

詳しいことはこの記事では触れませんが、
気になる方は Microsoft 社のブログ “Windows Subsystem for Linux Overview” をご参照ください
https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/

日本語ですと ASCII さんの “Windows Subsystem for Linux の中身を詳しく見る” がわかりやすいかと思います。
http://ascii.jp/elem/000/001/246/1246548/

 

また Windows は可能であれば Insider Build  (Fast) の方が対応しているシステムコールが多く
色々と楽しめるかと思います。

このあたりが気になる方は、リリースノートが公開されていますのでご確認ください。
https://msdn.microsoft.com/ja-jp/commandline/wsl/release_notes


Zsh on Arch Linux on Windows のつくりかた:

1. Windows 10 RS1 もしくは Insider Preview の環境を用意する。

(Windows のインストールの仕方は割愛します・・。)

Insider 版のビルドをダウンロードするには:


設定画面を開き「更新とセキュリティ」をクリック。

image

 

左ペインから「Windows Insider Program」を選択し、右ペインの「ファースト」を選択。
(初めての場合は「Insider Preview ビルドの開始」というボタンがあると思いますので、そちらをクリックします)

image

 

あとは Windows Update を実行することで、
運が良ければ直ぐ、悪ければ1日後に降ってくるようになります。
(Insider Preview ビルドを受け取れるようにするためにちょっと時間が掛かるそうです。)

 

 


2.開発者モードを有効にする

左ペインから「開発者向け」を選択し、右ペインの「開発者モード」を選択します。

image

 

 


3. Windows Subsystem for Linux (Beta) を有効化する

3.1. Windows キー + R  で「ファイル名を指定して実行」を表示し、
“appwiz.cpl” と入力して OK を押します。

image

 

3.2. 開いた画面の左側にある「Windows の機能の有効化または無効化」をクリック。

image

 

3.3. 「Windows Subsystem for Linux (Beta)」にチェックを入れて “OK” をクリック。
image

 

 


4. WSL 環境に “Arch Linux” を導入する。

こちらのサイトで公開されているスクリプトを実行して、インストールを行います。
https://github.com/alwsl/alwsl

 

4.1. 適当なフォルダに “alwsl.bat” をダウンロード。
image

 

4.2. コマンドプロンプトを立ち上げる。

何もないところで “SHIFT キー” を押しながら右クリックすると、
「コマンドプロンプトをここに開く」もしくは 「Power Shell ウインドウをここに開く」
というメニューが現れますので、こちらを利用すると楽かと思います。

image

 

4.3. インストール
( “alwsl.bat install” と入力することで、セットアップが実行されます)

image

 

4.4. “bash” と打って実行。

image

そのまま “root” の Arch Linux 環境に入ります。

 


5. 一般ユーザの設定

さすがに Root で使い続けるのはあまり気分が良くないので、
一般ユーザを作成して、最初はそのユーザになるようにします。

5.1. Root のパスワードを設定する。
→ そのまま passwd と入力して再設定を行ってください。

 

5.2. ユーザを作る
※bash コマンドで Linux 環境に入っていない方は ”bash” と入力して Linux 環境に入ってください。

5.2.1. useradd コマンドでユーザを作成します。
ex) useradd mimura1133

5.2.2. passwd コマンドでパスワードを設定します。
ex)  passwd mimura1133 → パスワードを求められるので入力、設定.

5.2.3 ホームディレクトリを Windows と同一にする。
→ “/mnt” 以下に Windows のドライブ名が並んでいますので
シンボリックリンクを張って、同一にしてしまいます。
ex)   ln –s /mnt/c/Users/mimura1133 /home/mimura1133


…纏めるとこんな感じのコマンドを入力していきます:

root@Satoshi:/mnt/e/temp# passwd
New password:
Retype new password:
passwd: password updated successfully

root@Satoshi:/mnt/e/temp# useradd mimura1133

root@Satoshi:/mnt/e/temp# passwd mimura1133
New password:
Retype new password:
passwd: password updated successfully

root@Satoshi:/mnt/e/temp# ln -s /mnt/c/Users/mimura1133 /home/mimura1133

root@Satoshi:/mnt/e/temp# ls -al /home/mimura1133
lrwxrwxrwx 1 root root 24 Mar  9 18:46 /home/mimura1133 -> /mnt/c/Users/mimura1133/

 

5.3. 起動時のユーザを設定

5.3.1. 一度 “exit” と入力して Linux 環境を抜けます

5.3.2. lxrun /setdefaultuser <5.2 で作ったユーザ名>  と入力。

image

 

5.4. 変わったことを確認。

そのまま “bash” と入力して、Linux 環境に入り、
ちゃんと一般ユーザでログインされていることを確認します。

 


6. Zsh の導入。

6.1. Zsh をインストール。
→ root に昇格後  “pacman –S zsh”

※もし失敗する場合は一度 “pacman –Syu” と入力して全体をアップデートしてみてください。

image

 

6.2. bash コマンドで Linux 環境に入っても “zsh” が立ち上がるように細工する。

私の場合は .bashrc に次のように書き込んでおきました:

/bin/zsh
exit 0;

とりあえずこれで、bash コマンドで起動しても zsh が起動し、
zsh の終了と共に Windows 環境に戻ってくるような感じになります。

 


最後に。

image

インストールするとこのような感じでスタートメニュー内に “archlinux” が追加されます。

またここから起動された端末は文字コードが “UTF-8” となっていますので、
何かと便利かな・・と・・!

image

 

また、Windows のコマンドプロンプト・端末周りも Windows 10 になってかなり良くなりまして

image

AA の nyancat もちゃんと表示される良い子になりました。

 

元から Windows, Arch Linux が大好きな人も、そうじゃない人も
もしよろしければお試し下さいー。

Windows 10 RS2 で ATOK が既定にならない場合。


どうもみむらです。

いつの間にか社会人2年目になっていたらしいのです。
とはいえ「年目」っていうカウントは難しいもので、諸説あるらしいです。よく知りませんが。。

最近はプライベートなPCよりもお仕事のPCを触っている時間が増えていて、
あんまり家のPCで楽しい事をする機会も減っているようなそんな気もしています。

家のPC は Windows 10 の Insider Build の Fast を使っていまして、
マイクロソフト社のなかのひとに「リスキーだなぁ・・」とあきれられそうですが
そういうリスクってのも、プライベート環境ならではの楽しみということで楽しんでいます。

 

ところで、最近の Windows 10 のビルドとジャストシステムさんの ATOK を組み合わせますと、
どうも再起動後に Microsoft IME になったり、英語になったりするようになりました。

加えてキーボードの欄を見てみますと “ATOK” と出ずに、
何も名前がない IME として出てきたりするようにもなりました。

もちろん、この問題に関してはマイクロソフト社さん側でも認識しているようですが
取り急ぎこの問題を解決する方法ということで。

 


解決方法:

やることとしましては、 “Display Description” を追加することで治ります。

追加するもの:

キー名 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{6DBFD8F4-701D-11E6-920F-782BCBA6348F}\LanguageProfile\0x00000411\{6DBFD8F5-701D-11E6-920F-782BCBA6348F}
値名 Display Description
種類 REG_SZ
ATOK 2017

 

Before:

image

After:

image

 

設定完了後、再起動すると

image

このような形で正常に “ATOK 2017” が現れるようになります。
あとはこれを既定にするなり、なんなり。

もちろんこれで、再起動後に “ENG” が既定になったり “Microsoft IME” が既定になったり
という問題も解消されて、ちゃんと ATOK が既定になるようになります。


ところでどうでもいいですが、

image

Microsoft IME 側の当該のレジストリ情報を見てみますと、
ProfileFlags とか Enable とか、他にもパラメータがあるんじゃないかというような
そんな感じのわくわく感がしますが、実際どうなんでしょう・・w

 

ということで、参考まで・・。

Windows 10 で “0x80070002” と出て bash が立ち上がらない場合.


どうもみむらです
なんだかんだで社会人です。そんなもんですかね。

Bash on Ubuntu on Windows が出て久しくなりました。
コントロールパネルでは Linux Subsystem なんて書いてあります。

ただ、一端その Linux の環境が調子悪くなり
ファイルを消せばなんとかなるだろ! と試したために、
コントロールパネルから入れ直しても動かなくなってしまうこと、よくありますよね。

私も見事にそれをやらかして、インターネットをさまよっていた際に解放を見つけましたので
情報共有と、将来の自分に関してのメモということで記述しておきます:


基本的には Linux Subsystem 部分をそっくりインストールし治します。

1. Linux Subsystem を削除

コマンドプロンプトで次のコマンドを実行します:
lxrun /uninstall /full

2. Linux Subsystem をインストール

コマンドプロンプトで次のコマンドを実行します:
lxrun /install


手順としてはこれだけです。
自分で %APPDATA% 内の LXSS に関係するフォルダを削除したりすると
直ぐにこのエラーに遭遇したりして、使えなくなったりします。(やらかしました)

また一度発生すると、コントロールパネルから「追加」と「削除」を繰り返しても
状況は改善しないのですが、
その場合でも、上記の方法で改善できる可能性があります。

 

ということで参考までにメモ。

REF : http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_install/problems-reinstalling-bash-on-ubuntu-on-windows/bb32e0a5-e711-410b-b28b-ebc561d5b4d8?auth=1