All Projects → crond-jaist → AutoPentest-DRL

crond-jaist / AutoPentest-DRL

Licence: BSD-3-Clause license
AutoPentest-DRL: Automated Penetration Testing Using Deep Reinforcement Learning

Programming Languages

python
139335 projects - #7 most used programming language
OpenEdge ABL
179 projects

Projects that are alternatives of or similar to AutoPentest-DRL

RL
Reinforcement Learning Demos
Stars: ✭ 66 (-66.33%)
Mutual labels:  deep-reinforcement-learning
metagoofil
Search Google and download specific file types
Stars: ✭ 174 (-11.22%)
Mutual labels:  penetration-testing
FYI
My last 10 year's material collection on offensive & defensive security, GRC, risk management, technical security guidelines and much more.
Stars: ✭ 194 (-1.02%)
Mutual labels:  penetration-testing
neural-mpc
No description or website provided.
Stars: ✭ 54 (-72.45%)
Mutual labels:  deep-reinforcement-learning
sshame
brute force SSH public-key authentication
Stars: ✭ 43 (-78.06%)
Mutual labels:  penetration-testing
AttackSurfaceManagement
Discover the attack surface and prioritize risks with our continuous Attack Surface Management (ASM) platform - Sn1per Professional #pentest #redteam #bugbounty
Stars: ✭ 45 (-77.04%)
Mutual labels:  penetration-testing
TokenBreaker
JSON RSA to HMAC and None Algorithm Vulnerability POC
Stars: ✭ 51 (-73.98%)
Mutual labels:  penetration-testing
pokeai
Develop ultimate AI Pokémon trainer
Stars: ✭ 18 (-90.82%)
Mutual labels:  deep-reinforcement-learning
datascience-mashup
In this repo I will try to gather all of the projects related to data science with clean datasets and high accuracy models to solve real world problems.
Stars: ✭ 36 (-81.63%)
Mutual labels:  deep-reinforcement-learning
godpaper
🐵 An AI chess-board-game framework(by many programming languages) implementations.
Stars: ✭ 40 (-79.59%)
Mutual labels:  deep-reinforcement-learning
AI booklet CE-AUT
Booklet and exam of Artificial Intelligence Master Degree at Amirkabir University of technology.
Stars: ✭ 14 (-92.86%)
Mutual labels:  deep-reinforcement-learning
warf
WARF is a Web Application Reconnaissance Framework that helps to gather information about the target.
Stars: ✭ 53 (-72.96%)
Mutual labels:  penetration-testing
drl grasping
Deep Reinforcement Learning for Robotic Grasping from Octrees
Stars: ✭ 160 (-18.37%)
Mutual labels:  deep-reinforcement-learning
muzero
A clean implementation of MuZero and AlphaZero following the AlphaZero General framework. Train and Pit both algorithms against each other, and investigate reliability of learned MuZero MDP models.
Stars: ✭ 126 (-35.71%)
Mutual labels:  deep-reinforcement-learning
Red-Rabbit-V4
The Red Rabbit project is just what a hacker needs for everyday automation. Red Rabbit unlike most frameworks out there does not automate other peoples tools like the aircrack suite or the wifite framework, it rather has its own code and is raw source with over 270+ options. This framework might just be your everyday key to your workflow
Stars: ✭ 123 (-37.24%)
Mutual labels:  penetration-testing
CrowdNav DSRNN
[ICRA 2021] Decentralized Structural-RNN for Robot Crowd Navigation with Deep Reinforcement Learning
Stars: ✭ 43 (-78.06%)
Mutual labels:  deep-reinforcement-learning
pentesting-notes
Notes from OSCP, CTF, security adventures, etc...
Stars: ✭ 38 (-80.61%)
Mutual labels:  penetration-testing
Offensive-Security-Cayuqueo
Scripts usados en mi formación de Offensive Security por medio de la suscripción Learn Unlimited
Stars: ✭ 14 (-92.86%)
Mutual labels:  penetration-testing
Alfred
A friendly Toolkit for Beginner CTF players
Stars: ✭ 39 (-80.1%)
Mutual labels:  penetration-testing
PwnX.py
🏴‍☠️ Pwn misconfigured sites running ShareX custom image uploader API through chained exploit
Stars: ✭ 30 (-84.69%)
Mutual labels:  penetration-testing

AutoPentest-DRL: Automated Penetration Testing Using Deep Reinforcement Learning

AutoPentest-DRL is an automated penetration testing framework based on Deep Reinforcement Learning (DRL) techniques. AutoPentest-DRL can determine the most appropriate attack path for a given logical network, and can also be used to execute a penetration testing attack on a real network via tools such as Nmap and Metasploit. This framework is intended for educational purposes, so that users can study the penetration testing attack mechanisms. AutoPentest-DRL is being developed by the Cyber Range Organization and Design (CROND) NEC-endowed chair at the Japan Advanced Institute of Science and Technology (JAIST) in Ishikawa, Japan.

An overview of AutoPentest-DRL is shown below. The framework receives user input regarding the logical target network, including vulnerability information; alternatively, the framework can use Nmap for network scanning to find actual vulnerabilities in a real target network with known topology. The MulVAL attack-graph generator is then used to determine potential attack trees, which are fed in a simplified form into the DRL engine. The attack path that is produced as output can be used to study the attack mechanisms on a large number of logical networks. Alternatively, the framework can use the attack path with penetration testing tools, such as Metasploit, making it possible for the user to study how the attack can be carried out on a real target network.

Overview of AutoPentest-DRL

Next we provide brief information on how to setup and use AutoPentest-DRL. For details about its operation, please refer to the User Guide that we also make available.

Prerequisites

Several external tools are required in order to use AutoPentest-DRL; for the basic functionality regarding logical networks, you'll need:

  • MulVAL: Attack-graph generator used by AutoPentest-DRL to produce possible attack paths for a given network. See the MulVAL page for installation instructions and dependencies. MulVAL should be installed in the directory repos/mulval in the AutoPentest-DRL folder. You also need to configure the /etc/profile file as discussed here. On some systems the tool epstopdf may also need to be installed, for instance by using the command below:
    sudo apt install texlive-font-utils
    

If you plan to use AutoPentest-DRL with real networks, you'll also need:

  • Nmap: Network scanner used by AutoPentest-DRL to determine vulnerabilities in a given real network. The command needed to install nmap on Ubuntu is given below:
    sudo apt install nmap
    
  • Metasploit: Penetration testing tools used by AutoPentest-DRL to actually conduct the attack proposed by the DRL engine on the real target network. To install Metasploit, you can use the installers made available on the Metasploit website. In addition, we use pymetasploit3 as RPC API to communicate with Metasploit, and this tool needs to be installed in the directory Penetration_tools/pymetasploit3 by following its author's instructions.

Setup

AutoPentest-DRL has been developed mainly on the Ubuntu 18.04 LTS operating system; other OSes may work, but have not been tested. In order to set up AutoPentest-DRL, use the releases page to download the latest version, and extract the source code archive into a directory of your choice (for instance, your home directory) on the host on which you intend to use it.

AutoPentest-DRL is implemented in Python, and it requires several packages to run. The file requirements.txt included with the distribution can be used to install the necessary packages via the following command that should be run from the AutoPentest-DRL/ directory:

$ sudo -H pip install -r requirements.txt

Quick Start

AutoPentest-DRL can be used out-of-the-box on a sample logical network topology by running the following command in a terminal from the AutoPentest-DRL/ directory:

$ python3 ./AutoPentest-DRL.py logical_attack

In this logical attack mode no actual attack is conducted, and AutoPentest-DRL will only determine the optimal attack path for the logical network topology that is described in the file MulVal_P/logical_attack_v1.P. By comparing the output path with the visualization of the attack graph that is generated by MulVAL in the file mulval_results/AttackGraph.pdf you can study in detail the logical attack steps.

For more information about the operation of AutoPentest-DRL, including the real attack mode to be used when conducting penetration testing on real networks, see our User Guide.

References

For a list of contributors to this project, see the file CONTRIBUTORS included in the distribution.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].