2022. 2. 17. 22:11ㆍ보안 연구/Reversing
본 티스토리 블로그는 PC 환경에 최적화되어 있습니다.
모바일 유저분들은 아래 네이버 블로그를 이용해 주세요.
이번에 분석해 볼 악성코드는 AgentTesla라는 가짜 메일 위장 악성코드입니다.
악성코드 자체 분석 난도는 높지 않으나 dll 파일을 열고 분석하는 과정에서 많은 난관에 부딪혔습니다.
.net 파일 계열을 패킹해 주는 intellilock이라는 방식의 패커가 있는데 이걸 언 패킹하는 기존의 방식을 모두 시도했지만 실패했습니다.
일단 오늘은 제가 분석한 것까지만 포스팅을 진행하도록 하겠습니다.
1. file information
테슬라 회사를 위장한 가짜 이메일을 통해 웹 개인 정보를 탈취하는 행위를 사전에 확인하고 분석에 임해 보도록 하겠습니다.
2. 바이너리 분석
함수 엔트리 포인트 들어가서 가장 먼저 호출되는 함수인 ChangeIterator 함수 원형을 확인해 보면 야후 닷컴에 ping을 날리는 걸 볼 수 있는데, 이는 해당 감염 PC가 인터넷에 연결되어 있는지 확인하는 용도입니다.
인터넷 연결이 확인되면 특정 사이트에 접속해서 어떤 .log 파일을 다운로드하는 것을 볼 수 있습니다.
아래 추가적인 코드를 보면 해당 파일의 내용을 뒤집고 끝나는 것을 알 수 있는데, 이 파일을 직접 다운로드해서 뒤집어 본 결과 DLL 파일임을 알 수 있습니다.
# -*- coding: utf-8 -*-
# Read file(binary)
f=open('C:/Users/kimse/Desktop/86510343307xls.log','rb')
data = f.read()
# Reverse data
rev_data = data[::-1]
# Write file(binary)
e=open('C:/Users/kimse/Desktop/result.txt','wb')
e.write(rev_data)
e.close()
아래는 추출된 파일의 정보를 캡처한 화면입니다.
.net 계열의 DLL 파일이므로 한번 dnspy에 열어 보도록 하겠습니다.
아까 위장 엑셀 파일이 dll 파일을 다운로드하고 그 직후 중단점을 걸어 어떤 함수를 import 하는지 확인하고 dll 파일에 검색해서 해당 함수를 확인해 보니 난독화되어 있었습니다.
혹시나 해서 해당 부근의 코드를 모두 확인했으나 클래스 명, 인자 값 모두 암호화되어 있어서 확인이 불가능했습니다.
언패 킹이라도 찾자는 마인드로 확인해 보니 비교적 최신 버전의 패커를 사용해서 제 실력으로는 무리라고 판단했습니다.
해당 파일은 intellilock이라는. net 전용 패커를 사용했는데, 하필 언 패킹할 파일이 dll이라 정확한 지식이 없어서 풀지 못했습니다.
(일반적으로 단순히 언패커에 파일 넣어 푸는 방식이랑 다르다고 알고 있습니다.)
이 부분의 코드를 복구할 수 있다면 msbuild.exe 호출 후 백그라운드 상주 및 smtp 프로토콜로 정보 유출 대상을 확인할 수 있지만...
윈도 공부해서 분석할 수 있는 그날이 오길 기다리며 여기서 기록을 마치도록 하겠습니다...
혹시 언패킹을 진행해 볼 분 있으시면 아래 해당 dll 파일을 남겨 놓도록 하겠습니다.
(풀리면 후기 부탁해요!!!)
'보안 연구 > Reversing' 카테고리의 다른 글
악성코드 분석일지 - corona ddos bot(2) (0) | 2022.02.21 |
---|---|
악성코드 분석일지 - corona ddos bot(1) (0) | 2022.02.20 |
프로젝트 5일차 (0) | 2022.02.14 |
바이너리 언패킹(2) - 압축과 엔트로피 (0) | 2022.02.01 |
바이너리 언패킹(1) - 엔트로피 계산 (0) | 2022.01.28 |