From 8ab75348bcf941407a1bf870476ba8f1d7443cea Mon Sep 17 00:00:00 2001 From: justinbui Date: Tue, 25 Sep 2018 22:14:40 -0700 Subject: [PATCH 1/4] Update LyncSniper.ps1 --- LyncSniper.ps1 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/LyncSniper.ps1 b/LyncSniper.ps1 index bf225d8..2df1b3a 100755 --- a/LyncSniper.ps1 +++ b/LyncSniper.ps1 @@ -120,6 +120,7 @@ function Invoke-LyncSpray $Usernames = Get-Content $UserList $Username = $Usernames[0] + $InvalidUsernames = [System.Collections.ArrayList]@() if (-Not $AutoDiscoverURL) { Write-host "[*] No AutoDiscoverURL provided, attempting to discover" @@ -188,6 +189,14 @@ function Invoke-LyncSpray Start-Sleep -Milliseconds $Delay } } + if($Office365) + { + OutputDir = Split-Path $Usernames + OutputFile = [System.IO.Path]::GetFileNameWithoutExtension($Usernames) + OutputFullPath = "${OutputDir}\${OutputFile}_clean.txt" + Write-Verbose "[*] Saving valid usernames to $OutputFullPath." + $ValidUsernames = $Usernames | Where {$InvalidUsernames -NotContains $_} > $OutputFullPath + } } function Invoke-LyncBrute @@ -512,6 +521,7 @@ function Invoke-AuthenticateO365 else { Write-Verbose "[*] Authentication failed: $($Username):$($Password). Username does not exist." + $InvalidUsernames.Add($Username) | Out-Null } } catch { From 92d6be559b784fd31b4c8f3d41ce2799d7a68059 Mon Sep 17 00:00:00 2001 From: justinbui Date: Tue, 25 Sep 2018 22:18:45 -0700 Subject: [PATCH 2/4] Update LyncSniper.ps1 --- LyncSniper.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LyncSniper.ps1 b/LyncSniper.ps1 index 2df1b3a..745a0ab 100755 --- a/LyncSniper.ps1 +++ b/LyncSniper.ps1 @@ -194,7 +194,7 @@ function Invoke-LyncSpray OutputDir = Split-Path $Usernames OutputFile = [System.IO.Path]::GetFileNameWithoutExtension($Usernames) OutputFullPath = "${OutputDir}\${OutputFile}_clean.txt" - Write-Verbose "[*] Saving valid usernames to $OutputFullPath." + Write-Host "[*] Saving valid usernames to $OutputFullPath." $ValidUsernames = $Usernames | Where {$InvalidUsernames -NotContains $_} > $OutputFullPath } } From 19aa540aa1c7e24168ea19133fcf6860c0ffe41a Mon Sep 17 00:00:00 2001 From: justinbui Date: Thu, 27 Sep 2018 11:18:10 -0700 Subject: [PATCH 3/4] Update LyncSniper.ps1 --- LyncSniper.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/LyncSniper.ps1 b/LyncSniper.ps1 index 745a0ab..5b48fdc 100755 --- a/LyncSniper.ps1 +++ b/LyncSniper.ps1 @@ -191,9 +191,9 @@ function Invoke-LyncSpray } if($Office365) { - OutputDir = Split-Path $Usernames - OutputFile = [System.IO.Path]::GetFileNameWithoutExtension($Usernames) - OutputFullPath = "${OutputDir}\${OutputFile}_clean.txt" + $OutputDir = Split-Path $UserList + $OutputFile = [System.IO.Path]::GetFileNameWithoutExtension($UserList) + $OutputFullPath = "${OutputDir}\${OutputFile}_validusers.txt" Write-Host "[*] Saving valid usernames to $OutputFullPath." $ValidUsernames = $Usernames | Where {$InvalidUsernames -NotContains $_} > $OutputFullPath } From c2b624df76d932f395d0bf57f3ecf8cda2f74920 Mon Sep 17 00:00:00 2001 From: justinbui Date: Wed, 28 Nov 2018 11:41:42 -0800 Subject: [PATCH 4/4] Fix duplicate file creation. Only create a clean user list if an invalid user is found. --- LyncSniper.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LyncSniper.ps1 b/LyncSniper.ps1 index 5b48fdc..6858a32 100755 --- a/LyncSniper.ps1 +++ b/LyncSniper.ps1 @@ -189,12 +189,12 @@ function Invoke-LyncSpray Start-Sleep -Milliseconds $Delay } } - if($Office365) + if($Office365 -And ($InvalidUsernames.Count -gt 0)) { $OutputDir = Split-Path $UserList $OutputFile = [System.IO.Path]::GetFileNameWithoutExtension($UserList) $OutputFullPath = "${OutputDir}\${OutputFile}_validusers.txt" - Write-Host "[*] Saving valid usernames to $OutputFullPath." + Write-Host -Foreground Yellow "[*] Saving valid usernames to $OutputFullPath." $ValidUsernames = $Usernames | Where {$InvalidUsernames -NotContains $_} > $OutputFullPath } }