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

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

あなたはNmapのことを本当に理解していますか?

#初めに
皆さんこんにちは
いきなりですが、まずはnmapに関する雑学問題をどうぞ!
(答えは白文字で書かれてます)

Q1(Easy).nmapのオプションの数はいくつ?
A1.103以上
([公式サイト](https://nmap.org/man/ja/man-briefoptions.html)参照)

Q2(Medium).nmapの出力をリート表記(A→4,E→3など)にする方法は?
A2.-oSオプションで出力する(やってみてください!)
([THE DIGITALOCEAN COMMUNITY](https://www.digitalocean.com/community/tutorials/top-10-linux-easter-eggs)より)

Q3(Hard).Nmap はデフォルトで TCP:9100 へのバージョンスキャンを無効にしています。その理由は?
A3.特定のプリンタは TCP:9100

「安全なWEBアプリケーションの作り方」を読み進めた時に参考にした内容とかメモ

体系的に学ぶ 安全なWEBアプリケーションの作り方 第2版 第8刷

環境
windows 10 home
version 2004

#2章
VirtualBoxが起動しない!
P22~図2-18が実行出来ない

[このブログの内容で解決](https://yrhw0609.hatenablog.com/entry/2019/11/25/214258
)

原因は、Dockerを使う為にHyper-Vを有効にしていた為
windows10 homeにはHyper-Vロールをインストール出来ないと書いてあったけど、実際にはすべてのWindowsに組み込まれている。

[Windows 10 上に Hyper-V をインストールする]
(https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
[WSL2とHyper-Vの関係]
(https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce)

#3章
読み

マルウェアの静的解析でのデコンパイラの利用

マルウェアのバイナリコードの静的解析には,ツールで完全に自動で行う方法もありますが,コードを人間が読んで理解する方法もあります.

私もたくさん経験していますが,逆アセンブルしたアセンブリコードの処理や意図を理解するのはかなり骨が折れる作業です.アセンブリコードがちょっと複雑になったりちょっと長くなったりすると,とたんにわからなくなります.時間もかかります.

逆アセンブルして得られたアセンブリコードを読んで理解するよりも,デコンパイラ(逆コンパイラ)でデコンパイル(逆コンパイル)して得られたCプログラムのコードを読んで理解するほうが,はるかに楽だし短時間で終わります.

現在入手可能なデコンパイラですぐ思いつくものを挙げておきます.

+ [Hex-Rays Decompiler](https://www.hex-rays.com/products/decompiler/) IDAと組み合わせて使う.商用.個人での購入を躊躇したくなる価格.
+ [Ghidra](https://ghidra-sre.org/) オープンソース.
+ [RetDec](https://retdec.c

ipmitoolのパスワード指定オプションについて

サーバーのリモート管理でipmitoolを使う際、`-P`オプションでパスワードをコマンドラインの中で指定すると画面上で丸見えですね。ipmitoolにはパスワード関連で`-a`、`-E`、`-f`オプションがあるのでまとめておきます。

## -P \ `-P`オプションはBMCのパスワードをコマンドラインで指定します。サポートされている場合、`ps aux`などのプロセスリストではパスワードが非表示になります。[man ipmitool(1)](https://linux.die.net/man/1/ipmitool)でもこのオプションは非推奨ですね。

“`
# ipmitool -I lanplus -H 172.25.130.28 -U user -P password sol activate
[SOL Session operational. Use ~? for help]

# ps aux
root 353369 0.0 0.1 8900 2236 pts/1 S+ 19:23 0:00 ipmitool

■ AWSのセキュリティ大丈夫?? 〜 面倒なチェックはすべてConfigとGaurdDutyにやらせよう 〜

社内のブログでAWS ConfigとGuardDutyについてのブログ記事を書きました。

ConfigとGuardDutyに関して特徴を捉えて、実践的、応用的な使い方について書いてみました。

特にConfigのカスタムルールをlambdaで作成しようと思っている方などには有益な情報となっていると思うので、是非ご覧になって見てください。

■ AWSのセキュリティ大丈夫?? 〜 面倒なチェックはすべてConfigとGaurdDutyにやらせよう 〜
https://cam-inc.co.jp/p/techblog/461041772353553211

『イラスト図解式 この一冊で全部わかるセキュリティの基本』読書メモ

この記事は、「イラスト図解式 この一冊で全部わかるセキュリティの基本」の読書メモになります。

![本表紙](https://images-na.ssl-images-amazon.com/images/I/51baAG1y2FL._AC_SY400_.jpg)

#目次
1. 個人情報
2. セキュリティの3要素
– 追加要素
3.

# 1 個人情報
– 個人情報
個人を識別できる情報
例)
– 氏名
– 運転免許番号
– パスポート番号
– メールアドレス
– 性別
– 住所

– 要配慮個人情報
本人に対する不利益が発生しないように取り扱いに配慮する情報
例)
– 社会的地位
– 病歴
– 犯罪歴
– 宗教
– 思想
– 犯罪被害情報

– 特定個人情報
個人情報 + マイナンバー
通常の個人情報よりも注意深く扱われる必要がある
使用用途
– 税金
– 社会保障
– 災害対策

#2. セキュリティの3要素
– 機密性
「外部の人に見られた

知らなかったよreCAPTCHA事情

この記事は[Goodpatch Advent Calendar 2020](https://qiita.com/advent-calendar/2020/goodpatch)の3日目です。

今年は何かと転売ヤーが注目される一年だった気がします。
あきらめてニンテンドーSwitchをちょっと高値で買ってしまった記憶が蘇ります。最悪です。
ということで、実際に転売をやっているエンジニアから聞いたreCAPTCHA事情について書こうと思います。

## reCAPTCHAってなに
一度は経験したことのあるアレ。たまに難易度高くてクリアできないアレ。
CAPTCHAというのが`Completely Automated Public Turing test to tell Computers and Humans Apart`の略称で「人間とマシンを判別するテスト」とのことを表しています。
reCAPTCHAというのは、Googleが無料で提供しているbotと人間を区別するためのサービスのことです。
Seleniumなどで抽選、購入の自動化を行っている転売ヤーにとっては1番の敵らしいです。

windows_フォルダアクセス権出力

①Windows PowerShellで特定フォルダ配下のフォルダアクセス権をCSVに出力する
フォルダ[sales2]フォルダアクセス権を出力

“`
cd C:\inetpub\wwwroot\sales2
Get-ChildItem -Force -Recurse |where { $_.mode -match “d” } |Get-Acl | Select-object @{Label=”Path”;Expression={Convert-Path $_.Path}}, Owner, AccessToString |Export-Csv C:\inetpub\wwwroot\output.csv
“`

パッカーいろいろ

これは[マルウェア解析・検知・分類 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/malware-analysis)の第1日目の記事です.

ゆるく書いていきます.

マルウェアの多くはパッカーと呼ばれるツールによってパックという処理を施されています.パックはプログラムを,挙動や機能をそのままに保ちながら,暗号化や圧縮して別のプログラムに変換する処理です.パックによって,静的解析が難しくなったり,プログラムイメージのシグネチャマッチングによってマルウェアと認識することが難しくなったりします.

マルウェア解析,特に静的解析では,まず,そのマルウェアがパックされているかどうかを正しく判定し,可能ならパッカーの種類を推定するなどの処理を通じてアンパックすることが重要になります.

パッカーいろいろ.ていうかリンク集.

– 無料かつオープンソースのパッカー
— [UPX](https://upx.github.io/) おそらくマルウェア界でのシェアNo. 1
— [UPack](https://inedo.c

秘密計算手法その1~秘匿共通集合演算〜

EAGLYSアドベントカレンダー5日目の記事です。PSIという秘密計算技術のひとつについてざっくり解説したいと思います。

#秘匿共通集合演算(Private Set Intersection)とは

秘匿共通集合演算(長いので以降PSIとします)は秘密を漏らさず共通集合演算の結果だけを得られる秘密計算手法です。例えば、アリスが集合$X=\\{x_1,x_2,\dots,x_n\\}$とボブが集合$Y=\\{y_1,y_2,\dots,y_m\\}$を持っていて、$X\cap Y$を計算したいとします。この時、$X\cap Y$以外の情報は漏らしたくありません。

さて、この問題へのソリューションとして、Freedman,Nissim,PinkasはE[Efficient Private Matching and Set Intersection](https://link.springer.com/content/pdf/10.1007/978-3-540-24676-3_1.pdf)でPSIを提案しました。PSIとは

– アリスの持つ集合$X$とボブの持つ集合$Y$について$X\

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インジェクションにより、

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

情報処理安全確保支援士試験の合格体験記

# はじめに
これはAdvent Calendar 2020の資格試験攻略 3日目の記事です。

# この記事の対象者
– [情報処理技術者試験](https://www.jitec.ipa.go.jp/)についてどのようなものか理解している人
– 応用情報技術者試験に合格している人
– 情報セキュリティに興味のある人

# 情報処理安全確保支援士試験とは
– [情報セキュリティについての資格(前セキュリティスペシャリスト試験)](https://www.jitec.ipa.go.jp/1_11seido/sc.html)です
– 合格後、登録することで「情報処理安全確保支援士」と名乗ることが出来ます
– 情報処理技術者試験で唯一の国家資格で、士業となります
– 登録には維持費が掛かり、登録せずにおくことも可能です
– 詳細は[IPAの公式サイト](https://www.ipa.go.jp/siensi/index.html)をご覧ください

# 私が取り組んだ勉強法
全体的にアウトプット多めの過去問演習が中心です。
過去問は4年分(8回分)解きました。

## 午前対策
##

さくらVPSのWordPressサイトに来た攻撃を公開してみる

グローバルIPアドレスを持つWebサーバーでサイトを運営していますが、脆弱性を狙った不審なアクセスが毎日来ます。一度内容まとめたいと考えていたので、してみました。

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

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

インターネットにWebサーバーを公開すると、こんな攻撃が毎日来て対策するのが大変だよ…という参考にして頂ければと思います。と考えると、はてなブログやレンタルサーバーは楽ですね。

##環境

– VPS (Virtual Private Server: 仮想環境のCentOS Server)
– WordPress

一応、WAF (Web Application Firewall)がありますので、そこからもログを取得しています(POSTのパラメータなど)。分析ですが、今回は11月の直近の分のみを対象に解析してみました。

##WordPressに対する(と思われる)攻撃
日頃からログ・通知を見てい

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