일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- pwnable
- elk stack
- Credential Access
- ATT&CK
- SQLMap
- software
- Index
- wargame
- windows
- elasticsearch
- filesystem
- 가이드라인
- PetitPotam
- node.js
- #C언어 #연산자
- Threat Intelligence
- 시스템해킹
- rce
- forensic
- exploit
- Mitre
- #whitespace #
- 프론트엔드개발자
- error 583066
- 침해사고
- sql인젝션
- 백엔드개발자
- AD
- 정보보안
- 랜섬웨어
- Today
- Total
Plit00's Story
[Windows] - Access Token(1) 본문
< 수업에서 진행했던 권한 상승기법 중 ACL과 Access Token에 대해 더 알아보기위해 쓴 글>
OS 권한 관리 | ||
PC | User단위 | 오브젝트(acl)에 권한이 있냐 없냐 User기반 인증 체계 |
Mobile | App단위 | 사용자가 누군지 모르지만 app base인증 체계 |
PC
- Linux 특정 오브젝트에 acl 걸어둠
Windows
- Access Token 발급
Access Token Info
- User’s Account SID
- 유저가 구성원인 그룹의 SID
- 현재 LogginSession을 식별하는 Logon SID
- User 또는 User_Group이 보유한 privilege list
- Owner SID
- Primary Group SID
- 사용자가 보안 설명자를 지정하지 않고 보안 개체를 생성할 때 시스템이 사용하는 *DACL
#DACL(임의 액세스 제어 목록)과 SACL(시스템 액세스 제어 목록)
*DACL(임의 액세스 제어 목록, ACL의 한종류) ACL(액세스 제어 목록) : ACE(액세스 제어 항목)의 목록 ACL의 각 ACE는 trustee를 식별하고 허용,거부 또는 액세스 권한을 지정
DACL은 보안 개체에 대한 액세스가 허용되거나 *trustee를 식별 *Truestee
class __Trustee
{
string Domain;
string Name;
uint8 SID[];
uint32 SidLength;
string SidString;
uint64 TIME_CREATED;
};
ACL은 위 구조를 사용하여 이름 Strings나 SID를 사용하여 구별 가능
ACE를 만드는 함수는 SID 버퍼를 할당하고 계정 이름에 해당하는 SID를 찾는 작업을 수행 *Trustee구조를 초기화하는 두 가지 함수 ⇒ BuildTrusteeWithSid, BuildTrusteeWithName
Trustee 초기화 함수 ⇒ BuildTrusteeWithObjectsAndSid, BuildTrusteeWithObjectsAndName
- restrict Access Token을 따로 발급
CreateRestrictedToken 함수는 Token 제한이 가능하다.
- Token에서 권한을 제거한다.
- 보안 개체에 액세스 하는데 사용할 수 없도록 토큰의 SID에 block 특성을 적용
- 보안 개체에 대한 액세스를 제한할 수 있는 제한 SID 목록을 지정
CreateProcessAsUser 함수에 대한 호출에서 제한된 Simple Token을 사용할 수 있다. CreateProcessAsUser 를 호출하는 프로세스에는 SE_ASSIGNPRIMARYTOKEN_NAME *권한이 있어야한다.
*권한 : LocalSystem 에서 실행되는 서비스나 시스템 코드에서 보유
CreateProcessAsUser 호출이 기본 Token의 제한된 버전을 지정하는 경우 권한 필요X
OpenProcessToken 함수를 사용하여 프로세스의 기본 Token에 대한 Handle을 검색 OpenThreadToken 함수를 사용하여 thread 의 Token에 대한 Handle을 검색
'Security > Forensic' 카테고리의 다른 글
[Mac OS] - Architecture (1) | 2023.02.06 |
---|---|
[Windows Artifact] - Shortcut(.*LNK) (0) | 2023.02.05 |
[Windows] - LSASS Memory Dump (0) | 2022.05.15 |
[Windows] - Authentication Structure(lsass.exe) (0) | 2022.05.15 |
[Windows] - Access Token(2) (0) | 2022.05.15 |