The Hardware Hacking Handbook Pdf Github

1 view
Skip to first unread message

Eloisa Stawasz

unread,
Aug 4, 2024, 4:13:07 PM8/4/24
to cossemicar
TheHardware Hacking Handbook brings advanced hardware hacking techniques into your life. Along the way it touches on many aspects of hardware hacking. You can read more about the book from the Official No Starch Press page.

This companion site is a very lightweight place to hold links to the resources we reference in the book. This includes information about running the practical examples along with errors we discovered (or were told about) too late to fix in the book.


In the following section, I will list a bunch of technical skills that I believe are the most beneficial to becoming a pentester (and are in no particular order). You should opt to know at least 1-2 of these skills (including Web Apps) to be of a junior level, and at least 3-4 of these skills to be at a senior level.


Along with each skill, I will provide a short description of what you might be doing, followed by a list of resources that should be beneficial in either getting you started or in helping you learn more about the topic.


Web Applications play a vital role in modern organizations today as more and more software applications are delivered to users via a web browser. Pretty much everything you might have done on the internet involves the use of a web application - whether that was to register for an event, buy items online, pay your bills, or even play games.


Is it true that these breaches could have been prevented? Yes! But only if the web apps were thoroughly tested either internally or by a consulting firm. Yet even then - such vulnerabilities could have been missed.


A Network Pentest aims to identify and exploit vulnerabilities in corporate or industrial networks as well as in network devices and the hosts/systems connected to them. Such assessments usually simulate a real-world attack if a hacker was to gain access to the internal network of a company.


Another example would be of the NotPetya Malware breakout in Ukraine. This is a great example of how hackers with enough time and resource can compromise a company and utilize them to further carry out more attacks against other targets.


During the assesment you should be checking if user accounts and credentials easy to access. Is customer information and credit cards easily accessible? How well are the members of the company trained on security issues such as phishing? Are technologies and protections well placed and properly configured? And more!


To be able to carry out a Network Pentest you need to really understand how networks work, the technologies and communication protocols in place such as TCP/IP, LDAP, SNMP, SMB, VoIP, etc. You need an understanding of Enterprise Technologies such as Active Directory, as well as an understanding of protections in place such as Firewalls, IDS/IPS, Sysmon, Antiviruses, etc. You need to also understand how Windows and Linux internals function, and how you can utilize them to further compromise other users and host systems.


Code review is probably the single most effective technique for identifying vulnerabilities and misconfigurations in applications. A manual review of the code along with the use of automated testing tools can help locate flaws that might have never been found while carrying out a black box pentest - such as logic flaws, authorization issues, encryption misconfigurations and even injection attacks.


As a pentester you will probably be reviewing a lot of applications built using C, C++, Java, JavaScript, Scala, Ruby, PHP, Python, and even Go. To be able to thoroughly review the application and find vulnerabilities or security issues you need to have a decent understanding of the underlying language and the issues that might arise.


Following closely in the footsteps of Reverse Engineering is Hardware/Embedded Devices which complements Reverse Engineering really well. Follow that up with knowledge in hardware and electronics as well as some ARM Architecture and you got yourself a new gig tearing apart devices from routers to light-bulbs to even cars.


You can have the best security in the world, the most hardened systems, and the best security team there is but all of that is brought to nothing if an attacker can simply carry out your servers through the front door. This is where Physical Security comes in!


But honestly, really take a second to assess this matter. We care so much about the safety of our computer systems, web applications, and networks that we fail to see the vulnerability in the human and physical aspect. Anyone can just walk right into a company that has improper security controls and steal data, plant malware, or even carry out destructive actions.


You hear it pretty much every day, another data breach, all thanks to a misconfigured S3 Bucket! One would have thought that with the increased usage and popularity of AWS, we would see an improvement in security, but were we wrong.


For example, a simple SSRF in a web app can lead to remote code execution, or compromise of the AWS Infrastructure. At the same time, improperly configured IAM Roles or access to services can allow an attacker to gain access to S3 Buckets, manipulate data, or even spin up new EC2 instances.


Information Technology if you want to be more generalized and learn things such as Java, Python, C/C++, SQL, databases, networks, Window and Unix administration, and be more high-level with focus on web applications, corporate technologies, and network pen testing. Just do note that for this degree you will need to choose your classes wisely to focus on what you would like to do. For example, instead of taking database management take a class on cyber security or computer engineering.


So will a college education teach you everything that you need to know? No! Far from it! Think of college as a stepping stone into your career. While it can provide you with a lot of knowledge and the basics, the rest solely relies on you to supplement your learning with additional material, training, and practice.


This means that when you come home from school do your homework, study for the exams you need, and then go learn something new by reading books, watching videos, practicing in labs, messing with hardware or trying to find an internship to be more hands on and involved in your education process.


You need to be a self-starter, be motivated, and be willing to sacrifice your free time to actually become somebody. And this is where the additional learning, certifications and training come into play.


Certifications are a great additional learning tool, which can excel your career while teaching you something new. Now do note that a lot of people in the Information Security industry are torn between certificates, meaning that some like them, and some hate them - everyone has an opinion about them.


Going hand in hand with college, self-learning, and certifications is training and practice. Sure, training can also be part of the certifications, but I believe training to be its own little separate area.


There are a ton of resources out there that can provide you with continues training resources. And since I already provided you a lot of resources above with the technical skills, in this section I want to give you some resources where you can safely practice your hacking skills.


First of all, any relevant course work and certificates are usually good enough to get you a junior position in security, but are definitely not enough to get you hired as a security consultant/pentester without having any prior working experience - unless, that is you are very skilled, have a lot to show, and can slay the interview.


Many of the people that I work with, and those working as pentesters have at least 5-10 years of working experience doing things such as development, system administration, network engineering, security operations (SOC), incident response, and even malware analysis/reverse engineering.


If you had enough working experience then you might have spotted this early on, and because you carelessly carried out attacks without doing proper intelligence gathering or understanding how an Active Directory environment or even a corporate network is configured, then you could have possibly triggered an alert either in the IDS/IPS, Sysmon, or any other logging tool.


Want to be a web/network pentester? Start working as a junior system administrator, network engineer, SOC analyst or as a security analyst for a company. This will allow you to learn how networks are configured, how they are protected, and how they can be bypassed. This will also teach you a lot about enterprise tools, configurations, active directory, etc.


At the same time, you can gain more experiencing by doing work at home and on your personal time. This means actively developing new tools or scripts, setting up your own lab environment, writing blogs, contributing to open source projects on GitHub, joining a CTF team, to even creating vulnerable machines for Vulnhub and Hack the Box.


The Internal path while easier, takes a little longer then the external path. On this path you aim to work as part of an Internal Security Team, either doing Red Teaming, or pentesting and security audits for the company only. To attain such a position its best if you look for internships or junior positions at a company that has such a team, or is in the process of building one.


Usually the company will expect you to have a College Degree, a certification or two, and previous working experience as a system administrator or security analyst. Such teams needs you to thoroughly understand how their network is configured, what security protections are in place, and where possible points of failure can occur.


Once hired the company will always want to train you up, they will provide you with resources, a training budget, test labs, and shadowing opportunities to learn. Just make sure you learn, and fast! Once a company invests money into you, they expect you to be billable on projects within 3 months tops!


So that was my plan - go to college, get a job in IT and work my way up. I started college in 2014 and went to obtain my Bachelors in Information Technology, with a concentration in information security. On my second year of college in 2015 I got an IT internship doing client service work, also known as help desk support. During my time there I learned a lot about active directory, networks, how a company functions, how things are configured, learned SQL, PowerShell, Python, and more.

3a8082e126
Reply all
Reply to author
Forward
0 new messages