작은 메모장

Yara Rule 작성 응용 실습 본문

KISA 사이버 보안 훈련/YARA 정규표현식 활용

Yara Rule 작성 응용 실습

으앙내눈 2023. 6. 25. 23:31

조금 더 어려운 문제들을 풀어보자

문제풀이에 사용될 악성파일은 기본적으로 제공받은 파일을 사용하였음

 

 

 

첫 번째 문제

아는 정보가 너무 한정적

기본적인 Yara룰부터 만들고 시작

BinText는 프로그램 바이너리 내에서 택스트 문자만 추출해주는 프로그램

즉, 이 파일을 특정할 수 있는 텍스트를 직접 탐색하는 프로그램

조건에서 언급한 악성 파일을 BinText에서 실행

텍스트들을 내리다보면 PADDING이 무진장 길게 써있는 텍스트를 발견

일반적인 프로그램들은 16진수 값으로 00을 작성하는 편이 대다수

이 파일은 PADDINGXX라는 값으로 이를 표현함

이를 Yara Rule에 추가

작성한 룰을 바탕으로 하위 디랙토리에 있는 파일까지 검사 후, result.txt에 이를 저장

뭐가 잔뜩 나오긴 함, 그래도 많이 거름

하지만 결과가 일관성 있게 통일된 내용은 아님

특징잡은 IOC정보가 수정이 가능한 임의의 문자열 값이라 이런 일이 발생

조금 더 변동이 적은 IOC 값을 지정해야 함

 

CFF Explorer는 실행파일에 대한 정보를 보기 쉽게 정리해주는 프로그램

각종 사용하는 디랙토리, 헤더, 에디터 등 다양한 정보를 인식 후 보여 줌

이를 이용하여 악성 파일을 분석

왼쪽 목록 중 Import Directory는 프로그램 실행을 위해 불러오는 DLL 파일 및 사용되는 함수 정보가 담겨있는 영역

즉, 악성 파일이 어떤 행위를 하려는지 사용하는 파일을 보고 유추가 가능

이는 파일 버전이 업그레이드 되더라도 사용하는 파일은 쉽게 변경되지 않는다는 점에서 활용 가능

Import Directory를 열면, 특정 dll파일만을 사용하는 것을 확인 가능

이 dll 파일명을 IOC 정보로 이용함

이 결과값을 result2.txt로 저장

많이 정리되긴 했지만, 여전히 다른 파일들이 보이는 상황

정확도를 높이기 위해 dll파일 내에 함수를 Yara룰에 추가

KERNEL32.dll 파일 내에 FindFirstFileA함수와 CopyFileA를 IOC 정보로 이용

이 둘은 파일 관련 함수로, 악성행위를 함에 있어서 중요한 포인트가 될 수 있음

이 두 함수의 이름을 IOC 정보로 활용

탐지 결과를 result3.txt에 저장

여전히 다른 파일들이 많이 보이지만, 특정한 이름의 파일이 등장하는 것으로 판단

이 파일이 문제의 파일과 유사한 행위를 함을 유추할 수 있음

따라서 정답은 FannyWorm이라는 악성코드라고 판단

 

 

두 번째 문제

타겟이 되는 파일을 먼저 CFF Explorer로 분석

특이하게도 이 파일은 사용하는 dll과 함수 모두 하나씩만 존재

이 두 이름 모두 IOC 정보로 이용

결과를 따로 저장

많이 걸러지긴 했는데 뭐가 정답 파일인지는 특정할 수 없음

이를 해결하기 위해 BinText로 유의미란 텍스트를 찾음

SmartAssembly가 사용된 것을 볼 수 있음

SmartAssembly는 코드를 암호화하기 위해 패킹을 수행하는 서비스

이 정보는 악성코드 개발자의 개발 환경을 유추할 수 있음

이를 IOC 정보로 이용

karo.exe라는 이름이 검출되었음

karo.exe는 확인할 수 없는 정상 실행 파일명으로 판단되지 않음

이 정보를 IOC 정보로 이용

출력 결과를 저장

svchost.exe라는 이름의 랜섬웨어가 정답임을 확인 가능

'KISA 사이버 보안 훈련 > YARA 정규표현식 활용' 카테고리의 다른 글

Yara Rule 모듈 사용 실습  (0) 2023.06.26
Yara Rule 모듈 사용 기본  (0) 2023.06.26
Yara Rule 작성 기본 실습  (0) 2023.06.25
Yara Rule  (0) 2023.06.25
Yara 개념  (0) 2023.06.25