x64

    RTC (Return-to-csu) 기법

    IndexRTC(Return-to-csu) 란?예제 코드 (C)Gadget #1Gadget #2공격 시나리오1) bss영역에 read함수로 /bin/sh 문자열 저장2) write함수로 read함수 주소 leak3) system("/bin/sh"); 호출익스플로잇refRTC(Return-to-csu) 란?64bit 운영체제에서 버퍼 오버플로우가 발생할 때, csu Gadget을 이용하여 레지스터의 값을 세팅하여 익스플로잇하는 공격기법이다. [그림 출처] https://wogh8732.tistory.com/156위 그림과 같이 프로그램이 시작되면 main 함수가 호출되기 전에 start, _libc_start_main, __libc_csu_init과 같은 여러 함수가 실행된다. 이때, __libc_csu_..

    [Dreamhack] master_canary - write up

    Index문제보호기법 확인master_canary.c문제 풀이0. 마스터 카나리1. Canary Offset2. Exploit익스플로잇 코드Reference master_canaryDescription 이 문제는 서버에서 작동하고 있는 서비스(master_canary)의 바이너리와 소스 코드가 주어집니다. 카나리 값을 구해 실행 흐름을 조작해 셸을 획득하세요. 셸을 획득한 후 얻은 "flag" 파일의 내용을 워게임 사이트에 인증하면 점수를 획득할 수 있습니다. 플래그의 형식은 DH{...} 입니다. Environment Ubuntu 16.04 Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (..

    [Dreamhack] Master Canary - write up

    Index문제보호기법 확인mc_thread.c문제 풀이익스플로잇 코드 Master CanaryDescription Exploit Tech: Master Canary에서 실습하는 문제입니다.https://dreamhack.io/wargame/challenges/359/ 문제보호기법 확인NX bit와 stack Canary가 켜져있다.mc_thread.c// Name: mc_thread.c // Compile: gcc -o mc_thread mc_thread.c -pthread -no-pie #include #include #include #include void giveshell() { execve("/bin/sh", 0, 0); } void init() { setvbuf(stdin, 0, 2, 0); s..

    [Dreamhack] tcache_dup2 - write up

    Index문제보호기법 확인tcache_dup2.c문제풀이익스플로잇 코드 tcache_dup2Description 이 문제는 서버에서 작동하고 있는 서비스(tcache_dup2)의 바이너리와 소스 코드가 주어집니다. 취약점을 익스플로잇해 셸을 획득한 후, "flag" 파일을 읽으세요. "flag" 파일의 내용을 워게임 사이트에 인증하면 점수를 획득할 수 있습니다. 플래그의 형식은 DH{...} 입니다. Environment Ubuntu 19.10 Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) Reference Heap Allocator2https://dreamhack...

    [Dreamhack] cmd_center - write up

    Index문제보호기법cmd_center.c문제풀이익스플로잇 코드 cmd_centerDescription IP를 확인할 필요가 없습니다! 혹시 다른 명령어는 못쓰나요? 다른 명령어를 사용했다면 플래그를 획득하세요! References https://dreamhack.io/learn/2/1#3 https://dreamhack.io/learn/2/14#3https://dreamhack.io/wargame/challenges/117/문제보호기법스택 카나리를 제외하고 모든 보호기법이 걸려있다.cmd_center.c#include #include #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } int main()..

    [Dreamhack] tcache_dup - write up

    Index문제보호기법 확인tcache_dup.c문제풀이익스플로잇 tcache_dupDescription 이 문제는 작동하고 있는 서비스(tcache_dup)의 바이너리와 소스코드가 주어집니다. Tcache dup 공격 기법을 이용한 익스플로잇을 작성하여 셸을 획득한 후, "flag" 파일을 읽으세요. "flag" 파일의 내용을 워게임 사이트에 인증하면 점수를 획득할 수 있습니다. 플래그의 형식은 DH{...} 입니다. Environment Ubuntu 18.04 Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x400000) Reference Tcache duphttps://dreamhac..

    [Dreamhack] Tcache Poisoning - write up

    Index문제 환경문제보호기법 확인tcache_poison.c문제 풀이Libc LeakExploit익스플로잇 코드 Tcache PoisoningDescription Exploit Tech: Tcache Poisoning에서 실습하는 문제입니다.https://dreamhack.io/wargame/challenges/358/ 문제 환경Ubuntu 18.04 / glibc 2.27💡glibc 버전을 2.27로 맞춰줘야 한다. 2.31은 해당 취약점이 패치되었다. 문제보호기법 확인tcache_poison.c// Name: tcache_poison.c // Compile: gcc -o tcache_poison tcache_poison.c -no-pie -Wl,-z,relro,-z,now #include #incl..

    [Dreamhack] uaf_overwrite - write up

    Index문제보호기법 확인uaf_overwrite.c코드 분석전역 변수 선언human_func()robot_func()custom_func()문제 풀이Libc LeakLocal Exploit Issue 익스플로잇 uaf_overwriteDescription Exploit Tech: Use After Free에서 실습하는 문제입니다.https://dreamhack.io/wargame/challenges/357/ 문제보호기법 확인모든 보호 기법이 걸려있다. uaf_overwrite.c// Name: uaf_overwrite.c // Compile: gcc -o uaf_overwrite uaf_overwrite.c #include #include #include #include struct Human { ch..