Firmware Analysis
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
рдлрд░реНрдорд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ рд╕реНрдерд╛рдпреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЙрдкрдХрд░рдг рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рдХреНрд╖рдг рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдлрд░реНрдорд╡реЗрдпрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИред
рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдПрдХ рдЙрдкрдХрд░рдг рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрджрдо рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ:
CPU рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдЬрд┐рд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдпрд╣ рдЪрд▓рддрд╛ рд╣реИ
рдмреВрдЯрд▓реЛрдбрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдПрдБ
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд▓реЗрдЖрдЙрдЯ рдФрд░ рдбреЗрдЯрд╛ рдкрддреНрд░рдХ
рдХреЛрдбрдмреЗрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рд╕реНрд░реЛрдд рд╕реНрдерд╛рди
рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рдХрд╛рд░
рдЕрдкрдбреЗрдЯ рдЗрддрд┐рд╣рд╛рд╕ рдФрд░ рдирд┐рдпрд╛рдордХ рдкреНрд░рдорд╛рдгрди
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдФрд░ рдлреНрд▓реЛ рдбрд╛рдпрдЧреНрд░рд╛рдо
рд╕реБрд░рдХреНрд╖рд╛ рдЖрдХрд▓рди рдФрд░ рдкрд╣рдЪрд╛рдиреА рдЧрдИ рдХрдордЬреЛрд░рд┐рдпрд╛рдБ
рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдУрдкрди-рд╕реЛрд░реНрд╕ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ (OSINT) рдЙрдкрдХрд░рдг рдЕрдореВрд▓реНрдп рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЙрдкрд▓рдмреНрдз рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдореИрдиреБрдЕрд▓ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред Coverity Scan рдФрд░ SemmleтАЩs LGTM рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╕реНрддрд░ рд╣реИ:
рд╕реНрд░реЛрдд рд╕реЗ рд╕реАрдзреЗ (рдбреЗрд╡рд▓рдкрд░реНрд╕, рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ)
рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдЗрд╕реЗ рдмрдирд╛рдирд╛
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛
рд╣реЛрд╕реНрдЯреЗрдб рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП Google dork рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
S3Scanner рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдореИрди-рдЗрди-рдж-рдорд┐рдбрд┐рд▓ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдирд╛
UART, JTAG, рдпрд╛ PICit рдЬреИрд╕реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдХрд░рдг рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛
рдЙрдкрдХрд░рдг рд╕рдВрдЪрд╛рд░ рдХреЗ рднреАрддрд░ рдЕрдкрдбреЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдирд┐рдлрд╝рд┐рдВрдЧ
рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдЕрдкрдбреЗрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдмреВрдЯрд▓реЛрдбрд░ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдбрдВрдкрд┐рдВрдЧ
рдЬрдм рд╕рдм рдХреБрдЫ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдП, рддреЛ рдЙрдЪрд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдЪрд┐рдк рдХреЛ рд╣рдЯрд╛рдирд╛ рдФрд░ рдкрдврд╝рдирд╛
рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд░реНрдорд╡реЗрдпрд░ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрджрд┐ рдЖрдк рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рддреЛ binwalk -E <bin>
рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдХреА entropy рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдпрджрд┐ entropy рдХрдо рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИред рдпрджрд┐ entropy рдЙрдЪреНрдЪ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИ (рдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рд╣реИ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдЕрдВрджрд░ рдПрдореНрдмреЗрдбреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
File/Data Carving & Recovery Toolsрдпрд╛ binvis.io (code) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдкрд┐рдЫрд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд┐рдП рдЧрдП рдЙрдкрдХрд░рдгреЛрдВ рдЬреИрд╕реЗ binwalk -ev <bin>
рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Binwalk рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдо рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрддрд╛ рд╣реИ: squashfs, ubifs, romfs, rootfs, jffs2, yaffs2, cramfs, initramfsред
рдХрднреА-рдХрднреА, binwalk рдХреЗ рдкрд╛рд╕ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЬрд╛рджреБрдИ рдмрд╛рдЗрдЯреНрд╕ рдЕрдкрдиреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, binwalk рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдСрдлрд╕реЗрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдмрд╛рдЗрдирд░реА рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд┐рдХрд╛рд▓реЗрдВред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП dd рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдПрдВ рдЬреЛ Squashfs рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХрд╛рдЯрддрд╛ рд╣реИред
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
$ 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>
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯ рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпреЗ рдХрдорд╛рдВрдб рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдирд┐рдХрд╛рд▓рдиреЗ, рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ:
рдЗрдореЗрдЬ рдХреЗ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, entropy рдХреЛ binwalk -E <bin>
рдХреЗ рд╕рд╛рде рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдо рдПрдВрдЯреНрд░реЙрдкреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреА рдХрдореА рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреА рд╣реИ, рдЬрдмрдХрд┐ рдЙрдЪреНрдЪ рдПрдВрдЯреНрд░реЙрдкреА рд╕рдВрднрд╛рд╡рд┐рдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдпрд╛ рд╕рдВрдХреБрдЪрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред
Embedded files рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, file-data-carving-recovery-tools рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП binvis.io рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
binwalk -ev <bin>
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдорддреМрд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдХреНрд╕рд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ (рдЬреИрд╕реЗ, squashfs, ubifs) рдХреЗ рдирд╛рдо рдкрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм binwalk рдЬрд╛рджреБрдИ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдиреБрдЕрд▓ рдирд┐рдХрд╛рд╕реА рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреА рд╣реИред рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдСрдлрд╕реЗрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП binwalk
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП dd
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдХрд░рдг рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
For MIPS (big-endian), qemu-mips
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ little-endian рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП, qemu-mipsel
рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред
ARM рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрдХрд░рдг рдХреЗ рд▓рд┐рдП qemu-arm
рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Firmadyne, Firmware Analysis Toolkit рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдкреВрд░реНрдг рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдиреБрдХрд░рдг рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддреЗ рд╣реИрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдпрд╛ рдЕрдиреБрдХрд░рдгрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред OS рдФрд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рддрдХ рд╢реЗрд▓ рдкрд╣реБрдВрдЪ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЕрдиреБрдХрд░рдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдиреБрдХрд░рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЬрд┐рд╕рд╕реЗ рдХрднреА-рдХрднреА рдЕрдиреБрдХрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдЬрд╛рдЧрд░ рд╡реЗрдмрдкреГрд╖реНрдареЛрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдмреВрдЯрд▓реЛрдбрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдЦрдВрдбрддрд╛ рдкрд░реАрдХреНрд╖рдг рд╕рдВрднрд╛рд╡рд┐рдд рдмреИрдХрдбреЛрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
рд░рдирдЯрд╛рдЗрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдмрд╛рдЗрдирд░реА рдХреЗ рд╕рд╛рде рдЙрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ gdb-multiarch, Frida, рдФрд░ Ghidra рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдлрдЬрд╝рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкрд╣рдЪрд╛рдиреА рдЧрдИ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП PoC рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЧрд╣рд░реА рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╛рдЗрдирд░реА рд░рдирдЯрд╛рдЗрдо рд╕реБрд░рдХреНрд╖рд╛ рджреБрд░реНрд▓рдн рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореМрдЬреВрдж рд╣реЛрддреА рд╣реИ, рддреЛ Return Oriented Programming (ROP) рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
AttifyOS рдФрд░ EmbedOS рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдлрд░реНрдорд╡реЗрдпрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рд╣реЛрддреЗ рд╣реИрдВред
AttifyOS: AttifyOS рдПрдХ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрд╕ (IoT) рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдкреЗрдВрдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИред
EmbedOS: Ubuntu 18.04 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдореНрдмреЗрдбреЗрдб рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдЬрд┐рд╕рдореЗрдВ рдлрд░реНрдорд╡реЗрдпрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рдкреНрд░реАрд▓реЛрдбреЗрдб рд╣реЛрддреЗ рд╣реИрдВред
рдлрд░реНрдорд╡реЗрдпрд░ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдордЬреЛрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВред
OWASP IoTGoat
рдж рдбреИрдореНрди рд╡рд▓реНрдирд░реЗрдмрд▓ рд░рд╛рдЙрдЯрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдбреИрдореНрди рд╡рд▓реНрдирд░реЗрдмрд▓ ARM рд░рд╛рдЙрдЯрд░ (DVAR)
ARM-X
Azeria Labs VM 2.0
рдбреИрдореНрди рд╡рд▓реНрдирд░реЗрдмрд▓ IoT рдбрд┐рд╡рд╛рдЗрд╕ (DVID)
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)