Skip to content

Commit 20da9b3

Browse files
update hardware testing methodology to correct mistakes and add addtional testing step
1 parent d90a834 commit 20da9b3

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

methodologies/hardware_testing.json

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,25 @@
9393
]
9494
},
9595
{
96-
"key": "dump_download_firmware",
97-
"title": "Dump or Download Firmware for Analysis",
98-
"description": "Using the identified debug ports try to dump the firmware from the device for reverse engineering. Desoldering the SPI flash and using a tool to dump the firmware from it directly. Try downloading the firmware from the vendor site, however it might be encrypted.",
99-
"tools": "desoldering station, jtagulator, minicom, PuTTy, Bus Pirate, Raspberry Pi Pico"
100-
},
101-
{
102-
"key":"firmware_analysis",
103-
"title":"Firmware Analysis",
104-
"description":"Reverse engineering the dumped firmware. Identify encryption if used and try to decrypt it. Use emulation software to help analyze it. Analyze and search the firmware for hardcoded passwords/keys and other sensitive information.",
105-
"tools":"binwalk, QEMU, Ghidra, grep, strings, hexdump, readelf"
96+
"key": "firmware",
97+
"title": "Accessing and Analysing Firmware",
98+
"description": "Using info gathered during active and passive recon access and reverse engineer the firmware for the device.",
99+
"type": "checklist",
100+
"items":
101+
[
102+
{
103+
"key": "dump_download_firmware",
104+
"title": "Dump or Download Firmware for Analysis",
105+
"description": "Using the identified debug ports try to dump the firmware from the device for reverse engineering. Desoldering the SPI flash and using a tool to dump the firmware from it directly. Try downloading the firmware from the vendor site, however it might be encrypted.",
106+
"tools": "desoldering station, jtagulator, minicom, PuTTy, Bus Pirate, Raspberry Pi Pico"
107+
},
108+
{
109+
"key":"firmware_analysis",
110+
"title":"Firmware Analysis",
111+
"description":"Reverse engineering the dumped firmware. Identify encryption if used and try to decrypt it. Use emulation software to help analyze it. Analyze and search the firmware for hardcoded passwords/keys and other sensitive information.",
112+
"tools":"binwalk, QEMU, Ghidra, grep, strings, hexdump, readelf"
113+
},
114+
]
106115
},
107116
{
108117
"key":"testing_device",
@@ -127,7 +136,7 @@
127136
"title":"Broken Access Control for On-Chip Debugger",
128137
"description":"Unauthenticated access to the on chip debugger through the JTAG, allowing root access or access to sensitive information. Or not implementing proper access control during different boot stages.",
129138
"CWE": ["CWE-1191", "CWE-1244"],
130-
"tools":"jtagulator"
139+
"tools":"jtagulator, SOIC-8 clip"
131140
},
132141
{
133142
"key":"improper_lock_bit_protection",
@@ -171,6 +180,12 @@
171180
"title":"Firmware Not Getting Updates",
172181
"description":"Verify if the firmware can receive regular updates as vulnerabilities are discovered in the future.",
173182
"CWE":"CWE-1277"
183+
},
184+
{
185+
"key":"root_shell",
186+
"title":"Root Shell Access",
187+
"description":"Try to gain root shell access on the device using an enabled communication protocol, i.e. telnet or ssh, or using an open debug port to interrupt the boot process.",
188+
"tools":"SOIC-8 clip, Burp, Caido, Screen"
174189
}
175190
]
176191
},

0 commit comments

Comments
 (0)