PWN环境搭建
PWN环境搭建
本教程主要参考PWN虚拟机配置、Linux Pwn入门教程-----环境配置 、星盟安全 PWN系列教程 PWN环境配置 。
需要的工具或系统
如何安装VM虚拟机,虚拟机如何安装kali系统,这里就不再介绍,读者可自行通过搜索引擎查找相关资料,这里主要记录下kali安装相关pwn工具的过程。
安装PWN工具
pwntools (CTF库、漏洞利用库)
#提前安装pip
sudo apt-get install python3-pip
#安装pwntools
pip install pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple
pwngdb(GDB插件)
git cloen https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
checksec(查保护)
安装完pwntools后,checksec会自动被安装上,此工具主要用来查程序保护。
checksec hackpwn
ROPGadget(二进制文件查找工具)
sudo pip install capstone
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo python3 setup.py install
安装后运行ROPgadget
会报错,然后按照此文章的方法解决即可https://blog.csdn.net/weixin_44061097/article/details/103133240
one_gadget(libc查找one gadget最佳RCE工具)
最开始按照https://www.yuque.com/hxfqg9/bin/hg3qeh 教程安装此工具遇到些坑,主要是因为ruby版本引起的,教程中是如下方式安装:
sudo apt-get install ruby -y
sudo apt-get install gem -y
sudo gem install one_gadget
但是用此方法安装one_gadget会报错,会显示one_gadget安装失败,解决办法是手动编译源码安装最新ruby 3.0版.
wget https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.2.tar.gz
tar -zxvf ruby-3.0.2.tar.gz
cd ruby-3.0.2
sudo ./configure
sudo make
sudo make install
make成功后应该是这种效果。
运行one_gadget命令
one_gadget /lib/x86_64-linux-gnu/libc.so.6
安装32位的库
在kali下安装lib32ncurses5
会发现找不到包,需要将其改成lib32ncurses5-dev
。
sudo apt-get install lib32ncurses5-dev
sudo apt-get install lib32z1
LibcSearcher(清华大佬写的工具 获取libc对应版本和地址)
因为工具长久没有维护,也可用此在线网站工具https://libc.blukat.me/
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
python setup.py develop
git clone时候报错了。
发现是系统时间不正确,然后就找了资料同步了网络时间https://www.freesion.com/article/71991435396/,之后发现还是报错!后面又根据一篇文章说是要编译一个openssl版libcurl依赖的git才行,后面编译出来后还是报错,裂开了。
最后发现是macOS VMware的坑,要把桥接改成NAT共享模式并且修改DNS为114.114.114.114后就可以了。
main_arena_offset(用来计算 main_arena 的偏移)
这是一个bash脚本直接用就行。
git clone https://github.com/bash-c/main_arena_offset.git
cd main_arena_offset
./main_arena /lib/x86_64-linux-gnu/libc.so.6
也可以用dev2ero封装的py_main_arena_offsetpy模块来计算main_arena的偏移。
from pymao import *
libc = "/lib/x86_64-linux-gnu/libc.so.6"
main_arena_offset = gmao(blic)
main_arena_offset
seccomp-tools(用来读取seccomp沙箱规则)
docker版pwn环境
如果怕麻烦的话可以直接用大神们打包好的docker版的pwn环境,skysider/pwndocker。
命令行:
docker run -d \
--rm \
-h ${ctf_name} \
--name ${ctf_name} \
-v $(pwd)/${ctf_name}:/ctf/work \
-p 23946:23946 \
--cap-add=SYS_PTRACE \
skysider/pwndocker
docker exec -it ${ctf_name} /bin/bash
具体使用方法如下:
打开你的终端,然后比如你今天要打buuctf,那么在终端输入ctf_name=buuctf,然后再输入上面的命令行,并且此时你终端当前目录会多出一个buuctf的目录,你可以把pwn文件放进去这样就能同步到docker里面。
最后欢迎各位大佬加群学习交流PWN技术、或者re
PWN环境搭建的更多相关文章
- [零基础学IoT Pwn] 环境搭建
[零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...
- 一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文分析 Vault 7 中泄露的 RouterOs 漏洞.漏洞影 ...
- Ubuntu22.04搭建PWN环境
前言 最近尝试在Ubuntu最新的版本22.04版本上搭建PWN环境,有了之前在kali上搭建的经验,总的来说问题不大.但搭建的时候还是有不少地方出错了,好在搭建的过程中不断的拍摄快照,所以整个过程还 ...
- kali2021.4a搭建pwn环境
最近电脑重装系统(吐槽一下,win11真的一言难尽),顺便在虚拟机装了最新版本的KaliLinux,顺带着搭建一下PWN环境.总的来说这次搭建PWN环境问题不大,按照之前安装的步骤,整个过程还算是比较 ...
- arm64 调试环境搭建及 ROP 实战
前言 比赛的一个 arm 64 位的 pwn 题,通过这个题实践了 arm 64 下的 rop 以及调试环境搭建的方式. 题目文件 https://gitee.com/hac425/blog_data ...
- Deepin Pwn环境的配置
要学习Pwn Pwn环境那是必不可少滴! 我是新手,我也弄了好久,这里把经验分享给大家!这里感谢I春秋的"知世"老师的脚本!虽然写的不是很完美.还得我自己动手修改!PS:http ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
随机推荐
- 对javaEE Tutorial上hello2的源码分析详解
首先: java EE 上的hello2项目是一个部署在glass fish上的开发源码的java web项目,在终端通过命令行使用maven进行打包成.war文件,最后部署到相关的glass fis ...
- vs code安装leetcode插件
vs code 安装不成功啊 1.首先确保有node.js 10+,没有的话去官网下载,安装就可以,安装好之后在cmd命令行中输入: node -v 若出现相关版本信息说明安装成功 2.由于leetc ...
- P5163-WD与地图【tarjan,整体二分,线段树合并】
正题 题目链接:https://www.luogu.com.cn/problem/P5163 题目大意 给出\(n\)个点\(m\)条有向边,点有权值,要求支持操作 删除一条边 修改一个点的权值 求一 ...
- Golang使用swaggo自动生成Restful API文档
#关于Swaggo 相信很多程序猿和我一样不喜欢写API文档.写代码多舒服,写文档不仅要花费大量的时间,有时候还不能做到面面具全.但API文档是必不可少的,相信其重要性就不用我说了,一份含糊的文档甚至 ...
- 一个故事看懂CPU的TLB
Hi,我是CPU一号车间的阿Q,还记得我吗,真是好久不见了- 我所在的CPU是一个八核CPU,就有八个工作车间,那运行起来速度杠杆的- 虚拟地址翻译 一大早,我们一号车间MMU(内存管理单元)部门的小 ...
- 一凡老师亲录视频,Python从零基础到高级进阶带你飞
如需Q群交流 群:893694563 不定时更新2-3节视频 零基础学生请点击 Python基础入门视频 如果你刚初入测试行业 如果你刚转入到测试行业 如果你想学习Python,学习自动化,搭建自动化 ...
- asp.net core使用identity+jwt保护你的webapi(一)——identity基础配置
前言 用户模块几乎是每个系统必备的基础功能,如果每次开发一个新项目时都要做个用户模块,确实非常无聊.好在asp.net core给我们提供了Identity,使用起来也是比较方便,如果对用户这块需求不 ...
- LINUX系统入侵排查
当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为 ...
- HCNP Routing&Switching之路由引入
前文我们了解了路由控制技术策略路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15333139.html:今天我们来聊一聊路由引入技术相关话题: 路 ...
- 一文读懂 Serverless,将配置化思想复用到平台系统中
作者 | 春哥大魔王 来源 | Serverless 公众号 写在前面 在 SaaS 领域 Salesforce 是佼佼者,其 CRM 的概念已经扩展到了 Marketing.Sales.Servic ...