- 1. docker コンテナをログインシェルとして利用してみた
- 2. 政府統一基準とは
- 3. アクセス制御マトリクスを使ってセキュリティテストを作る
- 4. 【意見募集】新発想?のフォームのセキュリティについて
- 5. CTF初心者による未経験者のための解説
- 6. Apacheにsecretを設定して、安全にTomcatとAJP通信する
- 7. 古代の暗号をpythonで実装する
- 8. [月次配信] 月次攻撃サービスの統計及び分析 – 2020年4月
- 9. Outlook2019で添付ファイル付きメールを迷惑メールにする方法
- 10. ハッキングラボのつくりかたをやってみて試行錯誤した点
- 11. API GatewayにおけるセッションIDの固定化攻撃の危険性について
- 12. ログ分析に使えるLinuxコマンド6選
- 13. AWS Lambda関数コードの参照とダウンロードをブロックする方法
- 14. ポートスキャンをスキャンしてみた
- 15. DeepL翻訳を試してみた。
- 16. 【AWS入門】アカウント作成後にやるべき初期設定 セキュリティ編
- 17. (ISC)² のメンバーダッシュボードをCPE取得/登録の確認で使う
- 18. ISACAの無料Webinarを観て、CISAのCPEを獲得してAPPLYするまで
- 19. (ISC)² の無料Webinarを観て、CISSPのCPEを獲得するまで
- 20. 猫でもわかるPwn [GOT overwrite]
docker コンテナをログインシェルとして利用してみた
Linux にログインする時のログインシェルとしては、`/bin/sh` や `/bin/bash` 等がよく利用されます。また、好みに応じて zsh 等を利用する方も多いでしょう。ログインシェルは切り替え可能なので、docker のサブコマンド `docker run` をログインシェルとして利用し、監獄化した環境を構築してみましたので報告します。
## なんのためにこんな事を試すのか?
レンタルサーバー等不特定多数が利用する共有サーバー環境では、モラルの低いユーザーや悪意あるユーザーが紛れ込む事を防げません。そのようなユーザーに対抗するためには各ファイル、ディレクトリに適切なパーミッションを設定する事が最低限必要ですが、chroot 等で監獄環境を構築できればより安心です。chroot を利用すればログインユーザーのルートディレクトリを変更できます。例えば `testuser` というユーザーのルートディレクトリを `/home/testuser` に変更すれば、testuser はそれより上の階層にアクセスできなくなります。このため、各種ログファイルや他ユーザーのホームディレ
政府統一基準とは
# 1. 要約(3行まとめ)
– 政府統一基準は中央省庁や独立行政法人のセキュリティ対策の基準だよ。
– NISCが作って、サイバーセキュリティ戦略本部が決めているよ。
– 中央省庁や独法だけでなく、他の業種でも参考にされることがあるよ。# 2. 政府統一基準とは
– 正式名称:政府機関等の情報セキュリティ対策のための統一基準群(平成30年度版)
– 説明:国の行政機関、独立行政法人、指定法人(例:地方公共団体情報システム機構な等)のサイバーセキュリティに関する対策の基準。
– 根拠法:サイバーセキュリティ基本法(平成26年法律第104号)
– 決定:サイバーセキュリティ戦略本部
– 実務(基準案作成等):内閣サイバーセキュリティセンター(NISC)
– 初版:[平成17年に決定(2005年)](https://www.nisc.go.jp/active/general/kijun01.html)
– 構成文書:
– 統一基準群
– 政府機関統一基準適用個別マニュアル群
– 統一基準群(平成30年度版)の教材
– その他:[NISCのWebサイト参照](https://
アクセス制御マトリクスを使ってセキュリティテストを作る
## 概要
本記事では架空のブログサービス(Webアプリケーション)を例に、下記のようなアクセス制御(認可)の欠陥を発見するためのテストを作る流れを説明する。
アクセス制御の欠陥
– ログインしてないのに機能を使えてしまった
– 一般ユーザが管理機能を使えてしまった
– 他のユーザの秘密情報を閲覧・変更できてしまったテストを作るまでの流れ
1. ユースケースをもとにロール、リソース、操作を列挙する
2. アクセス制御マトリクスを作る
3. テストを設計する## ユースケースからユーザ・ロール、リソース、操作を抽出
アクセス制御をテストするには、まず「誰が」「何を」「どう」できる(許可)・できない(不許可)を明確にする必要がある。
1. 誰が:ユーザ・ロール
2. 何を:リソース
3. どう:操作これらはユースケースやユーザーストーリーから抜き出せる。ブログサービスには次のようなユースケースがあるとすると、
– 登録済みユーザは、自己紹介を作成できる
– 登録済みユーザは、記事を投稿・更新・削除できる
– 登録済みユーザは、記事にコメントできる
– 記事とコメ
【意見募集】新発想?のフォームのセキュリティについて
Twitterのフォロワーさんと話していて、既にありそうだけど、もしかしたら使えるかもしれないフォームのセキュリティを見つけたので書いておきます。
例えば一般的なログインフォームはこんな感じですね?
“`php:index.php
EOM;
}else{
echo <<< EOM
CTF初心者による未経験者のための解説
# ※重要
本記事における内容はハッキング及びそれに関する犯罪を助長するものではありません。
用法・用量を守って正しくお使いください。
#概要
CTFで扱われる個人的にそれっぽくて楽しそうなSQLインジェクションとはなんだろうという話題からその実践、対策について簡単にまとめています(個人用備忘録でもある)
n番煎じの内容にはなりますが僕が新たに書くことでCTFの単語を目にする人が増えたり、初学者や僕の知り合いが興味を持てばいいなといったゆるいテンションで書きます。
###想定読者
**1.CTF未経験者**
聞いたことはある、興味はあるけど敷居が高い…と感じる人。
危なそうだから手を出せない…と感じる人。
**2.CTF上級者**
CTF初心者のため確認はしていますが間違いなど記述する可能性があります。
その際はコメントやTwitterの方でそれちげえぞって教えてください。
#CTFとは
最近、競技プログラミングという数学やコーディングの技術を競い合うコンテストが流行っていますよね。
僕もABCにここ最近出場し始めてボコボコにされています。
怒られそうですがすっごい簡単に僕の偏
Apacheにsecretを設定して、安全にTomcatとAJP通信する
## 結論
以下のように設定すると、secretを使ってApache HTTP Server(Apache)とTomcatを通信させることができます。
* Apacheの設定
“` httpd.conf
ProxyPass / ajp://tomcat:8009/ secret=YOUR_PASSWORD
ProxyPassReverse / ajp://tomcat:8009/ secret=YOUR_PASSWORD
“``httpd.conf`内で読み込んでいる、他のconfファイルに記述しても問題ありません。
* Tomcatの設定
“` server.xml
“``address`はTomcatへのリクエストを許可する接続元IPです。デフォルトでは同一マシンからのアクセスのみ許可されています。`0.0.0.0`はすべ
古代の暗号をpythonで実装する
#古代の代表的な暗号
##シーザー暗号(シフト暗号)
###暗号の実装
シーザー暗号はアルファベットを一定の文字数だけずらすことで暗号化する。またシフト数をnとするとROT Nと呼ばれる。例えば3のときはROT3である。
“`python:caesar_cipher.py
#暗号化
def encrypt(plain_text, shift_num):
cipher = “” #暗号文
for char in plain_text:
if(char.isupper()): #大文字のとき
cipher += chr((ord(char) + shift_num – 65) % 26 + 65)
else: #小文字のとき
cipher += chr((ord(char) + shift_num – 97) % 26 + 97)
return cipher#平文
plain = “draemon”#shift数,鍵
s = 3print(“Plain Text : ” + pl
[月次配信] 月次攻撃サービスの統計及び分析 – 2020年4月
#はじめに
株式会社サイバーフォートレスでは攻撃サービス(ポート)情報を収集し、分析しています。
分析内容から、月次攻撃サービス(ポート)、月次攻撃サービスパターンのTOP10を確認し、過去データと比較し、攻撃トレンドへの対策を考えます。
セキュリティ担当者または、システム管理者はこのようなデータ分析を活用してサイバー脅威の予測に役立てていただければと思います。#月次攻撃サービス(ポート)TOP 10
2020年4月の一か月間収取されたサービスポートTOP10では、MS-SQL(TCP/1433)ポートを利用したイベントが新たに確認された。HTTP(TCP/80)ポートを利用したイベントの順位が幅広く下落したことが確認でき、その他のサービスポートの順位に大きい変動はない。| 順位 | サービス(ポート) | 比率(%) | 前月比較 |
|:—-:|:———————:|:——-:|:——–:|
| 1 | HTTPS(TCP/443) | 41.52% | ▲1 |
| 2 |
Outlook2019で添付ファイル付きメールを迷惑メールにする方法
### Outlook2019で添付ファイル付きメールを迷惑メールにする方法
Teams等が普及した今日においても、ファイルのやり取りをメールで行っている人は、まだまだ相当数おられると思う。悪意のあるメール添付ファイルに起因するセキュリティ上の問題は過去に何度も発生している。
この問題の有効な対策方法として、メーラの機能を使って、添付ファイル付きのメールを迷惑メールとして振り分ける方法を、久しぶりのQiitaでは解説してみたい。
迷惑メールとして振り分けられたメールは添付ファイルやメール本文中のURLが無効になる。差出人やメール内容に問題がないことが確認できてから、通常の受信トレイにメールを戻せば、通常のメールとして扱うことが可能となる。
なお、ここで解説するメーラはOutlook2019としている。
– 手順1
Outlook2019を起動後、メーラで何らかのメッセージを選択後、「ホームタブ → ルール → 仕分けルールの作成」の順にクリックする。(下の画像参考)
![ou
ハッキングラボのつくりかたをやってみて試行錯誤した点
今更ながら[ハッキングラボのつくりかた](https://www.amazon.co.jp/dp/B07JJKLZNW/ref=cm_sw_r_tw_dp_U_x_WHNSEbTNGHYA4)をやりました。
2020年4月中に3週間程度で終えました。この書籍が発行されたのが2018年12月。それからだいぶ月日が経ったこともあり、本のとおりにはいかない部分がいくつかありました。
これからやる方のために少しでも参考になればと、詰まった部分についてまとめておきたいと思います。
ただ、終わったあとでまとめているので、だいぶ抜けてる気が…。また、初めに保険をかけておきますが(笑)、私の力不足でただ分かっていないだけの可能性もあります。誤りがあればご指摘いただけると幸いです。
# 環境情報
前提として構築環境について、記しておきます。
## ハードウェア
* PC : VAIO S13
* CPU : Intel Core i7-8550U(1.80GHz/4Core)
* Memory : 8GB無線のUSBドングルやらNASやらラズパイやらは持ってないので、残念ながらそ
API GatewayにおけるセッションIDの固定化攻撃の危険性について
# API GatewayにおけるセッションIDの固定化攻撃の危険性について
この記事は、 [すごくなりたいがくせいぐるーぷ GWアドベントカレンダー](https://gw-advent.9wick.com/calendars/2020/87)最終日の記事です。
## はじめに
CookieのDomain属性について調べていたら、ふと
「APIGatewayのエンドポイントって`amazonaws.com`のサブドメインだから、Domain属性で`amazonaws.com`指定してCookieセットできんじゃね?」
と思ったので検証してみました。要するに、都道府県型jpドメイン・地域型jpドメインのクッキーモンスターバグのようなことが`amazonaws.com`でも起こってしまうのではないかということです。
※クッキーモンスターバグについては徳丸先生の[こちらの記事](https://blog.tokumaru.org/2013/03/csrf-and-cookie-monster-bug.html)をご覧ください。また、[RFC6265の8.6](https:
ログ分析に使えるLinuxコマンド6選
ログを主にセキュリティ目線で分析するときに、役立つ6つのコマンドとその使い方です。
SIEM等の環境がなくても、LinuxまたはWindows上の[Cygwin](https://www.cygwin.com/)等があれば分析できます。## 役立つケース
* ハニーポットやWebサーバを運用していて、急にアクセス数が多くなり、原因を知りたいとき
* 運用しているサーバに脆弱性が見つかり、Exploitの痕跡の有無をログから調査したいとき## コマンド6選
| コマンド | 用途 |
| :–: | —- |
| grep | 指定した文字列を含む行を検索 |
| awk | 列の分解や条件付き行の検索 |
| sort | 行の並び替え |
| uniq | 重複行の除去や数のカウント |
| wc | 文字数、行数のカウント |
| sed | 指定した条件の置換 |## 分析対象(例)
### access_log(Apache HTTP Serverのアクセスログ)
“`
203.0.113.1 – – [03/May/2020:12:00:00 +090
AWS Lambda関数コードの参照とダウンロードをブロックする方法
# Lambda特有の情報漏洩リスク
AWS Lambdaベースのサーバレスアプリケーションならではの情報漏洩リスクとして、AWSマネジメントコンソールまたはAWS CLI経由で関数のコードが漏洩したり、zipファイルごとダウンロードされるケースが考えられます。AWS CodeCommit等リポジトリ側の情報漏洩リスクに比べて、Lambda関数 (Function) 自体の情報漏洩リスクは言及すらされずに放置されるケースが多いようで、以下に備忘を兼ねてまとめてみました。
# 対応策
IAMユーザが上記の操作をしてもブロック (拒否) するためには、以下のIAMポリシーを設定します。“`json:IAMPolicy
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “DenyDownloadLambdaFunctionCode”,
“Effect”: “Deny”,
“Action”: “lambda:GetFunctio
ポートスキャンをスキャンしてみた
#概要
ポートスキャンについて調べてまとめてみた。
#ポートスキャンとは
ネットワークに繋がっているポートのうちどれが通信可能になっているかを見つけることである。
#ポートとは
データがネットワークからパソコンに入るときのドア。
機器の接続口。ポートは0~65535番まで存在する。
##ウェルノウンポート番号
0~1023番をウェルノウンポート番号といい、IANAによって管理されている。すでに振り分けられている。
##レジスタードポート番号
1024~49151番はレジスタードポート番号といい、これもIANAで管理されている。IANAが登録を受け付けている。
##その他のポート番号
ユーザが自由に使用できるのは49152~65535番
##有名なポート番号
こちらによくまとまっている。
http://e-words.jp/p/r-wellknownports.html#ポートスキャンの種類
##TCPスキャン(Vanilla Scan)
3ウェイハンドシェイクを確立することで、ポートの状態を確認する。
コネクションが確立するため、ターゲットサーバの
DeepL翻訳を試してみた。
【要旨】
ドイツの翻訳会社「DeepL社」によって提供されている翻訳サービス「DeepL翻訳」が高精度であるとの評判を聞いたので英文の日本語翻訳を試してみました。個人的な所感としては、確かに高精度という評判だけのことはあって「人力による英文和訳」以上の訳文が期待できると思います。
⇒「自分が何かの英文を日本語で読みたい」という用途にちょうど良いと思います。
「自分でない誰か」に読ませたい場合(例えば「納品物として翻訳ドキュメントを作成する」など)には、
読み手を想定して適宜修正した方が良さそうです。【本編】
3月頃、確かITmediaさんの記事だったと思いますが、「DeepL翻訳」の存在を知りました。・「DeepL翻訳」が日本語対応、「自然な訳文」と話題に 独ベンチャーが開発(ITmediaさん)
https://www.itmedia.co.jp/news/articles/2003/23/news093.html現在私は某IT系の会社でセキュリティ関連の仕事をして
【AWS入門】アカウント作成後にやるべき初期設定 セキュリティ編
# はじめに
最近AWSの入門記事をまとめておこうと思って書いてます。主にAWSを触ったことがない人がターゲットですが、書き始めたきっかけとしては身近な友人たちに触ってもらえるために布教活動の一環で書いています。
以下が今まで書いた記事です。– [【AWS入門】アカウント作成方法 – Qiita](https://qiita.com/Suzuki09/items/88afebdcaacf38752c05)
今回は、前回の[記事](https://qiita.com/Suzuki09/items/88afebdcaacf38752c05)の続きです。
まずAWSアカウント作成後に行わなければいけない、セキュリティ編です。
主にrootユーザーのセキュリティ強化とIAMというrootユーザー以外のユーザーの作成です。
なぜ真っ先にセキュリティの設定が必要かというと、rootユーザーを乗っ取られた時点で終わりだからです。乗っ取られると不正にAWSを使用され、高額な請求をされてしまう場合があります。
# セキュリティ設定
まずログインするとAWSのコンソール画面に繋がります
(ISC)² のメンバーダッシュボードをCPE取得/登録の確認で使う
# どうしてこれを書いたのか
無料WebinarのCPEがいつ登録されたのかを確認するときに「あ、そういやこれまとめてないや」と思って書いた。#手順
##1. (ISC)²のメンバーダッシュボードにアクセスする
[メンバーダッシュボード](https://www.isc2.org/Dashboard)こんな感じで画面が見れる。
|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267016/3688c8cf-11e1-9dff-0af0-4e89ad77a4c7.png)
|:-:|この画面から**一見**してわかることは次の通り。
* (CPE Statusより)3-Year Cycleにおいて残り58CPEを取得する必要がある
* (Current 3-Year Cycleより)Apr 2019 – Mar 2020のCPEはすでに取得済み
* (Current 3-Year Cycleより)Apr 2020 – Mar 2021のCPEは半分ぐらい取ったCPEの
ISACAの無料Webinarを観て、CISAのCPEを獲得してAPPLYするまで
# どうしてこれを書いたのか
古いUIの情報しかなかったので、自分の備忘録的に書いた。# 複数のISACA資格を持っているのだけど、どうすればいいの?
わからん。#手順
##1. ISACA会員ページにアクセスしてログインする
[ISACA会員ページ](https://www.isaca.org/)
~~なんでこんな「ランドルト環がカエルの卵」的なロゴにしちゃったんだろ。~~##2. Archived-Webinarsのページにアクセスする
[Archived-Webinarsのページ](https://www.isaca.org/training-and-events/online-training/archived-webinars)
「どれを観た、どれを観てない」とか視聴管理すると後々捗りそう。##3. 観たいWebinarを選ぶ
この画像は参考。タイトルのところがリンクになってて、そこをクリックする。
視聴期限は「Archived」に書いてある。
“`更新:なぜかBrightTalkアカウント作成のことを書いてしまっていたのだけど、CISSPのみ必要なものな
(ISC)² の無料Webinarを観て、CISSPのCPEを獲得するまで
# どうしてこれを書いたのか
自分にとってメインのCPE獲得方法になるので備忘録的に書いた。# 複数の(ISC)² 資格を持っているのだけど、どうすればいいの?
わからん。#手順
##1. (ISC)²の会員ページにログインする
[会員ページログインフォーム](https://www.isc2.org/Sign-In?fromURI=https%3A%2F%2Fisc2org.okta.com%2Fapp%2Fisc2orgprod_wwwisc2org_1%2Fexkeq1qd40KCe6cPq0x7%2Fsso%2Fsaml%3FRelayState%3Dhttps%253a%252f%252fwww.isc2.org%253fcheckmem%253dtrue)##2. OPE Opportunitiesのページにアクセスする
[ここからアクセス](https://www.isc2.org/Member-Resources/CPE-Opportunities)するか、「MEMBERS」→「OPE Opportunities」で移動する。|![image.png]
猫でもわかるPwn [GOT overwrite]
#はじめに
自分のPwnの理解を深めるために、できるだけわかりやすく書いた備忘録です。僕も初心者です。「なんとなく」わかった気になって使ってることがしばしばあるので、機会があれば他のテクニックも書きたいと思ってます。猫でもわかるは盛ったかも。#GOTとは
GOT(Global Offset Table)とは、共有ライブラリのシンボルが参照されている領域です。ELFではPLT(Procedure Linkage Table)からGOTにジャンプし、共有ライブラリを参照しています。ライブラリ関数を管理している領域みたいなイメージだと思います。参照
https://qiita.com/saikoro-steak/items/f9bf534f8fc5f2be3b0e#format string attackによるGOT overwrite
ここでは、ksnctfのVillager A(村人A)を使って説明していきます。
https://ksnctf.sweetduet.info/