Book Image

Python for Offensive PenTest

By : Hussam Khrais
Book Image

Python for Offensive PenTest

By: Hussam Khrais

Overview of this book

Python is an easy-to-learn and cross-platform programming language that has unlimited third-party libraries. Plenty of open source hacking tools are written in Python, which can be easily integrated within your script. This book is packed with step-by-step instructions and working examples to make you a skilled penetration tester. It is divided into clear bite-sized chunks, so you can learn at your own pace and focus on the areas of most interest to you. This book will teach you how to code a reverse shell and build an anonymous shell. You will also learn how to hack passwords and perform a privilege escalation on Windows with practical examples. You will set up your own virtual hacking environment in VirtualBox, which will help you run multiple operating systems for your testing environment. By the end of this book, you will have learned how to code your own scripts and mastered ethical hacking from scratch.
Table of Contents (13 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Introduction to encryption algorithms


In this section, we'll have a quick overview of the most common encryption algorithms in the cryptography world. Basically, there are two types of encryption algorithms. The first one is called symmetric and the second one is called asymmetric. Now, this classification is made based on the number of needed keys and how they are operated. Let's discuss the difference between these algorithms a little bit, and we will start with the symmetric one.

Now, symmetric encryption uses one key for both the encryption and the decryption process and this key is shared on both the client and the server side. Now, the most common examples of symmetric encryption are AES, Blowfish, RC4, and Triple DES. In asymmetric encryption, we have the concept of the key pair, where we have a key called public key that is used for encryption and we have a private key that is used for decryption. Now, the key name implies that the public key can be published over the untrusted network...