码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CTF PWN 中常用的工具安装【Ubuntu 20.04】


    文章目录

    • 一、查看 libc 版本
    • 二、安装 git、vim、checksec
    • 三、安装 gdb
        • 1、插件 pwndbg
        • 2、插件 pwngdb
    • 四、安装 pwntools
    • 五、安装 ROP_gadget
    • 六、安装 One_gadget
    • 七、安装 glibc-all-in-one
    • 八、安装 xclibc
    • 另:pycdc


    一、查看 libc 版本

    $ getconf GNU_LIBC_VERSION
    glibc 2.31
    
    • 1
    • 2

    二、安装 git、vim、checksec

    sudo apt install git
    sudo apt install vim
    sudo apt install checksec
    
    • 1
    • 2
    • 3

    三、安装 gdb

    cd ~
    sudo apt install gdb
    gdb -v
    
    • 1
    • 2
    • 3

    1、插件 pwndbg

    cd ~
    git clone https://github.com/pwndbg/pwndbg.git
    cd ~/pwndbg
    ./setup.sh
    
    • 1
    • 2
    • 3
    • 4

    如果报错 “launchpadlib 1.10.13 requires testresources, which is not installed.”,执行:

    python3 -m pip install launchpadlib
    
    • 1

    2、插件 pwngdb

    cd ~
    git clone https://github.com/scwuaptx/Pwngdb.git
    cp ~/Pwngdb/.gdbinit ~/
    vim ~/.gdbinit
    第二行插入 source ~/pwndbg/gdbinit.py
    
    • 1
    • 2
    • 3
    • 4
    • 5

    四、安装 pwntools

    cd ~
    git clone https://github.com/Gallopsled/pwntools.git
    sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
    python3 -m pip install --upgrade pip
    python3 -m pip install --upgrade pwntools
    
    • 1
    • 2
    • 3
    • 4
    • 5

    五、安装 ROP_gadget

    用于提取 gadgets

    cd ~
    sudo pip3 install capstone
    git clone https://github.com/JonathanSalwan/ROPgadget.git
    cd ROPgadget
    sudo python3 setup.py install
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如果报错 “ResolutionError: Script ‘scripts/ROPgadget’ not found in metadata at ‘/home/shenyuxin/.local/lib/python3.8/site-packages/ROPGadget-7.3.dist-info’”,执行:

    sudo cp -r scripts /home/shenyuxin/.local/lib/python3.8/site-packages/ROPGadget-7.3.dist-info
    
    • 1

    使用:ROPgadget --binary [文件名] --only 'pop|ret'

    六、安装 One_gadget

    用于查找动态链接库里 execve(’/bin/sh’, NULL, NULL) 函数的地址

    安装 ruby
    sudo apt install -y ruby ruby-dev
    安装 one_gadget
    sudo gem install one_gadget
    
    • 1
    • 2
    • 3
    • 4

    七、安装 glibc-all-in-one

    cd ~
    git clone https://github.com/matrix1001/glibc-all-in-one
    cd glibc-all-in-one
    sudo python3 update_list
    
    • 1
    • 2
    • 3
    • 4

    下载 libc:

    cd glibc-all-in-one
    cat list
    sudo ./download 2.23-0ubuntu3_amd64
    sudo ./download 2.27-3ubuntu1_amd64
    
    • 1
    • 2
    • 3
    • 4

    八、安装 xclibc

    git clone https://github.com/ef4tless/xclibc.git
    cd xclibc
    sudo rm /usr/local/bin/xclibc
    sudo mv ./xclibc /usr/local/bin
    sudo chmod +x /usr/local/bin/xclibc
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看 libc 文件版本:

    xclibc [选项] [参数]
    -s [libc文件] # 查看libc文件版本
    -x [-n] [文件] [libc文件] # 一键给文件配置libc文件相应版本的环境(添加-n选项可以使用修改--replace-needed的方式实现)
    -c [-n] [文件] [libc大版本号] [libc小版本环境路径] # 给文件配置指定的libc环境,输入大版本号后回车,可自由选择复制libc小版本环境路径(添加-n选项可以使用修改--replace-needed的方式实现)
    -e [deb包] # 解压相应的libc_deb包至glibc_all_in_one路径,通常一个版本需要解压一份本体deb和一份debug_deb包
    -r [文件] # 恢复修改过的文件至初始状态
    -h # 显示帮助
    -v # 显示版本号
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    另,在线查询 libc 版本:https://libc.blukat.me/


    另:pycdc

    python 反编译,顺手写这了

    安装 cmake
    sudo apt-get install cmake
    安装 pycdc
    git clone https://github.com/zrax/pycdc.git
    cd pycdc
    cmake CMakeLists.txt
    make
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    使用:./pycdc [文件名]

  • 相关阅读:
    限流及及常用解决方案
    细胞膜杂化脂质体载紫杉醇/红细胞膜包被雷公藤甲素-红素仿生共载脂质体的研究制备
    RK3399平台开发系列讲解(CPU篇)常见CPU性能问题
    理解实现搜索二叉树
    REDIS篇(4)——命令执行过程(readQueryFromClient)
    LLM之RAG理论(十)| RAT:一种协同CoT和RAG的 AI 提示策略,助力解决长任务推理和生成
    MacOS 用typora和picGo配置腾讯云COS图床
    C语言开发-开发工具安装配置,gcc下载安装配置
    【Vue】Vue快速入门、Vue常用指令、Vue的生命周期
    什么是jsx
  • 原文地址:https://blog.csdn.net/Albert_Bolt/article/details/132780901
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号