일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ubuntu
- IMAGE_EXPORT_DIRECTORY
- stack based buffer overflow
- DOS Header
- sctf 2021
- Windows Terminal
- zsh theme customization
- Windows 11
- NT Optional Header
- BOF
- NT File Header
- WSL
- attack vector
- powerlevel10k
- Tutorial
- docker
- oh-my-zsh
- PE file format
- GetProcAddress()
- SQL Injection
- RVA
- DOS Stub
- NT Header
- 리버싱 핵심원리
- web
- PE Header
- Buffer Overflow
- samsung ctf
- Windows
- IMAGE_IMPORT_DESCRIPTOR
- Today
- Total
목록Windows (7)
나만의 메모노트

1. PowerShell을 관리자 권한으로 실행 2. Linux용 Windows 하위 시스템 사용 설정 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 3. WSL 2 실행을 위한 요구 사항 확인 x64 시스템의 경우: 버전 1903 이상, 빌드 18362 이상 ARM64 시스템의 경우: 버전 2004 이상, 빌드 19041 이상 Windows 10 버전 확인하는 방법 Windows 메뉴 ➡ 설정 ➡ 시스템 ➡ 정보 Windows 10 버전 1903 또는 1909를 실행하고 있는 경우 Windows 메뉴 ➡ 설정 ➡ 업데이트 및 보안 ➡ 업데이트 확인 - 빌드 번호 : 18362.1..

1. Install zsh sudo apt-get install curl -y sudo apt-get install zsh -y sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" chsh -s $(which zsh) GitHub - ohmyzsh/ohmyzsh: 🙃 A delightful community-driven (with 1800+ contributors) framework for managing your zsh configu 🙃 A delightful community-driven (with 1800+ contributors) framework for managing your..

EAT (Export Address Table) Windows OS에서 라이브러리(Library)란? 다른 프로그램에서 불러 쓸 수 있도록 관련 함수들을 모아 놓은 파일 (DLL/SYS) 대표적인 라이브러리 : Win32 API 핵심 라이브러리 파일 : kernel32.dll 개념 : 라이브러리 파일에서 제공하는 함수를 다른 프로그램에서 가져다 사용할 수 있도록 해주는 핵심 메커니즘 해당 라이브러리에서 Export하는 함수의 시작 주소를 정확히 구할 수 있음 Export 정보는 PE 파일 내 특정 구조체(IMAGE_EXPORT_DIRECTORY)에 저장 IMAGE_EXPORT_DIRECTORY 구조체는 PE File에 하나만 존재하며, PE Header에서 확인 가능 실제 IMAGE_EXPORT_DIRE..

IAT (Important Address Table) 개념 : 프로그램이 어떤 라이브러리에서 어떤 함수를 사용하고 있는지를 기술한 테이블 Windows OS의 핵심 개념인 Process, Memory, DLL 구조 등에 대한 내용이 함축되어 있음 DLL 로딩 방식 중 Implicit Linking에 대한 메커니즘을 제공하는 역할 디버거를 통해 IAT 확인 해보기 대상 프로그램 : notepad.exe CALL [1001104] → notepad.exe에서 kernel32.dll의 CreateFileW를 호출하는 명령어 CALL 명령어를 통해 호출하는 주소는 IAT 메모리 영역 (.text 섹션의 메모리 영역) 1001104 주소에 저장된 7C810CD9라는 값을 통해 CreateFileW를 호출 (직접 ..

NT Header IMAGE_NT_HEADERS NT Header의 구조체 3개 멤버로 구성 PE Signature : 50450000h(“PE”00) 값을 가짐 File Header 구조체 Optional Header 구조체 크기 : F8 (248byte) File Header IMAGE_FILE_HEADER 구조체 파일의 개략적인 속성을 나타냄 주요 멤버 각 멤버별 값들의 설정이 부정확할 경우 비정상 실행 1) Machine Machine 넘버는 CPU별로 고유한 값을 가짐 (32bit Intel x86 호환칩 = 14C의 값) winnt.h 파일에 정의된 Machine 넘버의 값 2) NumberOfSections 섹션의 개수 해당 값은 반드시 0보다 커야 함 정의된 섹션 개수와 실제 섹션이 다르면..

notepad.exe를 대상으로 Hex editor를 통해 바이너리 코드를 살펴보며 PE File Format 이해하기 Dos Header 초기 PE File Format Microsoft가 널리 사용되던 DOS 파일에 대한 하위 호환성을 고려하여 제작 PE Header의 첫 부분은 DOS EXE Header, 이후 IMAGE_DOS_HEADER 구조체로 확장 IMAGE_DOS_HEADER 구조체 크기 : 40h (64byte) 주요 멤버 e_magic : DOS signature (4D5A 👉 ASCll값으로 "MZ"를 의미함) e_lfanew : NT Header의 offset을 표시 NT Header 구조체의 위치를 가리킴 파일에 따라 가변적인 값을 가짐 Dos Stub Dos Header 아래에 ..

개요 PE (Portable Excutable) Windows OS에서 사용되는 실행 파일 형식 UNIX에서 사용되는 COFF(Common Object File Format) 기반 Windows OS에서만 사용 다른 OS로 이식성이 용이함 PE File PE32 : 32bit 형태의 실행 파일 PE+/PE32+ : 64bit 형태의 실행 파일 PE File Type OBJ를 제외한 모든 파일이 실행 가능한 파일 DLL, SYS 파일 등은 셸(Explorer.exe)에서 직접 실행할 수 없으며, 다른 형태의 방법(debugger, service, etc)을 이용하여 실행 가능 PE Header 실행 파일이 실행되기 위해 필요한 모든 정보가 구조체 형식으로 저장되어 있음 메모리 적재 위치, 실행 위치, 실행..