-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathCiscoAdvisoryReport.ps1
2392 lines (2045 loc) · 112 KB
/
CiscoAdvisoryReport.ps1
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
#Requires -Version 3.0
#Requires -Modules Microsoft.PowerShell.Utility
<#
.SYNOPSIS
This script is used to obtain latest Cisco CVE advisories and report on them to IT. The report generated is brand customizble allowing you to update colors and logo.
.DESCRIPTION
Obtain the latest Cisco Advisory information for Cisco network devices. The report generated is brand customizble allowing you to update colors and logo.
.PARAMETER OutFile
Define the location to save your results too
.PARAMETER ProductName
Define the Cisco Products to collect Advisory information on
.PARAMETER OSInfo
Define an object that contains a possible OS type from Cisco and the lowest version you are using to return more accurate CVE information for your environment
.PARAMETER ClientId
Define your Client ID as provided by Cisco. You can obtain one by logging into https://apiconsole.cisco.com/ and creating an Application
.PARAMETER ClientSecret
Define your Client Secret as provided by Cisco. You can obtain one by logging into https://apiconsole.cisco.com/ and creating an Application
.PARAMETER FromEmail
Define the email address that will send emails
.PARAMETER ToEmail
Define the email address that should receive the stale device disable/delete information
.PARAMETER EmailAzureKeyVaultName
Define the name of the Azure Key Vault containing the secret you need
.PARAMETER EmailAzureSecretName
Define the name of the secret value in the Azure Key Vault. This value should contain the password for the -FromEmail parameter in this script and it is used to connect to the MSOnline PowerShell module
.PARAMETER TenantID
Define your Azure Tenant ID contining the Key Vault
.PARAMETER ApplicationID
Define the Application ID GUID value for the service principal name in Azure. This is a custom application you create with a certificate attached to it for authentication
.PARAMETER CertificateThumbprint
Define the certificate thumbprint for the certificate used to authenticate to the Azure Key Vault associated with Application ID
.PARAMETER SmtpServer
Define the SMTP server to send emails from
.PARAMETER EmailPort
Define the SMTP port to send emails from
.PARAMETER SMTPUseSSL
Define whether to use STARTTLS or SMTPS based on port selected
.PARAMETER LogoFilePath
Define the path to a company image to include in the email and report. Roughly 800px by 200px usually looks nice. Max width is 975px
.PARAMETER HtmlBodyBackgroundColor
Define the main HTML body background color
.PARAMETER HtmlBodyTextColor
Define the text color used in paragraphs
.PARAMETER H1BackgroundColor
Define the background color for h1 HTML values
.PARAMETER H1TextColor
Define the text color used in H1 elements
.PARAMETER H1BorderColor
Define the color used in H1 borders
.PARAMETER H2TextColor
Define the background color for h1 HTML values
.PARAMETER H3BackgroundColor
Define the background color for h1 HTML values
.PARAMETER H3BorderColor
Define the border color for h1 HTML values
.PARAMETER H3TextColor
Define the text color of h3 elements
.PARAMETER TableHeaderBackgroundColor
Define the background color of the tables headers
.PARAMETER TableHeaderFadeColor
Define the fade color of the table header
.PARAMETER TableHeaderTextColor
Define the text color of the tables headers
.PARAMETER TableBodyBackgroundColor
Define the background color of the tables data
.PARAMETER TableTextColor
Define the text color in the tables data
.PARAMETER TableBorderColor
Define the border color in the table
.NOTES
Last Modified: 10/3/2023
Author: Robert Osborne (Vinebrook Technology)
Contact: [email protected], [email protected]
.INPUTS
None
.OUTPUTS
None
#>
[CmdletBinding(
SupportsShouldProcess=$True,
ConfirmImpact='Medium'
)] # End CmdletBinding
param(
[Parameter(
Mandatory=$False
)] # End Parameter
[ValidateScript({$_ -like "*.htm" -or $_ -like "*.html"})]
[String]$OutFile = "$env:TEMP\Vinebrook-Cisco-Advisory-Report.html",
[Parameter(
Mandatory=$False
)] # End Parameter
[String[]]$ProductName = @('Cisco Catalyst Operating System (CatOS) Software','Cisco VPN Client for Windows','Cisco IOS XE Software','Cisco IOS XE ROMMON Software'),
[Parameter(
Mandatory=$False
)] # End Parameter
[Object[]]$OSInfo = $(New-Object -TypeName PSCustomObject -Property @{OSType='Cisco IOS XE Software'; OSVersion='17.06.03'}),
[Parameter(
Mandatory=$True,
HelpMessage="[H] Enter your Client ID as obtained from your registered application at https://apiconsole.cisco.com/ `n[EXAMPLE] fasdfasdfasdfasdfasdfasd `n[INPUT] "
)] # End Parameter
[String]$ClientId,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="Enter the name of the Azure Key Vault containing the Cisco PSIRT API Client Secret value `n[EXAMPLE] asdfghjklqwertyuiopzxcvb `n[INPUT] "
)] # End Parameter
[String]$CiscoAzureKeyVault,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="[H] Enter your Client Secret as a secure string obtained from your registered application at https://apiconsole.cisco.com/ `n[EXAMPLE] Read-Host -AsSecureString -Prompt 'Enter secret' `n[INPUT] "
)] # End Parameter
[String]$CiscoAzureSecretName,
[Parameter(
Mandatory=$True,
HelpMessage="[H] Enter the email to send the generated report too `n[EXAMPLE] [email protected] `n[INPUT] "
)] # End Parameter
[ValidateScript({$_ -match "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"})]
[String[]]$ToEmail,
[Parameter(
Mandatory=$True,
HelpMessage="[H} Enter the email to send emails from `n[EXAMPLE] [email protected] `n[INPUT] "
)] # End Parameter
[ValidateScript({$_ -match "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"})]
[String]$FromEmail,
[Parameter(
ParameterSetName="SendEmail",
Mandatory=$True,
HelpMessage="[H] Enter the SMTP server to send an email from `n[EXAMPLE] smtp.office365.com `n[INPUT] "
)] # End Parameter
[String]$SmtpServer,
[Parameter(
ParameterSetName="SendEmail",
Mandatory=$False,
HelpMessage="Enter the SMTP port to use for sending email. If you specify -SMTPUseSSL this port should be specified as 587 for STARTTLS or 465 for SMTPS "
)] # End Parameter
[ValidateRange(1, 65535)]
[Int]$EmailPort = 587,
[Parameter(
ParameterSetName="SendEmail",
Mandatory=$False
)] # End Parameter
[Bool]$SMTPUseSSL = $True,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="[H] Enter the name of the Azure Key Vault containing your email password `n[EXAMPLE] Email-Passwords `n[INPUT] "
)] # End Parameter
[String]$EmailAzureKeyVaultName,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="[H] Enter the Azure Secret name containing your email password `n[EXAMPLE] SupportEmail `n[INPUT] "
)] # End Parameter
[String]$EmailAzureSecretName,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="[H] Enter the Azure Tenant ID containing your Azure Key Vaults `n[EXAMPLE] 03c6c610-5234-45e2-91f3-f2a83f93be07 `n[INPUT] "
)] # End Parameter
[ValidateScript({Try {[System.Guid]::Parse($_) | Out-Null; $True } Catch { $False }})]
[String]$TenantID,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="[H] Enter the Application ID you have a certificate associated with to authenticate to the Azure Key Vault `n[EXAMPLE] 0ea8f296-dc83-4924-9496-d3bdfe7c0a54 `n[INPUT] "
)] # End Parameter
[ValidateScript({Try {[System.Guid]::Parse($_) | Out-Null; $True } Catch { $False }})]
[String]$ApplicationID,
[Parameter(
ParameterSetName="AzureKey",
Mandatory=$True,
HelpMessage="[H] Enter the certificate thumbprint to use to authenticate to Azure `n[EXAMPLE] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF `n[INPUT] "
)] # End Parameter
[ValidateScript({Get-ChildItem -Path "Cert:\*$($_)" -Recurse -Force})]
[String]$CertificateThumbprint,
[Parameter(
Mandatory=$False
)] # End Parameter
[ValidateScript({$_.Extension -like ".png" -or $_.Extension -like ".jpg" -or $_.Extension -like ".jpeg"})]
[System.IO.FileInfo]$LogoFilePath,
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$HtmlBodyBackgroundColor='#292929',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$HtmlBodyTextColor = '#ECF9EC',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H1BackgroundColor = '#259943',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H1BackgroundFadeColor = '#000000',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H1TextColor = '#ECF9EC',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H1BorderColor = '#666666',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H2TextColor = '#FF4D04',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H3BackgroundColor = '#259943',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H3BorderColor = '#666666',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H3FadeBackgroundColor = '#000000',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$H3TextColor = '#ECF9EC',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$TableTextColor = '#1690D0',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$TableHeaderBackgroundColor = '#259943',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$TableHeaderFadeColor = '#000000',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$TableHeaderTextColor = '#ECF9EC',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$TableBorderColor = '#000000',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$TableBodyBackgroundColor = '#FFE3CC',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$ButtonHoverBackgroundColor = '#FF7D15',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$ButtonHoverTextColor = '#FFFFFF',
[Parameter(
Mandatory=$False
)] # End Parameter
[String]$SearchButtonBackgroundColor = '#1690D0'
) # End param
Write-Verbose -Message "[v] $(Get-Date -Format 'MM-dd-yyyy hh:mm:ss') Importing custom functions"
Function Connect-CiscoPSIRTApi {
<#
.SYNOPSIS
This cmdlet is used to authenticate to Ciscos PSIRT API for use with Invoke-CiscoPSIRTApiQuery
.DESCRIPTION
Authenticate to PSIRT openVuln API for use with Invoke-CiscoPSIRTApiQuery
.PARAMETER ClientId
Define your Client ID as provided by Cisco. You can obtain one by logging into https://apiconsole.cisco.com/ and creating an Application
.PARAMETER ClientSecret
Define your Client Secret as provided by Cisco. You can obtain one by logging into https://apiconsole.cisco.com/ and creating an Application
.EXAMPLE
PS> Connect-CiscoPSIRTApi -ClientID fasdfasdfasdfasdfasdfasd -ClientSecret (Read-Host -AsSecureString -Prompt 'Enter secret')
# This example authenticates to the Cisco PSIRT Api and stores the token in a local variable for use with Invoke-CiscoPSIRTApiQuery
.NOTES
Last Modiifed: 10/3/2023
Author: Robert Osborne (Vinebrook Technology)
Contact: [email protected]
.LINK
https://www.vinebrooktechnology.com/
https://apiconsole.cisco.com/
https://developer.cisco.com/docs/psirt/#!introduction
https://sec.cloudapps.cisco.com/security/center/publicationListing.x
.INPUTS
None
.OUTPUTS
None
#>
[CmdletBinding()]
param(
[Parameter(
Mandatory=$True,
HelpMessage="[H] Enter your Client ID as obtained from your registered application at https://apiconsole.cisco.com/ `n[EXAMPLE] fasdfasdfasdfasdfasdfasd `n[INPUT] "
)] # End Parameter
[String]$ClientId,
[Parameter(
Mandatory=$True,
HelpMessage="[H] Enter your Client Secret as a secure string obtained from your registered application at https://apiconsole.cisco.com/ `n[EXAMPLE] Read-Host -AsSecureString -Prompt 'Enter secret' `n[INPUT] "
)] # End Parameter
[SecureString]$ClientSecret
) # End param
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
$UserAgent = [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
$ContentType = "application/x-www-form-urlencoded"
$AuthUri = "https://id.cisco.com/oauth2/default/v1/token"
$OAuthUrl = "https://cloudsso.cisco.com/as/token.oauth2"
$PostData = @{
client_id=$ClientId;
client_secret=$([System.Net.NetworkCredential]::new("", $ClientSecret).Password);
grant_type="client_credentials";
} # End PostData
Try {
$AuthResult = Invoke-RestMethod -Method POST -Uri $AuthUri -ContentType $ContentType -UserAgent $UserAgent -Body $PostData -Verbose:$False -ErrorAction Stop
} Catch {
Try {
Write-Verbose -Message "[v] $(Get-Date -Format 'MM-dd-yyyy hh:mm:ss') Attempting to use OAuth authentication URL. Previous request failed"
$AuthResult = Invoke-RestMethod -Method POST -Uri $OAuthUrl -ContentType $ContentType -UserAgent $UserAgent -Body $PostData -Verbose:$False -ErrorAction Stop
} Catch {
Throw "[x] $(Get-Date -Format 'MM-dd-yyyy hh:mm:ss') Authentication Failed: $($Error[0].Exception.Message)"
} # End Try Catch
} # End Try Catch
If ($AuthResult.access_token) {
Set-Variable -Name CiscoPSIRTAuthToken -Value $($AuthResult.access_token) -Scope Script -Visibility Public -Force -ErrorAction Stop -WhatIf:$False
If ($Script:CiscoPSIRTAuthToken) {
$ExpireJob = Start-Job -Name "Cisco Token Expires" -Verbose:$False -ScriptBlock {
$Script:Stopwatch = [System.Diagnostics.Stopwatch]::new()
$Script:StopWatch.Start()
Do {
Write-Verbose -Message "Expiration Countdown Timer: $($Stopwatch.Elapsed.Seconds)"
} Until ($Script:Stopwatch.Elapsed.Seconds -eq $Using:AuthResult.expires_in)
Write-Warning -Message "[!] Your Cisco PSIRT Token has expired. Use Connect-CiscoPSIRTApi to reauthentciate"
$Script:StopWatch.Stop()
} # End Start-Job
} # End If
} # End If
} # End Function Connect-CiscoPSIRTApi
Function Invoke-CiscoPSIRTApiQuery {
<#
.SYNOPSIS
This script is used to obtain released CVE's for Cisco Products using PSIRT openVuln API
.DESCRIPTION
Get CVE information for Cisco devices using PSIRT openVuln API
.PARAMETER StartDate
Define the start date to use for released Cisco CVEs
.PARAMETER EndDate
Define the cut off date to use for returning released Cisco CVEs
.PARAMETER Severity
Define the severity level you wish to return for Cisco advisories
.PARAMETER Year
Define the year to return all released Cisco advisories from
.PARAMETER Latest
Define the number of latest advisories you wish to return
.PARAMETER All
Define this switch when you wish to return all released Cisco Advisories
.PARAMETER CVE
Define a specific CVE to return information on
.PARAMETER AdvisoryIdentifier
Define a specific Advisory Identifier to return information on
.PARAMETER BugID
Define a specific result based on the Cisco Bug ID
.PARAMETER ListProductName
List all product names in the Cisco product list
.PARAMETER ProductName
Define the Cisco Product Name to return results for
.PARAMETER OSType
Define the OS type to return information on
.PARAMETER OSVersion
Define the OS version you want to return information on
.PARAMETER ReturnOSInfo
Define the type of info your want returned using the OS Type you defined
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery
# This example returns CVE advisories from Cisco's security publications released between the first of last month and now.
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -StartDate $((Get-Date -Day 1).AddMonths(-1).ToString("yyyy-MM-dd"))
# This example returns CVE advisories from Cisco's security publications released between the first of last month and now.
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -StartDate $((Get-Date -Day 1).AddMonths(-1).ToString("yyyy-MM-dd")) -EndDate $(Get-Date -Format 'yyyy-MM-dd')
# This example returns CVE advisories from Cisco's security publications released between the first of last month and now.
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -All
# This example returns all CVE advisories from Cisco's security publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -Latest 5
# This example returns the 5 most recently released CVE advisories from Cisco's security publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -Year 2023
# This example returns all CVE advisories released in 2023 from Cisco's security publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -CVE 'CVE-2022-20968'
# This example returns CVE-2022-20968 advisory information in Cisco's security publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -AdvisoryIdentifier 'cisco-sa-ipp-oobwrite-8cMF5r7U'
# This example returns advisory information for Advisory Identifier cisco-sa-ipp-oobwrite-8cMF5r7U in Ciscos security publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -BugID 'CSCwb28354'
# This example returns bug information for bug identifier CSCwb28354 in Ciscos security publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -ListProductName
# This example returns a list of Product names contained in Ciscos Security Publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -ProductName "Cisco IOS XR Software"
# This example returns a list of advisories for the product Cisco IOS XR Software contained in Ciscos Security Publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -OSType asa -OSVersion "9.16.1"
# This example returns a list of advisories for Cisco ASA affecting version 9.16.1+ contained in Ciscos Security Publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -OSType asa -ReturnOSInfo "Platforms"
# This example returns a list of platforms contained under the OS type ASA contained in Ciscos Security Publications
.EXAMPLE
PS> Invoke-CiscoPSIRTApiQuery -OSType ios -ReturnOSInfo "Software"
# This example returns a list of software contained under the OS type IOS contained in Ciscos Security Publications
.NOTES
Last Modiifed: 10/3/2023
Author: Robert Osborne (Vinebrook Technology)
Contact: [email protected]
.LINK
https://www.vinebrooktechnology.com/
https://apiconsole.cisco.com/
https://developer.cisco.com/docs/psirt/#!introduction
https://sec.cloudapps.cisco.com/security/center/publicationListing.x
.INPUTS
None
.OUTPUTS
None
#>
[OutputType([System.Object[]])]
[CmdletBinding(
DefaultParameterSetName="FirstPublished",
SupportsShouldProcess=$True,
ConfirmImpact="Medium"
)] # End CmdletBinding
param(
[Parameter(
ParameterSetName="FirstPublished",
Mandatory=$False
)] # End Parameter
[Parameter(
ParameterSetName="Severity",
Mandatory=$False
)] # End Parameter
[DateTime]$StartDate,
[Parameter(
ParameterSetName="FirstPublished",
Mandatory=$False
)] # End Parameter
[Parameter(
ParameterSetName="Severity",
Mandatory=$False
)] # End Parameter
[DateTime]$EndDate,
[Parameter(
ParameterSetName="Severity",
Mandatory=$True,
HelpMessage="[H] Define the year you wish to return all released advisories in `n[EXAMPLE] High `n[INPUT] "
)] # End Parameter
[ValidateSet('Critical', 'High', 'Medium', 'Informational')]
[String]$Severity,
[Parameter(
ParameterSetName="Year",
Mandatory=$True,
HelpMessage="[H] Define the year you wish to return all released advisories in `n[EXAMPLE] 2023 `n[INPUT] "
)] # End Parameter
[ValidateScript({$_ -match '\d{4}'})]
[String]$Year,
[Parameter(
ParameterSetName="Latest",
Mandatory=$True,
HelpMessage="[H] Define the number of latest released advisories to return `n[EXAMPLE] 5 `n[INPUT] "
)] # End Parameter
[Int]$Latest,
[Parameter(
ParameterSetName="AllAdvisories",
Mandatory=$False
)] # End Parameter
[Switch]$All,
[Parameter(
ParameterSetName="CVE",
Mandatory=$True,
HelpMessage="[H] Define the CVE to return advisory information on `n[EXAMPLE] CVE-2022-20968 `n[INPUT] "
)] # End Parameter
[ValidateScript({$_ -match "CVE-(\d{4})-\d(.*)"})]
[String]$CVE,
[Parameter(
ParameterSetName="AdvisoryIdentifier",
Mandatory=$True,
HelpMessage="[H] Define the advisory identifier to return information on `n[EXAMPLE] cisco-sa-ipp-oobwrite-8cMF5r7U `n[INPUT] "
)] # End Parameter
[ValidateScript({$_ -match "cisco(-)?sa-(.*)"})]
[String]$AdvisoryIdentifier,
[Parameter(
ParameterSetName="BugID",
Mandatory=$True,
HelpMessage="[H] Define the Cisco Bug ID to return information on `n[EXAMPLE] CSCwb28354 `n[INPUT] "
)] # End Parameter
[ValidateScript({$_ -match "^(CSC)(.*)"})]
[String]$BugID,
[Parameter(
ParameterSetName="ListProductName",
Mandatory=$False
)] # End Parameter
[Switch]$ListProductName,
[Parameter(
ParameterSetName="ProductName",
Mandatory=$True,
HelpMessage="[H] Define the product type to return information on `n[EXAMPLE] Cisco IOS XR Software `n[INPUT] "
)] # End Parameter
[ValidateSet('Acano X-Series',
'Application and Content Networking System (ACNS) Software',
'Application Visibility and Control (AVC)',
'Asset Management System (AMS)',
'CG-OS',
'Cisco UCS Invicta C3124SA Appliance',
'Cisco 350 Series Managed Switches',
'Cisco 350X Series Stackable Managed Switches',
'Cisco 4400 Series Wireless LAN Controller',
'Cisco 5000 Series Enterprise Network Compute System',
'Cisco 5500 Series Wireless Controllers',
'Cisco 550X Series Stackable Managed Switches',
'Cisco 7600 Series Router Network Analysis Module (NAM)',
'Cisco 7600 Series Session Border Controller (SBC) Application',
'Cisco ACE 4700 Series Application Control Engine Appliances',
'Cisco ACE Application Control Engine Module',
'Cisco ACE Application Control Engine Module (duplicate)',
'Cisco ACE GSS 4400 Series Global Site Selector (GSS) devices',
'Cisco ACE Web Application Firewall',
'Cisco ACE XML Gateway Software',
'Cisco ACI Multi-Site Orchestrator Software',
'Cisco Adaptive Security Appliance (ASA) Software',
'Cisco Adaptive Security Device Manager (ASDM)',
'Cisco Agent Desktop',
'Cisco Airespace Wireless LAN (WLAN) Controller',
'Cisco Aironet Access Point Software',
'Cisco Aironet Access Point Software (IOS XE Controller)',
'Cisco AMP for Endpoints',
'Cisco AMP Threat Grid Appliance Software',
'Cisco Analog Telephone Adaptor (ATA) Software',
'Cisco AnyConnect Secure Mobility Client',
'Cisco AnyRes Live',
'Cisco AppDynamics',
'Cisco Application and Content Networking System (ACNS) Software',
'Cisco Application eXtension Platform (AXP)',
'Cisco Application Networking Manager (ANM)',
'Cisco Application Policy Infrastructure Controller (APIC)',
'Cisco Application Policy Infrastructure Controller Enterprise Module (APIC-EM)',
'Cisco AS5350 Universal Gateway',
'Cisco ASA 1000V Cloud Firewall Software',
'Cisco ASA 5500 Series CSC-SSM',
'Cisco ASA CX Context-Aware Security Software',
'Cisco ASA with FirePOWER Services',
'Cisco ASR 1000 Series Aggregation Services Routers',
'Cisco ASR 5000 Series Software',
'Cisco ASR 900 Series Aggregation Services Routers',
'Cisco ASR 9000 Series Aggregation Services Routers',
'Cisco ATA 187 Analog Telephone Adaptor',
'Cisco ATA Series Analog Telephone Adaptor',
'Cisco AVS Application Velocity System',
'Cisco BAMS - Billing and Management Server',
'Cisco Broadband Access Center Telco Wireless Software',
'Cisco Broadband Operating System',
'Cisco Broadband Troubleshooter',
'Cisco BroadWorks',
'Cisco BTS 10200 Softswitch',
'Cisco Building Broadband Service Manager (BBSM)',
'Cisco Building Broadband Service Manager (BBSM) Hotspot',
'Cisco Business Edition 3000 Software',
'Cisco Business Edition 5000 Software',
'Cisco Business Edition 6000 Software',
'Cisco Business Process Automation (BPA)',
'Cisco Business Wireless Access Point Software',
'Cisco C Series Endpoints',
'Cisco Cable Manager',
'Cisco Cache Engine',
'Cisco Carrier Packet Transport',
'Cisco Carrier Routing System (CRS)',
'Cisco Catalyst 1900/2820',
'Cisco Catalyst 4500-X Series Switch Software',
'Cisco Catalyst 4500E Supervisor Engine 7L-E software',
'Cisco Catalyst 6000 Network Analysis Module (NAM)',
'Cisco Catalyst 6500 Network Analysis Module (NAM)',
'Cisco Catalyst Operating System (CatOS) Software',
'Cisco Catalyst PON Series',
'Cisco Catalyst WS-X6608',
'Cisco Catalyst WS-X6624',
'Cisco cBR-8 Converged Broadband Routers',
'Cisco CGR1000 Compute Module',
'Cisco Cisco Media Gateway Controller (MGC) Node Manager',
'Cisco Cius Firmware',
'Cisco Cloud Native Broadband Router',
'Cisco Cloud Network Automation Provisioner',
'Cisco Cloud Network Controller',
'Cisco Cloud Portal',
'Cisco Cloud Portal',
'Cisco Cloud Services Platforms',
'Cisco Cloud Web Security',
'Cisco CloudCenter Orchestrator',
'Cisco Cloupia Unified Infrastructure Controller',
'Cisco CNS Network Registrar',
'Cisco Collaboration Server',
'Cisco Collaboration Server Dynamic Content Adapter (DCA)',
'Cisco Common Services Platform Collector Software',
'Cisco Computer Telephony Integration (CTI) Option',
'Cisco ConfD',
'Cisco Conference Connection',
'Cisco Configuration Assistant (CCA)',
'Cisco Connected Grid Network Management System (CG-NMS)',
'Cisco Connected Mobile Experiences',
'Cisco Connected Streaming Analytics',
'Cisco Content Distribution Manager (CDM)',
'Cisco Content Engine',
'Cisco Content Router',
'Cisco Content Security Management Appliance (SMA)',
'Cisco Content Security Management Virtual Appliance',
'Cisco Content Services Switch (CSS)',
'Cisco Content Switching Module (CSM)',
'Cisco Content Switching Module with SSL',
'Cisco Context Directory Agent',
'Cisco Context Service Software Development Kit',
'Cisco Crosswork Network Change Automation',
'Cisco Customer Response Application (CRA) Server',
'Cisco CX Cloud Agent',
'Cisco Cyber Vision',
'Cisco D9036 Modular Encoding Platform',
'Cisco D9800 Network Transport Receiver',
'Cisco Data Center Analytics Framework',
'Cisco Data Center Network Manager',
'Cisco Desktop Collaboration Experience DX650 Software',
'Cisco Digital Content Manager (DCM) Software',
'Cisco Digital Media Manager Software',
'Cisco Digital Media Player Software',
'Cisco Digital Network Architecture Center (DNA Center)',
'Cisco Directory Connector',
'Cisco Disaster Recovery Application for IPTV',
'Cisco DNA Spaces Connector',
'Cisco DOCSIS CPE Configurator',
'Cisco DPC2203 Cable Modem Firmware',
'Cisco DPC2420 Wireless Residential Gateway',
'Cisco DPC3010 Cable Modem Firmware',
'Cisco DPC3212 eMTA Firmware',
'Cisco DPC3825 Gateway Firmware',
'Cisco DPC3925 eMTA Voice Gateway Firmware',
'Cisco DPC3939 (XB3) Wireless Residential Voice Gateway',
'Cisco DPC3941 Wireless Residential Gateway',
'Cisco DSL Manager',
'Cisco DTA Control System (DTACS)',
'Cisco Duo',
'Cisco DX Series IP Phones',
'Cisco E-mail Manager',
'Cisco Edge 300 Series',
'Cisco Edge Fog Fabric',
'Cisco Elastic Services Controller',
'Cisco Element Management Framework (Cisco EMF)',
'Cisco Element Manager Software',
'Cisco Email Security Appliance (ESA)',
'Cisco Email Security Virtual Appliance',
'Cisco Emergency Responder',
'Cisco Energy Management Suite',
'Cisco Enterprise Chat and Email',
'Cisco Enterprise Content Delivery System (ECDS)',
'Cisco Enterprise License Manager',
'Cisco Enterprise NFV Infrastructure Software',
'Cisco EPC2203 Cable Modem Firmware',
'Cisco EPC3010 Cable Modem Firmware',
'Cisco EPC3212 eMTA Firmware',
'Cisco EPC3825 Gateway Firmware',
'Cisco EPC3925 eMTA Voice Gateway Firmware',
'Cisco ESW2 Series Advanced Switches',
'Cisco Ethernet Subscriber Solution Engine (ESSE)',
'Cisco Evolved Programmable Network Manager (EPNM)',
'Cisco Expressway',
'Cisco FindIT Network Discovery Utility',
'Cisco FindIT Network Manager',
'Cisco FindIT Network Probe Software',
'Cisco Finesse',
'Cisco Firepower Extensible Operating System (FXOS)',
'Cisco Firepower Management Center',
'Cisco FirePOWER Services Software for ASA',
'Cisco Firepower System Software',
'Cisco Firepower Threat Defense Software',
'Cisco Firepower Threat Defense Software for Firepower 1000/2100 Series',
'Cisco Firepower User Agent',
'Cisco Firewall Services Module (FWSM)',
'Cisco Fog Director',
'Cisco GSS Global Site Selector',
'Cisco Guard DDoS Mitigation Appliance',
'Cisco Hosted Collaboration Mediation Fulfillment',
'Cisco Hosted Collaboration Solution',
'Cisco HostScan Engine',
'Cisco Hot Standby Routing Protocol (HSRP)',
'Cisco Hybrid Meeting Server',
'Cisco HyperFlex HX Data Platform',
'Cisco HyperFlex HX-Series',
'Cisco IC3000 Industrial Compute Gateway',
'Cisco ICS-7750 Integrated Communication System',
'Cisco Identity Services Engine Software',
'Cisco Immunet',
'Cisco Industrial Compute Gateway Software',
'Cisco Industrial Ethernet 1000 Series Switches',
'Cisco Industrial Ethernet 2000 Series Switches',
'Cisco Industrial Network Director',
'Cisco Industrial Routers Operating System Software',
'Cisco Information Server (CIS)',
'Cisco Integrated Management Controller (IMC) Supervisor',
'Cisco Intelligent Contact Manager (ICM)',
'Cisco Intercloud Fabric',
'Cisco Intercompany Media Engine (IME)',
'Cisco Internet Router',
'Cisco Internet Service Node (ISN)',
'Cisco Internet Streamer Content Delivery System (CDS)',
'Cisco Intersight Virtual Appliance',
'Cisco Intrusion Detection System (IDS)',
'Cisco IOS ROMMON Software',
'Cisco IOS XE ROMMON Software',
'Cisco IOS XE SD-WAN Software',
'Cisco IOS XE Software',
'Cisco IOS XR Software',
'Cisco IoT Field Network Director (IoT-FND)',
'Cisco IOx',
'Cisco IP Communicator',
'Cisco IP Interoperability and Collaboration System (IPICS)',
'Cisco IP Interoperability and Communications System (IPICS)',
'Cisco IP Manager',
'Cisco IP phone',
'Cisco IP Phone 6800 Series with Multiplatform Firmware',
'Cisco IP Phone 7800 Series',
'Cisco IP Phone 7800 Series with Multiplatform Firmware',
'Cisco IP Phone 8800 Series Software',
'Cisco IP Phone 8800 Series with Multiplatform Firmware',
'Cisco IP Phones with Multiplatform Firmware',
'Cisco IP Queue Manager',
'Cisco IP/VC 3510 Multipoint Control Unit (MCU)',
'Cisco IP/VC 3520 Videoconferencing Gateway',
'Cisco IP/VC 3525 Videoconferencing Gateway',
'Cisco IP/VC 3526 PRI Gateway',
'Cisco IP/VC 3530 Video Terminal Adapter',
'Cisco IP/VC 3540 Application Server Module',
'Cisco IP/VC 3540 Rate Matching Module',
'Cisco IR510 Operating System',
'Cisco IR800 Integrated Services Router Software',
'Cisco IronPort Desktop Flag Plug-in',
'Cisco IronPort Email Security Appliance',
'Cisco IronPort Encryption Appliance',
'Cisco IronPort PostX MAP',
'Cisco IronPort Security Management Appliance',
'Cisco IronPort Web Security Appliance',
'Cisco ISB8320-E IP Only DVR',
'Cisco Jabber',
'Cisco Jabber Extensible Communications Platform (Jabber XCP)',
'Cisco Jabber for iOS',
'Cisco Jabber for Mac',
'Cisco Jabber for Windows',
'Cisco Jabber Guest',
'Cisco Jabber IM for Android',
'Cisco Jabber Software Development Kit',
'Cisco Jabber Video for TelePresence (Movi)',
'Cisco License Manager',
'Cisco LocalDirector',
'Cisco Mainframe Channel Connection',
'Cisco Managed Services Accelerator',
'Cisco Manager',
'Cisco MATE Collector',
'Cisco MATE Design',
'Cisco MATE Live',
'Cisco MDS 9000 16-Port Storage Services Node',
'Cisco MDS 9000 18/4-Port Multiservice Module',
'Cisco MDS 9000 NX-OS Software',
'Cisco MDS 9222i Multiservice Modular Switch',
'Cisco MDS SAN-OS Software',
'Cisco Media Blender',
'Cisco Media Gateway Control Protocol Firmware POM3-03-1-00',
'Cisco Media Gateway Manager (MGM)',
'Cisco Media Origination System Suite Software',
'Cisco MediaSense',
'Cisco Meeting App',
'Cisco Meeting Server',
'Cisco Meetinghouse AEGIS SecureConnect',
'Cisco MeetingPlace Server',
'Cisco Meraki MR Firmware',
'Cisco Meraki MS Firmware',
'Cisco Meraki MX Firmware',
'Cisco Metro 1500 Series (MAN DWDM)',
'Cisco MGX Switch',
'Cisco Mobility Express',
'Cisco Mobility Services Engine',
'Cisco Model DPQ3925 8x4 DOCSIS 3.0 Wireless Residential Gateway with EDVA',
'Cisco Model EPC3928 DOCSIS 3.0 8x4 Wireless Residential Gateway with EDVA',
'Cisco Modeling Labs',
'Cisco Modular Encoding Platform D9036',
'Cisco MXE 3000 (Media Experience Engine Software)',
'Cisco MXE 3500 (Media Experience Engine)',
'Cisco MXE 5600 Media Experience Engine',
'Cisco NAC Appliance Software',
'Cisco NetFlow Collection Engine',
'Cisco NetFlow Generation 3000 Series Appliances',
'Cisco NetRanger Sensor',
'Cisco Network Admission Control (NAC) Agent Software for Mac',
'Cisco Network Admission Control Guest Server',
'Cisco Network Analysis Module (NAM) Software',
'Cisco Network Asset Collector',
'Cisco Network Assurance Engine',
'Cisco Network Building Mediator Framework',
'Cisco Network Configuration and Change Management',
'Cisco Network Convergence System 1000 Series',
'Cisco Network Convergence System 5500 Series',
'Cisco Network Convergence System 6000 Series Routers',
'Cisco Network Services Manager',
'Cisco Network Services Orchestrator',
'Cisco Networking Services for Active Directory',
'Cisco Nexus 1000V InterCloud for VMware',
'Cisco Nexus 1000V Switch',
'Cisco Nexus 1000V Switch for Microsoft Hyper-V',
'Cisco Nexus 3000 Series Switch',
'Cisco Nexus Dashboard',
'Cisco Nexus Insights',
'Cisco NX-OS Software',
'Cisco NX-OS System Software in ACI Mode',
'Cisco Okena StormWatch',
'Cisco onePK All-in-One Virtual Machine',
'Cisco ONS 15216',
'Cisco ONS 15302',
'Cisco ONS 15305',
'Cisco ONS 15310CL System Software',
'Cisco ONS 15310MA System Software',
'Cisco ONS 15327 System Software',
'Cisco ONS 15454 SDH System Software',
'Cisco ONS 15454 System Software',
'Cisco ONS 15600 System Software',
'Cisco OpenH264',
'Cisco Optical Networking Systems (ONS)',
'Cisco Optical Networking Systems (ONS) Firmware',
'Cisco Optical Networking Systems (ONS) System Software',
'Cisco Orbital',
'Cisco Outbound Option',