전체 글 20

파일 시그니처(File Signature), 메모리 덤프(Memory Dump)

MemoryDumpRAM: 컴퓨터 구조에서 CPU에 전달하기위 위한 임시 데이터들이 저장되는 공간휘발성 데이터이기 때문에 포렌식 수사 관점에서는 이를 비휘발성 데이터로 바꿔 분석 Window Memory dump tool: WinPmemhttps://github.com/Velocidex/WinPmem/releases/ 에서 버전에 따라 설치./winpmem_mini_x64_rc2.exe mem.raw현재 환경은 메모리 크기가 32GB이다하지만 생성된 파일 크기를 확인해보면 35GB이상으로 확인된다실제 컴퓨터가 메모리 레이아웃을 구성할때는 RAM공간 뿐만 아닌 PCI, ROM도 포함한다이러한 자원들을 하나의 가상 메모리 공간으로 만든 것이 Virtual Address Space이다파일 시그니처(File S..

공부/Forensic 2025.01.19

NTFS 파일 시스템

FAT32와 크기 다르지는 않지만 MFT(Master File Table)이라는 별도의 구조를 두어, MFT에 모든 파일의 메타데이터 저장Backup VBR은 볼륨의 맨 끝에 위치하게 하여 복구가 가능하게 하도록 함 이름오프셋설명Jump Command0x0 - 0x2부트 코드로 점프BPB(Bios Parameter Block)0x3 - 0x53볼륨의 전반적 설정부트 코드0x54 - 0x1FD볼륨 부트 코드시그니처0x1FE - 0x1FF고정값 0x55 0xAAOEM ID: NTFSTotal Sectors: 0x3956FDF볼륨의 총 섹터 수Start Cluster for $MFT: 0xC00000xC000으로 MFT 영역으로 연결 Volume Serial Number: 0x4672348672347CAD볼륨..

공부/Forensic 2025.01.19

Forensic 기초 지식

리틀엔디언- 작은 바이트부터 메모리에 저장하는 방식ex) 0x01234567를 메모리에 저장한다고 하면메모리 주소0x1000x1010x1020x10316진수0x670x450x230x012진수0110 01110100 01010010 00110000 0001NTFS 환경 리틀엔디언 실습VBR(Volumne Boot Record)- 0x0B ~ 0x0C(2byte): Bytes per sector- 0x0D ~ 0x0D(1byte): Sectors per cluster- 0x1C ~ 0x1F(4byte): Hidden sectors- 0x28 ~ 0x2F(8byte): Total sectors분석Bytes per sector: 0x20Sectors per cluster: 0x08Hidden sectors: 0..

공부/Forensic 2025.01.18

Volatility Tool 사용

본 게시물은 inflearn의 "기초 디지털 포렌식"강의를 통해 학습한 내용을 재현한 과정을 서술하였습니다.Environment실습 파일 대상 : cirdex.vmem (메모리 파일)volatility tool version: 2.6 Command : volatility_2.6_win64_standalone.exe -f ./cirdex.vmem imageinfo"imageinfo" option을 통해서 메모리 덤프 파일에 대한 대략적인 분석을 진행할 수 있다.해당 과정은 분석 실습에 앞서서 꼭 한번은 진행해야할 과정이라 함Suggested Profile 에서 "WinXPSP2x86, WinXPSP3x86" 이렇게 2개를 확인할 수 있는데 해당 정보는 이 file이 생성되었을 것으로 추측되는 환경을 의미한..

공부/Forensic 2024.07.10

ICS / Honey Pot / Cyber Kill Chain

ICS ( Industrial Control System ) - 산업 제어 시스템, 즉 산업 환경에서 자동화 및 제어를 위해 사용되는 시스템 SCADA ( Supervisory Control And Data Acquisition ) - 대규모 시설에서 실시간 제어 및 모니터링을 위해 사용 PLC ( Programmable Logic Controllers ) - 자동화된 제어 시스템을 구현하기 위해 사용, 프로그래밍된 로직에 따라 출력장치를 제어하는 역할을 함 DCS ( Distributed Control System ) - 공정 제어 및 자동화를 위해 사용, 여러 개의 제어 유닛과 센서가 분산되어 있음, SCADA와 유사하지만 보다 복잡한 환경에서 사용 Honey Pot? - 공격자를 설계한 시스템으로 ..

카테고리 없음 2024.01.31

방화벽/IDS/IPS

방화벽 - 신뢰하지 않는 외부 네트워크와 신뢰하는 내부 네트워크 사이를 지나는 패킷 확인 - 사전에 정한 규칙에 따라 차단하거나 보내주는 기능을 하는 하드웨어/소프트웨어 방화벽 기능 접근 제어 - 허용된 서비스 : 사용자가 지정한 서버, 특정 호스트를 제외하고 외부에서 접근하는 것을 packet filtering, proxy 방식 등으로 접근을 통제하는 기법 패킷 필터링 : 특정 송신원 주소 또는 발신원 주소 등의 정보를 바탕으로 송/수신되는 패킷을 흐름을 제어하는 것 프록시 : 내부 네트워크와 외부 네트워크 간의 중개자 역할 로깅과 감사 추적 ( Logging and Audit Trail ) - 시스템 내에 저장된 로그를 이용하여 허용되지 않은 접속 시도 및 연결 등을 확인 가능 인증 (Authenti..

보안 2024.01.25

시간복잡도

시간 복잡도 - 작성한 코드가 동작 시간이 대략 얼마나 걸릴지 예상 - 표기법 Captial O를 사용 ( Big-O ) - Worst case의 경우로 표기 - Big O Notation에서 상수는 버린다 ex) O(3N^2) = O(3N^2) - 두 가지 항이 있을때, 변수가 같으면 큰 것만 빼고 다 버린다 ex) O(N^2 + N) = O(N^2) -단, 두가지 항이 있을시에 변수가 다르면 삭제하지 않는다 ex) O(N^2 + M) C++ 입출력 입출력 코드인 scanf/printf, cin/cout를 사용하는데 보통 cin/cout는 scanf/printf에 비해 느린 편 ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);..

공부/Algorithm 2024.01.14