Ubuntu安装

Ubuntu Docker 安装 | 菜鸟教程(这里有其他的安装方式,我就用的官方脚本自动安装)

安装命令如下:

# 下载并执行Docker官方安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

添加用户组

# 添加当前用户到 docker 组
sudo usermod -aG docker $USER
newgrp docker  # 刷新用户组

docker镜像加速

(22 封私信) Docker换源加速(更换镜像源)详细教程(2025.3最新可用镜像,全网最详细) - 知乎

直接创建文件/etc/docker/daemon.json

sudo gedit /etc/docker/daemon.json

然后将下面内容粘贴到文件中

{
    "registry-mirrors": [
    	"https://docker.m.daocloud.io",
    	"https://docker.imgdb.de",
    	"https://docker-0.unsee.tech",
    	"https://docker.hlmirror.com",
    	"https://docker.1ms.run",
    	"https://func.ink",
    	"https://lispy.org",
    	"https://docker.xiaogenban1993.com"
    ]
}

只不过这种方式pull还是很慢,但是能够拉取了…

(22 封私信) 2025 Docker 国内镜像源加速列表(8月18日更新) - 知乎换这个应该要快一些,但我看能拉取的就没换了。

pwn环境(20.04)

不想重新配就直接在上找的别人配置好的。

使用docker调试和部署pwn题 - LynneHuan - 博客园

roderickchan/debug_pwn_env - Docker Image | Docker Hub

使用命令拉取

docker pull roderickchan/debug_pwn_env:20.04-2.31-0ubuntu9.16-20240601

拉取成功后,进入想要挂载文件的目录,在此处打开终端

docker run -it --rm \
  -v "$(pwd)":/pwn/work \
  -p 23946:23946 \
  --cap-add=SYS_PTRACE \
  --user root \
  roderickchan/debug_pwn_env:20.04-2.31-0ubuntu9.15-20240421 \
  /bin/bash
-v 这样你在容器中修改/pwn/work下的文件,本地/home/yourname/pwn_projects会实时更新。可以将你要调试的文件所在目录挂载过去就能实现在docker中调试。
--user root 添加权限
--rm 每次退出就会把这个容器删掉,这样下次进入就是原来的样子

输入exit,容器自动销毁。

不用--rm,将容器保存为my-pwn,使得下次进入时下载的工具还在。

docker run -it \
  -v "$(pwd)":/pwn/work \
  -p 23946:23946 \
  --cap-add=SYS_PTRACE \
  --user root \
  --name my-pwn \
  roderickchan/debug_pwn_env:20.04-2.31-0ubuntu9.15-20240421 \
  /bin/bash

第一次运行: 上面的命令会创建一个名为 my-pwn 的容器,并进入 /bin/bash
你在里面安装的工具(onegadgetpwntools 等)都会保留下来。

以后再次进入这个容器,只要执行:

docker start -ai my-pwn

如果想删除容器:

docker rm my-pwn

调试程序

因为使用gdb.attach需要打开一个新的终端而容器中不能开新的终端。我这里选择下载tmux

  1. 在容器内安装终端复用器:

    apt update && apt install -y tmux
    
  2. 在脚本中设置终端类型:

    context.terminal = ['tmux', 'splitw', '-h']  # 在 tmux 中水平分割窗
    
  3. 在运行 exp 前启动 tmux:

    tmux  # 启动 tmux 会话
    python3 bb.exp
    

在这里插入图片描述

tmux中启用鼠标支持(可以滑动窗口)

在 tmux 会话中执行:

# 临时启用鼠标
tmux set -g mouse on

或者永久配置(在容器内):

bash

echo "set -g mouse on" >> ~/.tmux.conf

启用鼠标后:

  • 可以直接用鼠标滚轮滚动
  • 可以点击选择文本
  • 可以调整窗格大小

tmux中复制

按住shift然后双击需要的数据,然后按crtl+shift+c完成复制。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐