howdays

JIN's Lab

Etc

iptime arm qemu설정

https://people.debian.org/~aurel32/qemu/armhf/ wget으로 다운 받는다

wget https://people.debian.org/\~aurel32/qemu/armhf/debian_wheezy_armhf_standard.qcow2 
wget https://people.debian.org/\~aurel32/qemu/armhf/initrd.img-3.2.0-4-vexpress
wget https://people.debian.org/\~aurel32/qemu/armhf/vmlinuz-3.2.0-4-vexpress

start.sh

#!/bin/sh
qemu-system-arm -M vexpress-a9 -kernel ~/Hacking/kernel/kernels/arm/armhf/vmlinuz-3.2.0-4-vexpress -initrd  ~/Hacking/kernel/kernels/arm/armhf/initrd.img-3.2.0-4-vexpress -drive if=sd,file=/mnt/hgfs/howdays/Desktop/Hacking/kernel/kernels/arm/armhf/debian_wheezy_armhf_standard.qcow2  -append "root=/dev/mmcblk0p2" -nographic -redir tcp:9000::80 -redir tcp:9022::22

실행한다음 root/root으로 로그인 한다

 

host에서 iptime 사이트에서 펌웨어를 다운 받고 옮겨준다.

binwalk -e file.bin
tar cvf squashfs-root.tar squashfs-root
scp -P 9022 squashfs-root.tar root@localhost:/root

 

qemu에서 실행

tar xvf squashfs-root.tar
cd squashfs-root
mkdir home/httpd/192.168.0.1/sess-bin
cp -r cgibin/* home/httpd/192.168.0.1/sess-bin/ 
mkdir bin/login-cgi
cp -r cgibin/* bin/login-cgi
touch dev/null
chroot . ./bin/sh
cp -r /default/* /tmp
/sbin/httpd

 

이제 host에서 localhost:9000으로 접속하면 iptime화면이 뜬다.

 

debugging with gdb

$ cd squashfs-root
$ cp /usr/bin/qemu-arm-static ./


$ sudo chroot  . ./qemu-arm-static -g port -E QUERY_STRING="GET_PARAMETERS" CGI_PATH #GET
#ex) sudo chroot  . ./qemu-arm-static -g 3000 -E QUERY_STRING="howdays=1&ahaa=1" cgibin/timepro.cgi

$ echo "POST_PARAMETERS" | sudo chroot . ./qemu-arm-static -g 3000 -E CONTENT_LENGTH=LENGTH_POST_PARAMETERS CGI_PATH 
#ex) echo "howdays=1&zzz&=xc" | sudo chroot  . ./qemu-arm-static -g 3000 -E CONTENT_LENGTH=17 cgibin/timepro.cgi

$ gdb-mulitarch
pwndbg > target remote localhost:port

 

4 Comments

  1. 안녕하세요

    January 11, 2021 at 8:05 am

    안녕하세요. chroot 시 저는 exec failed 라는 에러가 발생하는데 혹시 관련된 사항에서 아시는 게 있으실까요..?

    1. howdays

      January 13, 2021 at 9:28 pm

      저같은 경우에는, 해당 오류는 바이너리와 시스템 아키텍쳐가 호환이 안되는 경우가 대부분이었습니다.

  2. Rasser

    May 25, 2021 at 4:10 pm

    혹시 사용하신 바이너리와 시스템 아키텍처의 정보를 알 수 있을까요??
    전 라이젠을 쓰고, vmware로 우분투를 돌려서 qemu로 올리는거까지는 성공했는데 계속 chroot . ./bin/sh에서 막히네요..

    1. howdays

      May 29, 2021 at 8:43 pm

      제가 사용한 iptime의 아키텍쳐는 ARM이었습니다.
      에러사항을 적어주시면 답변해드리겠습니다. 감사합니다.

Leave a Reply