ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CTF Tools 정리
    System/CTF 2018. 9. 30. 04:45

    [ One gadget ]

    one_gadget_install.sh

    Usage : one_gadget [libc_binary]

    libc에서 한번에 쉘을 따주는 위치의 Offset을 구해서 출력해준다.

    rax == NULL / [rsp+0x30] == NULL과 같은 제약조건들만 맞춰주면 된다.


    RET에 libc_base+oneshot_offset값을 덮어주면 쉘이 짠!




    [ XROP ]

    xrop_install_sh.sh

    Usage : xrop -r [arch] -b [bit] [Binary]

    ARM, PPC, MIPS 등의 Gadget들을 찾아주는 툴이다.

    ELF에서의 ROP_gadget이라고 보면 된다.




    [ qemu ]

    qemu-arm-static

    Usage : ./qemu-arm-static -L [Library_Directory] [Binary]

    ARM바이너리를 ELF아키텍쳐에서 실행 가능하게 해주는 툴이다.

    chroot랑 같이 사용하는 방법도 있는데, 이렇게 쓰는게 더 편한 것 같다.

    물론, ARM_Library도 있어야 한다.


    [설치 명령어]

    sudo apt-get install emdebian-archive-keyring
    sudo apt-get install libc6-armel-cross libc6-dev-armel-cross
    sudo apt-get install binutils-arm-linux-gnueabi
    sudo apt-get install gcc-arm-linux-gnueabi
    sudo apt-get install g++-arm-linux-gnueabi
    sudo apt-get install u-boot-tools
    sudo apt-get install libncurses5-dev

    7줄만 쳐주면, ARM Cross Compile 환경이 구성된다.




    [ peda-arm ]

    peda-arm.7z

    Usage : 1. 압축풀고 home경로(~)에 저장한다. 

    2. echo "source ~/peda-arm/peda-arm.py" >> ~/.gdbinit



    [gdb-multiarch]

    Usage

    1. 우선 qemu -g옵션으로 바이너리를 포트에 매핑해준다.

    2. 터미널창을 하나 더 열어서 gdb-multiarch

    3. target remote [IP]:[PORT]로 세션연결

    4. 원하는 곳에 BP설정 후, Countinue(c) 입력



    계속 추가예정..

    'System > CTF' 카테고리의 다른 글

    [2019picoCTF] droids0  (0) 2019.10.12
    [64bit] FSB Exploit Generator  (0) 2019.07.10
    Meepwn 2018 White snow, Black shadow Writeup  (3) 2019.03.02
    TUCTF2018 lisa Writeup  (1) 2019.01.14
    2018 CCE Qual Writeup - note [pwn]  (0) 2018.10.02

    댓글

Designed by Tistory.