목록악성코드 분석 (15)
leejhstory
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall : 프로그램 및 기능 항목에서 보이지 않는 프로그램 확인 가능(은닉 악성코드 확인 가능) HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CE~}|{F4~}\Count : CE~ Key에는 확장자가 .exe인 프로그램 정보가 기록. F4~ Key에는 확장자가.lnk(바로가기) 파일 사용 기록 저장. ROT13으로 인코딩되어 기록. HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs : .lnk 파일 사용 목록. 서브 키에는 한글, 엑셀, 동영상, 이미지 등의 사용 ..

실습내용 - 의심파일 'file1'의 분석 정적 분석의 순서 - 바이러스 토탈을 이용해 백신 업체에서 진단하는지 확인 - Frhed를 사용하여 해당 파일의 종류를 확인 - 해당 파일이 PE파일인 경우 PEView를 통해 EXE, DLL, SYS 파일 구분 * 파일헤더 클릭 IMAGE_NT_HEADER -> IMAGE_FILE_HEADER -> characteristics를 확인 -> DLL속성 확인 파일 해더의 내용에 DLL을 나타내는 속성이 없으므로 해당파일은 DLL파일이 아니다. * 옵셔널 헤더 클릭 IMAGE_NT_HEADER -> IMAGE_OPTIONAL_HEADER -> subsystem 항목 확인 -> native속성 확인 native속성을 가지고 있지 않으므로 해당 파일은 sys파일도 아니..

동적분석 - 의심 파일을 실행해서 파일의 동작 형태를 분석하는 방법 - 프로세스, 파일, 레지스트리, 네트워크의 동작을 모니터링을 통해 알 수 있다. 1. 프로세스 모니터링 - 프로그램이 실행되면 반드시 프로세스가 존재. 악성코드를 실행하고 프로세스의 변화를 살펴보는 것으로 악성코드의 동작을 추측 * Process Explorer - 프로세스를 모니터링하기 위한 툴 2. 파일 모니터링 - 악성코드를 실행하면 자신의 동일 파일을 다른 위치에 생성하거나 다른 파일을 다운 또는 드롭한다. - 파일 생성의 경우 이외 백신 프로그램 관련 파일 또는 특정 프로그램을 삭제하는 경우도 존재 - 바이러스의 경우는 파일을 변조하게 됨 * filemon - 파일의 모든 행위를 모니터링 - 파일 생성/변조/삭제 이외에 파일에..

파일 종류 판별 1. 바이너리 파일 보기 - 파일의 종류를 판단하기 위해서는 파일을 바이너리 상태로 볼 수 있는 툴이 필요 - ex) Frhed 툴(파일의 바이너리를 보고 편집이 가능한 툴) 2. Signature로 파일 종류 구분 - 특정 파일의 종류를 확인하기 위해 Frhed로 파일을 열고, 파일의 시그니처가 무엇인지 확인해서 파일의 종류를 구분할 수 있다. - PDF파일의 시그니처는 파일 첫 4바이트가 '%PDF'이다. - JPG파일의 시그니처는 파일의 처음부터 FF D8 FF E0 xx xx 4A 46 49 46 00 값을 가진다. * Xx는 아무값이나 될 수 있다. 파일 구조 파악 1. PE구조 파일 중 EXE, DLL, SYS파일 구분 - DLL파일은 IMAGE_FILE_HEADER에서 Cha..

정적 분석 - 파일을 실행하지 않고 해당 프로그램에 관련된 정보를 얻는 방법 1. 파일의 종류 판별(엉뚱한 확장자인 파일이 있을 수 있음) - 파일을 바이너리 상태로 열어보는 것 - 파일의 종류별로 자신만의 시그니처(signature)를 가짐 (Ex. MZ) 2. 기존 컴퓨터 백신프로그램에서 진단되는지 확인 - 자신이 사용하는 백신프로그램에서 진단되지 않는다고 확실히 정상이라고 보장하지 못함. - 백신에 따라 악성코드를 진단하지 못하는 회사도 존재(다양한 백신프로그램 사용) 3. 파일 구조를 확인 - PE 구조를 확인해서 섹션 명이 이상한 이름인지를 확인 - 지정된 규칙은 존재하지 않지만 일반적인 프로그램은 .text, .rsrc, .data 등 흔히 사용되는 섹션 명 사용 - 악성코드는 다른 이름을 사..

1. IMAGE_DATA_DIRECTIORY - IMAGE_DATA_DIRECTIORY는 IMAGE_OPTIONAL_HEADER의 마지막에 나오는 항목 - RVA와 사이즈 2가지 정보를 저장하는 구조 - 지정된 개수는 없고 NumberOfDataDirectories에 지정된 개수만큼 존재 2. NumberOfDataDirectories와 LIMAGE_DATA_DIRECTORY의 관계 - NumberOfDataDirectories가 16진수 10으로 되어 있음 - IMAGE_DATA_DIRECORY 구조 16개 포함 - 각각의 DATA_DIRECTORY는 다른 항목의 데이터 저장 3. IMAGE_DATA_DIRECTORY의 상위 2개 ----------------------------------------..

1. 파일 오프셋, RVA, VA - 파일 오프셋 : 기본적으로 바이너리 파일에서의 값은 파일 오프셋을 사용 - RVA(Relative Virtual Address) : 가상메모리와 관련된 위치값을 사용하기 위해서는 RVA를 사용 - VA(Virtual Address) : 가상메모리에 완전히 로드된 상태의 위치값(고정된)을 나타내기 위해는 VA를 사용 2. IMAGE_OPTIONAL_HEADER PE구조 요약
1. PE구조(Portable Executable) - 윈도우즈(Win32)의 기본 파일 구조이다. - 해당 파일은 Win32 환경 어디에서도 실행 가능하다. - 윈도우즈 파일 중 EXE, DLL, SYS파일이 PE구조를 가지고 있다. 프로그램과 관련된 많은 정보가 PE구조에 저장되어 있다. Win32 운영체제는 해당 정보를 읽어 프로그램을 실행 시킨다. PE 구조 관련 유틸 - PEview : PE구조를 보기 편한 구조로 되어 있지만 편집기능 및 원하는 주소로 이동하는 기능은 없다. - CFF Explorer : CFF Explorer는 구조를 보기에는 peview보다는 불편하지만 편집 기능 및 지정된 주소로 이동하는 기능 및 그 외 다른 추가적 기능도 있다. 2. PE 기본 구조 - IMAGE_DOS..
악성코드 종류 - 바이러스 : 시스템 및 파일을 감염시켜 바이러스 코드를 실행하도록 하는 형태로 감염. - 웜 : 자기자신을 네트워크, 이동식디스크 등을 통해 전파. 감염된 이동식디스크만으로 전체 네트워크가 감염될 수 있다. - 트로이 목마 : 정상프로그램을 가장해 사용자의 PC에 설치되어 개인정보 유출, 제작자의 명령을 실행하여 공격. - 다운로더 : 다운로드를 실행하면 웹페이지등에서 악성코드를 다운받아 악성코드를 다운. - 드롭퍼 : 하나의 파일안에 다른파일을 넣어두어 실행시 다른파일들(악성코드)을 실행시킬 수 있다. - 인젝터 : 정상프로세스에 악의적인 역할을 수행할 코드 또는 DLL파일을 추가해서 악성코드를 동작하는 형태. - 키로거 : 사용자의 키보드 입력값을 모니터링하여 외부로 전송하는 역할을..
1. 메모리 분석- 프로세스 학인- 악성코드 추출 2. 이미징된 파일에서 윈도우 아티팩트 추출 분석- 레지스트리 userassist- 레지스트리 MRU- 프리패치- link- $Logfile $usnjrnl- 악성코드 파일 추출 => 공격자 컴퓨터windows 7 64bit 희생자 컴퓨터windows 7 (8.5G) 64bit 분석자FTK로 덤프할 목록하이브 파일DEFAULTNTUSER_DAT(USER/WIN7)SAMSECURITYSOFTWARESYSTEM 프리패치 LINK 경로 : [root]\Users\Win7(username)\AppData\Roaming\Microsoft\Windows\Recent- mac주소, 드라이브타입, TargetAccessTime, TargetWriteTime, Drive..