日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qemu虚拟机模拟固件环境搭建

發(fā)布時(shí)間:2024/1/18 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qemu虚拟机模拟固件环境搭建 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

qemu虛擬機(jī)模擬固件環(huán)境搭建

聲明:本文主要目的為供自己今后參考

目錄

  • qemu虛擬機(jī)模擬固件環(huán)境搭建
    • 一、準(zhǔn)備虛擬機(jī)和硬件
      • (一)安裝binwalk和qemu
      • (二)binwalk提取bin文件
        • 1.[安裝sasquatch](https://github.com/devttys0/sasquatch)
        • 2.提取bin文件(binwalk并不能夠提取所有的bin文件,有的bin文件會(huì)出錯(cuò))
    • 二、配置網(wǎng)絡(luò)、搭建網(wǎng)橋
        • (一)本機(jī)創(chuàng)建網(wǎng)橋
        • (二)虛擬機(jī)配置網(wǎng)絡(luò)
      • 三、啟動(dòng)路由器
        • (一)壓縮目標(biāo)硬件系統(tǒng)文件上傳至虛擬機(jī)
        • (二)虛擬機(jī)內(nèi)解壓系統(tǒng)文件并啟動(dòng)shell

一、準(zhǔn)備虛擬機(jī)和硬件

(一)安裝binwalk和qemu

參考文章一: 通過qemu復(fù)現(xiàn)路由器漏洞 (參考部分:安裝binwalk)

相關(guān)命令:

git clone https://github.com/devttys0/binwalk.git sudo apt-get install qemu qemu-system qemu-user-static binfmt-support

(二)binwalk提取bin文件

1.安裝sasquatch

sudo apt-get install build-essential liblzma-dev liblzo2-dev zlib1g-dev git clone https://github.com/devttys0/sasquatch.git cd sasquatch chmod +x build.sh ./build.sh

上述第一條命令的作用為:安裝C/C++編譯器、liblzma、liblzo 和 zlib 相關(guān)依賴庫。

2.提取bin文件(binwalk并不能夠提取所有的bin文件,有的bin文件會(huì)出錯(cuò))

參考文章二:CSDN-使用qemu進(jìn)行路由器環(huán)境的虛擬搭建-梵歆

binwalk -Me XXXXX.bin

之后會(huì)在當(dāng)前文件夾得到_XXXXX.bin.extracted_文件,其中的squashfs-root文件就是硬件設(shè)備的root文件(這個(gè)文件夾就可以理解成目的設(shè)備)。

驗(yàn)證一下 輸入tree命令,

出現(xiàn)如下的效果圖

找squashfs-root中的一個(gè)可執(zhí)行文件用file命令查看下其屬性(為后續(xù)配置搜集信息)

(解釋:一會(huì)兒?jiǎn)?dòng)虛擬機(jī)的命令為qemu-system-mips,該命令分為三部分,上圖中如果出現(xiàn)MSB第三個(gè)部分就用mips,如果是LSB則用mipsel,如果上圖不是MIPS32而是MIPS64,第三個(gè)部分為相應(yīng)的mips64和mipsel64,這表示接下來qemu進(jìn)行虛擬環(huán)境搭建的時(shí)候需要選擇MIPS的內(nèi)核,如果不是MIPS而是ARM或其他的,第三個(gè)部分為arm或其他的。)

在該網(wǎng)址下載mips內(nèi)核等兩個(gè)資源,本次搭建過程使用的是vmlinux-2.6.32-5-4kc-malta和debian_squeeze_mips_standard.qcow2,這兩個(gè)文件如果接下來過程不放在_XXXXX.bin.extracted_文件的同級(jí)目錄下,就要放在qemu的一個(gè)文件夾底下(好像是qemu/bin)。

二、配置網(wǎng)絡(luò)、搭建網(wǎng)橋

參考文章三:一步一步PWN路由器之環(huán)境搭建 - 先知社區(qū)

參考部分:配置網(wǎng)絡(luò)-方法一

(一)本機(jī)創(chuàng)建網(wǎng)橋

建議在當(dāng)前_XXXXX.bin.extracted_文件夾下創(chuàng)建init.sh文件(sh文件,名字自己起)

放入如下代碼:(注意,IP地址需改為自己網(wǎng)絡(luò)的ip地址)

#!/bin/sh sudo brctl addbr virbr0 sudo ifconfig virbr0 192.168.1.55/24 up sudo tunctl -t tap0 sudo ifconfig tap0 192.168.1.56/24 up sudo brctl addif virbr0 tap0 sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -netdev tap,id=tapnet,ifname=tap0,script=no -device rtl8139,netdev=tapnet -nographic

保存.sh文件后,在當(dāng)前文件夾下的終端鍵入如下命令:

chmod +x init.sh ./init.sh

此代碼也可以一行一行鍵入,不過電腦重啟后,網(wǎng)絡(luò)配置環(huán)境會(huì)丟失,需要重新鍵入,而.sh文件直接執(zhí)行就可以。

如果最后一行代碼不加-nographic就會(huì)彈出qemu虛擬機(jī)窗口。

(二)虛擬機(jī)配置網(wǎng)絡(luò)

登錄root用戶,密碼為root

在虛擬機(jī)里配置ip

ifconfig eth0 192.168.1.57/24 up

此時(shí)就應(yīng)該可以ping通主機(jī)。

三、啟動(dòng)路由器

參考文章二:CSDN-使用qemu進(jìn)行路由器環(huán)境的虛擬搭建-梵歆

(一)壓縮目標(biāo)硬件系統(tǒng)文件上傳至虛擬機(jī)

回到_XXXXX.bin.extracted_文件夾的終端下,鍵入如下命令:

cd _XXXXX.bin.extracted_ tar -czvf root.tar squashfs-root/ scp root.tar root@192.168.10.2:/root/

輸入密碼:root

建議創(chuàng)建init.sh文件,該文件的作用是完成虛擬機(jī)內(nèi)網(wǎng)絡(luò)配置及相關(guān)文件的掛載,因?yàn)橹貑⑻摂M機(jī)后,原來的網(wǎng)絡(luò)配置不能保存。(如果想直接通過該文件啟動(dòng)硬件設(shè)備相關(guān)功能也可以自定義該文件,本次init.sh文件不做涉及),init.sh文件內(nèi)容及上傳至虛擬機(jī)的命令如下:

#!/bin/sh ifconfig eth0 192.168.1.57/24 up mount -o bind /dev ./squashfs-root/dev mount -t proc /proc ./squashfs-root/proc/chroot ./squashfs-root/ sh

保存并退出

輸入:

scp init.sh root@192.168.10.2root@192.168.1.57:/root/

(二)虛擬機(jī)內(nèi)解壓系統(tǒng)文件并啟動(dòng)shell

回到虛擬機(jī)內(nèi)

tar –zxvf root.tar chmod +x init.sh ./init.sh

如果沒有上傳init.sh文件,則鍵入如下命令:

tar –zxvf root.tar mount -o bind /dev ./squashfs-root/dev mount -t proc /proc ./squashfs-root/proc/chroot ./squashfs-root/ sh

此時(shí),界面由

變?yōu)?/p>

且沒有任何報(bào)錯(cuò),說明成功。

華為路由器啟動(dòng)路由器設(shè)備參考:

./bin/upnp ./bin/mic

目前還沒有啟動(dòng)我所用硬件硬件路由器的服務(wù),因?yàn)榕c華為路由器系統(tǒng)文件的內(nèi)容不一樣,沒有上述命令中的兩個(gè)文件,也沒有實(shí)現(xiàn)ping通外網(wǎng)(例如www.baidu.com)。僅實(shí)現(xiàn)了和本機(jī)通信。

總結(jié)

以上是生活随笔為你收集整理的qemu虚拟机模拟固件环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。