타겟 Reader = ezPDF Reader, 무료
단순히 dll의 이름만 보고 유추했을때의 기능
ezPDF2HWP -> PDF파일을 HWP파일로 변환
ezPDFConvertDll -> DLL을 변환?
ezPDFConvertModule -> 모듈 변환 관련 DLL
ezPDFEditorExt32/64 -> 에디터 관련 DLL
JpgDll -> jpg다루는 dll?
PDF2HTML/Office -> PDF를 HTML과 오피스 형식으로 변환하는 DLL?
Export 부분을 중점으로 해서 함수를 분석하였다.
ezPDFConvertDLL에서는 파일에 데이터를 쓰는?듯한 이름을 가진 함수를 발견
ezPDF2HWP.dll에서 export 부분을 찾았을 때 pdf를 hwp로 변경하는 부분이다.
pdf2hwpW, pdf2hwpA함수
이 pdf2hwpW를 보면 아래와 같은 부분이 존재한다.
위 사진을 보면 fopen, fclose, stgCreateDocfile을 봤을때 파일을 열거나 닫는 부분 쪽에서 취약점이 터질것이라고 판단하였다.
harness를 작성하기 전, 자주 쓰이는 함수에 대해서 설명하고자 한다.
__declspec 키워드를 사용하여 DLL에서 데이터, 함수, 클래스 또는 클래스 멤버 함수를 내보낼 수 있다.
DLL (동적 라이브러리)에 구현한 함수를 외부로 노출시키려면 __declspec( dllexport ) 키워드를 사용해야하며 __declspec( dllexport ) 키워드가 붙지 않은 함수는 외부에서 호출할 수 없게된다.
__declspec(dllexport) void __cdecl Function1(void);
HRESULT StgCreateDocfile( [in] const WCHAR *pwcsName, [in] DWORD grfMode, [in] DWORD reserved, [out] IStorage **ppstgOpen );
reserved ->
ppstgOpen ->
grfMode ->
pwcsName ->
BOOL SetDllDirectoryA( [in, optional] LPCSTR lpPathName );
lpPathName -> The directory to be added to the search path(디렉터리를 탐색 경로에 포함)
PDF Reader 퍼징 도전기(2) - DLL분석
타겟 Reader = ezPDF Reader, 무료
DLL 단순 유추
단순히 dll의 이름만 보고 유추했을때의 기능
ezPDF2HWP -> PDF파일을 HWP파일로 변환
ezPDFConvertDll -> DLL을 변환?
ezPDFConvertModule -> 모듈 변환 관련 DLL
ezPDFEditorExt32/64 -> 에디터 관련 DLL
JpgDll -> jpg다루는 dll?
PDF2HTML/Office -> PDF를 HTML과 오피스 형식으로 변환하는 DLL?
DLL 분석
Export 부분을 중점으로 해서 함수를 분석하였다.
ezPDFConvertDLL에서는 파일에 데이터를 쓰는?듯한 이름을 가진 함수를 발견
ezPDF2HWP.dll에서 export 부분을 찾았을 때 pdf를 hwp로 변경하는 부분이다.
이 pdf2hwpW를 보면 아래와 같은 부분이 존재한다.
위 사진을 보면 fopen, fclose, stgCreateDocfile을 봤을때 파일을 열거나 닫는 부분 쪽에서 취약점이 터질것이라고 판단하였다.
Harness 작성
harness를 작성하기 전, 자주 쓰이는 함수에 대해서 설명하고자 한다.
__declspec 키워드를 사용하여 DLL에서 데이터, 함수, 클래스 또는 클래스 멤버 함수를 내보낼 수 있다.
DLL (동적 라이브러리)에 구현한 함수를 외부로 노출시키려면 __declspec( dllexport ) 키워드를 사용해야하며 __declspec( dllexport ) 키워드가 붙지 않은 함수는 외부에서 호출할 수 없게된다.
StgCreateDocfile
reserved ->
ppstgOpen ->
grfMode ->
pwcsName ->
SetDllDirectory
lpPathName -> The directory to be added to the search path(디렉터리를 탐색 경로에 포함)
'Fuzzing' 카테고리의 다른 글