GithubHelp home page GithubHelp logo

mitre / stockpile Goto Github PK

View Code? Open in Web Editor NEW
72.0 23.0 44.0 12.37 MB

A CALDERA plugin

Home Page: https://caldera.mitre.org/

License: Apache License 2.0

Python 37.91% Shell 1.51% PowerShell 55.23% Go 2.07% AppleScript 0.20% Vue 0.61% HTML 2.49%
caldera-plugin caldera

stockpile's Introduction

MITRE Caldera plugin: Stockpile

A plugin supplying Caldera with TTPs and adversary profiles.

Read the full docs

For collection and exfiltration abilities added January 2022 (see list below), additional information for configuring these abilities can be found in the examples in the stockpile/docs/ folder.

2022 Included abilities:

  • Advanced File Search and Stager
  • Find Git Repositories & Compress Git Repository
  • Compress Staged Directory (Password Protected)
  • Compress Staged Directory (Password Protected) and Break Into Smaller Files
  • Exfil Compressed Archive to FTP
  • Exfil Compressed Archive to Dropbox
  • Exfil Compressed Archive to GitHub Repositories | Gists
  • Exfil Compressed Archive to GitHub Gist
  • Exfil Directory Files to Github (this exfiltrates files without archiving)
  • Exfil Compressed Archive to S3 via AWS CLI
  • Transfer Compressed Archive to Separate S3 Bucket via AWS CLI
  • Scheduled Exfiltration

Potential Issues

  • The donut-shellcode python package is not currently supported for ARM chip architectures. Thus the package cannot be installed on newer Mac systems with the M chip series.

stockpile's People

Contributors

argaudreau avatar artificialermine avatar bluesentinelsec avatar brianedmonds90 avatar christophert avatar clenk avatar crud3 avatar ddavila54 avatar djlawren avatar dumprop avatar elegantmoose avatar garunagiri avatar jstroud-mitre avatar kaylakraines avatar khyberspache avatar kirilldogu avatar littlehack3r avatar mchan143 avatar mrengstrom avatar nopfor avatar privateducky avatar rcamurphy avatar rdminter avatar rfrank27 avatar scottctaylor12 avatar sgianvecchio avatar tsmith60 avatar unkempthenry avatar uruwhy avatar wbooth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stockpile's Issues

Update technique id of abilities

Some abilities are still not updated according to the new attck matrix
Example in stockpile (there "T1071") and similar in atomic (there "T1071.001")
Also in T1071 only one ability from stockpile

Although in T1071.001 already three abilities from atomic with the same meaning

So, I think we should update all abilities according new numeration (with sub technique) since using old numeration is a bit confusing

Incorrect date time format in ragdoll.py

Describe the bug
The data time format used to send the agent_reported_time does not match with the time used in the Caldera server.

This causes it to crash when processing the response before showing the results

Traceback (most recent call last):
  File "/home/ubuntu/caldera/app/service/contact_svc.py", line 123, in _save
    link.agent_reported_time = self.get_timestamp_from_string(result.agent_reported_time)
  File "/home/ubuntu/caldera/app/utility/base_world.py", line 87, in get_timestamp_from_string
    return datetime.strptime(datetime_str, date_format)
  File "/usr/lib/python3.10/_strptime.py", line 568, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "/usr/lib/python3.10/_strptime.py", line 349, in _strptime
    raise ValueError("time data %r does not match format %r" %
ValueError: time data '2024-02-03 15:47:46' does not match format '%Y-%m-%dT%H:%M:%SZ'

To Reproduce
Steps to reproduce the behavior:

  1. Run the most recent version of Caldera
  2. Start a ragdoll.py agent
  3. Run any command expecting an output
  4. See that the output is not shown and a error message is shown in the Caldera console

Expected behavior
The commands output to be seen on Caldera and no error message in the console

Fix
Change line 66 of ragdoll.py to:

execution_timestamp = datetime.datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ')

Desktop (please complete the following information):

  • OS: Ubuntu
  • Browser: Chrome
  • Version: Caldera 4.2.0

Missing pip requirement matplotlib?

Describe the bug
When running an operation using the new guided planner and enabling the debug attack graph output, the conditional matplotlib.pyplot import in line 232 of the guided planner causes a ModuleNotFoundError: No module named 'matplotlib'.

To Reproduce
Steps to reproduce the behavior:

  1. Fresh install CALDERA 4.1.0
  2. Set debug output for guided planner to True
  3. Start new operation using the guided planner

Expected behavior
The operation should run successfully and the debug output should be shown.

Screenshots

2022-10-05 09:05:56 - ERROR (c_operation.py:344 run) No module named 'matplotlib'
Traceback (most recent call last):
  File "/home/kalidera/Desktop/caldera/app/objects/c_operation.py", line 341, in run
    await self.cede_control_to_planner(services)
  File "/home/kalidera/Desktop/caldera/app/objects/c_operation.py", line 331, in cede_control_to_planner
    await planner.execute()
  File "/home/kalidera/Desktop/caldera/plugins/stockpile/app/guided.py", line 138, in execute
    await self.planning_svc.execute_planner(self)
  File "/home/kalidera/Desktop/caldera/app/service/planning_svc.py", line 135, in execute_planner
    await getattr(planner, planner.next_bucket)()
  File "/home/kalidera/Desktop/caldera/plugins/stockpile/app/guided.py", line 141, in guided
    await self.execute_subop(ability_ids=self.ability_ids, goals=self.goals)
  File "/home/kalidera/Desktop/caldera/plugins/stockpile/app/guided.py", line 153, in execute_subop
    await self._show_attack_graph(attack_graph)
  File "/home/kalidera/Desktop/caldera/plugins/stockpile/app/guided.py", line 232, in _show_attack_graph
    import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib'

Desktop (please complete the following information):

  • OS: Kali
  • Version: 4.1.0

Additional context
I did not find any information about matplotlib being a requirement, so I think this is not a desired/expected behavior.
This could be fixed by adding matplotlib to the requirements of the stockpile plugin.

Possible duplicates in abilities

We have two "Start 54ndc47 (WMI)" abilities (1 and 2)
I think the first can be removed because it looks like the second and no usage in any adversary

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.