외부 및 내부 태깅, SOC 알림을 포함한 DFIR 작업에 대한 PowerShell과 Swimlane 통합을 보여주는 다이어그램입니다.

우물을 독살하라: 수비수를 위한 공격 작전

"최고의 방어는 공격이다"라는 오래된 격언이 보안 운영 센터(SOC)와 정보 보안 팀 사이에서 다시 주목받고 있습니다. 하지만 많은 사람들에게 꾸준한 레드팀 활동과 침투 테스트는 쏟아지는 경고와 알람을 조사하는 데 비해 다소 무리한 목표처럼 느껴질 수 있습니다.

만약 완벽하게 개발된 모의 공격에 시간과 자원을 투자할 여력이 없다면, 공격자가 어떤 행동을 할지 예측하고 이를 역이용하는 방식으로 공격에 나설 수 있습니다. 공격자가 누구든 간에, 그들은 데이터 유출을 노릴 가능성이 높습니다.

오염된 파일 시드

이번 글에서는 악의적인 공격자가 중요한 정보를 훔치는 것을 포착하기 위해 네트워크에 악성 파일(즉, 페이로드가 포함된 파일)을 유포하는 기법을 살펴보겠습니다. 저희가 선택한 도구 중 하나는 오픈 소스 사후 공격 도구입니다., PowerShell Empire. 강력한 공격 기능을 갖추고 있으며, Swimlane과의 통합을 간편하게 해주는 편리한 REST API를 제공합니다.

페이로드를 삽입하세요

먼저, 네트워크에 배치할 파일을 만들어야 합니다. 이 글에서는 여러분이 다양한 미디어 형식에 페이로드를 삽입하는 방법을 알고 있다고 가정합니다. 만약 모른다면, 몇 가지 기본 사항을 알려드리겠습니다..

핵심은 페이로드를 그럴듯하게 만들되, 너무 그럴듯하게 만들지는 않는 것입니다. 공격자들이 우리가 원하지 않는 귀중한 정보를 우연히 발견했다고 생각하도록 만들어야 합니다. 파일은 네트워크에서 흔히 볼 수 있는 항목들과 일관성을 유지해야 하지만, 눈길을 사로잡는 이름으로 지정해야 합니다. Empire는 다양한 페이로드 옵션을 제공하므로, 여러 가지를 섞어서 사용하세요. 내부 개발이 진행 중이라면 Word 문서 외에도 다른 유형의 파일을 섞어 사용하는 것이 좋습니다. ELF 바이너리는 다양성을 확보하는 데 매우 효과적인 방법입니다.

엠파이어-유즈-태거

이러한 파일을 광범위하게 배포하는 것에 대해 이야기하고 있는데, 공격자의 관심을 끌 가능성을 극대화하려면 여러 위치에 다양한 유형의 파일을 배치해야 합니다. 사용자 엔드포인트도 좋지만, 파일 서버는 데이터 유출에 가장 적합한 위치입니다. 공격자가 시간에 크게 쫓기지 않는 한, 파일 공유를 주요 공격 대상으로 삼는 경우가 많습니다. 또한, 시스템 내의 허니팟(가짜 서버)에 파일을 숨겨두고 공격자를 실제 서버가 아닌 그곳으로 유인할 수 있다고 생각해서는 안 됩니다. 악성 파일을 실제 운영 시스템에 추가하여 공격자에게 그럴듯하게 보이도록 만들어야 합니다.

자, 이제 우리는 공격자가 다운로드하여 열기를 기다리는 임베디드 파일을 가지고 있습니다. 하지만 콜백을 포착한 후에는 어떻게 해야 할까요? 애초에 왜 시딩 파일을 만드는 걸까요? 우선, 민감한 데이터가 도난당하고 있다면 당연히 알아야 할 것입니다. 더 중요한 것은 이런 식으로 공격자를 막을 수 있는 방법은 몇 가지밖에 없으며, 그 해답은 "맞대응 해킹"이 아닙니다. 진정한 APT 공격자를 막는 유일한 방법은 그들의 도구(익스플로잇, 페이로드 등)를 노출시키는 것입니다. 또는 그들의 인프라를 노출시키는 것입니다. 이러한 요소들을 공개하면 그들은 변화를 강요받게 되는데, 이는 종종 비용이 많이 들거나 운영에 심각한 영향을 미칩니다.

아, 그리고 보세요. 방금 콜백을 포착했네요. (물론, 스윔레인을 통해 자동화하고 있기 때문에 평소에는 이런 콜백을 볼 수 없죠.)

엠파이어 - 콜백

스윔레인으로의 유입은 다른 경로로의 유입과 동일하게 처리됩니다. 엠파이어와의 통합을 통해 다음과 같은 기능을 수행합니다.

  1. 우리 제국 청취자들의 현황을 매분 확인합니다.
  2. 엠파이어 요원을 매분 확인합니다.
  3. 에이전트 세션이 설정되면 스윔레인 워크플로는 특정 조건에 따라 일련의 작업을 실행합니다.

공격자가 이제 막 데이터 유출을 시작했을 수도 있고, 우리의 시도를 눈치챌 수도 있기 때문에 시간이 매우 중요하다는 것을 우리는 알고 있습니다. 따라서 우리는 공격자가 누구인지, 어떤 도구를 사용하는지 등 공격자에 대한 정보를 최대한 빨리 수집해야 합니다. 마치 공격자의 시스템을 단 한 번만 볼 수 있는 것처럼 접근해야 합니다.

Swimlane의 워크플로를 사용하여 "특수" 파일에서 콜백을 수신할 경우 수행해야 하는 작업을 이미 정의했습니다.

엠파이어 리스너 스윔레인 워크플로우

내부 IP든 외부 IP든 (둘 다 공격자의 잠재적 침투 지점이 될 수 있음) 관계없이 PowerShell DFIR 명령어를 실행하고 알림을 보내기로 했습니다. 이러한 작업에는 ARP 캐시 가져오기, netstat, 프로세스 확인, 빈 프로세스 검사(발견 시 메모리 덤프 가져오기 포함), 스크린샷, 드라이브 열거 등이 포함됩니다.

엠파이어-파워셸-스윔레인-스크린샷

외부 IP 주소인 경우, 콜백 시 에이전트에 할당한 작업이 실행되지 않을 가능성이 더 높다는 점을 명심하십시오. 대부분의 APT 공격자는 네트워크와의 통신을 제한하기 때문입니다. 따라서 초기 콜백에서 최대한 많은 정보를 확보하는 것이 최선의 방법입니다. 다행히 Empire에서는 페이로드를 Base64로 인코딩하여 임베드하기 전에 수정할 수 있으므로, 자유롭게 수정해 보세요.

이제 상세한 조사를 시작할 때입니다.

이게 전부일까요? 물론 아닙니다. 공격자들이 재사용하고 있을 가능성이 높은 몇 가지 공격 전술 및 절차(TTP)를 확보했고, 더 자세한 조사를 시작할 준비가 되었습니다. 하지만 이 부분은 별도의 게시물에서 다루도록 하겠습니다. 오늘은 오픈 소스 도구와 자동화 도구를 활용하여 네트워크 내 악의적인 행위자를 추적하고 시의적절한 데이터를 수집할 수 있었다는 점에서 충분히 성공적인 결과라고 생각합니다.

라이브 데모를 요청하세요