Forensic 47

[네트워크 기초] PART 1

안녕하세요. 네트워크 포렌식을 하기 전, 네트워크에 대해서 기본적으로 공부를 하기 위해서 작성하게 되었습니다. 기초부터 차근차근 네트워크에 대해서 전반적으로 다룰 것이며, 이 글은 "후니의 CISCO 네트워킹" 을 참고하여 작성하였습니다. 네트워크는 비록 30년 전 까지만 해도 그렇게 중요한 분야가 아니였습니다. 왜냐면 과거에는 컴퓨터를 잘 아는것 만으로도 인정을 받을 수 있었기 때문입니다. 이런 얘기들을 접해본 적이 있을겁니다. "NASA를 해킹하면 NASA에서 취업 할 수 있다던데?!!" 이 말은 30년전 컴퓨터가 생소했을 시절에 있었던 얘기입니다. 지금은 기업뿐만 아니라 개인의 컴퓨터도 해킹하면 커리어가 사라지는 시대이기 때문에..나쁜짓은 하시면 안됩니다. 다시 돌아가서, 과거에는 중요하지 않았던 ..

OlympicDestroyer Malware 분석

안녕하세요. 저번 시간에는 Cridex Malware분석을 진행하였습니다. 이번에는 조금 난이도가 있는 OlympicDestroyer Malware를 분석을 해보겠습니다. OlympicDestroyer Malware란? 2018년 2월 9일 평창 올림픽 개회식 당시 현장의 유무선 네트워크 시스템에 장애가 발생하며, 잇따라 무선랜(Wi-Fi)서비스, 메인프레스센터(MPC)의 IPTV 영상 전송과 입장권 판매 및 출력을 위한 공식 홈페이지 운영이 중단 되었습니다. 이는 올림픽을 방해하기 위한 해커의 사이버 공격으로, 최초 감염 경로는 스피어피싱 이메일을 통한 감염으로 밝혀졌으며, 공격 수단은 파괴형 악성코드로 시스템을 망가뜨려 IT 기반 서비스 가동이나 운영을 방해하려는 의도로 예상됩니다. 그래서 이 악성코..

Cridex malware 분석

안녕하세요. 메모리 포렌식을 깊게 공부하기 위해서 분석 파일을 찾다가 해당 사이트에서 샘플 파일들을 찾았습니다. https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples 그 중 하나인 Cridex malware를 분석할 것입니다. Cridex malware란? 사용자의 금융 기록에 액세스하기 위해 감염된 시스템에서 인터넷 뱅킹 및 개인 정보를 훔칠 수 있는 악성코드입니다. Cridex는 감염된 시스템에 백도어를 생성하여 악성 웹사이트를 여는 것과 같은 작업을 수행할 뿐만 아니라 추가 맬웨어를 다운로드 및 실행할 수 있으며, 이 기능을 통해 금융 웹 사이트를 방문하여 로그인을 할 때, 감염된 시스템에서 사용자의 은행 정보를 캡처 합니다...

2주차 과제 A

A과제 : Volatility 플러그인들을 정리하고, 사용법을 실습해보기(실습은 Cridex 분석으로 하겠습니다 하지만 모든 플러그인에 대해서는 다루지 않을 것이며, 몇몇 분석에 필요한 플러그인만 다루도록 하겠습니다.) 먼저, 메모리 포렌식에 대해서 정의를 해보겠습니다. 메모리 포렌식이란 컴퓨터 구조의 하드웨어에서 주 기억장치인 RAM에 남아있는 데이터 흔적을 분석하는 기법입니다. 우리가 FTK Imager같은 툴로 Memory Capture를 실습했을 때, 나왔던 mem파일이 RAM의 데이터를 덤프한 파일입니다. RAM은 휘발성이 강한데도 불구하고 프로세스 정보, 네트워크 연결 정보, 악성코드 파일 정보, 시스템 관련 데이터 구조, 사용자 활동 정보 등 고유의 정보들이 남아 있습니다. 그 이유는 컴퓨터..

1주차 과제

A과제 : 디스크 덤프, 디스크(이미지) 마운트, 메모리 덤프 실습 실습 진행을 위해서 사용한 프로그램 입니다. VHD만들기 [디스크 관리] - [동작] - [VHD 만들기] 를 한 다음 다음과 같이 입력 해주시면 됩니다. 실습을 진행할 가상 디스크는 512MB짜리로 mbr 파티션 스타일로 포맷을 하였고, NTFS 파일 시스템으로 진행을 했습니다. 먼저, 준비한 파일들은 다음과 같습니다. 3장의 jpg 파일을 준비 하였고, 파일을 삭제 하도록 하겠습니다. [디스크 덤프] 디스크를 덤프하기 위해서는 FTK Imager를 실행한 후 다음과 같이 따라 하시면 됩니다. [File] - [Add Evidence Item] - [Physical Drive] - [덤프할 디스크] 저 같은 경우는 PHYSICALDRI..

반도체를 이용한 저장매체

저번 시간에 컴퓨터의 구성 요소에 대해서 배웠습니다. 간략하게 다시 짚어보면 다음과 같습니다. 컴퓨터의 구성요소는 "보조기억장치, 주기억장치, 입력 장치, 출력 장치, 중앙처리장치(CPU)"로 나뉘어져 있습니다. 보조기억장치 : 물리적인 디스크가 연결되어 있는 기억장치 주기억장치 : 물리적인 디스크가 아니라 컴퓨터 내부에서 CPU가 처리하면서 내용을 저장하고 있는 기억장치 입력장치 : 사용자가 컴퓨터를 사용할 때, 전기 신호를 전달함으로써 데이터를 전달해주는 것 (키보드, 마우스) 출력장치 : 입력장치를 통해 신호를 주면, 그 데이터를 사람이 이해하는 형태로 변환해주는 것 (프린터, 모니터) 중앙처리장치(CPU) : 컴퓨터 내부에서 데이터를 제어, 연산 해주는 장치 (ALU, CU) 오늘은 반도체를 이용..

파일 카빙(Carving)

이번 파일 카빙에 대해서 배워보겠습니다. 파일 카빙이란 메타 데이터가 아닌 파일 자체의 바이너리 데이터(signature, header)를 이용해서 디스크의 비할당 영역에서 파일을 복구하는 방식입니다. 주의해야 할 점은 파일이 디스크에 연속적으로 할당되었는지, 비연속적으로 할당 되었는지 알아야합니다. *연속 할당 임의의 한 파일이 디스크 내에 선형적으로 연속된 블록을 할당합니다. 장점은 연속하는 논리적 블록들이 물리적으로 인접해 있기 때문에 빠르게 엑세스가 가능하고, 디렉토리가 단순히 시작 블록 주소와 파일의 길이만 알고 있으면 디렉토리 구현의 단순화가 가능합니다. 단점은 새로운 파일을 생성할 때 필요한 공간을 미리 명시를 해주어야 하며, 연속된 공간이 확보되지 않으면 생성이 불가능합니다. 일정 파일이 ..

해쉬 함수 (Hash Function)

저번 시간에는 데이터 인코딩에 대해서 배웠습니다. 데이터 인코딩을 간략하게 설명하자면 "숫자, 문자, 시간 등 데이터는 원본 그대로 형태의 모습으로 저장될 수도 있는 반면, 다양한 인코딩 알고리즘(Base58, Base64)에 따라 특수한 형태의 데이터로 변환" 되는것을 말합니다. 이번에는 해쉬 함수에 대해서 배워 보겠습니다. 다뤄볼 내용은 MD5, SHA256, SHA512입니다. 해쉬 함수(Hash Function) 해쉬 함수란, 임의의 길이의 데이터를 고정된 길이의 데이터로 계산해 주는 함수입니다. 해쉬 함수의 특징으로는 일방향성을 띄고있고, 변환된 해쉬 값으로 원래의 입력값을 알아내는 것은 거의 불가능합니다. 주로 일방향 해시함수는 "데이터의 무결성" 을 확인하는 방법으로 사용합니다. 일반적으로 ..

데이터 인코딩(Data Encoding)

저번 시간에는 문자 인코딩에 대해서 배워 보았습니다. 간략하게 정리하면 문자 인코딩은 "사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 2진 신호로 변환" 하는 것을 말했습니다. 이번 시간에는 데이터 인코딩에 대해서 배워 보겠습니다. 데이터 인코딩 데이터 인코딩은 숫자, 문자, 시간 등 데이터는 원본 그대로 형태의 모습으로 저장될 수도 있는 반면, 다양한 인코딩 알고리즘(Base58, Base64)에 따라 특수한 형태의 데이터로 변환 됩니다. 1. Base 64 Base64는 8비트 바이너리 데이터를 문자 코드에 영향을 받지 않는 공통 아스키(ASCII) 영역의 문자로만 이루어진 일련의 문자열로 변환하는 인코딩 방식입니다. 쉽게 말해 임의의 8비트 바이너리 데이터를 64개의 아스키 문자의 조합으..