wargame - system

    [Dreamhack] hook - Write Up

    보호되어 있는 글입니다.

    [Dreamhack] oneshot - Write Up

    보호되어 있는 글입니다.

    [Dreamhack] Return to Library - Write Up

    이번 문제는 아래 글과 동일한 문제이다. 다만 차이가 있다면 pwntools을 이용해 가젯과 문자열을 찾았다. [system][hacking] Exploit Tech : Return to Library(RTL) NX를 우회하는 공격기법인 RTL에 대해 공부한 내용이다. RTL을 공부하기 전 NX가 무엇인지, PLT가 무엇인지 알아야 한다. 이에 대한 내용은 아래의 글에 정리되어 있다. [system][hacking] 메모리 보호기 3omh4.tistory.com 간단히 사용한 API만 정리하였다. 밑의 API를 이용해 위 글의 페이로드를 적절히 수정해 해결하였다. pwntools ELF, ROP e = ELF('./rtl') r = ROP(e) system_plt = e.plt["system"] # bi..

    [pwnable.kr] fd - Write Up

    [pwnable.kr] fd - Write Up

    문제 확인 file descriptor와 관련한 문제인 것 같다. ssh fd@pwnable.kr -p2222로 접속해 fd문제를 풀 수 있다. 비밀번호는 아래 문제에서 알 수 있듯 guest이다. pwnable.kr에 접속하여 ls 명령어로 어떤 파일이 있는지 확인한다. 현재 id는 fd인데 fd 실행파일의 경우 setuid가 걸려있어 fd_pwn계정 소유의 fd 실행파일을 fd계정이 실행할 수 있다. 따라서 fd 실행파일을 이용해 쉘을 따면 fd_pwn권한의 쉘로 인해 flag실행이 가능해 진다. 이제 fd의 소스코드인 fd.c를 분석해 쉘을 획득하면 될 것이다. 소스코드 분석 fd@pwnable:~$ nl fd.c 1 #include 2 #include 3 #include 4 char buf[32]..

    [LoB] Level3 : cobolt >> goblin

    [LoB] Level3 : cobolt >> goblin

    ID : cobolt PW : hacking exposed 이번에도 전체적인 흐름은 다음과 같다. 취약점 찾기 페이로드 작성 취약점 트리거 및 비밀번호 획득 이 과정을 잊지말고 leve3을 진행해보자. 1. 취약점 찾기 디렉토리 내에 어떤 파일이 존재하는지 먼저 확인해본다. 이번에도 다음 레벨(goblin)로 setreuid가 설정되어 있는 실행파일 하나와 그 바이너리의 소스코드파일(goblin.c)이 있다. 역시나 다음 할 일은 goblin.c를 보고 취약점을 찾는 일이다. [cobolt@localhost cobolt]$ nl goblin.c 1/* 2 The Lord of the BOF : The Fellowship of the BOF 3 - goblin 4 - small buffer + stdin ..

    [LoB] Level2 : gremlin >> cobolt

    [LoB] Level2 : gremlin >> cobolt

    ID : gremlin PW : hello bof world 이번에도 할 일은 level1처럼 level2에서도 아래의 순서로 문제 풀이를 진행한다. 1. 취약점 찾기 2. 페이로드 작성 3. 취약점 트리거 및 비밀번호 획득 1. 취약점 찾기 어떤 파일이 있는지 먼저 확인한다. level1과 마찬가지로 setreuid가 cobolt으로 설정되어있는 바이너리가 있다. 이번에도 cobolt.c에서 취약점을 찾고 페이로드를 만들어 cobolt에서 취약점을 트리거시켜 cobolt의 권한을 얻는 방식으로 진행한다. -1. 문제 파악 cobolt.c를 확인한다. 여기서도 level1처럼 strcpy로 입력값을 받고 있다! 이번엔 buffer의 크기가 16정도 밖에 되지않아, buffer에 쉘코드를 전부 넣을 수 없..

    [LoB] Level1 : gate >> gremlin

    [LoB] Level1 : gate >> gremlin

    id : gate pw : gate LoB의 문제들은 해당 level의 권한에서 다음 level 권한을 획득하여 다음 level의 비밀번호를 알아내는 방식이다. 그래서 level1의 gate로 접속해 취약점을 찾아 level2의 gremlin의 권한을 획득한 후, gremlin의 비밀번호를 알아내야한다. 따라서 앞으로 할 일은 (1) 취약점 찾기, (2) payload 작성, (3) gremlin 권한 획득, (4) my-pass로 gremlin 비밀번호 획득 이다. 1. 취약점 찾기 -1. 문제 파악 gate로 접속해 들어가보면 아래의 파일들을 볼 수 있다. gremlin.c로 취약점을 찾고, gremlin 권한의 gremlin을 실행해 권한을 획득하면 될 것 같다. gremlin.c 파일을 확인해보자..

    [LoB] The Load of BoF - 해커스쿨 BoF 환경 구축

    [LoB] The Load of BoF - 해커스쿨 BoF 환경 구축

    LoB는 해커스쿨에서 만든 wargame으로, 총 20개의 level을 거쳐가며 BoF 시스템 해킹 실습을 할 수 있다. LoB 시작을 위해서는 해커스쿨에서 배포중인 가상 머신 이미지가 필요하고, 이를 실행해 level1부터 하나씩 해결해나간다. 가상 머신 이미지는 아래의 해커스쿨 공지에서 받을 수 있다. https://www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=1170881885 다운받은 이미지를 실행하면 위의 화면이 뜬다. 환경 구축 가상 머신 이미지를 부팅한 후, 아래의 id, pw로 로그인한다. ID : ro..

    [Dreamhack] ssp_001 - Write Up

    보호되어 있는 글입니다.

    [Dreamhack] basic_exploitation_001 Write Up

    보호되어 있는 글입니다.