Profile

머리정리하는곳

c2w2m2

Qemu & Arm

이제 슬슬 arm 아키텍쳐에서의 exploit을 해보고 싶다.


내 서버가 arm을 지원 안하는 관계로, qemu 를 설치해 보겠다!


sudo apt-get install qemu-system


로 qemu 를 설치하자. qemu-system-arm 하면 arm 만 설치 할 수 있다고 하는데 추후 mips 도 해볼까 해서 나는 다 설치했다.


그 후 https://people.debian.org/~aurel32/qemu/armel/ 여기서 원하는 버전을 받으라는데 나는 내가 보고 따라한 


debian_wheezy_armel_standard.qcow2  로 받았다.


버전을 정했으면


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


로 3개다 받아주자.


맨위에건 디스크 이미지, 중간껀, 부팅시 필요한 임시이미지, 마지막은 리눅스 커널 이미지 라고 한다.


다 받았으면


qemu-system-arm -M vexpress-a9 \
    -kernel vmlinuz-3.2.0-4-vexpress \
    -initrd initrd.img-3.2.0-4-vexpress \
    -drive if=sd,file=debian_wheezy_armhf_standard.qcow2 \
    -append "root=/dev/mmcblk0p2 console=ttyAMA0" \
    -redir tcp:10022::22 -redir tcp:10080::80\
    -nographic


다음명령어로 실행시켜주면 끝이다. 



이런식으로 막 로딩되는데 다 되면 root 로 로그인 해주면 끝이다. ( 초기 비밀번호는 root 다. )


이렇게 qemu 환경을 마련했다.


이제 arm 컴파일 환경 마련이다.


sudo apt-get install gcc-arm-linux-gnueabi


를 qemu 가 아닌 주로 사용하는 리눅스 에서 해주자. 이게 뭐냐면 arm 으로 gcc 컴파일이 가능하게 해주는 애다.


이걸 깔고


arm-linux-gnueabi-gcc -static -march=armv7 -ggdb -o [ ELF NAME ] [ SOUCE NAME ]


식으로 컴파일 하면 데는데..... 내서버 cpu 자체가 arm 을 지원을 안해서 나는 안된다... 그래서 다음방법


wget http://forum.falinux.com/_bankimages/_data_toolchain/arm-toolchain-3.4.3.tar.gz


으로 받아서 압축 풀고 나오는 usr/bin 안에 arm-linux-gcc 으로 컴파일 하니까 잘된다. 이때 컴파일 옵션으로 -staic 은 꼭 넣자. 안그럼 에러뜨더라.



이렇게 Qemu 랑 Arm 환경 구축을 했당. 단순한 arm 실행이면 qemu-arm 으로 실행하면 되는데 익스라던가 못해보니까 qemu-system-arm 도 같이 하게 되었다.

' Daily life' 카테고리의 다른 글

ㅁㄴㅇㄹ  (0) 2018.01.18
중간 목표 달성  (0) 2018.01.15
2017  (0) 2017.12.30
올해 목표 달성  (0) 2017.12.20
alphanumeric shellcode  (0) 2017.12.19