CTF工具安装
在线工具收集
离线方式安装python第三方包
- 安装setuptools 离线安装:安装包上传至Linux系统 在线安装:wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python setup.py build
python setup.py install
- 安装pip3 离线安装:安装包上传至Linux系统
tar -xf 文件名
cd 进入解压文件
sudo python3 setup.py install
- 安装其它第三方包
上传离线安装wheel包
pip3 install xxx.whl
Crypto工具
python3安装Crypto模块
建议用python3.7及以上的Python版本 pip install pycryptodome
gmpy2
Mac OS 直接安装 pip3 install gmpy2 会报错,解决方式如下:
brew install libmpc pip3 install gmpy2
采用brew进行安装的时候会自动安装mpfr和gmpy
安装好了后,查了下libmpc mpfr是什么:
libmpc是一个C库,用于复数的算术,具有任意高的精度和正确的舍入结果。 它将固定精度实数浮点数的IEEE-754标准的原则扩展为复数,为每个操作提供明确的语义。 同时,高精度的操作速度是主要的设计目标。
MPFR库是一个C库,用于具有正确舍入的多精度浮点计算。
pwntools
pip install pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple
比如这个报错:
pwnlib.exception.PwnlibException: Could not find 'objcopy' installed for ContextType()
Try installing binutils for this architecture:
https://docs.pwntools.com/en/stable/install/binutils.html
Mac OS 只这样安装完有问题,还要安装 binutils
pwndbg
Linux安装
参考这里: https://github.com/pwndbg/pwndbg
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
Mac安装
因为Mac系统基于Unix内核,这样安装会有问题,不能成功,所以在Mac OS上安装pwndbg的推荐方式是Docker安装(对于搭建渗透测试环境来说,Docker是个神器)
➜ [/Users/TesterCC] docker search pwndbg
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
jthorpe6/pwndbg 0
disconnect3d/pwndbg 0
shangkuei/pwndbg 0
lxzmads/pwndbgenv 0
equation314/pwndbg_qemu_emulate 0
johnee/pwndbg 0
beswing/ubuntu-17.10-for-pwn CTF Pwn , Pwntools, pwndbg 0
一般来说Docker image选用STARS数最多的。
试试docker search vulhub
,有不少好用的镜像。
具体步骤:
1.拉取镜像
docker pull jthorpe6/pwndbg
2.用pwndbg调试程序
举例:目标程序 crackme 文件放在 /Users/TesterCC/Desktop 下,要将这个目录和Docker中的/tmp/目录映射。 实际/tmp/crackme 访问的是 /Users/TesterCC/Desktop/crackme
docker run -it --privileged -v /Users/TesterCC/Desktop:/tmp/ jthorpe6/pwndbg /tmp/crackme
3.Docker交互式启动container
给Docker中的代码调试时经常使用。
docker run -it container_id /bin/bash
vulhub
构建环境
git clone git@github.com:vulhub/vulhub.git
# Enter the directory of vulnerability/environment
cd flask/ssti
# Compile environment
docker-compose build
# Run environment
docker-compose up -d
删除容器
进入对应目录
docker-compose down -v
注意这样只是删除docker容器,如果要删除镜像,还是用通过docker images
和docker rmi xxx
来删除docker镜像。