***** update2*****

1点訂正があります。
以前CVE-2021-24085も組み合わせて使われると書いていたのですが、
CVE-2021-24085のパッチを適用後もCVE-2021-27065によるバックドア設置が可能であることを確認したため、
msExchEcpCanaryはCVE-2021-26855(SSRFの脆弱性)によって取得していると思われます。
PoCコードからも、そのように読み取れますね。
失礼しました。。

***** update*****

Exchange Serverのsystem権限を取れるRCEの攻撃コードが見つかったようです。

(各Exchangeで使われている)有効なメールアドレスの情報が1つあれば、exploit可能なようです。

Metasploitにモジュールが組み込まれたとの情報もあるため、特にインターネットからExchangeのHTTPSサーバがアクセス可能な場合は、注意が必要な状況かと思います。

また追加情報があれば、アップデートします

********************

具体的には、以下の脆弱性を組み合わせて悪用することで、Exchange Serverにバックドアを置いてリモート制御することが可能になるとのこと。

CVE-2021-26855(SSRFの脆弱性),

CVE-2021-27065(任意のファイル書き込みの脆弱性)

これらの攻撃は全て、Webメールなどを提供しているexchange server443ポート宛に行われます。

CVE-2021-26855は、それらの脆弱性単体で何かサーバに影響を与えるというよりは、CVE-2021-26855のファイル書き込みに必要なトークンやcookieなどを入手するために使われるものと思われます。

攻撃手法についてこちらの記事が詳しいので、興味がある方は読んでみるといいと思います。

検知の観点では、これらに記載の通り、攻撃を受けると特徴的なパスやクエリを使ったリクエストが送られ、公開ディレクトリにwebshellが置かれます。

また、VirtualDirectoryの設定(InternalUrl ExternalUrl )不正に書き換えられるため、設定が正しいかを確認することが手掛かりとなりそうです。

まずは、自組織のExchange Serverの443ポートがインターネットからアクセス可能な状態になっていないか確認するのが良さそうです。

外に開いていなくとも、組織内での侵害(横展開)に悪用される可能性はあると思います。

ちなみに、SSRFって少し分かりづらいと思うのですが、超概要についてはこちらを読んでみてください。

CVE-2021-26855のSSRFは、exchangeHTTPサーバがKerberosを介してIISなどのバックエンドサーバーに対して認証を行う処理を悪用して、攻撃者がexchangeサーバになりすますことができるという内容だそうです。

自粛で動きづらいこともあり、今週末はお家にこもってカタカタしてました。

普段、休みの日に作業する時はダラダラしてしまうのですが、珍しく集中しましたね(笑)

そんな中、分かったことの備忘録諸々。全然違う話題が集まっていますが、気にしないでくださいw

・CVE-2020-25684(DNSpooq)

DnsmasqというDNSソフトウエアの脆弱性のホワイトペーパーが出ていることを同僚から教えてもらいました。

ちなみに、Dnsmasqってそんなに使われていないと思いますし、脅威度の高いものではないと思うのですが、内容が興味深かったので書いているだけです。

理論的には(RFCに基づいた実装をしている場合)、攻撃者がキャッシュポイズニングをするためには、TXID(クエリ紐づくユニークなID)とソースポートのランダム化の組み合わせを推測する必要がある。

しかし、Dnsmasqは、上位DNSサーバからの応答を受け入れる際にTXIDとソースポートの組み合わせを検証しないので、攻撃者はキャッシュポイズニングをするための試行回数が減ってハードルが下がってしまうという内容です。これはDnsmasqが転送に使用されるソケットは64個に制限し、1つのポート上で複数のTXIDを多重処理していることが原因だそう。

逆にいうと、ポートに関しては、(64/全ポート数)の確率で当たってしまうということですね。

上記ホワイトペーパーにランダムさのエントロピーの式が書いてあって、私は最初なぜそんな式になるのかが全然理解できず、数学に強い同僚に、エントロピーは確率の逆数になるからだと説明してもらい、やっと腑に落ちました。

○十年振りに、順列と組み合わせとかを真面目に考えました(結果的にはそんな複雑なこと考えなくても良かったんですけどねw)

・Splunkのフィールドエイリアス

最近、仕事の関連で今更ながらSplunkを勉強し始めました。

Splunkにはログ項目から抽出したフィールドに別名(エイリアス)を付ける機能があります。

エイリアスを使うと、異なる機器から収集したログがバラバラのフィールド名でも、統一したエイリアスをつけてあげることで、

フィールド名の違いを意識せずに統一的に検索できるようになります。

エイリアスの設定は、何故かSplunk画面からの設定ではうまくいかず、prop.confという設定ファイルを編集する方法ならうまくいきました。

ちょっとハマったので、ご参考になれば幸いです。

・pythonのrequestsモジュールで複雑なjsonデータをPOSTしたい時

シンプルなjsonデータなら、変数にjsonデータを文字列として入れて、requests.post()のdataパラメータとして渡すだけで十分なのですが、

入れ子になったような複雑なjsonデータを送りたい時は、プログラムに直接記載する方法ではうまくいかないことがあります

(特殊文字のエスケープやエンコードをちゃんとやればいけるのかもしれないですが。。)

そんな時は、jsonデータを別ファイルとして保存して、json.load()で保存したjsonをロード後、エンコードするとうまくいくかもしれません(以下のような感じ)。

json_open = open('message.json', 'r')
data = json.load(json_open)
param=json.dumps(data).encode("utf-8")


今週は残タスクがたくさんあって、今日は土曜日ですが数時間働きました。

PCを触らない休日はあまりないのですが(笑)、会社に申請を出して正式に休日に働いたのは久しぶりですね。

とはいえ、今日は短時間で集中できてとても良い日でした。

出航復帰し、最近は実ログを眺めることが増えたのですが、今日はプロキシサーバ製品であるiFilterを触っていました。

プロキシサーバのアクセスログに通信元端末のIPアドレスが記録されることは言うまでもないと思いますが、iFilterでは通信元端末のホスト名も残すことができるんですね。

デフォルトでは記録されなくて、以下の設定が必要でした。

・iFilterの"DNS逆引き"機能をONにすること

・iFilterがインストールされているサーバからクライアント端末のホスト名を逆引きできること

 (私の検証環境では、iFilterがインストールされているサーバのDNSリゾルバの設定に端末の名前解決ができるDNSサーバを追加)

小さなことの様ですが、DHCPでIPが頻繁に変わってしまうような環境でもプロキシのログだけで通信元端末を特定できるので、実は便利だなぁと思います。

Stay homeな休日

gamzatti
Vote 0 Votes

再び自粛モードになりましたが、皆さんはどんなふうに休日を過ごされているのでしょうか。
ご家庭を持っている方は家族サービスに忙しいかもしれませんね。
私は子供がいないので、比較的自由で時間もあります。
基本、出て行くのが好きで、コロナになる前はほとんど家にいませんでした。
一人で目的なく、ふらりと出かけることも多かったですね。
最近は、目的のない外出はしなくなり、家にいることが増えました。

私のstay homeな休日はざっくりこんな感じです。
朝型なので、7時頃起床
朝ヨガに行く
帰宅後、残っている研究や仕事を片付ける
遅めのお昼を食べて、お昼寝笑(朝ヨガの疲れと満腹感で必ず眠くなります。。。)
超早で家事や掃除を片付ける(家事は苦手なので1分でも早く片付けたい)
散歩&買い物
最近買ったリングフィットアドベンチャーをやる(結構いい運動になります)
残っている研究や仕事を片付ける
夜ご飯
お風呂に入って、ストレッチ
映画鑑賞や読書しながら、夜のおやつタイム
23時台に就寝

私は空腹時が一番集中できるので、基本食事前の1時間くらいでタスク系を片付けるようにしてます。
後、あまり無駄な時間を過ごさないようには気をつけていますね。
時々、疲れていたり、気分的な問題で無気力な時もあるのですが、そんな時は早朝から無理矢理にでもヨガに行くことで、スイッチを入れるようにしてます。

ちなみに無駄って、何を無駄と思うかは人それぞれなので、"無駄なことして。。"などと他人から言われても全く気にしなくてもいいと思います。

振り返って、自分自身が無駄な時間を過ごしてしまったなぁ。。と後悔さえしなければ、どんな時間の使い方をしても良いと思うんですよね。

例えば1日ゲームしてても、自身がリフレッシュできたなら、それは決して無駄ではないと思うので。

自粛で外出の機会や人との関わり合いが減っても、刺激がある生活を送って、いつまでも若々しくいたいものです。

少し前に公開された情報なのですが、最近調査する機会がありましたのでまとめておきます。
顧客管理システムのクラウドサービスSalesforceの設定が適切に行われていない場合、
インターネットから認証されていない第三者がサービス内部で使っているデータを取得できるという内容です。
攻撃手法などは本記事に詳細に書かれています。
検証してみたい方は、この記事のステップ通りにやれば、サインアップすれば無料版のSalesforceで検証できます。

詳細は上記記事を見ていただければと思いますが、問題を再現させるためには以下が必要です。

・サイトを作成すること(最初の状態では作成されていない)
 なお、サイトには、Force.comサイトと呼ばれるものと、コミュニティサイトと呼ばれるものがあるみたいです。
 記事の通りにやると、コミュニティサイトができます。

・カスタムオブジェクトを作成し、サイトのゲストユーザーのプロファイル設定で、オブジェクトに対する参照権限を与えること
 オブジェクトは、データを入れる箱のようなもので、最初からある標準オブジェクトとユーザが作成するカスタムオブジェクトと
 呼ばれるものがあります。少なくとも私が使用した際は(最近)、標準オブジェクトには参照権限が無かったので、カスタムオブジェクトを作成しました。

・Force.comサイトの場合、ゲストユーザのLightning という設定項目がオンになっていること。
 この機能をオンにすると、画面からはアクセスできない本来非公開のWeb APIでアクセスできるようになります。
 コミュニティサイトでは、この機能を切り替える設定項目が見当たりませんでしたが、APIにアクセスすることは可能なので、
 おそらくonになっているのでしょう。

最近、脆弱性の検証といえば、Windows系しかやっていなかったので、久しぶりにBurpを触りました^^;

後、本題からはだいぶ逸れますが、Active Directoryって、ユーザ名の全角と半角が区別されないのですね。。。最近知りました。
全角のユーザが作れること自体が衝撃的でしたが、更に区別もされない(半角でも認証が通る)とは。。

逆も然りです。半角でユーザを作ったとしても、クライアント側で全角でユーザ名を入力すると普通に通りました。。
何年ITやっていても、身近で知らないことって色々あるのだなぁと。

Yoga -advanced pose-

gamzatti
Vote 0 Votes

明けましておめでとうございます。

ステイホームお正月で暇なので、新年早々、ヨガをやってみました。

ヨガも実に様々なポーズ(アーサナ)があるのですが、私が個人的に好きな(美しいと思う)アーサナを幾つか紹介したいと思います。

どこのヨガ教室に行っても習うようなベーシックなアーサナもあれば、それらを少し発展(アレンジ)したようなアーサナも実はたくさんあります。

慣れてきたら、自分がやりやすい、気持ちいい、見た目が綺麗などと思うように、少しアーサナをアレンジしてみても楽しいと思います。

(時々先生によっては型破りなポーズをすると、注意されることもありますが笑)

左:三角のポーズ(トリコナアーサナ)の変形版です。通常の三角のポーズでは、前足の方に倒れますが、こちらのアーサナでは後方に反ります。内臓が活性化しますよ。

中:いわゆる前後開脚と呼ばれるポーズで、ヨガでは"ハヌマーン"と呼ばれます。柔軟性さえあればできるので、実はあまり難しくないですし、筋肉も使わないです。

下:半月のポーズ(アルダチャンドラアサナ)と呼ばれ、通常は後ろの脚は90度くらいまでしか上げないですが、私はこのように高く上げた方が綺麗だなと個人的に思います。やってみるとわかりますが、上よりも下の足の裏側に効きます。

reverse.JPGzengo.jpghangetu.jpg

左・中:片足を上げたサイドプランクのポーズ(エーカパーダヴァシシュターサナ)と呼ばれて、横向きのプランクから片足をアップします。足を持つのが難しければ、少し上げるだけでも効果があります。

下:スタンディングスプリット(ウルドヴァプラサリータエーカパーダーサナ)と呼ばれ、立った状態の前後開脚です。(私もまだ綺麗に180度になってないので、今後の目標ですw)

side1.jpgside2.jpgstand.jpg

上:弓のポーズ(ダヌーラーサナ)と呼ばれ、背筋強化&腰痛防止に効きます。

中:片足のブリッジなのですが、アーサナとしての名前がわかりませんでした。ブリッジもいきなりやると腰を痛めてしまうことがあるので、先ずはハーフブリッジなどからやるのがおすすめです。

下:鳩の王様のポーズ(エーカ・パーダ・ラジャ・カポタ・アーサナ)と呼ばれるポーズで、背中、腰の柔軟性と、肩周りの柔軟性が必要です。鳩のポーズにもベーシックなものから色んなバリエーションがあり、その一番発展系とされているのがこのポーズです。これが出来るようになるまでは、それなりに時間がかかりました。

yurikago.JPGbridge.jpghato.jpg

年齢に負けずに、いつまでもしなやかな身体をキープしたいものです^^

2020年ももう終わりということで、今年習得したアームバランスのバリエーションを紹介します。

普通のヨガじゃ物足りないという方や、筋トレはあまり好きじゃないという方にもお勧めです。

アームバランスは腕の力がないと難しいイメージがありますが、実は腕の力はそんなに使わなくとも、体重移動を色々してみて、バランスが取れるところをうまく探せればできます。

むしろ、コアを鍛えたい場合は、腕の力は使わない方が良いくらいです。

一言でアームバランスと言っても、実は結構いろんなバリエーションがあります。

難易度は個人差はあると思いますが、私が習得に時間がかかったものから、左上から右下に並べてみました。

やり方の詳細はこちらのサイトによくまとまっています。

初級編:

左:一番ベーシックなアームバランスで、天秤のポーズ(トーラーサナ)と呼ばれるもの。蓮華座が組んで、脚を引き上げれば比較的簡単に浮きます

中:サイドクロウと呼ばれるポーズで、私は右の鶴のポーズよりこちらの方がやり易かったです。太ももを思い切り両肘に乗せるのがポイント。初めは膝は曲がっていてもOK

下:こちらも有名なアームバランスで、鶴のポーズ(バカーサナ)と呼ばれます。怖がらずに思い切り体重を前に載せて、脚の付け根を引き込むと自然に脚が上がります

1tenbin.jpg2side.jpg3turu.jpg

中級編:

左:ベビーバカーサナと呼ばれる、肘をついた鶴のポーズなのですが、これが意外とキツイ。普通の鶴のポーズよりやりづらい人も多いみたいです。

中:ホタルのポーズ(ティッティバーサナ)と呼ばれるものです。子供がよくやっていますね。両肩にしっかりもも裏を乗せて床をプッシュ。

下:サイドクロウからこめかみを床に降ろし、上の脚を高く上げていきます。江頭がよく取ってるポーズって実はこれ?(笑)

4baby.jpg5hotaru.jpg6side-henkei.jpg

上級編:ここからのポーズは体が柔らかくないと痛めてしまう可能性もあるので、先ずはストレッチから。

左:パドママユラーサナ(蓮華座を組んだ孔雀のポーズ)と呼ばれるポーズ。蓮華座を組んで逆手にし、肘の内側にみぞおちを差し込んでアップ。内臓の活性化におすすめ。

中:名前が分からないのですが鶴のポーズの変形版で、立ち木のポーズから両手を床について行う鶴のポーズです。股関節の柔軟性がないと難しいかもしれません。

下:賢人カウンディニャに捧げるポーズ (エーカパーダカウンディニャーサナ)と呼ばれすポーズで、曲げた片足とみぞおちを二の腕に乗せてバランスを取ります。意外なことに、上の脚は高い方が楽なので、鍛えたい場合は、上の脚はなるべく低くキープ。

7kujyaku.jpg9turu-henkei.jpg10kenja.jpg

左:横向きの鶴のポーズ(パールシュヴァバカーサナ)と呼ばれ、その名の通り、前ではなく、横向きに体重をかけて鶴のポーズを行います。腕をしっかり曲げて、身体を低くするとやりやすいです。

右:八曲がりのポーズ(アシュタヴァクラーサナ)。上の脚を肩に担いだ状態からスタートします。こちらも腕をしっかり曲げて、身体を低くするのがポイント。

8yoko.jpg11_8.jpg

どのポーズでも、ポイントは同じかもしれません。

・無理に手で浮こうとせずに、体重移動で自然に浮くまで待つ

・腕全体で床をしっかり押す

・脚の付け根を引き込む

・顔は下げずにしっかり前方を見る

2020年も終わり。

gamzatti
Vote 0 Votes

2020年もあと数日で終わり。
コロナで特異な年ではあったものの、全体を振り返ると、良い1年だったかなと。

・個人的には何と言っても、2本目のジャーナル論文が出せたことが嬉しかったです!

・ライフイベントとして大きかった点は、7月に自社に出向復帰したことですね。何しろ、5年間自社に戻っておらず、出向中に昇格したこともあって、
 復帰当時は、諸々お金や見積もり系の事務処理に物凄く手間取りました^^;
 そして、出向復帰してから、驚く程技術に専念できる時間が減ってしまい。。(中間管理職の宿命ですね泣)
 最近はすっかり平日日中帯はMS Officeとお友達です(笑)もう少し黒い画面とお友達になりたいですね。。
 20%くらい、大学や今までやっていた講師、研究業務も兼務しているので、そちらの業務が良い気分転換になっています。
 出向先で得た、Active Directoryや制御システムセキュリティのノウハウをこれから自社でサービス化していく予定です。

・今年は社会人ドクターの1年目でもあります。1本目の論文(効率的な制御システムのリスクアセスメント手法)が無事、ACMの国際学会に採択されました。
 成果を出さなきゃなと焦ってもいたので、こちらも嬉しかったですね。

・上記論文を含め、リモートワークになったことによって時間ができたので、色々勉強や研究できたのは良かったです。
 同僚にアドバイスをもらいながら、ラズベリーパイをCODESYSでPLCにしてみたり、Windows系の脆弱性の検証をやってみたり。
 脆弱性検証なんて、ここ数年やっていなかったので、昔を思い出して楽しかったです(笑) 脆弱性検証のサマリーは過去のブログにもあげていますので、ご興味があればどうぞ。

・緊急事態の時は、突然受け持っている講義がリモートに変更になってどうしようかと思いましたが、可能な限りでリモート化できるものは対応しました。
 結果的に新たなコンテンツができて良かったですね。今年もどうなるか分からないですし。。

・リモートワークの日は1日座りっぱなしだとしんどいので、夜ヨガに行くようになりました。行く時は正直ちょっと面倒だなーと思ったりもしますが、
 行ってレッスンを受けてみると爽快で、そんな気持ちは吹き飛びますね。お腹も空いて、夜ご飯も美味しく食べられます。

・以前、当たり前のように行けていた食事や飲みの機会が減り、その貴重性を再認識するようになりました。
 今では、1回1回の食事や会話を大切にしようと思えるようになりました。


来年の目標は。。

・前代未聞のハンズオン形式のリモート海外演習を成功させること(英語な上にリモート、実機も使うと言う難関。。)

・ドクターのジャーナルを通すこと

・昇格できればいいな(社会人ドクターはお金がかかるのです。。)

・Active Directoryや制御システムセキュリティのサービスリリース(折角得たノウハウを多くの人に使ってもらいたい)

あたりですかね。

来年もよろしくお願いしますー!

ドメインの履歴

gamzatti
Vote 0 Votes

こんなのあったのですね。。セキュリティの仕事していながら、初めて知りました。

The World's Largest Repository of historical DNS data

無料でサインアップすれば、過去のドメインとIPの紐付けが遡って見れます。

私のドメインの履歴もちゃんと出てきました(笑)

私が取る半年くらい前に誰か他の人がreverse-edge使ってたみたいです^^;

結構短スパンで明け渡されるもんなんですね。。

話は逸れましたが、DNSのクエリログって量が多いので、取るの大変なこともあると思いますけど、こういうツールがあると便利ですね!

ジャーナル論文2本目

gamzatti
Vote 0 Votes

記念すべき2本目のジャーナル論文"Detection of Malicious Tools by Monitoring DLL Using Deep Learning"が公開されました。

この論文は私はsecond authorなのですが、共同研究者と一緒に苦労して頑張った論文でもあったので、自分がファーストオーサーのジャーナルが再録された時よりも嬉しいくらいです。

東大の研究員としての活動の総仕上げとも言える論文で、研究員としての最初の一歩は、2007年のHitconでした。

プロセスがロードするDLLのリストを用いてmimikatzの実行を検知するというアイディアから始まり、それをmimikatzだけではなく複数の攻撃ツールに拡張した研究をIEEE AINS 2019で発表。

ここまではあまり苦労しなかったのですが、そこからが大変でした。。

改めて、ジャーナル論文のハードルの高さを思い知りました^^;

不再録になった際にいただいたレビュアーのコメントを反映して再投稿したところ、やっと条件付き再録で光が見えるも、レビューコメントの反映がむちゃくちゃ大変。。

コロナでリモートワークになり、修正の時間が持ちやすかったのが幸いでした(笑)

コメントに真摯に対応して再提出したところ、無事再録となりました。

諦めずに、方向性を踏み外さずに進んでいけば、良い結果が待っていると確信できました。

そして、何よりファーストオーサである共同研究者の挫けず技術的信念を貫いた姿勢が素晴らしいと思いました。