aws 침해 대응 워크샵 (공격 시뮬레이션 개요)
공격 시뮬레이션 개요
이번 단계에서 진행할 공격 과정은 다음 그림처럼 일반적으로 AWS 상에서 많이 시도되는 전형적인 침해 유형을 반영하여 구성되어 있습니다
먼저, 공격자는 타겟의 정보를 수집하고 취약한 부분을 탐색하는 정탐 과정을 진행합니다. 다양한 공격 도구와 기법들을 동원해서 타겟 인스턴스에 로그인이 성공하면, 인스턴스 탈취의 상황이 됩니다. 공격자는 이 단계에서 본인의 목적 수행을 위한 멀웨어를 설치하거나, 인스턴스 상의 중요 정보를 탈취하게 됩니다. 일반적으로 해커들이 EC2 인스턴스에서 노리는 것은 인스턴스 Role에 부여된 임시 자격증명 입니다. 이것을 탈취하여 여기에 부여된 IAM 권한들을 이용하여 AWS API들을 성공적으로 호출하고, 이를 통해 해당 AWS 어카운트 전체를 장악하는 과정을 진행하게 됩니다.
여러분들이 앞으로 실습하게 될 공격과정은 위 그림과 같이 총 6개의 단계로 진행됩니다. 우선 서로 다른 2개의 서브넷 상에 공격자 인스턴스(Malicious Host)와 타겟 인스턴스(Compromised Host)가 구성됩니다. Malicious Host에는 EIP가 할당되어 있고, GuardDuty상에 위협목록으로 등록되어 있기에, 식별된 공격자의 역할을 수행하게 됩니다. 반대로 Compromised Host에는 시나리오를 위해 SSH Password 방식 인증을 허용하도록 구성했고, IAM, CloudTrail, S3 등에 중요 권한을 가지고 있는 IAM Role이 부여되어 있습니다. 또한 i-am-malware라는 악성코드 역할을 하는 간단한 스크립트가 구성되어 있습니다.
-
Compromised Host로의 포트 스캐닝을 통해 SSH 22번 포트가 오픈되어 있음을 인지하고, SSH Bruteforce 공격을 진행합니다. 이 공격을 통해 최종적으로 로그인 아이디와 패스워드가 확보될 것입니다.
-
공격자는 확보된 아이디/패스워드를 가지고 Compromised Host에 부여된 인스턴스 Role 인 Compromised Role의 임시 자격증명을 획득합니다.
-
공격자는 설치된 멀웨어를 기동하여, 의도한 바를 진행합니다. 본 실습에서는 비트코인 마이닝 풀에 접근하고, DNS를 이용한 정보 유출을 시도하게 됩니다.
-
탈취한 자격증명을 통해, 해킹 흔적을 지우기 위해 CloudTrail의 로깅 기능을 비활성화합니다.
-
공격자는 또한 S3 버킷을 탐색하여, 중요한 파일들이 저장된 버킷에서 파일들을 다운로드하고, 버킷 암호화 설정을 해제한 다음, 해당 버킷을 Public 오픈합니다.
-
마지막으로 어카운트 전체를 탈취하기 위해, 프락시 IAM 사용자를 생성하고, 관리자 권한을 부여합니다.
댓글남기기