二进制安全,黑客手把手教你搭建系统环境

Ubuntu
换源
由于Ubuntu官方的源是国外的 , 所以速度很慢 , 要把它换成国内的镜像站 , 那样,不管是更新、还是安装软件 , 都是比较快的 。
网易源http://mirrors.163.com/中科大源http://mirrors.ustc.edu.cn/华科大源http://mirror.hust.edu.cn/浙大源http://mirrors.zju.edu.cn/每个开源镜像站都有介绍不同版本的linux的源的使用方式 , 访问上述网址就行了 。首先找到/etc/apt下的sources.list,先将其备份一个 , 然后将上述镜像站的源替换sources.list里的官方源并保存 。然后执行下面两条命令:
sudo apt-get update 更新源
sudo apt-get upgrade 更新软件
安装open-vm-tools
前面安装的是VMware提供的VMware Tools,但是不能自适应客户机也不能进行文件复制 , 相当于没有安装 , 哈哈哈 。记得之前有一个工具可以替代VMware Tools , 名字也想不起来了就上网搜了下 , 是open-vm-tools.而且当你安装VMware Tools的时候也会提醒你安装open-vm-tools.安装前先将VMware Tools卸载 。Ubuntu14.04及以上版本 , 都建议安装这个工具 。安装使用如下命令:
#desktop
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
#server or headless
sudo apt-get install open-vm-tools
安装搜狗输入法
这个也很简单 , 先下载Linux版的deb包 , 按照自己所安装系统的位数下载 , 然后运行下面一条命令:
sudo dpkg -i deb包的名字
安装vim
本来一条命令就可以安装成功 , 但还是出现了问题 , 依旧是依赖问题
sudo apt-get install vim
Pwn环境搭建
基本工具:
· gdb+peda+pwndbg、gcc、Pwntools、Binutils
· Capstone、gcc-multilib、socat、rp++、readelf
· ROPgaget、libc-database、objdump、file、string、checksec
Pwntools是一个CTF框架和漏洞利用开发库 , 它使用Python编写的 , 由rapid设计并维护 , 设计这个框架的目的是为了让使用者简单快速的编写exploit 。对Pwntools支持最好的是64bits的Ubuntu LTE Realease(12.04、14.04、16.04) , 所以我选择了在Ubuntu16.04下安装这个框架 , Python环境是Python2.7 。但是绝大多数的功能也支持Debian, Arch, FreeBSD, OSX, 等等 。安装Pwntools成功的前提是安装了git、pip、Binutils、Capstone、Python-Dev等库和工具 。
安装pip
pip是Python的一个包管理工具 , 用于安装和卸载Python的扩展模块 。如果你使用的Python 2 >=2.7.9或Python 3 >=3.4并且从python.org下载 , 那么pip已经安装了 , 但是需要升级pip
#安装pip
sudo apt-get update #更新源
sudo apt-get install python-pip #安装pip , 可能会有依赖问题 , 记不清了
pip --version #查看pip版本 , 确认是否安装成功
#升级pip
sudo pip install --upgrade pip #Linux or macOS
python -m pip install -U pip #windows
pip常用命令
pip --help #查看帮助菜单
pip install packageName #安装新的python包
pip uninstall packageName #卸载python包
pip search packageName #寻找python包
安装git(分布式版本控制系统)
Git是一个开源的分布式版本控制系统 , 可以有效、高速的处理从很小到非常大的项目版本管理 。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件(百度百科) 。通过这个工具,我们可以下载和上传一些开源软件的源代码 , 非常方便 。这些代码都是保存在Github上的仓库中 。
Github与Git的区别 Git , 开发者将源代码存入名叫"Git 仓库"的资料库中并加以使用 。而 GitHub 则是在网络上提供 Git 仓库的一项服务 。也就是说 , GitHub 上公开的软件源代码全都由 Git 进行管理 。理解 Git , 是熟练运用 GitHub 的关键所在 。
#安装git工具
sudo apt-get install git
Capstone
Capstone介绍 Capstone是一个反汇编框架 , 它的目标是成为最好的反汇编引擎 , 它是为安全社区中的研究人员进行二进制分析和逆向提供服务的 。Core (Arm, Arm64, M68K, Mips, PPC, Sparc, SystemZ, X86, X86_64, XCore) + bindings (Python, JAVA, Ocaml, PowerShell)
#安装Capstone
git clone http://github.com/aquynh/capstone #下载Capstone源码到本地
cd capstone
make #编译源文件
sudo make install #编译并安装
安装Binutils
Binutils简介 GNU Binutils 是一组开发工具 , 包括连接器 , 汇编器和其他用于目标文件和档案的工具 。包括下列程序: addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings 和 strip 。下载链接


推荐阅读