분류 전체보기(80)
-
드롭퍼 형 악성코드 분석(리소스 유형)
드롭퍼 악성코드 분석예제 (main.exe) 분석 아래는 main.exe의 entrypoint 이다. ollydbg로 함수단위로 분석하겠음. 첫번째 함수는 GetTempPathA이다. 인자로 패스를 저장할 주소와 사이즈를 지정 실행 후 버퍼주소 0019FE48를 확인해보면 현재 PC의 임시디렉토리 주소가 저장된 것이 확인가능함. 다음 함수는 00401000인데 어떤함수인지 파악하기 힘들다. 인자값으로 아까구한 temp디렉토리경로, abc.exe라는 프로그램명이 넘어간다. 함수 00401000이 실행후 아까 구한 temp 경로 문자열에 adb.exe 가 추가됨. 문자열 을 붙여주는 strcat이란 함수였던것으로 유추가가능하고 이 악성코드는 temp/adb.exe에 저장되고 실행될 것으로 예상됨. 다음 실행..
2021.05.15 -
문서형 악성코드 대응 솔루션
케이쉴드 교육과정을 진행하면서 프로젝트를 진행하는데 우리조는 문서형 악성코드를 탐지하는 솔루션을 주제로 프로젝트를 진행중이다. 프로젝트기간이 짧고 수업과 병행하기떄문에 기업에서 나오는 솔루션만큼 못하지만 보안사고대응과정 수업을 받고 직접 솔루션을 만들어봄으로써 배운것에대한 이해를바탕으로 응용을 한다는 것에 좀더 큰 의미가 있을것같다. 내가맡은 부분은 문서형 악성코드 분석&필터링 로직 구현이다. 해시값, vba함수, 문자열패턴 매칭이 기본적인 방식이라면 좀더 공부하고 분석해서 더좋은 방법을 찾아서 솔루션에 적용하는것이 관건인 것같다.
2021.05.14 -
메모리분석 (volatility도구 활용)
메모리에는 사용자의 작업을 처리하기 위한 데이터나 처리결과등이 저장되어있고 전원이 종료되면 데이터가 사라지는 휘발성 데이터이다. 프로세스정보, 인자, 실행화면, 실행한 다음 결과 ip정보, 데이터 정보, 열어본문서, 문서가 열린 실행 프로그램 열린화면, 수정한 데이터, 암호화된 데이터 복호화 키, 복호화데이터 등 다양한 정보가 저장됨. volatility툴을 활용하여 메모리 이미지를 분석할 수 있다. pstree - 실행중인 프로세스를 트리형태로 출력해준다. 프로세스 호출구조를 보고 pslist보다 이상한 행위를 알아차리기쉽다. 프로세스 링크를 조작하는 방식으로 프로세스 은닉가능. PSSCAN 플러그인은 프로세스 구조체를 전부 검사하므로 DKOM기법이 먹히지않음 리스트가 끊긴것들도 검사가능. 속도는 느림..
2021.05.10 -
파일시스템의 이해 3(MFT)
MFT? 파일의 위치. 속성, 시간정보, 이름, 크기 등 메타데이터를 저장. MFT 영억은 파일시스템의 파일, 디렉토리 수에따라 동적으로 할당됨. MFT는 MFT ENTRY의 집합임. ENTRY 넘버가 지정되지 않은 것들도 있다. 각각의 MFT ENTRY는 헤더와 속성으로 이루어져 있다. LSN - 로그파일의 순서번호 FLAGS - 파일이 사용중, 삭제, 디렉토리인지 등을 나타내는 플레그 WINHEX이용 MFT 영역확인 파일을 하나 클릭해보면 파일영역으로 들어와있는데 우클릭 - Navigation - seek file record 클릭 MFT Entry 영역을 확인가능. 오른쪽 체크표시 - templete 클릭 MFT ENTRY를 해석해준다. FLAG 1은 살아있는 파일을 의미함. 디렉토리는 3 MFT ..
2021.05.09 -
파일시스템의 이해 2(VBR)
VBR? 볼륨에 첫번째 레코드를 의미함. 볼륨의 부트코드. 부팅가능한 파티션 확인 -> 파티션에 운영체제를 부팅 -> 볼륨을 지정(C드라이브) Winhex - Partition2 로 볼륨안으로 들어온다음 다음과 같이 부트섹터의 템플릿을 볼수있다. VBR 영역을 WINHEX로 확인가능. 시그니처 NTFS나 부팅과 관련된 문자열 등을 확인할 수있음.
2021.05.08 -
파일시스템의 이해 1(MBR)
파일시스템? 하드디스크에 어떻게 파일을 올릴지 정의해주는 아키텍처로 이해하자 MBR - 물리적 저장장치의 Sector 0에 위치하는 512바이트 크기의 영역 MBR은 3개의 블록으로 나뉘어짐 BOOT CODE - 운영체제 부팅을 위해 부팅 가능한 파티션을 찾는 부분 Partition Table Entry - 파티션의 정보가 포함된 부분 Signature - 해당 섹터의 유무를 확인하기 위한 값 Boot flag - ox80 - 부팅가능 / ox00 - 부팅불가능. CHS Addr - 주소지정방식. 현재사용되지않음. Part Type - 이값을 보고 어떤 파티션인지 정의 (대부분 07) Ending CHS Addr - 현재 사용되지않음. Start LBA Addr - 파티션의 시작섹터 위치 Size in ..
2021.05.08