您当前的位置:首页 > 电脑百科 > 安全防护 > 黑客技术

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

时间:2020-03-25 13:43:08  来源: 安界  作者:

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。下载链接

Ubuntu16.04默认是安装了Binutils的,所以如果版本太老了可以选择更新一下。外国架构的组装(例如,在Mac OS X上装配Sparc shell)需要安装跨编译的binutils版本。

编译安装法

wget http://ftp.gnu.org/gnu/binutils/binutils-2.25.1.tar.bz2

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++

rp++ rp++是一种完全用c++编写的工具,目的是在PE/Elf/Mach-O(不支持FAT二进制文件)x86/x64二进制文件中找到ROP序列。它是开源的,已经在几个操作系统上测试过:Debian / Windows 7 / FreeBSD / Mac OSX Lion(10.7.3)。此外,它是x64兼容的。我差点忘了,它同时处理英特尔和英特尔。

 

#运行

chmod +x rp-lin-x64

./rp-lin-x64

安装ROPgadget

ROPgadget介绍 这个工具可以让你在二进制文件上搜索的小工具,以方便你的ROP利用。ROPgadget支持x86、x64、ARM、ARM64、PowerPC、SPARC和MIPS体系结构的ELF/PE/Mach-O格式。从版本5开始,ROPgadget有一个新的核心,它是用Python的Capstone disassembly框架编写的,用于gadget搜索引擎——旧版本可以在存档目录中找到,但它不会被维护。

安装ROPgadget之前需要先安装Capstone,这个反汇编框架之前已经安装过了。

#方法一

#安装过capstone后,ROPgadget可以作为一个单独的工具使用

ROPgadget.py

#方法二

#安装到Python的站点包库中,并且加入环境变量中

python setup.py install

ROPgadget

#方法三

#用pip安装

pip install ropgadget

ROPgadget

libc

libc-database介绍 libc是Linux下的ANSI C的函数库。ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。libc-database是github上的一个仓库,可以进行服务器上所用函数库版本的识别。

这里还有一个更全的,是一个网站。libcdb.com

写到这总算告一段落了,如果后期还有更好的工具,我会补充,就先到这吧。



Tags:   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言什么是数据脱敏数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护常用脱敏规则替换、重排、加密、截断、掩码良好的数据脱敏实施1、尽...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
河南最有名的“13碗面”,吃过10种以上的一定是地道河南人,你吃过几碗?河南位于黄河中下游,优越的地理位置和条件,让河南的种植业在全国脱颖而出,被称为全国的“粮仓”。小麦是河南...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
在狗界中,有些狗狗比较凶残、霸道,今天我们就来说说被称为“犬中四煞”的4种狗,请认住它们的长相,看见了要绕路走! NO1:黑狼犬产地:中国寿命:11-12年黑狼犬是狼狗的一种,长大高大威猛...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
协议下的体面离婚 2015年1月 方晴供职于一家外企,袁亮硕士毕业后开了家公司。两人相识、恋爱后走进婚姻殿堂。 方晴和袁亮的儿子小浩出生了。本该是其乐融融的三口之家,却在一...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
中国人神话世界五千年到一万年之前到底是一个什么样的世界?相信这个问题应该是困扰了大家许久吧!其实这些问题可以从远古时代的三皇五帝开始说起,三皇五帝对于中国人的影响就如...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
去年有个新闻,说的是一名印度女孩自小被欧洲有钱人家收养,长大后要回来给自己出生的村子捐钱做慈善。等她回村的时候,村里人专门为女孩修了一条路。表面上看,这貌似是个暖心的故...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
日本在今年又给大家带来了一个巨大消息,日本著名的球星本田圭佑出资设立的一家公司,正式发售了飞行摩托车。 在之前可是在电视或者是电影中才能看到的,是具备了未来科幻的一个...【详细内容】
2021-12-28  Tags:   点击:(4)  评论:(0)  加入收藏
V社今日公布了2021年Steam最畅销游戏榜单,其中涵盖了本年度Steam上收入最高的100款游戏。为了得出每款游戏的总收入,Steam计算了2021年1月1日至2021年12月15日的游戏销售额、...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
“都怪我一时糊涂铸下大错,这几年为了蒙混过关,拆东墙补西墙就怕被发现,我对不起信任我的领导同事,更对不起我的家人。”内蒙古某国有合资公司原出纳员包某在庭审现场听取公诉人...【详细内容】
2021-12-28  Tags:   点击:(2)  评论:(0)  加入收藏
2021年黄金价格下跌11.3%,黄金现在已经下跌了6.5%。白银价格一度下跌19.3%,白银现在已经下跌了15%。美元通胀。白银自2020年2月份以来,五家中央银行(Fed、欧洲中央银行、日本中...【详细内容】
2021-12-28  Tags:   点击:(3)  评论:(0)  加入收藏
▌简易百科推荐
一、背景介绍作为一名渗透测试工作人员(或者小白),在我们的日常工作或者学习中,我们不可能时时刻刻将自己的个人电脑(安装好Kali Linux的个人主机)带在身边,当我们没有带自己的个人...【详细内容】
2021-12-27  Kali与编程    Tags:Kali Linux   点击:(3)  评论:(0)  加入收藏
我们都知道公司网络中开放的端口越多,遭受网络攻击的可能性就越大,就越容易发生数据泄露事件。 在这篇文章中,我们将讨论与开放端口相关的网络安全隐患。 网络中的端口 据统计...【详细内容】
2021-12-10  诺必达云服务    Tags:端口扫描   点击:(33)  评论:(0)  加入收藏
一、背景介绍DirBuster是用来探测web服务器上的目录和隐藏文件的。因为DirBuster是采用java编写的,所以运行前要安装上java的环境。 来看一下基本的使用: ①:TargetURL下输入要...【详细内容】
2021-12-07  Kali与编程    Tags:Dirbuster   点击:(28)  评论:(0)  加入收藏
#本文仅用于网络安全研究学习任何未经授权的入侵都是违法行为dir 浏览 创建文件 echo 文件内容 > 文件名字.扩展名 浏览文件内容 type 文件名 分页浏...【详细内容】
2021-12-07  WHOAMI    Tags:黑客   点击:(22)  评论:(0)  加入收藏
上一节中我们学了如何实现ARP断网攻击,本节中我们将利用ARP欺骗的原理实现截取目标计算机图片流量,内容包括:&uuml;如何开启ip转发&uuml;怎样截取受害机图片流量 一、开启ip转...【详细内容】
2021-11-23  Kali与编程    Tags:黑客   点击:(23)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-11-15  Kali与编程    Tags:端口   点击:(39)  评论:(0)  加入收藏
1.背景介绍几乎每一个玩渗透的人都会接触到metasploit framework,简称msf。这是一个渗透测试框架,用ruby语言编写的,该框架集成了很多可用的exploit,比如著名的ms08_067等。你可...【详细内容】
2021-11-15  Kali与编程    Tags:服务扫描   点击:(37)  评论:(0)  加入收藏
在前面的课程中,我们学习了ARP攻击的理论和实践知识,知道了怎么进行攻击,这节中我们将学习如何进行防御,内容包括:&uuml;借助第三方软件防御(360安全卫士,腾讯管家等)&uuml;使用arp...【详细内容】
2021-11-13  Kali与编程    Tags:白帽   点击:(32)  评论:(0)  加入收藏
简介在sqlmap基础上增加了目录扫描、hash爆破等功能运行环境 linux 在云服务器上还是蛮不错的项目连接如下https://github.com/s0md3v/sqlmat usage: sqlmate [-h] [--dor...【详细内容】
2021-11-10  暗网视界    Tags:sqlmate   点击:(44)  评论:(0)  加入收藏
一、背景介绍在网上冲浪少不了用到搜索引擎,而很多朋友都习惯把Google视为第一个选择对象。当然Google无论在搜索速度还是结果关联性方面都是十分优秀的。但百度(http://www.b...【详细内容】
2021-11-05  Kali与编程    Tags:白帽黑客   点击:(31)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条