View a markdown version of this page

침투 테스트를 위한 인증 자격 증명 제공 - AWS 보안 에이전트

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

침투 테스트를 위한 인증 자격 증명 제공

AWS Security Agent가 웹 애플리케이션의 인증된 영역을 테스트할 수 있도록 자격 증명을 제공합니다. 자격 증명이 없으면 에이전트는 공개적으로 액세스할 수 있는 페이지 및 APIs.

인증 자격 증명 구성

  1. 침투 테스트 생성 워크플로에서 인증 자격 증명 - 선택 사항 섹션을 찾습니다.

  2. 자격 증명 #1 섹션에서 자격 증명 입력 방법을 선택합니다.

    • 자격 증명 입력 - 자격 증명을 직접 입력합니다. 개발 및 테스트 환경에 가장 적합합니다.

    • 고급 설정 - AWS 네이티브 자격 증명 관리를 사용합니다. 프로덕션 환경 및 민감한 자격 증명에 권장됩니다.

고급 옵션

고급 설정을 선택하면 세 가지 자격 증명 전략 중에서 선택할 수 있습니다.

  • IAM 역할 가정 - AWS Cognito 또는 IAM 인증을 사용하는 애플리케이션의 경우

  • AWS Secrets Manager - 암호화 및 교체를 통한 보안 자격 증명 스토리지용

  • Lambda 함수 - 동적 자격 증명 생성 또는 복잡한 인증 흐름용

자격 증명을 직접 입력

  1. 입력 자격 증명을 선택합니다.

  2. 사용자 이름과 암호를 입력합니다.

  3. 액세스 URL 드롭다운에서 이러한 자격 증명을 사용할 URL을 선택합니다. 대상 엔드포인트 목록에서 선택해야 합니다.

  4. (선택 사항) 2FA - 선택 사항 필드에서 2단계 인증이 필요한 애플리케이션에 대한 TOTP 암호를 제공합니다. 다음 작업 중 하나를 수행할 수 있습니다.

    • TOTP 보안 암호를 직접 입력하거나(예: JBSWY3DPEHPK3PXP) 전체 otpauth://totp/ URI를 입력합니다(예: otpauth://totp/Example:user@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example).

    • 업로드 아이콘을 선택하여 인증 앱 설정 페이지에서 QR 코드 이미지를 업로드합니다. QR 코드는 로컬에서 스캔되고 TOTP URI는 자동으로 추출됩니다.

      TOTP 보안 암호가 제공되면 에이전트는 새 일회용 코드를 자동으로 생성하고 로그인 중에 2FA 프롬프트가 감지되면 입력합니다.

  5. (선택 사항) 애플리케이션에 복잡한 인증 흐름이 있는 경우 에이전트 스페이스 로그인 프롬프트를 확장하여 특정 로그인 지침을 제공합니다.

중요

개인 또는 관리 계정이 아닌 대표 액세스 권한이 있는 테스트 계정을 사용합니다.

고급 설정 사용

고급 자격 증명 전략(Secrets Manager, Lambda 또는 IAM 역할)을 선택하면 AWS Security Agent는 서비스 역할을 사용하여 구성된 AWS 리소스에서 직접 자격 증명을 검색합니다. 에이전트 스페이스 로그인 프롬프트를 사용하여 에이전트에게 애플리케이션에 자격 증명을 적용하는 방법에 대한 지침을 제공합니다. 예를 들어 탐색할 로그인 URL과 채울 양식 필드 등이 있습니다.

참고

Secrets Manager 보안 암호 및 Lambda 함수는 AWS Security Agent 설정과 동일한 AWS 계정에 있어야 합니다. 교차 계정 자격 증명은 현재 지원되지 않습니다.

  1. 고급 설정을 선택합니다.

  2. 사용자 액세스 전략 드롭다운에서 다음 중 하나를 선택합니다.

에이전트가 수임할 사용 가능한 IAM 역할 선택

AWS Cognito, IAM 인증이 포함된 API Gateway 또는 기타 AWS 네이티브 인증 시스템을 사용하는 애플리케이션에이 옵션을 사용합니다. IAM 역할에는 AWS Security Agent가 이를 수임할 수 있는 신뢰 관계와 애플리케이션의 인증 시스템에 액세스할 수 있는 권한이 있어야 합니다.

연결된 AWS Secrets Manager에서 정적 자격 증명 선택

암호화, 교체 및 액세스 감사를 통해 AWS Secrets Manager에서 보안 인증을 안전하게 검색하려면이 옵션을 사용합니다.

IAM 역할에는 secretsmanager:GetSecretValuesecretsmanager:DescribeSecret 권한이 있어야 합니다.

에이전트는 Secrets Manager에서 직접 보안 암호 값을 검색합니다. 에이전트 스페이스 로그인 프롬프트를 사용하여 에이전트에게 애플리케이션의 로그인 흐름에 자격 증명을 적용하는 방법을 알려줍니다. 예를 들어 탐색할 URL과 채울 양식 필드 등이 있습니다. 에이전트가 로그인 프롬프트에 제공한 지침에 따라 형식을 해석하므로 모든 형식을 사용하여 보안 암호를 저장할 수 있습니다.

예를 들어 에이전트가 https://example.com/login 사용자 이름/암호 로그인 양식을 제출하는 경우 usernamepassword 필드를 사용하여 보안 암호를 JSON으로 포맷할 수 있습니다. 애플리케이션에 TOTP 기반 2FA가 필요한 경우 TOTP 보안 암호가 직접 있거나 전체 otpauth://totp/ URI가 있는 totpSecret 필드를 포함합니다.

{ "username": "test-user", "password": "secure-password-here", "totpSecret": "JBSWY3DPEHPK3PXP" }

그런 다음 인증 지침을 구성합니다. 액세스 URLhttps://example.com (또는 대상 엔드포인트 목록에서 선택한 다른 URL)로 설정합니다. 에이전트 스페이스 로그인 프롬프트에 "https://example.com/login 이동하여 제공된 사용자 이름과 암호를 양식에 입력합니다."를 입력합니다.

또 다른 예로, HTTP 헤더에 제공할 API 키가 있는 경우 일반 텍스트로 저장할 수 있습니다.

"api-key-here"

그런 다음 인증 지침을 구성합니다. 에이전트 스페이스 로그인 프롬프트에 "모든 요청에 대해 X-API-Key 헤더를 제공된 API 키로 설정"을 입력합니다.

중요

TOTP 기반 2FA만 지원됩니다. SMS, 이메일, 푸시 알림, 하드웨어 키 및 OAuth 인증은 지원되지 않습니다.

사용 가능한 Lambda 함수를 선택하여 자격 증명을 동적으로 검색

복잡한 인증 시스템, 동적 자격 증명 생성 또는 외부 자격 증명 공급자와의 통합에이 옵션을 사용합니다.

IAM 역할에는 lambda:InvokeFunction 권한이 있어야 하며 함수는 30초 이내에 완료되어야 합니다.

침투 테스트가 실행되면 AWS Security Agent는 AWS Lambda 함수를 동기적으로 호출하고 침투 테스트와 해결 중인 특정 자격 증명을 식별하는 이벤트를 전달합니다.

{ "pentest_arn": "arn:aws:securityagent:us-west-2:111122223333:pentest/pt-abcd1234-5678-90ab-cdef-EXAMPLE11111", "actor_identifier": "Credential1" }
  • pentest_arn - 자격 증명이 확인되는 침투 테스트의 Amazon 리소스 이름(ARN)입니다. 함수 내에서 요청의 범위를 지정, 권한 부여 또는 감사하는 데 사용합니다.

  • actor_identifier - 콘솔에서이 자격 증명에 할당한 자격 증명 이름입니다(예: Credential1). 단일 함수가 여러 자격 증명을 제공할 때 올바른 자격 증명을 반환하는 데 사용합니다.

에이전트는 함수의 출력을 자격 증명으로 직접 사용합니다. 에이전트 스페이스 로그인 프롬프트를 사용하여 AWS Secrets Manager와 동일한 방식으로 애플리케이션에 이러한 자격 증명을 적용하는 방법을 에이전트에게 알립니다. Lambda 함수 및 지원되는 인증 유형의 출력을 포맷하는 방법에 연결된 AWS Secrets Manager에서 정적 자격 증명 선택 대한 예는 섹션을 참조하세요.

여러 자격 증명 구성

다양한 사용자 역할 또는 인증 시스템을 테스트하려면:

  1. 다른 자격 증명 추가를 선택합니다.

  2. 두 입력 방법 중 하나를 사용하여 추가 자격 증명을 구성합니다.

  3. 자격 증명을 제거하려면 자격 증명 섹션에서 제거를 선택합니다.

로그인 최적화

로그인 최적화를 통해 AWS Security Agent는 이전 Pentest 실행의 탐색 패턴을 학습하고 후속 실행에 적용할 수 있습니다. 이러한 패턴에는 로그인 흐름과 다단계 인증 워크플로가 포함됩니다. 이렇게 하면 에이전트가 인증 방법을 다시 검색하는 데 소요되는 시간이 줄어들어 스캔 속도가 빨라지고 테스트 적용 범위가 더 일관되게 유지됩니다.

로그인 최적화 작동 방식

첫 번째 Pentest 실행에서 에이전트는 사용자가 제공한 자격 증명을 사용하여 애플리케이션의 로그인 흐름을 탐색하는 방법을 발견합니다. 성공적인 탐색 단계를 기록하고 학습된 로그인 워크플로를 캡처하는 스킬 파일을 생성합니다.

후속 실행 시 에이전트는 저장된 스킬 파일을 읽고 학습된 탐색 패턴을 직접 적용하여 검색 단계를 건너뜁니다. 이는 다음을 의미합니다.

  • 인증 테스트 시간 단축 - 에이전트는 처음부터 탐색하는 대신 검증된 탐색 패턴을 즉시 적용합니다.

  • 보다 일관된 동작 - 에이전트는 대안을 탐색하는 대신 동일한 검증된 경로를 따릅니다.

참고

로그인 최적화는 실행 내 첫 번째 로그인 세션 중에 학습합니다. 동일한 실행의 후속 로그인 세션은 첫 번째 세션에서 학습한 내용을 활용할 수 있습니다. 향후 실행 시 모든 로그인 세션은 저장된 스킬의 이점을 누릴 수 있습니다.

로그인 최적화 활성화 또는 비활성화

로그인 최적화는 기본적으로 활성화됩니다. 비활성화하거나 다시 활성화하려면:

  1. pentest 구성에서 인증 자격 증명 - 선택 사항 섹션으로 이동합니다.

  2. 로그인 최적화 토글을 찾습니다.

  3. 로그인 최적화를 활성화하려면 토글을 켭니다. 비활성화하려면 끕니다.

비활성화하면 에이전트가 실행할 때마다 로그인 흐름을 처음부터 다시 검색합니다. 이전에 학습한 탐색 기술은 보존되며 기능이 다시 활성화된 경우 다시 적용됩니다.

작은 정보

애플리케이션의 로그인 흐름이 크게 변경되면(예: 재설계된 로그인 페이지 또는 새 인증 단계) 에이전트는 다음 실행 시 학습된 스킬을 업데이트하여 자동으로 적응합니다. 최적화를 수동으로 재설정할 필요가 없습니다.