CYBERDEFENSE ENGINEERING USING OFFENSIVE PYTHON
PROJECT- REPORT.
OFFENSIVE PYTHON:
This course will teach you how to use python programming language during
any penetration testing or ethical hacking operation , it will teach you how to write your own
ethical hacking scripts on various information security fields like network security , web
application security , and endpoint security.
PYTHON: APPROACH FOR ACADEMIC PURPOSES
Python for File I/O and System Operations: Python - FileIO. Python's built-in
functions input() and print() perform read/write operations with standard IO streams. Learning to
read/write files and perform system operations in Python.
Python Network Programming: Introduction to sockets, client-server communication, and
basic network [Link] also has libraries that provide higher-level access to specific
application-level network protocols, such as FTP, HTTP, and so on.
Introduction to Cyber security: Understanding the need for security, different types of
threats, and the overall landscape of cyber security. Typically employ Cyber Security professionals
to protect their confidential information, maintain employee productivity, and enhance customer
confidence in products and services.
Ethical Hacking Concepts: Learning what ethical hacking means, legality, ethics, and its
importance in the cyber world. Ethical hacking involves an authorized attempt to gain
unauthorized access to a computer system, application, or data.
Python Libraries for Cyber security: Introduction to libraries such as Scapy, Nmap, Py
Crypto, etc., for security testing and development. Requests is a popular library in Python that is
used for making HTTP and HTTPS requests.
Information Gathering: Use Python to conduct reconnaissance and information gathering,
like IP lookup, domain name lookup, etc. Information gathering, or data collection, is a process
where you follow a series of steps to conduct research and answer questions or resolve problems
you have.
Scanning and Enumeration: Creating Python scripts for network scanning and enumeration.
The Scanning stage only helps to identify the vulnerabilities to a certain extent, but Enumeration
helps us learn the complete details such as users, groups and even system level details – routing
tables.
Vulnerability Scanning: Learn to use Python for identifying known vulnerabilities in
systems. It is an inspection of the potential points of exploit on a computer or network to identify
security holes.
Exploitation with Python: Developing basic scripts to exploit known vulnerabilities. Python
scripts are quick and easy to write, making it possible to iterate quickly when designing and testing
exploit code.
Post Exploitation: Writing scripts to maintain access, escalate privileges, or cover tracks.
Post-exploitation refers to any actions taken after a session is opened.
Password Cracking: Implement Python scripts to understand and demonstrate password
cracking techniques. To identify an unknown or forgotten password to a computer or network
resource.
Scripting for Intrusion Detection Systems: Use Python to develop basic intrusion
detection systems (IDS).
Forensic Investigations with Python: Learning to use Python for basic digital forensics.
Extracting and analyzing data from disk images and other types of digital media. Creating
custom forensic tools and scripts to automate analysis tasks.
Python for Web Scrapping: Learning to extract data from websites which can be used in
information gathering phase. Find the URL that you want to scrape. Inspecting the Page.
Python for Cryptography: Implementing basic cryptography algorithms and understanding
their role in secure communication.
Python for Web Application Testing: Creating scripts to automate testing of web
applications for common vulnerabilities.
Python in Machine Learning for Cyber security: Understand how Python can be used
in conjunction with machine learning to predict, analyze and prevent cyber threats.
Python and loT Security: Explore how Python can be used to test and secure Internet of
Things (IoT) devices.
LIST OF LIBRARIES OF PYTHON OF OFFENSIVE SECURITY:
SCAPY: A powerful interactive packet manipulation library used for packet generation, network
scanning, and attack detection.
NMAP: A Python client for Nmap, a network exploration tool and security/port scanner
PYCRYPTO: A collection of cryptographic algorithms and protocols, allowing for secure
application development.
REQUESTS: A simple HTTP library for Python, used in various stages of penetration testing
and information gathering.
BEAUTIFUL SOUP: A library used for web scraping purposes to pull the data out of HTML
and XML files.
IMPACKET: A collection of Python classes focused on providing access to network packets
for security testing.
PARAMIKO: A Python (2.7, 3.4+) implementation of the SSHV2 protocol, providing both
client and server functionality.
PYSOCKS: A Python SOCKS client module, useful in proxying network traffic and for
anonymity.
PILLOW: A Python Imaging Library used in steganography related tasks for embedding hidden
information in images.
PYPDF2: A library to perform operations on PDFs such as reading. splitting, merging, which
can be used in document-based malware analysis.
YARA: A tool aimed at helping malware researchers identify and classify malware samples.
DPKT: A python library for fast, simple packet creation/parsing, useful for network-level
security projects.
VOLATILITY: An advanced memory forensics framework which lets you extract digital
artifacts from volatile memory (RAM) dumps.
PEACH: A fuzzing framework for generating and mutating data which can be sent to
applications to test for vulnerabilities.
TWISTED: An event-driven networking engine, used in developing a variety of applications
including custom servers, clients, and even web applications.
PYDBG: A pure-python win32 debugger interface, useful for debugging and malware analysis.
CAPSTONE: A lightweight multi-platform, multi-architecture disassembly framework, widely
used in reverse engineering.
The PYTHON STANDARD LIBRARY: The Python Language Reference describes the
exact syntax and semantics of the Python language, this library reference manual describes the
standard library that is distributed with Python. It also describes some of the optional components
that are commonly included in Python distributions.