ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ инТСнСрство Π½Π° домашСн Ρ€ΡƒΡ‚Π΅Ρ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ binwalk. Π”Π°Π»ΠΈ ΠΌΡƒ Π²Π΅Ρ€ΡƒΠ²Π°Ρ‚Π΅ Π½Π° софтвСрот Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ Ρ€ΡƒΡ‚Π΅Ρ€?

ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ инТСнСрство Π½Π° домашСн Ρ€ΡƒΡ‚Π΅Ρ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ binwalk. Π”Π°Π»ΠΈ ΠΌΡƒ Π²Π΅Ρ€ΡƒΠ²Π°Ρ‚Π΅ Π½Π° софтвСрот Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ Ρ€ΡƒΡ‚Π΅Ρ€?

ΠŸΡ€Π΅Π΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π΄Π΅Π½Π°, Ρ€Π΅ΡˆΠΈΠ² Π΄Π° Π³ΠΎ рСконструирам Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ Π½Π° ΠΌΠΎΡ˜ΠΎΡ‚ Ρ€ΡƒΡ‚Π΅Ρ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ binwalk.

Π‘Π°ΠΌΠ° си ΠΊΡƒΠΏΠΈΠ² Π”ΠΎΠΌΠ°ΡˆΠ΅Π½ Ρ€ΡƒΡ‚Π΅Ρ€ TP-Link Archer C7. НС Π΅ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΠΎΡ‚ Ρ€ΡƒΡ‚Π΅Ρ€, Π½ΠΎ сосСма Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π·Π° ΠΌΠΎΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈ.

БСкогаш ΠΊΠΎΠ³Π° ΠΊΡƒΠΏΡƒΠ²Π°ΠΌ Π½ΠΎΠ² Ρ€ΡƒΡ‚Π΅Ρ€, инсталирам OpenWRT. Π—Π° ΡˆΡ‚ΠΎ? Како ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π΅ сС Π³Ρ€ΠΈΠΆΠ°Ρ‚ ΠΌΠ½ΠΎΠ³Ρƒ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π½Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€ΡƒΡ‚Π΅Ρ€ΠΈ ΠΈ со Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ софтвСрот станува застарСн, сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ ранливости ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ, Π³Π΅Π½Π΅Ρ€Π°Π»Π½ΠΎ, ја ΡΡ„Π°ΡœΠ°Ρ‚Π΅ ΠΈΠ΄Π΅Ρ˜Π°Ρ‚Π°. Π—Π°Ρ‚ΠΎΠ°, Π³ΠΎ ΠΏΡ€Π΅Ρ‚ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΌ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ OpenWRT, кој Π΅ Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ ΠΎΠ΄ Π·Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄.

ΠžΡ‚ΠΊΠ°ΠΊΠΎ Π³ΠΎ ΠΏΡ€Π΅Π·Π΅ΠΌΠ°Π² OpenWRT, јас исто Ρ‚Π°ΠΊΠ° ја ΠΏΡ€Π΅Π·Π΅Π΄Π΅ Π½Π°Ρ˜Π½ΠΎΠ²Π°Ρ‚Π° слика Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ ΠΏΠΎΠ΄ ΠΌΠΎΡ˜ΠΎΡ‚ Π½ΠΎΠ² Archer C7 ΠΎΠ΄ ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π°Ρ‚Π° Π²Π΅Π±-страница ΠΈ Ρ€Π΅ΡˆΠΈΠ² Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌ. Чисто Π·Π° Π·Π°Π±Π°Π²Π° ΠΈ ΠΌΡƒΠ°Π±Π΅Ρ‚ Π·Π° binwalk.

Π¨Ρ‚ΠΎ Π΅ binwalk?

Π‘ΠΈΠ½Π²ΠΎΠΊ Π΅ Π°Π»Π°Ρ‚ΠΊΠ° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ инТСнСрство ΠΈ Π΅ΠΊΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° Π½Π° слики Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚.

Π‘ΠΎΠ·Π΄Π°Π΄Π΅Π½ Π²ΠΎ 2010 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΎΠ΄ ΠšΡ€Π΅Π³ Π₯Π΅Ρ„Π½Π΅Ρ€, binwalk ΠΌΠΎΠΆΠ΅ Π΄Π° скСнира слики Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ ΠΈ Π΄Π° Π½Π°ΠΎΡ“Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π° ΠΈ Скстрахира слики ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм, ΠΈΠ·Π²Ρ€ΡˆΠ½Π° ΡˆΠΈΡ„Ρ€Π°, компрСсирани Π°Ρ€Ρ…ΠΈΠ²ΠΈ, ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΈ ΠΈ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΈ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС JPEG ΠΈ PDF ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ повСќС.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ користитС binwalk Π·Π° Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ инТСнСрството Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°. ΠŸΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π·Π° пропусти, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π±Π°Ρ€Π°Ρ˜Ρ‚Π΅ Π·Π°Π΄Π½ΠΈ Π²Ρ€Π°Ρ‚ΠΈ ΠΈΠ»ΠΈ Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½ΠΈ сСртификати. ΠœΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ opcodes Π·Π° Π΅Π΄Π΅Π½ ΠΊΡƒΠΏ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ процСсори.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚Π΅ слики ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм Π·Π° Π΄Π° Π±Π°Ρ€Π°Ρ‚Π΅ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со Π»ΠΎΠ·ΠΈΠ½ΠΊΠ° (passwd, shadow, ΠΈΡ‚Π½.) ΠΈ Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΡΠΊΡ€ΡˆΠΈΡ‚Π΅ Ρ…Π°ΡˆΠΎΡ‚ Π½Π° Π»ΠΎΠ·ΠΈΠ½ΠΊΠ°Ρ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎ ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π΄Π²Π΅ ΠΈΠ»ΠΈ повСќС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. МоТС Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° Π΄Π° Π±Π°Ρ€Π°Ρ‚Π΅ компрСсирани ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π·Π° ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°ΡšΠ΅. Π‘Π΅Ρ‚ΠΎ ΠΎΠ²Π° Π±Π΅Π· ΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ΄ пристап Π΄ΠΎ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄.

Π’ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, сè ΡˆΡ‚ΠΎ Π²ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΅ Ρ‚Π°ΠΌΡƒ :)

Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° binwalk?

Π“Π»Π°Π²Π½Π°Ρ‚Π° карактСристика Π½Π° binwalk Π΅ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΡΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅ Π½Π° потпис. Binwalk ΠΌΠΎΠΆΠ΅ Π΄Π° ја скСнира сликата Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ Π·Π° Π΄Π° Π±Π°Ρ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈ систСми.

Π”Π°Π»ΠΈ ја Π·Π½Π°Π΅Ρ‚Π΅ Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° линија file?

file /bin/bash
/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=12f73d7a8e226c663034529c8dd20efec22dde54, stripped

Π’ΠΈΠΌ fileΠ³ΠΎ Π³Π»Π΅Π΄Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΈ Π±Π°Ρ€Π° потпис (ΠΌΠ°Π³ΠΈΡ‡Π΅Π½ Π±Ρ€ΠΎΡ˜) Π·Π° Π΄Π° Π³ΠΎ ΠΎΠ΄Ρ€Π΅Π΄ΠΈ Ρ‚ΠΈΠΏΠΎΡ‚ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° со Π½ΠΈΠ·Π°Ρ‚Π° Π±Π°Ρ˜Ρ‚ΠΈ 0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A, Π·Π½Π°Π΅ Π΄Π΅ΠΊΠ° Π΅ PNG-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. На Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ˜Π° ΠŸΠΎΡΡ‚ΠΎΠΈ листа Π½Π° Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈ потписи Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ.

Binwalk Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ист Π½Π°Ρ‡ΠΈΠ½. Но, намСсто Π΄Π° Π±Π°Ρ€Π° потписи само Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, binwalk ќС ја скСнира Ρ†Π΅Π»Π°Ρ‚Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, binwalk ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΡˆΡ‚ΠΎ сС Π½Π°ΠΎΡ“Π°Π°Ρ‚ Π½Π° сликата.

Алатки file ΠΈ binwalk користСтС ја Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libmagic Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ потписитС Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅. Но binwalk Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° листа Π½Π° сопствСни ΠΌΠ°Π³ΠΈΡ‡Π½ΠΈ потписи Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° компрСсирани/Π·Π»Π΅ΠΏΠ΅Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, заглавија Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚, ΠΊΠ΅Ρ€Π½Π΅Π»ΠΈ Π½Π° Linux, ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΈ, Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈ систСми ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ.

АјдС Π΄Π° сС Π·Π°Π±Π°Π²ΡƒΠ²Π°ΠΌΠ΅?

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π° Π½Π° Binwalk

Binwalk Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ Π½Π° повСќС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Linux, OSX, FreeBSD ΠΈ Windows.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја инсталиратС Π½Π°Ρ˜Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° binwalk ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΈΠ·Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΈ слСдСтС инструкции Π·Π° ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π° ΠΈΠ»ΠΈ Π±Ρ€Π· Π²ΠΎΠ΄ΠΈΡ‡, достапна Π½Π° Π²Π΅Π±-страницата Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚.

Binwalk ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ:

$ binwalk

Binwalk v2.2.0
Craig Heffner, ReFirmLabs
https://github.com/ReFirmLabs/binwalk

Usage: binwalk [OPTIONS] [FILE1] [FILE2] [FILE3] ...

Signature Scan Options:
    -B, --signature              Scan target file(s) for common file signatures
    -R, --raw=<str>              Scan target file(s) for the specified sequence of bytes
    -A, --opcodes                Scan target file(s) for common executable opcode signatures
    -m, --magic=<file>           Specify a custom magic file to use
    -b, --dumb                   Disable smart signature keywords
    -I, --invalid                Show results marked as invalid
    -x, --exclude=<str>          Exclude results that match <str>
    -y, --include=<str>          Only show results that match <str>

Extraction Options:
    -e, --extract                Automatically extract known file types
    -D, --dd=<type:ext:cmd>      Extract <type> signatures, give the files an extension of <ext>, and execute <cmd>
    -M, --matryoshka             Recursively scan extracted files
    -d, --depth=<int>            Limit matryoshka recursion depth (default: 8 levels deep)
    -C, --directory=<str>        Extract files/folders to a custom directory (default: current working directory)
    -j, --size=<int>             Limit the size of each extracted file
    -n, --count=<int>            Limit the number of extracted files
    -r, --rm                     Delete carved files after extraction
    -z, --carve                  Carve data from files, but don't execute extraction utilities
    -V, --subdirs                Extract into sub-directories named by the offset

Entropy Options:
    -E, --entropy                Calculate file entropy
    -F, --fast                   Use faster, but less detailed, entropy analysis
    -J, --save                   Save plot as a PNG
    -Q, --nlegend                Omit the legend from the entropy plot graph
    -N, --nplot                  Do not generate an entropy plot graph
    -H, --high=<float>           Set the rising edge entropy trigger threshold (default: 0.95)
    -L, --low=<float>            Set the falling edge entropy trigger threshold (default: 0.85)

Binary Diffing Options:
    -W, --hexdump                Perform a hexdump / diff of a file or files
    -G, --green                  Only show lines containing bytes that are the same among all files
    -i, --red                    Only show lines containing bytes that are different among all files
    -U, --blue                   Only show lines containing bytes that are different among some files
    -u, --similar                Only display lines that are the same between all files
    -w, --terse                  Diff all files, but only display a hex dump of the first file

Raw Compression Options:
    -X, --deflate                Scan for raw deflate compression streams
    -Z, --lzma                   Scan for raw LZMA compression streams
    -P, --partial                Perform a superficial, but faster, scan
    -S, --stop                   Stop after the first result

General Options:
    -l, --length=<int>           Number of bytes to scan
    -o, --offset=<int>           Start scan at this file offset
    -O, --base=<int>             Add a base address to all printed offsets
    -K, --block=<int>            Set file block size
    -g, --swap=<int>             Reverse every n bytes before scanning
    -f, --log=<file>             Log results to file
    -c, --csv                    Log results to file in CSV format
    -t, --term                   Format output to fit the terminal window
    -q, --quiet                  Suppress output to stdout
    -v, --verbose                Enable verbose output
    -h, --help                   Show help output
    -a, --finclude=<str>         Only scan files whose names match this regex
    -p, --fexclude=<str>         Do not scan files whose names match this regex
    -s, --status=<int>           Enable the status server on the specified port

Π‘ΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅ Π½Π° слики

АјдС Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ со ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° потписи Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ сликата (слика ΠΎΠ΄ страницата Амо-Π»ΠΈΠ½ΠΊ).

Π’ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° подноТјС со ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ --signature:

$ binwalk --signature --term archer-c7.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
------------------------------------------------------------------------------------------
21876         0x5574          U-Boot version string, "U-Boot 1.1.4-g4480d5f9-dirty (May
                              20 2019 - 18:45:16)"
21940         0x55B4          CRC32 polynomial table, big endian
23232         0x5AC0          uImage header, header size: 64 bytes, header CRC:
                              0x386C2BD5, created: 2019-05-20 10:45:17, image size:
                              41162 bytes, Data Address: 0x80010000, Entry Point:
                              0x80010000, data CRC: 0xC9CD1E38, OS: Linux, CPU: MIPS,
                              image type: Firmware Image, compression type: lzma, image
                              name: "u-boot image"
23296         0x5B00          LZMA compressed data, properties: 0x5D, dictionary size:
                              8388608 bytes, uncompressed size: 97476 bytes
64968         0xFDC8          XML document, version: "1.0"
78448         0x13270         uImage header, header size: 64 bytes, header CRC:
                              0x78A267FF, created: 2019-07-26 07:46:14, image size:
                              1088500 bytes, Data Address: 0x80060000, Entry Point:
                              0x80060000, data CRC: 0xBB9D4F94, OS: Linux, CPU: MIPS,
                              image type: Multi-File Image, compression type: lzma,
                              image name: "MIPS OpenWrt Linux-3.3.8"
78520         0x132B8         LZMA compressed data, properties: 0x6D, dictionary size:
                              8388608 bytes, uncompressed size: 3164228 bytes
1167013       0x11CEA5        Squashfs filesystem, little endian, version 4.0,
                              compression:xz, size: 14388306 bytes, 2541 inodes,
                              blocksize: 65536 bytes, created: 2019-07-26 07:51:38
15555328      0xED5B00        gzip compressed data, from Unix, last modified: 2019-07-26
                              07:51:41

Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΎΠ²Π°Π° слика.

Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° сликата ΠŸΠΎΠ΄ΠΌΠΎΡ€Π½ΠΈΡ†Π° ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ (Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° сликата Π½Π° 0x5AC0 ΠΈ компрСсирана слика Π½Π° ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΎΡ‚ Π½Π° 0x5B00). Π’Ρ€Π· основа Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ uImage Π½Π° 0x13270, Π·Π½Π°Π΅ΠΌΠ΅ Π΄Π΅ΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° процСсорот Π΅ MIPS, Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° 3.3.8. И Π²Ρ€Π· основа Π½Π° сликата ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Π½Π° Π½Π° адрСсата 0x11CEA5, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠ΅ Ρ‚ΠΎΠ° rootfs Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм squashfs.

Π”ΠΎΠ·Π²ΠΎΠ»Π΅Ρ‚Π΅ Π½ΠΈ сСга Π΄Π° Π³ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ΠΌΠ΅ ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΎΡ‚ (U-Boot) ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° dd:

$ dd if=archer-c7.bin of=u-boot.bin.lzma bs=1 skip=23296 count=41162
41162+0 records in
41162+0 records out
41162 bytes (41 kB, 40 KiB) copied, 0,0939608 s, 438 kB/s

Π‘ΠΈΠ΄Π΅Ρ˜ΡœΠΈ сликата Π΅ компрСсирана со помош Π½Π° LZMA, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ја дСкомпрСсирамС:

$ unlzma u-boot.bin.lzma

БСга имамС слика од U-Boot:

$ ls -l u-boot.bin
-rw-rw-r-- 1 sprado sprado 97476 Fev  5 08:48 u-boot.bin

Како Π΄Π° ја ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Ρ‚Π΅ стандардната врСдност Π·Π° bootargs?

$ strings u-boot.bin | grep bootargs
bootargs
bootargs=console=ttyS0,115200 board=AP152 rootfstype=squashfs init=/etc/preinit mtdparts=spi0.0:128k(factory-uboot),192k(u-boot),64k(ART),1536k(uImage),14464k@0x1e0000(rootfs) mem=128M

ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° U-Boot Environment bootargs сС користи Π·Π° ΠΏΡ€Π΅Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс. И ΠΎΠ΄ Π³ΠΎΡ€Π΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡ‚ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ја Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Ρ„Π»Π΅Ρˆ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΡƒΡ€Π΅Π΄ΠΎΡ‚.

Π¨Ρ‚ΠΎ Π΅ со ΠΈΠ·Π²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° сликата Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс?

$ dd if=archer-c7.bin of=uImage bs=1 skip=78448 count=1088572
1088572+0 records in
1088572+0 records out
1088572 bytes (1,1 MB, 1,0 MiB) copied, 1,68628 s, 646 kB/s

МоТСмС Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠ΅ Π΄Π°Π»ΠΈ сликата Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π° со помош Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° file:

$ file uImage
uImage: u-boot legacy uImage, MIPS OpenWrt Linux-3.3.8, Linux/MIPS, Multi-File Image (lzma), 1088500 bytes, Fri Jul 26 07:46:14 2019, Load Address: 0x80060000, Entry Point: 0x80060000, Header CRC: 0x78A267FF, Data CRC: 0xBB9D4F94

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΡ‚ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° uImage Π²ΠΎ основа Π΅ слика Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс со Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅. АјдС Π΄Π° Π³ΠΎ отстранимС ΠΎΠ²Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π·Π° Π΄Π° ја Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Π°Ρ‚Π° слика Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс:

$ dd if=uImage of=Image.lzma bs=1 skip=72
1088500+0 records in
1088500+0 records out
1088500 bytes (1,1 MB, 1,0 MiB) copied, 1,65603 s, 657 kB/s

Π‘Π»ΠΈΠΊΠ°Ρ‚Π° Π΅ компрСсирана, ΠΏΠ° ајдС Π΄Π° ја ΠΎΡ‚ΠΏΠ°ΠΊΡƒΠ²Π°ΠΌΠ΅:

$ unlzma Image.lzma

Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ слика Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс:

$ ls -la Image
-rw-rw-r-- 1 sprado sprado 3164228 Fev  5 10:51 Image

Π¨Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ со сликата Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ? МоТСмС, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½ΠΈΠ·Π° Π½Π° сликата ΠΈ Π΄Π° ја ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅ΠΌΠ΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс ΠΈ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΠΌΠ΅ Π·Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° ΡˆΡ‚ΠΎ сС користи Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚:

$ strings Image | grep "Linux version"
Linux version 3.3.8 (leo@leo-MS-7529) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Mon May 20 18:53:02 CST 2019

Иако Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ бСшС објавСн ΠΌΠΈΠ½Π°Ρ‚Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π° (2019), Π΄ΠΎΠ΄Π΅ΠΊΠ° ја ΠΏΠΈΡˆΡƒΠ²Π°ΠΌ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°, Ρ‚ΠΎΡ˜ користи стара Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux (3.3.8) објавСна Π²ΠΎ 2012 Π³ΠΎΠ΄ΠΈΠ½Π°, составСна со ΠΌΠ½ΠΎΠ³Ρƒ стара Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° GCC (4.6), исто Ρ‚Π°ΠΊΠ° ΠΎΠ΄ 2012 Π³ΠΎΠ΄ΠΈΠ½Π° !
(ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²ΠΎΠ΄. Π΄Π°Π»ΠΈ сè ΡƒΡˆΡ‚Π΅ ΠΈΠΌ Π²Π΅Ρ€ΡƒΠ²Π°Ρ‚Π΅ Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ Ρ€ΡƒΡ‚Π΅Ρ€ΠΈ Π²ΠΎ ΠΊΠ°Π½Ρ†Π΅Π»Π°Ρ€ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π΄ΠΎΠΌΠ°?)

Π‘ΠΎ ΠΎΠΏΡ†ΠΈΡ˜Π° --opcodes Π½ΠΈΠ΅ исто Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° користимС binwalk Π·Π° Π΄Π° Π³ΠΈ Π±Π°Ρ€Π°ΠΌΠ΅ инструкциитС Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° ΠΈ Π΄Π° ја ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° процСсорот Π½Π° сликата:

$ binwalk --opcodes Image
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2400          0x960           MIPS instructions, function epilogue
2572          0xA0C           MIPS instructions, function epilogue
2828          0xB0C           MIPS instructions, function epilogue

Π¨Ρ‚ΠΎ Π΅ со root Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм? НамСсто Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° ја ΠΈΠ·Π²Π»Π΅ΠΊΡƒΠ²Π°ΠΌΠ΅ сликата, Π΄Π° ја искористимС ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° binwalk --extract:

$ binwalk --extract --quiet archer-c7.bin

ЦСлосниот root Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм ќС Π±ΠΈΠ΄Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ Π²ΠΎ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ:

$ cd _archer-c7.bin.extracted/squashfs-root/

$ ls
bin  dev  etc  lib  mnt  overlay  proc  rom  root  sbin  sys  tmp  usr  var  www

$ cat etc/banner
     MM           NM                    MMMMMMM          M       M
   $MMMMM        MMMMM                MMMMMMMMMMM      MMM     MMM
  MMMMMMMM     MM MMMMM.              MMMMM:MMMMMM:   MMMM   MMMMM
MMMM= MMMMMM  MMM   MMMM       MMMMM   MMMM  MMMMMM   MMMM  MMMMM'
MMMM=  MMMMM MMMM    MM       MMMMM    MMMM    MMMM   MMMMNMMMMM
MMMM=   MMMM  MMMMM          MMMMM     MMMM    MMMM   MMMMMMMM
MMMM=   MMMM   MMMMMM       MMMMM      MMMM    MMMM   MMMMMMMMM
MMMM=   MMMM     MMMMM,    NMMMMMMMM   MMMM    MMMM   MMMMMMMMMMM
MMMM=   MMMM      MMMMMM   MMMMMMMM    MMMM    MMMM   MMMM  MMMMMM
MMMM=   MMMM   MM    MMMM    MMMM      MMMM    MMMM   MMMM    MMMM
MMMM$ ,MMMMM  MMMMM  MMMM    MMM       MMMM   MMMMM   MMMM    MMMM
  MMMMMMM:      MMMMMMM     M         MMMMMMMMMMMM  MMMMMMM MMMMMMM
    MMMMMM       MMMMN     M           MMMMMMMMM      MMMM    MMMM
     MMMM          M                    MMMMMMM        M       M
       M
 ---------------------------------------------------------------
   For those about to rock... (%C, %R)
 ---------------------------------------------------------------

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ.

МоТСмС Π΄Π° Π±Π°Ρ€Π°ΠΌΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, Ρ…Π°ΡˆΠΎΠ²ΠΈ Π½Π° Π»ΠΎΠ·ΠΈΠ½ΠΊΠΈ, криптографски ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΈ Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½ΠΈ сСртификати. МоТСмС Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ранливости.

Π‘ΠΎ ΡƒΠ΅ ΠΈ Ρ…Ρ€ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄ΡƒΡ€ΠΈ ΠΈ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ (Π΅ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅) ΠΈΠ·Π²Ρ€ΡˆΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ΄ сликата:

$ ls
bin  dev  etc  lib  mnt  overlay  proc  rom  root  sbin  sys  tmp  usr  var  www

$ cp /usr/bin/qemu-mips-static .

$ sudo chroot . ./qemu-mips-static bin/busybox
BusyBox v1.19.4 (2019-05-20 18:13:49 CST) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: busybox --list[-full]
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, addgroup, adduser, arping, ash, awk, basename, cat, chgrp, chmod, chown, chroot, clear, cmp, cp, crond, crontab, cut, date, dd, delgroup, deluser, dirname, dmesg, echo, egrep, env, expr, false,
    fgrep, find, free, fsync, grep, gunzip, gzip, halt, head, hexdump, hostid, id, ifconfig, init, insmod, kill, killall, klogd, ln, lock, logger, ls, lsmod, mac_addr, md5sum, mkdir, mkfifo, mknod, mktemp,
    mount, mv, nice, passwd, pgrep, pidof, ping, ping6, pivot_root, poweroff, printf, ps, pwd, readlink, reboot, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep, sort, start-stop-daemon, strings,
    switch_root, sync, sysctl, tail, tar, tee, telnet, test, tftp, time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, watchdog, wc, wget, which, xargs, yes, zcat

ΠžΠ΄Π»ΠΈΡ‡Π½ΠΎ! Но, ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° BusyBox Π΅ 1.19.4. Ова Π΅ ΠΌΠ½ΠΎΠ³Ρƒ стара Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° BusyBox, објавСн Π²ΠΎ Π°ΠΏΡ€ΠΈΠ» 2012 Π³ΠΎΠ΄ΠΈΠ½Π°.

Π’Π°ΠΊΠ°, TP-Link ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π° слика Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ Π²ΠΎ 2019 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ софтвСр (GCC toolchain, ΠΊΠ΅Ρ€Π½Π΅Π», BusyBox, ΠΈΡ‚Π½.) ΠΎΠ΄ 2012 Π³ΠΎΠ΄ΠΈΠ½Π°!

Π‘Π΅Π³Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ Π·ΠΎΡˆΡ‚ΠΎ сСкогаш инсталирам OpenWRT Π½Π° ΠΌΠΎΠΈΡ‚Π΅ Ρ€ΡƒΡ‚Π΅Ρ€ΠΈ?

Воа нС С сС

Binwalk ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Ρ€ΡˆΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π°, Π΄Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π° ΠΈ Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ Π·Π° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π°. Π’ΠΈΠΏΠΈΡ‡Π½ΠΎ, ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° Π΅Π½Ρ‚Ρ€ΠΎΠΏΠΈΡ˜Π° сС Π·Π°Π±Π΅Π»Π΅ΠΆΡƒΠ²Π° ΠΊΠΎΠ³Π° Π±Π°Ρ˜Ρ‚ΠΈΡ‚Π΅ Π½Π° сликата сС ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΈ. Ова ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° сликата содрТи ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½Π°, компрСсирана ΠΈΠ»ΠΈ Π·Π°ΠΌΠ°Ρ‚Π΅Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. Π₯Π°Ρ€Π΄ΠΊΠΎΡ€ ΠΊΠ»ΡƒΡ‡ Π·Π° ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°ΡšΠ΅? Π—ΠΎΡˆΡ‚ΠΎ Π΄Π° Π½Π΅.

ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ инТСнСрство Π½Π° домашСн Ρ€ΡƒΡ‚Π΅Ρ€ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ binwalk. Π”Π°Π»ΠΈ ΠΌΡƒ Π²Π΅Ρ€ΡƒΠ²Π°Ρ‚Π΅ Π½Π° софтвСрот Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ Ρ€ΡƒΡ‚Π΅Ρ€?

МоТСмС Π΄Π° Π³ΠΎ користимС ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ --raw Π΄Π° ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅Ρ‚Π΅ приспособСна сСквСнца Π½Π° Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π±Π°Ρ˜Ρ‚ΠΈ Π²ΠΎ слика ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ --hexdump Π·Π° Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ хСксадСцималСн ΠΈΡΡ„Ρ€Π»Π°ΡšΠ΅ ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ Π΄Π²Π΅ ΠΈΠ»ΠΈ повСќС Π²Π»Π΅Π·Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ.

ΠŸΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ потписи ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅ Π²ΠΎ binwalk ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΊΡƒ приспособСна Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со потпис Π½Π°Π²Π΅Π΄Π΅Π½Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° линија ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ --magic, ΠΈΠ»ΠΈ со Π½ΠΈΠ²Π½ΠΎ додавањС Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ $ HOME / .config / binwalk / magic.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ повСќС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° binwalk Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°.

Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π½ΠΎΠΆΡ˜Π΅Ρ‚ΠΎ

ΠŸΠΎΡΡ‚ΠΎΠΈ API binwalk, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ ΠΊΠ°ΠΊΠΎ Python ΠΌΠΎΠ΄ΡƒΠ» кој ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΎΠ΄ која Π±ΠΈΠ»ΠΎ Python скрипта Π·Π° програмски ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° binwalk ΡΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅, Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° линија binwalk ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ рСчиси цСлосно Π΄ΡƒΠΏΠ»ΠΈΡ€Π°Π½Π° со само Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ Python ΠΊΠΎΠ΄!

import binwalk
binwalk.scan()

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Python API, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ΠŸΠ°Ρ˜Ρ‚ΠΎΠ½ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° binwalk.

Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ° постои IDA ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊ ΠΈ ΠΎΠ±Π»Π°ΠΊ Π²Π΅Ρ€Π·ΠΈΡ˜Π° Binwalk Pro.

Па, Π·ΠΎΡˆΡ‚ΠΎ Π½Π΅ ја ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ сликата Π½Π° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ΠΎΡ‚ ΠΎΠ΄ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈ Π½Π΅ Π³ΠΎ ΠΏΡ€ΠΎΠ±Π°Ρ‚Π΅ binwalk? Π’Π΅Ρ‚ΡƒΠ²Π°ΠΌ Π΄Π΅ΠΊΠ° ќС сС Π·Π°Π±Π°Π²ΡƒΠ²Π°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ :)

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€