Commit 2c6e8ced: Multiple changes

- Check output
- Updated list generation
- Started subdomain takeover check module
This commit is contained in:
Jurjen Ladenius
2021-08-12 10:46:04 +02:00
parent 2c6e8cede3
commit 1a3bc1370e
39 changed files with 4879 additions and 85 deletions

View File

@@ -1,8 +1,8 @@
#Connect-AzAccount
$fileName = ".\azure_appservice_certificates.csv"
$fileName = ".\2020-12-23 azure_appservice_certificates (3).csv"
$subscriptions = Get-AzSubscription
$subscriptions = Get-AzSubscription | Where-Object State -eq "Enabled"
class CertificateCheck {
[string] $SubscriptionId = ""
@@ -18,74 +18,61 @@ class CertificateCheck {
[CertificateCheck[]]$Result = @()
$StartDate=(GET-DATE)
[CertificateCheck[]]$Result = @()
foreach ($subscription in $subscriptions)
{
Set-AzContext -SubscriptionId $subscription.Id
$certs = Get-AzResource -ResourceType Microsoft.Web/certificates
$certs = Get-AzResource -ResourceType Microsoft.Web/certificates -ExpandProperties -ApiVersion 2018-02-01 | Select * -Expand Properties
foreach ($cert in $certs)
{
$id = $cert.Id
$thumbprint = ($cert.Name.Split([char]"#", [char]"-"))[0]
Write-Host "Certificate $id"
[CertificateCheck] $certificateCheck = [CertificateCheck]::new()
$certificateCheck.SubscriptionId = $subscription.Id
$certificateCheck.CertificateId = $id
$certificateCheck.ThumbPrint = $thumbprint
$certificateCheck.ThumbPrint = $cert.Properties.thumbprint
$certificateCheck.ResourceGroupName = $cert.ResourceGroupName
$Result += $certificateCheck
}
}
$Result | Export-Csv -Path $fileName -NoTypeInformation -Force
$fileName = ".\azure_appservice_certificates_1.csv"
foreach ($certificateCheck in $Result)
{
try
{
Set-AzContext -SubscriptionId $certificateCheck.SubscriptionId
$thumbprint = $certificateCheck.ThumbPrint
Write-Host "thumbprint: $thumbprint"
$certificate = Get-AzWebAppCertificate -ResourceGroupName $certificateCheck.ResourceGroupName -Thumbprint $thumbprint -debug -verbose
if ($null -eq $certificate)
try
{
$certificateCheck.Comment = "Could not find certificate"
}
else
{
try
{
$subjectname = $certificate.SubjectName
$certificateCheck.SubjectName = $subjectname
$thumbprint = $certificateCheck.ThumbPrint
Write-Host "Subject name: $subjectname"
$certificate = Get-AzWebAppCertificate -ResourceGroupName $certificateCheck.ResourceGroupName -Thumbprint $thumbprint -debug -verbose
$EndDate=[datetime]$certificate.ExpirationDate
$certificateCheck.ExpirationDate = $EndDate
$span = NEW-TIMESPAN Start $StartDate End $EndDate
$certificateCheck.TotalDays = $span.TotalDays
}
catch {
$certificateCheck.Comment = "Could not find expiry for certificate"
if ($null -eq $certificate)
{
$certificateCheck.Comment = "Could not find certificate"
}
else
{
try
{
$subjectname = $certificate.SubjectName
$certificateCheck.SubjectName = $subjectname
Write-Host "Subject name: $subjectname"
$EndDate=[datetime]$certificate.ExpirationDate
$certificateCheck.ExpirationDate = $EndDate
$span = NEW-TIMESPAN Start $StartDate End $EndDate
$certificateCheck.TotalDays = $span.TotalDays
}
catch {
$certificateCheck.Comment = "Could not find expiry for certificate"
}
}
}
}
catch
{
$certificateCheck.Comment = "Could not load certificate"
catch
{
$certificateCheck.Comment = "Could not load certificate"
}
$Result += $certificateCheck
}
}
$Result | Export-Csv -Path $fileName -NoTypeInformation -Force
$Result | ft