Security advisories

Network Infrastructure Abused in Ongoing Phishing Attacks

December 17, 2024 | 3 MINS READ

Speak With A Security Expert Now

TALK TO AN EXPERT

THE THREAT

In recent weeks, eSentire’s Threat Response Unit (TRU) has traced numerous email account compromise cases to infrastructure hosted on several related hosting providers. Due to ongoing abuse, we are recommending customers take action to restrict access to their network from this infrastructure.

What we’re doing about it

What you should do about it

Additional information

Email Account Compromise Activity

Recent investigations have identified threat actor-controlled IP addresses tied to two hosting providers:

  1. GLOBAL INTERNET SOLUTIONS, LLC (GIS aka GIR)
  2. GLOBAL CONNECTIVITY SOLUTIONS LLP (GCS)

In the past 30 days, IP addresses tied to both hosting providers accounted for 64% of User Account Compromise (UAC) detections across our customers that leverage eSentire’s log service for Microsoft Entra ID. TRU assesses with moderate confidence a subset of these connections are associated with Storm-1575, the group behind the DadSec Phishing-as-a-Service (PhaaS) operation. This operation has been rebranded as Phoenix and more recently Rockstar 2FA. This is an Adversary-in-the-Middle (AitM) phishing service that relays or proxies credentials from the user to a target service.

Links to Underground Activity

According to public business registries, GIS/GIR is registered in Russia and GCS in the United Kingdom. Both entities list the same Russian national as a person with significant control.

Figure 1 Websites for Global Internet Solutions (left) and Global Connectivity Solutions (right).
Figure 1 Websites for Global Internet Solutions (left) and Global Connectivity Solutions (right). 

TRU assesses these entities are tied to personas advertising Virtual Private Server (VPS) services on underground forums and Telegram, most recently under the FourVPS handle and hosted on 4vps[.]su (Figure 2).

Figure 2 FourVPS Telegram channel info.
Figure 2 FourVPS Telegram channel info.

The 4vps[.]su website lists Global Internet Solutions in the page footer (Figure 3) along with matching registration details. 

Figure 3 Company info found on 4vps[.]su
Figure 3 Company info found on 4vps[.]su 

WHOIS record details for 4vps[.]su list support@gir[.]network as the registrant contact (gir[.]network is the website for Global Internet Solutions). Additionally, pivoting on this email address leads to as207713[.]net (the ASN name tied to GIS/GIR). Historical WHOIS records reveal the website was registered by the same individual mentioned above prior to redaction in subsequent record updates.

Figure 4 as207713[.]net
Figure 4 as207713[.]net

TRU is also aware of public reporting tying this individual to past business ventures in underground communities. These hosting providers have permitted widespread abuse of their infrastructure in attacks and are actively advertised on underground forums leading us to recommend blocking their infrastructure.

Indicators of Compromise

ASN & IP Details

Name

ASN

Details and Assoc. Ranges

GLOBAL INTERNET SOLUTIONS LLC

AS207713

https://ipinfo.io/AS207713

GLOBAL CONNECTIVITY SOLUTIONS LLP

AS215540

https://ipinfo.io/AS215540

Observed Network Ranges in Customer Cases

92.118.112.0/24

89.23.107.0/24

89.185.80.0/24

83.217.11.0/24

5.181.3.0/24

212.18.104.0/24

193.233.48.0/24

194.87.71.0/24

194.87.31.0/24

185.247.184.0/24

185.161.251.0/24

185.143.223.0/24

147.45.178.0/24

2a05:541:116::/48

2a00:b703:fff2::/48

Attributes Found in Microsoft Entra ID Sign-In Logs Tied to UAC Activity

ASN ORG: global connectivity solutions llp OR global internet solutions llc

User Agent: axios/1.7.7 OR axios/1.7.8 OR axios/1.7.9

Application: OfficeHome

Advanced Hunting Query for Microsoft Defender and Sentinel

Note: Requires SigninLogs Table and covers user agents and applications observed.

let aadFunc = (tableName: string) {
    table(tableName)
    | where ResultType == 0 and AppDisplayName == ('OfficeHome')
    | where UserAgent contains 'axios'
    | limit 100
    | extend risks = todynamic(RiskEventTypes_V2)
    | extend risk = iif(isnull(risks) or array_length(risks) == 0, dynamic([null]), risks)
    | mv-expand risk
    | summarize first_time = min(TimeGenerated), last_time = max(TimeGenerated), 
    IPAddresses = make_list(IPAddress), risks = make_set(risk) 
    by UserPrincipalName,AppDisplayName,UserAgent
};
let aadSignin = aadFunc("SigninLogs");
let aadNonInt = aadFunc("AADNonInteractiveUserSignInLogs");
union aadSignin, aadNonInt

Example output:

View Most Recent Advisories