BOF

    [1-day] CVE-2019-17147 (TP-Link) 분석 - (2)

    보호되어 있는 글입니다.

    [1-day] dact-0.8.42 취약점 분석

    실습 환경 구축 dact-0.8.42 프로그램은 압축 및 압축 해제 프로그램이다. 해당 버전의 프로그램은 압축 해제 과정에서 stack overflow가 발생한다. 따라서, AFL 퍼저를 이용해서 취약점을 발견하고 분석을 통해 익스까지 할 것이다. Install dact-0.8.42 $ wget https://fossies.org/linux/privat/old/dact-0.8.42.tar.gz $ tar xvf dact-0.8.42.tar.gz && cd dact-0.8.42 $ make clean $ ./configure 취약한 dact-0.8.42를 다운받아준다. Mitigation # vim Makefile CC = gcc -z execstack -fno-stack-protector -z norel..

    [1-day] CVE-2019-17147(TP-Link) 분석 - (1)

    보호되어 있는 글입니다.

    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] 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] sint - write up

    Index문제보호기법sint.c문제풀이read 함수 원형익스플로잇 코드 sintDescription 이 문제는 서버에서 작동하고 있는 서비스(sint)의 바이너리와 소스 코드가 주어집니다. 프로그램의 취약점을 찾고 익스플로잇해 get_shell 함수를 실행시키세요. 셸을 획득한 후, "flag" 파일을 읽어 워게임 사이트에 인증하면 점수를 획득할 수 있습니다. 플래그의 형식은 DH{...} 입니다. Environment Ubuntu 16.04 Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) Reference Integer issueshttps://dreamhack.io..