Posted in: Windows 10, Windows 11, Windows server

ASR Pravidla Microsoft Defender

Dnes bych se rád podělil o malý kousek PowerShellu, který pomůže zabezpečit všechny uživatele MS Defender. Pro jeho pohodlné nastavení je potřeba Intune, je to možné také pomocí GPO nebo Local Policy, ale problém je v tom, že jednotlivá ASR pravidla se bez Intune nastavují pomocí GUID hodnot, které se musí do politky vložit z dokumentace.

Níže přikládám jedno z možných řešení, ke kterému mě inspiroval Mgr. Michael Grafnetter MVP, MCT, MCITP svou přednáškou Brána Firewall na DC, kdy můj kód se ani zdaleka neblíží Michaelovým kvalitám, ale i tak může být přínosný. Parametr doporučeno aktivuje ta nastavení, která si myslím, že jsou vhodná pro jednotlivce, malý podnik, školu, nebo středně velký podnik.

param(
    [switch]$BlockObfuscate,
    [switch]$BlockChiledProcessAdobePDF,
    [switch]$BlockChiledProcessOffice,
    [switch]$BlockExportLSASS,
    [switch]$BlockExecutableFromEmail,
    [switch]$BlockUntrustedExecutable,
    [switch]$BlockObfuscatedScripts,
    [switch]$BlockExecutableFomOffice,
    [switch]$BlockWMIpersitenc,
    [switch]$BlockCreaProcessWMIandPSexec,
    [switch]$BlockUntrustedExecutebleFromUSB,
    [switch]$BlockWebShell,
    [switch]$TurnOnAdvancedRansomwareProtection,
    [switch]$BlockExploitedDriveres,
    [switch]$BlockJSorVBSFromDownloaded,
    [switch]$BlockWMIObfuscateEvent,
    [switch]$BlockRebootInSafeMode,
    [switch]$BlockInpersonatedSystemTools,
    [switch]$BlockCallWin32FromMacros,
    [Switch]$Doporuceno,
    [switch]$ResetDeault
)
if($BlockObfuscate -or $Doporuceno){
    #Blokace obfuskovaného kódu 
    Add-MpPreference -AttackSurfaceReductionRules_Ids 56a863a9-875e-4185-98a7-b882c64b5ce5 -AttackSurfaceReductionRules_Actions Enabled 
}
if($ResetDeault){
    Add-MpPreference -AttackSurfaceReductionRules_Ids 56a863a9-875e-4185-98a7-b882c64b5ce5 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids d9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 5beb7efe-fd9a-4556-801d-275e5ffc04cc -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids d3e037e1-3eb8-44c8-a917-57927947596d -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 3b576869-a4ec-4529-8536-b80a7769e899 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 26190899-1602-49e8-8b27-eb1d0a1ce869 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids e6db77e5-3df2-4cf1-b95a-636979351e5b -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids d1e49aac-8f56-4280-b9ba-993a6d77406c -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids a8f5898e-1dc8-49a9-9878-85004b8a61e6 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids c1db55ab-c21a-4637-bb3f-a12568109d35 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 56a863a9-875e-4185-98a7-b882c64b5ce5 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids d3e037e1-3eb8-44c8-a917-57927947596d -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids e6db77e5-3df2-4cf1-b95a-636979351e5b -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 33ddedf1-c6e0-47cb-833e-de6133960387 -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids c0033c00-d16d-4114-a5a0-dc9b3a7d2ceb -AttackSurfaceReductionRules_Actions NotConfigured
    Add-MpPreference -AttackSurfaceReductionRules_Ids 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b -AttackSurfaceReductionRules_Actions NotConfigured
}
if($BlockChiledProcessAdobePDF -or $Doporuceno){
    #Blokace vytváření podřízených procesů pro Adobe PDF reader
    Add-MpPreference -AttackSurfaceReductionRules_Ids 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockChiledProcessOffice -or $Doporuceno){
    #Blokace vytváření podřízených procesů z Office aplikací
    Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockExportLSASS -or $Doporuceno){
    #Blokace vytvoření otisku paměti procesu LSASS
    Add-MpPreference -AttackSurfaceReductionRules_Ids d9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockExecutableFromEmail -or $Doporuceno){
    #Blokace spustitelného obsahu z emailu
    Add-MpPreference -AttackSurfaceReductionRules_Ids be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockUntrustedExecutable -or $Doporuceno){
    #Blokování spouštění spustitelných souborů, pokud nesplňují kritérium prevalence, stáří nebo důvěryhodného seznamu
    Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockObfuscatedScripts -or $Doporuceno){
    #Blokace obfuskovaných skriptů
    Add-MpPreference -AttackSurfaceReductionRules_Ids 5beb7efe-fd9a-4556-801d-275e5ffc04cc -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockJSorVBSFromDownloaded -or $Doporuceno){
    #Blokování stahování spustitelného obsahu pomocí Javascript a VBscript 
    Add-MpPreference -AttackSurfaceReductionRules_Ids d3e037e1-3eb8-44c8-a917-57927947596d -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockExecutableFomOffice -or $Doporuceno){
    #Blokace vytváření spustitelného obsahu pomocí Office aplikací
    Add-MpPreference -AttackSurfaceReductionRules_Ids 3b576869-a4ec-4529-8536-b80a7769e899 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockExecutableFomOffice -or $Doporuceno){
    #Blokace vkládání kódu do procesů z Office aplikací
    Add-MpPreference -AttackSurfaceReductionRules_Ids 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockChiledProcessOffice -or $Doporuceno){
    #Blokování komunikace aplikace Office při vytváření podřízených procesů
    Add-MpPreference -AttackSurfaceReductionRules_Ids 26190899-1602-49e8-8b27-eb1d0a1ce869 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockWMIpersitenc -or $Doporuceno){
    #Blokování persistence pomocí WMI
    Add-MpPreference -AttackSurfaceReductionRules_Ids e6db77e5-3df2-4cf1-b95a-636979351e5b -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockCreaProcessWMIandPSexec -or $Doporuceno){
    #Blokování vytváření procesů z příkazů PSExec a WMI
    Add-MpPreference -AttackSurfaceReductionRules_Ids d1e49aac-8f56-4280-b9ba-993a6d77406c -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockUntrustedExecutebleFromUSB -or $Doporuceno){
    #Blokování nedůvěryhodného a nepodepsaného spustitelného obsahu na USB médiích
    Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockWebShell -or $Doporuceno){
    #Blokování vytvoření proscesu webshell
    Add-MpPreference -AttackSurfaceReductionRules_Ids a8f5898e-1dc8-49a9-9878-85004b8a61e6 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockExecutableFomOffice -or $Doporuceno){
    #Blokování volání aplikací z Office makra
    Add-MpPreference -AttackSurfaceReductionRules_Ids 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b -AttackSurfaceReductionRules_Actions Enabled
}
if($TurnOnAdvancedRansomwareProtection -or $Doporuceno){
    #Pokročilá ochrana před Ramsomware
    Add-MpPreference -AttackSurfaceReductionRules_Ids c1db55ab-c21a-4637-bb3f-a12568109d35 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockExploitedDriveres -or $Doporuceno){
    #Block abuse of exploited vulnerable signed drivers
    Add-MpPreference -AttackSurfaceReductionRules_Ids 56a863a9-875e-4185-98a7-b882c64b5ce5 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockJSorVBSFromDownloaded -or $Doporuceno){
    #Block JavaScript or VBScript from launching downloaded executable content
    Add-MpPreference -AttackSurfaceReductionRules_Ids d3e037e1-3eb8-44c8-a917-57927947596d -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockWMIObfuscateEvent -or $BlockWMIpersitenc -or $Doporuceno){
    #Block persistence through WMI event subscription
    Add-MpPreference -AttackSurfaceReductionRules_Ids e6db77e5-3df2-4cf1-b95a-636979351e5b -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockRebootInSafeMode){
    #Block rebooting machine in Safe Mode
    Add-MpPreference -AttackSurfaceReductionRules_Ids 33ddedf1-c6e0-47cb-833e-de6133960387 -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockInpersonatedSystemTools -or $Doporuceno){
    #Block use of copied or impersonated system tools
    Add-MpPreference -AttackSurfaceReductionRules_Ids c0033c00-d16d-4114-a5a0-dc9b3a7d2ceb -AttackSurfaceReductionRules_Actions Enabled
}
if($BlockCallWin32FromMacros -or $Doporuceno){
    #Block Win32 API calls from Office macros
    Add-MpPreference -AttackSurfaceReductionRules_Ids 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b -AttackSurfaceReductionRules_Actions Enabled
} 
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server, Základy PowerShellu

Jak stará je vaše instalace Windows a jak dlouho systém běží?

Nedávno jsem četl na Živě.cz článek: Jak stará je vaše instalace Windows a jak dlouho systém běží? Zjistíte to jednoduchým příkazem, který se zaobíral dobou běhu OS a datumem posledního upgrade OS. Ten běh OS tam napsali pěkně PowerShellově:

(gcim Win32_OperatingSystem).LastBootUpTime #datum a čas spuštění
#náže době běhu
(Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime | select Days, Hours, Minutes, Seconds

Ale co v tom článku měli již nepěkně, tak je datum a čas instalace, resp. posledního upgrade. Oni to tam parsovali textově z příkazu systeminfo, ale to je zbytečné a takováto data se špatně dále zpracovávají. Lepší cestou je využít WMI třídu Win32_OperatingSystem a vytáhnout to standardně PowerShellem:

(gcim Win32_OperatingSystem).InstallDate

což krásně vrátí objekt typu System.DateTime, takže je možné nyní si nechat spočítat stáří OS:

(get-date) - (gcim Win32_OperatingSystem).InstallDate | select days, hours, minutes
Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Informace o procesoru

Každý asi zná, soudě dle reakce mých studentů, možnost zjisti ze správce úloh model procesoru, který je v počítači instalovaný. Trošku jsem si lámal hlavu nad tím, jak to vytáhnout z více strojů a hlavně, jak zjisti více informací, které se často o stávajícím procesoru hledají. Postupně jsem dospěl k následujícímu příkazu v PowerShellu, který spíš připomíná skript:

$Architecture = @{
  Name = 'Architecture'
  Expression = {
    $value = $_.Architecture
    
    switch([int]$value)
      {
        0          {'x86'}
        1          {'MIPS'}
        2          {'Alpha'}
        3          {'PowerPC'}
        6          {'ia64'}
        9          {'x64'}
        5          {'ARM'}
        12         {'ARM64'}
        default    {"$value"}
      }
      
  }  
}
$UpgradeMethod = @{
  Name = 'UpgradeMethod'
  Expression = {
    # property is an array, so process all values
    $value = $_.UpgradeMethod
    
    switch([int]$value)
      {
        1          {'Other'}
        2          {'Unknown'}
        3          {'Daughter Board'}
        4          {'ZIF Socket'}
        5          {'Replacement/Piggy Back'}
        6          {'None'}
        7          {'LIF Socket'}
        8          {'Slot 1'}
        9          {'Slot 2'}
        10         {'370 Pin Socket'}
        11         {'Slot A'}
        12         {'Slot M'}
        13         {'Socket 423'}
        14         {'Socket A (Socket 462)'}
        15         {'Socket 478'}
        16         {'Socket 754'}
        17         {'Socket 940'}
        18         {'Socket 939'}
        default    {"$value"}
      }
      
  }  
}
$ProcessorType = @{
  Name = 'ProcessorType'
  Expression = {
    # property is an array, so process all values
    $value = $_.ProcessorType
    
    switch([int]$value)
      {
        1          {'Other'}
        2          {'Unknown'}
        3          {'Central Processor'}
        4          {'Math Processor'}
        5          {'DSP Processor'}
        6          {'Video Processor'}
        default    {"$value"}
      }
      
  }  
}
Get-WmiObject -Class Win32_Processor | select PSComputerName, Manufacturer, Name, $ProcessorType, AddressWidth, DataWidth, L2CacheSize, L3CacheSize, Caption, NumberOfCores, NumberOfLogicalProcessors, PowerManagementSupported, ProcessorId, VirtualizationFirmwareEnabled, VMMonitorModeExtensions, $Architecture, SocketDesignation, $UpgradeMethod, SecondLevelAddressTranslationExtensions, family

Family je pouze číslo, na konci článku nechám legendu z dokumentace MS. Pro koho je toto příliš složité a zdlouhavé, mám jednoduší verzi, která vypíše základnější informace.

Get-WmiObject -Class Win32_Processor | select PSComputerName, Name, AddressWidth, DataWidth, L2CacheSize, L3CacheSize, Caption, NumberOfCores, NumberOfLogicalProcessors

Přehled rodin, aneb klíč k vlastnosti family

Číslo v poslední závorce je hodnota, kterou vypíše první verze příkladu na stránce výše.

Other (1)
Unknown (2)
8086 (3)
80286 (4)
80386 (5)
80486 (6)
8087 (7)
80287 (8)
80387 (9)
80487 (10)
Pentium(R) brand (11)
Pentium(R) Pro (12)
Pentium(R) II (13)
Pentium(R) processor with MMX(TM) technology (14)
Celeron(TM) (15)
Pentium(R) II Xeon(TM) (16)
Pentium(R) III (17)
M1 Family (18)
M2 Family (19)
Intel(R) Celeron(R) M processor (20)
Intel(R) Pentium(R) 4 HT processor (21)
K5 Family (24)
K6 Family (25)
K6-2 (26)
K6-3 (27)
AMD Athlon(TM) Processor Family (28)
AMD(R) Duron(TM) Processor (29)
AMD29000 Family (30)
K6-2+ (31)
Power PC Family (32)
Power PC 601 (33)
Power PC 603 (34)
Power PC 603+ (35)
Power PC 604 (36)
Power PC 620 (37)
Power PC X704 (38)
Power PC 750 (39)
Intel(R) Core(TM) Duo processor (40)
Intel(R) Core(TM) Duo mobile processor (41)
Intel(R) Core(TM) Solo mobile processor (42)
Intel(R) Atom(TM) processor (43)
Alpha Family (48)
Alpha 21064 (49)
Alpha 21066 (50)
Alpha 21164 (51)
Alpha 21164PC (52)
Alpha 21164a (53)
Alpha 21264 (54)
Alpha 21364 (55)
AMD Turion(TM) II Ultra Dual-Core Mobile M Processor Family (56)
AMD Turion(TM) II Dual-Core Mobile M Processor Family (57)
AMD Athlon(TM) II Dual-Core Mobile M Processor Family (58)
AMD Opteron(TM) 6100 Series Processor (59)
AMD Opteron(TM) 4100 Series Processor (60)
MIPS Family (64)
MIPS R4000 (65)
MIPS R4200 (66)
MIPS R4400 (67)
MIPS R4600 (68)
MIPS R10000 (69)
SPARC Family (80)
SuperSPARC (81)
microSPARC II (82)
microSPARC IIep (83)
UltraSPARC (84)
UltraSPARC II (85)
UltraSPARC IIi (86)
UltraSPARC III (87)
UltraSPARC IIIi (88)
68040 (96)
68xxx Family (97)
68000 (98)
68010 (99)
68020 (100)
68030 (101)
Hobbit Family (112)
Crusoe(TM) TM5000 Family (120)
Crusoe(TM) TM3000 Family (121)
Efficeon(TM) TM8000 Family (122)
Weitek (128)
Itanium(TM) Processor (130)
AMD Athlon(TM) 64 Processor Family (131)
AMD Opteron(TM) Processor Family (132)
AMD Sempron(TM) Processor Family (133)
AMD Turion(TM) 64 Mobile Technology (134)
Dual-Core AMD Opteron(TM) Processor Family (135)
AMD Athlon(TM) 64 X2 Dual-Core Processor Family (136)
AMD Turion(TM) 64 X2 Mobile Technology (137)
Quad-Core AMD Opteron(TM) Processor Family (138)
Third-Generation AMD Opteron(TM) Processor Family (139)
AMD Phenom(TM) FX Quad-Core Processor Family (140)
AMD Phenom(TM) X4 Quad-Core Processor Family (141)
AMD Phenom(TM) X2 Dual-Core Processor Family (142)
AMD Athlon(TM) X2 Dual-Core Processor Family (143)
PA-RISC Family (144)
PA-RISC 8500 (145)
PA-RISC 8000 (146)
PA-RISC 7300LC (147)
PA-RISC 7200 (148)
PA-RISC 7100LC (149)
PA-RISC 7100 (150)
V30 Family (160)
Quad-Core Intel(R) Xeon(R) processor 3200 Series (161)
Dual-Core Intel(R) Xeon(R) processor 3000 Series (162)
Quad-Core Intel(R) Xeon(R) processor 5300 Series (163)
Dual-Core Intel(R) Xeon(R) processor 5100 Series (164)
Dual-Core Intel(R) Xeon(R) processor 5000 Series (165)
Dual-Core Intel(R) Xeon(R) processor LV (166)
Dual-Core Intel(R) Xeon(R) processor ULV (167)
Dual-Core Intel(R) Xeon(R) processor 7100 Series (168)
Quad-Core Intel(R) Xeon(R) processor 5400 Series (169)
Quad-Core Intel(R) Xeon(R) processor (170)
Dual-Core Intel(R) Xeon(R) processor 5200 Series (171)
Dual-Core Intel(R) Xeon(R) processor 7200 Series (172)
Quad-Core Intel(R) Xeon(R) processor 7300 Series (173)
Quad-Core Intel(R) Xeon(R) processor 7400 Series (174)
Multi-Core Intel(R) Xeon(R) processor 7400 Series (175)
Pentium(R) III Xeon(TM) (176)
Pentium(R) III Processor with Intel(R) SpeedStep(TM) Technology (177)
Pentium(R) 4 (178)
Intel(R) Xeon(TM) (179)
AS400 Family (180)
Intel(R) Xeon(TM) processor MP (181)
AMD Athlon(TM) XP Family (182)
AMD Athlon(TM) MP Family (183)
Intel(R) Itanium(R) 2 (184)
Intel(R) Pentium(R) M processor (185)
Intel(R) Celeron(R) D processor (186)
Intel(R) Pentium(R) D processor (187)
Intel(R) Pentium(R) Processor Extreme Edition (188)
Intel(R) Core(TM) Solo Processor (189)
K7 (190)
Intel(R) Core(TM)2 Duo Processor (191)
Intel(R) Core(TM)2 Solo processor (192)
Intel(R) Core(TM)2 Extreme processor (193)
Intel(R) Core(TM)2 Quad processor (194)
Intel(R) Core(TM)2 Extreme mobile processor (195)
Intel(R) Core(TM)2 Duo mobile processor (196)
Intel(R) Core(TM)2 Solo mobile processor (197)
Intel(R) Core(TM) i7 processor (198)
Dual-Core Intel(R) Celeron(R) Processor (199)
S/390 and zSeries Family (200)
ESA/390 G4 (201)
ESA/390 G5 (202)
ESA/390 G6 (203)
z/Architectur base (204)
Intel(R) Core(TM) i5 processor (205)
Intel(R) Core(TM) i3 processor (206)
Intel(R) Core(TM) i9 processor (207)
VIA C7(TM)-M Processor Family (210)
VIA C7(TM)-D Processor Family (211)
VIA C7(TM) Processor Family (212)
VIA Eden(TM) Processor Family (213)
Multi-Core Intel(R) Xeon(R) processor (214)
Dual-Core Intel(R) Xeon(R) processor 3xxx Series (215)
Quad-Core Intel(R) Xeon(R) processor 3xxx Series (216)
VIA Nano(TM) Processor Family (217)
Dual-Core Intel(R) Xeon(R) processor 5xxx Series (218)
Quad-Core Intel(R) Xeon(R) processor 5xxx Series (219)
Dual-Core Intel(R) Xeon(R) processor 7xxx Series (221)
Quad-Core Intel(R) Xeon(R) processor 7xxx Series (222)
Multi-Core Intel(R) Xeon(R) processor 7xxx Series (223)
Multi-Core Intel(R) Xeon(R) processor 3400 Series (224)
Embedded AMD Opteron(TM) Quad-Core Processor Family (230)
AMD Phenom(TM) Triple-Core Processor Family (231)
AMD Turion(TM) Ultra Dual-Core Mobile Processor Family (232)
AMD Turion(TM) Dual-Core Mobile Processor Family (233)
AMD Athlon(TM) Dual-Core Processor Family (234)
AMD Sempron(TM) SI Processor Family (235)
AMD Phenom(TM) II Processor Family (236)
AMD Athlon(TM) II Processor Family (237)
Six-Core AMD Opteron(TM) Processor Family (238)
AMD Sempron(TM) M Processor Family (239)
i860 (250)
i960 (251)
Reserved (SMBIOS Extension) (254)
Reserved (Un-initialized Flash Content – Lo) (255)
SH-3 (260)
SH-4 (261)
ARM (280)
StrongARM (281)
6×86 (300)
MediaGX (301)
MII (302)
WinChip (320)
DSP (350)
Video Processor (500)

Posted in: Windows 10, Windows 11, Windows server

ASR pravidla

MS Defender umí rozšíření zabezpečení formou tzv. ASR pravidel. Jejich úkolem je omezovat útočníkovi možnosti toho, co může využít k provedení útoku tím, že některé akce automaticky blokují. Originální dokumentace je zde: https://learn.microsoft.com/en-us/defender-endpoint/enable-attack-surface-reduction#group-policy a oficiální PowerShell pak zde: https://learn.microsoft.com/en-us/defender-endpoint/enable-attack-surface-reduction#powershell

Dnes bych se rád podělil o PowerShell kód, který umožní domácím uživatelům Windows 10 a starupům tato nastavení jednoduše využívat tím, že si zkopírují příkazy pro pravidla, která chtějí využívat. Požadavkem je edice Pro Windows 10 a vyšší edice, stejně tak Windows 11 a Windows Server 2012R2 a novější.

Sada příkazů k nastavení jednotlivých možností

#Blokace obfuskovaného kódu 
Add-MpPreference -AttackSurfaceReductionRules_Ids 56a863a9-875e-4185-98a7-b882c64b5ce5 -AttackSurfaceReductionRules_Actions Enabled 
#Blokace vytváření podřízených procesů pro Adobe PDF reader
Add-MpPreference -AttackSurfaceReductionRules_Ids 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c -AttackSurfaceReductionRules_Actions Enabled
#Blokace vytváření podřízených procesů z Office aplikací
Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled
#Blokace vytvoření otisku paměti procesu LSASS
Add-MpPreference -AttackSurfaceReductionRules_Ids d9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 -AttackSurfaceReductionRules_Actions Enabled
#Blokace spustitelného obsahu z emailu
Add-MpPreference -AttackSurfaceReductionRules_Ids be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 -AttackSurfaceReductionRules_Actions Enabled
#Blokování spouštění spustitelných souborů, pokud nesplňují kritérium prevalence, stáří nebo důvěryhodného seznamu
Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25 -AttackSurfaceReductionRules_Actions Enabled
#Blokace obfuskovaných skriptů
Add-MpPreference -AttackSurfaceReductionRules_Ids 5beb7efe-fd9a-4556-801d-275e5ffc04cc -AttackSurfaceReductionRules_Actions Enabled
#Blokování stahování spustitelného obsahu pomocí Javascript a VBscript 
Add-MpPreference -AttackSurfaceReductionRules_Ids d3e037e1-3eb8-44c8-a917-57927947596d -AttackSurfaceReductionRules_Actions Enabled
#Blokace vytváření spustitelného obsahu pomocí Office aplikací
Add-MpPreference -AttackSurfaceReductionRules_Ids 3b576869-a4ec-4529-8536-b80a7769e899 -AttackSurfaceReductionRules_Actions Enabled
#Blokace vkládání kódu do procesů z Office aplikací
Add-MpPreference -AttackSurfaceReductionRules_Ids 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 -AttackSurfaceReductionRules_Actions Enabled
#Blokování komunikace aplikace Office při vytváření podřízených procesů
Add-MpPreference -AttackSurfaceReductionRules_Ids 26190899-1602-49e8-8b27-eb1d0a1ce869 -AttackSurfaceReductionRules_Actions Enabled
#Blokování persistence pomocí WMI
Add-MpPreference -AttackSurfaceReductionRules_Ids e6db77e5-3df2-4cf1-b95a-636979351e5b -AttackSurfaceReductionRules_Actions Enabled
#Blokování vytváření procesů z příkazů PSExec a WMI
Add-MpPreference -AttackSurfaceReductionRules_Ids d1e49aac-8f56-4280-b9ba-993a6d77406c -AttackSurfaceReductionRules_Actions Enabled
#Blokování nedůvěryhodného a nepodepsaného spustitelného obsahu na USB médiích
Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions Enabled
#Blokování vytvoření proscesu webshell
Add-MpPreference -AttackSurfaceReductionRules_Ids a8f5898e-1dc8-49a9-9878-85004b8a61e6 -AttackSurfaceReductionRules_Actions Enabled
#Blokování volání aplikací z Office makra
Add-MpPreference -AttackSurfaceReductionRules_Ids 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b -AttackSurfaceReductionRules_Actions Enabled
#Pokročilá ochrana před Ramsomware
Add-MpPreference -AttackSurfaceReductionRules_Ids c1db55ab-c21a-4637-bb3f-a12568109d35 -AttackSurfaceReductionRules_Actions Enabled
Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows server, Základy PowerShellu

Výpis pravidel Windows Firewall

Určitě každý admin někdy narazí na to, že něco nefunguje kvůli chybám v síťové komunikaci. Někdy za to může nastavení Firewallu. Originální konzole je přehledná a super, ale ve velkém množství pravidel se špatně hledá, respektive jsou tam filtry, které fungují, ale fultextové vyhledání je problém. Zkuste využít předností PowerShellu a jeho výstupu GridView k hledání aktivních pravidel.

Get-NetFirewallRule | select Name, DisplayName, DisplayGroup,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled, Profile, Direction, Action | Out-GridView

Další zajímavou možností je odnést si seznam běžících pravidel a jejich konfigurace v textovém souboru, který si člověk může v klidu analyzovat, nebo takto porovnávat změny.

Get-NetFirewallRule | select Name, DisplayName, DisplayGroup,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled, Profile, Direction, Action | Out-File -FilePath C:\Firewall.txt
Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1, Windows server, Základy PowerShellu

Hash textu v PowerShellu

PowerShell nativně již nějaký pátek umí vypočítat hash souboru, což je velmi užitečné pro hledání duplicit, ověření po síti přeneseného souboru, ověření shody dvou souborů apod., takže super funkce.

Někdy je také potřeba spočítat hash z textu a nemusí jít zrovna jen nutně o heslo…. Na to PowerShell již vestavěnou funkci nemá, pro hash využívaný v AD již funkci implementoval Michael Grafnetter ve svém modulu DS Internals, já tedy zde uvedu funkci, která počítá především SHA, ale zvládne také MD5.

Function Get-StringHash {
    [cmdletbinding()]
    [OutputType([String])]
    param(
        [parameter(ValueFromPipeline, Mandatory = $true, Position = 0)][String]$String,
        [parameter(ValueFromPipelineByPropertyName, Mandatory = $true, Position = 1)]
        [ValidateSet("MD5", "RIPEMD160", "SHA1", "SHA256", "SHA384", "SHA512")][String]$HashName
    )
    begin {

    }
    Process {
        $StringBuilder = New-Object System.Text.StringBuilder
        [System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String))| foreach-object {
            [Void]$StringBuilder.Append($_.ToString("x2"))
        }
        $output = $StringBuilder.ToString()
    }
    end {
        return $output
    }
}

Funkce přijímá 2 povinné parametry, text k výpočtu hash a požadovaný algoritmus.

Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1, Windows server, Základy PowerShellu

Čtení velkých textových souborů PowerShell

Určitě nejsem sám, kdo narazil u velkých souborů na to, že rutina Get-Content zabírá příliš mnoho RAM, u cca 150 MB txt souboru i více jak 4 GB RAM, pokud potřebuji zpracovávat soubor po jednotlivých řádcích. Obecně se doporučuje využít .NET rutiny, jak popisuje Yusuf Ozturk » PowerShell Performance Tips for Large Text Operations – Part 1: Reading Files

Z výše uvedeného se mi v praxi nejvíce osvědčilo:

$LogFilePath = Read-Host -Promt "Zadej cestu k souboru"
$Lines = [io.file]::ReadAllLines($LogFilePath)
[int]$LineNumber = 0;
 
# Read Lines
foreach ($Line in $Lines)
{
	$LineNumber++
        Write-Host $Line #vypíše aktuální řádek
}

V proměnné Line se nachází aktuální řádek souboru, takže je možné s nám dále pracovat.

Posted in: Windows 10, Windows 11, Windows 8 a 8.1

Vypnutí FastBoot

Nastavení v GUI: Ovládací panely\Všechny položky Ovládacích panelů\Možnosti napájení\Nastavení systému\Nastavení vypnutí – odškrtnutí checkboxu „Zapnout rychlé spuštění (doporučeno)

Pomocí reg souboru

Níže přikládám zdrojový kód regsouboru.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power]
"HiberbootEnabled"=dword:00000000
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Zrušení automatického vypínání testovacích verzí Windows po 60 minutách

Poslední evaluation Windows mají stejně jako vývojářská VM od MS tu nevýhodu, že se po 60 minutách vypínají. V případě, že se rozhodnete využít vývojářský VM od MS, pak MS přímo uvádí, že licence OS exspiruje prvním spuštěním VM.

Automatickému vypínání Windows po 60 minutách při exspirované licenci lze v případě evaluation verze zabránit zakázáním služby Software Protection Platform Service. Zde je nutné zdůraznit, že systém se sice nebude restartovat, ale i tak je nutné jej využívat v souladu s licenční smlouvou a pouze po dobu k testování určenou! Deaktivaci této služby doporučuji provést pomocí registrů:

HKLM/SYSTEM/CurrentControlSet/Services/sppsvc

Položku Start typu DWORD nastavte na hodnotu 4.

Bez běhu této služby není možné systém jakkoliv aktivovat (multilicenčně ani běžný produktovým klíčem) a problémy s aktivací bude mít i další SW Microsoftu, jako je Office nebo Visual Studio, který nebude schopen načíst ani digitální předplatné ze zadaného účtu.

Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1

Základy zabezpečení domácí sítě

Předvánoční čas bohužel je nejnáročnější na kybernetickou bezpečnost domácností. Shánění dárků, charity, posílání přání a balíků vede k tomu, že jsme méně opatrní vůči emailům vydávajícím se za přepravce, nebo známé eshopy. Pojďme se podívat na to, jak si nastavit domácí síť tak, abychom minimalizovaly dopady.

Nastavení routeru

Router (lidově většinou nějaká Wifina) je základem každé domácí sítě. S tímto zařízením stojí a padá celá domácí síť. Pojďme se podívat na to, co bychom potřebovali na daném zařízení nastavit, nebo zkontrolovat.

  1. Aktualizace – musíme mít vždy nejnovější verze firmware a bezpečnostních aktualizací
  2. Vypnutí vzdálené správy – nepovolit vzdálené nastavení routeru
  3. Bezpečné přihlašování – silné heslo a definovaná 2 konkrétní MAC adresy (2 zařízení), které smí do nastavení přistoupit
  4. Silné zabezpečení Wi-Fi – používat nejnovější standardy zabezpečení Wi-Fi sítě (co jde, aby to všechna naše zařízení uměla)
  5. Silné heslo k Wi-Fi síti
  6. Samostatná síť pro hosty – naše přítele a členy rodiny, kteří v naší domácnosti nežijí, nepouštíme do vlastní sítě
  7. Omezení zařízení, která se mohou připojit k Wi-Fi – ideální je zadat MAC adresy zařízení, která se mohou správnými údaji přihlásit
  8. Blokování portů – doporučuji nechat dostupné jako cílové porty jen: 443, 587, 993, 995, všechny ostatní porty zakázat v celé síti
  9. Směrem do internetu doporučuji nevystavovat nic
  10. Veškeré DNS servery nastavit na hodnotu: 1.1.1.2 (cloudflare secure DNS) a 185.228.169.9 (Clean browsing secure dns)

Nastavení počítače

I když bude domácí Wi-Fi dobře nastavená, cesta nekončí. I počítač se musí dále zkontrolovat a případně nastavit.

  1. DNS v OS musíme nastavit stejně, jako jsme to udělali u routeru, tedy na 1.1.1.2 a 185.228.169.9. Pro IPv6 si najděte odpovídající konfiguraci, nebo IPv6 úplně zakažte.
  2. Mějte kvalitní bezpečnostní SW, Bitdefender (BitDefender pro domácnost (it-market.cz)), Eset (Eset Antivirus | Antivirové programy ESET NOD32 | Alza.cz) nebo jiný kvalitní placený bezpečnostní SW
  3. Nastavit DNS pomocí DOH ve Windows 11: Jak nastavit DNS-over-HTTPS ve Windows 11? (instaluj.cz) adresa DNS serveru: https://security.cloudflare-dns.com/dns-query
  4. Nastavit si DNS pomocí DOH ve webový prohlížeči: DNS přes HTTPS – Spajk.cz na adresu: https://security.cloudflare-dns.com/dns-query
  5. Instalovat každý měsíc všechny aktualizace Windows
  6. Instalovat každý měsíc všechny aktualizace všech programů

Nastavení telefonů

Stejně jako v případě počítače je potřeba nastavit i všechny telefony. Největší problém notebooků a telefonů je to, že danou domácí síť opouští.

  1. Instalovat všechny dostupné aktualizace telefonu i veškerých aplikací
  2. Nainstalovat si kvalitní placený bezpečnostním SW
  3. Nastavením bezpečných DNS pro Wi-Fi i mobilní data

Práce s emailem a sociálními sítěmi

Další část bezpečnosti jsou naše uživatelské návyky. Pojďme se podívat na to, co a jak bychom měli dělat k tomu, abychom minimalizovali riziko problému.

  1. E-shop ani dopravce nás nebude kontaktovat prostřednictvím sociální sítě
  2. U všech emailů validujeme skutečného odesílatele – v Outlooku stačí najet myší na odesílatele a neklikat, po chvíli se otevře skutečná adresa odesílatele
  3. Doporučuji instalovat analyzátor hlaviček: Find the right app | Microsoft AppSource
  4. Veškeré odkazy NEOTEVÍRAT a nejdříve analyzovat – stačí zkopírovat do VirusTotal – Home, nechat analyzovat a v záložce Detail ověřit, že adresa vede do firmy, kam opravdu chceme
  5. Neznámé emaily neotevírat!

Mobilní zařízení

Mobilní zařízení opouští naší domácí síť, jde o telefony, notebooky apod. Pojďme se podívat na to, co dělat, abychom minimalizovali riziko.

  1. NEPŘIPOJOVAT SE k veřejným sítím – Když už musíme, zajistit, že po síti budeme otevírat jen jízdní řády, mapy nebo jiný zdroj obecných informací a vše ostatní nebude provádět datové přenosy ani na pozadí
  2. I mobilní data využívat obezřetně – jde o bezpečnější variantu, nežli využívání veřejné Wi-Fi, ale i tak je vhodné minimalizovat potenciálně citlivý provoz
  3. Otevírat jen důvěryhodné weby, které dobře známe
  4. Minimalizovat datový provoz
  5. NEOTEVÍRAT odkazy ze SMS, chat a dalších informačních kanálů
  6. Zásilky sledovat výhradně pomocí čísla zásilky a oficiálního webu nebo oficiální aplikace
  7. NEOTEVÍRAT přílohy a odkazy v emailech
  8. Využívat pro přístup k internetu VPN od poskytovatele našeho bezpečnostního SW

E-shopy

Před objednáním, nebo zadáním přihlašovacích údajů, je potřeba si ověřit:

  1. Že jsme skutečně na eshopu, kde chceme být (kontrola URL adresy pomocí Whois nebo virustotal a https certifikátu).
  2. Že se eshop se nenachází na seznamu rizikových od ČOI: Rizikové e-shopy – COI
  3. Ověřit si obchodníka v rejstříku dle IČO: ARES – Ekonomické subjekty (mfcr.cz)
  4. Platit zásilky na dobírku, máte jistotu, že nepřijdete o peníze, když by se jednalo o podvod
  5. Neuvádět informace o platební kartě ani číslo účtu
Back to Top