Tražilice su napravljene za indeksiranje sadržaja. Međutim, napadači ih koriste za indeksiranje vaših grešaka. Upit sav tekst:login tip datoteke:log može izgledati bezopasno. U stvarnosti, to je jedan od najjednostavnijih načina za otkrivanje izloženih datoteka zapisnika koje sadrže tokove autentifikacije, vjerodajnice, tokene i podatke o internoj infrastrukturi.
Ako Google može vidjeti te logove, mogu i napadači. Nakon indeksiranja, izloženost postaje neizbježna. Štaviše, kada se akreditivi pojave u javno dostupnoj datoteci, proboj je već u toku.
1. Zašto allintext:login filetype:log je opasniji nego što izgleda
Googleov "dork" je upit za pretraživanje koji koristi napredne operatore za lociranje osjetljivog ili pogrešno konfiguriranog sadržaja indeksiranog od strane pretraživača. Ne iskorištava Google. Umjesto toga, iskorištava vašu izloženost.
Ovaj upit kombinuje dva operatora:
- sav tekst: vraća stranice na kojima se svi pojmovi pojavljuju u glavnom tekstu
- tip datoteke:log ograničava rezultate na
.logdatoteke
Zbog toga:
Znači: "Prikaži mi datoteke zapisnika koje sadrže riječ login. "
Na prvi pogled, to izgleda trivijalno. Međutim, u praksi se često vraća:
- Javno izloženi zapisnici web servera
- CI/CD zapisnici postavljeni kao artefakti
- Slučajno greška u zapisnicima o debagiranju commitposlano u repozitorije
- Zapisnici aplikacije s vjerodajnicama u običnom tekstu
Ovo nije greška pretraživača. Umjesto toga, to je ranjivost izloženosti podataka uzrokovano pogrešnom konfiguracijom. Google je jednostavno indeksirao ono što je bilo javno dostupno.
2. Šta napadači zapravo pronalaze u izloženim log datotekama
Kada napadači pobjegnu sav tekst:login tip datoteke:log, oni ne pretražuju nasumično. Oni traže tragove autentifikacije.
2.1 Otvoreni tekstualni podaci
Dnevnici često sadrže unose kao što su:
or
Ili čak SMTP akreditacije:
Zapisivanje podataka o autentifikaciji jedan je od najbržih načina za curenje akreditiva za produkciju. Posljedično, jedna izložena datoteka dnevnika može poništiti cijeli vaš model kontrole pristupa.
2.2 Tokeni sesije i JWT-ovi
Čak i kada se lozinke ne zapisuju, tokeni se često zapisuju.
Na primjer:
Važeći JWT ili kolačić sesije unutar .log Datoteka može omogućiti:
- Otmica sesije
- Porast privilegija
- Lateralno kretanje kroz interne sisteme
Drugim riječima, tokeni u zapisnicima pretvaraju izlaz za otklanjanje grešaka u vektor za zaobilaženje autentifikacije.
2.3 CI/CD artefakti
Zapisnici o izgradnji su posebno opasni. U stvari, CI/CD Sistemi često ispisuju varijable okruženja tokom koraka izgradnje.
Napadači često otkrivaju:
Sadrži linije kao što su:
If CI/CD Ako su artefakti javni, onda su i tajne javne. Googleov štreber jednostavno ubrzava otkrivanje.
2.4 Podaci o oblaku i infrastrukturi
Izloženi zapisnici često otkrivaju:
- AWS pristupni ključevi
- Nizovi za povezivanje u Azure skladištu
- Interni URL-ovi usluga
- Akreditivi baze podataka
- Redis krajnje tačke
Čak i ako se akreditivi kasnije rotiraju, napadač sada posjeduje:
- Mapiranje infrastrukture
- Konvencije imenovanja
- Ciljajte obavještajne podatke za buduće napade
Stoga, izloženi logovi omogućavaju i pristup i izviđanje.
3. Kako ovi zapisnici uopće postaju javni
Zapisnici se ne pojavljuju magično u Googleu. Postaju indeksirani jer su bili javno dostupni.
3.1 Pogrešno konfigurirani web serveri
Uobičajeni obrasci uključuju:
/logs/direktoriji dostupni bez autentifikacije- Omogućen popis direktorija
- Nginx ili Apache poslužuju sirove podatke
.logdatoteke
Ako je zapisnik dostupan putem HTTP-a, on se može indeksirati.
3.2 CI/CD Izloženost artefakata
Tipične greške:
- Javni artefakti omogućeni u GitHub Akcije
- Zapisnici preneseni za otvaranje S3 kontejnera
- Pipeline tragovi dostupni bez autentifikacije
A pipeline koji pohranjuje logove u javnom spremniku efektivno objavljuje svoje tajne.
3.3 Režim otklanjanja grešaka u produkciji
Zadane postavke okvira mogu biti opasne:
Osim toga, prekomjerno evidentiranje zahtjeva može ispisati:
- zaglavlja
- tokeni
- Puna tijela zahtjeva
Zapisivanje debug-ova u produkciji transformiše vašu aplikaciju u izvoznik akreditiva.
3.4 Docker i kontejner logovi
Kontejnerizovana okruženja uvode nove puteve izloženosti:
- Zapisnici montirani u dijeljene volumene
- Izvoz logova na nezaštićene krajnje tačke pomoću sporednih uređaja
- Prijavite dashboards javnim pristupom
Ako su zapisnici kontejnera izloženi putem HTTP-a ili otvorene pohrane, mogu se pretraživati. Na kraju se indeksiraju.
4. Realističan tok napada: Od šmokljana do proboja
Tipičan lanac napada izgleda ovako:
Napadač trči:
- Nalazi izloženi
.logfajl - Ekstrakti:
- JWT token
- Osnovni zaglavlje za autorizaciju
- Niz za povezivanje s bazom podataka
Pokušava autentifikaciju na:
- API krajnje tačke
- Administratorske ploče
- Interne usluge
Ako autentifikacija uspije, napadač može:
- Eskaliranje privilegija
- Pomakni se bočno
- pristup CI/CD
- Ugroziti lanac snabdijevanja
Ono što je započelo kao upit za pretragu postaje:
- Otmica sesije
- Interno popunjavanje akreditiva
- Pipeline preuzimanju
- Trovanje artefaktima
Sve iz javno indeksirane datoteke dnevnika.
5. Zašto je "previše" evidentiranja problem AppSeca
Evidentiranje nije neutralno. Umjesto toga, ono stvara sekundarno skladište podataka.
Ako evidentirate osjetljive podatke, efektivno kreirate drugu kopiju svojih tajni.
Međutim, zapisnici su često isključeni iz modeliranja prijetnji. Pod STRIDE-om, ovo se jasno preslikava na:
Otkrivanje informacija
Stoga, sigurno SDLC prakse bi trebale tretirati logove kao:
- Artefakti relevantni za sigurnost
- Osjetljiva imovina
- Komponente infrastrukture koje zahtijevaju zaštitu
Ako vaš model prijetnji ignorira logove, on je nepotpun.
6. Kako spriječiti curenje akreditiva u datotekama zapisnika
6.1 Zaustavite zapisivanje tajni
Nikad ne prijavljuj:
- lozinke
- tokeni
- API ključevi
- ID-ovi sesija
- Zaglavlja autorizacije
Čak i u debug modu.
Kad god je to moguće, implementirajte automatsko redigovanje.
6.2 Strukturirano i sigurno evidentiranje
Koristite strukturirano evidentiranje s maskiranjem i filtriranjem.
Primjer (Node.js):
Primjer (Python):
Ključni princip je jednostavan: tajne nikada ne smiju dospjeti do sudopera.
6.3 Zaključavanje pohrane zapisnika
Sigurnosne kontrole trebaju uključivati:
- Onemogući popis direktorija
- zaštititi
/logs/putanje s autentifikacijom - Ograniči pristup kanti
- Primijenite pravila zadržavanja
- Šifriranje logova u stanju mirovanja
Zapisnici nikada ne smiju biti javno dostupni putem HTTP-a.
6.4 CI/CD Guardrails
Ručni pregledi nisu dovoljni. Umjesto toga, implementirajte automatizirane kontrole:
- Tajno skeniranje logova prije objavljivanja artefakata
- Neuspješne izgradnje ako se otkriju tokeni
- Spriječite otpremanje artefakata koji sadrže akreditive
- Validacija heša za artefakte
CI/CD treba blokirati izloženost prije nego što se dogodi indeksiranje.
7. Kako Xygeni sprečava allintext:login tip datoteke: zapisnik Incidenti
Problem nije Googleov štreber. Problem je izloženost. Stoga, prevencija mora da se desi prije indeksiranja.
7.1 Detekcija tajnih podataka u zapisnicima i artefaktima
Xygeni skeniranja:
- Dnevnici aplikacija
- CI/CD tragovi poslova
- Izgradite artefakte
- Docker slojevi
- Serijalizirani izlazi
Ako se akreditivi, tokeni ili osjetljive vrijednosti pojavljuju u .log datoteke, Xygeni ih odmah označava.
7.2 CI/CD Guardrails To blokira izloženost
Umjesto oslanjanja na ručne preglede, Xygeni provodi sigurnosne mjere na pipeline nivo:
Ovo:
- Neuspješno izvođenje kada se tajne pojave u zapisnicima
- Objavljivanje artefakata Blokova
- Sprečava slučajno izlaganje javnosti
- Zaustavlja nesigurna spajanja prije dolaska do glavnog
Ako CI zadatak ispisuje token, pipeline fails.
Nema indeksiranja.
Nema izloženosti.
Nema incidenta.
7.3 Zaštita od pritiska tipke Shift-Left prije nego što je Google vidi
Tajming je važan.
Umjesto reakcije na:
Xygeni zaustavlja problem:
- At commit vrijeme
- tokom pull request potvrđivanje
- tokom pipeline izvršenje
- Prije objavljivanja artefakta
Ako zapisnik nikada ne postane javan, Google ga nikada neće indeksirati.
Zaključak: Ako Google može indeksirati, napadači su to već učinili
Zapisnici nisu bezopasni. U stvari, rijetko su privremeni. Podrazumevano, nisu privatni. Stoga, svaku datoteku zapisnika treba tretirati kao sigurnosno relevantnu imovinu, a ne samo kao izlaz za otklanjanje grešaka.
Ako osjetljivi podaci dođu do .log datoteka i postaje javno dostupna, odmah se pretvara u površinu za napad. Štaviše, nakon što ih pretraživač indeksira, izloženost se skalira izvan vaše kontrole.
Rješenje nije zaustaviti evidentiranje. Umjesto toga, rješenje je odgovorno evidentiranje i provođenje strogih kontrola oko pohrane i distribucije. Drugim riječima, sigurnost se mora proširiti izvan same aplikacije i na sloj vidljivosti.
Umjesto toga:
- Zaustavi zapisivanje tajni
- Zaključavanje pohrane zapisnika
- primijeniti pipeline guardrails
- Automatizirajte otkrivanje i provođenje pravila
na kraju, Prevencija se svodi na tajming. Jer jednom sav tekst:login tip datoteke:log vraća vašu domenu, incident je već počeo.




