Slide 1

Slide 1 text

全集中 Burp extension ISTE 勉強会 第1回 [2022/10/11]

Slide 2

Slide 2 text

本日はご参加いただきありがとうございます。 本勉強会は、全集中Burp extensionこと 「ISTE: Integrated Security Testing Environment」 を単独トピックとする、初めての勉強会です。 全集中 Burp extension ISTE 勉強会 第1回(オンライン) 【タイムテーブル】  開場 20:00 (5m)  ごあいさつ 20:05 (15m)  ISTE開発の背景  ISTE機能紹介  デモ 20:20 (30m)  まとめ 20:50 (10m)  質疑応答  閉場 21:00 【お願い】 ・録画/録音はご遠慮ください(本資料は公開済みです) ・SNS等への発信はご自由に(ハッシュタグ:#BurpISTE) 【注意事項】 ・本勉強会の内容は、情報セキュリティの向上を目的とする  ものであり、悪用を意図するものではありません ・許可を得ていないシステム等に対する診断行為は行わない  ようご注意ください。法令違反に当る可能性があります

Slide 3

Slide 3 text

Kenichi Okuno  Twitter: @okuken3 自己紹介 ・セキュリティエンジニア ・三井物産セキュアディレクション(MBSD)所属 ・主にWebアプリケーション脆弱性診断を担当 ・趣味で全集中Burp extension ISTEを開発 ・過去職ではWebアプリ開発やプロダクトセキュリティなど ※発言や記載内容は個人の見解です 最近の出来事/一言 ・ISTE v0.5.0 リリース(2022/09/22)

Slide 4

Slide 4 text

1. ISTE開発の背景 2. ISTE機能紹介 3. デモ 4. まとめ 5. 質疑応答 Agenda

Slide 5

Slide 5 text

たった1つの綻びが破滅への入口となる ディフェンス不利の終わりなき戦い サイバー セキュリティ。

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

1. ISTE開発の背景

Slide 11

Slide 11 text

脆弱性  悪用可能な不具合 脆弱性診断  診断対象に脆弱性が存在しないかを確認する診断 Webアプリケーション脆弱性診断  Webアプリケーションを対象とした脆弱性診断  脆弱性の例:SQLインジェクション、クロスサイトスクリプティング (XSS)、クロスサイトリクエストフォージェリ (CSRF) 【前提1】Webアプリケーション脆弱性診断とは

Slide 12

Slide 12 text

巡回  Webアプリケーションを巡回し、診断対象とする URL の一覧を作成する。 診断  診断対象の URL に対して脆弱性診断を実施する。 報告  診断結果(検出した脆弱性や対策方法等)を報告する。 【前提2】Webアプリケーション脆弱性診断の流れ

Slide 13

Slide 13 text

【前提3】Burp extension とは Burp Suite  PortSwigger社製のWebアプリケーションセキュリティテスト用ツール。  プロキシとして動作し、HTTP通信の内容確認・編集・再送等が可能な GUI を提供する。  有償の Professional エディションでは脆弱性スキャナ機能も提供している。 Burp extension  Burp Suite の拡張ポイントである Burp Extender を用いて開発された拡張機能。  拡張ポイントの API は一般公開されている (※1) ため、誰でも開発可能である。  PortSwigger社公認の extension は BApp Store (※2) で公開されている。 ※1 https://portswigger.net/burp/extender ※2 https://portswigger.net/bappstore

Slide 14

Slide 14 text

Excel形式の診断メモの辛み  ・レイアウト崩れ  ・条件付き書式の維持が煩雑  ・フィルタリング操作が煩雑  ・URL一覧と診断メモのダブルメンテ  ・診断メモ見返し時の生ログ探しの旅  … ISTE開発の背景(1)

Slide 15

Slide 15 text

純正Repeaterの履歴が見辛い  ・いつ、何を意図したリクエストか一目で判らない  ・URL一覧との紐付きがない 認可制御の診断が地味に面倒  ・単純作業に近いが手数がかかる  ・全自動だと逆に使い勝手が悪い  ⇒ アカウント指定リピート機能ぐらいが調度いい パラメータ引継ぎが煩雑  ・リピートする上でパラメータ引継ぎ作業が煩雑  ・パラメータ引継ぎを組むならURL一覧と紐付けたい ISTE開発の背景(2)

Slide 16

Slide 16 text

ISTE: Integrated Security Testing Environment Webアプリケーション脆弱性診断員を 煩雑な作業から解放し 全集中へと導く 全部入り環境な Burp extension 2021年2月19日 公開 (v0.1.0) https://github.com/okuken/integrated-security-testing-environment

Slide 17

Slide 17 text

2. ISTE機能紹介

Slide 18

Slide 18 text

ISTE - Basic Features 機能 概要 起動経路 URL一覧 診断対象となるURLをプロジェクト単位で一覧管理する機能。名称 や備考の記入、並べ替えやフィルタリング、TSVやテンプレート形 式でのクリップボードへのコピー、各種 Send To 機能等も提供。 ISTE > List > (Table) 診断メモ プロジェクト単位、URL単位、リピート単位のメモ機能。メモのテ ンプレート設定も可能。 ISTE > Notes ISTE > List > (Notes) ISTE > List > Repeater > (Table) > Notes 進捗管理 URL一覧において進捗記入列を提供。進捗に応じた自動色付け、 フィルタリングが可能。 ISTE > List > (Table) > Progress リピート履歴管理 URL一覧の各URLについて、リピート実行機能とリピート履歴管理 機能を提供。 ISTE > List > Repeater リピートマスタ URL一覧の各URLについて、リピート実行のためのベースリクエス ト(Master)を定義し、リクエスト編集のベースとして呼び出し可能 とする機能。 ISTE > List > Repeater > Save as master ISTE > List > Repeater > Master

Slide 19

Slide 19 text

ISTE - Advanced Features 機能 概要 起動経路 アカウント指定リピート 対象システムのアカウントを指定してリピート実行する機能。 セッション再取得ボタンも提供。 ISTE > List > Repeater > (Selection) ISTE > (Request chain) > (Selection) アカウント管理 対象システムのアカウントを一覧管理する機能。登録したアカ ウントは、アカウント指定リピートで使用可能。 ISTE > Auth > Accounts 認証定義 対象システムの認証フロー、および認証フローの結果として得 たセッションID等をリピートリクエストに反映する方法を定 義する機能。この定義を使用して、アカウント指定リピートを 実行する。 ISTE > Auth > Edit auth-chain ISTE > Auth > How to apply vars リクエストチェーン URL一覧の各URLについて、リクエストチェーン(複数リクエ ストの連なりおよびパラメータ引継ぎを定義したもの)を定義 し、リピート実行する機能。チェーン全体のノンストップ実行 だけでなく、ステップ実行、ブレークポイント、単独ノードの 再実行など、柔軟な制御が可能。 ISTE > List > (Table) > (Context menu) ISTE > List > (Table) > (Double click) ISTE > List > Repeater > Chain

Slide 20

Slide 20 text

ISTE - Experimental Features 機能 概要 起動経路 診断メモのエクスポート 簡易なMarkdown形式で診断メモをエクスポートする機能。 ISTE > Tools > Exp/Imp > Export(.md) ISTE - Exploit Features 機能 概要 起動経路 Blind SQL Injection 検出済みの Blind SQL Injection 脆弱性を利用したデータ抽出 作業を自動化する機能。脆弱性が利用可能であることの実証を 目的として、データベースのバージョン情報等を抽出する際に 用いる。 ISTE > List > (Table) > (Context menu) > Exploit > Blind SQL Injection ISTE - Extender API 機能 概要 起動経路 プラグイン ISTEの拡張機能を開発できる拡張ポイントを提供。 https://github.com/okuken/iste-plugin-api https://github.com/okuken/iste-plugin-sample ISTE > Plugins

Slide 21

Slide 21 text

3. デモ

Slide 22

Slide 22 text

基本の流れ  1. URL一覧の作成  2. 診断メモ  3. リピーター  4. 進捗管理 アカウント指定リピート  1. Account table  2. 認証チェーン  3. 反映設定 v0.5.0 改善点・新機能  1. リクエストチェーン   1-1. URL一覧からの作成   1-2. ナビゲーター・レイアウト設定   1-3. 引き継ぎの半自動設定   1-4. 実行制御   1-5. 認証フローのブレークポイント  2. Aboutタブ

Slide 23

Slide 23 text

4. まとめ

Slide 24

Slide 24 text

ISTEはWeb脆弱性診断員を煩雑な作業から解放し、全集中へと導く ISTEは進化し続ける

Slide 25

Slide 25 text

対象者 :ISTEに興味をお持ちの方ならどなたでも 参加方法:下記の招待リンクからお気軽にご参加ください https://discord.gg/tRS9MGFVG2 ISTEコミュニティ用Discordサーバー「全集中ISTE」

Slide 26

Slide 26 text

5. 質疑応答

Slide 27

Slide 27 text

No content