---
title: "Ko Google vidi nekaj drugega kot ti: napreden WordPress cloaking z IP-preverjanjem Googlebota"
url: "https://helloblog.io/sl/wordpress-cloaking-googlebot-ip-preverjanje/"
date: "2026-01-13"
modified: "2026-01-20"
author: "Luka Horvat"
language: "sl_SI"
categories: ["Varnost"]
tags: ["Googlebot", "incident-response", "malware", "SEO", "WordPress"]
featured_image: "https://helloblog.io/app/uploads/sites/17/2026/01/featured-3-1024x572.jpg"
excerpt: "Če se v iskalniku na tvoji domeni začnejo pojavljati spam strani, na frontendu pa je vse videti normalno, ne gre nujno za \"klasičen\" redirect. V zadnjem času se širi bolj selektiven pristop: zlonamerna koda prepozna prave Google crawlerje in jim servira drugo vsebino kot uporabnikom."
---

# Ko Google vidi nekaj drugega kot ti: napreden WordPress cloaking z IP-preverjanjem Googlebota

V WordPress svetu smo že vajeni zlorab tipa *SEO spam*, preusmeritev in klasičnega “cloakinga” (prikaz različne vsebine botom in ljudem). Zanimiv (in precej nevaren) zasuk pa je, ko napadalec ne računa več na grobo filtriranje po `User-Agent`, ampak poskuša z visoko natančnostjo preveriti, ali je obiskovalec res del Googlove infrastrukture. Rezultat: lastnik spletne strani pri ročnem preverjanju ne vidi ničesar sumljivega, Google pa indeksira čisto drugo vsebino.

## Kaj je bilo kompromitirano: index.php kot “vratar”

V analiziranem primeru je bila zlonamerna logika vstavljena neposredno v glavni `index.php` WordPress strani. To je strateška točka: `index.php` je vstopna datoteka, prek katere WordPress v običajnem primeru naloži okolje (bootstrap) in nato izriše stran. Če napadalec prevzame nadzor tukaj, lahko pred normalnim nalaganjem WordPressa odloči, ali bo obiskovalec videl legitimno stran ali pa bo dobil vbrizgano oddaljeno vsebino.

## Zakaj je ta cloaking drugačen od večine

Klasični cloaking se pogosto zanaša na preprost `User-Agent` filter: če niz vsebuje “Googlebot”, bot dobi spam vsebino. Težava za napadalca je, da je `User-Agent` trivialno ponarediti, zato takšne kampanje relativno hitro odkrijemo z ročnim testiranjem ali z osnovnimi skenerji.

Tukaj pa je bila uporabljena bolj “inženirska” varovalka: skripta je imela hardkodiran nabor Googlovih ASN (Autonomous System Number) IP-rangeov v CIDR zapisu in je obiskovalčev IP preverjala matematično, z bitnimi (bitwise) operacijami. Poleg IPv4 je imela tudi solidno podporo za IPv6, kar je pri starejših cloaking skriptah pogosto spregledano.

![Diagram IP-preverjene pogojne logike za prikaz različne vsebine Googlebotu in uporabnikom](https://helloblog.io/app/uploads/sites/17/2026/01/IP-Verified-Conditional-Logic.png)

*Napad je zasnovan tako, da se zlonamerna vsebina prikaže le, če je obiskovalec potrjen kot Google infrastruktura. — *Forrás: Sucuri Blog**

## Hitri pojmi: ASN in CIDR (v kontekstu napada)

### ASN (Autonomous System Number)

ASN si lahko predstavljaš kot identiteto omrežja na internetu: številka, ki predstavlja večji blok IP naslovov in usmerjevalno politiko organizacije (npr. Google). Če promet prihaja iz IP prostora, ki pripada Googlovim ASN-jem, je bistveno bolj verjetno, da gre za “pravi” Googlebot (oziroma Googlov crawler iz njihove infrastrukture), ne samo za ponarejen `User-Agent`.

### CIDR zapis

CIDR (Classless Inter-Domain Routing) je kratek zapis IP obsegov, npr. `192.168.1.0/24`, ki opiše blok naslovov z omrežnim prefiksom. Namesto naštevanja vsakega IP-ja posebej lahko z enim zapisom definiraš celoten range.

```
192.168.1.0/24
# pomeni IP-je od 192.168.1.0 do 192.168.1.255
```

![Ilustracija CIDR zapisa in pripadajočega IP obsega](https://helloblog.io/app/uploads/sites/17/2026/01/CIDR-format.png)

**Forrás: Sucuri Blog**

## Kako napad deluje v praksi (po fazah)

Vstavljena koda deluje kot selektivni proxy: najprej ugotovi identiteto obiskovalca, nato se odloči, ali bo WordPress normalno nadaljeval ali pa bo stran naložila vsebino iz oddaljenega vira in jo prikazala kot da je lokalna.

### 1) Večplastna identifikacija: User-Agent + IP preverjanje

Najprej se skripta loti “hitrega” filtra prek `HTTP_USER_AGENT` (User-Agent je identifikacijski niz, ki ga brskalnik ali bot pošlje ob vsaki zahtevi). Ker je to mogoče ponarediti, sledi drugi korak: preverjanje, ali IP res spada v Googlov ASN range.

![Shema večplastnega preverjanja identitete obiskovalca (User-Agent in IP range)](https://helloblog.io/app/uploads/sites/17/2026/01/Multi-Layer-Identity-Verification.png)

**Forrás: Sucuri Blog**

### 2) Validacija IP-rangea z bitnimi operacijami

Namesto preprostega primerjanja nizov skripta pretvori IP in omrežje v numerično obliko in z netmasko preveri ujemanje z omrežnim blokom. Bistvo je v logiki: “ali IP po maskiranju pade v isti network kot definiran range”.

```
// Konceptualni izsek iz opisa tehnike: preverjanje ujemanja z omrežjem
($ip_decimal & $netmask_decimal) == ($range_decimal & $netmask_decimal);
```

![Prikaz bitnega (bitwise) preverjanja, ali IP spada v določen CIDR range](https://helloblog.io/app/uploads/sites/17/2026/01/Bitwise-IP-Range-Validation.png)

**Forrás: Sucuri Blog**

### 3) Oddaljen payload prek cURL (remote content injection)

Ko je obiskovalec potrjen kot legitimen Google crawler, koda prek cURL potegne vsebino z zunanje lokacije in jo izpiše v response. V opisanem primeru je bil uporabljen domena/host: `hxxps://amp-samaresmanor[.]pages[.]dev` (zapis z oklepaji je namenjen varnemu navajanju zlonamernih domen).

![Shema nalaganja oddaljene vsebine prek cURL in izpisa v response](https://helloblog.io/app/uploads/sites/17/2026/01/Remote-Payload-Execution-via-cURL.png)

**Forrás: Sucuri Blog**

### 4) Širok nabor User-Agent nizov (ne samo “Googlebot”)

Napadalec ni ciljal le na osnovni “Googlebot” podpis. Skripta je filtrirala tudi nize, povezane z Google orodji za verifikacijo, inspeksijo in različnimi crawlerji/API klienti. S tem poveča verjetnost, da bo spam vsebina ne samo indeksirana, ampak tudi uspešno prestala različne Google procese preverjanja.

![Primer filtriranja User-Agent nizov za Google bot ekosistem](https://helloblog.io/app/uploads/sites/17/2026/01/User-Agent-Filtering.png)

**Forrás: Sucuri Blog**

### 5) Pogojna logika + logging: skrito, a nadzorovano

Najbolj zlovešče je, da napadalec očitno skrbi za “kakovost” napada: v primeru napake pri nalaganju oddaljene vsebine bot preusmeri (npr. na `/home/`), da Google ne vidi pokvarjene strani. Če nekdo ponareja Googlebot `User-Agent`, a IP ne ustreza, skripta zabeleži dogodek (“Fake GoogleBot”) in uporabnika preusmeri na legitimno domačo stran. Običajni obiskovalci so praviloma takoj preusmerjeni na normalno vsebino, zato lastnik pogosto ničesar ne opazi.

![Diagram odločanja: legitimen bot dobi zlonamerno vsebino, lažni bot in uporabnik dobita legitimno stran](https://helloblog.io/app/uploads/sites/17/2026/01/Conditional-Logic-and-Error-Logging.png)

**Forrás: Sucuri Blog**

## Vloga WordPress core datotek: wp-load.php in wp-blog-header.php

Da stran za ljudi deluje normalno, napadalec pogosto pusti, da se WordPress vseeno “bootstrapa”. V opisanem primeru je zlonamerna koda klicala `wp-load.php` (ta naloži konfiguracijo in pripravi WordPress okolje, vključno z dostopom do baze). V običajnem toku `index.php` na koncu naloži še `wp-blog-header.php`, ki izvede glavni WordPress request lifecycle. Vse to napadalcu omogoča, da zlonamerno logiko elegantno vključi, brez da bi takoj podrl spletno mesto.

```
// Tipičen bootstrap v WordPress kontekstu
require_once __DIR__ . '/wp-load.php';
// ... in v standardnem index.php še wp-blog-header.php (odvisno od implementacije)
```

## Posledice: predvsem SEO in reputacija domene

Ta tip okužbe je bolj “tiha” kot klasični deface ali masovni redirect. Glavni udarec je na SEO in zaupanje v domeno: Google indeksira vsebino, ki je ti ne vidiš, kar lahko vodi v odstranjevanje iz indeksa (deindexing), blacklisting, degradacijo rezultatov in dolgotrajne težave z reputacijo. Ker je payload oddaljen, lahko napadalec vsebino menja brez dodatnih sprememb na tvojem strežniku.

![Primer: Google vidi spam vsebino, uporabniki pa še vedno originalno spletno stran](https://helloblog.io/app/uploads/sites/17/2026/01/What-Google-sees.png)

*Tipičen simptom cloakinga: SERP in cache/preview kažeta nekaj drugega kot ročni obisk. — *Forrás: Sucuri Blog**

## Znaki, da imaš podoben problem

- V Google rezultatih (SERP) se pojavljajo čudni naslovi/odlomki, ki nimajo veze s tvojo vsebino.
- Nepričakovane ali nedavne spremembe v core datotekah (še posebej `index.php`).
- Sumljivi URL-ji ali strani, ki obstajajo v indeksu, na strani pa jih ne najdeš.
- Nenavadni log zapisi (preusmeritve, cURL klici, dostopi do index.php) ali spremembe časov zadnje modifikacije datotek.

#### Pomembno

Ker napad cilja predvsem crawlerje, ga z običajnim brskanjem pogosto ne boš reproduciral. Pri diagnostiki ima veliko težo pregled indeksiranih URL-jev in podatkov v Google Search Console.

## Kaj narediti ob sanaciji (remediation)

Pri takem incidentu imaš praviloma dve nalogi: odstraniti zlonamerno logiko in zapreti vstopno točko, da se kompromis ne ponovi. Sucuri v priporočilih izpostavlja klasične korake, ki v praksi še vedno največkrat rešijo situacijo.

1. Odstrani neznane datoteke in direktorije: vse, česar nisi namestil ti ali tvoj razvijalec (posebej v rootu in v `wp-includes`/`wp-admin`/mu-plugins).
2. Preveri uporabnike: odstrani sumljive administratorje in “pomožne” račune, ki niso dokumentirani.
3. Resetiraj poverilnice: WordPress admin, FTP/SFTP, hosting panel, baze (DB) in po potrebi SSH ključe.
4. Skeniraj lokalni računalnik: če je kompromitiran tvoj dev stroj, se bodo poverilnice hitro spet zlorabile.
5. Posodobi vse: WordPress core, teme in vtičnike; odstrani neuporabljene komponente.
6. Uporabi WAF (Web Application Firewall): WAF lahko blokira znane zlonamerne zahteve in komunikacijo s C2/payload strežniki ter oteži začetni upload zlonamernega koda.

## Preventiva, ki se pri core-file napadih najbolj obnese

Ker je bil napad v core vstopni točki (`index.php`), je zelo smiselno imeti mehanizem, ki takšne spremembe hitro zazna. V praksi so najbolj uporabne naslednje navade:

- File Integrity Monitoring (FIM): spremljanje sprememb kritičnih datotek (npr. `index.php`, `wp-config.php`).
- Reden pregled Google Search Console: nenadni “Coverage” problemi, čudni URL-ji ali ročni ukrepi so pogosto prvi signal.
- Minimalen napadalni površinski sloj: manj vtičnikov, odstranitev opuščenih/neudrževanih komponent, strožji access control.
- Logiranje in alerting na nivoju hostinga/WAF: posebno za nenavadne requeste na root `index.php` in outbound HTTP klice iz PHP-ja.

## Reference / Viri

- [Malware Intercepts Googlebot via IP-Verified Conditional Logic](https://blog.sucuri.net/2026/01/malware-intercepts-googlebot-via-ip-verified-conditional-logic.html)
- [Google Sees Spam, You See Your Site: A Cloaked SEO Spam Attack](https://blog.sucuri.net/2026/01/google-sees-spam-you-see-your-site-a-cloaked-seo-spam-attack.html)
- [VirusTotal URL report](https://www.virustotal.com/gui/url/5a006beedf563c6215a31746d011d13fd4f2561a1bf3b557484c4532b13e1ec6?nocache=1)
- [publicwww results for amp-samaresmanor.pages](https://publicwww.com/websites/amp-samaresmanor.pages/)
