1. 개요
- 미국 CISA, NSA, FBI 등에서 러시아 연방 보안국(FSB)과 연관된 것으로 추정되는 Snake 악성코드 분석 보고서 발표
- Snake 악성코드는 50여 개 국가 정부 네트워크, 연구 시설 및 언론 등을 대상으로 민감 정보 탈취를 시도
2. 주요내용
① 러시아 배후 해킹 그룹 Turla는 피싱메일과 무차별 대입 공격을 통해 자격 증명 정보 획득 및 관리자 권한 획득 시도
- 초기 액세스 권한 획득 후 Snake 악성코드 배포
> jpsetup.exe(이미지 뷰어 설치 프로그램)을 통해 Snake 악성코드 배포
> 정상적인 경로(%windows%\WinSxS\)에 WerFault.exe 등록하여 지속성 유지
WinSxS (Windows Side By Side)
- Windows OS의 "DLL Hell" 문제를 해결하기 위해 만들어짐
※ DLL Hell: DLL을 관리할 때 발생할 수 있는 모든 문제를 의미
> Windows OS는 프로그램 사용 시 DLL파일을 사용
> 업데이트 등으로 DLL이 변경되는 경우 DLL 관련 문제가 발생할 수 있음
※ DLL 버전 충돌 문제, 프로그램이 의존하는 DLL 파일을 찾을 때의 어려움, 불필요한 DLL 파일 복사본이 만들어지는 문제 등
> 이러한 문제를 해결하기 위한 목적으로 등장
- 윈도우 업데이트 시 시스템, 드라이버가 변경되는 폴더, 파일들을 WinSxS 폴더에 백업
> 프로그램 실행 시 해당 디렉터리에서 DLL에 관한 정보를 불러옴
> 이를 통해 의존성 문제를 줄일 수 있음
② 관리자 권한 획득 후 도메인 컨트롤러에 액세스
- 조직의 전체 네트워크에 대한 정보 수집 목적
> 키로거, 네트워크 스니퍼, 오픈 소스 등의 도구를 사용
③ 여러 노드를 경유하여 내부 정보 유출
- 여러 프로토콜을 이용한 통신(TCP, UDP, HTTP, SMTP, DNS 등)과 암호화를 사용해 탐지 우회
3. 탐지규칙
3.1 Snort
- 권고된 탐지 규칙을 적용하기 전 운영 환경을 고려하여 적용여부 검토
alert http any any -> any any (msg: "http rule (Cookie)";pcre:"/[0-9A-Za-z]{10}[0-9A-Za-z\/\+]{11}=/C";flow: established, to_server;sid: 7; rev: 1;)
alert http any any -> any any (msg: "http rule (Other Header)";pcre:"/[0-9A-Za-z]{10}[0-9A-Za-z\/\+]{11}=/H";flow: established, to_server;sid: 8; rev: 1;)
alert http any any -> any any (msg: "http2 rule (Cookie)";pcre:"/[0-9A-Za-z]{22}[0-9A-Za-z\/_=\;]{11}/C";flow: established, to_server;sid: 9; rev: 1;)
alert http any any -> any any (msg: "http2 rule (Other Header)";pcre:"/[0-9A-Za-z]{22}[0-9A-Za-z\/_=\;]{11}/H";flow: established, to_server;sid: 10; rev: 1;)
alert tcp any any -> any any (msg: "tcp rule";content: "|00 00 00 08|"; startswith; dsize: 12;flow: established, to_server; flowbits: set, a8; flowbits: noalert;sid: 1; rev: 1;)
alert tcp any any -> any any (msg: "tcp rule";content: "|00 00 00 04|"; startswith; dsize:8;flow: established, to_server; flowbits: isset, a8; flowbits: unset, a8;flowbits: set, a4; flowbits: noalert;sid: 2; rev: 1;)
alert tcp any any -> any any (msg: "tcp rule";content: "|00 00 00 08|"; startswith; dsize: 4;flow: established, to_client; flowbits: isset, a4; flowbits: unset, a4;flowbits: set, b81; flowbits: noalert;sid: 3; rev: 1;)
alert tcp any any -> any any (msg: "tcp rule";dsize: 8; flow: established, to_client; flowbits: isset, b81;flowbits: unset, b81; flowbits: set, b8; flowbits: noalert;sid: 4; rev: 1;)
alert tcp any any -> any any (msg: "tcp rule";content: "|00 00 00 04|"; startswith; dsize: 4;flow: established, to_client; flowbits: isset, b8; flowbits: unset, b8;flowbits: set, b41; flowbits: noalert;sid: 5; rev: 1;)
alert tcp any any -> any any (msg: "tcp rule";dsize: 4; flow: established, to_client; flowbits: isset, b41;flowbits: unset, b41;sid: 6; rev: 1;)
3.2 Yara
- Snake Queue File 탐지
rule HighEntropy
{
meta:
description = "entropy rule"
condition:
math.entropy(0, filesize) >= 7.0
}
- Snake Werfault.exe 탐지
rule PeIconSizes
{
meta:
description = "werfault rule"
condition:
pe.is_pe
and
for any rsrc in pe.resources:
(rsrc.type == pe.RESOURCE_TYPE_ICON and rsrc.length == 3240)
and
for any rsrc in pe.resources:
(rsrc.type == pe.RESOURCE_TYPE_ICON and rsrc.length == 1384)
and
for any rsrc in pe.resources:
(rsrc.type == pe.RESOURCE_TYPE_ICON and rsrc.length == 7336)
}
4. 기타 대응 방안
- 암호 변경: 기본 암호 사용, 암호 유출 가능성 등을 고려하여 전사 차원의 암호 변경
- 최소권한부여: 관리자 권한 획득을 어렵게 하기 위함
- MFA 적용: 계정에 엑세스하지 못하도록 하기 위함
'악성코드 > 분석' 카테고리의 다른 글
대한민국 사용자를 대상으로 한 SugarGh0st RAT (1) | 2023.12.04 |
---|---|
KISA 보안 업데이트로 위장한 악성코드 유포 (0) | 2023.06.13 |
악의적인 MS Word RTF File 악성코드 유포 (CVE-2017-0199) #3 (0) | 2023.05.05 |
악의적인 MS Word RTF File 악성코드 유포 (CVE-2017-0199) #2 (0) | 2023.04.26 |
악의적인 MS Word RTF File 악성코드 유포 (CVE-2017-0199) #1 (0) | 2023.04.24 |