
analysis status, C2 communication countries, threat
type, severity and much more data related to uploaded
file. After saving the .pcap file, the API generates the
SHA256 hash value of the file and sends it to Rab-
bitMQ as a message. This message serves as a no-
tification to the core model that a new .pcap file is
available for analysis.
Figure 10: End-to-End Working.
Step-4: Core (Watcher Module) Reads the
SHA256 from RabbitMQ – The watcher module is a
separate application or process that runs in the back-
ground, continuously listening to the RabbitMQ mes-
sage queue for new tasks.
Step-5: Core (Watcher Module) Picks the .pcap
File for Analyis – Upon receiving a new message
containing the SHA256 hash value, the watcher mod-
ule retrieves the corresponding .pcap file from the
shared directory by matching the hash values and pass
on to Scapy for threat categorization.
Step-6: Core Engine Analyzes the .pcap File
for Threat Categorization – All necessary checks
for validating the .pcap are done first, after valida-
tion, the .pcap is loaded with Scapy. Scapy runs first
in stream mode to extract all the stream HTTP arti-
facts. Scapy then runs in packet capture mode to ex-
tract UDP artifacts. Once extracted, all component
results are stored in their respective json. The rule en-
gine is now invoked by the watcher. Rule engine then
parses all the available rules and runs them over the
generated json artifacts. Results are aggregated and is
given to aggregator which returns back with the valid
threat family formulated by the rules. The analysis re-
sults are formatted as a JSON object that contains the
.pcap file SHA256, the threat type, MITRE ATT&CK
technique, and any other relevant information such as
the severity score, the analyzed time, and so on.
Step-7: Core Engine Submits the JSON Object
to the API as Well as Status – Once the analysis
is complete, the core engine sends the JSON object
containing the analysis results to the API through a
RESTful endpoint.
Step-8: The API saves the JSON object in a
SQLLite database table for later retrieval based on
SHA256 of uploaded file.
Step-9: UI Fetches the Analysis Results from
the API and Displays the Results to the User – The
UI retrieves the analysis results from the API through
a RESTful endpoint by passing SHA256 of file. The
UI parses the JSON object and displays the analysis
results to the user in a user-friendly format, such as a
table or a chart. The user can interact with the UI to
view the analysis results of different .pcap files, filter
the results based on different criteria, or export the
results to a PDF file and view measurements.
4 RELATED WORK AND
EXISTING TECHNOLOGIES
There are several existing technologies and tools in
the field of threat categorization, such as Snort (Snort,
2023), Suricata (Suricata, 2023), and Bro (Zeek,
2023). Snort is a widely-used intrusion detection sys-
tem (IDS) that can categorize network threats based
on pre-defined rules. Similarly, Suricata is an open-
source IDS and Intrusion Prevention System (IPS)
that uses signature-based detection to categorize net-
work threats. Bro is another open-source network se-
curity monitoring tool that can detect and categorize
network threats.
However, these traditional methods of threat cate-
gorization have some limitations when it comes to de-
tecting and categorizing Command-and-Control (C2)
communication patterns used by attackers to control
infected hosts and steal sensitive information. This is
where ArkThor comes in, as it is specifically designed
to identify and categorize C2 communication patterns
in live stream or archived .pcap files.
In addition to traditional IDS and IPS tools, there
are also machine learning-based solutions that can be
used for threat categorization. For example, there are
several research papers that propose the use of ma-
chine learning algorithms for categorizing network
threats. These algorithms can learn from previous
data and identify patterns in network traffic to detect
and categorize threats. However, machine learning-
based solutions can also have some limitations, such
as requiring a large amount of training data and being
vulnerable to adversarial attacks. This is why Ark-
Thor combines traditional rule-based detection meth-
ods with the flexibility of machine learning-based so-
lutions, creating a powerful and accurate threat cate-
gorization engine.
Moreover, containerization is a key feature of
ArkThor that provides significant benefits for organi-
zations of all sizes. By containerizing all components
of the tool, including the user interface, APIs, core
engine, and RabbitMQ, ArkThor becomes easy to de-
ploy and use in any organization, regardless of their
ArkThor: Threat Categorization Based on Malware’s C2 Communication
209