confirmed host

IP address 149.104.31.151

Cobalt Strikecommand-and-control server · :50050, :9999

On AS139659.

listed last confirmed feed checked TLP:CLEAR Suricata rules Show in the live feed

Relations

Values this address shares with other hosts in this archive, rarest first, watermarks last. A shared value says the hosts were set up alike, not that one operator runs them.

SharedValueOther hosts
Issuance cohort2166164053c1_2166164053c1_30d204a01551_5aacc2522268_06e45b4dfbdd2 other hosts · 2 listed
JA4X template2166164053c1_2166164053c1_30d204a01551420 other hosts · 417 listed
Cobalt Strike watermark987654321166 other hosts · 166 listed

A Cobalt Strike watermark is a weak link: cracked and leaked builds share one.

Not shared with any other host in this archive: 1 server key, 1 certificate.

Network context

SharedValueOther hosts
NetworkAS139659 · LUCIDACLOUD44 other hosts · 44 listed

Hosts near this one, for context only.

Summary

First seen by the scanner2026-10-25
Ports2 · 2 listed
Evidence1 certificate · 1 beacon configuration · 1 file served
Look up elsewhereVirusTotal · Shodan · Censys

Ports

This address answered on 2 ports. First seen and last confirmed dates are per row, by UTC day.

PortFirst seenLast confirmedStatusTLS certificateJA4XConfiguration
:50050 · Cobalt Strike team-server defaultlisted50467ab810c32166164053c1_2166164053c1_30d204a01551
:9999listedbeacon

Observation history

Listed on 6 of the 63 days since this archive began recording, 2026-08-29 UTC.

  1. listed
  2. :50050
  3. :9999

2026-08-292026-10-30

  • first seen to last confirmed
  • listed after its last confirmation

A marked day is a UTC day the feed listed this address. The feed keeps a listener for up to 90 days after its last confirmation, so a listed day is not a confirmation. A listener no longer in the feed is drawn to its last confirmation.

Listed days as dates
  • 2026-10-25 – 2026-10-30 (6 days)

Evidence

Each certificate, configuration and file appears once, with the listeners that carried it.

TLS certificate 50467ab810c3

On :50050.

tls certificate50467ab810c39effb966af099f92eadb954e6dc1fe4ad2cdd60952b3ae766668
cert subjectPwn3rs Striked
cert subject orgPwn3rs
cert issuerPwn3rs Striked
cert issuer orgPwn3rs
cert validity2026-10-22 → 2027-01-20
cert typeself-signed
cert key3072-bit
cert serial (hex)dd1114096cfe76a4
cert serial (decimal)15929535387702032036

The names above are what the certificate claims, not proof that this host owns them. Treat a familiar name as a likely impersonation.

Beacon configuration

On :9999.

callback149.104.31.151 · same as this host
beacon port9999
beacon typeHTTP
cs versionCobalt Strike 4.9 (Sep 19, 2023)
getGET /updates.rss
postPOST /submit.php
user-agentMozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch; MALCJS)
sleep60s ±0%
watermark987654321
server key md596b93ba45cd58350e286de705e769bb3
inject stubae5afcfee8026674dc8f3b4f2da46c7f
spawn to x86%windir%\syswow64\rundll32.exe
spawn to x64%windir%\sysnative\rundll32.exe

Listeners

Each listener below shows its status and what sets it apart. Dates are in Ports; certificates, configurations and files in Evidence. Common to both listeners:

serviceip-port · tcp
networkAS139659 · LUCIDACLOUD
confidence100 / 100

149.104.31.151:50050 · Cobalt Strike

listed · certificate 50467ab810c3

149.104.31.151:9999 · Cobalt Strike

listed · beacon

Hosts sharing a value with this one

484 other hosts in this archive share at least one value with this one. Each is listed once, under its first shared value in Relations order. Dates and status are from the records that share a value. Showing the 40 that rank first. Every host shown is labelled Cobalt Strike, as this one is.

AddressSharesLast confirmedStatus
Issuance cohort · 2 other hosts · 2 listed

A shared value says the hosts were set up alike, not that one operator runs them.

20.109.163.207issuance cohort · JA4X template · watermarklisted
38.190.224.38issuance cohort · JA4X template · watermarklisted
JA4X template · 420 other hosts · 417 listed

These hosts’ certificates share one JA4X template, which points to the same certificate tooling. It is not evidence of a single operator.

Of these, 2 are listed under an earlier value and 380 are past the 40 hosts shown.

38.76.219.253JA4X templatelisted
101.200.193.211JA4X template · watermarklisted
8.163.59.20JA4X templatelisted
117.72.182.5JA4X templatelisted
192.252.185.78JA4X templatelisted
119.45.160.160JA4X template · watermarklisted
49.232.42.116JA4X templatelisted
156.239.252.191JA4X templatelisted
47.109.23.77JA4X templatelisted
113.250.188.15JA4X templatelisted
47.105.36.109JA4X templatelisted
85.175.101.203JA4X template · watermarklisted
47.251.177.187JA4X templatelisted
101.42.255.92JA4X templatelisted
8.152.212.104JA4X templatelisted
47.95.201.24JA4X templatelisted
154.12.86.154JA4X templatelisted
111.231.116.164JA4X template · watermarklisted
117.72.181.104JA4X templatelisted
60.247.206.23JA4X templatelisted
47.120.32.72JA4X templatelisted
117.72.242.9JA4X template · watermarklisted
43.108.51.124JA4X template · watermarklisted
222.255.215.42JA4X template · watermarklisted
116.198.233.179JA4X template · watermarklisted
82.156.219.31JA4X templatelisted
179.43.186.214JA4X template · watermarklisted
92.222.50.154JA4X templatelisted
85.121.5.211JA4X templatelisted
8.222.166.74JA4X templatelisted
64.177.112.233JA4X templatelisted
64.118.154.116JA4X templatelisted
54.164.24.73JA4X templatelisted
51.159.194.10JA4X templatelisted
47.97.206.32JA4X templatelisted
45.154.12.150JA4X templatelisted
43.138.225.166JA4X templatelisted
43.136.19.18JA4X templatelisted
Cobalt Strike watermark · 166 other hosts · 166 listed

The watermark identifies the Cobalt Strike licence a beacon was built with. Cracked and leaked builds share watermarks widely, so it is not evidence of a single operator.

Of these, 11 are listed under an earlier value and 155 are past the 40 hosts shown.

Samples served · 1 file

Files this address was seen serving, each identified by running or analysing it. A widely distributed file can reach unrelated hosts.

Every file here was served on :9999.

FileConfirmedFile last seen
5f751806aff547259667989b0c224aa3ab2ac659464304f68c6561a675c3ded8analysed

Deploy

Suricata rules and hunt queries for this address’s 2 listed listeners.

Suricata rules

Each query searches the last 30 days of your logs for connections to these listeners and for the 1 file this address served. Queries hold only addresses, ports and file hashes.

Microsoft Defender XDR (KQL)
DeviceNetworkEvents
| where Timestamp > ago(30d)
| where (RemoteIP == "149.104.31.151" and RemotePort in (9999, 50050))
DeviceFileEvents
| where Timestamp > ago(30d)
| where SHA256 in ("5f751806aff547259667989b0c224aa3ab2ac659464304f68c6561a675c3ded8")
Microsoft Sentinel (KQL)
CommonSecurityLog
| where TimeGenerated > ago(30d)
| where (DestinationIP == "149.104.31.151" and DestinationPort in (9999, 50050))
Splunk (SPL, CIM data models)
| tstats summariesonly=false count min(_time) as first_time max(_time) as last_time
    from datamodel=Network_Traffic where earliest=-30d
    ((All_Traffic.dest_ip="149.104.31.151" (All_Traffic.dest_port=9999 OR All_Traffic.dest_port=50050)))
    by All_Traffic.src_ip All_Traffic.dest_ip All_Traffic.dest_port
| tstats summariesonly=false count min(_time) as first_time max(_time) as last_time
    from datamodel=Endpoint.Filesystem where earliest=-30d
    (Filesystem.file_hash="5f751806aff547259667989b0c224aa3ab2ac659464304f68c6561a675c3ded8")
    by Filesystem.dest Filesystem.file_path Filesystem.file_hash
Elastic (EQL)
network where
  (destination.ip == "149.104.31.151" and destination.port in (9999, 50050))
file where file.hash.sha256 in ("5f751806aff547259667989b0c224aa3ab2ac659464304f68c6561a675c3ded8")

Cite this record

Plain text, for a ticket or a report
Address 149.104.31.151 Family Cobalt Strike (command-and-control server) Ports :9999, :50050 Status listed (feed checked 2026-10-30 18:37 UTC) First seen 2026-10-25 Last confirmed 2026-10-26 Record https://publicmosaic.com/ip/149.104.31.151 Source Public Mosaic, TLP:CLEAR