【応募課題】 特定の脆弱性を持ったコードやコンフィグ等を作成して、脆弱なコードや設定等の例・脆弱性説明・修正方法・なぜその脆弱性を選定したかを自由に記述してください。また、AIエージェントで修正を行う際のプロンプトを作成してください。複数の脆弱性について取り組んでいただいても構いません。回答例を添付いたします。自由に意気込みなども書いていただいて構いません。 【解答例】 # Z3ゼミ:応募課題 私はXXを学ぶためYYに関する知識を...。よって...。 ## 脆弱性1:Reset Password権限 Active DirectoryにおけるReset Passwordを悪用した攻撃はセキュリティインパクトが高いため選定をした。 ### 脆弱なコンフィグの例示 ```powershell # 以下をDomainAdminのShellで実行 $user = [ADSI]"LDAP://CN=Hanako Hasegawa,OU=LabUsers,DC=lab,DC=local" $user.psbase.ObjectSecurity.Access # 以下結果 ActiveDirectoryRights : ExtendedRight ObjectType : 00299570-246d-11d0-a768-00aa006e0529 AccessControlType : Allow IdentityReference : LAB\saitou IsInherited : False ``` ### 脆弱性説明 - ObjectTypeの`00299570-246d-11d0-a768-00aa006e0529`は`User-Force-Change-Password extended right`を意味している。 - 参考:https://learn.microsoft.com/ja-jp/windows/win32/adschema/r-user-force-change-password - `LAB\saitou`は`LAB\Hasegawa`への直接ACEを利用して、パスワードをリセットできるという設計になっている。 ### 修正方法 以下のコマンドを利用して該当オブジェクトを削除する。 ```powershell $user = [ADSI]"LDAP://CN=Hanako Hasegawa,OU=LabUsers,DC=lab,DC=local" $acl = $user.psbase.ObjectSecurity $guid = New-Object Guid "00299570-246d-11d0-a768-00aa006e0529" ... ``` さらに修正をおこなうエージェントを構築する場合には以下のようなプロンプトを送信する。 ``` 管理しているサーバーには「Reset Password権限による強制的なパスワード変更」の脆弱性が存在する。 以下は実施したコマンドです: - [実施コマンド] 以下はコマンド実行結果です: - [コマンドの実行結果] この脆弱性の修正をおこなうために、以下のフォーマット形式で修正コマンドを教えてください。 { [ "planName": "プラン名", "command": "powershell_command" ] ... } ``` ## 脆弱性2:Apacheの... ...略