실습환경: 악성코드 파일과 정상 파일이 같이 있는 디렉토리에서 악성 여부 판별하기
서명정보 분석
Sysinternals Suites의 sigcheck 툴을 사용해서 실행파일이 있는 폴더를 스캔해 보자
→ C:\lab\PE-COFF\> sigcheck
'sigcheck' 명령어를 실행하니 디렉토리 내에 파일들의 sign 정보가 나온다
악성코드들은 unsigned라고 나오고 정상파일은 signed인 것이 확인
엔트리포인트 분석
StudPE 툴을 이용해서 악성파일을 열람한다
→ 정상파일은 엔트리포인트가 .text .code인 반면에
→ 악성코드는 엔트리포인트가 다른 곳일 것이다
Stud_PE로 계산기 프로그램을 덤프해보니 .text 섹션에 EP(엔트리포인트)가 보임
→ 정상적인 프로그램이다
반면 다음 실행프로그램을 보니 엔트리포인트가 다른 곳이고, 패킹도 되어있다
→ 이상징후
→ 패킹: 실행파일을 암호화하거나 압축해서 정상적인 코드 식별을 저해
버전 및 설명 정보 분석
Sysinternals Suites의 sigcheck 툴을 사용해서 실행파일이 있는 폴더를 스캔해 보자
→ C:\lab\PE-COFF\> sigcheck
정상적인 파일은 파일 버전과 description 모두 정보가 있지만
다른 파일은 파일버전이 비어있거나 이상하다 → 이상징후
신경 써서 만든 악성파일의 경우 일부 정보가 있을 수도 있지만 누락 항목이 있음
이제 CFF_Explorer로 자세히 검증해 보자
정상적인 프로그램인 calc.exe는 리소스 에디터에서 버전 정보가 확인이 되는 반면에
이상징후가 있던 malicious 파일은 버전정보가 전혀 뜨지 않는다
임포트 한 API 목록 분석
PE Studio에 한 실행파일을 로드했다
좌측의 라이브러리에 들어가면 dll 세 가지를 참조하고 있다는 걸 알 수 있는데
WININET.dll은 네트워크 통신에 사용되는 dll 이므로 네트워크 통신을 하고 있는 것으로 보인다
imports 카테고리를 들어가면 x 표시가 보이는데 이는 악성 행위에 자주 사용되는 함수들을 나타냄
특히 InternetReadFile, InternetOpenUrlA 등은 인터넷 관련 동작에 사용되는 함수들임
추가 악성행위 의심 Import 대상들
- 네트워크 통신 lib: WININET.DLL
- 프로세스 권한 상승 함수: LookupPrivilegeValueW, InternetCloseHandle, InternetOpenUrlA, InternetOpenUrlW
- 프로세스 생성 함수: CreateProcess
- 파일 시스템 조작 함수: WriteFile
API 해시 사용여부 분석
YARA64 툴을 사용
api_hash_ror13add.yara 파일을 이용해서 해시 검증
yara64 -r api_hash_ror13add.yara C:\lab\PE-COFF\malware-[number]
해당 파일은 악성 프로그램들의 해시값을 다수 가지고 있는 라이브러리다
실행해 보니 블랙리스트 API 함수 이름이 다수 매칭되어 있으므로 악성프로그램이라고 할 수 있다
실행파일 포함 여부
CFF Explorer 사용해서 분석함
Resource Editor에 들어가니 BINARY_INJECTOR, BINARY_SHAPEMBR 이 있다
BINARY_INJECTOR의 첫 부분에 실행 파일의 시그너처인 MZ가 있으므로
해당 프로그램은 내부에 실행 파일이 포함되어 있음 → 의심할만함
BINARY_SHAPEMBR 역시 첫 부분에 실행 파일의 시그너처인 MZ가 있으므로 해당 프로그램은 내부에 실행 파일이 포함되어 있음 → 의심할만함
이름만 봐서는 binary injector는 실행파일 인젝션, shapembr은 mbr을 와이핑 하는 것으로 보이지만 추가분석이 필요함
'악성코드 분석' 카테고리의 다른 글
PE파일의 악성 및 비정상 여부 식별 방법 이론 (0) | 2025.03.04 |
---|---|
맬웨어 식별 훈련 :: 악성 오피스 문서 식별방법 이론과 실습 (0) | 2025.02.16 |
맬웨어 식별 훈련 :: 오피스 문서의 포맷 실습 (0) | 2025.02.16 |
맬웨어 식별 훈련 :: 오피스 문서의 포맷 이론 (0) | 2025.02.15 |
맬웨어 식별 훈련 :: 악성파일의 구성요소 (0) | 2025.02.14 |