Translated ['', 'src/pentesting-cloud/aws-security/aws-post-exploitation

This commit is contained in:
Translator
2026-01-18 11:48:01 +00:00
parent cf2a5a21aa
commit d2cddcab83
@@ -4,20 +4,20 @@
## STS
자세한 정보:
For more information:
{{#ref}}
../../aws-services/aws-iam-enum.md
{{#endref}}
### From IAM Creds to Console
### IAM 자격증명으로 콘솔 접근
만약 IAM credentials를 획득했다면, 다음 도구들을 사용하여 **웹 콘솔에 액세스**하는 데 관심이 있을 수 있습니다.\
참고로 사용자/역할은 **`sts:GetFederationToken`** 권한을 가지고 있어야 합니다.
IAM 자격증명을 확보한 경우 다음 도구들을 사용하여 **웹 콘솔에 접근**하는 데 관심이 있을 수 있습니다.\
사용자/역할은 **`sts:GetFederationToken`** 권한을 가지고 있어야 합니다.
#### 커스텀 스크립트
다음 스크립트는 기본 프로파일과 기본 AWS 리전(gov 및 cn 제외) 사용하여 웹 콘솔에 로그인하는 데 사용할 수 있는 서명된 URL을 제공합니다:
다음 스크립트는 기본 프로과 기본 AWS 위치(gov 및 cn 제외) 사용하여 웹 콘솔에 로그인하는 데 사용할 수 있는 서명된 URL을 제공합니다:
```bash
# Get federated creds (you must indicate a policy or they won't have any perms)
## Even if you don't have Admin access you can indicate that policy to make sure you get all your privileges
@@ -55,7 +55,7 @@ echo -n "https://signin.aws.amazon.com/federation?Action=login&Issuer=example.co
```
#### aws_consoler
다음 도구로 **웹 콘솔 링크를 생성**할 수 있습니다: [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler).
다음 [https://github.com/NetSPI/aws_consoler](https://github.com/NetSPI/aws_consoler)를 사용해 **웹 콘솔 링크를 생성할 수 있습니다**.
```bash
cd /tmp
python3 -m venv env
@@ -64,11 +64,11 @@ pip install aws-consoler
aws_consoler [params...] #This will generate a link to login into the console
```
> [!WARNING]
> IAM 사용자에게 `sts:GetFederationToken` 권한 있는지 확인하거나, assume할 role을 제공하세요.
> IAM 사용자 `sts:GetFederationToken` 권한을 가지고 있는지 확인하거나, assume할 role을 제공하세요.
#### aws-vault
[**aws-vault**](https://github.com/99designs/aws-vault) 은 개발 환경에서 AWS 자격 증명을 안전하게 저장하고 액세스하기 위한 도구입니다.
[**aws-vault**](https://github.com/99designs/aws-vault) 은 개발 환경에서 AWS 자격 증명을 안전하게 저장하고 접근하기 위한 도구입니다.
```bash
aws-vault list
aws-vault exec jonsmith -- aws s3 ls # Execute aws cli with jonsmith creds
@@ -77,9 +77,13 @@ aws-vault login jonsmith # Open a browser logged as jonsmith
> [!NOTE]
> 또한 **aws-vault**를 사용하여 **브라우저 콘솔 세션**을 얻을 수 있습니다
### Web Console에서 IAM Creds로
브라우저 확장 **<https://github.com/AI-redteam/clier>** 는 네트워크에서 IAM 자격 증명을 브라우저 메모리에 보호되기 전에 가로챌 수 있습니다.
### **Python에서 User-Agent 제한 우회**
사용**user agent에 따라 특정 작업 수행 제한는 경우**(예: user agent에 따라 python boto3 라이브러리 사용을 제한하는 경우) 이전 기을 사용해 **브라우저를 통해 웹 콘솔에 연결**하거나, 또는 다음과 같이 직접 **boto3 user-agent를 수정**할 수 있습니다:
사용되는 **user agent에 따라 특정 작업 수행하는 것을 제한제한**이 있는 경우(예: user agent에 따라 python boto3 library 사용을 제한하는 경우) 이전 기을 사용해 **브라우저를 통해 web console에 연결**하거나, 직접 **boto3 user-agent를 수정**할 수 있습니다:
```bash
# Shared by ex16x41
# Create a client
@@ -94,12 +98,12 @@ response = client.get_secret_value(SecretId="flag_secret") print(response['Secre
```
### **`sts:GetFederationToken`**
이 권한을 사용하면 실행하는 사용자에게 부여된 권한으로 제한된 연합 ID(federated identity)를 생성할 수 있습니다.
이 권한으로는 이를 실행하는 사용자에 대해 해당 사용자가 가진 권한으로 제한된 federated identity를 생성할 수 있습니다.
```bash
aws sts get-federation-token --name <username>
```
sts:GetFederationToken이 반환하는 토큰은 호출 사용자의 federated identity에 속하지만 권한이 제한됩니다. 사용자가 관리자 권한을 가지고 있더라도, IAM users 목록 조회나 policies 첨부와 같은 특정 작업은 federated token으로 수행할 수 없습니다.
sts:GetFederationToken이 반환하는 토큰은 호출 사용자의 연동 아이덴티티에 속하지만 권한이 제한됩니다. 사용자가 관리자 권한을 가지고 있더라도 IAM 사용자 나열이나 정책 연결과 같은 특정 작업은 이 연동 토큰으로 수행할 수 없습니다.
또한 이 방법은 다소 은밀합니다. federated user가 AWS Portal에 표시되지 않기 때문에 CloudTrail 로그나 모니터링 도구를 통해서만 관찰할 수 있습니다.
또한 이 방법은 다소 은밀합니다. 연동 사용자는 AWS Portal에 나타나지 않으므로 CloudTrail 로그나 모니터링 도구를 통해서만 관찰할 수 있습니다.
{{#include ../../../../banners/hacktricks-training.md}}