from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

RSA暗号に対する攻撃逆引きメモ(common modules attack,common factor attack,fermar法等)

いい加減いちいち探すのだるいのでそれぞれの攻撃手法と説明、および複合スクリプトの場所メモっておく

openssl編

opensslで証明書を見るとmodulesが16進数:区切りになっているのでプログラムで使えない・・・

-moduleオプションを使う。

openssl x509 -in kei.cer -inform der -text -modulus

                Exponent: 655
    Signature Algorithm: sha1
         7b:19:09:cf:13:cd:9d
         b9:41:80:f1:4f:45:c0
         00:c5:ae:37:5c:8a:8b
         e0:28:94:b3:0f:53:d8
         6e:43:93:3a:59:19:71
         9b:5f:ce:4c:b3:31:43
         b3:bc:6f:64:8f:28:a4
         5d:ec:15:db:c9:2d:8f
         4c:89:9f:e0:6f:97:0f
         71:18:c1:b9:eb:ae:91
         70:44:2e:39:51:73:ad
         e6:c3:43:af:a5:dc:aa
         b6:55:39:f1:45:94:1d
         a5:98:ca:3f:d7:08:31
         06:ad:e9:9a         
Modulus=A4DAAD49EAE0B5C59DA04
A19636777A7747E06AD84496C9C61
292F43270FFDA757C17AAA797FF9F
889ED4E459590B7D742D2837C1C48
23021ADF3B6D8BE24903B76EFFC93

下のmodulusがhexになってるからそれをgrepしてtxtに放り込む

秘密鍵からpemを作る

ius/rsatoolでrsatool.py -f PEM -o e-corp.pem -p ... -q ... -e 31337秘密鍵を作る

んでWiresharkに投げる

証明書無しでdとeがわかってnがわからないとき

名前なしattack

hxxp://elliptic-shiho。hatenablog。com/entry/2015/12/14/043745

1つの証明書でnの素数であるpqが近似している場合

フェルマー法(fermat raw)を使う。

hxxp://sonickun。hatenablog。com/entry/2016/03/23/220652

1つの証明書でpqのどちらかの値がくっそ小さい時

試し割2

hxxp://sonickun。hatenablog。com/entry/2016/03/23/220652

1つの証明書でeがクソデカい時

wiener攻撃

hxxp://sonickun。hatenablog。com/entry/2016/03/23/220652

2つの証明書A,Bがありそれらのmodulus Am(n1)およびBm(n2)が共通の素数qを持っている(q1==q2)場合

つまりこういうことq1(X) p1(Y) q2(X) p2(Z) q1==q2

Common Factor Attacksやユークリッドの互除法を使う

というかcommon factor attackはrsa暗号の攻撃名ではなくて数学の定義。

q1p1 q2p2でq1とq2が同じときqはn1とn2の最大公約数である。

んで最大公約数といえばユークリッドの互除法。ということでこの2つはセット。

hxxp://inaz2。hatenablog。com/entry/2016/01/09/032344

2つの証明書A,Bと暗号文c1,c2があるときでなおかつmodulusが同じとき

common modulus attack

hxxp://elliptic-shiho。hatenablog。com/entry/2015/12/14/043745

modulusが単純に小さい場合(100bitくらいまで)

試しわり、もしくはPollard-Rhoアルゴリズム + Miller-Rabin素数判定法

hxxp://inaz2。hatenablog。com/entry/2016/01/09/032344

おまけ(最大公約数と最小公倍数)

いちいち覚えてねぇよ 最大公約数・最小公倍数の求め方【小学生算数指導にも役立ちます!】|塾講師ステーション情報局

因数と約数は同じ、素因数が同じでも元の数n1とn2ができることがある

怪しいところがない場合は各種素数分解アルゴリズムを試すとよい

最強☆BoW大作戦! 其の壱:シェル及びプロンプトの改造

デフォルトをzshにする

notepad $profile

以下を打ち込む

function zsh {
bash -c zsh
}

これでpsでbashコマンドの代わりにzshコマンドを使えばおk

次にzshrcの中身ですがとりあえず30分くらいで作ったzshrcがなかなか出来が良かったのでzsh環境はこれでいいや。

gist.github.com

\~/.zshrcに張り付けて終わり

PSのシェルの変更

だいぶ作りこんだ

gist.github.com

remote-signedは忘れずに。

主な機能としては、 * PWDを出す、さらに短縮機能あり * 顔文字による前回のコマンドのステータス確認 * 危ないフォルダ(system32やprogram files)だとwarningとかcautionとか出すことによるミス回避 * ホスト名表示 * PSからそのままbashzshへ行けるので事故回避のためにPSと追加 * ファイルのアクセス権限を確認してターミナル文字列切り替え

いい感じでは????

次に背景とか透明とかだが、

powershell.exeの仕様上背景画像を変更することはできない

ということで他のターミナルを使おう。(そもそも複数タブ開けない時点でゴミ!w) conemuとか便利。cmdやps特有のクリップボートが使えない糞みたいな問題が解決する(それでもwin10はwin7時代と比べてだいぶ進化はしてるけど)

choco install conemu

結果

たーのしー!!!背景はteratermから適当に持ってきただけだからダサいとか言うなよ!

f:id:lv7777:20170917154142p:plain

harmlessでワブルっぽい音出すやつ

正確にはワブルではなくて単音でワブルっぽい音を出す。

零ファイター by CELLON. | Free Listening on SoundCloud

10秒くらいのデュワァーって音。イントロ小節の最後に必ずなるやつ。

  1. harmlessを開く。amtを最大にしてまず音を出す。

  2. filterをsnake low passにする。snake low passはharmless特有でだんだんとlow passをかける感じ。

freqでlow passがかかるスピードを変更。

c3とかd3あたりが一番それっぽい音が鳴る。範囲狭いな・・・

  1. コーラスをthickにする。例題の曲の場合はthickだけど他でも全然使える。

めちゃ簡単にできる。demoのsky surferとかのワブルも参考に。

fortigateでintrusion preventionを使って不審な通信をキャプチャする

1 セキュリティプロファイル→侵入防御→IPSシグネチャ表示に入って新規IPSセンサーを作成

IPSセンサーはシグネチャとactionのセット(パターン)を複数まとめたプロファイルのようなもの。

右上の+から設定できる。

f:id:lv7777:20170829125021p:plain

新しくシグネチャを作成する場合は右上のIPSシグネチャ表示からcreate newで作成できる。

2 シグネチャを選ぶ。

フィルターベースというのは攻撃対象(clientやserver)、OS、攻撃の影響度によって選べる。もう少し細かく増えてくれると嬉しい。

P.S.高度を選ぶとプロトコルレベルやサーバー単位で選べた。良い

シグネチャベースだと個々(xssやsqli)などのシグネチャを選べる。

ここでアクションの下のパケットロギングのチェックを入れておくと攻撃検知時のパケットがキャプチャできる。便利。

レートベースシグネチャについて

一つの通信による攻撃じゃなくて複数の通信ログから攻撃として検知するようなやつ。dosとか。

これらに関しては検知するだけでもリソースを食うので(予想)アクションのほかに検知するかどうかを設定する事が出来る。

httpでF5とかだとよさげなレートベースシグネチャが無いのでsshとかで閾値を下げると良さ。

sshブルートフォースが検知されてブロックされると同じ端末からのhttpのアクセスもブロックされる

PS. プロトコル単位でのブルートフォースの制限なら、ポリシー&オブジェクト→ポリシー→Dosのほうがよさそう。

プロトコルレベルやIPアドレスレベルの指定が出来る。

こんな感じの画面になる。

f:id:lv7777:20170829151414p:plain

3 ポリシーにIPSを適用する。

IPSはポリシー単位で設定する事が出来る。ただしactionをallowにする必要がある。 ポリシー&オブジェクト→ポリシー→IPv4からポリシーを選択、セキュリティプロファイルのIPSをオンにする.

IPSで検知した場合、ログ&レポートのトラフィックログやセキュリティログに記録される。セキュリティログで攻撃だったログのIDを調べてトラフィックログのアーカイブを選ぶと攻撃だった通信のpcapファイルが見れる。

くそ便利。楽しい。

f:id:lv7777:20170829145110p:plain

ローカルレポートについて

ログレポート→ログ設定→ローカルレポートを有効にチェックを入れることでpdf形式のサマリーがfortigate内に自動で作られて溜まっていく。

時間帯別の帯域幅VPNの利用、プロトコル別通信、attackなどが見れる。cpu usageとかは見れない。

レポートから確認出来る。

f:id:lv7777:20170829144959p:plain

インターンで使ったnmap,sqlmapの知見

nmap

  • -sCが強い

  • sI(idle scan)もめちゃくちゃ強い

  • oSとか楽しい。the H4cK3rという感じ

nmap、めちゃくちゃ深い。FTPバウンスみたいにゾンビを使ったスキャンもあるし。ポート以外のスキャン(ftpや0番ポートのスキャン(icmp,igmp))もたくさんある。

sUは管理者権限が必要っぽい。

sqlmap

  • sqliteではOS-inject系は使えない。あのへんのオプション使うには違うDBMSが必要

  • winのレジスターとかのオプションもある。

  • tor経由で攻撃することも出来る

  • burp経由の-rオプションでは出来ないsqliもurlと--data指定でいけた(いままで全部-rオプションで成功していたのでこんな場合があるのは始めて知った)

ほかにもamitageとか触った。kaliの場合はposgre起動してdbrms initてきなことをすれば起動する。

ホスト登録してスキャンかけたりfindしたり。

ちょっと重いのが難点か。

セキュキャン 2017 NOCチューター 応募用紙

昨日までseccamp2017でnocチューターをしてきた。

チューターの応募用紙ってほとんど無いな~と思って公開してみる。

ちなみにNOCチューターは今年始めての取り組み。なので私が始めてというワケ。

NOCチューターへの応募は他にも数人いたがの応募用紙の中では「ティンときた」のは私一人だけだったらしい。

自分よりNWや機器の知識あって適任なチューターは他にもたくさんいると思うんだけどなぁ(実際チューターと雑談してるときにNOCやりたかったって子は数名いた)

経験重視っぽいのでNW構築経験とか自宅NWでやったこととか持ってる機器とか書いておくといいのかもね。

簡単に今までの経験を話すとNWは2年前から興味を持ち始めた。本格的に始めたのは去年のちょうどseccamp参加後。 JANOG40に行ったりihanetでBGP張って遊んだり自宅ラックしたり。あとは会社でNW設計したり。まだまだ初心者の域ですね。

感想はこの後の記事で書こうかと思います。


質問事項

サポートすることのできるトラックや講義名を教えてください(複数回答可)。ただし、希望と異なるトラックや講義の担当となる場合もあります。

回答:

NOCチューター

私は自宅でサーバーやルーターやファイアーウォールを複数所持しており、キャンプ中のネットワークの運用を支えることが出来ます。また、それ らのNW機器の貸出も出来ます。 具体的に触れる機器は以下となります。

  • cisco 1812J
  • mikrotik routerboard
  • yamaha 1100 *2
  • fortinet fortigate60C
  • fortinet fortigate40C

業務でネットワークの設計から構築まで実際にした経験があるのでお役に立てるのではないかなと思っています。

B3 PF_PACKETで仮想IP環境を自作してパケットの理解を深めよう

上記のとおり私はNWが好きでネットワークプログラミングもよくやってます。 例えばDHCPサーバーの実装やルーターの実装もしています。 DHCPサーバーはjsで作りルーターc言語で書いています。ルーターのほうは実装が終わり動くようになったらc++に移植してDHCPサーバーをトラ ンスパイルしてc++に落としてきてDHCP機能のあるルーターにしたいと思っています。(OSC kyotoで出展します)

PS. 仕事とかぶって出展出来ませんでした・・・すまん・・・すまん・・・

C3 Vulsを用いた脆弱性ハンドリングとハッカソン

vulsは去年から使っており、自分が出したissueのkali linux対応の時には講師のkotakanbeさんと一緒にvulsのslackやgithubでやりとりしました。 vulsにドキュメントの追加のpullreqを出したり上記のkali linux対応のissueを出したときにはvulsを一緒に開発しました。 また、OSSが好きで今までいろいろなOSSを触って来たので後半でのハッカソンのお手伝いも出来ると考えています。 普通のプログラミング言語を普通に読み書きすることが出来ます。

ブラウザの脆弱性とそのインパク

ブラウザの内部構造が好きでfirefoxchromiumのissue listや日々のコミットを日課として仕事が始まる前に見ています。 また、webサイト(http://wiki.nicotech.jp/nico_tech/)にあるXSSを見つけたり、業務の中で自社の製品のXSSセッションハイジャックを見つけました。 「攻撃者の観点」という点ではMBSDサイバーセキュリティコンテストという脆弱なwebアプリが渡されてそこに攻撃を仕掛けるタイプのコンテストで入賞は出来ませんでしたが80校弱の専門学校から本選(10校)に出場したりもしました。 https://docs.google.com/document/d/1QQXx_dx3G_7LtrUqrw2J2GkUbIFk03XH2QI5TvfCixI/edit?usp=sharing またCTFも去年からちょこちょこやっています。チームはHarekazeやCTF wo susuなどです。(といってもまだまだ弱いですが。) 一番好きな脆弱性XSSです!

チューターの役割(1講義のサポート、2参加者のフォロー、3運営のサポート、4成果報告プレゼンテーション)のそれぞれの観点において、ご自身の可能な貢献とその裏付けとなるご自身の実績について、教えてください。

回答:

  • 講義の サポート

それぞれの講義のサポートで出来ることについては回答1をご覧ください。その他できることがあったらなんでもやるつもりです(講義のスライドを事前に見て分かり辛い所がないか確認する等)

  • 参加者のフォロー

セキュリティキャンプで講義に付いていく為には事前課題をしっかりと行うことが大事だししっかりと事前課題をやってくることで講義も楽しめると思っています。私はtwitterをやっているので参加者の人たちと積極的にコミュニケーションを取って去年参加した時と同じようにしてあげたいと思います。 また、いろいろな勉強会に行って懇親会で話したりしているのでコミュニケーション力もあると思います。会社でも新卒リーダーとして技術リーダーから与えられた仕事を納期までに終わらせるように適切に同期の様子を見て仕事量や得意な仕事を割り振ったりしているのでこの点でも参加者のフォローに役立つのではないかと考えています。

  • 運営のサポート

セキュリティキャンプフォーラムでは運営スタッフをしました。その点を生かして会場では部屋を間違え無いように参加者を案内したり、去年のセ キュリティキャンプのように水を配ったりして参加者の体調や様子を気遣うことが出来ると思います。 イベントでは不測の事態が付き物だと思うのでそういった点でも対処ができるようにホウレンソウをしっかりしたり、時には自分の判断を行うことが出来るのは社会人ならではだと思っています。 ネットワーク設計、設営、構築、運用については一番貢献出来る部分だと思っています。すべて経験があり、zabixやhinemos、そして弊社製品であるLogStareCollector、LogStareなどを使って稼働監視も出来ます。 また、FWの中でもfortigateやpaloaltoは普段から業務で使っており、そのNWに適切なconfig、適切なOSのバージョン等に関するチューニングの知識があります。操作出来るNW機器については回答1をご参照下さい。

  • 成果報告プレゼンテーション

成果報告プレゼンテーションではもし選ばれたら「セキュリティの会社って何やってるの?\~入社から半年が経って\~」という内容で当社でやっているセキュリティ業務や入社して半年経った感想について話して見ようかなと思っています。(会社からの許可はもらうつもりです) 具体的にはセキュリティインシデントが起こったときにやること(インシデントレスポンスやセキュリティログを使った分析)やFW等のセキュリ ティ機器を導入するときどういった観点で導入するのかを話そうと思います

_____________

以上。

大口叩いておいて全然貢献出来なかった感あるのですいません・・・

kaliにxrdpを入れる、esxi6.0にowaspbwaを入れる

kali

kaliは2017.1

apt-get update && apt-get upgrade

apt-get install vnc4server

apt-get install xrdp

ここまで終わったら/etc/groupを開いてxrdpグループにrootを追加した後反映させる(grpconv)

そしたらwinからxrdpする

なんかreactみたいなマークのログイン画面出てくるはず(水色)

sessionはxvncを選ぶ。

そしたら普通に繋げるはず。終わり!w

これが出来るまで12時間+12時間で24時間かかった・・・めちゃくちゃ辛かった・・・

owaspbwa esxi6.0

OWASPBWAをESX(i)にデプロイ | 勉強の軌跡とか。。

こり!w

ovaファイルはtar形式になっている。linux環境ならzオプション無しの展開で展開できる。

展開した後、ovfを書き換えて再度圧縮。

tar cvf owaspbwa.ova OWASP_Broken_Web_Apps_VM_1.2.ovf OWASP_Broken_Web_Apps_VM_1.2.mf OWASP_Broken_Web_Apps_VM_1.2-disk1.vmdk

注意する点としてはこの順番(ovf,mf,vmdk)じゃないと受け付けてくれない。

こっちもかなり時間掛かった。。。つらい。

かなりいろいろいじったのでesxiがいろいろ分かった。 esxiでsshする方法(構成->セキュリティプロファイル)やovfテンプレートでovaもデプロイできることが分かった。