• XSS.stack #1 – первый литературный журнал от юзеров форума

проблема c сhroot

k1ddddos

(L3) cache
Пользователь
Регистрация
02.05.2023
Сообщения
290
Реакции
43
Всем привет! Я пытаюсь эмулировать роутер TP-Link Archer ax21
скачал прошивку, а с помощью binwalk достал файловую систему
Процесс эмуляции и запуска qemu:
1.
Bash:
sudo brctl addbr virbr0
sudo ifconfig virbr0 192.168.5.1/24 up
sudo tunctl -t tap0
sudo ifconfig tap0 192.168.5.11/24 up
sudo brctl addif virbr0 tap0

qemu-system-mips -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1" -netdev tap,id=tapnet,ifname=tap0,script=no -device rtl8139,netdev=tapnet -nographic
2.
Bash:
ifconfig eth0 192.168.5.12 up
3. Скопировал файловую систему и перенес
Bash:
sudo scp -r squashfs-root/ root@192.168.5.12:/root/
4. Монтирование:
Bash:
mount -o bind /dev ./squashfs-root/dev
mount -t proc /proc ./squashfs-root/proc
mount -o bind /sys ./squashfs-root/sys
ИЛИ
mount --bind /dev ./root/squashfs-root/dev
mount --bind  /proc ./root/squashfs-root/proc
mount --bind /sys ./root/squashfs-root/sys
5. Change root:
Bash:
chroot ./squashfs-root/ /bin/sh ИЛИ chroot ./root/squashfs-root/ /bin/sh
После чего мне выдает ошибку:
Bash:
chroot: failed to run command /bin/sh: Exec format Error
До этого все работало нормально, использую ubuntu 22.04 LTS(arm, aarch64)
Работал по этой статье: https://boschko.ca/qemu-emulating-firmware/
Проблема заключается в том что я не могу сделать change root выдает ошибку chroot: failed to run command /bin/sh: Exec format Error
как это исправить?
 
Последнее редактирование:

Код:
qemu-mips chroot ./squashfs-root/ /bin/sh ИЛИ qemu-mips chroot ./root/squashfs-root/ /bin/sh


Покажи вывод

Код:
file ./squashfs-root/bin/sh ./root/squashfs-root/bin/sh /bin/sh
 
Последнее редактирование:
Проверь архитектуру системы, судя по всему ты хочешь запустить прогу с одной архитектурой в системе с другой.
 
Решение

Код:
qemu-mips chroot ./squashfs-root/ /bin/sh ИЛИ qemu-mips chroot ./root/squashfs-root/ /bin/sh


Покажи вывод

Код:
file ./squashfs-root/bin/sh ./root/squashfs-root/bin/sh /bin/sh
Bash:
root@debian-mips:~# file ./squashfs-root/bin/sh
./squashfs-root/bin/sh: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked (uses shared libs), corrupted section header size
root@debian-mips:~# uname -m
mips
 
Проверь архитектуру системы, судя по всему ты хочешь запустить прогу с одной архитектурой в системе с другой.
да вроде архитектура системы подходит у меня mips и у ./squashfs-root/bin/sh тоже mips
 

Код:
qemu-mips chroot ./squashfs-root/ /bin/sh ИЛИ qemu-mips chroot ./root/squashfs-root/ /bin/sh


Покажи вывод

Код:
file ./squashfs-root/bin/sh ./root/squashfs-root/bin/sh /bin/sh
Bash:
root@debian-mips:~# file ./squashfs-root/bin/sh /bin/sh
./squashfs-root/bin/sh: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked (uses shared libs), corrupted section header size
/bin/sh: symbolic link to `dash'
 
в таком случае покажи вывод mount, может какие то флаги фс мешают(noexec, nosuid, etc).
при mount не было ошибок, оказалось что архитектура не подходила
 
в таком случае покажи вывод mount, может какие то флаги фс мешают(noexec, nosuid, etc).
теперь осталось понять как запустить web-морду
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Now all that's left is to figure out how to launch the web interface
Hi there

did you check /etc/init.d/rcS file for running process on start ?

maybe you can find script and switches for starting web interface there
 
Hi there

did you check /etc/init.d/rcS file for running process on start ?

maybe you can find script and switches for starting web interface there
I have it but it doesn't run the web interface, but I also have /etc/init.d/uhttpd it displays the following error
Can't open /var/run/uhttpd.init.lock
uni: Entry not found
start_instance() main
TP-Link Archer AX21 router, port 80 is open
 
ахах это вам спасибо благодаря вам задумался о архитектуре
Всегда рад помочь - обращайтесь;)
I have it but it doesn't run the web interface, but I also have /etc/init.d/uhttpd it displays the following error
Can't open /var/run/uhttpd.init.lock
uni: Entry not found
start_instance() main
TP-Link Archer AX21 router, port 80 is open
Код:
mount -o rbind /run ./root/squashfs-root/run
?

Код:
mount -o rbind /run ./root/squashfs-root/run
mount -o rbind /dev ./root/squashfs-root/dev
mount -t proc none ./root/squashfs-root/proc
mount -o bind /sys ./root/squashfs-root/sys
mount -o bind /tmp ./root/squashfs-root/tmp
Вроде вот так "вернее" в chroot зайти...

Код:
ls -lsa /var; cat /etc/config/uhttpd; id
uhttpd -p 80 -h /www
 
Всегда рад помочь - обращайтесь;)

Код:
mount -o rbind /run ./root/squashfs-root/run
?

Код:
mount -o rbind /run ./root/squashfs-root/run
mount -o rbind /dev ./root/squashfs-root/dev
mount -t proc none ./root/squashfs-root/proc
mount -o bind /sys ./root/squashfs-root/sys
mount -o bind /tmp ./root/squashfs-root/tmp
Вроде вот так "вернее" в chroot зайти...

Код:
ls -lsa /var; cat /etc/config/uhttpd; id
uhttpd -p 80 -h /www
А понял спасибо большое
 
Всегда рад помочь - обращайтесь;)

Код:
mount -o rbind /run ./root/squashfs-root/run
?

Код:
mount -o rbind /run ./root/squashfs-root/run
mount -o rbind /dev ./root/squashfs-root/dev
mount -t proc none ./root/squashfs-root/proc
mount -o bind /sys ./root/squashfs-root/sys
mount -o bind /tmp ./root/squashfs-root/tmp
Вроде вот так "вернее" в chroot зайти...

Код:
ls -lsa /var; cat /etc/config/uhttpd; id
uhttpd -p 80 -h /www
папки run нету вот что есть:
Bash:
/ # ls
bin      etc      lib      overlay  rom      sbin     tmp      var
dev      etc_ro   mnt      proc     root     sys      usr      www
 
Всегда рад помочь - обращайтесь;)

Код:
mount -o rbind /run ./root/squashfs-root/run
?

Код:
mount -o rbind /run ./root/squashfs-root/run
mount -o rbind /dev ./root/squashfs-root/dev
mount -t proc none ./root/squashfs-root/proc
mount -o bind /sys ./root/squashfs-root/sys
mount -o bind /tmp ./root/squashfs-root/tmp
Вроде вот так "вернее" в chroot зайти...

Код:
ls -lsa /var; cat /etc/config/uhttpd; id
uhttpd -p 80 -h /www
Bash:
/ # uhttpd -p 80 -h /www
sysmode: Entry not found
Failed to connect to ubus
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх