今さら聞けないセキュリティ 2021年07月13日

今さら聞けないセキュリティ 2021年07月13日

ADFSサーバーでX-XSS-Protectionヘッターの設定

#はじめに
Windows ServerのADFSサービスですが、セキュリティ攻撃のターゲットになることが多く、セキュリティを管理している部門から各種設定を追加するようにといった要求が来ることがあります。ここでは、X-XSS-Protectionヘッタの設定方法に関して記述しています。
X-XSS-Protection ヘッターは、IE, Chrome, Safariの機能で、反射型クロスサイトスクリプティング (XSS) 攻撃を検出したときに、ページの読み込みを停止します。 本ヘッター設定は、最近のブラウザでは、不要ですが、古いブラウザに有効なため、セキュリティ監査で設定を要求される場合があります。

#事前確認
実行前に、ADFSサーバーアクセスした際にCSPヘッタが設定されていないことを確認します。
ブラウザ(chromeなど)を開き、F12キーをクリック、ネットワークのタブを選択します。続いて、ADFSのURLを開きます。

https:///adfs/ls/IdpInitiatedSignon.aspx

![キャプチャ.PNG](https://qiita-image-st

元記事を表示

最近のCTFのRev問を解いてデコンパイルの練習をしてみた

# 趣旨
デコンパイルの練習のため、最近(2022年7月時点)のCTFのRev問にいくつか取り組んでみました。rev問のほとんどは、入力を受け付けるプログラムが与えられ、適切な入力を渡すと成功を出力するというものです。プログラムのどこかに入力が正しいかどうかを判定する処理が実装されています。この処理を手動でデコンパイルしていきます。

CTF問題は、[CTF-archives](https://github.com/sajjadium/ctf-archives) で公開されているものを使用しました。ここにある最近のRev問を難易度を気にせず気ままに解いていきました。

# 所感
改めてRev問に取り組んでみて、何をやったら良いか分からないまま時間が過ぎていく、ということは殆どなかったのが印象的でした。出題の意図は明白で、(競技中に解答できるかはさておき)ひたすら時間をかければデコンパイルは可能で、デコンパイルさえできれば後は解を導くだけ、という感じです。

デコンパイル自体は何問かチャレンジしていくうちに速くなるかなと思いましたが、これくらいの練習量だと体感としてはあまり変わりませんで

元記事を表示

ADFS Windowsトランスポートエンドポイントの無効化方法

#はじめに
ADFSサーバーのWindowsトランスポートエンドポイントへのアクセス(Proxy)を無効化する方法に関して記載しています。ADFSサーバーのWindowsトランスポートエンドポイントですが、デフォルトインストールを行った場合、「有効」になっています。
この設定が有効となり、インターネットにADFS Proxy(WAP)などを利用して公開されている場合、インターネットから、NTLMログインを試行することができるるようになります。また、ADFSのロックアウト保護機構をバイパスすることができる可能性があります。

#外部にWindowsトランスポートエンドポイントが公開されていることを確認
 STSにアクセスしてエンドポイントが公開されているか確認します。公開されている場合、下記のような認証画面が表示されます。

 https://sts-servername/adfs/services/trust/2005/windowstransport

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws

元記事を表示

ADFSサーバーでのHSTSヘッタの設定

#初めに
ADFSサーバーのセキュリティ監査などでHSTSヘッタの不備を指摘されることがあります。ADFSサーバーの場合、Webの認証トラフィックは、HTTPS経由で開かれるため、HSTSヘッタの設定がないこと自体は問題ないと考えられますが、セキュリティ監査では、ヘッタが返されることが監査のクリア条件などになることがあります。
本ドキュメントでは、HSTSヘッタ(HTTP Strict-Transport-Security)の設定手順に関して記載します。

#HSTSヘッターとは
HSTSヘッタは、HTTPとHTTPSの両方のエンドポイントを持つサービスにアクセスする際に必ずHTTPSアクセスを行い、HTTPでのアクセスを使用してはいけないこと宣言するヘッタです。

#事前確認
設定を行う前に、現在のADFSサービスのアクセスでHSTSヘッタ情報が含まれていないことを確認します。chromeなどを開きF12キークリックし、「ネットワーク」タブを開いてADFSサーバーの下記のURLにアクセスを行います。

https:// ADFSサーバーのURL/adfs/ls/IdpInitiate

元記事を表示

ADFSサーバーでCSPヘッターの設定

#はじめに
Windows ServerのADFSサービスですが、セキュリティ攻撃のターゲットになることが多く、セキュリティを管理している部門から各種設定を追加するようにといった要求が来ることがあります。
ここでは、Contents-Security-Policy(CSP)ヘッタ(以下 CSPヘッタ)の設定方法を記載します。

#事前確認
実行前に、ADFSサーバーアクセスした際にCSPヘッタが設定されていないことを確認します。
ブラウザ(chromeなど)を開き、F12キーをクリック、ネットワークのタブを選択します。続いて、ADFSのURLを開きます。

https:///adfs/ls/IdpInitiatedSignon.aspx

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526427/3bd742ff-79bd-1fe0-d7d1-70907535cf7d.png)

Response Headers に 「Contents-Security-P

元記事を表示

localStorage

### 記事一覧
* https://qiita.com/T-Tokumori/items/b531d2c8612747dabe1e
*

元記事を表示

hack the boxにwindowsあるんだ。

#概要

hack the boxにwindowsあるんだ。

#Active

https://qiita.com/v_avenger/items/48db7d54791c4d10663b

#Netmon

https://qiita.com/yukitsukai47/items/398d9026a8e4eac26c21

#Worker

https://qiita.com/v_avenger/items/dbf6d810283d70351a08

#Forest

https://qiita.com/zunil2_test/items/817c36f899b4fc3bf7bb

https://qiita.com/v_avenger/items/43014e5e34fe491764c8

https://qiita.com/mr-wacker/items/e165102bd5f1a4a6d22e

https://qiita.com/MarshMallow_sh/items/000650e63faeb2b8f266

#Starting Point

https://qiita

元記事を表示

セキュリティブログ検索、作った。

#概要

セキュリティブログ検索、作った。

#参考にしたページ

https://qiita.com/HirMtsd/items/7e5f7e93c694b6980860

#成果物

https://embed.plnkr.co/plunk/tFnJRIUc3xecDgWe

以上。

元記事を表示

URLやFQDNを入力したり、捕まえた検体をアップロードすると良さげに調べてくれる無料サイト(編集中)

URLやFQDNを入力したり、捕まえた検体をアップロードすると良さげに調べてくれる無料サイト(編集中)

https://www.virustotal.com/gui/

https://www.hybrid-analysis.com/

https://www.malwares.com/

https://www.threatminer.org

https://www.fortiguard.com

https://urlfiltering.paloaltonetworks.com/query/

https://www.brightcloud.com/tools/url-ip-lookup.php

https://urlcat.checkpoint.com/urlcat/main.htm

https://global.sitesafety.trendmicro.com/index.php

https://csi.forcepoint.com/

https://cfssupport.sonicwall.com/Support/servlet/CFSSupportServle

元記事を表示

main関数の3つ目の引数*envp[]で環境変数を取得する

## C 言語のmain関数の 3 つ目の引数 *envp[] について

今回は、C 言語でmain関数を定義する際に使用できる3つ目の引数についてまとめます。

先日、某CTFのデコンパイル結果を眺めていたところ、`int main(int argc, char *argv[], char *envp[]) `のように、引数を3つ取るmain関数に出会いました。

この3つ目の環境変数`*envp[]`は、C標準にて以下のように定義されており、実行環境の環境変数に対してのポインタが格納されるものであるようです。

>ホスト環境において、main 関数は第3引数 `char *envp[]` を取る。
>
>この引数は `char` へのポインタの null 終端配列を指す。`char` への各ポインタは、このプログラム実行環境に関する情報を提供する文字列を指す。

よく目にするC言語のmain関数は、以下のように2つの引数を取ります。

“` C
#include

int main(int argc, char *argv[]) {
printf(“

元記事を表示

CookieのPath属性は本当に安全性に寄与しないのか

# [追記] 今度こそ結論。Cookieこそ盗めなくなるが、Ajaxでなんとでもできるので寄与しない

なんと著者から反応がありました。それによると、別のパスからでもXHRやFetchで自由に操作できてしまうので、Cookieを盗むまでもなく被害者の権限で攻撃ができる、ので安全性には寄与しない、とのことです。

確かによく考えるとその通りです。Cookieを盗めるか盗めないか、という点ばかりに目を取られていました。

詳しくはこちらから。

https://qiita.com/ockeghem/items/6590b2e18af1d062e780

以下未修正ですのでご注意ください。

先日[体系的に学ぶ 安全なWebアプリケーションの作り方](https://www.sbcr.jp/product/4797393163/)を読んでいて、疑問をいだきました。

4.8.2 クッキーのセキュア属性不備の項で、CookieのPath属性について、

> Path属性を指定しても、安全性が高まるわけではないことに注意してください。その理由は、JavaScriptの同一オリジンポリ

元記事を表示

ユーザー登録不要(匿名)で、メッセージ履歴の残らない、Webチャットアプリ作りました

# Webチャットアプリ SuzumeChunChun

## 紹介

完全に匿名で、秘密・プライバシーを守ることができるチャットアプリです。

他言されたら困るけど何かを伝えなければいけない場合や、もし自分が監視されているような状況にあるなど(?)、そんな場合に役に立つアプリだと思います。多分ジャーナリズム(?)なんかのために役に立つんじゃないかと勝手に思ってます。

スパイ映画などで、爆発する指令書が登場するシーンがありますが、爆発する指令書を作るより、このwebアプリを使った方が手軽に秘密を守ってメッセージが送信できます。

まだベータ版ですが、通常利用する範囲では、十分機能するはずです。

https://suzumechunchun.com

(サーバーがアメリカだからか、JavaScriptファイルが大きいからか、速度が少し遅く感じます。すいません!!)

– ユーザー登録が不要なので、個人情報は何も収集しません。
– メッセージの暗号化はブラウザ上で行われます。
– メッセージはサーバー上には一切保存されません。ブラウザ上で表示されて、一定期間後に自動的に削除されます

元記事を表示

ASLRの有効bit数

32bitOSにおいてASLRは16bit分しか提供しない といった旨の記述がReturn-to-libc攻撃のwikipediaに書いてあり、理由が気になったので雑にメモ。
2通りで調べたのでそれぞれ書きます。

1. まず、英語版の出典はスタンフォードの論文pdfでした。
この3.3.2によれば、32bitのうち12bitはオフセットに(後述)、残り20bitのうち、4bitは仮想メモリ空間のフラグメンテーションを防ぐためにランダム化できないため、残りの16bit分のみASLRが提供される とのこと。 (これは最大16ということで、実際は12bitなども見られるようで….)
64bitOS上の32bit互換で実行する場合も同様に脆弱であると述べてあります。
64bitOSにおいては最低でも40bitがランダム化されるとのことです。

2. また、32bitOS(x86)のメモリ管理の観点から、まずセグメント方式について知る必要がありそうだと考えました。 結果として間違いではありませんでしたが….
元々、ASLRは12bitに働いていたという検証も見ており、セグメントのリアル

元記事を表示

Hack The Box ウォークスルー:Shocker

今日のターゲットは、Shockerです!ショッカー!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1664788/8b993a80-6fea-2cec-e90e-4dedc59d3257.png)
– OS: Linux
– Difficulty: Easy

仮面ライダーシリーズに登場するあの雑魚キャラですね(違いますw)
ショッカーをしらない世代の方も多いと思いますが、いつもの通り、ポートスキャンから実施していきましょう!

# # PortScan
今日はちょっとめんどうだったので、ざくっと -A(アグレッシブスキャン)を実施します。
アグレッシブスキャンは強力ですね。

何も考えずに、-A を付けるだけで、通常のデフォルトスキャンの他に、バージョンスキャン(-sV)やOSスキャン(-O)、スクリプトスキャン(-C)などを実施してくれます。
ポートスキャンの実行結果は、以下感じです。

“`
┌──(kali㉿kali)-[~]
└─$ sudo nmap -n 10.10.1

元記事を表示

Hack The Box とは

# ペネトレ王にオレはなる!からの大海原ヘドーン!

はい、今日は、私が大好きな Hack The Box(HTB)を紹介します!
(と、今日がはじめてのQiita投稿です。何卒よろしくお願いします。)

Hack The Boxは、サイバーセキュリティやペネトレーションテスト(ペネトレ)に関するスキルを身に付けたい人が、そのスキル向上のために活用できる世界最高の学習プラットフォームです。

なにが最高かというと、とにかく楽しいです!!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112588/4bdf030b-d4a8-508f-4b9a-324d375a502b.png)

~~ハッキング技術~~(← 誤解を生む場合があるので自粛) ペネトレーションテストの技術を楽しく学べて、自己成長も体感できます。また、知識とスキルを仕事に生かすこともできるので、一流のペンテスター(ペネトレをする人=スーパーハッカー)になれば、お金もガッポガッポ稼げる、はず!(たぶん。きっと。願望!)

はい、

元記事を表示

Laravelにおける認可と認証

#はじめに
この記事では実装法は書かず概要程度にとどめておきます。
ご了承ください。
#認可と認証の違い
##認証
いわゆるログイン。
サイトにアクセスしてきたユーザーが**本人か本人でないか**を確認すること。

###認証の種類
– Basic認証 
– 実装が容易でほぼすべてのWebサーバー・ブラウザで対応。
– ログアウト機能がないため認証状態を削除するためにはブラウザを終了する必要がある。
– **盗聴すれば容易にパスワードがわかってしまう。**(HTTPSを使用すれば解決できる。)
– webアプリ上のファイルやページにアクセス制限をもう携帯時に使用されることが多い。
–  Digest認証
– HTTPで定義される認証方法の一つ。
– Basic認証の平文でパスワードが送信されてしまうという欠点を改善したもの。
– ユーザーIDとパスワードをMD5でハッシュ化して送信するため解析が困難になった。
– ただしサーバーには**平文で保存されているためセキュリティはBasic認証より劣る。**
– すべてのwebブラウザでは対応していないので不特定多数が利用

元記事を表示

ゼロトラストについて説明できるように調べた内容

###ゼロトラスト
このキーワードを聞くようになって、約1年ぐらいが過ぎたなぁと感じております。
私自身、業務をしていて耳にすることは多いのですが、この言葉が意味することを正しくは理解しておりませんでした。
今回は、自分への備忘録もかねて、ゼロトラストについて簡単に説明をしたいと思います。

<参考:IPA ゼロトラストという戦術の使い方>
https://www.ipa.go.jp/icscoe/program/core_human_resource/final_project/zero-trust.html

####基本的な考え
「全てのデバイス,ユーザ,通信,ネットワークを監視し,認証・認可を行う」
これはどういう意味か。
もう少しブレークダウンすると、

1.モバイル端末、クラウドサービス等含めたすべての資産をリソースとみなす
2.アクセス先、アクセス元がどこであろうと必ず認証、認可のステップを踏ませること
3.認証・認可の際は動的なスコアリングを行うこと
4.通信の状態、ふるまい等を検知すること

他にもポイントはありますが、まずは基本的なところのみ。
それぞれ、更に解説し

元記事を表示

セキュリティー用語、最初から分かる人0人説

まじで分からん。
ということで聞いたり調べたりしたことの忘備録。
間違っていたらご指摘ください。

あと、他にもよく使うけど最初は???ってなる用語がありましたら、教えて頂きたいです。喜びながら追記します。

# 脆弱性

脆弱性はシステムの不具合、設計上のミス、バグなどの中で、セキュリティ上危ないんじゃないか?とされるもの

参考

https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/risk/11.html

# 脆弱性診断とペネトレーションテスト

脆弱性診断は問題点を発見するもの。
「’と入力したらSQLのエラーが出た為、SQLインジェクションで攻撃される恐れのある問題点があります!」
みたいな?

ペネトレーションテストは攻撃者のつもりで攻撃してどこまで被害が出るか確認するもの。
「SQLインジェクションの問題点があって、○○と○○のデータが取得でき、そこから○○という攻撃が可能で・・・」みたいな?

参考(図が分かりやすい)

https://www.lac.co.jp/lacwatch/servi

元記事を表示

SQLインジェクションについてのメモ

【注意事項】
__悪用厳禁!!!__
やられサイト、CTFなどの攻撃しても良いと定義されているサイトやローカルでしかやらない!!
許可なくどこかのサイトに試さない!(それが良心的であったとしてもダメ!)

攻撃者(悪いハッカーとかクラッカーとかいうやつ)だったらどうやって効率的にSQLインジェクションを発見してから情報を抜くだろうかという推測を記録したもの。
防御を知るには攻撃を知る所から的な感じ。

ようやくSQLインジェクションについて分かってきたくらいなので、間違っている可能性が高いです。間違っていたらご指摘ください。

# ログインフォーム、サインインフォームの場合

1. `’` とか `”` とか `”‘` とか `”‘))` などと入力
1. `hoge’ OR 1=1 #`とかでエラーが出るか調べる(SQliteなら`hoge’ OR 1=1 –`で)
※実務でデータを触るときはORを使わないらしい(全部のデータのパスワード変更とかしてしまう可能性があるから)
1. エラーがでたらそのエラー文に応じて`)`とか`’`とかを加えていく

# 検索フォ

元記事を表示

Amazon Elasticsearch Serviceで特定のIPからのみアクセスを許可する2つの方法

## はじめに
Amazon Elasticsearch Serviceで特定のIPからのみアクセスを許可する方法を紹介します。
調べた限り、大きく以下の2つの方法があるようです。

1. VPCに配置してセキュリティグループを設定する
2. IAMポリシーで設定する

## VPC配置してセキュリティグループを設定する
#### 設定方法
Elasticsearchドメイン作成のStep3でネットワーク構成を選択することが出来ます。
ここで、「VPCアクセス」にすると、VPC、サブネット、セキュリティグループの設定が行えます。
セキュリティグループにIPアドレスを登録することで、アクセスを制限することが出来ます。

![スクリーンショット 2021-06-21 22.46.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217116/6912e00a-9eb8-16af-da96-79b85fbae76b.png)

#### メリット
通信がVPC内で完結するので、パブリックで使うよりも安全です

元記事を表示

OTHERカテゴリの最新記事