< Powrót do Artykułów
◆ Case study · Black-box / EASM

50 godzin black-box.
Tyle widzi napastnik z Internetu.

Techniczne case study external attack surface: OSINT, fingerprinting, publiczne API, legacy, priorytetyzacja, request/response i plan 30/60/90 dla organizacji.

TRYB black-box externalCZAS 50hOBSZAR EASM / OSINTWYNIK risk-based roadmap
312
subdomen
przykładowo
87
usług HTTP
do triage
24
panele
logowania
TOP5
najważniejsze
ryzyka

Zanim atakujący dostanie konto, widzi zaskakująco dużo

Black-box bez kont i dokumentacji nie jest „skanem portów”. Dobrze wykonany pokazuje, jak organizacja wygląda z zewnątrz: domeny, stare środowiska, panele logowania, chmura, VPN, SSO, technologie, błędy konfiguracji, wycieki w assetach i miejsca, w których automatyczny scanner krzyczy albo milczy.

Ten case jest zanonimizowany. Nie podajemy domen, adresów IP, fingerprintów klienta ani wyników umożliwiających identyfikację. Pokazujemy strukturę pracy, przykładowe artefakty i to, jak z external attack surface zrobić raport zrozumiały dla zarządu i użyteczny dla IT.

Zasady i higiena testu

rules of engagement
[+] passive recon first [+] no brute force, no credential stuffing [+] rate limits agreed with client [+] no exploitation without approval [+] immediate notification for exposed secrets or critical findings [-] no destructive tests [-] no customer data access Window: 50h effort, external perspective, no accounts.

Najpierw ustalamy tempo, zakres, domeny, wyjątki, okna czasowe i ścieżkę eskalacji. Black-box bez zasad łatwo zmienić w hałas. Dobry black-box ma być realistyczny, ale kontrolowany.

Nie możesz chronić czegoś, czego nie masz w inwentarzu

sanitized asset map
root domains: 4 subdomains found: 312 live HTTP services: 87 login panels: 24 API candidates: 19 cloud assets: 11 legacy markers: 8 unknown owners: 17 # Wszystkie wartości powyżej są przykładowe i zanonimizowane.

Największa wartość często pojawia się przy polu „unknown owners”. IT zna główne systemy, ale nie zawsze zna preview deploymenty, stare panele partnerów, zapomniane subdomeny po migracji albo środowiska testowe, które miały zniknąć po projekcie.

Technologie i wersje bez agresywnego skanowania

passive/low-noise fingerprint
https://legacy.example.invalid/ Server: reverse-proxy-redacted X-Powered-By: framework-redacted Set-Cookie: legacy_session=...; Secure; HttpOnly TLS: old-compatible profile JS bundle: /static/app.legacy-build.js https://sso.example.invalid/ redirects to IdP exposes realm name: redacted login policy visible: password + MFA optional https://api-preview.example.invalid/ OpenAPI path candidate: /swagger-ui/ -> 200 OK [restricted later]

Fingerprint nie służy do chwalenia się listą technologii. Służy do priorytetyzacji: co jest stare, co jest publiczne, gdzie jest panel logowania, gdzie może być API, gdzie widać środowisko preview, a gdzie brakuje podstawowych nagłówków bezpieczeństwa.

Najciekawsze rzeczy nie zawsze są CVE

findings categories — sanitized
[HIGH] public preview API exposing schema and example objects [HIGH] legacy panel reachable from Internet, no enforced MFA [MED] forgotten subdomain with default error pages and stack traces [MED] permissive CORS on non-production API [MED] old JS bundle exposing internal route names and feature flags [LOW] missing security headers on brochure sites [INFO] SPF/DKIM/DMARC alignment improvements recommended # To kategorie, nie wyniki konkretnego klienta.
Wniosek

Black-box pokazuje nie tylko podatności techniczne, ale też problem zarządzania powierzchnią ataku: kto jest właścicielem assetu, czy jest monitorowany, czy ma MFA, czy trafia do patch managementu i SIEM.

Publiczny schemat API jako akcelerator ataku

request/response — redacted API schema
GET /swagger-ui/ HTTP/2 Host: api-preview.example.invalid HTTP/2 200 OK Content-Type: text/html Swagger UI spec-url: /openapi.json GET /openapi.json HTTP/2 HTTP/2 200 OK { "paths": { "/v1/reports/{id}": {"get":{},"post":{}}, "/v1/admin/export": {"post":{}}, "/v1/users/search": {"get":{}} }, "servers": [{"url":"https://api-preview.example.invalid"}] } [!] Sam schemat nie musi być krytyczny, ale skraca rekonesans i ujawnia funkcje.

Dla zespołu technicznego to konkret: publiczny OpenAPI nie musi od razu oznaczać wycieku danych, ale jeżeli pokazuje endpointy administracyjne, modele obiektów i środowisko preview, znacząco przyspiesza dalsze testy. Dla biznesu to dowód, że powierzchnia ataku żyje poza główną aplikacją.

Jak z 200 obserwacji zrobić plan działania

triage model
Score = Exposure × Sensitivity × Exploitability × OwnershipGap Example: legacy VPN portal: Exposure: Internet-facing Sensitivity: access path to internal network Exploitability: no CVE confirmed, weak MFA posture OwnershipGap: unclear owner Priority: HIGH marketing site missing header: Exposure: Internet-facing Sensitivity: low Exploitability: low OwnershipGap: known Priority: LOW

To odróżnia pentest od listy z narzędzia. Zarząd nie potrzebuje 80 stron „missing header”. Zarząd potrzebuje wiedzieć, które 5 rzeczy realnie zmniejszy ryzyko przejęcia kont, wycieku danych albo wejścia do sieci.

External attack surface to nie lista domen.
To lista decyzji, których nikt już nie pamięta.

Artefakty przydatne dla IT i zarządu

ASM

Mapa powierzchni

Domeny, subdomeny, usługi HTTP, panele, API, chmura, legacy i właściciele.

MAPOWANIE → External Attack Surface Management
RISK

Top ryzyka

Krótka lista rzeczy, które realnie zwiększają prawdopodobieństwo incydentu.

MAPOWANIE → Risk-Based Prioritization
EVID

Dowody bez szkody

Request/response, screenshoty, nagłówki, fingerprinty i ścieżki reprodukcji bez dotykania danych klientów.

MAPOWANIE → Evidence Handling
ROAD

Plan 30/60/90

Co zamknąć natychmiast, co w miesiąc, co w kwartale: MFA, asset ownership, monitoring, patching, exposure reduction.

MAPOWANIE → Remediation Roadmap

Co zwykle najbardziej zmniejsza ryzyko

1. Właściciel każdego publicznego assetu. Jeżeli nie wiadomo, kto odpowiada za system, system powinien zostać odcięty albo przejęty przez właściciela.

2. MFA i polityki dla paneli. Każdy panel logowania z Internetu: MFA, rate limiting, monitoring, brak defaultowych komunikatów zdradzających technologię.

3. Oddziel preview/stage od Internetu. Środowiska testowe nie powinny być publiczne bez kontroli dostępu.

4. Stały EASM, nie jednorazowa akcja. Powierzchnia zmienia się po każdym wdrożeniu, migracji i projekcie marketingowym.

continuous checks
daily: discover new subdomains diff live HTTP services alert on new login panels alert on public swagger/openapi alert on exposed cloud storage alert when asset has no owner monthly: validate top risks manually retest closed findings update executive risk dashboard
◆ BSTA · testpenetracyjny.pl

Nie wiesz, jak Twoja firma wygląda z Internetu?

Zrobimy kontrolowany black-box i EASM: mapa assetów, walidacja ryzyk, dowody techniczne, priorytety napraw i executive summary dla zarządu.

Zamów test bezpieczeństwa →
Zakres + wycena w 2 dni robocze · raport techniczny + executive summary · pełna anonimizacja danych