⚠️ KRYTYCZNA ZASADA AUDYTORÓW ITAD: Procedury bezpiecznego niszczenia danych (NIST SP 800-88 Rev. 1, ATA Secure Erase, NVMe Cryptographic Erase) czyszczą wyłącznie komórki NAND pamięci masowej. Żadna operacja na dysku SSD nie usuwa przypisania płyty głównej do Microsoft Autopilot ani nie deaktywuje modułu Absolute Persistence (Computrace) w kości SPI Flash. Podłączenie niesprawdzonego laptopa do sieci internetowej podczas instalacji systemu natychmiast pieczętuje maszynę certyfikatem obcej organizacji.

⚡ Błyskawiczny Triaż i Kody Błędów w SpecInfo Decoder

Zidentyfikuj kody błędów POST, flagi BitLocker TPM oraz zdarzenia systemowe BSOD/WHEA w naszym zero-trust dekoderze laboratoryjnym.

Otwórz Dekoder ↗

1. Krzemowe Zakotwiczenie: Jak Działają Współczesne Blokady Korporacyjne

W dobie rozproszonych flot pracowniczych i modeli Zero-Trust działy IT nie polegają już na obrazach dysków (Ghost, Clonezilla). Współczesne zarządzanie opiera się na niezmiennych tożsamościach sprzętowych zakotwiczonych w strukturze płyty głównej i w chmurze producenta systemu operacyjnego.

A. Absolute Persistence (dawniej Computrace / LoJack for Laptops)

Absolute Persistence to technologia opracowana przez firmę Absolute Software, zintegrowana w kodzie źródłowym BIOS/UEFI niemal każdego laptopa biznesowego na świecie (Dell Latitude/Precision, Lenovo ThinkPad, HP EliteBook/ProBook, ASUS ExpertBook):

  • Lokalizacja w kości SPI Flash: Moduł istnieje jako sterownik DXE (Driver Execution Environment) lub Option ROM zapisany bezpośrednio w układzie scalonym pamięci flash UEFI.
  • Mechanizm wstrzykiwania do systemu (Persistence Engine): Podczas każdej fazy rozruchu komputera sterownik UEFI bada partycję systemową. Przed wystartowaniem jądra Windows (ntoskrnl.exe), moduł modyfikuje proces autochk.exe lub bezpośrednio upuszcza binaria agenta do katalogu C:\Windows\System32\.
  • Pliki binarne agenta: W systemie Windows pojawiają się pliki rpcnet.exe oraz rpcnetp.exe, a w rejestrze tworzona jest usługa Rpcnetp. Jeśli użytkownik sformatuje dysk, zainstaluje inny system lub włoży fabrycznie nowy nośnik NVMe, BIOS przy pierwszym rozruchu Windows automatycznie ponownie wgra agenta.
  • Zdalne sterowanie (Beaconing): Agent co kilkadziesiąt minut nawiązuje szyfrowane połączenie wychodzące z serwerami telemetrycznymi Absolute (m.in. domeny search.namequery.com oraz *.absolute.com na portach 80 i 443). Administrator poprzedniego właściciela może zdalnie:
    • Wymusić natychmiastowe zablokowanie ekranu hasłem korporacyjnym,
    • Zdalnie wyczyścić dysk (Remote Wipe),
    • Śledzić geolokalizację urządzenia na podstawie adresów IP i punktów dostępowych BSSID.

B. Microsoft Autopilot & Entra ID (Intune Zero-Touch Deployment)

Microsoft Autopilot nie wymaga żadnego agenta w BIOS. Opiera się na unikalnej tożsamości kryptograficznej zwanej Hardware Hash (Device Hardware Data):

  • Struktura Hardware Hash: Jest to ciąg znaków o długości około 4000 bajtów (zakodowany w Base64), generowany przez algorytm Microsoftu. Składa się z ponad 12 parametrów sprzętowych płyty głównej:
    • SMBIOS System UUID oraz numer seryjny płyty głównej (Motherboard Serial),
    • Unikalny hash klucza publicznego TPM 2.0 Endorsement Key (EKPub),
    • Identyfikator procesora (CPUID, Microcode Version, Stepping),
    • Adresy MAC zintegrowanych kart sieciowych,
    • Identyfikatory fabrycznych kontrolerów magistrali PCI Express i dysków.
  • Chmurowy Rejestr Zero-Touch Deployment (ZTD): Gdy firma kupuje komputery od dystrybutora, numery seryjne i hashe trafiają bezpośrednio do tenanta Microsoft Intune / Entra ID danej organizacji.
  • Faza OOBE i zanieczyszczenie profilu: Gdy na świeżej instalacji Windows 10/11 komputer uzyska dostęp do sieci, proces CloudExperienceHost przesyła Hardware Hash do serwera ztd.dds.microsoft.com. Jeśli urządzenie figuruje w bazie, serwer odsyła plik konfiguracyjny AutopilotDDSZTD.json, wymuszając branding korporacyjny i logowanie domenowe.

2. Weryfikacja Absolute Persistence w Menu BIOS/UEFI

Status modułu Absolute można zweryfikować bezpośrednio w menu konfiguracyjnym UEFI. Dostęp do tej opcji nie wymaga podłączania dysków ani instalacji systemu operacyjnego.

Stan Modułu w BIOS Znaczenie Techniczne w Firmware Klasyfikacja ITAD & Ryzyko
Activated / Enabled Moduł jest aktywny w Option ROM. Przy każdym rozruchu wstrzykuje procesy rpcnet.exe do systemu operacyjnego i raportuje do chmury. KRYTYCZNE RYZYKO. Sprzęt wciąż przypisany do aktywnej subskrypcji. Bezwzględny zwrot do sprzedawcy.
Deactivated / Disabled Moduł jest uśpiony. Nie wstrzykuje agenta, ale może zostać aktywowany w przyszłości zdalnie lub przez menu BIOS (jeśli nie ma hasła). WARUNKOWO DOPUSZCZALNY. Do użytku domowego akceptowalny, lecz w audycie korporacyjnym wymaga trwałego zablokowania.
Permanently Disabled Wypalony bezpiecznik logiczny w NVRAM / SPI Flash. Kod modułu został trwale odcięty od logiki rozruchowej. ZŁOTY STANDARD ITAD. 100% bezpieczeństwa. Brak możliwości ponownej aktywacji modułu na tej płycie.

Ścieżki dostępu do ustawień u głównych producentów:

  • Dell (Latitude / Precision / OptiPlex): Wciśnij F2 podczas startu ➔ Przejdź do: Security ➔ Absolute (lub Computrace w starszych modelach) ➔ Sprawdź pole Absolute Status. Jeśli widnieje Enabled, płyta jest zablokowana. Jeśli wybierzesz opcję Permanently Disable, BIOS wyświetli podwójne ostrzeżenie o nieodwracalności tej operacji.
  • Lenovo (ThinkPad): Wciśnij F1 podczas startu ➔ Przejdź do: Security ➔ Security Features ➔ Absolute Persistence Module. W ThinkPadach dostępne są opcje: Enabled, Disabled oraz Permanently Disabled.
  • HP (EliteBook / ZBook / ProBook): Wciśnij F10 podczas startu ➔ Przejdź do: Security ➔ Hard Drive Tools / Automatic Drive Table lub Absolute Software.
PRO TIP DLA SERWISU: Jeśli w BIOS laptopa opcja wyłączenia Computrace jest wyszarzona (zamknięta kłódką), płyta jest zabezpieczona hasłem administratora BIOS (Supervisor Password) lub aktywny profil chmurowy Absolute wymusił blokadę interfejsu konfiguracyjnego. Bez autoryzacji pierwotnego właściciela zmiana stanu modułu jest niemożliwa.

3. Laboratoryjny Runbook OOBE: Weryfikacja Autopilot w 100% OFFLINE (Shift + F10)

W przeciwieństwie do Computrace, stanu przypisania do Microsoft Autopilot nie da się odczytać w BIOS. Wielu techników popełnia kardynalny błąd: podłącza kabel sieciowy na ekranie wyboru języka OOBE, aby sprawdzić, "czy wyskoczy okno logowania". Jeśli komputer jest przypisany do profilu Self-Deploying Mode, w tym momencie dochodzi do nieodwracalnego pobrania profilu dzierżawy.

Oto bezpieczna, autoryzowana procedura laboratoryjna pozwalająca na inspekcję tożsamości sprzętowej bez podłączania badanego urządzenia do sieci:

Krok 1: Przygotowanie środowiska audytowego

  1. Uruchom komputer z czystego pendrive'a instalacyjnego Windows 10/11.
  2. Zainstaluj system bez wprowadzania klucza licencyjnego na dysku testowym.
  3. Gdy instalator zrestartuje komputer i pojawi się pierwszy ekran OOBE (wybór kraju/regionu) — NIE PODŁĄCZAJ KABLA ETHERNET ANI NIE ŁĄCZ SIĘ Z WI-FI!

Krok 2: Wywołanie konsoli diagnostycznej OOBE

Na pierwszym ekranie OOBE wciśnij kombinację klawiszy:

Shift + F10   (na laptopach z klawiszem funkcyjnym: Fn + Shift + F10)

Otworzy się okno wiersza poleceń cmd.exe z najwyższymi uprawnieniami systemowymi (NT AUTHORITY\SYSTEM). Wpisz powershell i naciśnij Enter.

Krok 3: Ekstrakcja 4K Hardware Hash bez dostępu do internetu

Wielu administratorów próbuje używać polecenia Install-Script Get-WindowsAutoPilotInfo, które kończy się błędem z powodu braku połączenia z siecią. W systemie Windows 10/11 biblioteka WMI posiada wbudowaną natywną klasę CIM zawierającą pełen Hardware Hash.

Wpisz poniższy jednolinijkowy skrypt w konsoli PowerShell, aby wyciągnąć hash i zapisać go na podłączonym pendrivie (np. napęd D:):

# Natywna ekstrakcja Hardware Hash z lokalnego repozytorium WMI / CIM (100% Offline)
$Serial = (Get-CimInstance -ClassName Win32_BIOS).SerialNumber
$Model = (Get-CimInstance -ClassName Win32_ComputerSystem).Model
$DevDetail = Get-CimInstance -Namespace root/cimv2/mdm/dmmap -ClassName MDM_DevDetail_Ext01 -Filter "InstanceID='Ext' AND ParentID='./DevDetail'"
$Hash = $DevDetail.DeviceHardwareData

Write-Host "Pomyślnie wyodrębniono tożsamość sprzętową urządzenia:" -ForegroundColor Green
Write-Host "Numer Seryjny: $Serial" -ForegroundColor Cyan
Write-Host "Długość Hardware Hash: $($Hash.Length) znaków" -ForegroundColor Yellow

# Zapis do pliku CSV zgodnego ze standardem Microsoft Intune Import
$CsvContent = "Device Serial Number,Windows Product ID,Total Hardware Hash,Group Tag,Assigned User`n$Serial,,$Hash,ITAD-Audit,"
$TargetDrive = (Get-Volume | Where-Object { $_.DriveType -eq 'Removable' -and $_.DriveLetter } | Select-Object -First 1).DriveLetter

if ($TargetDrive) {
    $OutPath = "${TargetDrive}:\Autopilot_HardwareHash_${Serial}.csv"
    $CsvContent | Out-File -FilePath $OutPath -Encoding ascii
    Write-Host "Plik CSV został pomyślnie zapisany na nośniku zewnętrznym: $OutPath" -ForegroundColor Green
} else {
    $CsvContent | Out-File -FilePath "C:\Autopilot_Hash.csv" -Encoding ascii
    Write-Host "Zapisano lokalnie w C:\Autopilot_Hash.csv (Brak wykrytego nośnika USB)" -ForegroundColor Yellow
}

Krok 4: Weryfikacja Hasha na odizolowanej stacji technika

Mając zapisany plik CSV z numerem seryjnym i Hardware Hash, przenosisz pendrive na stację roboczą technika podłączoną do internetu. Stan urządzenia weryfikuje się zewnętrznie:

  • W portalu korporacyjnym / Microsoft Partner Center: Technik ITAD sprawdza przez moduł PowerShell Microsoft.Graph.DeviceManagement.Enrollment, czy dany numer seryjny jest zarejestrowany w jakiejkolwiek dzierżawie:
    # Sprawdzenie tożsamości urządzenia w dzierżawie Microsoft Graph
    Connect-MgGraph -Scopes "DeviceManagementServiceConfig.Read.All"
    Get-MgDeviceManagementWindowsAutopilotDeviceIdentity -Filter "serialNumber eq '$Serial'"
  • Weryfikacja bezpośrednia (OOBE Network Sandbox): Jeśli musisz przetestować urządzenie na żywo, podłącz je do odizolowanej sieci VLAN / Hotspotu LTE. Jeśli na ekranie OOBE pojawi się logo lub nazwa domeny obcej firmy (np. acme-corp.com) — urządzenie natychmiast odłącz od sieci i wyłącz zasilanie.
⚠️ GDZIE SYSTEM ZAPISUJE POBRANY PROFIL AUTOPILOT? Jeśli komputer pobrał już profil Autopilota, plik JSON znajduje się w ścieżce: C:\Windows\System32\Provisioning\Autopilot\AutopilotDDSZTD.json oraz w rejestrze: HKLM\SOFTWARE\Microsoft\Provisioning\AutopilotProfiles. Skasowanie tego pliku w trybie awaryjnym pozwala ominąć ekran OOBE, ale nie rozwiązuje problemu tożsamości sprzętowej w chmurze Microsoftu — każdy kolejny format spowoduje ponowne zablokowanie systemu.

4. Wykrywanie Obecności Agentów w Zainstalowanym Systemie (Windows & Linux)

Jeśli kupiłeś komputer z gotowym systemem operacyjnym, obecność Computrace oraz powiązań MDM można sprawdzić bez wchodzenia do BIOS:

A. Diagnostyka Windows PowerShell (Computrace / Absolute)

Sprawdź obecność procesów, usług systemowych i plików w katalogu System32:

# Weryfikacja obecności agenta Absolute Persistence w Windows
$Processes = Get-Process -Name "rpcnet", "rpcnetp" -ErrorAction SilentlyContinue
$Service = Get-Service -Name "rpcnetp" -ErrorAction SilentlyContinue
$Files = Get-ChildItem -Path "$env:SystemRoot\System32\rpcnet*.exe" -ErrorAction SilentlyContinue

if ($Processes -or $Service -or $Files) {
    Write-Host "[!] ALARM: Na urządzeniu wykryto aktywny agent Absolute Computrace!" -ForegroundColor Red
    if ($Processes) { Write-Host " -> Aktywne procesy: $($Processes.Name -join ', ')" -ForegroundColor Yellow }
    if ($Service)   { Write-Host " -> Usługa systemowa: $($Service.Status)" -ForegroundColor Yellow }
    if ($Files)     { Write-Host " -> Pliki na dysku: $($Files.FullName -join ', ')" -ForegroundColor Yellow }
} else {
    Write-Host "[✓] Brak aktywnych plików i procesów agenta rpcnet w systemie." -ForegroundColor Green
}

B. Diagnostyka w środowisku Linux (Live USB)

Uruchomienie dystrybucji Linux Live (Ubuntu, Fedora, Arch) pozwala na zbadanie tablic SMBIOS oraz zmiennych NVRAM bez obawy o uruchomienie agenta Windows:

# Odczyt tablic DMI / SMBIOS pod kątem obecności flag Absolute / Computrace
sudo dmidecode -t 11   # OEM Strings (często ujawnia konfigurację Computrace)
sudo dmidecode -t 1    # Weryfikacja UUID i Serial Number

# Przeszukanie zmiennych UEFI pod kątem śladów Absolute
ls -la /sys/firmware/efi/efivars/ | grep -i -E "computrace|absolute"

5. Kompleksowa Matryca Ryzyka ITAD

Podczas klasyfikacji partii sprzętu audytor laboratoryjny musi przypisać maszynę do jednej z poniższych kategorii decyzyjnych:

Mechanizm Zabezpieczenia Metoda Weryfikacji Poziom Ryzyka Klasyfikacja ITAD & Decyzja
Microsoft Autopilot (Entra ID) Ekstrakcja Hardware Hash w OOBE (Shift+F10) / Weryfikacja Graph API KRYTYCZNY Blokada ITAD. Wymagany kontakt z dostawcą w celu wyrejestrowania z tenanta. Bez tego płyta kwalifikuje się jako złom elektroniczny.
Absolute: Activated Zakładka Security w BIOS / Skan procesów rpcnetp.exe KRYTYCZNY Odrzucenie partii. Ryzyko zdalnego zablokowania lub roszczeń prawnych o kradzież własności korporacyjnej.
Absolute: Deactivated Zakładka Security w BIOS ŚREDNI Warunkowo dopuszczony. Zalecane przestawienie w BIOS na stan Permanently Disabled przed wydaniem klientowi.
Absolute: Permanently Disabled Zakładka Security w BIOS (eFuse blown) ZEROWY Grade A (Czysty). Standard laboratoryjny. Moduł jest trwale martwy.
Intel vPro / AMT Configured Menu Intel MEBx (Ctrl + P podczas POST) ŚREDNI Wymagany Unprovisioning. Zresetuj hasło MEBx w zworkach płyty lub wykonaj procedurę MEbx Unconfigure.
Hasło Supervisor w BIOS Próba wejścia do ustawień UEFI (F2 / F10 / F1) WYSOKI Blokada konfiguracyjna. Uniemożliwia audyt, wyłączenie Computrace i zmianę kolejności bootowania. Zwrot do dostawcy.

6. Procedura Reklamacyjna: Jak Odzyskać Sprzęt z Blokadą Autopilot

Jeśli podczas audytu partii wykryjesz laptopy zablokowane profilem Autopilot, autoryzowany serwis producenta (Dell, Lenovo, HP) odmówi wymiany płyty głównej. Zgodnie z wytycznymi Microsoftu wymiana płyty wymaga pisemnej zgody pierwotnego właściciela korporacyjnego zarejestrowanego w bazie.

Oficjalny protokół postępowania:

  1. Przygotowanie raportu niezgodności: Wygeneruj plik CSV z numerami seryjnymi i sumami Hardware Hash dla wszystkich zablokowanych sztuk.
  2. Identyfikacja dzierżawy (Tenant Name): Wpisz próbny adres e-mail na zablokowanym ekranie logowania Windows (np. test@firma.com). W oknie logowania wyświetli się pełna nazwa korporacji lub jej domena Microsoft Entra ID.
  3. Wezwanie dostawcy ITAD do usunięcia urządzeń: Skontaktuj się z brokerem lub sprzedawcą partii i zażądaj przekazania raportu do działu IT firmy źródłowej. Administrator dzierżawy musi wykonać następujące czynności w konsoli Microsoft Intune:
    • Wejść do: Devices ➔ Windows ➔ Windows enrollment ➔ Devices (Windows Autopilot),
    • Wyszukać urządzenie po numerze seryjnym,
    • Kliknąć Delete (usunięcie tożsamości Autopilot z tenanta),
    • Jeśli urządzenie jest widoczne w Intune, wykonać akcję Wipe / Retire.
  4. Czas propagacji: Synchronizacja serwerów Microsoft Zero-Touch Deployment trwa od 15 minut do 24 godzin. Po tym czasie ponowne uruchomienie instalatora Windows i przejście przez OOBE pozwoli na bezproblemowe utworzenie konta lokalnego lub domowego konta Microsoft.

7. Podsumowanie: 5 Złotych Zasad Audytora ITAD

  • Zasada 1: Zawsze sprawdzaj BIOS przed instalacją systemu: Upewnij się, że Absolute Persistence ma status Permanently Disabled lub przynajmniej Deactivated.
  • Zasada 2: Zero zaufania do czystych dysków SSD: Wymiana dysku ani format NIST 800-88 nie mają żadnego wpływu na blokady Autopilot i Computrace.
  • Zasada 3: Weryfikuj Autopilot wyłącznie offline: Użyj skrótu Shift + F10 w fazie OOBE i wyciągnij Hardware Hash skryptem CIM bez podłączania przewodu sieciowego.
  • Zasada 4: Odizoluj sieć testową: Jeśli przeprowadzasz testy weryfikacyjne na żywo, zawsze używaj odseparowanej podsieci laboratoryjnej, aby zapobiec niekontrolowanej rejestracji sprzętu w obcych domenach.
  • Zasada 5: Korzystaj z narzędzi SpecInfo: Sprawdzaj specyfikację sprzętu i kody błędów za pomocą Uniwersalnego Dekodera Błędów oraz weryfikuj procedury niszczenia i sanityzacji danych na karcie Runbook A4 Card 12 (ITAD & NIST SP 800-88).
SpecInfo.org jest rozwijany jako niezależny standard inżynieryjny i audytowy. Jeżeli ten poradnik pomógł w Twoich pracach laboratoryjnych, rozważ wsparcie projektu.
☕ Wesprzyj Projekt ↗