This repository has been archived by the owner on Jun 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 287
/
Copy pathWindows10.audit
4651 lines (3911 loc) · 208 KB
/
Windows10.audit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# DISA STIG: Windows 10 STIG version 1 release 7
# Author: NSA Information Assurance
# Source: https://github.com/iadgov/Secure-Host-Baseline/tree/master/Windows/Compliance/Windows 10.audit
#--------------------------------------#
# ACL Permissions Templates
#--------------------------------------#
<check_type : "Windows" version : "2">
<group_policy : "Windows 10 STIG">
<file_acl: "LOG_ACL">
<user: "Administrators">
acl_inheritance: "not inherited"
acl_apply : "This folder, subfolders and files"
acl_allow : "Full Control"
</user>
<user: "SYSTEM">
acl_inheritance: "not inherited"
acl_apply : "This folder, subfolders and files"
acl_allow : "Full Control"
</user>
<user: "Eventlog">
acl_inheritance: "not inherited"
acl_apply : "This folder, subfolders and files"
acl_allow : "Full Control"
</user>
</acl>
<file_acl: "ROOT_ACL">
<user: "Administrators">
acl_inheritance: "not inherited"
acl_apply : "This folder, subfolders and files"
acl_allow : "Full Control"
</user>
<user: "System">
acl_inheritance: "not inherited"
acl_apply : "This folder, subfolders and files"
acl_allow : "Full Control"
</user>
<user: "Users">
acl_inheritance: "not inherited"
acl_apply : "This folder, subfolders and files"
acl_allow : "Read & Execute"
</user>
<user: "Authenticated Users">
acl_inheritance: "not used"
acl_apply : "subfolders and files only"
acl_allow : "Modify"
</user>
<user: "Authenticated Users">
acl_inheritance: "not inherited"
acl_apply : "This folder only"
acl_allow : "Create folders / append data"
</user>
</acl>
<file_acl: "WIN-PROG_ACL">
<user: "TrustedInstaller">
acl_inheritance: "not used"
acl_apply : "This folder and subfolders"
acl_allow : "Full Control"
</user>
<user: "Administrators">
acl_inheritance: "not inherited"
acl_apply : "This folder only"
acl_allow : "Modify"
</user>
<user: "Administrators">
acl_inheritance: "inherited"
acl_apply : "subfolders and files only"
acl_allow : "Full Control"
</user>
<user: "System">
acl_inheritance: "not inherited"
acl_apply : "This folder only"
acl_allow : "Modify"
</user>
<user: "System">
acl_inheritance: "inherited"
acl_apply : "subfolders and files only"
acl_allow : "Full Control"
</user>
<user: "CREATOR OWNER">
acl_inheritance: "inherited"
acl_apply : "subfolders and files only"
acl_allow : "Full Control"
</user>
<user: "ALL APPLICATION PACKAGES">
acl_inheritance: "not used"
acl_apply : "This folder, subfolders and files"
acl_allow : "Read & Execute"
</user>
<user: "Users">
acl_inheritance: "not used"
acl_apply : "This folder, subfolders and files"
acl_allow : "Read & Execute"
</user>
</acl>
# Registry Access for HKLM\Security
<registry_acl: "REG_ACL1">
<user: "Administrators">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Read Control" | "Write DAC"
</user>
<user: "SYSTEM">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Full Control"
</user>
</acl>
# Registry Access for HKLM\SOFTWARE and HKLM\SYSTEM
<registry_acl: "REG_ACL2">
<user: "SYSTEM">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Full Control"
</user>
<user: "Administrators">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Full Control"
</user>
<user: "CREATOR OWNER">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Full Control"
</user>
<user: "ALL APPLICATION PACKAGES">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Read"
</user>
<user: "Users">
acl_inheritance: "not inherited"
acl_apply : "This key and subkeys"
acl_allow : "Read"
</user>
</acl>
#--------------------------------------#
# STIG 00 settings
#--------------------------------------#
# STIG ID : WN10-00-000005
<custom_item>
type : REGISTRY_SETTING
description : "WN10-00-000005: Domain-joined systems must use Windows 10 Enterprise Edition."
info : "Features such as Credential Guard uses virtualization based security to protect secrets that could be used in credential theft attacks if compromised. There are a number of system requirements that must be met in order for Credential Guard to be configured and enabled properly. Virtualization based security and Credential Guard are only available with Windows 10 Enterprise.
STIG ID: WN10-00-000005
Vuln ID: V-63319
Rule ID: SV-77809r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "Windows 10 Enterprise"
reg_key : "HKLM\Software\Microsoft\Windows NT\CurrentVersion\"
reg_item : "ProductName"
</custom_item>
# STIG ID : WN10-00-000010
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000010: Domain-joined systems must have a Trusted Platform Module (TPM) enabled and ready for use."
info : "Credential Guard uses virtualization base security to protect secrets that could be used in credential theft attacks if compromised. There are a number of system requirements that must be met in order for Credential Guard to be configured and enabled properly. Without a TPM enabled and ready for use, Credential Guard keys are stored in a less secure method using software.
STIG ID: WN10-00-000010
Vuln ID: V-63323
Rule ID: SV-77813r2_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "True"
powershell_args: "(Get-WMIObject -class Win32_TPM -namespace root\CIMV2\security\MicrosoftTpm).IsEnabled().IsEnabled"
</custom_item>
# STIG ID : WN10-00-000025
<custom_item>
type : FILE_CHECK
description : "WN10-00-000025: McAfee HBSS must be installed."
info : "An approved tool for continuous network scanning must be installed and configured to run.
Without the use of automated mechanisms to scan for security flaws on a continuous and/or periodic basis, the operating system or other system components may remain vulnerable to the exploits presented by undetected software flaws.
To support this requirement, the operating system may have an integrated solution incorporating continuous scanning using HBSS and periodic scanning using other tools, as specified in the requirement.
STIG ID: WN10-00-000025
Vuln ID: V-63343
Rule ID: SV-77833r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "%ProgramFiles(x86)%\McAfee\Common Framework\FrameworkService.exe"
file_option : MUST_EXIST
</custom_item>
# STIG ID : WN10-00-000035
<if>
<condition type: "and">
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000035: AppLocker Rules Must Exist"
value_type : POLICY_TEXT
value_data : "0"
check_type : CHECK_NOT_EQUAL
powershell_args: '(Get-AppLockerPolicy -Effective | select-object RuleCollections | select-object -ExpandProperty RuleCollections).Name.Count'
</custom_item>
<custom_item>
type : AUDIT_POWERSHELL
description: "WN10-00-000035: Application Identity service must be running."
value_type : POLICY_TEXT
value_data : "Running"
powershell_args: "(Get-Service -Name 'Application Identity').Status"
</custom_item>
</condition>
<then>
<report type : "PASSED">
description: "WN10-00-000035: The operating system must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs."
info : "Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities.
The organization must identify authorized software programs and only permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting.
AppLocker is a whitelisting application built into Windows 10 Enterprise.
This check will pass if there are more than 0 AppLocker Rule Collections and the 'Application Identity' service is running. Otherwise check manually.
STIG ID: WN10-00-000035
Vuln ID: V-63345
Rule ID: SV-77835r1_rule
Severity: CAT I"
</report>
</then>
<else>
<report type : "FAILED">
description: "WN10-00-000035: The operating system must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs."
info : "Utilizing a whitelist provides a configuration management method for allowing the execution of only authorized software. Using only authorized software decreases risk by limiting the number of potential vulnerabilities.
The organization must identify authorized software programs and only permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting.
AppLocker is a whitelisting application built into Windows 10 Enterprise.
This check will pass if there are more than 0 AppLocker Rule Collections. Otherwise check manually.
STIG ID: WN10-00-000035
Vuln ID: V-63345
Rule ID: SV-77835r1_rule
Severity: CAT I"
</report>
</else>
</if>
# STIG ID : WN10-00-000040
<custom_item>
type : REGISTRY_SETTING
description : "WN10-00-000040: Systems must be maintained at a supported servicing level."
info : "Systems at unsupported servicing levels or releases will not receive security updates for new vulnerabilities which leaves them subject to exploitation.
Windows 10 is maintained by Microsoft at servicing levels for specific periods of time to support Windows as a Service. The Current Branch (CB) is the only option for consumer versions and will be maintained for approximately 4 months before a new CB is declared. Only the current CB is serviced with updates. Professional and Enterprise versions may select the Current Branch for Business (CBB) which is declared at the end of a Current Branch period and will be maintained for approximately 8 additional months. There will only be 2 CBBs active at any given time which will be serviced with updates. A separate servicing branch intended for special purpose systems is the Long-Term Servicing Branch which will receive security updates for 10 years but excludes feature updates.
The Release ID is stored in the registry as a text string so passing a value greater than '1511' is not possible through Nessus.
STIG ID: WN10-00-000040
Vuln ID: V-63349
Rule ID: SV-77839r1_rule
Severity: CAT I"
value_type : POLICY_TEXT
value_data : "1511"
reg_key : "HKLM\Software\Microsoft\Windows NT\CurrentVersion\"
reg_item : "ReleaseID"
check_type : CHECK_GREATER_THAN_OR_EQUAL
</custom_item>
# STIG ID : WN10-00-000045
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000045: An approved, up-to-date, DoD antivirus program must be installed and used."
info : "Antivirus programs are a primary line of defense against the introduction of viruses and malicious code that can destroy data and even render a computer inoperable. Utilizing an antivirus program provides the ability to detect malicious code before extensive damage occurs. Updated virus scan data files help to protect a system, ssince new malware are identified by the software vendors on a continual basis.
This check just ensures that McAfee VirusScan Enterprise 8.8 is installed by checking the version number on the file
%ProgramFiles(x86)%\McAfee\VirusScan Enterprise\x64\scan64.exe
This check doesn't ensure that the definitions are up-to-date.
STIG ID: WN10-00-000045
Vuln ID: V-63351
Rule ID: SV-77841r1_rule
Severity: CAT I"
value_type : POLICY_TEXT
value_data : "8.8"
powershell_args: "try {(Get-ChildItem ${env:ProgramFiles(x86)}\McAfee\'VirusScan Enterprise'\x64\scan64.exe -ErrorAction SilentlyContinue | Select-Object -ExpandProperty VersionInfo).FileVersion.Substring(0,3) } catch { '0.0' }"
</custom_item>
# STIG ID : WN10-00-000050
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000050: Local volumes must be formatted using NTFS"
info : "The ability to set access permissions and auditing is critical to maintaining the security and proper access controls of a system. To support this, volumes must be formatted using the NTFS file system.
STIG ID: WM10-00-000050
Vuln ID: V-63353
Rule ID: SV-77843r1_rule
Severity: CAT I"
value_type : POLICY_TEXT
value_data : "NTFS"
powershell_args: "$FileSystem = 'NTFS'; $drives = (get-wmiobject -class 'Win32_Volume' -namespace 'root\CIMV2' -filter 'DriveType = 3' -computername '.'); foreach ($drive in $drives) { if (-Not $drive.FileSystem -Match 'NTFS') { $FileSystem = $drives.FileSystem; } }; write-output $FileSystem;"
</custom_item>
# STIG ID : WN10-00-000055
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000055: Alternate operating systems must not be permitted on the same system."
info : "Allowing other operating systems to run on a secure system may allow security to be circumvented.
Test returns the number of operating systems installed. Should be 1.
STIG ID: WM10-00-000055
Vuln ID: V-63355
Rule ID: SV-77845r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "1"
powershell_args: "(bcdedit /enum | select-string description | select-string -NotMatch 'Boot Manager').Count"
</custom_item>
# STIG ID : WN10-00-000060
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000060: Non system-created file shares on a system must limit access to groups that require it."
info : "Shares which provide network access, should not typically exist on a workstation except for system-created administrative shares, and could potentially expose sensitive information. If a share is necessary, share permissions as well as NTFS permissions, must be reconfigured to give the minimum access to those accounts that require it.
STIG ID: WM10-00-000060
Vuln ID: V-63357
Rule ID: SV-77847r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "TRUE"
powershell_args: "if ((Get-SMBShare).Count - (Get-SMBShare -Special 1).Count -gt 0) {(Get-SMBShare -Special 0).Path} else {echo TRUE}"
</custom_item>
# STIG ID : WN10-00-000065
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000065: Unused accounts must be disabled or removed from the system after 35 days of inactivity"
info : "Outdated or unused accounts provide penetration points that may go undetected. Inactive accounts must be deleted if no longer necessary or, if still required, disabled until needed.
This check will only analyze local system accounts.
STIG ID: WM10-00-000065
Vuln ID: V-63359
Rule ID: SV-77849r1_rule
Severity: CAT III"
value_type : POLICY_TEXT
value_data : "None"
powershell_args: "$Cutoff = (Get-Date).AddDays(-35); $Cnt = 0; ([ADSI]('WinNT://{0}' -f $env:COMPUTERNAME)).Children | Where { $_.SchemaClassName -eq 'user' } | ForEach { $user = ([ADSI]$_.Path); $lastLogin = $user.Properties.LastLogin.Value; $enabled = ($user.Properties.UserFlags.Value -band 0x2) -ne 0x2; if ($lastLogin -lt $Cutoff -And $enabled) {Write-Output $user.Name; $Cnt++;}}; if ($Cnt -eq 0) {Write-Output 'None';};"
</custom_item>
# STIG ID : WN10-00-000070
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000070: Only accounts responsible for the administration of a system must have Administrator rights on the system."
info : "An account that does not have Administrator duties must not have Administrator rights. Such rights would allow the account to bypass or modify required security restrictions on that machine and make it more vulnerable to attack.
System administrators must log on to systems only using accounts with the minimum level of authority necessary.
Standard user accounts must not be members of the local administrators group.
Output returns the members in the local 'Administrators' group. Verify the members need for administrator access.
STIG ID: WM10-00-000070
Vuln ID: V-63365
Rule ID: SV-77855r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : " "
severity : MEDIUM
powershell_args: "if (($m = (Get-WMIObject Win32_Group | Where-Object { $_.Name -eq 'Administrators' }).GetRelated() | Where-Object { ($_.__CLASS -eq 'Win32_UserAccount' -or $_.__CLASS -eq 'Win32_Group') -and $_.Disabled -ne 'True' } | Select-Object Caption | Select-Object -ExpandProperty Caption) -eq $NULL) {'NULL'} else {$m}"
</custom_item>
# STIG ID : WN10-00-000075
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000075: Only accounts responsible for the backup operations must be a member of the Backup Operators group."
info : "Backup Operators are able to read and write to any file in the system, regardless of the rights assigned to it. Backup and restore rights permit users to circumvent the file access restrictions present on NTFS disk drives for backup and restore purposes. Members of the Backup Operators group must have separate logon accounts for performing backup duties.
Output returns the members in the local 'Backup Operators' group. The test will pass if the group has no members. Verify users otherwise.
STIG ID: WM10-00-000070
Vuln ID: V-63365
Rule ID: SV-77855r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "NULL"
severity : MEDIUM
powershell_args: "if (($m = (Get-WMIObject Win32_Group | Where-Object { $_.Name -eq 'Backup Operators' }).GetRelated() | Where-Object { ($_.__CLASS -eq 'Win32_UserAccount' -or $_.__CLASS -eq 'Win32_Group') -and $_.Disabled -ne 'True' } | Select-Object Caption | Select-Object -ExpandProperty Caption) -eq $NULL) {'NULL'} else {$m}"
</custom_item>
# STIG ID : WN10-00-000080
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000080: Users must not be allowed to run virtual machines in Hyper-V on the system."
info : "Allowing other operating systems to run on a secure system may allow users to circumvent security. Hyper-V is used by the Credential Guard feature on Windows 10. Preventing users from being assigned to the Hyper-V Administrators group will prevent them from accessing or creating virtual machines on the system.
Output returns the members in the local 'Hyper-V Administrators' group. Test will pass if the group has no members.
STIG ID: WM10-00-000080
Vuln ID: V-63365
Rule ID: SV-77855r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "NULL"
powershell_args: "if (($m = (Get-WMIObject Win32_Group | Where-Object { $_.Name -eq 'Hyper-V Administrators' }).GetRelated() | Where-Object { ($_.__CLASS -eq 'Win32_UserAccount' -or $_.__CLASS -eq 'Win32_Group') -and $_.Disabled -ne 'True' } | Select-Object Caption | Select-Object -ExpandProperty Caption) -eq $NULL) {'NULL'} else {$m}"
</custom_item>
# STIG ID : WN10-00-000085
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000085: Standard local user accounts must not exist on a system in a domain."
info : "To minimize potential points of attack, local user accounts, other than built-in accounts and local administrator accounts, must not exist on a workstation in a domain. Users must log onto workstations in a domain with their domain accounts.
Output returns the number of local users on the system. It is expected that only 1 user, the local administrator, should exist on the system.
STIG ID: WM10-00-000085
Vuln ID: V-63367
Rule ID: SV-77857r1_rule
Severity: CAT III"
value_type : POLICY_TEXT
value_data : "0" || "1"
powershell_args: "((Get-WMIObject -class Win32_userAccount -filter 'LocalAccount = True').Disabled | select-string False).Count"
</custom_item>
# STIG ID : WN10-00-000090
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000090: Accounts must be configured to require password expiration."
info : "Passwords that do not expire increase exposure with a greater probability of being discovered or cracked.
Output returns the number of local users on the system. It is expected that only 1 user, the local administrator, should exist on the system.
STIG ID: WM10-00-000090
Vuln ID: V-63371
Rule ID: SV-77861r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "NULL"
powershell_args: "$Active = 0;$colItems = (get-wmiobject -class 'Win32_userAccount' -namespace 'root\CIMV2' -filter 'LocalAccount = True' -computername '.'); foreach ($objItem in $colItems) { if (-Not $objItem.PasswordExpires) { write-output $objItem.Caption; $Active++; } }; if ($Active -eq 0) { write-output 'NULL' }"
</custom_item>
# STIG ID : WN10-00-000095
<if>
<condition type: "and">
<custom_item>
type : FILE_PERMISSIONS
description: "File permissions on C:\"
value_type : FILE_ACL
value_data : "ROOT_ACL"
file : "%SystemDrive%\"
</custom_item>
<custom_item>
type : FILE_PERMISSIONS
description: "File permissions on C:\Windows"
value_type : FILE_ACL
value_data : "WIN-PROG_ACL"
file : "%SystemRoot%"
</custom_item>
<custom_item>
type : FILE_PERMISSIONS
description: "File permissions on C:\Program Files"
value_type : FILE_ACL
value_data : "WIN-PROG_ACL"
file : "%ProgramFiles%"
</custom_item>
</condition>
<then>
<report type: "PASSED">
description: "WN10-00-000095: Permissions for system files and directories must conform to minimum requirements."
info : "Changing the system's file and directory permissions allow the possibility of unauthorized and anonymous modification to the operating system and installed applications.
C:\
Administrators - Full Control - This folder, subfolders and files
SYSTEM - Full Control - This folder, subfolders and files
Users - Read & execute - This folder, subfolders and files
Authenticated Users - Modify - Subfolders and files only
Authenticated Users - Create folders / append data - This folder only
\Program Files & \Windows
TrustedInstaller - Full Control - This folder, subfolders and files
SYSTEM - Modify - This folder only
SYSTEM - Full Control - This folder, subfolders and files
Administrators - Modify - This folder only
Administrators - Full Control - Subfolders and files only
Users - Read & execute - This folder, subfolders and files
CREATOR OWNER - Full Control - Subfolders and files only
ALL APPLICATION PACKAGES - Read & execute - This folder, subfolder and files
STIG ID: WM10-00-000095
Vuln ID: V-63373
Rule ID: SV-77863r1_rule
Severity: CAT II"
</report>
</then>
<else>
<report type: "FAILED">
description: "WN10-00-000095: Permissions for system files and directories must conform to minimum requirements."
info : "Changing the system's file and directory permissions allow the possibility of unauthorized and anonymous modification to the operating system and installed applications.
C:\
Administrators - Full Control - This folder, subfolders and files
SYSTEM - Full Control - This folder, subfolders and files
Users - Read & execute - This folder, subfolders and files
Authenticated Users - Modify - Subfolders and files only
Authenticated Users - Create folders / append data - This folder only
\Program Files & \Windows
TrustedInstaller - Full Control - This folder, subfolders and files
SYSTEM - Modify - This folder only
SYSTEM - Full Control - This folder, subfolders and files
Administrators - Modify - This folder only
Administrators - Full Control - Subfolders and files only
Users - Read & execute - This folder, subfolders and files
CREATOR OWNER - Full Control - Subfolders and files only
ALL APPLICATION PACKAGES - Read & execute - This folder, subfolder and files
STIG ID: WM10-00-000095
Vuln ID: V-63373
Rule ID: SV-77863r1_rule
Severity: CAT II"
</report>
</else>
</if>
# STIG ID : WN10-00-000100
<custom_item>
type : REG_CHECK
description : "WN10-00-000100: Internet Information System (IIS) or its subcomponents must not be installed on a workstation."
info : "Installation ofInternet Information System (IIS) may allow unauthorized internet services to be hosted. Websites must only be hosted on servers that have been designated for that purpose and can be adequately secured.
Test checks if HKLM\SOFTWARE\Microsoft\Inetstp\Components\ exists. It must not exist to pass.
STIG ID: WM10-00-000100
Vuln ID: V-63377
Rule ID: SV-77867r1_rule
Severity: CAT I"
value_type : POLICY_TEXT
value_data : "HKLM\SOFTWARE\Microsoft\Inetstp\Components"
reg_option : MUST_NOT_EXIST
</custom_item>
# STIG ID : WN10-00-000105
<custom_item>
type : FILE_CHECK
description : "WN10-00-000105: Simple Network Management Protocol (SNMP) must not be installed on the system."
info : "Some protocols and services do not support required security features, such as encrypting passwords or traffic.
STIG ID: WN10-00-000105
Vuln ID: V-63381
Rule ID: SV-778871r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "%SystemRoot%\snmp.exe"
file_option : MUST_NOT_EXIST
</custom_item>
# STIG ID : WN10-00-000110
<custom_item>
type : FILE_CHECK
description : "WN10-00-000110: Simple TCIPIP Services must not be installed on the system."
info : "Some protocols and services do not support required security features, such as encrypting passwords or traffic.
STIG ID: WN10-00-000110
Vuln ID: V-63383
Rule ID: SV-77873r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "%SystemRoot%\tcpsvcs.exe"
file_option : MUST_NOT_EXIST
</custom_item>
# STIG ID : WN10-00-000115
<custom_item>
type : FILE_CHECK
description : "WN10-00-000115: The Telnet Client must not be installed on the system."
info : "Some protocols and services do not support required security features, such as encrypting passwords or traffic.
STIG ID: WN10-00-000115
Vuln ID: V-63385
Rule ID: SV-77875r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "%SystemRoot%\telnet.exe"
file_option : MUST_NOT_EXIST
</custom_item>
# STIG ID : WN10-00-000120
<custom_item>
type : FILE_CHECK
description : "WN10-00-000120: The TFTP Client must not be installed on the system."
info : "Some protocols and services do not support required security features, such as encrypting passwords or traffic.
STIG ID: WN10-00-000120
Vuln ID: V-63389
Rule ID: SV-77879r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "%SystemRoot%\TFTP.exe"
file_option : MUST_NOT_EXIST
</custom_item>
# STIG ID : WN10-00-000125
<if>
<condition type: "and">
<custom_item>
type : AUDIT_POWERSHELL
description: "WN10-00-000125: The HBSS McAfee agent must be installed."
value_type : POLICY_TEXT
value_data : "True"
powershell_args: "(Test-Path -Path ${env:ProgramFiles(x86)}\McAfee\'Common Framework'\FrameworkService.exe) -or (Test-Path -Path ${env:ProgramFiles(x86)}\McAfee\'Common Framework'\masvc.exe)"
</custom_item>
<custom_item>
type : AUDIT_POWERSHELL
description: "WN10-00-000125: The HBSS McAfee agent must be installed."
value_type : POLICY_TEXT
value_data : "Running"
powershell_args: "try { (Get-Service -Name 'McAfee Framework Service' -ErrorActionSilentlyContinue).Status} catch { 'Not Installed'}"
</custom_item>
</condition>
<then>
<report type : "PASSED">
description: "WN10-00-000125: The HBSS McAfee agent must be installed."
info : "Search for the file FrameworkService.exe (by default in the \Program Files (x86)\McAfee\Common Framework\ directory) and check that the version is 4 or above.
Also verify that the Service 'McAfee Framework Service' is running.
If either of these conditions does not exist, this is a finding.
STIG ID: WM10-00-000125
Vuln ID: V-63395
Rule ID: SV-77885r1_rule
Severity: CAT II"
</report>
</then>
<else>
<report type : "FAILED">
description: "WN10-00-000125: The HBSS McAfee agent must be installed."
info : "Search for the file FrameworkService.exe (by default in the \Program Files (x86)\McAfee\Common Framework\ directory) and check that the version is 4 or above.
Also verify that the Service 'McAfee Framework Service' is running.
If either of these conditions does not exist, this is a finding.
STIG ID: WM10-00-000125
Vuln ID: V-63395
Rule ID: SV-77885r1_rule
Severity: CAT II"
</report>
</else>
</if>
# STIG ID : WN10-00-000135
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000135: A host-based firewall must be installed and enabled on the system."
info : "A firewall provides a line of defense against attack, allowing or blocking incoming ond outbound connections based on a set of rules.
STIG ID: WM10-00-000135
Vuln ID: V-63399
Rule ID: SV-77889r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "True"
powershell_args: "Get-NetFirewallProfile -name Public | Select-Object Enabled | Select-Object -ExpandProperty Enabled"
</custom_item>
# STIG ID : WN10-00-000145
<custom_item>
type : AUDIT_POWERSHELL
description : "WN10-00-000145: Data Execution Prevention (DEP) must be configured to at least OptOut."
info : "Attackers are constantly looking for vulnerabilities in systems and applications. Data Execution Prevention (DEP) prevents harmful
code from running in protected memory locations reserved for Windows and other programs.
STIG ID: WM10-00-000145
Vuln ID: V-68845
Rule ID: SV-83439r1_rule
Severity: CAT I"
value_type : POLICY_TEXT
value_data : "3"
powershell_args: "(Get-WmiObject -Class Win32_OperatingSystem -Property DataExecutionPrevention_SupportPolicy | Select-Object DataExecutionPrevention_SupportPolicy | ft -HideTableHeaders | Out-String).trim()"
</custom_item>
# STIG ID : WN10-00-000150
<custom_item>
type : REGISTRY_SETTING
description : "WN10-00-000150: Structured Exception Handling Overwrite Protection (SEHOP) must be turned on."
info : "Attackers are constantly looking for vulnerabilities in systems and applications. Structured Exception Handling Overwrite Protection (SEHOP) blocks exploits
that use the Structured Exception Handling overwrite technique, a common buffer overflow attack.
STIG ID: WN10-00-000150
Vuln ID: V-68849
Rule ID: SV-83445r1_rule
Severity: CAT I"
value_type : POLICY_DWORD
value_data : 0
reg_key : "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel"
reg_item : "DisableExceptionChainValidation"
</custom_item>
# STIG ID : WN10-00-000155
<custom_item>
type : REG_CHECK
description : "WN10-00-000155: The Windows PowerShell 2.0 feature must be disabled on the system."
info : "Windows PowerShell 5.0 added advanced logging features which can provide additional detail when malware has been run on a system.
Disabling the Windows PowerShell 2.0 mitigates against a downgrade attack that evades the Windows PowerShell 5.0 script block logging feature.
STIG ID: WN10-00-000155
Vuln ID: V-70637
Rule ID: SV-85259r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "HKLM\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine"
reg_option : MUST_NOT_EXIST
key_item : "PowerShellVersion"
</custom_item>
# STIG ID : WN10-00-000160
<custom_item>
type : REG_CHECK
description : "WN10-00-000160: The Server Message Block (SMB) v1 protocol must be disabled on the system."
info : "SMBv1 is a legacy protocol that uses the MD5 algorithm as part of SMB. MD5 is known
to be vulnerable to a number of attacks such as collision and preimage attacks as well as not being FIPS compliant.
STIG ID: WN10-00-000160
Vuln ID: V-70639
Rule ID: SV-85261r1_rule
Severity: CAT II"
value_type : POLICY_TEXT
value_data : "HKLM\SYSTEM\CurrentControlSet\Services\mrxsmb10"
reg_option : MUST_NOT_EXIST
key_item : "Start"
</custom_item>
#--------------------------------------#
# STIG AC settings
#--------------------------------------#
# STIG ID : WN10-AC-000005
<custom_item>
type : LOCKOUT_POLICY
description : "WN10-AC-000005: The lockout duration must be configured to require an administrator to unlock an account."
info : "The account lockout feature, when enabled, prevents brute-force password attacks on the system. This parameter specifies the amount of time that an account will remain locked after the specified number of failed logon attempts. A value of 0 will require an administrator to unlock the account.
STIG ID: WN10-AC-000005
Vuln ID: V-63405
Rule ID: SV-77895r1_rule
Severity: CAT II"
value_type : TIME_MINUTE
value_data : 0
lockout_policy : LOCKOUT_DURATION
</custom_item>
# STIG ID : WN10-AC-000010
<custom_item>
type : LOCKOUT_POLICY
description : "WN10-AC-000010: The number of allowed bad logon attempts myst be configured to 3 or less."
info : "The account lockout feature, when enabled, prevents brute-force password attacks on the system. The higher this value is, the less effective the account lockout feature will be in protecting the local system. The number of bad logon attempts must be reasonably small to minimize the possibility of a successful password attack, while allowing for honest errors made during a normal user logon.
STIG ID: WN10-AC-000010
Vuln ID: V-63409
Rule ID: SV-77899r1_rule
Severity: CAT II"
value_type : POLICY_DWORD
value_data : [1..3]
lockout_policy : LOCKOUT_THRESHOLD
</custom_item>
# STIG ID : WN10-AC-000015
<custom_item>
type : LOCKOUT_POLICY
description : "WN10-AC-000015: The period of time before the bad logon counter is reset must be configured to 15 minutes."
info : "The account lockout feature, when enabled, prevents brute-force password attacks on the system. This parameter specifies the period of time that must pass after failed logon attempts before the counter is reset to 0. The smaller this value is, the less effective the account lockout feature will be in protecting the local system.
STIG ID: WN10-AC-000015
Vuln ID: V-63413
Rule ID: SV-77903r1_rule
Severity: CAT II"
value_type : TIME_MINUTE
value_data : 15
lockout_policy : LOCKOUT_RESET
check_type : CHECK_GREATER_THAN_OR_EQUAL
</custom_item>
# STIG ID : WN10-AC-000020
<custom_item>
type : PASSWORD_POLICY
description : "WN10-AC-000020: The password history must be configured to 24 passwords remembered."
info : "A system is more vulnerable to unauthorized access when system users recycle the same password several times without being required to change a password to a unique password on a regularly scheduled basis. This enables users to effectively negate the purpose of mandating periodic password changes.
STIG ID: WN10-AC-000020
Vuln ID: V-63415
Rule ID: SV-77905r1_rule
Severity: CAT II"
value_type : POLICY_DWORD
value_data : 24
password_policy: ENFORCE_PASSWORD_HISTORY
</custom_item>
# STIG ID : WN10-AC-000025
<custom_item>
type : PASSWORD_POLICY
description : "WN10-AC-000025: The maximum password age must be configured to 60 days or less."
info : "The longer a password is in use, the greater the opportunity for someone to gain unauthorized knowledge of the passwords. Scheduled changing of passwords hinders the ability of unauthorized system users to crack passwords and gain access to a system.
STIG ID: WN10-AC-000025
Vuln ID: V-63419
Rule ID: SV-77909r1_rule
Severity: CAT II"
value_type : TIME_DAY
value_data : 60
password_policy: MAXIMUM_PASSWORD_AGE
</custom_item>
# STIG ID : WN10-AC-000030
<custom_item>
type : PASSWORD_POLICY
description : "WN10-AC-000030: The minimum password age must be configured to at least 1 day."
info : "Permitting passwords to be changed in immediate succession within the same day allows users to cycle passwords through their history database. This enables users to effectively negate the purpose of mandating periodic password changes.
STIG ID: WN10-AC-000030
Vuln ID: V-63421
Rule ID: SV-77911r1_rule
Severity: CAT II"
value_type : TIME_DAY
value_data : 1
password_policy: MINIMUM_PASSWORD_AGE
</custom_item>
# STIG ID : WN10-AC-000035
<custom_item>
type : PASSWORD_POLICY
description : "WN10-AC-000035: Passwords must, at a minimum, be 14 characters"
info : "Information systems not protected with strong password schemes (including passwords of minimum length) provide the opportunity for anyone to crack the password, thus gaining access to the system and compromising the device, information, or the local network.
STIG ID: WN10-AC-000035
Vuln ID: V-63423
Rule ID: SV-77913r1_rule
Severity: CAT II"
value_type : POLICY_DWORD
value_data : 14
password_policy: MINIMUM_PASSWORD_LENGTH
check_type : CHECK_GREATER_THAN_OR_EQUAL
</custom_item>
# STIG ID : WN10-AC-000040
<custom_item>
type : PASSWORD_POLICY
description : "WN10-AC-000040: The built-in Microsoft password complexity filter must be enabled."
info : "The use of complex passwords increases their strength against guessing and brute-force attacks. This setting configures the system to verify that newly created passwords conform to the Windows password complexity policy.
STIG ID: WN10-AC-000040
Vuln ID: V-63427
Rule ID: SV-77917r1_rule
Severity: CAT II"
value_type : POLICY_SET
value_data : "Enabled"
password_policy: COMPLEXITY_REQUIREMENTS
</custom_item>
# STIG ID : WN10-AC-000045
<custom_item>
type : PASSWORD_POLICY
description : "WN10-AC-000045: Reversible password encryption must be disabled."
info : "Storing passwords using reversible encryption is essentially the same as storing clear-text versions of the passwords. For this reason, this policy must never be enabled.
STIG ID: WN10-AC-000045
Vuln ID: V-63429
Rule ID: SV-77919r1_rule
Severity: CAT I"
value_type : POLICY_SET
value_data : "Disabled"
password_policy: REVERSIBLE_ENCRYPTION
</custom_item>
#--------------------------------------#
# STIG AU settings
#--------------------------------------#
# STIG ID : WN10-AU-000005
# STIG ID : WN10-AU-000010
<custom_item>
type : AUDIT_POLICY_SUBCATEGORY
description : "WN10-AU-000005/10 The system must be configured to audit Account Logon - Credential Validation successes and failures."
info : "Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.
Credential validation records events related to validation tests on credentials for a user account logon.
STIG ID: WN10-AU-000005 / WN10-AU-000010
Vuln ID: V-63431 / V-63435
Rule ID: SV-77921r1_rule / SV-77925r1_rule
Severity: CAT II"
value_type : AUDIT_SET
value_data : "Success, Failure"
audit_policy_subcategory: "Credential Validation"
</custom_item>
# STIG ID : WN10-AU-000015
# STIG ID : WN10-AU-000020
<custom_item>
type : AUDIT_POLICY_SUBCATEGORY
description : "WN10-AU-000015/20: The system must be configured to audit Account Management - Other Account Management Events successes and failures."
info : "Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior. Other Account Management records events such as the access of a password hash or the Password Policy Checking API being called.
STIG ID: WN10-AU-000015 / WN10-AU-000020
Vuln ID: V-63439 / V-63441
Rule ID: SV-77929r1_rule / SV-77931r1_rule
Severity: CAT II"
value_type : AUDIT_SET
value_data : "Success, Failure"
audit_policy_subcategory: "Other Account Management Events"
</custom_item>
# STIG ID : WN10-AU-000025
# STIG ID : WN10-AU-000030
<custom_item>
type : AUDIT_POLICY_SUBCATEGORY
description : "WN10-AU-000025/30: The system must be configured to audit Account Management - Security Group Management successes and failures."
info : "Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.
Security Group Management records events such as creating, deleting or changing of security groups, including changes in group members.
STIG ID: WN10-AU-000025 / WN10-AU-000030
Vuln ID: V-63443 / V-63445
Rule ID: SV-77933r1_rule / SV-77935r1_rule
Severity: CAT II"
value_type : AUDIT_SET
value_data : "Success, Failure"
audit_policy_subcategory: "Security Group Management"
</custom_item>
# STIG ID : WN10-AU-000035
# STIG ID : WN10-AU-000040
<custom_item>
type : AUDIT_POLICY_SUBCATEGORY
description : "WN10-AU-000035/40: The system must be configured to audit Account Management - User Account Management successes and failures."
info : "Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.
User Account Management records events such as creating, changing, deleting, renaming, disabling, or enabling user accounts.
STIG ID: WN10-AU-000035 / WN10-AU-000040
Vuln ID: V-63447 / V-63449
Rule ID: SV-77937r1_rule / SV-77939r1_rule
Severity: CAT II"
value_type : AUDIT_SET
value_data : "Success, Failure"
audit_policy_subcategory: "User Account Management"
</custom_item>
# STIG ID : WN10-AU-000045
<custom_item>
type : AUDIT_POLICY_SUBCATEGORY
description : "WN10-AU-000045: The system must be configured to audit Detailed Tracking - PNP Activity successes."
info : "Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.
Plug and Play activity records events related to the successful connection of external devices.
STIG ID: WN10-AU-000045
Vuln ID: V-63451
Rule ID: SV-77941r1_rule
Severity: CAT II"
value_type : AUDIT_SET
value_data : "Success" || "Success, Failure"
audit_policy_subcategory: "Plug and Play Events"
</custom_item>
# STIG ID : WN10-AU-000050
<custom_item>
type : AUDIT_POLICY_SUBCATEGORY
description : "WN10-AU-000050: The system must be configured to audit Detailed Tracking - Process Creation successes."
info : "Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior.
Process creation records events related to the creation of a process and the source.