Sylvain Kerkour 2b653d4dc0 README: typos
2021-02-04 15:39:35 +00:00
2021-02-03 17:24:49 +00:00
2021-02-03 17:24:49 +00:00
2021-02-03 17:24:49 +00:00
2021-02-03 19:02:21 +00:00
2021-02-04 15:39:35 +00:00

Black Hat Rust logo

Black Hat Rust - Early Access

Deep dive into offensive security with the Rust programming language

Buy the book now!

Summary

Whether it be in movies or in mainstream media, hackers are often romanticized: they are painted as black magic wizards, nasty criminals, or, in the worst cases, as thieves with a hood and a crowbar. In reality, the spectrum of the profile of the attackers is extremely large, from the bored teenager exploring the internet to sovereign States armies as well as the unhappy former employee.

What are the motivations of the attackers? How can they break seemingly so easily into any network? What do they do to their victims? We will put on our black hat and explore the arcanes of offensive security, whether it be cyber attacks, cybercrimes or cyberwar. Scanners, exploits, malwares... From theory to practice, we will explore the arcanes of offensive security and build our own offensive tools with the Rust programming language, Stack Overflows most loved language for five years in a row.

Rust is turning a new page in the history of programming languages by providing unparalleled guarantees and features, whether it be for defensive or offensive security. I will venture to say that Rust is the long awaited one-size-fits-all programming language. Here is why.

Free Updates and DRM Free, of course :)

Who this book is for

This is NOT a 1000th tutorial about sqlmap and Metasploit nor it will teach you the fundamentals of programming.

Instead it's a from-theory-to-practice-manual and you may enjoy it if any of the following:

  • You keep screaming "show me the code!" when reading about cyber attacks and malwares
  • You want to learn real-world and idiomatic rust practices
  • You believe that the best defense is thinking like an attacker
  • You learn by building and love to look under the hood
  • You develop your own tools and exploits with Python, Ruby, C, Java...
  • You want to learn real-world offensive security, not just pentesting
  • You want to start your career in bug bounties or offensive security

Buy the book now!

Early access

As of today, the book is a work in progress. You can think of it as a Kickstarter campaign, but with 100% of the revenues going to the author.

If for any reason the project has to shut down before its completion, you'll receive a full refund.

estimated final publication: June 2021

estimated number of pages: ~320

In order to thank all the people who will help me make this book a reality, all early access buyers will also receive the following bonus:

  • A curated list of advanced malware analyses. You will find inside great inspiration when developing your own offensive tools.

Buy the book now!

Table of contents

1 - Introduction

Part I: Reconnaissance

2 - Multi-threaded attack surface discovery 🚧

How to perform effective reconnaissance? In this chapter we will build a multi-threaded scanner in order to automate the mapping of the target.

3 - Going full speed with async

Unfortunately, when a program spends most of it time in I/O operations, multi-threading is not a panacea. We will learn how async makes Rust code really, really fast and refactor or scanner to async code.

4 - Adding modules with Trait objects

We will add more heterogeneous modules to our scanner and will learn how Rusts type system helps create properly designed large pieces of software.

5 - Crawling the web for OSINT

Leveraging all we learned previously, we will build an extremely fast web crawler to help us find the needles in the haystack the web is.

Part II: Exploitation

6 - Finding vulnerabilities with Fuzzing

Once the external reconnaissance performed, its time to find entry points. In this chapter we will learn how automated fuzzing can help us to find vulnerabilities that can be exploited to then gain access to our targets systems.

7 - Exploit development

Rust may not be as fast as python when it comes to iterate on quick scripts such as exploits, but as we will see, its powerful type and modules system make it nonetheless a weapon of choice.

8 - Writing shellcodes in Rust

Shellcode development is an ungrateful task. Writing assembly by hand is definitely not sexy. Fortunately for us, Rust, one more time, got our back! In this chapter we will learn how to write shellcodes in plain Rust with no_std.

9 - Phishing with WebAssembly

When they cant find exploitable hardware or software vulnerability, attackers usually fall back to what is often the weakest link in the chain: Humans. Again, Rust comes handy and will let us create advanced phishing pages by compiling to WebAssembly.

Part III: Implant development

10 - A modern RAT

A RAT (for Remote Access Tool), also known as implant or beacon, is a kind of software used to perform offensive operations on a target's machines. In this chapter we will build our own RAT communicating to a remote server and database.

11 - Securing communications with end-to-end encryption

The consequences of our own infrastructure being compromised or seized can be desastrious. We will add end-to-end encryption to our RATs communication in order to secure its communications and avoid leaving traces on our servers.

12 - Going multi-platforms

Todays computing landscape is extremely fragmented. From Windows to macOS we cant target only one Operating System to ensure the success of our operations. In this section we will see how Rusts ecosystem is extremely useful when it comes to cross-compilation.

13 - Turning into a worm to increase reach

Once the initial targets compromised, we will capitalize on Rusts extraordinarily reusability to incorporate some parts of our initial scanner to turn our RAT into a worm and reach more targets only accessible from the target's internal network.

Buy the book now!

Community

Hey! Welcome you to the Black Hat Rustaceans gang! If you think something in the book or the code can be improved, please open an issue. Pull requests are also welcome :)

If you have any question or idea, feel free to join the discussion on the Forum!

Newsletter

Want to stay updated? Ill write you once a week about avoiding complexity, hacking and entrepreneurship.

https://kerkour.com/subscribe

I hate spam even more than you do. I'll never share your email and you can unsubscribe at anytime. Also there is no tracking or ads.

Changelog

You'll find all the updates in the Changelog: https://github.com/skerkour/black-hat-rust/blob/main/CHANGELOG.md

S
Description
Automated archival mirror of github.com/skerkour/black-hat-rust
Readme 2.3 MiB
Languages
Rust 88.3%
Python 6.2%
Makefile 2.9%
Dockerfile 0.9%
C 0.8%
Other 0.9%