今さら聞けないセキュリティ 2020年11月30日

今さら聞けないセキュリティ 2020年11月30日

WEBアプリ セキュリティ 簡易まとめ

# この記事は何?
オライリーから出版されている[リアルワールドバグハンティング](https://www.oreilly.co.jp/books/9784873119212/)を読み、
再度セキュリティに関して確認しようと思い作成したもの。
また事例の調査も行った。
[リアルワールドバグハンティング](https://www.oreilly.co.jp/books/9784873119212/)はバグハンティングプログラムを利用した、脆弱性の報告からバグを見つける手法・考え方を解説する本です。セキュリティ観点としてだけでなく、読み物としても面白いためオススメです。

# SQLインジェクション
## 概要
悪意あるリクエストにより、データベースへの不正利用がおこなわれる
## 脅威
– データベースの非公開情報の閲覧
– データベースの情報の改竄・消去
– 認証回避による不正ログイン

## 被害事例
[価格.com事件](https://xtech.nikkei.com/it/free/ITPro/Security/20050602/162004/)
SQLインジェクションにより、

元記事を表示

うっかりオープンプロキシー

Webサーバーとプロキシサーバーは兼ねることができるのです。

例えば http://www.■■■■.■■■■■■■.jp/ というサイトがあったとします。これをプロキシーとして使う設定をしてみます。
![プロキシーの設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99231/cc7c7809-2845-9a31-5dd8-3ff6ff00102a.png)
HTTPプロキシーにホスト名(ここではwww.■■■■.■■■■■■■.jp)、ポートには80を指定します。
この状態で、適当なサイトにアクセスしてみましょう。 http://www.example.com/ とか。

![通った!](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99231/42511b94-9290-a383-b3f3-9d0e041b7c3f.png)

**あ、通った。**

こんな状態のサーバーをインターネットに繋いで一般公開した日には、オープンプロキ

元記事を表示

White Hat への道 – TryHackMe Room: Scripting Task3 [Hard] –

White Hat Hackerになるまでの道のりを記しておく。

実際になったわけではなく、なるために勉強をすすめる際のメモを残しておこうと思う。

ここ数ヶ月、[TryHackMe](https://tryhackme.com)というサイトにどハマリ中。朝の出社前や帰宅後の1時間ほどは必ずサイトにアクセスして練習をしている。

数年後の自分のために、現時点での過去最高に時間がかかった問題についてコメントしておく。

該当のRoomは「[Scripting](https://tryhackme.com/room/scripting)」。 この中の「Task 3 [Hard] Encrypted Server Chit Chat」 というタスクに3日ほどかかった。

このタスクは、自前のKali Linux マシンからOpenVPN経由でターゲットホストへ、UDPリクエストを送りつけると、次の指示がもらえる。

この指示通りに進めていき、最終的なflagを探すという流れだ。

ちなみにこのタスクの最初の説明文は以下だ。

>The VM you have to connect to

元記事を表示

Webサイトに来る実際の攻撃(不審なアクセス)を公開してみる

グローバルIPアドレスを持つWebサーバーで自分のサイトを運営していますが、脆弱性を狙った不審なアクセスが毎日来ます。一度内容まとめたいと考えていたのですが、同様のことをされている方の記事を見つけ、自分もしてみました。

– [Webサイトに来た攻撃をまとめてみた](https://qiita.com/hot_study_man/items/b12340f932574c9f309d)

実際に来た不正アクセス試行は種類を挙げればきりがありませんが、件数が多いものを紹介したいと思います。有効な対策だと思われることについても言及しています。

ちなみに解析の方法は、ログを一旦DBに入れてSQLで集約しています。

インターネットにWebサーバーを公開すると、こんな攻撃が来る…という参考になればと思います。と考えると、はてなブログやレンタルサーバーはプロバイダーが責任を持ってくれるから安心ではありますね。

##環境

– VPS (Virtual Private Server: 仮想環境のLinuxサーバー)
– WordPress

一応、WAF (Web Application Fi

元記事を表示

Resources – Sams Class

#日本人
SAMS CLASSさんと共有したいと思います。
お楽しみください。
https://translate.google.com/translate?sl=en&tl=ja&u=https://samsclass.info

サムスクラスオールドリサーチ:
https://translate.google.com/translate?sl=en&tl=ja&u=https://samsclass.info/old-research.htm

サムスクラスオールドクラス:
https://translate.google.com/translate?hl=&sl=en&tl=ja&u=https%3A%2F%2Fsamsclass.info%2Fold-classes.html

サムスクラスワークショップ-モジュール環境は、連邦政府の標準品質のワークショップに大学レベルのトレーニングを提供します。知識と知恵。

https://translate.google.com/translate?sl=en&tl=ja&u=https://samsclass.info/w

元記事を表示

.NET(C#)でデータ暗号化(主にAES)を利用する時のメモ

.NETを使った暗号化の実装について気になることがあったので、メモ。

## 気になったこと

オンラインドキュメントの日本語訳が無茶苦茶だったので、英語から引用です。
要するに、`AesCryptoServiceProvider`や`AesManaged`とかは普通は使わないでよくて、`Aes`を使うとよい、というように読めます。ネットのサイトを色々見てると作り方が色々のようで、どのクラスを使うのか迷ったのだけれど。どうも見ていると、基本は`Aes.Create()`でインスタンスを作れば設定値は推奨のものが自動で入るっぽいですね(そんな風に読めた)。

>In most cases, you don’t need to directly reference an algorithm implementation class, such as AesCryptoServiceProvider. The methods and properties you typically need are on the base algorithm class, such as Aes.

元記事を表示

Webサイトに来た攻撃をまとめてみた

# はじめに
自宅にインターネットに公開しているWebサイト(自宅サーバー)があります。Webサイトでは日夜、世界中から脆弱性を悪用しようと攻撃を受けているのですが、今回は実際にWebサイトに来た攻撃の一部を紹介してみようと思います。

# 環境
* Laravel(PHP)を用いた動的なWebサイトなどを自宅で公開
* インターネットとの境界線にFW(Fortigate)を設置。UTMライセンスあり
* インターネット->自宅サーバーNWへの通信に対してFWの`アンチウイルス`、`IPS`、`WAF`を有効
– `IPS`とは: 不正な通信を検知、ブロックする機能。主にOS、機器などの脆弱性を狙った攻撃
– `アンチウイルス`とは:パケットに含まれるウイルスを検知、ブロックする機能
– `WAF`とは:Webアプリケーションレベルの攻撃を検知、ブロックする機能
* 期間は11月のある一週間

# 結論
自宅であろうが、AWSであろうが、レンタルサーバーであろうが、Webサイトをインターネットに公開すると攻撃を必ず受けます。Webサイトを公開する場合は、OS、ミドルウェア、

元記事を表示

ESP32のセキュアなプロトタイピング環境を作成した(概要編)

#はじめに#
独学しているIoTセキュリティについて、集大成の意味合いを込めて現在理想と考えるセキュアなプロトタイピング環境を構築しました。
デバイス、サーバー、クライアントアプリの要素技術の勉強を含めて備忘録として分散して記していきます。

#なぜESP32、きっかけ#
Wifi,Bluetoothを使える安価なチップというのが大きい。
数多くの作例、Arduinoのサポートによる多くのコード資産、情報量の多さ、メーカードキュメントのわかりやすさ、M5StackなどをはじめとするESP32関連キットの人気もあり、趣味と実用を兼ねて選択した。
多くの個人事例がある中で、ESP32を使ったセキュアな通信を検証してGithubにアップしていくと、世界各国から、製品として採用を検討しており、ネットワークセキュリティについて取り組んでいる開発者から相談を受けることがしばしばあった。

そういう開発者がセキュリティについてゼロから考えて実装していくのは本当にやりたいことから時間を削ることになり、理想的ではないなと思うようになった。
また、デバイスが安全に通信できると適用できる現場がもっと増やせて

元記事を表示

BIOSロックの方法(DELL XPS13)

対象が限定的な話ですが、DELL XPS13のBIOSロック設定をする機会があったので記録します。
写真が斜めっているのは、ご愛敬ください!!

##手順と説明

1.PCを起動または再起動し、DELLのロゴが表示されたら「F2」キーを連打します

2.BIOSセットアップ画面が表示されるので、「Password」をクリックします。

 ①**強力なパスワードを有効にする(Enable Strong Password)**
  こちらの設定を有効化にすると、**最低8文字、1つ以上の大文字、1つ以上の小文字**を含めたパスワードにしないとパスワードの登録、変更ができない設定です。

 ②**パスワードの設定(Password Configuration)**
  Adomin PasswordとSystem Passwordの入力最低数と最大数を決めることができます。

 ③**権限者パスワード(Admin Password)**
  BIOS設定を変更した際に、パスワードを入力しないと変更できなくする設定です。
枠に登録するパスワードを入力 > 「Enter」を入力 > もう一度パス

元記事を表示

BlueTeamを勉強したいんじゃ!~Covenantハンティング編~

# 第三弾:BlueTeamを勉強したいんじゃ!シリーズ
[前回](https://qiita.com/ninja400/items/a95c6a1725201f12869d)の記事でLABを作りました。今回はCovenantを使ってWin10に侵入してコマンドを実行するまでを行い、SecurityOnionでどの様にしてハンティングさせるかまでをやっていきます。

# 注意事項
– 自分環境以外には絶対に攻撃しないでください(本記事はハンティングが目的なので・・・)

# 全体の流れ(ざっくりレベル)
1. マリシャスなWordを作成
2. powershell起動&C2に接続
3. SecurityOnionでハンティング

# 見つけたいもの
親プロセスがWordで子プロセスがpowershellの怪しい挙動をしているものをハンティングしたいと思います。
![Blueteam.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/5b814056-7744-5279-49c2-797fcb0

元記事を表示

セッション管理の不備について調べたメモ

# 参考情報
[link-1]:https://www.ipa.go.jp/security/vuln/websecurity.html
[link-2]:https://www.ipa.go.jp/security/vuln/event/documents/20060228_3.pdf
[link-3]:https://www.sbcr.jp/product/4797361193/
[link-4]:https://www.sbcr.jp/product/4797393163/

「1.4 セッション管理の不備」に記載があります。
[安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構][link-1]
[産業技術総合研究所 高木浩光: 「CSRF」と「Session Fixation」の諸問題について][link-2]

どちらの版でも「4.6 セッション管理の不備」に記載があります。
「3.1 HTTPとセッション管理」
私は第1版しか持っていないのでそちらを参照しました。
[体系的に学ぶ 安全なWebアプリケーションの作り方][link-3]
[体系的に学ぶ 安全

元記事を表示

一時ファイルを作る上で気をつけたいこと

プログラムを書く上で、一時ファイルを作る必要のある場面もあるかと思いますが、作り方に気をつけないと、セキュリティ上などの懸念が生じてしまうことにもなります。

## この記事のスコープ

この記事では、「(子プロセスなどで使う場合も含め)自分のプロセスで値を使い終える」一時ファイルについてのみ考慮します。「プロセス終了後に残しておいて、別なプロセスがあとから読み取る」ような一時ファイルについては、作成時にできることにも限りがあります。

また、セキュリティ面については、主に「同じマシンにいる、別な非rootユーザーからの攻撃」を考えていきます。root権限を持ったユーザーに対してや、同じユーザーで動く別プロセスなどに対しては、できることにも限界があります。

そして、Unix系のパーミッション環境を前提としますので、Windowsではそのまま適用できるとは限りません。

## 作成場所

まずは、作成する場所を考える必要があります。

### 専用の一時ディレクトリ

パーミッションを`700`に設定したディレクトリを用意しておけば、この中にはrootでない他人がアクセスすることはでき

元記事を表示

セキュリティ超初心者がCpawCTFを始める

#はじめに
前回、CTF初心者はまず何から始めれば良いかを整理した。
「セキュリティ超初心者だけどCTFやってみたい」
https://qiita.com/s-hirano/items/87cb834b10bb7490bf50
気持ちが乗ってる間にどんどん進めよう。

#CpawCTFに登録してみよう
CpawCTFのサイトはここ→https://ctf.cpaw.site
トップページに「スコアサーバへの攻撃はおやめください」と注意書きがある。ワクワク!
右上のSignUpから爆速で登録出来ました。

「初めての方はこちら」ページも一応チェック。
ジャンル一覧が載ってる。見慣れた名前もあれば初めて見る名前もあり…。
1. Crypto
2. web
3. Reversing
4. Pwn
5. Forensic
6. Network
7. PPC
8. Steganography
9. Recon
10. Trivia
11. Misc
どうも問題を解くためには様々なツールを駆使しないといけない模様。
ツールですら聞いたことない名前ばかりーーーーW(‘ O’ )W

登録が完了すると

元記事を表示

情報セキュリティマネジメント試験1か月前に勉強を始める

###情報セキュリティマネジメント試験を受ける過程を簡潔に記す。
試験実施日が1か月を切っているが、(さらに2か月後は基本情報技術者試験も受ける)
なぜこんなにもハードなのか…それはコロナという3文字で察してほしい。

[IPAのHP。試験実施日のスケジュールだ](https://www.jitec.ipa.go.jp/1_00topic/topic_20200918_2.html “IPA”)
![テキスト](https://msp.c.yimg.jp/images/v2/FUTi93tXq405grZVGgDqG_omiYkNVym1Sd6g5T38MuRIWXePuMB4qV132giu3Izbv2IYlPmOi3nzA0LKAu_lmUaVyPM2oMOzO7OqapMlEaDbRAWtbi2q97zRW_ggiAnxIvNPYol419JnjufjjeqZDEfNTI1T5O0rOsLeaeT-bDw=/D2ZsGoyUcAAd-GY.jpg?errorImage=false)
>「我是我」 byアユ二・D

###本題に入る
僕の知識量は基本情報技術者試験に受かるかどう

元記事を表示

翻訳:脅威インテリジェンスによる中国の情報操作の分析(CODE BLUE 2020)

以下は CODE BLUE 2020 で発表された「[Dissecting China’s Information Operations with Threat Intelligence](https://www.youtube.com/watch?v=5PgEeDwc828)」を試訳したものです。

発表者:Che Chang, Silvia Yeh
発表日:2020年10月29日

# 目的

CODE BLUE を聴講後、復習をかねて以下の手順で翻訳しました。

1. [Otter](https://otter.ai/jp) で [YouTube](https://www.youtube.com/watch?v=5PgEeDwc828) の動画(英語版)を音声から文字へ変換
2. YouTube の動画の字幕と比較して単語の誤変換を修正
3. [DeepL](https://www.deepl.com/ja/translator) と [Google Translate](https://translate.google.co.jp/?hl=ja) で英語から日本語へ翻訳
4.

元記事を表示

ハッシュ値を出力する湯婆婆をC#で実装してみる(PBKDF2他対応)

##はじめに
先日、.NET 5.0がリリースされました。業務でがっつりC#を使うわけではありませんが、でも、せっかくなので触ってみたいと思ったのと、加えて、私が情報処理安全確保支援士(SC)の学習をしているのもあり、このような記事になりました。

でも、他の記事と同じように、これも**ネタ記事**です。
(勉強も兼ねていますので、指摘は歓迎です)

なお、本記事では.NET 5.0(C# 9.0)で実装していますが、基本的なコードの部分に関しては、以下の記事を参考にさせて頂きました(ありがとうございます)。

– [C# で湯婆婆を実装してみる(?田さんにも対応)](https://qiita.com/okazuki/items/03049da368222b562da9)

**更新履歴**
2020/11/14 記事公開
2020/11/15 パスワード保存に適したハッシュ関数(PBKDF2)を追記
2020/11/16 BCrypt、Argon2を追記

##基本的なコード
最低限のコードは以下のような感じでしょうか。
C# 9.0から可能になったトップレベルステートメントで記述

元記事を表示

【Linux】Permission(アクセス権限)について

注意:この記事ではセキュリティに関する変更を加える記事になっております。この記事を元に発生した問題や損害に対しては、当方一切の責任を負いませんので、コマンドなどを実行する場合は必ず自己の責任が及ぶ範囲内でお願いいたします。

###この記事で出てくる用語
`file_put_contents()` → PHPを実行した際に、指定されたパスのファイルに内容を加える。
`file_get_contents()` → PHPを実行した際に、指定されたパスのファイルの内容を呼び出す。
`Permission` → ディレクトリやファイルを操作する時の権限。(日本語で再帰的)

先日、PHPの学習をしている時に、`file_put_contents()`と`file_get_contents()`を使用する場面があったのですが、そこでハマってしまったので解決方法を残しておきます。

結論から言うと`Permission`の問題でした。

##Permissionの確認方法
筆者が使っているのは

元記事を表示

知って得する!? AWSのセキュリティ関連サービスをご紹介!

# はじめに
今回はAWSのセキュリティ周りのサービスを紹介します!

# YouTube動画
[【YouTube動画】 知って得する!? AWSのセキュリティ関連サービスをご紹介!](https://youtu.be/B2lJ7SCSK9E)
[![知って得する!? AWSのセキュリティ関連サービスをご紹介!](https://img.youtube.com/vi/B2lJ7SCSK9E/0.jpg)](https://youtu.be/B2lJ7SCSK9E)

# 認証・認可周りのセキュリティ
## IAM
IAMはIdentity and Access Managementの略で、AWSサービスやリソースへ安全にアクセスするための管理サービスです。

IAMではグループ、ユーザー、ロール、ポリシー、IDプロバイダーの権限設定ができます。

HTTP X-Content-Type-Options ヘッダー概要

## 概要

* `Content-Type` ヘッダー(レスポンスのファイル形式を明示する)で示された MIME タイプに基づいてファイルタイプを判断すべきことを示すためにサーバー側で付与するヘッダー。
* ファイル**内容**から、ファイルタイプを判断させない

* MIME タイプのスニッフィングを抑止するために使用する。

* MIME タイプが欠落している、あるいは MIME タイプが誤って設定されているとクライアントが判断した場合に、リソースを確認しMIME タイプを推測する処理。

## 構文

“`http
X-Content-Type-Options: nosniff
“`

## 指定しない場合に起こり得る脅威:クロスサイトスクリプティング(XSS)

![XSS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586535/308d62c9-7812-d2d9-d460-6085a33456dd.png)

## 参考情報

* [X-Cont

元記事を表示

EC2 Instance Connectはパブリック IPアドレスを優先する?

# やってみていること
EC2が3つあります。
1. 踏み台サーバとして起動。パブリックIPあり。
2. Webサーバとして起動。パブリックIPあり。
3. Webサーバとして起動。パブリックIPなし。

なんで、3.はパブリックIPなしかと言うと、元々ELB経由で接続する予定なので、パブリックIPアドレスは不要なのですが、2.のときにうっかり付けて起動してしまった、というわけです。しかも、後からは外せない:frowning2:

今のところはプロト環境として構築中なので、本番のときは付けないで起動せねば!と心に固く誓うだけじゃなく、しっかりメモしたところです。

# EC2 Instance Connectってのがあるらしいじゃない!?
保守作業に当たってのアクセス制限とか操作記録とか、どうしようかといろいろ考え中にEC2 Instance Connectというのがあるのを知って試してみています。

## 環境構築
元々、踏み台サーバからsshでアクセスできるようにしてあったので、そこは割愛します。
実は、踏み台サーバへのログインもどうしようかと、まだ考え中で。。。AWSコンソール使

元記事を表示

OTHERカテゴリの最新記事