일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PE Header
- zsh theme customization
- sctf 2021
- BOF
- Windows Terminal
- RVA
- Windows
- IMAGE_IMPORT_DESCRIPTOR
- attack vector
- NT Header
- powerlevel10k
- 리버싱 핵심원리
- PE file format
- DOS Stub
- oh-my-zsh
- docker
- Buffer Overflow
- samsung ctf
- WSL
- Windows 11
- NT File Header
- stack based buffer overflow
- IMAGE_EXPORT_DIRECTORY
- Tutorial
- ubuntu
- SQL Injection
- GetProcAddress()
- DOS Header
- web
- NT Optional Header
- Today
- Total
목록전체 글 (16)
나만의 메모노트

10월 5일 드디어 Microsoft의 새로운 Windows 11의 정식버전이 출시된다. 이전에 Widnows 10에서 WSL (Windows Subsystem of Linux)를 설치하는 과정은 생각보다 복잡했다. 그러나 Windows 11에서는 Windows Terminal 앱이 기본으로 설치되어 있고 Windows 10과 비교해보아도 굉장히 쉽고 간결하게 설치를 진행할 수 있다. 다음은 Windows 11에서 WSL을 설치하는 과정이다. PowerShell을 관리자 권한으로 실행하여 아래 명령어를 통해 WSL을 설치한 후, 재부팅한다. 참고로 Windows 10 때에는 Microsoft Store에서 배포판을 별도로 설치를 진행해야 했지만, Windows 11으로 넘어온 이후로 WSL을 설치할 때 ..

이번 문제는 ShellCode를 획득하는 문제다. 1. Check Stack Frame #include #include char name[16]; void bofme() { char payload[16]; puts("What's your name?"); printf("Name > "); fflush(stdout); scanf("%16s", name); printf("Hello, %s.\n", name); puts("Do you wanna build a snowman?"); printf(" > "); fflush(stdout); scanf("%s", payload); printf("!!!%s!!!\n", payload); puts("Good."); } int main() { system("echo 'Wel..

BOF(Buffer Overflow) 프로그램이 데이터를 Buffer에 쓰는 동안 Buffer의 경계값을 초과하고 인접한 메모리 위치를 덮어 쓰는 이상 현상 Stack based Buffer Overflow (high → low) Heap based Buffer Overflow (low → high) 지역 변수(local variable)값 변조 가능 Return Address 변조 가능 Shell Code 삽입 및 실행 가능 #include //#include //#include #include #include void printflag(){ char buf[32]; FILE* fp = fopen("/flag", "r"); fread(buf, 1, 32, fp); fclose(fp); printf("%..

Practicd: hidden 테이블을 찾고 column 이름들을 획득해라. 문제를 풀기에 앞서서 우선 검색바 상단 우측에 있는 [HINT]를 눌러 해당 페이지의 전반적인 소스 코드를 살펴보았다. 그 결과, 문제에서 요구하는 것과 매우 밀접한 관련이 있어 보이는 코드가 보였고, 그 코드를 살펴보니, books 테이블로부터 도서 정보를 검색하는 코드인 것을 알 수 있었다. 최종적으로 column 이름을 획득해보라는 것은 column에 flag가 숨겨져 있을 가능성이 높아 보이고, 해당 column을 찾기 위해 hidden 테이블을 찾아야 하며, 이 테이블은 books 테이블에 있을 것이라 추측된다. 하지만, 현재 books 테이블에 대한 정확한 정보가 없으므로 union 연산자를 이용하여 열의 개수를 파악..

SQL Injection이란? SQL (Structured Query Language) 삽입 공격은 데이터 기반 어플리케이션을 공격하는 데 사용되는 코드 주입 기술로 악성 SQL문이 입력 필드에 삽입되어 실행된다. (예: 데이터베이스 콘텐츠를 공격자에게 덤프) 사용자 입력이 포함된 SQL 구문의 특수 문자들이 제대로 필터링 되지 않았거나 사용자 입력이 제대로 구성되지 않고 의도된 것과 다르게 실행되는 경우 등의 보안 취약점이존재할 때 이를 이용한 SQL 삽입 공격이 발생한다. 'admin'으로 로그인 시도 일반적으로 SQL Injection을 이용하여 관리자 로그인을 하는 방법은 다음과 같다. http://sqli101.sstf.site/step1.php?id%3Dadmin%27%20or%20%271%2..

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..

PowerShell을 실행하고 다음과 같이 진행한다. 1. Check Docker version docker version 2. Ubuntu image list check docker search ubuntu 3. Download Ubuntu image file docker pull ubuntu 4. Check Ubuntu image file docker images 5. Create Ubuntu container docker create -it --name ubuntu ubuntu 6. Check Docker state docker ps -a 7. Start Ubuntu container docker start ubuntu 8. Attach Docker docker attach ubuntu 이후 upd..

DLL Injection 실행 중인 다른 프로세스에 특정 DLL 파일을 강제로 삽입하는 기술 다른 프로세스에서 LoadLibrary() API를 통해 특정 DLL Loading 강제 삽입된 DLL의 DLLMain() 함수 호출 삽입된 DLL은 해당 프로세스의 메모리에 대한 접근권한을 가짐 기능 개선, 버그 패치, 메시지 후킹, API 후킹 등 사용자가 원하는 다양한 일을 수행 현재 악성코드에 의해 악용되고 있음 DLL Injection 구현방법 원격 스레드 실행 - CreateRemoteThread() API 레지스트리 이용 - AppInit_DLLs 메시지 후킹 - SetWindowsHookEx() API 그 외 여러 가지 다양한 기법 존재 CreateRemoteThread() API를 이용한 DLL ..

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..