악성코드 분석(29)
-
악성코드 기초 동적분석 ( Registry Modify )
1. 기초 동적분석이란?· 프로그램을 직접 실행하며 분석· 악성코드 실행 전후 상태를 조사 및 분석하여 프로그램의 기능을 파악 2. 기초 동적분석 도구1> 프로세스 모니터 ( Process Monitor )특정 레지스트리, 파일 시스템, 네트워크, 프로세스, 스레드 행위들을 모니터링프로세스 모니터를 통해서 Lab03-01.exe 악성코드 실습파일이 행위들을 찾았다RegOpenKey & RegSetValue => 레지스트리의 값을 변경하였다 2> 프로세스 익스플로러 ( Process Explorer )프로세스 스레드, 권한, 네트워크, 메모리 등 다양한 정보 확인 가능프로세스 내부에서 호출하는 DLL내용 검색 가능시스템에서 실행 중인 프로세스들을 확인할 수 있다 해당 파일이 사용하는 문자열을 검색할 수도 ..
2018.04.23 -
악성코드 기초 정적분석 ( Dropper )
[ 악성코드 기초 정적분석 ]1> 악성코드 해시값을 통한 파일검색 ( www.virustotal.com ) 2> 패킹여부 확인 3> 패킹된 파일이 아니여서 사용하는 DLL들을 바로 확인할 수 있다 OpenProcessToken open access token ( 프로세스 접근 권한 같은 것 획득 ) LookupPrivilegeValueA retrieve LUID ( LUID검색 ) AdjustTokenPrivileges 토큰에서 가지는 권한들을 획득 CreateRemoteThread 다른 프로세스에서 작동하는 스레드를 생성 FindResourceA 자원의 이름이나 위치 타입을 결정 LoadResource 메모리의 자원에 접근할 수 있는 포인터를 획득하는데 사용하는 핸들을 검색 드롭퍼란 ?실행파일이 새로운..
2018.04.21 -
악성코드 기초 정적분석 ( File packed FSG )
[ 악성코드 기초 정적분석 ]1> 실행파일의 해시값을 이용해서 검색할 수 있다 ( www.virustotal.com ) 2> 실행파일의 패킹 여부 확인 ( PEiD )해당 파일은 FSG 패킹되어있다패킹으로 인해 실행파일의 IAT를 확인할 수 없어 어떤 일을 하는 파일인지 알 수가 없다다만, 0x3000크기의 가상메모리에 데이터를 입력할 것은 알 수 있다 3> 수동 언패킹 ( FSG Packing 특징 : 세번의 JMP구문 반복 )JNZ, JE, JNZ 이후 JE구문에서 원본코드가 존재하는 주소로 이동한다 ( 다른 파일들은 세번의 점프구문에서 원본코드의 코드로 이동하기도 한다 ) OEP(Original Entry Point) 0x00401090부터 덤프하여 덤프파일을 생성한다 Import REC를 활용해 ..
2018.04.20 -
악성코드 기초 정적분석 ( File packed UPX )
[ 악성코드 기초 정적분석 ] 1> www.virustotal.com에 파일을 업로드하여 해시코드값 검색 2> 패킹 여부 확인 ( PEiD ) Microsoft 6.0++ 같이 컴파일 프로그램이름을 알 수가 없다즉, 패킹되어있다 3> 프로그램 코드 분석 ( PEView )UPX로 패킹되어 있는 실행파일임을 알 수 있다또한, UPX0헤더에서 쓰기권한을 가지고 있어 0x4000크기의 가상메모리에 데이터를 작성할 것으로 보인다 4-1> 언패킹 실시 ( upx.exe ) - 자동화 방식upx.exe 패킹(or언패킹)프로그램을 사용해서 UPX파일을 언패킹 시킨다 언패킹 된 결과 & 4-2> 언패킹 실시 - 프로그램 없이 수동으로[4-2-1] 코드 분석 ( UPX Packing특징 : PUSHAD & POPAD )..
2018.04.19 -
악성코드 기초 정적분석이란?
기초 정적분석이란?- 악성코드 분석시에 가장 먼저 진행- 프로그램의 기능을 파악하기 위해서 코드 or 프로그램의 구조를 분석한다 ( 프로그램을 실행시키지 않는다 )악성코드파일에서 사용하는 문자열이나 사용하는 DLL 및 함수를 조사 분석 방법 악성코드의 지문(Finger Print)확인악성코드는 해시를 이름으로 사용한다해시값을 사용하여 악성코드를 식별할 수 있다=> 해시와 그 특징을 공유한 사이트가 존재한다 ( https://www.virustotal.com )또는 WinMD5Free Program을 사용해서 MD5해시값을 구할 수 있다 * virustotal 사이트 & 악성파일 매칭 악성코드 실행파일이 사용하는 문자열 검색Strings Program을 사용한다실행파일이 생성하는 파일의 이름을 지정할 때 ..
2018.04.18 -
FSG 수동언패킹 [ Lena21 ]
FSG Unpacking 1> 패킹 여부 확인실행파일은 현재 FSG로 패킹 되어있다 2> Ollydbg 코드 분석 * FSG 특징 - JMP코드를 연속으로 3개 사용한다해당 부분을 찾아서 break를 걸어주고 실행시켜 보자 3> 원본파일 OEP확인마지막 점프명령을 실행시키면 0x00404000 주소로 이동한다0x00404000 = OEP ! 4> OEP주소부터 덤프파일로 저장Plugins - Ollydump - Dump debugged process -> dump파일로 저장 ( OEP와 EP확인 후 덤프 ! )Import는 Import REC를 통해서 복구한다 5> Import REC를 통한 IAT복구OEP수정 후 "AutoSearch" 클릭 => RVA와 Size가 구해진다RVA로 지점으로 직접 이동해..
2018.04.14