The IoT Hackers Handbook (2019)

330 431 0
The IoT Hackers Handbook (2019)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

The IOT hackers Handbook(2019) là tài liệu mới nhất về IOT trong cuốn tài liệu giới thiệu một số khái niệm dùng trong IOT, các chuẩn và phương thức truyền thông, các thiết bị sử dụng trong hệ thống IOT và kết nối phần cứng , lập trình phần mềm

The IoT Hacker’s Handbook A Practical Guide to Hacking the Internet of Things — Aditya Gupta The IoT Hacker’s Handbook A Practical Guide to Hacking the Internet of Things Aditya Gupta The IoT Hacker's Handbook: A Practical Guide to Hacking the Internet of Things Aditya Gupta Walnut, CA, USA ISBN-13 (pbk): 978-1-4842-4299-5    ISBN-13 (electronic): 978-1-4842-4300-8 https://doi.org/10.1007/978-1-4842-4300-8 Copyright © 2019 by Aditya Gupta This work is subject to copyright All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed Trademarked names, logos, and images may appear in this book Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made The publisher makes no warranty, express or implied, with respect to the material contained herein Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Natalie Pao Development Editor: James Markham Coordinating Editor: Jessica Vakili Cover image designed by Freepik (www.freepik.com) Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013 Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc) SSBM Finance Inc is a Delaware corporation For information on translations, please e-mail rights@apress.com, or visit http://www.apress.com/ rights-permissions Apress titles may be purchased in bulk for academic, corporate, or promotional use eBook versions and licenses are also available for most titles For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book’s product page, located at www.apress.com/978-1-4842-4299-5 For more detailed information, please visit http://www.apress.com/source-code Printed on acid-free paper Table of Contents About the Author���������������������������������������������������������������������������������xi About the Technical Reviewer�����������������������������������������������������������xiii Acknowledgments������������������������������������������������������������������������������xv Introduction��������������������������������������������������������������������������������������xvii Chapter 1: Internet of Things: A Primer������������������������������������������������1 Previous IoT Security Issues���������������������������������������������������������������������������������4 Nest Thermostat����������������������������������������������������������������������������������������������4 Philips Smart Home�����������������������������������������������������������������������������������������5 Lifx Smart Bulb������������������������������������������������������������������������������������������������6 The Jeep Hack�������������������������������������������������������������������������������������������������7 Belkin Wemo����������������������������������������������������������������������������������������������������8 Insulin Pump����������������������������������������������������������������������������������������������������9 Smart Door Locks��������������������������������������������������������������������������������������������9 Hacking Smart Guns and Rifles���������������������������������������������������������������������10 Fragmentation in the Internet of Things��������������������������������������������������������������11 Reasons for IoT Security Vulnerabilities��������������������������������������������������������������14 Lack of Security Awareness Among Developers�������������������������������������������15 Lack of a Macro Perspective�������������������������������������������������������������������������15 Supply-Chain-Based Security Issues������������������������������������������������������������15 Usage of Insecure Frameworks and Third-Party Libraries����������������������������16 Conclusion����������������������������������������������������������������������������������������������������������16 iii Table of Contents Chapter 2: Performing an IoT Pentest�������������������������������������������������17 What Is an IoT Penetration Test?�������������������������������������������������������������������������17 Attack Surface Mapping��������������������������������������������������������������������������������������19 How to Perform Attack Surface Mapping������������������������������������������������������������19 Embedded Devices����������������������������������������������������������������������������������������20 Firmware, Software, and Applications�����������������������������������������������������������22 Radio Communications����������������������������������������������������������������������������������26 Creating an Attack Surface Map��������������������������������������������������������������������28 Structuring the Pentest���������������������������������������������������������������������������������������33 Client Engagement and Initial Discussion Call����������������������������������������������34 Additional Technical Discussion and Briefing Call�����������������������������������������34 Attacker Simulated Exploitation��������������������������������������������������������������������35 Remediation��������������������������������������������������������������������������������������������������36 Reassessment�����������������������������������������������������������������������������������������������36 Conclusion����������������������������������������������������������������������������������������������������������37 Action Point���������������������������������������������������������������������������������������������������37 Chapter 3: Analyzing Hardware����������������������������������������������������������39 External Inspection���������������������������������������������������������������������������������������������40 Working with a Real Device���������������������������������������������������������������������������41 Finding Input and Output Ports����������������������������������������������������������������������42 Internal Inspection�����������������������������������������������������������������������������������������45 Analyzing Data Sheets�����������������������������������������������������������������������������������51 What Is FCC ID�����������������������������������������������������������������������������������������������52 Component Package��������������������������������������������������������������������������������������56 Radio Chipsets����������������������������������������������������������������������������������������������������57 Conclusion����������������������������������������������������������������������������������������������������������58 iv Table of Contents Chapter 4: UART Communication��������������������������������������������������������59 Serial Communication�����������������������������������������������������������������������������������������60 The What, Why, and How of UART�����������������������������������������������������������������������62 UART Data Packet�����������������������������������������������������������������������������������������������62 Type of UART Ports����������������������������������������������������������������������������������������64 Baud Rate�����������������������������������������������������������������������������������������������������������65 Connections for UART Exploitation����������������������������������������������������������������������66 Identifying UART Pinouts�������������������������������������������������������������������������������70 Introduction to Attify Badge���������������������������������������������������������������������������73 Making Final Connections�����������������������������������������������������������������������������75 Identifying Baud Rate������������������������������������������������������������������������������������76 Interacting with the Device���������������������������������������������������������������������������77 Conclusion����������������������������������������������������������������������������������������������������������80 Chapter 5: Exploitation Using I2C and SPI�������������������������������������������81 I2C (Inter-Integrated Circuit)��������������������������������������������������������������������������������82 Why Not SPI or UART�������������������������������������������������������������������������������������������82 Serial Peripheral Interface����������������������������������������������������������������������������������83 Understanding EEPROM��������������������������������������������������������������������������������������83 Exploiting I2C Security�����������������������������������������������������������������������������������������86 Making Connections for I2C Exploitation with the Attify Badge���������������������������88 Understanding the Code��������������������������������������������������������������������������������89 Digging Deep into SPI�����������������������������������������������������������������������������������������92 How SPI Works����������������������������������������������������������������������������������������������94 Reading and Writing from SPI EEPROM��������������������������������������������������������������94 Dumping Firmware Using SPI and Attify Badge������������������������������������������������103 Conclusion��������������������������������������������������������������������������������������������������������106 v Table of Contents Chapter 6: JTAG Debugging and Exploitation�����������������������������������109 Boundary Scan��������������������������������������������������������������������������������������������������110 Test Access Port������������������������������������������������������������������������������������������������112 Boundary Scan Instructions������������������������������������������������������������������������������113 Test Process������������������������������������������������������������������������������������������������113 Debugging with JTAG����������������������������������������������������������������������������������������114 Identifying JTAG Pinouts�����������������������������������������������������������������������������������115 Using JTAGulator�����������������������������������������������������������������������������������������117 Using Arduino Flashed with JTAGEnum�������������������������������������������������������119 OpenOCD�����������������������������������������������������������������������������������������������������������122 Installing Software for JTAG Debugging������������������������������������������������������122 Hardware for JTAG Debugging��������������������������������������������������������������������123 Setting Things up for JTAG Debugging��������������������������������������������������������������125 Performing JTAG Exploitation����������������������������������������������������������������������������129 Writing Data and Firmware to a Device�������������������������������������������������������129 Dumping Data and Firmware from the Device��������������������������������������������131 Reading Data from the Device���������������������������������������������������������������������131 Debugging over JTAG with GDB�������������������������������������������������������������������132 Conclusion��������������������������������������������������������������������������������������������������������138 Chapter 7: Firmware Reverse Engineering and Exploitation������������139 Tools Required for Firmware Exploitation���������������������������������������������������������140 Understanding Firmware����������������������������������������������������������������������������������140 How to Get Firmware Binary�����������������������������������������������������������������������������142 Extracting Firmware������������������������������������������������������������������������������������144 vi Table of Contents Firmware Internals��������������������������������������������������������������������������������������������151 Hard-Coded Secrets������������������������������������������������������������������������������������152 Encrypted Firmware������������������������������������������������������������������������������������������156 Emulating a Firmware Binary���������������������������������������������������������������������������162 Emulating an Entire Firmware��������������������������������������������������������������������������166 Backdooring Firmware��������������������������������������������������������������������������������������171 Creating a Backdoor and Compiling It to Run on MIPS-Based Architecture�������������������������������������������������������������������������������������������������173 Modifying Entries and Placing the Backdoor in a Location so It Could Be Started Automatically at Bootup���������������������������������������������������178 Running Automated Firmware Scanning Tools�������������������������������������������������183 Conclusion��������������������������������������������������������������������������������������������������������185 Chapter 8: Exploiting Mobile, Web, and Network for IoT������������������187 Mobile Application Vulnerabilities in IoT�����������������������������������������������������������188 Inside an Android Application����������������������������������������������������������������������������188 Reversing an Android Application���������������������������������������������������������������������189 Hard-Coded Sensitive Values����������������������������������������������������������������������������194 Digging Deep in the Mobile App������������������������������������������������������������������195 Reversing Encryption����������������������������������������������������������������������������������������202 Network-Based Exploitation�����������������������������������������������������������������������������206 Web Application Security for IoT�����������������������������������������������������������������������210 Assessing Web Interface�����������������������������������������������������������������������������210 Exploiting Command Injection���������������������������������������������������������������������213 Firmware Diffing������������������������������������������������������������������������������������������219 Conclusion��������������������������������������������������������������������������������������������������������222 vii Table of Contents Chapter 9: Software Defined Radio���������������������������������������������������223 Hardware and Software Required for SDR��������������������������������������������������������224 Software Defined Radio������������������������������������������������������������������������������������225 Setting Up the Lab��������������������������������������������������������������������������������������������225 Installing Software for SDR Research���������������������������������������������������������226 SDR 101: What You Need to Know��������������������������������������������������������������������227 Amplitude Modulation���������������������������������������������������������������������������������228 Frequency Modulation���������������������������������������������������������������������������������229 Phase Modulation����������������������������������������������������������������������������������������230 Common Terminology���������������������������������������������������������������������������������������231 Transmitter��������������������������������������������������������������������������������������������������231 Analog-to-Digital Converter�������������������������������������������������������������������������231 Sample Rate������������������������������������������������������������������������������������������������231 Fast Fourier Transform��������������������������������������������������������������������������������232 Bandwidth���������������������������������������������������������������������������������������������������232 Wavelength��������������������������������������������������������������������������������������������������232 Frequency����������������������������������������������������������������������������������������������������233 Antenna�������������������������������������������������������������������������������������������������������235 Gain�������������������������������������������������������������������������������������������������������������235 Filters����������������������������������������������������������������������������������������������������������237 GNURadio for Radio Signal Processing�������������������������������������������������������������237 Working with GNURadio������������������������������������������������������������������������������238 Identifying the Frequency of a Target����������������������������������������������������������������249 Analyzing the Data��������������������������������������������������������������������������������������������252 Analyzing Using RTL_433 and Replay���������������������������������������������������������253 viii Table of Contents Using GNURadio to Decode Data�����������������������������������������������������������������������255 Replaying Radio Packets�����������������������������������������������������������������������������������261 Conclusion��������������������������������������������������������������������������������������������������������263 Chapter 10: Exploiting ZigBee and BLE���������������������������������������������265 ZigBee 101��������������������������������������������������������������������������������������������������������265 Understanding ZigBee Communication�������������������������������������������������������267 Hardware for ZigBee������������������������������������������������������������������������������������268 ZigBee Security�������������������������������������������������������������������������������������������269 Bluetooth Low Energy���������������������������������������������������������������������������������������282 BLE Internals and Association���������������������������������������������������������������������282 Interacting with BLE Devices�����������������������������������������������������������������������287 Exploiting a Smart Bulb Using BLE��������������������������������������������������������������296 Sniffing BLE Packets�����������������������������������������������������������������������������������297 Exploiting a BLE Smart Lock������������������������������������������������������������������������305 Replaying BLE Packets��������������������������������������������������������������������������������306 Conclusion����������������������������������������������������������������������������������������������308 Index�������������������������������������������������������������������������������������������������311 ix Chapter 10 • Exploiting ZigBee and BLE 03c90006000a03000101000000ff00000000 made the bulb turn blue It was also possible to turn the bulb on and off by toggling the on/off bit in the data • char-write-req 0x0012 03c90006000a030101010000000000000000 • char-write-req 0x0012 ­03c90006000a0300010100ff000000000000 Here are the results of those commands: • 03c90006000a030101010000000000000000 will turn off your bulb Make sure to keep the RGB value as zero • 03c90006000a0300010100ff0000000000000 will turn on your bulb, where the RGB value is mandatory This is how we can take control of a given BLE device using techniques such as sniffing and manually writing the value of the BLE devices Exploiting a BLE Smart Lock In some cases, there might be two writes required to take control of the target device—the first one being the authentication, and the next one being the actual data that need to be written Let’s take a smart lock for example If we capture the packets during the normal lock and unlock process and look at Wireshark for the captured packets, Figure 10-48 is what we see Therefore, in exploiting the device with Gatttool, we first need to pass it the authentication data, which we were able to sniff in this case, because they were being passed in clear text on an insecure BLE channel 305 Chapter 10 Exploiting ZigBee and BLE Figure 10-48.  Writing values to a smart door lock –sending password Next, we simply write the value that determines whether the lock is locked or unlocked, as shown in Figure 10-49 Figure 10-49.  Writing values to a smart door lock –unlock command Now, if you check the smart lock, it has been unlocked This was all about sniffing BLE packets and manipulating them using Gatttool, both for basic devices and for complex real-world devices such as a smart lock and a smart light bulb Replaying BLE Packets One of the additional things you can try is using tools such as BTLEJuice, which is an excellent handy utility for performing processed such as replay-based attacks What follows is a demonstration of how to use the tool The first step is to connect the target device from the BTLEJuice web interface, shown in Figure 10-50 306 Chapter 10 Exploiting ZigBee and BLE Figure 10-50.  Using BTLEJuice for BLE sniffing Now, as we start performing actions in the smart light bulb, we will be able to see traffic in the BTLEJuice interface in the Data section along with a specific column mentioning the characteristic that’s being read or written, the service value, and the action that is taking place, as shown in Figure 10-51 Figure 10-51.  Real-time BLE sniffing using BTLEJuice You can right-click any particular data packet and select Replay as shown in Figure 10-52 307 Chapter 10 Exploiting ZigBee and BLE Figure 10-52.  Replaying a BLE packet This opens a dialog box mentioning the data that are being replayed, and if you want to perform any changes in the data that are replayed You can change the RGB values and on/off toggle bit here Once you click Write (see Figure 10-53), you will see that the bulb’s color has changed or the bulb has turned on or off, depending on what data you wrote Figure 10-53.  Modifying BLE packet data and replying Conclusion In this chapter, we covered a number of topics concerning the security of the two most popular communication protocols used in IoT devices, ZigBee and BLE. We had a look at some of the attacks concerning these protocols and laid a foundation for you to research further into the security issues that these communication protocols bring with them when implemented in an IoT device 308 Chapter 10 Exploiting ZigBee and BLE In case you encounter other protocols, such as 6LoWPAN, LoRA, ZWave, and others, remember that the attack categories and techniques would be pretty much the same; just the selection of tools and hardware will change in cases other than the ones covered in this chapter 309 Index A Advanced Encryption Standard (AES), 156 decryption, 205–206 encryption, 203 Amplitude modulation carrier signal, 229 modulated signal, 229 Amplitude-shift keying (ASK), 260 Analog-to-digital converter (ADC), 231 Android application adb pull, 190 AndroidManifest.xml, 193 APK file, 188 JADx, 190 SmartWifi.apk, 189 Android Debug Bridge (adb), 190 APKTool, 189 Application programming interfaces (APIs), 10 Arduino code, 275 Arduino, JTAGEnum JTAG pinouts, 121–122 JTAG pins, 120 serial monitor, 120 Arduino Nano, 119 Atmel RzRaven, 276 Attack surface mapping, 19 creation, 28–32 IoT device, 30 perform embedded device, 20–21 firmware/software/ applications, 22 radio communications, 26–28 vulnerabilities, 25–26 process, 29 spreadsheet, 33 Attify Badge, 123 EEPROM (see Electrically Erasable Programmable Read Only Memory (EEPROM)) pinouts, 74, 125 tool, 73 AttifyOS, 27, 123 Attify ZigBee Framework, 280 B Backdooring firmware bindshell binary, 178 building buildroot cross compiler, 177 code, 173–174 © Aditya Gupta 2019 A Gupta, The IoT Hacker’s Handbook, https://doi.org/10.1007/978-1-4842-4300-8 311 Index Backdooring firmware (cont.) compilation, 181 definition, 171 emulation, 182 extracted files location, 172 Firmware Mod Kit, 171 malicious, 181 running automated script, 183–185 shell scripts, 178 system scripts, 179–180 target architecture to MIPS, 175 Toolchain, 176 using FMK, 172 Baud rate, 65–66 Baud rate connections, 77 baudrate.py script, 66 Belkin Wemo, Bindiff tool, 221 Binwalk tool, 106, 147, 194, 220 BLE device, interactions beacon, 288 bluetooth SIG, 292–293 buzzer functionality, 294 char-desc command, 295 configuring adapter, 288 decoding hex value, 290 decoding URL value, 291 Gatttool, 289 hcitool utility, 288–289 iTag device, 292 iTag services, 294 lescan functionality, 291 services and characteristics, 290 312 trigger value, 296 UUID values, 295 wireshark, 301–302 Blind command injection, 218 Bluetooth Low Energy (BLE) association and communication, 286–287 characteristics, 285 replay-based attacks, 306, 308 security research, 284 smart bulb exploitation, 296–297 smart lock exploitation, 305–306 sniffing packets Adafruit sniffer, 297 CONNECT_REQ packet, 300 data structure, 303, 305 dissecting list, 303 SCAN request and response, 299 Ubertooth, 298 stack, 283 Boundary scan, 110–111 instructions, 113 test process, 113–114 Brute-force approach, 204 BTLEJuice interface, 307 BYPASS instruction, 113 C Chip select pin, 84 Circuit board, 47 Clock pin, 84 Index Command injection, web application security boardDataWW.php, 215 copying files, 218 etc/passwd file, 219 repeater, 217 sensitive functions, 215 vulnerable web interface, 216 WNAP320 firmware, 214 Constrained Application Protocol (CoAP), 24 D datapacket variable, 199 Datasheet, 49 Debugging, JTAG hardware tools Attify Badge, 123 OpenOCD, 124–125 set up Attify Badge, 127 connections, 127 OpenOCD, 127–129 STM32F103C8 microcontroller, 126 software tools, 122–123 Debug logs, 78 Denial of service (DoS), 27 Dlink_fs, 146 Docking container, 44 dump_image command, 131 E Edimax 3116W, 67 Edimax IP camera, 53 eeprom.Start() command, 90 eeprom.Write(RCMD) command, 91 Electrically Erasable Programmable Read Only Memory (EEPROM), 83–85 chip size, 90 I2C analysis, 92 read data, 91 script, 90 write data, 92 Encryption, reversing ARM library, 203 encryption function, 203 native library, 202 packet capture, 205 External inspection, 40–41 EXTEST instruction, 113 F Fast Fourier transform (FFT), 232 FCC ID, 52 device information, 53–54 Edimax IP camera, 54 UART interface, 55 Federal Communication Commission (FCC), 52 Federal Trade Commission (FTC), File Transfer Protocol (FTP), 24 313 Index Firmware, 24 access binary, 142–144 automated file system extraction, 147–149, 151 Backdooring (see Backdooring firmware) definition, 140–141 emulation binary, 162–165 challenges, 167 FAT, 168–169 Netgear, 170 running fat py, 169 steps, 166 encryption Binwalk, 156, 158–159 Hexdump, 157 radare2, 161–162 Squash file system, 160 exploitation hard-coded secrets, 153 tools, 140 file compressions, 141–142 file systems, 141 hard-coded secrets, 153–155 manual extraction, 144–147 Firmware Analysis Toolkit (FAT), 168 Firmware diffing CSRF vulnerability, 222 IOT, 220 kdiff3 utility, 220–221 Firmware dumping spiflash.py, 106 314 WRTNode, 103 Attify Badge, 105–106 pinouts, 104 Firmware internals, 151–152 Firmware Mod Kit (FMK), 171 Flash memory, 130 Frequency modulation (FM), 229 Frequency shift keying (FSK), 229 G Gatttool, 288 GDB, JTAG debug authentication, 138 binary, 132 hbreak, 133 JTAG, UART, 135 OpenOCD, 132 strcmp instruction, 135 UART, 136 GDB-Multiarch, 132 General purpose input/output (GPIOs), 64 Generic Access Profile (GAP), 284 Generic Attribute Profile (GATT), 284 GNURadio analog signal processing, 237 components, 239 data types color mapping, 243 decoded data, 260 FFT plot, 259 FFT workspace, 248 flow graph, 247, 256, 258 initial waveform, 245 Index multiply const, waveform display, 259 plotted waveform, 244 properties, 242 RTL-SDR block properties, 257 signal source, 240 TCP, 238 throttle block, 240 workspace, 246 GPS antenna port, 45 Guns and rifles, 10–11 H Hardware analysis, tasks, 39–40 HeartBeat messages, 200 HOLD pin, 85 Host Controller Interface (HCI), 283 Huawei HG533, 69 Hydra, 208 I Industrial control devices (ICSs), 265 info functions command, 133–134 info registers, 137 Input and output (I/O), 42, 45 Insecure network interfaces, 23 Insulin pumps, Inter-Integrated Circuit (I2C) EEPROM, 86, 88 history, 82 multimaster protocol, 82 security communication protocol, 86 data sheet, EEPROM, 87 Internal inspection, 45–46 Internet of Everything (IoE), Internet of Things (IoT) communication protocols, 13–14 fragmentation, 11 popular frameworks, 12–13 security issues (see Security issues, IoT) security vulnerabilities (see Security vulnerabilities, IoT) J, K jadx binary, 190 JADx, 189 jadx-gui, 190 Jeep Hack, John the Ripper, 208 Joint Test Action Group (JTAG), 109–110 debugging (see Debugging, JTAG) exploitation GDB, debug, 132–133, 135, 137–138 read data, 131–132 write firmware, 130 interface, 276 315 Index Joint Test Action Group (JTAG) (cont.) pinouts Linksys WRT160NL, 116 Netgear WG602v3, 115 Wink Hub, 116 UART ports, 51 JTAGEnum, 119 JTAGulator BYPASS scan, 118 FT232RL chip, 117 JTAG pinouts, 118 L Lifx smart devices, 6–7 Logical Link Control and Adaption Protocol (L2CAP), 283 M Master-in-slave–out, 92 Master-out-slave-in, 92 mdw command, 131 Medusa, 208 Millions of samples per second (MSPS), 232 Mirai Botnet infection, 139 MISO/MOSI pin, 85 Mobile app download URL, 196 ExternalStorage (SD card), 201 firmware command, 201 316 local database details, 197–198 smart plug commands, 198–199 SmartwifiActivity.java, 200 Mobile application, 22–23 Motorola, 83 mpsse library, 96 Multimeter connections, 70 setting, 71 N Navman N40i, 42 Navman system, 43 NavTrailService, Nest Thermostat, 4–5 Netgear WNAP320 firmware, 211 Network coprocessor (NXP), 269 nmap, 207 O On-off keying (OOK), 260 OpenOCD, 122–123 Open Workbench Logic Sniffer, 63 P Packaging types, 56–57 Parallel communication protocol, 61 Penetration test, IoT, 17–18 Index Pentest structuring client engagement, 34 exploitation, 35–36 reassessment, 36 remediation, 36 technical discussion, 34–35 Phase modulation, 230 Philips home devices, 5–6 Printed circuit board (PCB), 46 Processor, 48 Proof-of-concept (PoC), Q Quality assurance (QA), 35 R Radare2 tool, 160 Radio chipsets, 57–58 Radio communication protocols, 26–28 bluetooth low energy, 282 ZigBee 101, 265 Radio-frequency identification (RFID) technology, Radio packets capturing packets, 262 HackRF, 261, 263 Real device, working with, 41 Recommended Standard 232 (RS232), 61 Representational State Transfer (REST), 24 REQUEST_ENABLE_BT command, 199 R.java, 194 Root shell, 79 S Saleae Logic Analyzer, 63 SAMPLE/PRELOAD instruction, 113 SD card slot, 45 SDRAM and ROM, 49 Secure Sockets Layer (SSL), Security issues, IoT Belkin Wemo, guns and rifles, 10–11 insulin pumps, Jeep Hack, Lifx smart bulb, 6–7 Nest Thermostat, 4–5 Philips home devices, 5–6 smart door lock, 9–10 Security vulnerabilities, IoT insecure frameworks, 16 lack of awareness, 15 lack of perspective, 15 multi stakeholders, 15 Security, ZigBee KillerBee tool, 276–278 replay attacks, 280–281 sniffing packets, 278, 280 vulnerable setup, 274–275 317 Index Security, ZigBee (cont.) XBee module identification, 273 interfaces selection, 271 properties, 274 radio modules configurations, 272 XCTU search, 270 Serial clock (SCK), 92 Serial communication protocol, 60 Serial Peripheral Interface (SPI) clock speed, 94 communication, 94 data sheet, 83 full-duplex, 83 master–slave configuration, 93 Simple Network Management Protocol (SNMP), 24 Simple Object Access Protocol (SOAP), 24 Slave select (SS), 92 Smart door lock, 9–10 Smart plug, 189, 194 bridge network, 207 brute force, 208 IP address, 207 nmap, 207 password cracking, 209 SSH port, 208 Smartwifi directory, 191–193 Sniffing ZigBee channels, 268 318 Software defined radio (SDR) antenna, 235 bandwidth, 232 digital signal processing, 223 filters, 237 frequency, 233–234 functionalities, 224 gain, 235, 237 GQRX, 249 frequency spectrum, 251–252 garage door opener key fob, 249 weather station, 250 installation, 226–227 modulation, 228 sample rate, 231 scenario, 225 wavelength, 232–233 Wi-Fi router, 227 Software Defined Radio (SDR), 27 SOIC clip, 99 Special interest group (SIG), 282 SPI EEPROM, read and write Attify Badge, 100–101 custom values, 94 dump data, 102 flags, 98 MOSI and MISO, 101 pinouts, 99–101 speed, 95 Spiflash.py, 94 SPI master, 92 System-on-chip (SoC), 268 Index T TAP controller, 112 Test access port (TAP), 110, 112 Test clock (TCK) signal, 112 Test data in (TDI) signal, 112 Test data out (TDO) signal, 112 Test mode select (TMS) signal, 112 Test reset (TRST) signal, 112 TP Link MR3020, 68 Transmission Control Protocol (TCP), 238 Transmitter, 231 U UART-based exploitation Attify Badge, 73–74 baud rate, 76–77 device interaction, 77–78 final connections, 75–76 hardware, 66–67 pinout identification, 70–72 pins, 69–70 procedure, 80 UART data packet components, 62–63 logic analyzer, 64 port, 64–65 structure, 63 UART ports Edimax 3116W, 67 Huawei HG533, 69 TP Link MR3020, 68 Universal Asynchronous Receiver/Transmitter (UART), 59, 82 Universal Serial Bus (USB), 61 Universal Synchronous/ Asynchronous Receiver/Transmitter (USART), 59 USB port, 45 V verifypass(char *) function, 134 Virtual machine (VM), 27 W Wav File Sink, 258 Web application security, IOT command injection (see Command injection, web application security) web interface Burp’s repeater, 213 Burp Suite, 210 firmware diffing, 219–222 proxy set up, 211 traffic, Burp, 212 Web-based dashboard, 23 Winbond SPI flash, 99 Wink Hub radio chips, 58 Write protect pin, 85 WRTNode, 103 WX GUI FFT Sink, 258 319 Index X, Y XBee module, 268 Z zbdump, 278 zbid utility, 277 320 zbstumbler, 277–278 ZigBee 101 communication, 267–268 hardware, 268–269 mesh network topology, 266 stack, 266 ZigBee Alliance, 266 .. .The IoT Hacker’s Handbook A Practical Guide to Hacking the Internet of Things Aditya Gupta The IoT Hacker's Handbook: A Practical Guide to Hacking the Internet of Things... into the Wi-Fi because the device was also communicatng the Wi-Fi credentials over the radio network, which could now be decrypted The Jeep Hack The Jeep Hack is probably the most popular IoT. .. insecurity in these platforms and how they can be exploited Aditya is also the co-author of the IoT Pentesting Cookbook and the author of Learning Pentesting for Android Devices xi About the Technical

Ngày đăng: 10/12/2019, 00:13

Từ khóa liên quan

Mục lục

  • Table of Contents

  • About the Author

  • About the Technical Reviewer

  • Acknowledgments

  • Introduction

  • Chapter 1: Internet of Things: A Primer

    • Previous IoT Security Issues

      • Nest Thermostat

      • Philips Smart Home

      • Lifx Smart Bulb

      • The Jeep Hack

      • Belkin Wemo

      • Insulin Pump

      • Smart Door Locks

      • Hacking Smart Guns and Rifles

      • Fragmentation in the Internet of Things

      • Reasons for IoT Security Vulnerabilities

        • Lack of Security Awareness Among Developers

        • Lack of a Macro Perspective

        • Supply-Chain-Based Security Issues

        • Usage of Insecure Frameworks and Third-Party Libraries

        • Conclusion

        • Chapter 2: Performing an IoT Pentest

          • What Is an IoT Penetration Test?

Tài liệu cùng người dùng

Tài liệu liên quan