악성코드 dgrep.exe 를 기초, 정적, 동적 분석을 진행해보자
악성코드를 다운받기 전에 윈도우 시큐리티의 실시간 보호 기능을 꺼준다.

정적, 동적 분석에 들어가기 앞서서, 가장 간단하게 할 수 있는 분석, 기초분석 툴인 VirusTotal에 다운받은 악성코드 샘플을 넣어보자.

72개 엔진 중 67개 엔진이 해당 파일을 악성 파일로 진단하였다.
Adware, Trojan, Downloader, backdoor 형식의 악성파일로 판단
Win32 에서 구동

파일의 고유한 해시값을 참고하고자 할 때는 MD5, SHA-256 확인
해당 파일이 Win32 환경에서 구동되며,
패킹이 되어있는 것을 볼 수 있고, 언패킹하면 C++언어로 제작되어있다고 알려줌

RELATIONS 탭에서는 분석하고자 하는 파일이 특정 IP, 도메인과 통신을 하는지 참고
제공받은 정보를 바탕으로 패킹 여부 및 사용된 패커를 확인하여, 알맞은 언패킹 프로그램을 활용 후 압축을 풀어 악성코드를 분석할 수 있다.

Generic check : EXE STICKER ( 54 bytes ) like DotFix FakeSigner or PeStubOEP + inside exe Packed or protected
-> 이 실행 파일이 어떤 형태의 패킹 또는 보호 기술을 사용하고 있음을 뜻함, 어떤 패킹 기술이 사용되었는지 예측
Big sec. 02 [ UPX1 ] , try Quick unpack v4.2 - www.AHTeam.org - try RL!dePacker v1.5 from http://ap0x.jezgra.net
-> 언패킹을 할 수 있는 두가지 도구를 알려줌
언패킹을 하기 위한 도구

언패킹을 하고 난 뒤의 파일의 용량이 커진 것을 확인할 수 있었다.

언패킹을 한 파일을 다시 exeinfo 에서 정적분석을 해보자.

Microsoft Visual C++ v.5-6.0 - no sec. Cab.7z.Zip - 2015-10-09
Big sec. 04 [ .rsrc ] , Not packed , try debug www.ollydbg.de or www.x64dbg.com
-> C++로 프로그래밍됨을 알 수 있고, 언패킹 상태이다.
악성코드 파일 내의 문자열들을 해석하여 내부 정보를 확인할 수 있다.

여러 가지 C++, Win32 Api 함수가 확인된다.

%s%s.exe
cmd.exe
wiseman.exe
rundll.exe
해당 파일이 컴퓨터에서 실행될 수 있음을 의미
RedTom21@HotMail.com
해당 파일이 네트워크와 관련된 작업을 수행하거나
원격 서버와 통신하고 다운로드를 시도할 수 있음을 의미한다.

악성코드 내에서 DLL(동적 연결 라이브러리)이 있는지 필터링해서 찾아보기
DLL은 많은 프로그램에서 공통으로 사용하는 코드, 데이터, 리소스를 모듈화하여 저장된 파일
Windows 용 실행 파일인 PE ( Portable Executable ) 의 구조를 분석할 수 있는 툴
5A4D (MZ)로 시작 -> exe 파일

또한 Virtual Size와 Size of Raw Data 간의 크기 차이가 크기 않기에 패킹되어있지 않음을 다시 확인

API 함수의 주소 위치

DLL 파일의 위치를 파악할 수 있음.

해당 툴은 부팅 시 자동으로 실행되는 프로그램 및 서비스를 모니터링하고 관리하는 도구이다. 악성코드 분석 시 악성파일을 실행하기 전과 후의 스냅샷을 각각 촬영 후 비교하는 방식으로 활용한다.

달라진 점이 없다.

실시간으로 프로세스가 어떻게 변하는지 확인하기 위해 사용

실행후 10초가 있다가 사라진다.
로그로 확인해 보니 아주 다양한 활동을 하고 있다.

dgrep.exe 필터링 후, 해당 결과 확인해 보니 Result가 SUCCESS 외에
DISALLOWED, NAME NOT FOUND 등 부정적으로 발생한 프로세스 또한 확인된다.


해당 레포지토리 안의 파일을 찾지 못하고 있음.

선배들이 한것과는 다르게 나옴.
새로운 파일을 제대로 못만드는 것을 볼 수 있음.

심층적인 네트워크 분석을 위해 Wireshark를 통해 트래픽 검사

기초 분석때에 나왔던 8개정도의 ip 주소를 넣어서 확인해 봤지만 네트워크 트래픽은 확인할 수 없었다.

실행후 30분이 지나서 확인해 보니 악성파일이 없었다. 트로이 목마 형식임을 확인할 수 있다.

Bintext 등을 확인해 봤을 때, 추가적인 실행 파일인 Exe 가 들어가 있는 걸로 보아 원본 파일에 의해서 파생되는 것으로 추정해 볼 수 있다.
또한 동적분석 과정 중 dgrep.exe 파일을 동작시키면 하위에 새로운 파일을 생성하는 과정들도 있었다.이러한 특징들을 종합해 보면 다운로더의 일반적인 특징을 가지고 있다고 추정할 수 있다.
모든 악성 코드들은 정상인 파일인 것처럼 위장을 한 상태에서실행을 유도하고 분석 과정 중 원본 파일이 삭제가 되었던 것을 보아 트로이목마의 성격을 가지고 있다.
백도어 관련헤서 추정해 볼 수 있는 것은 시스템에 새로운 파일을 만들어 공격을 위한 뒷문을 열어두는 파일일 수 있다.
악성파일은 여러 가지 방법으로 작동을 하지만 해당 파일은 원래 새로운 파일을 만들고, 그 Cmd.exe 를 실행시키고 거기에서 파생되는 공격을 했을 가능성이 있다. 예를 들면 네트워크를 통한 접근을 시도하던가 시스템에 새로운 파일을 만들거나 접근하는 공격이 있다.
하지만 현재 분석 결과로 봐서는 제대로 하위 파일을 만들지 못하는 것으로 보인다. 그로 인해 시스템에 접근해서 새로운 파일을 만든다든지, 원격 도메인에 접근을 한다던지 하는 공격 모습을 보여주지 않는다.
같은 악성파일인데 시간이 지나면서 공격 방식이 더 약해질 수가 있는 것인지 궁금했다.
win32 환경이 아닌것도 영향이 될 수 있다.
멘토님 답변 : 악성 파일이 사용하는 도메인이나 ip주소가 보안 정책에 따라 차단이 될 수 있고, 시스템의 업데이트에 따라 악성파일이 제대로 작동하지 못하게 될 경우가 있다. 그러면서 악성 파일의 성격이 달라지기도 한다.