ないなら自分で入れればいいじゃないかと、 telnetd を仕込んでみる。
yasunari@qube:~$ ssh -l root qvl root@LS-QVLF42:~#
root@LS-QVLF42:~# cd /boot root@LS-QVLF42:/boot# ls builddate.txt initrd.buffalo lost+found/ uImage.buffalo conf_save.tgz log.tgz u-boot_lsqvl.bin root@LS-QVLF42:/boot# dd if=initrd.buffalo of=initrd.gz bs=64 skip=1 150232+1 records in 150232+1 records out root@LS-QVLF42:/boot# root@LS-QVLF42:/boot# gunzip initrd.gz root@LS-QVLF42:/boot# mkdir /tmp/root root@LS-QVLF42:/boot# mount -o loop initrd /tmp/root root@LS-QVLF42:/boot#
root@LS-QVLF42:/boot# cd /tmp/root/etc root@LS-QVLF42:/tmp/root/etc# vi shadow : : root@LS-QVLF42:/tmp/root/etc# grep root shadow root::11009:0:99999:7::: root@LS-QVLF42:/tmp/root/etc#
root@LS-QVLF42:/tmp/root/etc# cd ..
root@LS-QVLF42:/tmp/root# ls
bin/ etc/ lost+found/ root/ share/ usr/
debugtool/ lib/ mnt/ rootfs/ sys/ var/
dev/ linuxrc* proc/ sbin/ tmp/ www/
root@LS-QVLF42:/tmp/root# mv linuxrc{,.orig}
root@LS-QVLF42:/tmp/root# cp linuxrc{.orig,}
root@LS-QVLF42:/tmp/root# vi linuxrc
:
:
root@LS-QVLF42:/tmp/root# !cp:s/cp/diff -u/
diff -u linuxrc{.orig,}
--- linuxrc.orig Mon Mar 12 14:37:14 2012
+++ linuxrc Sun Jun 17 16:46:02 2012
@@ -369,6 +369,7 @@
RamdiskRoot()
{
echo "-RamdiskRoot-"
+ /usr/sbin/telnetd
echo "0x100" >/proc/sys/kernel/real-root-dev
}
@@ -467,7 +468,7 @@
echo "linuxrc:choose operation (timeout 4[s])"
echo -n " 1:RamRoot other:HddRoot ? "
## timeout is 4[s]
-ANSWER=`/usr/local/bin/keyinput -t 4`
+ANSWER=1
case "$ANSWER" in
1) RamdiskRoot ;;
9) CommandMode ;;
root@LS-QVLF42:/tmp/root# ls -l linuxrc*
-rwxr-xr-x 1 root root 10387 Jun 17 16:46 linuxrc*
-rwxr-xr-x 1 root root 10397 Mar 12 14:37 linuxrc.orig*
root@LS-QVLF42:/tmp/root#
root@LS-QVLF42:/tmp/root# cp /mnt/disk1/share/hackkit/091128_lenny/busybox/busybox-telnetd_static usr/sbin/telnetd root@LS-QVLF42:/tmp/root# ls -l usr/sbin/telnetd -rwxr--r-- 1 root root 646596 Jun 17 16:52 usr/sbin/telnetd* root@LS-QVLF42:/tmp/root# chmod +x !$ chmod +x usr/sbin/telnetd root@LS-QVLF42:/tmp/root# ls -l !$ ls -l usr/sbin/telnetd -rwxr-xr-x 1 root root 646596 Jun 17 16:52 usr/sbin/telnetd* root@LS-QVLF42:/tmp/root# usr/sbin/telnetd root@LS-QVLF42:/tmp/root#
root@LS-QVLF42:/tmp/root# cd / root@LS-QVLF42:/# umount /tmp/root umount: cannot umount /mnt/ram/root: Device or resource busy root@LS-QVLF42:/# ps | grep telnetd 18524 root 868 S usr/sbin/telnetd root@LS-QVLF42:/# kill 18524 root@LS-QVLF42:/# !umount umount /tmp/root root@LS-QVLF42:/#
root@LS-QVLF42:/# cd /boot
root@LS-QVLF42:/boot# mv initrd.buffalo{,.orig}
root@LS-QVLF42:/boot# gzip initrd
root@LS-QVLF42:/boot#
mkimage はあったか?
root@LS-QVLF42:/boot# mkimage -bash: mkimage: command not found root@LS-QVLF42:/boot#ない。
root@LS-QVLF42:/boot# /mnt/disk1/share/hackkit/mkimage
Usage: /mnt/disk1/share/hackkit/mkimage -l image
-l ==> list image header information
/mnt/disk1/share/hackkit/mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
-A ==> set architecture to 'arch'
-O ==> set operating system to 'os'
-T ==> set image type to 'type'
-C ==> set compression type 'comp'
-a ==> set load address to 'addr' (hex)
-e ==> set entry point to 'ep' (hex)
-n ==> set image name to 'name'
-d ==> use image data from 'datafile'
-x ==> set XIP (execute in place)
root@LS-QVLF42:/boot# /mnt/disk1/share/hackkit/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.buffalo
Image Name: initrd
Created: Sun Jun 17 16:55:44 2012
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 9890857 Bytes = 9659.04 kB = 9.43 MB
Load Address: 0x00000000
Entry Point: 0x00000000
root@LS-QVLF42:/boot# ls -l initrd.buffalo*
-rw-r--r-- 1 root root 9890921 Jun 17 16:55 initrd.buffalo
-rw-r--r-- 1 root root 9614969 Mar 13 13:11 initrd.buffalo.orig
root@LS-QVLF42:/boot#
できた。
root@LS-QVLF42:/boot# reboot root@LS-QVLF42:/boot#LED は、
yasunari@qube:~$ telnet qvl Trying 192.168.2.56... Connected to qvl.yamasita.jp. Escape character is '^]'. BUFFALO INC. LinkStation series sh-3.2# sh-3.2# cat /proc/buffalo/board_info BoardId=83 BoardName=MVLSQV sh-3.2# sh-3.2#きたー。
|
|
← 実験用 HDD の作成 |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ ハックキットのインストール |
Copyright (C) 2003-2012 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市