レッスン 3-3
1 つの
読み終えたら手元の
この頁の流れ
侵入の
出典を確かめた日 2026年10月27日
なぜ上がれるのか
攻め手が
上がれてしまう
縦と横
権限昇格には
よく残る弱い設定
上がる
脆いコードと直したコード
ラボの
管理者なら何でも通すか、命令を絞るか
Python
ADMINS = {"ops"}
def may_run(user, cmd):
return user in ADMINSPython
ALLOWED = {"ops": {"systemctl restart web"}}
def may_run(user, cmd):
return cmd in ALLOWED.get(user, set())脆い方は、ops にALL を
使い終えても特権のままか、下げるか
Python
def handle(req):
do_privileged_setup()
serve(req) # ここも特権のままPython
def handle(req, drop):
do_privileged_setup()
drop() # 一般利用者の権限へ落とす
serve(req)脆い方は、
ログでの見え方と検知
守る
| 見る物 | なぜ効くか |
|---|---|
| 新しく | 要らない |
| 許可の | 絞った |
| 想定外の | 一般の |
足場は、
直し方と、直ったことの確かめ方
自分の
- 自分の VM で
find / -perm -4000 -type f 2>/dev/nullを回し、 SUID の 付いた 実行ファイルを 一覧にする - 一覧の
各ファイルに ついて、 本当に 特権が 要るかを 確かめる。 自分で 付けた 要らない物は chmod u-s <ファイル>で印を外す sudo -lと/etc/sudoers、/etc/sudoers.dを見て、ALL=(ALL) NOPASSWD: ALLのような広い 許可を探す - 広い
許可は、 sudoers の Cmnd_Aliasで、要る 命令だけの 一覧に絞る - コンテナは、
root で 動かさず、 要らない 権限を 落とし、 特権付きの 起動 ( --privileged) を外す - 下の
試験を 足し、 許可の 一覧を 広げると 試験が 落ちる ことを 確かめる - 終わったら、
VM の スナップショットを 戻すか、 作った 物を消す
Python
def test_denies_outside_allowlist():
assert not may_run("ops", "rm -rf /")
def test_unknown_user_runs_nothing():
assert not may_run("guest", "systemctl restart web")試験はALL を
関わる事例
大阪急性期・
アサヒグループでは、
- 2025年9月29日、
製造 (飲料・ アサヒグループ ランサムウェア食品) 被害 入口 外部の攻撃者が、 グループ内拠点に ある ネットワーク 機器を 経由して 内部 ネットワークに 侵入した (具体的な 侵入の 日時や 経路の 詳細は 特定されていない) - 2022年10月31日、医療 大阪急性期・
総合医療 入口 患者給食のセンター ランサムウェア 被害 委託事業者の 給食センターに、 リモート保守用の ファイアウォール (SSL-VPN) の 脆弱性か 漏洩していた IDと パスワードで 侵入され、 常時接続の RDPで 病院の 給食サーバーに 入られた - 2018年9月8日、
宿泊(ホテルチェーン) マリオット(スターウッド)予約 入口 2014年、データベース 侵害 Starwoodの IT システムの 装置に ウェブシェルが 設置されて 侵入されたが、 その 経路は 特定されていない。 侵入者は これを 足場に RAT(遠隔操作型 マルウェア)で 管理者権限を 奪い、 ネットワーク内を 動き回った。 - 2018年9月5日、
航空運送 ブリティッシュ・エアウェイズ 決済 入口 貨物ページ 改ざん 事件 サービス 業者 スイスポートの 従業員向けに 発行されていた リモートアクセス用 アカウントが 乗っ取られ、 多要素認証が 設定されていなかった ため、 そのまま BAの ネットワークへの 侵入を許した
確認クイズ
1 問目
委託先のALL=(ALL) NOPASSWD: ALL で
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
何でも
2 問目
自分の
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え ア
SUID の
説明課題
次の
- 手元の
VM で 見つけた 昇格の 経路を 1 つ挙げ、 どう塞ぐか
模範解答を見る
自分の VM で find / -perm -4000 をchmod u-s でCmnd_Alias で
一次資料
どれも
- sudoers Manual (sudo.ws、英語)。
Cmnd_Aliasと命令の 一覧で、 利用者が 実行できる 命令を 絞れること - Privilege Escalation, Tactic TA0004 (MITRE ATT&CK、英語)。
より 高い 権限を 得る 段階と、 使われる 技法のまとめ - SP 800-190 Application Container Security Guide (NIST、英語)。
コンテナ特有の セキュリティの 懸念と、 それに 対する 推奨の対策
次へ
次の
このレッスンにつながる物
トラック 3 攻撃と検証の中で
前のレッスン 3-2 再現と- 偵察と
攻撃面の 洗い出し - 再現と
影響の示し方 - 横への
広がりと 認証情報 - AssumeRole と
ロールの連鎖 - 報告と範囲 準備中
- 匿名の
ネットワークの 設計と限界 準備中 - 地下の
経済と リークサイト 準備中
