~/portfolio / write-ups / itsybitsy
TryHackMe SIEM & Log Analysis Easy Apr '26

ItsyBitsy

Investigated a potential C2 communication alert in Elastic/Kibana using a week's worth of HTTP connection logs. Identified Bitsadmin as the LOtL binary used to reach out to Pastebin, retrieved the malicious URI, and recovered the staged secret file.

Easy
Difficulty
100%
Completion
TryHackMe
Platform
TOOLS USED
Kibana
Elastic SIEM
01

Scoping the Investigation

Kibana query setup with connection_logs index

we got the answer by filtering the date Absolute from Mar 1, 2022 @ 00:00:00.000 to Mar 31, 2022 @ 23:59:59.999

Kibana results showing total log count for the filtered period

the user Browne is the one suspected of having a potential C2 communication. to get his IP address, we just have to add the IP address field.

Kibana results with IP address field added showing two IPs for Browne

there's only 2 IP associated with Browne. the IP address 192.166.65.54 has only 2 logged entries, upon inspection it's using a different user_agent called bitsadmin. upon further research, this is a legitimate tool used by Administrator and often abused by attackers.

Answer: 192.166.65.54
02

C2 Tool, Destination, and File

Kibana log entry for 192.166.65.54 showing bitsadmin user agent

we already know this from the previous question since it was using Bitsadmin

Answer: Bitsadmin
Kibana log showing host field — Pastebin.com

checking at the host, it connected to Pastebin.com with a random string assigned for the uri.

Answer: Pastebin.com
Kibana log showing full URI /yTg0Ah6a

connecting the random uri string yTg0Ah6a

Answer: Pastebin.com/yTg0Ah6a
Pastebin page at yTg0Ah6a showing a text file called Secret.txt

going to the site, there is a text file called Secret.txt

Answer: Secret.txt
Secret.txt contents on Pastebin showing THM flag value

it contains a secret code

flag value confirmed
Key Takeaways
  • Bitsadmin running in a user context is an immediate red flag. that's not what it's there for
  • Pastebin works as a dead drop because it's not suspicious enough to get blocked by default. easy to stage something there and pull it down later
  • set the absolute time filter in Kibana first, before anything else. the logs don't mean much without it
  • the columns you add to your Kibana view actually matter. adding IP and user_agent cut down my read time a lot