关闭
Hit
enter
to search or
ESC
to close
May I Suggest ?
#leanote #leanote blog #code #hello world
Mutepig's Blog
Home
Archives
Tags
Search
About Me
QEMU
无
216
0
0
mut3p1g
## 0x01 test ``` sudo apt-get install binfmt-support qemu-user-static ``` 接着到解压的固件根目录下: ``` cp $(which qemu-mips-static) . sudo chroot . ./qemu-mips-static ./sbin/ifconfig ``` 就能运行对应的mips文件了 然后用下面这个脚本启动程序,可以用-E设置环境变量来构造web头 ``` #!/bin/bash INPUT="$1" LEN=$(echo -n "$INPUT" | wc -c) PORT="3333" if [ "$LEN" == "0" ] || [ "$INPUT" == "-h" ] || [ "$UID" != "0" ] then echo -e "\nUsage: sudo $0 <POST data>\n" exit 1 fi echo "$INPUT" | chroot . ./qemu -E REQUEST_METHOD="POST" -E CONTENT_LENGTH=$LEN -E CONTENT_TYPE="multipart/x-form-data" -E REMOTE_ADDR="1.1.1.100" -E SCRIPT_NAME="/ping.cgi" -g $PORT ./usr/sbin/httpd ``` ## 0x02 mips环境搭建 参照`详细的路由器漏洞分析环境搭建教程`进行搭建,先搞一个`debian9`的虚拟,这个就和一般的过程一样了 ### 1. buildroot 这个是用来交叉编译的 先从官网上下一个下来:https://buildroot.org/download.html 然后安装一些依赖: ``` sudo apt-get install libncurses5-dev patch bc g++ cpio python zip bzip2 file ``` 接着解压后,配置一下 ``` make menuconfig Target options->Target Architecture->选中你需要的架构 ->Target Architecture Variant->选中你需要的架构的具体版本 Toolchain->Kernel Headers->选中你系统的版本 ->C library->选中你需要的libc ->Thread library debugging->如果需要安装gdb的话则选中 ->Compile and install uClibc utilities->uclibc的话则选中 同时Toolchain下面还有一些你可以选择安装的东西,可以看需求进行选择 Target package->Debugging, profiling and benchmark->gdb->可以安装gdb&gdbserver 配置好后save,然后exit退出 ``` 然后就是正常的 ``` sudo make sudo make install ``` ### 2. qemu虚拟机 首先安装`qemu` ``` sudo apt-get install qemu ``` 然后下载虚拟机镜像:https://people.debian.org/~aurel32/qemu/ 一般进去后有这样几个文件: ![](https://leanote.com/api/file/getImage?fileId=62a3c9a6ab64412e450cf200) 其中`squeeze`和`wheezy`分别是`debian`的版本号,`squeeze`对应2.6.32,`wheezy`对应3.2.0 而`4kc`和`5kc`分别对应32位和64位系统 `malta`为内核文件,`qcow2`为文件系统文件 具体利用`qemu`跑起来的命令在下面写好了,但是这个是没有配置好网络的 ![](https://leanote.com/api/file/getImage?fileId=62a3c9a6ab64412e450cf201) 跑起来后就弹出了个虚拟机,用`root:root`进行登录 ``` qemu-system-mips64 -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" --nographic ``` ### 3. qemu虚拟机网络配置 首先安装一下依赖: ``` sudo apt-get install bridge-utils uml-utilities ``` 虚拟机设置为NAT连接 注意!以下配置都在宿主机中进行,虚拟机中不需要做任何改动! 接着配置`/etc/network/interfaces`如下,其中`ens33`需要通过`ifconfig`查看网卡具体名称 ``` auto lo iface lo inet loopback auto ens33 iface ens33 inet manual auto br0 iface br0 inet dhcp bridge_ports ens33 bridge_stp off bridge_fd 0 bridge_maxwait 0 ``` 接着配置`/etc/qemu-ifup` ``` #!/bin/sh sudo /sbin/ifconfig $1 0.0.0.0 promisc up sudo /sbin/brctl addif br0 $1 sleep 3 ``` 接着重启网络就可以了 ``` sudo /etc/init.d/networking restart ``` 最后启动虚拟机 ``` sudo qemu-system-mips -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic -net tap -nographic ``` # 0x03 docker http://liupeng0518.github.io/2019/05/16/k8s/%E9%83%A8%E7%BD%B2/mips64el%E5%B9%B3%E5%8F%B0%E4%B8%8A%E5%AE%B9%E5%99%A8%E7%9B%B8%E5%85%B3%E5%B7%A5%E4%BD%9C/ https://github.com/liupeng0518/debian-debootstrap 准备工作: ``` docker run --rm --privileged multiarch/qemu-user-static:register --reset ``` arm: ``` docker run -it --rm multiarch/debian-debootstrap:armhf-jessie ``` mips64el: ``` docker run -it --rm liupeng0518/debian-debootstrap:mips64el-stretch ``` 搜索tag: https://hub.docker.com/r/multiarch/debian-debootstrap/tags?page=1&name=mips https://hub.docker.com/r/liupeng0518/debian-debootstrap/tags?page=1&name=mips
觉得不错,点个赞?
提交评论
Sign in
to leave a comment.
No Leanote account ?
Sign up now
.
0
条评论
More...
文章目录
No Leanote account ? Sign up now.