Skip to content

Cy cat#1479#2328

Merged
mlodic merged 9 commits intointelowlproject:developfrom
g4ze:CyCat#1479
May 20, 2024
Merged

Cy cat#1479#2328
mlodic merged 9 commits intointelowlproject:developfrom
g4ze:CyCat#1479

Conversation

@g4ze
Copy link
Member

@g4ze g4ze commented May 20, 2024

closes #1479

Description

add cycat

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist

  • I have read and understood the rules about how to Contribute to this project
  • The pull request is for the branch develop
  • A new plugin (analyzer, connector, visualizer, playbook, pivot or ingestor) was added or changed, in which case:
    • I strictly followed the documentation "How to create a Plugin"
    • Usage file was updated.
    • Advanced-Usage was updated (in case the plugin provides additional optional configuration).
    • If the plugin requires mocked testing, _monkeypatch() was used in its class to apply the necessary decorators.
    • I have dumped the configuration from Django Admin using the dumpplugin command and added it in the project as a data migration. ("How to share a plugin with the community")
    • If a File analyzer was added and it supports a mimetype which is not already supported, you added a sample of that type inside the archive test_files.zip and you added the default tests for that mimetype in test_classes.py.
    • If you created a new analyzer and it is free (does not require API keys), please add it in the FREE_TO_USE_ANALYZERS playbook by following this guide.
    • Check if it could make sense to add that analyzer/connector to other freely available playbooks.
    • I have provided the resulting raw JSON of a finished analysis and a screenshot of the results.
    • I have added that raw JSON sample to the MockUpResponse of the _monkeypatch() method. This serves us to provide a valid sample for testing.
  • If external libraries/packages with restrictive licenses were used, they were added in the Legal Notice section.
  • Linters (Black, Flake, Isort) gave 0 errors. If you have correctly installed pre-commit, it does these checks and adjustments on your behalf.
  • I have added tests for the feature/bug I solved (see tests folder). All the tests (new and old ones) gave 0 errors.
  • If changes were made to an existing model/serializer/view, the docs were updated and regenerated (check CONTRIBUTE.md).
  • If the GUI has been modified:
    • I have a provided a screenshot of the result in the PR.
    • I have created new frontend tests for the new component or updated existing ones.
  • After you had submitted the PR, if DeepSource, Django Doctors or other third-party linters have triggered any alerts during the CI checks, I have solved those alerts.

Important Rules

  • If you miss to compile the Checklist properly, your PR won't be reviewed by the maintainers.
  • Everytime you make changes to the PR and you think the work is done, you should explicitly ask for a review. After being reviewed and received a "change request", you should explicitly ask for a review again once you have made the requested changes.
    image
    {
    "description": """Detects Execution via
    SyncInvoke in CL_Invocation.ps1 module""",
    "raw": """
    author: oscd.community, Natalia Shornikova
    date: 2020/10/14
    description: Detects Execution via
    SyncInvoke in CL_Invocation.ps1 module
    detection:
    condition: selection
    selection:
    EventID: 4104
    ScriptBlockText|contains|all:
    - CL_Invocation.ps1
    - SyncInvoke
    falsepositives:
    - Unknown
    id: 4cd29327-685a-460e-9dac-c3ab96e549dc
    level: high
    logsource:
    product: windows
    service: powershell
    modified: 2021/05/21
    references:
    - https://twitter.com/bohops/status/948061991012327424
    status: experimental
    tags:
    - attack.defense_evasion
    - attack.t1216
    title: Execution via CL_Invocation.ps1
    """,
    "sigma:id": "4cd29327-685a-460e-9dac-c3ab96e549dc",
    "title": "Execution via CL_Invocation.ps1",
    "_cycat_type": "Item",
    },

@g4ze
Copy link
Member Author

g4ze commented May 20, 2024

@mlodic kindly check the wrapper.

@mlodic
Copy link
Member

mlodic commented May 20, 2024

lgtm

@g4ze
Copy link
Member Author

g4ze commented May 20, 2024

TLP amber?

@g4ze
Copy link
Member Author

g4ze commented May 20, 2024

I think we are gtg here.

@g4ze g4ze requested a review from mlodic May 20, 2024 15:24
"base_path": "api_app.analyzers_manager.observable_analyzers",
},
"name": "CyCat",
"description": "[CyCat](https://cycat.org/) or the CYbersecurity Resource CATalogue aims at mapping and documenting, in a single formalism and catalogue available cybersecurity tools, rules, playbooks, processes and controls.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"description": "[CyCat](https://cycat.org/) or the CYbersecurity Resource CATalogue aims at mapping and documenting, in a single formalism and catalogue available cybersecurity tools, rules, playbooks, processes and controls.",
"description": "[CyCat](https://cycat.org/) or the CYbersecurity Resource CATalogue aims at mapping and documenting, in a single formalism and catalogue available cybersecurity tools, rules, playbooks, processes and controls.",

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:P

url: str = "https://api.cycat.org"

def uuid_lookup(self, uuid: str):
logger.info(f"performing lookup on uuid: {uuid}")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding the observable name in this log can help future debugging

"requests.get",
return_value=MockUpResponse(
[
"24bfaeba-cb0d-4525-b3dc-507c77ecec41",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure this is the expected response. I would have expected data, like the one here: https://cycat.org/services/#fetch-item-by-uuid

UUID are useless as an output so I would have expected to get the data for the UUID. Your analyzer seems right to me so I don't understand why you get this result. can you please try again?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes sure, makes sense.

@g4ze g4ze requested a review from mlodic May 20, 2024 16:20
@mlodic mlodic merged commit db6eb02 into intelowlproject:develop May 20, 2024
mlodic added a commit that referenced this pull request May 21, 2024
* updated yeti analyzer and connector to support new major

* updated default pycti version

* fixed MaxMind data extraction for the country flag

* Fix pivot + file

Signed-off-by: 0ssigeno <[email protected]>

* healthcheck available for Plugins with `url` option by default (#2320)

* healthcheck available for Plugins with `url` option

* doc

* fix

* Bump quark-engine from 24.4.1 to 24.5.1 in /requirements (#2313)

Bumps [quark-engine](https://github.com/quark-engine/quark-engine) from 24.4.1 to 24.5.1.
- [Release notes](https://github.com/quark-engine/quark-engine/releases)
- [Commits](ev-flow/quark-engine@v24.4.1...v24.5.1)

---
updated-dependencies:
- dependency-name: quark-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jsonschema from 4.21.1 to 4.22.0 in /requirements (#2311)

Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.21.1 to 4.22.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](python-jsonschema/jsonschema@v4.21.1...v4.22.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump docutils from 0.20.1 to 0.21.2 in /requirements (#2312)

Bumps [docutils](https://docutils.sourceforge.io) from 0.20.1 to 0.21.2.

---
updated-dependencies:
- dependency-name: docutils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Revert "Bump docutils from 0.20.1 to 0.21.2 in /requirements (#2312)"

This reverts commit 9e5106e.

* prettier

* changes (#2322)

* Phoneinfoga analyzer adjustment (#2324)

* Phoneinfoga

Signed-off-by: 0ssigeno <[email protected]>

* Linters

Signed-off-by: 0ssigeno <[email protected]>

* adjusted phoneinfoga

* Update api_app/analyzers_manager/migrations/0088_phoneinfoga_parameters.py

---------

Signed-off-by: 0ssigeno <[email protected]>
Co-authored-by: Matteo Lodi <[email protected]>

* Fix serializer

Signed-off-by: 0ssigeno <[email protected]>

* Fix sender

Signed-off-by: 0ssigeno <[email protected]>

* pcap_analyzers adjusts + new playbook for PCAP files + upgraded Suricata to v7 (#2325)

* pcap_analyzers adjusts + new playbook for PCAP files + upgraded Suricata to v7

* adjusted hfinger

* adjust test

* adjust test and upgraded  watchman

* tests

* fix custom analysis (#2323)

* hudsonrock (#2327)

* hudsonrock

* tests

* test

* add params

* migration

* tests

* migration

* i always overlook this lol

* tlp  to amber

---------

Co-authored-by: g4ze <[email protected]>

* Update api_app/analyzers_manager/observable_analyzers/hudsonrock.py

Co-authored-by: code-review-doctor[bot] <72320148+code-review-doctor[bot]@users.noreply.github.com>

* black

* Fixes frontend regex (#2329)

* support phone numbers

* moved phone number validation to E.164 format

* removed dates from parsing as IP addresses

* prettier

* Cy cat#1479 (#2328)

* cycat

* cycat

* cycat wrapper done

* migration

* docs

* tests

* tests

---------

Co-authored-by: g4ze <[email protected]>

* updated changelog

* fix loading visualizer navbar (#2335)

* fix visualizer loading

* changes

* --- (#2332)

updated-dependencies:
- dependency-name: celery[redis,sqs]
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* --- (#2334)

updated-dependencies:
- dependency-name: intezer-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* --- (#2333)

updated-dependencies:
- dependency-name: docutils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Speed up (#2336)

Signed-off-by: 0ssigeno <[email protected]>

* Revert "--- (#2333)"

This reverts commit 12802eb.

---------

Signed-off-by: 0ssigeno <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Daniele Rosetti <[email protected]>
Co-authored-by: 0ssigeno <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martina Carella <[email protected]>
Co-authored-by: Simone Berni <[email protected]>
Co-authored-by: Nilay Gupta <[email protected]>
Co-authored-by: g4ze <[email protected]>
Co-authored-by: code-review-doctor[bot] <72320148+code-review-doctor[bot]@users.noreply.github.com>
Co-authored-by: Daniele Rosetti <[email protected]>
@g4ze g4ze linked an issue Jun 26, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Analyzer]CyCat

2 participants