几行代码教你做黑客(2)
时间:2022-12-07 02:15 来源:网络整理 作者:采集插件 点击:次
Ubuntu16.04默认是安装了Binutils的,所以如果版本太老了可以选择更新一下。外国架构的组装(例如,在Mac OS X上装配Sparc shell)需要安装跨编译的binutils版本。 编译安装法 wget tar -xvf binutils-2.25.1.tar.bz2 mkdir -v ../binutils-build #binutils官方推荐编译binutils要和源码分离 cd ../binutils-build ../binutils-2.20/configure --prefix=/tools make #编译 make install #编译并安装 pwntools-binutils安装 git clone https://github.com/Gallopsled/pwntools-binutils cd ubuntu chmod x install_all.sh ./install_all.sh arm #your architecture 安装Python-Dev(Python Development Headers) Python-Dev介绍 python-dev或python-devel称为是python的开发包,其中包括了一些用C/Java/C#等编写的python扩展在编译的时候依赖的头文件等信息。比如我们在编译一个用C语言编写的python扩展模块时,因为里面会有#include<Python.h>等这样的语句,因此我们就需要先安装python-devel开发包。 一些Pwntools的Python依赖项需要本地扩展,所以必须要安装Python-Dev. apt-get install python-dev 安装Pwntools github下载安装 git clone https://github.com/Gallopsled/pwntools cd pwntools python setup.py install pip安装 apt-get update #可以看到有些前面已经装过了,这是我复制pwntools手册上的 apt-get install python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential pip install --upgrade pip pip install --upgrade pwntools 如果没报错,进入python终端,输入import pwn,然后回车,没报错应该就是安装好了 现在尝试一下pwntools的asm功能: >>> pwn.asm("xor eax,eax") '1\xc0' 如果有正确输出,即说明这个功能是可以用的,到这里就算安装完成。 gdb peda pwndbg安装 gdb介绍 GDB(GNU Debugger)GNU开发的Unix/Linux下的调试工具。其功能强大,现描述如下: GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3.当程序被停住时,可以检查此时你的程序中所发生的事。 4.动态的改变你程序的执行环境。 gdb不同于windows下的ollydbg和windbg,它是命令行下的工具,没有图形界面,通过输入命令与它交互,来调试程序,查看程序的运行过程,这一点和windbg有点相似。也是很多致力于安全研究、漏洞发现的人的一个神器。 Ubuntu16.04是默认安装了gdb的,可以使用gdb --version查看gdb的版本,如果没有安装可以使用下面一条命令进行安装,也可以编译安装。 sudo apt-get install gdb peda介绍 peda全称是Python Exploit Development Assistance for GDB。PEDA是为GDB设计的一个强大的插件它提供了很多人性化的功能,比如高亮显示反汇编代码、寄存器、内存信息,提高了debug的效率。同时,PEDA还为GDB添加了一些实用新的命令,比如checksec可以查看程序开启了哪些安全机制等等。它是用Python写的一个工具,可以辅助编写exp,运行在Unix/Linux系统上。 #安装peda git clone https://github.com/longld/peda.git ~/peda echo "source ~/peda/peda.py" >> ~/.gdbinit echo "DONE! debug your program with gdb and enjoy" peda也可以通过pip安装 sudo apt-get install pip pwndbg介绍 Pwndbg是一个Python模块,它直接加载到GDB中,并提供了一套实用工具和一组辅助工具来绕过GDB的所有cruft,并将粗糙的边缘平滑掉。过去的许多其他项目(如gdbinit、PEDA)和现在(例如GEF)的存在填补了这些空白。它们都提供了优秀的经验和优秀的特性——但是它们很难扩展(有些是未维护的,所有的都是单个100KB、200KB或300KB文件)。Pwndbg的存在不仅是为了取代它的所有前辈,而且还有一个快速运行的干净的实现。 Pwndbg支持最好的环境是: Ubuntu14.04 and GDB7.7 Ubuntu16.04 and GDB7.11 #安装Pwndbg git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh 这些工具的用法打算另写一篇文章,不然这篇文章实在是太长了。 安装gcc-multilib gcc-multilib gcc-multilib是Debian的64位系统下运行32位程序的一个库,装了这个库就可以运行32位的程序了。 #安装命令 sudo apt-get install gcc-multilib 或者 sudo aptitude install gcc-multilib socat socat socat是一个多功能的网络工具,名字来由是" Socket CAT",可以看作是netcat的加强版,socat是两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。Socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。多个选项可用于调整socat和其渠道,Socat可以作为TCP中继(一次性或守护进程),作为一个守护进程基于socksifier,作为一个shell Unix套接字接口,作为IP6的继电器,或面向TCP的程序重定向到一个串行线。socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket等。(文档英文的看起来太困难,这是别人写的,也不知道对不对,以后) Ubuntu16.04下默认安装有,如果没有,需要安装的话,看了别人的文章,好像要下载源码编译安装。 安装rp (责任编辑:admin) |