이것은 다양한 보안 연구 도구를 설치하기 위한 설정 스크립트 모음입니다.
물론 이것은 어려운 문제는 아니지만, 새로운 머신 등에 쉽게 배포할 수 있는 하나의 장소에 모아두는 것은 정말 좋습니다.
이 도구들의 설치 스크립트는 가끔씩 확인되므로, 대체로 잘 작동할 가능성이 높습니다!
다음 도구들을 위한 설치 프로그램이 포함되어 있습니다:
| 카테고리 | 도구 | 설명 |
|---|
| binary | angr | Shellphish의 차세대 바이너리 분석 엔진. |
| binary | angr-management | GUI 리버스 엔지니어링 및 디컴파일 도구. |
| binary | beef | 브라우저 익스플로잇 프레임워크. |
| binary | crosstool | 크로스 컴파일러 및 크로스 아키텍처 도구. |
| binary | cross2 | 일본어 C 책에서 제공하는 크로스 컴파일 도구 모음. |
| binary | decomp2dbg | 디컴파일러에서 디버거로 대화형 심볼을 제공하는 플러그인. |
| binary | elfkickers | ELF 파일 작업을 위한 유틸리티 모음. |
| binary | elfparser | ELF 파일 정보를 표시하는 멀티플랫폼 CLI 및 GUI 도구. |
지루함을 깨기 위해 CTF가 아닌 것들을 위한 설치 프로그램도 있습니다!
| 카테고리 | 도구 | 설명 |
|---|
| game | df | Dwarf Fortress! CTF 후에 휴식을 취하는 데 도움이 됩니다! |
사용법
사용하려면 다음을 실행하세요:```bash
set up the path
/path/to/ctf-tools/bin/manage-tools setup
source ~/.bashrc
manage-tools list
install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb
manage-tools install pwntools
manage-tools -n install qemu
uninstall gdb
manage-tools uninstall gdb
manage-tools uninstall all
manage-tools search preload
가능한 한, 도구들은 설치를 매우 자체적으로 유지합니다(즉, tool/ 디렉토리 내에). 그리고 대부분의 제거는 단순히 `git clean` 호출입니다(**참고**, 이는 **주의**하지 않습니다; 도구 디렉토리 아래의 모든 내용, 작업 중이던 파일을 포함하여, 제거 시 완전히 삭제됩니다).
Python 및 Ruby 도구는 도구별 가상 환경에 설치됩니다. 이 환경에 다른 패키지를 추가하려면 `ctf-tools/TOOL/pipx` 또는 `ctf-tools/TOOL/gems` 디렉토리를 확인하세요.
## 도움말!
무언가 작동하지 않나요?
저는 (거의) 이 도구들 중 어떤 것도 작성하지 않았지만, 절박하다면 [디스코드](https://discord.gg/KRcjyn4pBH)에 연락해 보세요.
누군가 도와줄지도 몰라요!
## Docker화된 도구
### 사전 빌드된 도구 컨테이너
대부분의 도구는 [https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/master/dockerhub)에서 사전 빌드된 컨테이너로 얻을 수 있습니다.
예를 들어:```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
직접 빌드하기
다음 명령어로 도커 이미지를 빌드할 수 있습니다:```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
그리고 다음과 같이 실행하세요:```bash
docker run -it ctf-tools
빌드된 이미지는 ctf-tools가 클론되어 준비되어 있고, 사용자의 도구가 설치된 상태가 됩니다.
Kali Linux
Kali Linux (Sana 및 Rolling)는 특정 라이브러리를 최신 버전이 아닌 수동으로 설정하여 (때로는 수년 뒤쳐진 버전) 일부 도구가 전혀 설치되지 않거나 이상한 방식으로 실패하는 문제가 있습니다.
이러한 라이브러리를 덮어쓰면 Kali에 포함된 다른 도구가 손상되므로, 유일한 해결책은 Kali의 일부 도구가 깨져도 감수하거나, Docker를 사용하거나, Ubuntu와 같은 다른 배포판을 별도로 실행하는 것입니다.
도구 추가
도구를 추가하려면 (예를 들어 toolname 이라고 가정), 다음을 수행하세요:
toolname 디렉토리를 생성합니다.
install 스크립트를 생성합니다.
- README에 추가합니다.
- (선택사항) 특별한 제거 단계가 필요한 경우
uninstall 스크립트를 생성합니다.
설치 스크립트
설치 스크립트는 $PWD가 toolname인 상태에서 실행됩니다. 가능한 한 격리된 방식으로 이 디렉토리에 도구를 설치해야 합니다.
이상적으로는 git clean을 통해 완전히 제거할 수 있어야 합니다.
설치 스크립트는 bin 디렉토리를 생성하고 그곳에 실행 파일을 배치해야 합니다.
이 실행 파일들은 자동으로 저장소의 메인 bin 디렉토리에 링크됩니다.
모든 디렉토리에서 실행될 수 있으므로 $0의 위치를 가정하지 마세요!
라이선스
개별 도구들은 각자의 라이선스를 따릅니다.
ctf-tools 자체는 BSD 2-Clause License로 라이선스가 부여됩니다.
유용하게 사용하셨다면 GitHub에서 별표를 눌러주세요 (https://github.com/zardus/ctf-tools).
행운을 빕니다!
같이 보기
CTF 도구들의 선별된 목록(설치 프로그램은 없음)은 여기: https://github.com/apsdehal/aWEsoMe-cTf.
많은 큰 프레임워크가 포함된 Vagrant 구성은 여기: https://github.com/thebarbershopper/epictreasure.
저장소에 있는 유용한 CTF 도구들 (apt)
도구들이 공식적으로 패키징됨에 따라, 우리는 apt로 설치할 것을 권장하는 방식으로 전환했습니다!
Docker 이미지에 있는 유용한 CTF 도구들
이전에는 이 저장소에 docker pull을 감싼 스크립트들이 포함되어 있었습니다.
이제 여러분이 직접 할 수 있다고 믿습니다 :-)
| Category | Source | Tool | Description |
|---|
| binary | docker | panda |
유용한 CTF 라이브러리들
이전에는 이 저장소에 라이브러리 설치 프로그램이 포함되어 있었습니다.
라이브러리 설치 선호도가 매우 개별적이기 때문에 (예를 들어, 도구와 달리 라이브러리별 가상 환경이 바람직한지 명확하지 않음) 우리는 더 이상 제공하지 않으며, 후세를 위해 여기에 링크합니다.