Zeek Intel Framework - TAXII autogen failing #714
Replies: 1 comment 16 replies
-
Here's how I'd debug.
$ docker compose exec zeek bash
$ cd /tmp
$ zeek_intel_from_threat_feed.py -vvv --since "1 week ago" --input-file /opt/zeek/share/zeek/site/intel/STIX/taxii.yaml -o /tmp/debugintel.zeek It will spit out a bunch of stuff like this:
Hopefully we could use some of that to get things figured out. You can tweak your I've found different TAXII clients/servers are not all the same when it comes to following the standard. Another thing I'd maybe try is fiddling with the URL in the
Maybe also try these permutations and see if it behaves differently. You're already specifying the
Best of luck, let me know what you see. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
We've tested OpenCTI presenting both authenticated and non-authenticate feeds to Malcolm using both methods outlined for TAXII feeds in the Malcolm documentation. In this case. we know Malcolm picks up STIX-formatted JSON files just fine and we observed Malcolm reaching out to our OpenCTI host and consuming a collection just fine. The odd part is no matter how we configure the TAXII feed (taxii.yaml file or the stix_input.txt method), while it pulls the JSON down from OpenCTI...nothing else happens and the .threat_autogen.zeek file is not updated. Where can we "debug" this further to understand how to get our internal OpenCTI host to provide Malcom STIX files?
I've pasted an example of the YAML file - we know that Malcolm obtains the JSON from that collection as we have the pcap...just doesn't do anything after that. The JSON file it pulls down passes JSON linting and has simple comparison IOCs.
- type: taxii version: 2.1 url: "http://1.2.3.4:8080/taxii2/root/collections/a81befa5-3c1b-4f20-8305-c51bb2634710/objects" collection: "a81befa5-3c1b-4f20-8305-c51bb2634710"
here is an example indicator from the above collection:
{ "id": "indicator--ddc5190a-6701-5de2-8537-f4e0e04a9611", "spec_version": "2.1", "type": "indicator", "extensions": { "extension-definition--ea279b3e-5c71-4632-ac08-831c66a786ba": { "extension_type": "property-extension", "id": "93df2e00-2f0e-4282-b82b-7da717e6ff4a", "type": "Indicator", "created_at": "2025-06-26T19:06:04.610Z", "updated_at": "2025-06-26T19:08:58.420Z", "is_inferred": false, "creator_ids": [ "88ec0c6a-13ce-5e39-b486-354fe4a7084f" ], "created_by_ref_id": "31225020-4a0d-4de0-84a9-040fb5832c5b", "detection": false, "score": 20, "main_observable_type": "Domain-Name", "observable_values": [ { "type": "Domain-Name", "value": "pouractionconforme.pro" } ] }, "extension-definition--322b8f77-262a-4cb8-a915-1e441e00329b": { "extension_type": "property-extension" } }, "created": "2025-06-26T19:05:05.933Z", "modified": "2025-06-26T19:08:58.420Z", "revoked": true, "confidence": 20, "lang": "en", "object_marking_refs": [ "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" ], "created_by_ref": "identity--85bcd2a1-e457-5ca1-a3b9-7659dfd0d91b", "name": "pouractionconforme.pro", "pattern": "[domain-name:value = 'pouractionconforme.pro']", "pattern_type": "stix", "pattern_version": "2.1", "valid_from": "2024-11-01T00:19:22.000Z", "valid_until": "2025-03-29T00:14:47.129Z" }
Beta Was this translation helpful? Give feedback.
All reactions