.. | ||
bootloader-testing.md | ||
firmware-integrity.md | ||
README.md |
Firmware Analysis
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Introduction
рдлрд░реНрдорд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕реНрдерд╛рдпреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЙрдкрдХрд░рдг рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рдХреНрд╖рдг рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИред
Gathering Information
рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдПрдХ рдЙрдкрдХрд░рдг рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрджрдо рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ:
- CPU рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдЬрд┐рд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдпрд╣ рдЪрд▓рддрд╛ рд╣реИ
- рдмреВрдЯрд▓реЛрдбрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдПрдБ
- рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд▓реЗрдЖрдЙрдЯ рдФрд░ рдбреЗрдЯрд╛ рдкрддреНрд░рдХ
- рдХреЛрдбрдмреЗрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рд╕реНрд░реЛрдд рд╕реНрдерд╛рди
- рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рдХрд╛рд░
- рдЕрдкрдбреЗрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рдирд┐рдпрд╛рдордХ рдкреНрд░рдорд╛рдгрди
- рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдФрд░ рдлреНрд▓реЛ рдбрд╛рдпрдЧреНрд░рд╛рдо
- рд╕реБрд░рдХреНрд╖рд╛ рдЖрдХрд▓рди рдФрд░ рдкрд╣рдЪрд╛рдиреА рдЧрдИ рдХрдордЬреЛрд░рд┐рдпрд╛рдБ
рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдУрдкрди-рд╕реЛрд░реНрд╕ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ (OSINT) рдЙрдкрдХрд░рдг рдЕрдореВрд▓реНрдп рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЙрдкрд▓рдмреНрдз рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдореИрдиреБрдЕрд▓ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред Coverity Scan рдФрд░ SemmleтАЩs LGTM рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
Acquiring the Firmware
рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╕реНрддрд░ рд╣реИ:
- рд╕реНрд░реЛрдд рд╕реЗ (рдбреЗрд╡рд▓рдкрд░реНрд╕, рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ) рд╕реАрдзреЗ
- рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдЗрд╕реЗ рдмрдирд╛рдирд╛
- рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛
- рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП Google dork рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- S3Scanner рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
- рдореИрди-рдЗрди-рдж-рдорд┐рдбрд▓ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдирд╛
- UART, JTAG, рдпрд╛ PICit рдЬреИрд╕реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдХрд░рдг рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛
- рдЙрдкрдХрд░рдг рд╕рдВрдЪрд╛рд░ рдХреЗ рднреАрддрд░ рдЕрдкрдбреЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдирд┐рдлрд╝ рдХрд░рдирд╛
- рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдЕрдкрдбреЗрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рдмреВрдЯрд▓реЛрдбрд░ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдбрдВрдк рдХрд░рдирд╛
- рдЬрдм рд╕рдм рдХреБрдЫ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдП, рддреЛ рдЙрдЪрд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдЪрд┐рдк рдХреЛ рд╣рдЯрд╛рдирд╛ рдФрд░ рдкрдврд╝рдирд╛
Analyzing the firmware
рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд░реНрдорд╡реЗрдпрд░ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
file <bin>
strings -n8 <bin>
strings -tx <bin> #print offsets in hex
hexdump -C -n 512 <bin> > hexdump.out
hexdump -C <bin> | head # might find signatures in header
fdisk -lu <bin> #lists a drives partition and filesystems if multiple
рдпрджрд┐ рдЖрдк рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рддреЛ binwalk -E <bin>
рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдХреА entropy рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдпрджрд┐ entropy рдХрдо рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИред рдпрджрд┐ entropy рдЙрдЪреНрдЪ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб (рдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд) рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдЕрдВрджрд░ рдПрдореНрдмреЗрдбреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
{% content-ref url="../../forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md" %} file-data-carving-recovery-tools.md {% endcontent-ref %}
рдпрд╛ binvis.io (code) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдкрд┐рдЫрд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд┐рдП рдЧрдП рдЙрдкрдХрд░рдгреЛрдВ рдЬреИрд╕реЗ binwalk -ev <bin>
рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Binwalk рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдо рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрддрд╛ рд╣реИ: squashfs, ubifs, romfs, rootfs, jffs2, yaffs2, cramfs, initramfsред
рдореИрдиреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд╖реНрдХрд░реНрд╖рдг
рдХрднреА-рдХрднреА, binwalk рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдореЗрдВ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЬрд╛рджреБрдИ рдмрд╛рдЗрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, binwalk рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдСрдлрд╕реЗрдЯ рдЦреЛрдЬреЗрдВ рдФрд░ рдмрд╛рдЗрдирд░реА рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрд╛рдЯреЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рдХрд╛рд▓реЗрдВред
$ binwalk DIR850L_REVB.bin
DECIMAL HEXADECIMAL DESCRIPTION
----------------------------------------------------------------------------- ---
0 0x0 DLOB firmware header, boot partition: """"dev=/dev/mtdblock/1""""
10380 0x288C LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 5213748 bytes
1704052 0x1A0074 PackImg section delimiter tag, little endian size: 32256 bytes; big endian size: 8257536 bytes
1704084 0x1A0094 Squashfs filesystem, little endian, version 4.0, compression:lzma, size: 8256900 bytes, 2688 inodes, blocksize: 131072 bytes, created: 2016-07-12 02:28:41
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП dd рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдПрдВ рдЬреЛ Squashfs рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХрд╛рдЯрддрд╛ рд╣реИред
$ dd if=DIR850L_REVB.bin bs=1 skip=1704084 of=dir.squashfs
8257536+0 records in
8257536+0 records out
8257536 bytes (8.3 MB, 7.9 MiB) copied, 12.5777 s, 657 kB/s
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
$ dd if=DIR850L_REVB.bin bs=1 skip=$((0x1A0094)) of=dir.squashfs
- squashfs (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛)
$ unsquashfs dir.squashfs
рдлрд╛рдЗрд▓реЗрдВ "squashfs-root
" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд╣реЛрдВрдЧреАред
- CPIO рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓реЗрдВ
$ cpio -ivd --no-absolute-filenames -F <bin>
- jffs2 рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП
$ jefferson rootfsfile.jffs2
- NAND рдлреНрд▓реИрд╢ рдХреЗ рд╕рд╛рде ubifs рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП
$ ubireader_extract_images -u UBI -s <start_offset> <bin>
$ ubidump.py <bin>
рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдПрдХ рдмрд╛рд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рдЫрд╡рд┐ рд╕реЗ рдореВрд▓реНрдпрд╡рд╛рди рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг
рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ (рдЬрд┐рд╕реЗ <bin>
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯ рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпреЗ рдХрдорд╛рдВрдб рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдирд┐рдХрд╛рд▓рдиреЗ, рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ:
file <bin>
strings -n8 <bin>
strings -tx <bin> #prints offsets in hexadecimal
hexdump -C -n 512 <bin> > hexdump.out
hexdump -C <bin> | head #useful for finding signatures in the header
fdisk -lu <bin> #lists partitions and filesystems, if there are multiple
рдЗрдореЗрдЬ рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, entropy рдХреЛ binwalk -E <bin>
рдХреЗ рд╕рд╛рде рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдо рдПрдВрдЯреНрд░реЙрдкреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХрдореА рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреА рд╣реИ, рдЬрдмрдХрд┐ рдЙрдЪреНрдЪ рдПрдВрдЯреНрд░реЙрдкреА рд╕рдВрднрд╛рд╡рд┐рдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдпрд╛ рд╕рдВрдХреБрдЪрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред
Embedded files рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, file-data-carving-recovery-tools рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП binvis.io рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рдХрд╛рд▓рдирд╛
binwalk -ev <bin>
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдорддреМрд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдХреНрд╕рд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ (рдЬреИрд╕реЗ, squashfs, ubifs) рдХреЗ рдирд╛рдо рдкрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм binwalk рдЬрд╛рджреБрдИ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдиреБрдЕрд▓ рдирд┐рдХрд╛рд╕реА рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреА рд╣реИред рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдСрдлрд╕реЗрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП binwalk
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП dd
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
$ binwalk DIR850L_REVB.bin
$ dd if=DIR850L_REVB.bin bs=1 skip=1704084 of=dir.squashfs
рдЗрд╕рдХреЗ рдмрд╛рдж, рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ (рдЬреИрд╕реЗ, squashfs, cpio, jffs2, ubifs) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реБрд░рдХреНрд╖рд╛ рдЦрд╛рдорд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдбреЗрдордиреНрд╕, рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕, API рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕, рдЕрдкрдбреЗрдЯ рд╕рд░реНрд╡рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдПрдБ, рдЕрдирдХрдВрдкрд╛рдЗрд▓ рдХреЛрдб, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рдФрд░ рдСрдлрд╝рд▓рд╛рдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдирд░реАрдЬрд╝ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЦреНрдп рд╕реНрдерд╛рди рдФрд░ рдЖрдЗрдЯрдо рдЬрд┐рдирдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реИ, рдЙрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- etc/shadow рдФрд░ etc/passwd рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд▓рд┐рдП
- etc/ssl рдореЗрдВ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА
- рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ
- рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдореНрдмреЗрдбреЗрдб рдмрд╛рдЗрдирд░реАрдЬрд╝
- рд╕рд╛рдорд╛рдиреНрдп IoT рдбрд┐рд╡рд╛рдЗрд╕ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ рдмрд╛рдЗрдирд░реАрдЬрд╝
рдХрдИ рдЙрдкрдХрд░рдг рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднреАрддрд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ:
- LinPEAS рдФрд░ Firmwalker рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП
- The Firmware Analysis and Comparison Tool (FACT) рд╡реНрдпрд╛рдкрдХ рдлрд░реНрдорд╡реЗрдпрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП
- FwAnalyzer, ByteSweep, ByteSweep-go, рдФрд░ EMBA рд╕реНрдереИрддрд┐рдХ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП
рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдирд░реАрдЬрд╝ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рдВрдЪ
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╛рдП рдЧрдП рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдирд░реАрдЬрд╝ рдХреЛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред checksec.sh рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдпреВрдирд┐рдХреНрд╕ рдмрд╛рдЗрдирд░реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдФрд░ PESecurity рд╡рд┐рдВрдбреЛрдЬ рдмрд╛рдЗрдирд░реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдмрд╛рдЗрдирд░реАрдЬрд╝ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рдЕрдиреБрдХрд░рдг
рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдХрд┐рд╕реА рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╣реЛ рдпрд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░реЛрдЧреНрд░рд╛рдоред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪреБрдиреМрддрд┐рдпрд╛рдБ рдЖ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдЗрдирд░реАрдЬрд╝ рдХреЛ рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдПрдВрдбрд┐рдпрдирдиреЗрд╕ рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ, рдпрд╛ рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрдЧреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд╛рдЗрдирд░реАрдЬрд╝ рдХрд╛ рдЕрдиреБрдХрд░рдг
рдПрдХрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдПрдВрдбрд┐рдпрдирдиреЗрд╕ рдФрд░ CPU рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
MIPS рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг
MIPS рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрд╛рдЗрдирд░реА рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
file ./squashfs-root/bin/busybox
рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдХрд░рдг рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
sudo apt-get install qemu qemu-user qemu-user-static qemu-system-arm qemu-system-mips qemu-system-x86 qemu-utils
For MIPS (big-endian), qemu-mips
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ little-endian рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП, qemu-mipsel
рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред
ARM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЕрдиреБрдХрд░рдг
ARM рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрдХрд░рдг рдХреЗ рд▓рд┐рдП qemu-arm
рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдо рдЕрдиреБрдХрд░рдг
Firmadyne, Firmware Analysis Toolkit рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдкреВрд░реНрдг рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдиреБрдХрд░рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддреЗ рд╣реИрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╡реНрдпрд╛рд╡хоЮш╖╡ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдпрд╛ рдЕрдиреБрдХрд░рдгрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред OS рдФрд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рддрдХ рд╢реЗрд▓ рдкрд╣реБрдВрдЪ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЕрдиреБрдХрд░рдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХрд░рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЬрд┐рд╕рд╕реЗ рдХрднреА-рдХрднреА рдЕрдиреБрдХрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдЬрд╛рдЧрд░ рд╡реЗрдмрдкреГрд╖реНрдареЛрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдмреВрдЯрд▓реЛрдбрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдЦрдВрдбрддрд╛ рдкрд░реАрдХреНрд╖рдг рд╕рдВрднрд╛рд╡рд┐рдд рдмреИрдХрдбреЛрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
рд░рдирдЯрд╛рдЗрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддрдХрдиреАрдХ
рд░рдирдЯрд╛рдЗрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдмрд╛рдЗрдирд░реА рдХреЗ рд╕рд╛рде рдЙрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ gdb-multiarch, Frida, рдФрд░ Ghidra рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдлрдЬрд╝рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдмрд╛рдЗрдирд░реА рд╢реЛрд╖рдг рдФрд░ рдкреНрд░рдорд╛рдг-рдХрд╛-рдзрд╛рд░рдгрд╛
рдкрд╣рдЪрд╛рдиреА рдЧрдИ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП PoC рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЧрд╣рд░реА рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╛рдЗрдирд░реА рд░рдирдЯрд╛рдЗрдо рд╕реБрд░рдХреНрд╖рд╛ рджреБрд░реНрд▓рдн рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореМрдЬреВрдж рд╣реЛрддреА рд╣реИ, рддреЛ Return Oriented Programming (ROP) рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдлрд░реНрдорд╡реЗрдпрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо
AttifyOS рдФрд░ EmbedOS рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдлрд░реНрдорд╡реЗрдпрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рд╣реЛрддреЗ рд╣реИрдВред
рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ OSs
- AttifyOS: AttifyOS рдПрдХ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрд╕ (IoT) рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдкреЗрдВрдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИред
- EmbedOS: рдлрд░реНрдорд╡реЗрдпрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡-рд▓реЛрдбреЗрдб Ubuntu 18.04 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдореНрдмреЗрдбреЗрдб рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдоред
рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрдордЬреЛрд░ рдлрд░реНрдорд╡реЗрдпрд░
рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдордЬреЛрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВред
- OWASP IoTGoat
- https://github.com/OWASP/IoTGoat
- рдж рдбреИрдореНрди рд╡рд▓реНрдирд░реЗрдмрд▓ рд░рд╛рдЙрдЯрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
- https://github.com/praetorian-code/DVRF
- рдбреИрдореНрди рд╡рд▓реНрдирд░реЗрдмрд▓ ARM рд░рд╛рдЙрдЯрд░ (DVAR)
- https://blog.exploitlab.net/2018/01/dvar-damn-vulnerable-arm-router.html
- ARM-X
- https://github.com/therealsaumil/armx#downloads
- Azeria Labs VM 2.0
- https://azeria-labs.com/lab-vm-2-0/
- рдбреИрдореНрди рд╡рд▓реНрдирд░реЗрдмрд▓ IoT рдбрд┐рд╡рд╛рдЗрд╕ (DVID)
- https://github.com/Vulcainreo/DVID
рд╕рдВрджрд░реНрдн
- https://scriptingxss.gitbook.io/firmware-security-testing-methodology/
- Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things
рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкреНрд░рдорд╛рдгрди
{% hint style="success" %}
рд╕реАрдЦреЗрдВ рдФрд░ AWS рд╣реИрдХрд┐рдВрдЧ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
рд╕реАрдЦреЗрдВ рдФрд░ GCP рд╣реИрдХрд┐рдВрдЧ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
- рд╕рджрд╕реНрдпрддрд╛ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ!
- рд╣рдорд╛рд░реЗ ЁЯТм Discord рд╕рдореВрд╣ рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдпрд╛ Twitter ЁЯРж рдкрд░ рд╣рдореЗрдВ рдлреЙрд▓реЛ рдХрд░реЗрдВ @hacktricks_live.
- рд╣реИрдХрд┐рдВрдЧ рдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ HackTricks рдФрд░ HackTricks Cloud рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ PRs рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред