> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/enrichment/traildiscover.md).

# TrailDiscover

## 개요

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

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

## TrailDiscover의 작동 방식

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

## TrailDiscover 보강 설정

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

1. Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요. **탐지**.
2. 다음 타일을 클릭하세요: **팩** 탭.
3. "TrailDiscover,"를 검색한 다음, **TrailDiscover 룩업 테이블** 타일에서 다음을 클릭합니다 **활성화됨** 토글 `켜기`.
4. 팝업 확인 모달에서 **계속**.
5. 인리치먼트가 활성화되었는지 확인하려면 왼쪽 사이드바 메뉴에서 다음을 클릭합니다 **인리치먼트.**
   * 이 페이지에서 모든 인리치먼트 소스, 각 소스의 현재 활성화 또는 비활성화 여부, 그리고 소스 데이터가 마지막으로 새로 고쳐진 시점을 확인할 수 있습니다.
     {% endtab %}

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

* CLI 워크플로에서 TrailDiscover를 설정하려면, Panther가 관리하는 보강에 대한 다음 지침을 따르세요 [Panther Analysis Tool을 사용한 조회 테이블 및 인리치먼트 공급자 관리](/ko/panther/detections-repo/pat/managing-enrichment.md). Panther Console에서의 설정은 현재 사용할 수 없습니다.

다음 사항을 참고하세요:

* 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를 사용하여 TrailDiscover 테이블을 활성화하려면, 해당 YAML 구성 파일을 각각 열고 다음을 설정해야 합니다 `enabled: true`.
* PAT를 사용해 TrailDiscover 테이블을 사용자 지정하지 않는 한, CI/CD 사용자는 디택션 팩을 통해 TrailDiscover 보강을 활성화할 수 있습니다.
  * Panther Console에서 TrailDiscover를 활성화한 후 PAT를 통해 관리하려면, 먼저 Panther Console에서 디택션 팩을 비활성화해야 합니다. Panther Console과 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": "Apr 24, 2024, 8:23:36 PM",
      "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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
