Commit Graph

5888 Commits

Author SHA1 Message Date
Mike Salvatore e7d694380d Agent: Skip propagation if max depth is reached
Fixes #1374

When monkey starts, it launches a thread for executing post breach
actions. It then executes its propagation loop on the main thread. If
the maximum propagation depth has been reached, a
PlannedShutdownException is raised on the main thread. This results in
InfectionMonkey.cleanup() being called, which then calls
InfectionMonkey.self_delete(). self_delete() deletes the monkey binary,
but the post breach actions thread hasn't been stopped, resulting in
a trace when the thread attempts an import.

We don't need to shutdown if the maximum propagation depth is reached.
We only need to skip the propagation phase so that monkey does not
propagate further. PBAs and payloads can still be allowed to run.
2021-07-30 05:44:34 -04:00
Mike Salvatore 017e37deb0 Agent: Extract propagation loop into a function 2021-07-30 05:40:31 -04:00
Mike Salvatore 2543e5b2a5 Agent: Only run ransomware payload once 2021-07-30 05:30:09 -04:00
Mike Salvatore ce492d25f4 Agent: Return boolean from "should_monkey_run()"
A function named "should_monkey_run()" should let you know whether or
not monkey should run. Before this commit, the function was responsible
for flow control, as it raised a PlannedShutdownException, resulting in
the shutdown of the monkey agent.
2021-07-30 05:30:09 -04:00
Shreya Malviya 72f77b7d29 docs: Mark ransomware page as not a draft 2021-07-29 19:44:05 +05:30
Mike Salvatore 9a4e6be89e Docs: Update list of tested Linux distros 2021-07-29 08:37:43 -04:00
Shreya Malviya 101c0a3870
Merge pull request #1378 from guardicore/docs-use-cases
Documentation: Scenarios
2021-07-29 17:25:56 +05:30
Mike Salvatore 1829bb0b82
Merge pull request #1379 from guardicore/landing-page-banner
Landing page banner
2021-07-29 07:20:32 -04:00
Shreya Malviya b1f4e2e6ad docs: Add more optimistic language about the custom scenario 2021-07-29 16:41:53 +05:30
Shreya Malviya 21417cdf6b docs: Remove link to FAQ on scenarios page 2021-07-29 16:37:43 +05:30
Shreya Malviya 52401357e8 docs: Modify scenarios' explanation to be less technical and introduce custom scenarios 2021-07-29 16:35:52 +05:30
Shreya Malviya 2d83ea642a docs: Unitalicise and uncapitalise 'scenarios' in scenarios page description 2021-07-29 16:33:59 +05:30
VakarisZ 333fbfc6de Island UI: fix guardicore logo on smaller screens 2021-07-29 11:41:29 +03:00
VakarisZ 45f05dcddf Island UI: remove the unnecessary header from landing page 2021-07-29 11:33:50 +03:00
Mike Salvatore b4d97d1ce7 Build: Add missing ")" to string 2021-07-28 13:47:11 -04:00
Mike Salvatore 2e918fa263
Merge pull request #1376 from guardicore/docs_av_detection
Documentation hub: add information about the Infection Monkey getting…
2021-07-28 13:38:45 -04:00
Mike Salvatore 2f38c6effb Docs: Minor formating/typo change to "Is ... Monkey a malware..." 2021-07-28 13:37:52 -04:00
Mike Salvatore a9e2304f8f Docs: Add missing "the" to "Infection Monkey" 2021-07-28 13:36:20 -04:00
Mike Salvatore fceb52ba38
Merge pull request #1375 from guardicore/ransomware_exploits_table
Ransomware report: Exploits table in lateral movement section
2021-07-28 13:11:47 -04:00
Mike Salvatore bfd7d3cfbf Remove "__author__" lines from the source code
The "__author__" lines in numerous Python files serve little purpose.
At best, they are redundant. At worst, they are incorrect and
misleading.

The VCS (i.e. git) tracks all changes to files. Storing the author in
the files is redundant violates the DRY principle.

If the file changes, whose name belongs in the __author__ field? What if
it changes so drastically that it's almost unrecognizable? If there's
any circumstance where the __author__ name should change, what enforces
that this change takes place? Given the ambiguity of these scenarios,
the __author__ field could be misleading or incorrect.

Resolves #1345
2021-07-28 12:43:28 -04:00
Mike Salvatore 79639610df Tests: Split up test_get_exploits_used_on_node() 2021-07-28 12:17:47 -04:00
Mike Salvatore b8b82039d8 UI: Add banner to the top of the landing page 2021-07-28 12:06:45 -04:00
Mike Salvatore 9a3697aadc UI: Add 10px between version an bottom of landing page 2021-07-28 12:03:47 -04:00
VakarisZ 8583303682 Island: remove the redundant line with total amount of exploited machines from ransomware report + small improvements in monkey_exploitation.py 2021-07-28 16:57:06 +03:00
Shreya Malviya d3ab7c7bf3
docs: Reword scenarios' explanation
Co-authored-by: Mike Salvatore <mike.s.salvatore@gmail.com>
2021-07-28 18:43:28 +05:30
Shreya Malviya aa13202fa8
docs: Reword description on scenarios page
Co-authored-by: Mike Salvatore <mike.s.salvatore@gmail.com>
2021-07-28 18:42:38 +05:30
Mike Salvatore cefc450b35
Merge pull request #1377 from guardicore/1364/config-reset-on-refresh
Config reset after refresh
2021-07-28 09:09:17 -04:00
VakarisZ 4c1747d2e6 Island: change island report to only send exploited machine count to UI instead of whole machine list 2021-07-28 15:58:17 +03:00
Shreya Malviya 36e77245d2 cc: Update scenarios documentation link on the landing page 2021-07-28 18:06:23 +05:30
Mike Salvatore b7c02a0016
Merge pull request #1373 from guardicore/appimage-docker-code-reuse
Appimage docker code reuse
2021-07-28 07:54:43 -04:00
Mike Salvatore 6aff4a16b2 Build: Move final build artifact to dist/ directory 2021-07-28 07:53:33 -04:00
Ilija Lazoroski b991035938 UI: Set currentFormData upon refresh. 2021-07-28 13:44:58 +02:00
Shreya Malviya 5ba4400bc3 docs: Remove trailing whitespaces 2021-07-28 16:51:27 +05:30
Shreya Malviya ab6d03f97a docs: Add custom scenario image 2021-07-28 16:50:15 +05:30
Shreya Malviya 4e95721f88 docs: Modify ransomware page and add screenshot of ransomware config 2021-07-28 16:46:12 +05:30
Shreya Malviya 42f14e25c1 docs: Modify scenarios page text and add screenshots 2021-07-28 16:39:46 +05:30
Mike Salvatore 5de6a562ba Build: Add build_{appimage,docker}.sh wrapper scripts 2021-07-28 07:00:18 -04:00
VakarisZ 4558880276 Documentation hub: add information about the Infection Monkey getting flagged as malware during the installation 2021-07-28 13:56:49 +03:00
Shreya Malviya 89d6953b89 docs: Reorder use cases/scenarios section 2021-07-28 15:55:52 +05:30
VakarisZ 15fad50393 Island UI: change ransomware report to contain a table of exploitations in lateral movement section 2021-07-28 12:24:20 +03:00
VakarisZ 1448bb1850 Island: extract monkey exploitations into a separate service and a separate endpoint
This change not only removes complexity from the huge report service, but also allows different UI components to call the API without forcing the whole report to be generated
2021-07-28 12:14:38 +03:00
VakarisZ 1013347b3c Island: move manual exploitation service into a separate exploitations directory under report directory 2021-07-28 12:08:11 +03:00
Shreya Malviya 8cec39bc74 docs: Rename 'use cases' to 'scenarios' 2021-07-28 13:41:49 +05:30
Shreya Malviya 8819333355 docs: Add description for ransomware simulation 2021-07-28 13:37:33 +05:30
VakarisZ e10d2246a3 Island UI: reword the info for LateralMovement.tsx to not contain encryption part in description 2021-07-28 10:28:35 +03:00
Mike Salvatore 0609bc2063 Build: Add README.md for build_package.sh 2021-07-27 15:31:33 -04:00
Mike Salvatore ae1427f6a6 Build: Remove duplicate code from appimage build script 2021-07-27 15:25:50 -04:00
Mike Salvatore 5576e4e241 Build: Move reusable parts of docker build scripts into new scripts 2021-07-27 13:08:55 -04:00
Mike Salvatore 3e638298e6 Build: Move appimage/ and docker/ into build_scrips/ 2021-07-27 08:12:01 -04:00
VakarisZ 73f06a5551
Merge pull request #1359 from guardicore/1349/landing-page-face-lift
Landing page face lift
2021-07-27 15:09:04 +03:00