confirmed host

IP address 45.139.104.180

PureRATremote-access trojan controller · :55005, :443

On AS399979. Its certificate is shared with 2 other hosts.

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. A shared value says the hosts were set up alike, not that one operator runs them.

SharedValueOther hosts
TLS certificate88cc822004271b517410718f9352af88d65feb760a8f5d5fa53a4847b2c0ef0a2 other hosts · 2 listed
JA4X template0b479b1b5763_0b479b1b5763_e9d2b55797df166 other hosts · 166 listed

Not shared with any other host in this archive: 1 file.

Network context

SharedValueOther hosts
/2445.139.104.0/247 other hosts · 7 listed
NetworkAS399979 · 49.3 Networking7 other hosts · 7 listed

Hosts near this one, for context only.

Summary

First seen by the scanner2026-09-30
Ports2 · 2 listed
Evidence1 certificate

Ports

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

PortFirst seenLast confirmedStatusTLS certificateJA4XFile
:55005listed
:443 · HTTPSlisted88cc822004270b479b1b5763_0b479b1b5763_e9d2b55797df2c74ba44dc81

Observation history

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

  1. listed
  2. :55005
  3. :443

2026-08-292026-10-30

  • first seen to last confirmed

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-09-30 – 2026-10-30 (31 days)

Evidence

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

TLS certificate 88cc82200427

On :443.

cert subjectapi.purecoder.io
cert subject orgPureCrack
cert issuerapi.purecoder.io
cert issuer orgPureCrack
cert validity2026-06-22 → 2036-06-20
cert typeself-signed
cert key2048-bit
cert serial (hex)a199303e39d2c1d4
cert serial (decimal)11644391355359347156
cert names*.purecoder.io api.purecoder.io api1.purecoder.io api2.purecoder.io

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

File 2c74ba44dc81

On :443.

file sha-2562c74ba44dc813b391adde47e8de9da92ee01e3989666a6d387d0b3ecf699a556

The hash of the file this listener served when scanned. A host can change what it serves. Only the response’s Content-Type claimed a download; no executable magic bytes were seen, so the file type is unverified.

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
networkAS399979 · 49.3 Networking
confidence100 / 100

45.139.104.180:55005 · PureRAT

listed

45.139.104.180:443 · PureRAT

listed · certificate 88cc82200427 · file 2c74ba44dc81

observed hostapi.purecoder.io

Hosts sharing a value with this one

166 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 PureRAT, as this one is.

AddressSharesLast confirmedStatus
TLS certificate · 2 other hosts · 2 listed

These hosts presented the same certificate. Leaked or resold profiles reuse certificates, so this is not evidence of a single operator.

45.139.104.232certificate · JA4X templatelisted
45.139.104.204certificate · JA4X templatelisted
JA4X template · 166 other hosts · 166 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 126 are past the 40 hosts shown.

217.60.195.157JA4X templatelisted
70.36.127.51JA4X templatelisted
91.92.41.92JA4X templatelisted
85.17.92.21JA4X templatelisted
70.36.127.16JA4X templatelisted
66.235.174.79JA4X templatelisted
64.224.17.22JA4X templatelisted
52.197.194.156JA4X templatelisted
46.151.182.67JA4X templatelisted
45.88.91.165JA4X templatelisted
45.139.104.29JA4X templatelisted
45.139.104.199JA4X templatelisted
40.223.85.181JA4X templatelisted
40.223.85.146JA4X templatelisted
31.56.209.55JA4X templatelisted
31.56.209.139JA4X templatelisted
24.152.36.31JA4X templatelisted
23.227.202.127JA4X templatelisted
217.60.195.25JA4X templatelisted
193.142.146.172JA4X templatelisted
185.233.164.109JA4X templatelisted
185.101.104.85JA4X templatelisted
185.127.94.179JA4X templatelisted
172.93.110.43JA4X templatelisted
160.119.76.118JA4X templatelisted
15.235.148.248JA4X templatelisted
139.64.172.10JA4X templatelisted
135.136.148.30JA4X templatelisted
130.12.182.209JA4X templatelisted
5.253.86.251JA4X templatelisted
66.94.113.10JA4X templatelisted
157.230.85.57JA4X templatelisted
98.89.43.158JA4X templatelisted
31.76.125.15JA4X templatelisted
80.76.49.48JA4X templatelisted
103.38.236.70JA4X templatelisted
91.92.41.151JA4X templatelisted
167.148.41.45JA4X templatelisted

Neighbourhood · 45.139.104.0/24 · 7 other hosts

7 other hosts in this archive are in the same /24, shown for context.

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 == "45.139.104.180" and RemotePort in (443, 55005))
DeviceFileEvents
| where Timestamp > ago(30d)
| where SHA256 in ("2c74ba44dc813b391adde47e8de9da92ee01e3989666a6d387d0b3ecf699a556")
Microsoft Sentinel (KQL)
CommonSecurityLog
| where TimeGenerated > ago(30d)
| where (DestinationIP == "45.139.104.180" and DestinationPort in (443, 55005))
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="45.139.104.180" (All_Traffic.dest_port=443 OR All_Traffic.dest_port=55005)))
    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="2c74ba44dc813b391adde47e8de9da92ee01e3989666a6d387d0b3ecf699a556")
    by Filesystem.dest Filesystem.file_path Filesystem.file_hash
Elastic (EQL)
network where
  (destination.ip == "45.139.104.180" and destination.port in (443, 55005))
file where file.hash.sha256 in ("2c74ba44dc813b391adde47e8de9da92ee01e3989666a6d387d0b3ecf699a556")

Cite this record

Plain text, for a ticket or a report
Address 45.139.104.180 Family PureRAT (remote-access trojan controller) Ports :443, :55005 Status listed (feed checked 2026-10-30 18:37 UTC) First seen 2026-09-30 Last confirmed 2026-10-30 Record https://publicmosaic.com/ip/45.139.104.180 Source Public Mosaic, TLP:CLEAR