# forensic

[심화스터디] 1주차
인프런 인증 꽤 유익한 내용이었다. 나중에 메모리 포렌식 할때도 이해도 조금 높아질듯 기초도구 : FTK Imager 디스크 마운트: 물리적인 디스크 공간을 특정 위치의 디렉토리에 연결해 주는 것 메모리 덤프: 프로세스의 메모리를 정해진 덤프 포맷에 따라 기록한 파일 Suninatas 14번 문제 https://velog.io/@vina1601/DreamHack-CTF-4%EC%A3%BC%EC%B0%A8
Windows time rules aren’t same for some file extensions
I found Windows time rules aren’t same for some file extensions. Here is my PPT slide which explains the details.

FTK Imager 설치방법
아래 웹사이트에 접속하여 빨간색 네모로 표시된 링크를 클릭해줍시다. https://www.exterro.com/ftk-imager 이러한 입력 화면이 나오는데, 입력을 해야만 다운로드 링크를 받을 수 있습니다. 귀찮더라도 입력을 해줍니다. Submit 버튼을 누르면 다운로드가 시작됩니다. 다운로드된 파일을 실행해줍니다. 실행하면 아래 화면이 나오는데, "예"를 눌러주세요. 
CTF Forensic
오늘의 문제 오랜만에 ctf, 그것도 포렌식 문제를 풀어본다. 작업파일들이 모두 삭제된 원인을 찾기 위해 메모리 포렌식을 하는 문제이다. 메모리 덤프파일 분석 -> kali linux에서 volatility3를 이용해서 풀어보자. 키 형식으로 보건데, 어느 프로세스에서 문제가 발생하여 모두 삭제되었고, 원인인 프로세스를 찾으면 해결되는 문제인 듯 하다. 칼리 리눅스를 켜서 volatility3을 실행시켜 보았다. 
CTF-Forensic
Who's Notebook? xcz라는 사이트에서 포렌식 문제를 풀어보았다. 일단 파일을 다운받은 후, hxd로 파일을 열어보았다. ADSEGMENTEDFILE이라는 문자열이 의미심장하다. file이 여러개로 나뉘어져 있다는 소리인가...? 느낌이 메모리 포렌식 문제인것 같아 ftk로 열어보려고 했으나, 열리지 않는다. 구글링을 통해(링크텍스트)ADSEGMENTEDFILE이 확장자 AD1 을 가지는 파일 형식이라는 것을
드림핵 Forensic CTF
sleepingshark 와이어샤크를 이용한 네트워크 포렌식 문제이다. 압축파일을 다운받아서 해제하면 pcap 파일이 나오는데 pcap 파일을 열어서 패킷을 분석해 보자. 저 SELECT가 적혀 있는 패킷으로 가 보자. flag라는 글자를 발견할 수 있다. 저 문자열을 복사해서 url decode를 해 보면 
Forensic Analysis of Wire Messenger in Windows OS
Introduction Wire messenger is secure messenger similar to Signal and Telegram. It has been downloaded over 1 million in Google Playstore, and supports various platforms such as Android, iOS, Windows, macOS. This posts cover local artifacts, data reading from IndexedDB, decryption of encrypted attachements in Windows OS. 1. Local Artifacts Wire's local artifacts store in %AppData%\Wire. Database: \IndexedDB\httpsapp.wire.com0.indexeddb.leveldb (IndexedDB) Attachment: `\Ser

CTF - Forensic
Windows Search 이 기회에 드림핵에 있는 포렌식 문제를 모두 풀어볼려고 한다. 일단 파일을 다운받자. 문제 설명을 보면 파일 속에 숨겨있는 텍스트 파일이 있고(flag.txt) 텍스트 파일 안에 플래그가 있을 것이라고 추측해 볼 수 있다. 다운로드한 파일을 보면 확장자 .edb 형태를 가지고 있다. 이 edb파일안의 구성파일들을 추출하는 프로그램이 따로 존재한다. 링크텍스트 Winsearchdbanalyzer

CTF - Reversing
Reversing 오랜만에 리버싱 풀어본다. 제일 쉬운 것부터 풀어보자. 파일을 다운받고, 실행해보면 이런 창이 뜨는데, 리버싱을 통해 비밀번호를 알아내고 푸는 문제인 것으로 보인다. 일단 x64 dbg를 켜서 파일을 분석해보자. 문자열 찾기를 이용해서 의심가는 메모리 위치로 이동해 보자. 
CTF-7주차
첫번째 문제 파일을 다운받아 보자. 압축파일에 비밀번호가 걸려있다. 파일 옆에 * 표시가 붙으면 암호가 걸려 있다는 의미이다. 즉, 압축 파일에 들어있는 3개의 파일 모두 암호화가 되어 있다는 의미이다. 일단 hxd를 켜서 파일을 분석해보자. 
Suninatas Forensic 18
위의 문자열을 제외한 어떤 힌트도 보이지 않는다. 위의 문자열에서 아무래도 키값을 찾는 문제인 모양이다. 위의 문자열을 복사한 후, base64에서 decode를 해 보았다. 아닌듯☠️ 아무래도 헥사값이 아닌듯 하다. 그럼 대체 뭐지...?🤔🤔 검색해보니 아스키 코드라고 한다. 
Suninatas forensic CTF - 15
오늘의 문제 ㄱㅂㅈㄱ key값은 파일 안에 있다고 하니, 일단 파일을 다운받은 다음에 hxd로 파일 구조를 파악해 보도록 하자. 시그니처는 49 44 33으로, mp3 파일의 시그니처를 가지고 있는 것으로 확인된다. 헤더와 후터 시그니처에 이상은 없으므로 파일 안에 무엇이 숨겨져 있는지 살펴보자. 처음에는 mp3파일 안에 jpg 파일의 헤더와 후터 시그니처가 숨
[ Forensic ] NTFS
NTFS NTFS(New Technology File System)는 Windows NT가 개발되면서 FAT의 구조상의 한계점을 개선하기 위해 개발되었다. NTFS의 특징 NTFS는 처음 개발된 이후로 많은 기능들이 추가되었다. NTFS의 많은 기능들 중에 대표적인 기능만 살펴보자. 1. USN 저널 (Update Sequence Number Journal) USN 저널은 NTFS의 메타데이터를 구성하는 파일로 $UsnJnrl 이라는 이름을 가진다. 이 파일은 파일시스템의 모든 파일 및 디렉터리의 변경 사항을 기록하는 로그이다. USN 저널 파일은 최초에 빈 파일로 생성이 된다. 이후에 NTFS 볼륨에 변경이 생길때 마다 미리 정의된 레코드 형식으로 변경을 기록하여 저널 파일에 추가한다. 레코드에 기록되는 내용은 64 비트 USN(Update Sequence Number), 파일 이름, 변경에 관한 간략한 정보가 기록된다.

[메모리 포렌식] 메모리 포렌식 준비
메모리 포렌식이란? 컴퓨터의 메모리(RAM)에 존재하는 데이터의 흔적을 분석하는 기법이다. 전원이 공급되지 않으면 저장된 데이터가 소멸되는 휘발성(Volatile) 특성을 가지고 있지만, 실행 중인 프로세스, 스레드, 네트워크 연결 정보 등의 시스템의 상태를 나타내는 많은 정보들이 저장되어 있다. 메모리 포렌식 분석 준비 다운로드 Windows PowerShell Volatility Windows PowerShell이란? 마이크로소프트에서 개발한 CLI 인터페이스 및 스크립트 언어이다. cmd.exe보다 강력하고 유연한 기능을 제공해주며, *nix와 비슷한 명령어와 기능을 제공한다. Volatility이란? 오픈 소스 메모리 포렌식 도구이며, 다양한 운영체제에서 생성된 메모리 덤프 파일의 메모리 구조, 프로세스 및 스레드 정보, 파일 시스템 정보 등을 수집 및 분석할 수 있다. Wind
[ Forensic ] FAT 파일시스템
FAT 파일시스템 FAT(File Allocation Table)이라는 용어는 이름 그대로 파일의 할당 정보를 표현한 테이블이다. FAT는 구조가 간단하다는 장점 때문에 일반 시스템 외에도 메모리 카드, 디지털 카메라, 플래시 메모리 등에 널리 사용되고 있다. FAT 파일 시스템은 크게 FAT12, FAT16, FAT32로 나눌 수 있다. FAT 뒤의 숫자는 비트 수로 최대 표현 가능한 클러스트의 수를 의미한다. |FAT형식|최대 표현 가능한 클러스트 수| |:--:|:--:| |FAT12|4,084 (2^12 - 12)| |FAT16|65,524 (2^16 - 12)| |FAT32|268,435,444 (2^28)| FAT12는 12비트를 사용하여 클러스터를 표현할 수 있기 때문에 최대 4,096(2^12)개의 클러스터를 표현할 수 있다. 하지만 000h, 001h, FF6h~FFFh 값은 사용하지 않거나 다른 목적으로예약되어 있기 때문에 최대 4
페이징
스와핑 실행 대기 중인 프로세스가 사용 중인 메모리를 보조기억장치러 내보내고 다른 프로세스를 위해 사용한다. swap in: 보조기억장치 → 주기억장치 swap out: 주기억장치 → 보조기억장치

디스크 스케줄링
🌸 탐색 시간 최적화 🌿 SSTF (Shortest Seek Time First) 현재 헤드 위치에서 탐색 시간이 가장 짧은(가장 가까운) 실린더의 요청을 수행한다. 🌿 SCAN 헤드의 진행 방향으로 이동하며 가는 길에 있는 모든 요청을 처리하고 끝에 도달하면 반대 방향으로 틀어 이동하며 가는 길에 있는 요청들을 처리한다. 🌿 C-SCAN (Circular-SCAN) 한 방향으로 계속 움직인다. 헤드의 진행 방향으로 이동하며 가는 길에 있는 모든 요청을 처리하고

CPU/프로세스 스케줄링
* 비선점 스케줄링: SJF, HRN > * 선점 스케줄링: RR, SRT 🌸 비선점 스케줄링 🌿 SJF (Shortest Job First) 준비 큐에서 기다리는 프로세스 중 수행(실행/처리) 시간이 가장 짧다고 판단되는 것을 먼저 수행한다(CPU를 할당한다/디스패치한다). | 도착 순서 | 도착 시간 | 작업(서비스) 시간 | |:---:|:---:|:---:| | P1 | 0 | 30 | | P2 | 3 | 18 | | P3 | 6 | 9 | 🌿 HRN (Highest Response Ratio Next) 응답률이 높은 프로세스를 먼저 수행한다. 대기 시간을 고려한 방식이다. 에 있는 복귀주소를 메모리 스택에 저장한다. 그리고 입출력 전송을 위한 인터럽트 서비스 루틴(ISR)으로 제어를 이동하는 방식으로 수행한다. ✔️ 종류 PC 하드웨어 인터럽트: 프린터 용지가 부족할 때 발생한다. 클럭 인터럽트: 프로세스의 시간 할당량 종료와 관련있다. ✔️ 인터럽트가 발생할 상황 갑작스러운 정전, 보호된 기억 공간 접근, 프로그램 착오 불법적인 인스트럭션 수행, Operator의 의도적인 조작 하드웨어 상의 오류가 있을 때 입출력기기 오류 발생 (보조기억장치 입출력, 키보등 입력, 모니터 입출력 등) *

프로세스
🌸 프로세스 현재 실행 중인 프로그램 프로세스 제어 블록(PCB)을 가진 프로그램 실행 가능한 프로그램 | 상태 | 설명 | |:---:|:---:| | 생성Creation | ‧ OS가 보조기억장치에 저장된 프로그램을 선택하면 해당 프로그램의 PCB 생성 ‧ 생성된 프로세스는 준비 상태가 되어 준비 리스트 맨 마지막에 위치 | | 소멸Destroy | ‧ PCB를 회수하고 프로세스를 제거‧ 부모 프로세스가 없어지면 자식 프로세스는 자동으로 소멸 | | 일시 정지Suspend | ‧ 수행하던 작업을 멈추고 대기하는 경우‧ 윈도우 창이 옅은 색으로 변경됨 ‧ 일시정지준비(Suspend Ready), 일시정지보류(Suspend Blocked) | | 재시작Resume | 일시정지 상태인 프로세스