LanYunのBlog

LanYunのBlog

马上订阅 LanYunのBlog RSS 更新: https://lanyundev.com/atom.xml

在Apple Silicon(ARM架构)上使用docker搭建Linux解题环境(含pwn)

2021年12月18日 18:23

前言


本人之前一直使用pd虚拟机,因为apple silicon是arm架构的导致我在虚拟机中为了搭建环境废了不少心思,结果还是没弄好.

便尝试使用docker(其实昨年就知道docker在mac上有预览版了,而当时也没mac就关注了一下,没想到我在Stack Overflow上居然看到了解决办法)

为什么我会想用docker呢?

在Stack Overflow上关于/lib64/ld-linux-x86-64.so.2: No such file or directory error这个问题的答案中,

我看到了这样一条image-20211218192913322

我就突然想起用docker可以pull一个x86的ubuntu的镜像.只需加上参数–platform linux/amd64

pwn大佬看这:最终配置完成后gdb调试是无法进行的,猜测是docker基于qemu虚拟化的问题,以什么权限运行都无法进行gdb调试,只能说作为临时救急用

已知问题:

目前没法动调起来,所以我买了台x86的服务器.

问题参考:

https://github.com/docker/for-mac/issues/5191

https://stackoverflow.com/questions/68435791/warning-ptrace-function-not-implemented-during-startup-program-exited-with-cod

https://stackoverflow.com/questions/20590155/how-to-single-step-arm-assembly-in-gdb-on-qemu/28241508#28241508

本机配置


image-20211218193431944

下载并安装docker


(✔)Docker Desktop for Apple silicon (预览版)

(✘)Install Docker Desktop on Mac

docker的安装和普通软件一样拖入即可完成安装,

image-20211218200639178

在终端输入docker -v 就可以看到docker的版本了~

注意事项:

接下来打开程序Snipaste_2021-12-18_20-10-24点OKimage-20211218201128125输入密码后点安装

之后点同意接受.才算程序加载完成.

环境配置


pull镜像

这里我用的是ubuntu18.04基于x86的基础镜像,其中参数 --platform linux/amd64 必不可少

docker pull ubuntu:18.04 --platform linux/amd64

image-20211218201728110

启动容器

接下来用以下命令来配置虚拟机基础环境并运行

1
docker run -i -t -d --name=ubuntu-18.04 ubuntu:18.04 && docker exec -it ubuntu-18.04 /bin/bash

使用uname -a即可发现镜像正确运行在了x86架构上~

image-20211218202100797

ubuntu环境配置

首先进行换源操作.

更换apt源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
apt-get update &&  cp /etc/apt/sources.list /etc/apt/sources.list.bak && \
apt-get install apt-transport-https ca-certificates -y && \
echo ' # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释.
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe...

剩余内容已隐藏

查看完整文章以阅读更多