Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ポートスキャナー入門: 正しく判断するために知っておきたいこと
Search
hackeT
April 24, 2025
Technology
0
13
ポートスキャナー入門: 正しく判断するために知っておきたいこと
ISACA名古屋支部_2025年04月SR分科会 資料
hackeT
April 24, 2025
Tweet
Share
More Decks by hackeT
See All by hackeT
OPSEC (Operations Security) について 知っておきたいこと
hacket
0
86
スレットハンティングについて知っておきたいこと
hacket
0
550
ランサムウェア攻撃について知っておきたいこと
hacket
0
210
APIセキュリティについて 知っておきたいこと
hacket
2
200
日曜フォレンジック ~デジタルカメラの写真と動画を復旧せよ~
hacket
0
69
msticpyの実践活用: 高度な脅威ハンティングを実現すべくSIEMとの虹の懸け橋となる
hacket
1
69
Practical msticpy use ~ rainbow bridge to SIEM for advanced threat hunting ~
hacket
0
150
フィッシング詐欺について知っておきたいこと
hacket
1
120
知られざるLOADERマルウェアの世界
hacket
0
110
Other Decks in Technology
See All in Technology
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
140
人工衛星のファームウェアをRustで書く理由
koba789
10
6.3k
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
360
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
530
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
420
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.7k
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
580
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
A better future with KSS
kneath
239
17k
We Have a Design System, Now What?
morganepeng
53
7.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing for Performance
lara
610
69k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Code Reviewing Like a Champion
maltzj
525
40k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Transcript
ϙʔτεΩϟφʔೖ ਖ਼͘͠அ͢ΔͨΊʹ͓͖͍ͬͯͨ͜ͱ 2025年4⽉ SR分科会 ISACA名古屋⽀部 調査研究担当・CISA教育担当 理事 ⻑⾕川達也 2025年4⽉19⽇(⼟) 14:00-14:50
はじめに • セキュリティリサーチ(SR)分科会へようこそ︕ • リサーチ報告で 広く浅くインプット • ⼿を動かすハンズオンで アウトプット&エンジニアリング •
ディスカッション(交流)で ⼈脈形成 ご都合よろしければ、15:00〜の ISACA⽉例会にもご参加ください 本⽇は ハンズオン特化回
全体概要 タイムテーブル 1. ハンズオン演習説明 5分 2. ハンズオン時間 35分 3. 簡単な解説とまとめ
10分 演習⽤ ”ネットワークレンジ”に対してnmap/netcatツールで各種スキャン I ホストスキャン II ポートスキャン III サービススキャン を⾏うハンズオン演習 背景︓ポートスキャンは攻撃者の偵察に使われるのみならず、死活監視やネットワークの 把握にも活⽤される機会もあるため、広く知っておくべきテクニック 演習⽤サーバーを使って、演習⽤ネットワークレンジ以外へスキャンしないでください。
ハンズオン環境 参加者 演習管理用 Webサーバー ターゲットC ターゲットB ターゲットA 演習管理用Webサーバー越しにターゲットネットワークにのみスキャン 192.168.8.0/26 SlackでURLを共有
ポートスキャンの⼀般的なプロセス 脆弱性スキャン サービスのバージョン情報やバナー⽂字列だけでなく、脆弱性に該当するかのPoCパケットを送信もしたりする サービス(バージョン)スキャン オープンポートごとの起動サービス名とバージョンを知りたい ポート番号ごとに応答するバナー⽂字列を確認 ポートスキャン 起動ホストごとのオープンポートを知りたい TCP/UDP でポート番号ごとにパケット応答を確認
ホストスキャン ネットワーク上の起動ホストを知りたい Reverse DNS、ARP、ICMP、TCP/UDP で IPアドレスを探索
演習管理⽤Webサーバー(1) ログインページ 演習開始時にPasswordをSlackで共有します。 Passwordを⼊⼒フォームに⼊れて、Loginボタンを教えてください。 以後、セッションCookieでログイン状態を認識します。
演習管理⽤Webサーバー(2) スキャンツール実⾏ページ 利⽤できるツールは、nmapとnetcatのみです。 バージョンやオプション引数等はご⾃⾝でコマンドヘルプをご確認ください。(-h || --help) 管理者権限が必要な場合は、sudoオプションを☑ください。 (nmapのみ可) 時間がかかるScanを実施した際、諦める場合は必ずCancelボタンを押してください。
演習管理⽤Webサーバー(3) スキャンツール実⾏ページ結果 コマンドの結果は、Webページと 開発者ツールのJavaScriptコン ソールにも出⼒されます。 結果から有益な情報を各⾃で記録 してください。結果末尾にコピー ボタンを配置しています。 前⾴の「Go to
Answer Page」の ボタンを押すと回答ページに遷移 します。
演習管理⽤Webサーバー(4) 回答ページ Server A,B,CはIPアドレスの第4オクテットの昇順です。 例 “22/tcp|ssh”の形式で、発⾒できたオープンポートらについて “port番号/tcpまたはudp|service名”を⼊⼒し、「Submit」ボタンを押して回答を提出します。 Server A,B,Cには 演習管理⽤Webサーバーと
192.168.8.1のGW IPは 含みません
演習管理⽤Webサーバー(5) 回答ページ 結果 各Server内はどこにどのポートを⼊れても正解ポートが含まれていれば反応します。 また過去に⼊⼒した正解のポートは「セッションストレージ」で管理しています。 ぜひ20問全問正解を⽬指してがんばってください︕単純に1問 5%のScoreです。 service名は基本nmap定義に準拠します が、⼀部それだけでは正解にならずCTFのように調査して正しいservice名を探してもらう 問題があります。
作問者の⽬標は全員が
演習管理⽤Webサーバー(6) トラブルシューティング︖もしもこんなエラーが出たら 演習Webサーバーのコマンド実⾏がうまくいかない場合は↓ 1. ツール実⾏中の場合はまず「Cancelボタン」を押してください。 2. 「Cancelボタン」が機能しなければ、ツール実⾏ページをF5リロードしてください。 3. それでも状況が改善しなければ、セッションCookieを削除してください。削除後F5リロードす るとログインページからのやり直しとなり、セッション状況が初期化されますが、セッションス
トレージは残存するので過去の正解回答は残ったままです。 4. まだ解決しなければ、演習期間のブラウザーキャッシュを削除し、Webブラウザー再起動してく ださい。 5. 演習管理⽤Webサーバーが機能しなくなった場合に備えて、SOCKSプロキシを併設しています。 SOCKSプロキシを使わなければならない状況になったらアクセス⽅法をお伝えします。+どうし ても⾃分のツール環境から演習に参加したい⽅にはSOCKSプロキシへのアクセス⽅法をお伝えし ますのでSlackでDMください。 例: Websocketが過去のセッションを利用しようとしているがすでに存在しないエラー、過去を消去し、リセットするべきトラブル
ハンズオン演習スタート それでは、わいわいと ポートスキャン演習スタートです。 ご不明点があれば、遠慮なく管理者(⻑⾕川) を会場で捕まえるか、SlackでDMください。 簡単な解説は、終了10分前から⾏います。 Good Luck! 時間短縮のヒント︓ Server
B と Server C は10000番ポート以下 のみ解答フラグに含みます
コマンド引数のヒント ⚠本演習⽤サーバーにおける内部UNIXシェルへの受け渡しでは、いくつかの無害化処理を施しております nmapコマンド --version コマンドバージョン確認 -h ヘルプ表⽰ -nn DNS名前解決しない -vv
very verbose 詳細のデバッグ表⽰(⻑く時間がかかる場合に重宝) -Pn Probe none。⽣きているホストのIPアドレスが⾃明の場合はこれをセットするとホストスキャンをスキップ。 -p 22,80 22番と80番ポートのみに絞ったスキャン -p- 0-65535のすべてのポートへのスキャン -sV バージョンスキャン(アプリケーションレイヤーのパケットを解析) -sU UDPのポートに対するスキャンに必須 + sudo 権限も必須 sudoオプションを付与するとどうなるかはご⾃⾝でご確認ください。 netcatコマンド -N 標準⼊⼒終了後即時切断 -w 2 2秒後に切断 <<< SOMETHING ヒアストリング機能。この場合、標準⼊⼒で⽂字列SOMETHINGを送信します。またクオート(ʻや””)で 囲むとうまくいかない可能性があります。複雑な⽂字列の⼊⼒は必要としませんし、解答へ向けて環境変数とのバッティング もありません。
簡単な解説
簡単な解説まとめ(ਖ਼͘͠அ͢ΔͨΊʹ͓͖͍ͬͯͨ͜ͱ) Nmap • ホストスキャン - ⼀般ユーザー権限では、 80/tcp、443/tcp の 2ポートしかスキャンしない😭 -
管理者権限にてようやく、ARP + ICMP でスキャンできる😊 • ポートスキャン - デフォルトではよくサーバーが稼働している1000個のポート番号へのTCPスキャンのみ - sU: UDP (管理者権限が必要)。レアなポート番号には-pでポート番号の指定必須 - ポート番号毎に主たるサービス名がマッチアップされている(例 23/tcp = telnet) • サービス(バージョン)スキャン - sV: 実際に受け取ったバナー⽂字列等によりサービス名とバージョンを判断 Netcat (スキャニング⽤途) • TCP またはUDPのパケットのみ対応、ARPやICMPは送れない • デフォルトTCP (例 -nvw2)、UDPは-uが必要 (例 -nvwu2)
次回のSR分科会は「2025年7⽉19⽇(⼟)」 SR分科会へのご参加ありがとうございました。 次回の詳細情報は、Slackで別途ご連絡します。 次回は、ディスカッション回で花⽥先⽣(理事)(SR分科会副査)による 「企業版サイバーポリスゲーム」 「名古屋国際センター第⼆研修室 @国際センター駅」で現地のみの開催です