# TrailDiscover

## 개요

다음을 사용할 수 있습니다 [TrailDiscover](https://github.com/adanalvarez/TrailDiscover) Panther에서 보강 소스로 사용할 수 있습니다. TrailDiscover는 자세한 설명, MITRE ATT\&CK 인사이트, 실제 인시던트 참조, 연구 링크 및 보안 영향에 대한 정보를 포함하는 CloudTrail 이벤트의 지속적으로 발전하는 리포지토리입니다.

다음 방법을 알아보세요 [저장된 enrichment 데이터를 여기에서 보기](/ko/enrichment.md#viewing-and-managing-enrichments), 그리고 방법 [여기에서 보강 데이터가 포함된 로그 이벤트 보기](/ko/enrichment.md#viewing-log-events-with-enrichment-data).

## TrailDiscover 작동 방식

TrailDiscover는 로그의 `eventName` 키를 사용하여 TrailDiscover의 관련 정보로 CloudTrail 이벤트를 보강합니다. [Amazon Security Lake](/ko/data-onboarding/supported-logs/aws/security-lake.md)를 사용하는 경우 TrailDiscover는 `api.operation` 필드를 보강하며, 이 필드에는 CloudTrail 이벤트 이름이 포함됩니다.

## TrailDiscover 보강 설정

{% tabs %}
{% tab title="콘솔" %}
**Panther 콘솔에서 TrailDiscover 보강을 설정하는 방법**

1. Panther 콘솔의 왼쪽 탐색 모음에서 다음을 클릭합니다 **디택션**.
2. 다음을 클릭합니다 **Packs** 탭.
3. "TrailDiscover"를 검색하고, **TrailDiscover Lookup Tables** 타일에서 다음을 클릭합니다 **사용** 토글 `ON`.
4. 팝업 확인 모달에서 다음을 클릭합니다 **계속**.
5. 보강이 활성화되었는지 확인하려면 왼쪽 사이드바 메뉴에서 다음을 클릭합니다 **구성** > **Enrichments.**
   * 이 페이지에서 모든 보강 소스, 각 소스가 현재 활성화 또는 비활성화되어 있는지 여부, 그리고 소스의 데이터가 마지막으로 새로 고쳐진 시점을 확인할 수 있습니다.
     {% endtab %}

{% tab title="CLI" %}
**CLI 워크플로에서 TrailDiscover 보강을 설정하는 방법**

* CLI 워크플로에서 TrailDiscover를 설정하려면 다음의 Panther 관리형 보강에 대한 지침을 따르세요 [Panther Analysis Tool로 Lookup Table 및 Enrichment Provider 관리하기](/ko/panther/detections-repo/pat/managing-enrichment.md). 현재 Panther 콘솔에서의 설정은 사용할 수 없습니다.

다음 고려 사항에 유의하세요:

* CI/CD 사용자는 TrailDiscover 보강 테이블을 가져오기 위해 디택션 팩을 사용할 필요가 없습니다. 최신 릴리스를 가져올 수 있습니다 [`panther-analysis`](https://github.com/panther-labs/panther-analysis) 그리고 다음을 사용할 수 있습니다 `panther_analysis_tool` (PAT)을 사용하여 TrailDiscover 보강 테이블을 업로드합니다
  * 다음을 사용하여 TrailDiscover 테이블을 활성화하려면 [`panther-analysis`](https://github.com/panther-labs/panther-analysis) repo에서 각 해당 YAML 구성 파일을 열고 다음을 설정해야 합니다 `enabled: true`.
* CI/CD 사용자는 PAT를 사용해 TrailDiscover 테이블을 사용자 지정하지 않는 한, 디택션 팩을 통해 TrailDiscover 보강을 활성화할 수 있습니다.
  * Panther 콘솔에서 TrailDiscover를 활성화한 후 PAT를 통해 관리하기로 선택한 경우, 먼저 Panther 콘솔에서 디택션 팩을 비활성화해야 합니다. Panther 콘솔과 PAT를 동시에 사용하여 TrailDiscover를 관리하는 것은 지원되지 않습니다.
* TrailDiscover 보강을 관리하는 방법에 대한 자세한 내용은 다음을 참조하세요 [Panther GitHub 리포지토리의 TrailDiscover 파일](https://github.com/panther-labs/panther-analysis/tree/main/lookup_tables/traildiscover).
  {% endtab %}
  {% endtabs %}

## TrailDiscover로 보강된 예시 이벤트

아래는 TrailDiscover 데이터로 보강된 CloudTrail 로그입니다.  `TrailDiscover` 내의 객체는 `p_enrichment` 에 대한 추가 정보를 포함합니다 `AssumeRole` 이벤트(예: 관련 인시던트, 연구, MITRE ATT\&CK 전술 및 기법 링크).

```json
{
  "awsRegion": "us-east-1",
  "correlation_룰_matches": {},
  "database_name": "panther_logs",
  "eventCategory": "Management",
  "eventID": "5d0ee1aa-cac2-3876-9808-aecdc2b720ab",
  "eventName": "AssumeRole",
  "eventSource": "sts.amazonaws.com",
  "eventTime": "2024-04-24 19:23:36.000000000",
  "eventType": "AwsApiCall",
  "eventVersion": "1.08",
  "managementEvent": true,
  "p_enrichment": {
    "TrailDiscover": {
      "eventName": {
        "awsService": "STS",
        "description": "AWS 리소스에 액세스하는 데 사용할 수 있는 임시 보안 자격 증명 세트를 반환합니다.",
        "eventName": "AssumeRole",
        "eventSource": "sts.amazonaws.com",
        "incidents": [
          {
            "description": "DangerDev@protonmail.me의 흥미로운 사례",
            "link": "https://www.invictus-ir.com/news/the-curious-case-of-dangerdev-protonmail-me"
          },
          {
            "description": "낙원의 문제",
            "link": "https://blog.darklab.hk/2021/07/06/trouble-in-paradise/"
          }
        ],
        "mitreAttackTactics": [
          "TA0001 - 초기 액세스",
          "TA0003 - 지속성",
          "TA0004 - 권한 상승"
        ],
        "mitreAttackTechniques": [
          "T1199 - 신뢰 관계",
          "T1078 - 유효한 계정"
        ],
        "p_match": "AssumeRole",
        "permissions": "https://aws.permissions.cloud/iam/sts#sts-AssumeRole",
        "researchLinks": [
          {
            "description": "역할 체인 저글링",
            "link": "https://hackingthe.cloud/aws/post_exploitation/role-chain-juggling/"
          },
          {
            "description": "IAM 보안 정책에서 위험한 작업을 디택션하고 제거하기",
            "link": "https://www.solvo.cloud/blog/detecting-and-removing-risky-actions-out-of-your-iam-security-policies/"
          }
        ],
        "securityImplications": "공격자는 AssumeRole을 사용하여 AWS 역할에 무단으로 액세스할 수 있습니다. 이로 인해 초기 액세스를 획득하거나, 권한을 상승시키거나, 특정 시나리오에서는 지속성을 확보할 수 있습니다.",
        "simulation": [
          {
            "type": "commandLine",
            "value": "aws sts assume-role --role-arn arn:aws:iam::123456789012:role/TrailDiscover --role-session-name TrailDiscover"
          }
        ],
        "usedInWild": true
      }
    }
  },
  "readOnly": true,
  "recipientAccountId": "123456789012",
  "requestID": "ddcb3c89-b762-43a1-a2b7-33f6f1afac53",
  "requestParameters": {
    "roleArn": "arn:aws:iam::123456789012:role/some-role",
    "roleSessionName": "SOME_SESSION"
  },
  "resources": [
    {
      "accountId": "123456789012",
      "arn": "arn:aws:iam::123456789012:role/some-role",
      "type": "AWS::IAM::Role"
    }
  ],
  "responseElements": {
    "assumedRoleUser": {
      "arn": "arn:aws:sts::123456789012:assumed-role/some-role/SOME_SESSION",
      "assumedRoleId": "AROASXP6SDABCDEFGL:SOME_SESSION"
    },
    "credentials": {
      "accessKeyId": "ASIASXABCDEFGRGZ",
      "expiration": "2024년 4월 24일 오후 8:23:36",
      "sessionToken": "token"
    }
  },
  "sharedEventID": "a077320f-2184-482c-8e6d-e1e9ddfde08f",
  "sourceIPAddress": "cloudtrail.amazonaws.com",
  "table_name": "aws_cloudtrail",
  "userAgent": "cloudtrail.amazonaws.com",
  "userIdentity": {
    "invokedBy": "cloudtrail.amazonaws.com",
    "type": "AWSService"
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/enrichment/traildiscover.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
