Episode 1|Iteration 10|reward: 139.0|Elapsed Time: 0:00:00|###################################################################|
###### Random search
Learning with: episode_count=1,iteration_count=10,ϵ=1.0,ϵ_min=0.0,
## Episode: 1/1 'Random search' ϵ=1.0000,
Episode 1|Iteration 10|reward: 194.0|Elapsed Time: 0:00:00|###################################################################|
simulation ended
Episode duration -- DQN=Red, Random=Green
10.00 ┼
Cumulative rewards -- DQN=Red, Random=Green
194.00 ┼ ╭──╴
174.60 ┤ │
155.20 ┤╭─────╯
135.80 ┤│ ╭──╴
116.40 ┤│ │
97.00 ┤│ ╭╯
77.60 ┤│ │
58.20 ┤╯ ╭──╯
38.80 ┤ │
19.40 ┤ │
0.00 ┼──╯
Jupyter notebooks
To quickly get familiar with the project you can open one the the provided Juptyer notebooks to play interactively with the gym environments. Just start jupyter with jupyter notebook, or venv/bin/jupyter notebook if you are using a virtual environment setup. 'Capture The Flag' toy environment notebooks: Random agent (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/toyctf-random.ipynb) Interactive session for a human player (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/toyctf-blank.ipynb) Interactive session - fully solved (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/toyctf-solved.ipynb) Chain environment notebooks: Random agent (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/chainnetwork-random.ipynb) Other environments: Interactive session with a randomly generated environment (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/randomnetwork.ipynb) Random agent playing on randomly generated networks (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/c2_interactive_interface.ipynb) The following .py notebooks are best viewed in VSCode or in Jupyter with the Jupytext extension (https://jupytext.readthedocs.io/en/latest/install.html) and can easily be converted to .ipynb format if needed: Chain environments benchmarks: Benchmark of all baseline agents (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_all_agents_benchmark.py) All baseline agents against a basic defender (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_withdefender.py) DeepQL (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_dql.py) Epsilon greedy (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_randlookups.py) Tabular Q Learning (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_tabularq.py) Capture the Flag benchmark: DeepQL (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_ctf_dql.py)
How to instantiate the Gym environments?
The following code shows how to create an instance of the the OpenAI Gym environment CyberBattleChain-v0, an environment based on a chain-like network structure (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/samples/chainpattern/chainpattern.py), with 10 nodes (size=10) where the agent's goal is to either gain full ownership of the network (own_atleast_percent=1.0) or break the 80% network availability SLA (maintain_sla=0.80), while the netowrk is being monitored and protected by basic probalistically-modelled defender (defender_agent=ScanAndReimageCompromisedMachines): import cyberbattle._env.cyberbattle_env
cyberbattlechain_defender =
gym.make('CyberBattleChain-v0',
size=10,
attacker_goal=AttackerGoal(
own_atleast=0,
own_atleast_percent=1.0
),
defender_constraint=DefenderConstraint(
maintain_sla=0.80
),
defender_agent=ScanAndReimageCompromisedMachines(
___________________________
@hacking_Attack
@Hacking_Video
###### Random search
Learning with: episode_count=1,iteration_count=10,ϵ=1.0,ϵ_min=0.0,
## Episode: 1/1 'Random search' ϵ=1.0000,
Episode 1|Iteration 10|reward: 194.0|Elapsed Time: 0:00:00|###################################################################|
simulation ended
Episode duration -- DQN=Red, Random=Green
10.00 ┼
Cumulative rewards -- DQN=Red, Random=Green
194.00 ┼ ╭──╴
174.60 ┤ │
155.20 ┤╭─────╯
135.80 ┤│ ╭──╴
116.40 ┤│ │
97.00 ┤│ ╭╯
77.60 ┤│ │
58.20 ┤╯ ╭──╯
38.80 ┤ │
19.40 ┤ │
0.00 ┼──╯
Jupyter notebooks
To quickly get familiar with the project you can open one the the provided Juptyer notebooks to play interactively with the gym environments. Just start jupyter with jupyter notebook, or venv/bin/jupyter notebook if you are using a virtual environment setup. 'Capture The Flag' toy environment notebooks: Random agent (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/toyctf-random.ipynb) Interactive session for a human player (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/toyctf-blank.ipynb) Interactive session - fully solved (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/toyctf-solved.ipynb) Chain environment notebooks: Random agent (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/chainnetwork-random.ipynb) Other environments: Interactive session with a randomly generated environment (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/randomnetwork.ipynb) Random agent playing on randomly generated networks (https://github.com/microsoft/CyberBattleSim/blob/main/notebooks/c2_interactive_interface.ipynb) The following .py notebooks are best viewed in VSCode or in Jupyter with the Jupytext extension (https://jupytext.readthedocs.io/en/latest/install.html) and can easily be converted to .ipynb format if needed: Chain environments benchmarks: Benchmark of all baseline agents (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_all_agents_benchmark.py) All baseline agents against a basic defender (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_withdefender.py) DeepQL (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_dql.py) Epsilon greedy (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_randlookups.py) Tabular Q Learning (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_tabularq.py) Capture the Flag benchmark: DeepQL (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/agents/baseline/notebooks/notebook_ctf_dql.py)
How to instantiate the Gym environments?
The following code shows how to create an instance of the the OpenAI Gym environment CyberBattleChain-v0, an environment based on a chain-like network structure (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/samples/chainpattern/chainpattern.py), with 10 nodes (size=10) where the agent's goal is to either gain full ownership of the network (own_atleast_percent=1.0) or break the 80% network availability SLA (maintain_sla=0.80), while the netowrk is being monitored and protected by basic probalistically-modelled defender (defender_agent=ScanAndReimageCompromisedMachines): import cyberbattle._env.cyberbattle_env
cyberbattlechain_defender =
gym.make('CyberBattleChain-v0',
size=10,
attacker_goal=AttackerGoal(
own_atleast=0,
own_atleast_percent=1.0
),
defender_constraint=DefenderConstraint(
maintain_sla=0.80
),
defender_agent=ScanAndReimageCompromisedMachines(
___________________________
@hacking_Attack
@Hacking_Video
GitHub
microsoft/CyberBattleSim
An experimentation and research platform to investigate the interaction of automated agents in an abstract simulated network environments. - microsoft/CyberBattleSim
probability=0.6,
scan_capacity=2,
scan_frequency=5)) To try other network topologies, take example on chainpattern.py (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/samples/chainpattern/chainpattern.py) to define your own set of machines and vulnerabilities, then add an entry in the module initializer (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/__init__.py) to declare and register the Gym environment.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com (https://cla.opensource.microsoft.com/). When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. This project has adopted the Microsoft Open Source Code of Conduct (https://opensource.microsoft.com/codeofconduct/). For more information see the Code of Conduct FAQ (https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com (mailto:opencode@microsoft.com) with any additional questions or comments.
Ideas for contributions
Here are some ideas on how to contribute: enhance the simulation (event-based, refined the simulation, …), train an RL algorithm on the existing simulation, implement benchmark to evaluate and compare novelty of agents, add more network generative modes to train RL-agent on, contribute to the doc, fix bugs. See also the wiki for more ideas (https://github.com/microsoft/CyberBattleGym/wiki/Possible-contributions).
Citing this project
@misc{msft:cyberbattlesim,
Author = {Microsoft Defender Research Team.}
Note = {Created by Christian Seifert, Michael Betser, William Blum, James Bono, Kate Farris, Emily Goren, Justin Grana, Kristian Holsheimer, Brandon Marken, Joshua Neil, Nicole Nichols, Jugal Parikh, Haoran Wei.},
Publisher = {GitHub},
Howpublished = {\url{https://github.com/microsoft/cyberbattlesim}},
Title = {CyberBattleSim},
Year = {2021}
}
Note on privacy
This project does not include any customer data. The provided models and network topologies are purely fictitious. Users of the provided code provide all the input to the simulation and must have the necessary permissions to use any provided data.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines (https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Download CyberBattleSim (https://github.com/microsoft/CyberBattleSim)
___________________________
@hacking_Attack
@Hacking_Video
scan_capacity=2,
scan_frequency=5)) To try other network topologies, take example on chainpattern.py (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/samples/chainpattern/chainpattern.py) to define your own set of machines and vulnerabilities, then add an entry in the module initializer (https://github.com/microsoft/CyberBattleSim/blob/main/cyberbattle/__init__.py) to declare and register the Gym environment.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com (https://cla.opensource.microsoft.com/). When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. This project has adopted the Microsoft Open Source Code of Conduct (https://opensource.microsoft.com/codeofconduct/). For more information see the Code of Conduct FAQ (https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com (mailto:opencode@microsoft.com) with any additional questions or comments.
Ideas for contributions
Here are some ideas on how to contribute: enhance the simulation (event-based, refined the simulation, …), train an RL algorithm on the existing simulation, implement benchmark to evaluate and compare novelty of agents, add more network generative modes to train RL-agent on, contribute to the doc, fix bugs. See also the wiki for more ideas (https://github.com/microsoft/CyberBattleGym/wiki/Possible-contributions).
Citing this project
@misc{msft:cyberbattlesim,
Author = {Microsoft Defender Research Team.}
Note = {Created by Christian Seifert, Michael Betser, William Blum, James Bono, Kate Farris, Emily Goren, Justin Grana, Kristian Holsheimer, Brandon Marken, Joshua Neil, Nicole Nichols, Jugal Parikh, Haoran Wei.},
Publisher = {GitHub},
Howpublished = {\url{https://github.com/microsoft/cyberbattlesim}},
Title = {CyberBattleSim},
Year = {2021}
}
Note on privacy
This project does not include any customer data. The provided models and network topologies are purely fictitious. Users of the provided code provide all the input to the simulation and must have the necessary permissions to use any provided data.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines (https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Download CyberBattleSim (https://github.com/microsoft/CyberBattleSim)
___________________________
@hacking_Attack
@Hacking_Video
GitHub
microsoft/CyberBattleSim
An experimentation and research platform to investigate the interaction of automated agents in an abstract simulated network environments. - microsoft/CyberBattleSim
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
Hub Weekly Digest: Pipeline Hack, Apple Confesses, Twilio Discloses Breach and Telstra Provider Hit…
https://cdn-images-1.medium.com/max/2600/1*DuAhrKU4wmnVtpVR4hcPFA.jpeg
Hub Security’s weekly digest covers top stories happening around the world related to fintech, critical infrastructure, cloud, and…
Continue reading on HUB Security »
___________________________
@hacking_Attack
@Hacking_Video
Hub Weekly Digest: Pipeline Hack, Apple Confesses, Twilio Discloses Breach and Telstra Provider Hit…
https://cdn-images-1.medium.com/max/2600/1*DuAhrKU4wmnVtpVR4hcPFA.jpeg
Hub Security’s weekly digest covers top stories happening around the world related to fintech, critical infrastructure, cloud, and…
Continue reading on HUB Security »
___________________________
@hacking_Attack
@Hacking_Video
Medium
Hub Weekly Digest: Pipeline Hack, Apple Confesses, Twilio Discloses Breach and Telstra Provider Hit…
Hub Security’s weekly digest covers top stories happening around the world related to fintech, critical infrastructure, cloud, and…
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
Hide private texts withing digital images using QuickStego
https://cdn-images-1.medium.com/max/703/1*WSaK325SJHDztAt2sk2Vjg.png
QuickStego is a lightweight encryption tool designed specifically to conceal a message in pictures with the goal that only other users of…
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
Hide private texts withing digital images using QuickStego
https://cdn-images-1.medium.com/max/703/1*WSaK325SJHDztAt2sk2Vjg.png
QuickStego is a lightweight encryption tool designed specifically to conceal a message in pictures with the goal that only other users of…
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
Medium
Hide private texts withing digital images using QuickStego
QuickStego is a lightweight encryption tool designed specifically to conceal a message in pictures with the goal that only other users of…
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
Steganography technique with S-Tools
https://cdn-images-1.medium.com/max/1615/1*TlWISLR8xSehKmGV6lvk9Q.png
S-Tools is a program composed by Andy Brown. It is maybe the most broadly perceived steganography instrument accessible today. You can use…
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
Steganography technique with S-Tools
https://cdn-images-1.medium.com/max/1615/1*TlWISLR8xSehKmGV6lvk9Q.png
S-Tools is a program composed by Andy Brown. It is maybe the most broadly perceived steganography instrument accessible today. You can use…
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
Medium
Steganography technique with S-Tools
S-Tools is a program composed by Andy Brown. It is maybe the most broadly perceived steganography instrument accessible today. You can use…
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
How To Learn Hacking For Begineers? — ExploitByte
https://cdn-images-1.medium.com/max/1200/0*xgggBqIu1QKgY5dK
How To Learn Hacking For Begineers? — Today I will show you what is hacking? , types of hacking, How Hacks Works , Hacking Books , Hacking…
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
How To Learn Hacking For Begineers? — ExploitByte
https://cdn-images-1.medium.com/max/1200/0*xgggBqIu1QKgY5dK
How To Learn Hacking For Begineers? — Today I will show you what is hacking? , types of hacking, How Hacks Works , Hacking Books , Hacking…
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
Medium
How To Learn Hacking For Begineers? — ExploitByte
How To Learn Hacking For Begineers? — Today I will show you what is hacking? , types of hacking, How Hacks Works , Hacking Books , Hacking…
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
US Fuel Pipeline HACKED
https://cdn-images-1.medium.com/max/600/1*34_JDBGHwlvCOnAkxncV-Q.jpeg
WASHINGTON — A U.S. energy company says a cyberattack forced it to temporarily halt all operations on a major pipeline that delivers…
Continue reading on Morning Sixpack »
___________________________
@hacking_Attack
@Hacking_Video
US Fuel Pipeline HACKED
https://cdn-images-1.medium.com/max/600/1*34_JDBGHwlvCOnAkxncV-Q.jpeg
WASHINGTON — A U.S. energy company says a cyberattack forced it to temporarily halt all operations on a major pipeline that delivers…
Continue reading on Morning Sixpack »
___________________________
@hacking_Attack
@Hacking_Video
Medium
US Fuel Pipeline HACKED
WASHINGTON — A U.S. energy company says a cyberattack forced it to temporarily halt all operations on a major pipeline that delivers…
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
TryHackMe: Brooklyn Nine Nine (Writeup)
https://cdn-images-1.medium.com/max/2600/1*GwNDm0TQNvNOycWqvWhkJg.png
An Easy Brooklyn Nine-Nine Inspired Room
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
TryHackMe: Brooklyn Nine Nine (Writeup)
https://cdn-images-1.medium.com/max/2600/1*GwNDm0TQNvNOycWqvWhkJg.png
An Easy Brooklyn Nine-Nine Inspired Room
Continue reading on Medium »
___________________________
@hacking_Attack
@Hacking_Video
Medium
TryHackMe: Brooklyn Nine Nine (Writeup)
An Easy Brooklyn Nine-Nine Inspired Room
Exploiting Activity in medium android app
Hello friends I am Raju Kumar A.k.a Mrcyberwarrior. Let’s come to the story, I found vulnerabilities in the web as well as android…Continue reading on Medium »
Read more...
Hello friends I am Raju Kumar A.k.a Mrcyberwarrior. Let’s come to the story, I found vulnerabilities in the web as well as android…Continue reading on Medium »
Read more...
Unauthenticated AD password reset bug = Informational?? SINCE WHEN.
Continue reading on Medium »
Read more...
Continue reading on Medium »
Read more...
Exploiting Activity in medium android app
https://mrcyberwarrior.medium.com/exploiting-activity-in-medium-android-app-e2e6f3553eef?source=rss------bug_bounty-5
___________________________
@hacking_Attack
@Hacking_Video
https://mrcyberwarrior.medium.com/exploiting-activity-in-medium-android-app-e2e6f3553eef?source=rss------bug_bounty-5
___________________________
@hacking_Attack
@Hacking_Video
Medium
Exploiting Activity in medium android app
Hello friends I am Raju Kumar A.k.a Mrcyberwarrior. Let’s come to the story, I found vulnerabilities in the web as well as android…
Hello friends I am Raju Kumar A.k.a Mrcyberwarrior. Let’s come to the story, I found vulnerabilities in the web as well as android…Continue reading on Medium » (https://mrcyberwarrior.medium.com/exploiting-activity-in-medium-android-app-e2e6f3553eef?source=rss------bug_bounty-5)
___________________________
@hacking_Attack
@Hacking_Video
___________________________
@hacking_Attack
@Hacking_Video
Medium
Exploiting Activity in medium android app
Hello friends I am Raju Kumar A.k.a Mrcyberwarrior. Let’s come to the story, I found vulnerabilities in the web as well as android…
Unauthenticated AD password reset bug = Informational?? SINCE WHEN.
https://popalltheshells.medium.com/unauthenticated-ad-password-reset-bug-informational-since-when-9094535ebe48?source=rss------bug_bounty-5
___________________________
@hacking_Attack
@Hacking_Video
https://popalltheshells.medium.com/unauthenticated-ad-password-reset-bug-informational-since-when-9094535ebe48?source=rss------bug_bounty-5
___________________________
@hacking_Attack
@Hacking_Video
Medium
Unauthenticated AD password reset = Informational. SINCE WHEN???
Hello all, I’d like to talk about an unauthenticated password reset and Denial of Service finding I found on a bounty program which apparently, according to the vendor “does not have security…