CobaltStrike C2 Server Detection (Splunk, QRadar, ArcSight, FireEye)
CobaltStrike’in ne olduğunu anlatmaya gerek duymuyorum. Tehdit aktörlerinin sıklıkla başvurduğu, RedTeam operasyonlarının da olmazsa…
CobaltStrike C2 Server Detection (Splunk, QRadar, ArcSight, FireEye)
CobaltStrike’in ne olduğunu anlatmaya gerek duymuyorum. Tehdit aktörlerinin sıklıkla başvurduğu, RedTeam operasyonlarının da olmazsa olmazlarından CobaltStrike’a yönelik bir detection yürüteceğiz ve SIEM ürünülerinize Alert Rule olarak ekleyerek nasıl avlanacağınızı anlatacağım.

Öncelikle çok kısa ‘ Cobalt Strike ‘ dan bahsetmek isterim. Hala daha belki bilmeyenler vardır. Olay 2017 yılına kadar uzanıyor. İlk olarak 2017 yılında Rusya Merkez Bankasına yapılan saldırı ile kendisiyle tanıştık ve haberdar olduk. Aynı yıl ve devamındaki 2018 yılında ise 240 bankaya daha benzer şekilde saldırılar düzenlendi. Bu saldırıların genelinde Post Explotation, Process Creation, Hijacking, Powershell istismarı gibi bir dizi TTP kullanıldığını görüyorduk.
Cobalt Strike hala günümüzde belli tehdit aktörleri tarafından kullanılıyor. Bu yazıda bende “pipes” olarak bildiğimiz boruları yani C2 serverlerle iletişim kuran pipes’leri hedef alan bir Sigma Rules sayesinde nasıl avlanacağınızı anlatacağım.
PiPe kısmını biraz özet geçmek istiyorum. Zira detayları merak eden varsa Şuradaki yazıyı okumanızı tavsiye ederim. Ancak yine de aslında direk tavsiyem önce o yazıyı okumanız.
Zira aşağıdaki kuralların nasıl çalıştığını ancak mantıken o zaman kavrayabilirsiniz. Çünkü bir dizi pipeNamed ‘a ait Rules çalıştıracaksınız, ne çalıştırdığınızı biliyorsanız sorun yok ama bilmiyorsanız bu oldukça fazla karmaşa ya da f/p üretecektir.
Splunk SIEM Alert Rule;
[CobaltStrike Named Pipe Patterns] alert.severity = 3 description = Detects the creation of a named pipe with a pattern found in CobaltStrike malleable C2 profiles (Rule ID: 85adeb13–4fc9–4e68–8a4a-c7cb2c336eb7) disabled = 1 is_scheduled = 1 is_visible = 1 dispatch.earliest_time = -60m@m dispatch.latest_time = now search = index= source=”WinEventLog:” AND ((((PipeName=”\DserNamePipe” OR PipeName=”\f4c3” OR PipeName=”\f53f” OR PipeName=”\fullduplex” OR PipeName=”\mojo.5688.8052.183894939787088877” OR PipeName=”\mojo.5688.8052.35780273329370473” OR PipeName=”\MsFteWds” OR PipeName=”\msrpc” OR PipeName=”\mypipe-f” OR PipeName=”\mypipe-h” OR PipeName=”\ntsvcs” OR PipeName=”\PGMessagePipe” OR PipeName=”\rpc_” OR PipeName=”\scerpc” OR PipeName=”\SearchTextHarvester” OR PipeName=”\spoolss” OR PipeName=”\win_svc” OR PipeName=”\win\msrpc_” OR PipeName=”\windows.update.manager” OR PipeName=”\wkssvc”) OR (PipeName=”\demoagent_11" OR PipeName=”\demoagent_22")) OR (PipeName=”\Winsock2\CatalogChangeListener-” AND PipeName=”-0,”)) AND NOT (PipeName=”\wkssvc” OR PipeName=”\spoolss” OR PipeName=”\scerpc” OR PipeName=”\ntsvcs” OR PipeName=”\SearchTextHarvester” OR PipeName=”\PGMessagePipe” OR PipeName=”\MsFteWds”)) alert.suppress = 0 alert.track = 1 actions = risk,notable action.risk = 1 action.risk.param._risk_object_type = user action.risk.param._risk_score = 75 action.correlationsearch = 0 action.correlationsearch.enabled = 1 action.notable.param.rule_title = CobaltStrike Named Pipe Patterns action.notable.param.rule_description = Detects the creation of a named pipe with a pattern found in CobaltStrike malleable C2 profiles (Rule ID: 85adeb13–4fc9–4e68–8a4a-c7cb2c336eb7) action.correlationsearch.label = CobaltStrike Named Pipe Patterns action.correlationsearch.annotations = {“mitre_attack”: [“T1055”]}
ArcSight SIEM Rule;
((((((((fileName STARTSWITH “\DserNamePipe” OR fileName STARTSWITH “\f4c3” OR fileName STARTSWITH “\f53f” OR fileName STARTSWITH “\fullduplex” OR fileName STARTSWITH “\mojo.5688.8052.183894939787088877” OR fileName STARTSWITH “\mojo.5688.8052.35780273329370473” OR fileName STARTSWITH “\MsFteWds” OR fileName STARTSWITH “\msrpc” OR fileName STARTSWITH “\mypipe-f” OR fileName STARTSWITH “\mypipe-h” OR fileName STARTSWITH “\ntsvcs” OR fileName STARTSWITH “\PGMessagePipe” OR fileName STARTSWITH “\rpc_” OR fileName STARTSWITH “\scerpc” OR fileName STARTSWITH “\SearchTextHarvester” OR fileName STARTSWITH “\spoolss” OR fileName STARTSWITH “\winsvc” OR fileName STARTSWITH “\win\msrpc” OR fileName STARTSWITH “\windows.update.manager” OR fileName STARTSWITH “\wkssvc”)) OR ((deviceCustomString6 STARTSWITH “\DserNamePipe” OR deviceCustomString6 STARTSWITH “\f4c3” OR deviceCustomString6 STARTSWITH “\f53f” OR deviceCustomString6 STARTSWITH “\fullduplex” OR deviceCustomString6 STARTSWITH “\mojo.5688.8052.183894939787088877” OR deviceCustomString6 STARTSWITH “\mojo.5688.8052.35780273329370473” OR deviceCustomString6 STARTSWITH “\MsFteWds” OR deviceCustomString6 STARTSWITH “\msrpc” OR deviceCustomString6 STARTSWITH “\mypipe-f” OR deviceCustomString6 STARTSWITH “\mypipe-h” OR deviceCustomString6 STARTSWITH “\ntsvcs” OR deviceCustomString6 STARTSWITH “\PGMessagePipe” OR deviceCustomString6 STARTSWITH “\rpc_” OR deviceCustomString6 STARTSWITH “\scerpc” OR deviceCustomString6 STARTSWITH “\SearchTextHarvester” OR deviceCustomString6 STARTSWITH “\spoolss” OR deviceCustomString6 STARTSWITH “\winsvc” OR deviceCustomString6 STARTSWITH “\win\msrpc” OR deviceCustomString6 STARTSWITH “\windows.update.manager” OR deviceCustomString6 STARTSWITH “\wkssvc”)) OR (fileName = “\demoagent_11” OR fileName = “\demoagent_22”) OR (deviceCustomString6 = “\demoagent_11” OR deviceCustomString6 = “\demoagent_22”)))) OR (((((fileName STARTSWITH “\Winsock2\CatalogChangeListener-”) OR (deviceCustomString6 STARTSWITH “\Winsock2\CatalogChangeListener-”))) AND (((fileName ENDSWITH “-0,”) OR (deviceCustomString6 ENDSWITH “-0,”))))))) AND NOT (((((((fileName = “\wkssvc” OR fileName = “\spoolss” OR fileName = “\scerpc” OR fileName = “\ntsvcs” OR fileName = “\SearchTextHarvester” OR fileName = “\PGMessagePipe” OR fileName = “\MsFteWds”) OR (deviceCustomString6 = “\wkssvc” OR deviceCustomString6 = “\spoolss” OR deviceCustomString6 = “\scerpc” OR deviceCustomString6 = “\ntsvcs” OR deviceCustomString6 = “\SearchTextHarvester” OR deviceCustomString6 = “\PGMessagePipe” OR deviceCustomString6 = “\MsFteWds”))))))))
QRadar SIEM Rule;
SELECT UTF8(payload) FROM events WHERE UTF8(payload) ILIKE ‘%12%’ AND (((“PipeName” ILIKE ‘\DserNamePipe%’ OR “PipeName” ILIKE ‘\f4c3%’ OR “PipeName” ILIKE ‘\f53f%’ OR “PipeName” ILIKE ‘\fullduplex%’ OR “PipeName” ILIKE ‘\mojo.5688.8052.183894939787088877%’ OR “PipeName” ILIKE ‘\mojo.5688.8052.35780273329370473%’ OR “PipeName” ILIKE ‘\MsFteWds%’ OR “PipeName” ILIKE ‘\msrpc%’ OR “PipeName” ILIKE ‘\mypipe-f%’ OR “PipeName” ILIKE ‘\mypipe-h%’ OR “PipeName” ILIKE ‘\ntsvcs%’ OR “PipeName” ILIKE ‘\PGMessagePipe%’ OR “PipeName” ILIKE ‘\rpc_%’ OR “PipeName” ILIKE ‘\scerpc%’ OR “PipeName” ILIKE ‘\SearchTextHarvester%’ OR “PipeName” ILIKE ‘\spoolss%’ OR “PipeName” ILIKE ‘\winsvc%’ OR “PipeName” ILIKE ‘\win\msrpc%’ OR “PipeName” ILIKE ‘\windows.update.manager%’ OR “PipeName” ILIKE ‘\wkssvc%’) OR (“PipeName” = ‘\demoagent_11’ OR “PipeName” = ‘\demoagent_22’)) OR (“PipeName” ILIKE ‘\Winsock2\CatalogChangeListener-%’ AND “PipeName” ILIKE ‘%-0,’)) AND NOT ((“PipeName” = ‘\wkssvc’ OR “PipeName” = ‘\spoolss’ OR “PipeName” = ‘\scerpc’ OR “PipeName” = ‘\ntsvcs’ OR “PipeName” = ‘\SearchTextHarvester’ OR “PipeName” = ‘\PGMessagePipe’ OR “PipeName” = ‘\MsFteWds’))
FireEye Rule;
(metaclass:
windows((rawmsg:[‘\DserNamePipe’, ‘\f4c3’, ‘\f53f’, ‘\fullduplex’, ‘\mojo.5688.8052.183894939787088877’, ‘\mojo.5688.8052.35780273329370473’, ‘\MsFteWds’, ‘\msrpc’, ‘\mypipe-f’, ‘\mypipe-h’, ‘\ntsvcs’, ‘\PGMessagePipe’, ‘\rpc_’, ‘\scerpc’, ‘\SearchTextHarvester’, ‘\spoolss’, ‘\win_svc’, ‘\win\msrpc_’, ‘\windows.update.manager’, ‘\wkssvc’] OR rawmsg:[\demoagent_11,\demoagent_22]) OR (rawmsg:\Winsock2\CatalogChangeListener- rawmsg:-0,)) NOT rawmsg:[\wkssvc,\spoolss,\scerpc,\ntsvcs,\SearchTextHarvester,\PGMessagePipe,\MsFteWds])
İyi avlar.
메타데이터
- post_id
- 141e653abbe4
- slug
- cobaltstrike-c2-server-detection-splunk-qradar-arcsight-fireeye-141e653abbe4
- url
- https://medium.com/@onuroktay/cobaltstrike-c2-server-detection-splunk-qradar-arcsight-fireeye-141e653abbe4
- canonical_url
- https://medium.com/@onuroktay/cobaltstrike-c2-server-detection-splunk-qradar-arcsight-fireeye-141e653abbe4
- author_url
- https://medium.com/@onuroktay
- status
- ok
- fetched_at
- 2026-07-13 12:40:55