2018. 5. 3. 09:14ㆍ악성코드 분석
[ 기초 정적분석 ]
1> ExeinfoPE
패킹의 흔적은 보이지 않으며, 임포트한 dll을 확인할 수 있었다
2-1> pestudio (1)
VariantInit, SysAllocString, SysFreestring함수를 사용하고 있다
2-2> pestudio (2)
의심스러운 www.malwareanalysisbook.com/ad.html 주소가 확인되었다
[ 기초 동적분석 ] - SysAnalyzer
1> 실행화면
악성파일 실행 후 30초동안 이루어지는 시스템의 현상을 살펴보자
2> Open Ports
여러개의 포트가 열어짐이 확인된다
3> Directory Watch
인터넷을 요청하기 위해 IEUser Directory를 사용함을 확인할 수 있다
4> API Log
악성파일이 사용한 함수 흔적들이다
* COM ( Component Object Model )
소프트웨어 컴포넌트에서 상호 세부내용을 모르더라도 서로 다른 코드를 호출할 수 있게하는 인터페이스 표준이다
COM은 Client / Server Framework로 구현한다
Client는 COM객체를 사용할 수 있게 하는 프로그램이고, 프로그램이 사용할 수 있는 수많은 COM객체가 존재한다
COM객체는 GUID(Globally Unique Identifiers)(= CLID or IID )를 통해 접근한다
[ 고급 정적분석 ]
OleInitialize( )
COM을 사용하는 스레드는 적어도 한 번은 OleInitialize나 CoInitializeEx함수를 호출해야한다.
CoCreateInstance( rclsid,pUnkOuter,dwClsContext,riid,ppv )
COM기능에 접근할 때 사용한다
ppv는 인터페이스를 가리키는 포인터 - CLSID, IID로 요청해 얻은 인터페이스
RETURN VALUE : 구조체를 가리키는 포인터
* 현재 본 파일은 CLSID와 IID를 Statck에 저장해서 사용하고 있다
VariantInit( )
변수 초기화
SysAllocString( )
문자열 동적 할당
IWEBBROWSER2::Navigate Method - MSDN
HRESULT Navigate( BSTR url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers );
push ecx ( lea ecx, [ esp+28h+pvarg ] ) *Headers
push ecx ( lea ecx, [ esp+2Ch+pvarg ] ) *PostData
push ecx ( lea ecx, [ esp+30h+pvarg ] ) *TargetFrameName
push ecx ( lea ecx, [ esp+34h+var_10 ] ) *Flags
push esi ( mov esi, eax ) <-- SysAllocStringReturnValue ( String ) URL
push eax ( mov eax, [ esp+28h+ppv ] ) Interface Pointer
call dword ptr [ edx+2Ch ] Navigate Function
=> navigate(*ppv,"http://www. ...", ... )
arg1: &ppv ( InterfacePointer )
arg2: "http://www.malwareanalysisbook.com/ad.h" ( SysAllocString Result )
arg3,4,5,6 : Flags,TargetFrameName,PostData,Headers
SysFreeString( )
문자열 동적 할당 해제
IWEBBROWSER2 Interface의 Navigate메서드를 이용해 특정URL을 요청하는 정상적이 루틴이다
이러한 정상적인 루틴만이 악성파일에서 확인되어진다면, 숨겨진 악성코드가 없는지 의심해보아야한다 !
'악성코드 분석' 카테고리의 다른 글
Windows Message Hooking ( KeyLogger 실습 ) (0) | 2018.05.10 |
---|---|
악성코드 분석 실습 ( Lab07_03 ) [ DLL 변조] (0) | 2018.05.03 |
악성코드 고급 정적 분석 ( Lab07_01 ) [ DOS Attack ] (0) | 2018.05.02 |
악성코드 기초 동적분석 ( Lab07_01 / SysAnalyzer ) (0) | 2018.05.02 |
악성코드 기초 정적분석 ( Lab07_01 / ExeinfoPE & pestudio ) (0) | 2018.05.02 |