Get usernames
March 13, 2016 · View on GitHub
#Security log #============
#4624 - Logon & Logoff events successful #4625 - Logon unsucceful
Get usernames
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(5)}| Select -ExpandProperty "#text" -Unique
Get domains
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(6)}| Select -ExpandProperty "#text" -Unique
Get ips
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(18)}| Select -ExpandProperty "#text" -Unique
Get process name
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(17)}| Select -ExpandProperty "#text" -Unique
Get auth package
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(10)}| Select -ExpandProperty "#text" -Unique
Get workstation name
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(11)}| Select -ExpandProperty "#text" -Unique
Group by examples
Get usernames
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4624"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(5)}| Select -ExpandProperty "#text" | group
#4648 - login explicit creds
Get logins
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4648"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(5)}| Select -ExpandProperty "#text" -Unique
Get domains
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4648"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(6)}| Select -ExpandProperty "#text" -Unique
get server name
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4648"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(8)}| Select -ExpandProperty "#text" -Unique
get process name
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4648"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(11)}| Select -ExpandProperty "#text" -Unique
4776 - The domain controller attempted to validate the credentials for an account(or local computer)
Get logins
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4776"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(1)}| Select -ExpandProperty "#text" -Unique
Get workstation names
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4776"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(2)}| Select -ExpandProperty "#text" -Unique #5140 - Network share accessed
Get domains
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5140"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(2)}| Select -ExpandProperty "#text" -Unique
Get usernames
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5140"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(1)}| Select -ExpandProperty "#text" -Unique
Get ips
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5140"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(5)}| Select -ExpandProperty "#text" -Unique
Get shares
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5140"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(7)}| Select -ExpandProperty "#text" -Unique
#5145 - A network share object was checked to see whether client can be granted desired access #5140 - A network share object was accessed
Get domains
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5145"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(2)}| Select -ExpandProperty "#text" -Unique
Get ips
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5145"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(5)}| Select -ExpandProperty "#text" -Unique
Get shares
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5145"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(7)}| Select -ExpandProperty "#text" -Unique
Get files
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5145"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(9)}| Select -ExpandProperty "#text" -Unique
4663 - An attempt was made to access an object
4670 - Permissions on an object were changed
4656 - A handle to an object was requested
Get users
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4663"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(1)}| Select -ExpandProperty "#text" -Unique
Get domain
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4663"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(2)}| Select -ExpandProperty "#text" -Unique
Get object type
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4663"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(5)}| Select -ExpandProperty "#text" -Unique
Get Object Name
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4663"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(6)}| Select -ExpandProperty "#text" -Unique
Get process name
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "4663"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(11)}| Select -ExpandProperty "#text" -Unique
#Task Scheduler Log #=================
Task-scheduler 100 - task run
101 - task failed to run
Get task names
Get-WinEvent -path .\Microsoft-Windows-TaskScheduler%4Operational.evtx | Where {_.id -eq "100"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(0)}| Select -ExpandProperty "#text" -Unique
Get users
Get-WinEvent -path .\Microsoft-Windows-TaskScheduler%4Operational.evtx | Where {_.id -eq "100"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(1)}| Select -ExpandProperty "#text" -Unique
Task Scheduler 200 - action run
Get task names
Get-WinEvent -path .\Microsoft-Windows-TaskScheduler%4Operational.evtx | Where {_.id -eq "200"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(0)}| Select -ExpandProperty "#text" -Unique
Get task action
Get-WinEvent -path .\Microsoft-Windows-TaskScheduler%4Operational.evtx | Where {_.id -eq "200"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(1)}| Select -ExpandProperty "#text" -Unique
#Terminal Services Local Session Log #==================
TS 301 - successful login
Get ips
Get-WinEvent -Path ".\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx" | where {_.id -eq "21"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Address")}| Select -ExpandProperty "#text" -Unique
Get users
Get-WinEvent -Path ".\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx" | where {_.id -eq "21"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("User")}| Select -ExpandProperty "#text" -Unique
#Terminal Services Remote Connection Manager #================
1149 - successful login(not really, unsucceful attempts also logged as successful)
Get user names
Get-WinEvent -Path ".\Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx" | where {_.id -eq "1149"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Param1")} | Select -ExpandProperty "#text" -Unique
Get domains
Get-WinEvent -Path ".\Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx" | where {_.id -eq "1149"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Param2")} | Select -ExpandProperty "#text" -Unique
Get srcip
Get-WinEvent -Path ".\Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx" | where {_.id -eq "1149"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Param3")} | Select -ExpandProperty "#text" -Unique
#Firewall Log #===========
FW 2004 - new exception rule was added
2005 - existing rule modified
Get Rulenames
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(1)}| Select -ExpandProperty "#text" -Unique
Get application path
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(3)}| Select -ExpandProperty "#text" -Unique
Get service name
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(4)}| Select -ExpandProperty "#text" -Unique
Get modified application
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(22)}| Select -ExpandProperty "#text" -Unique
Get action
3 = allow
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(9)}| Select -ExpandProperty "#text" -Unique
Get remote port
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(8)}
get src ips
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(11)}
get dest ips
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(12)}
get modifying user
short sid = SYSTEM
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2004"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(21)}
FW 2006 - rule was deleted
get rulenames
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2006"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(1)}
get modifying user
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2006"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(2)}
get modifyig application
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2006"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(3)}
FW 2011 - incoming connection was blocked
get application
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2011"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(1)}| Select -ExpandProperty "#text" -Unique
get port
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2011"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(4)}| Select -ExpandProperty "#text" -Unique
get modifying user
Get-WinEvent -Path ".\Microsoft-Windows-Windows Firewall With Advanced Security%4Firewall.evtx" | where {_.id -eq "2011"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(6)}| Select -ExpandProperty "#text" -Unique
FW 5156
Get-WinEvent -path .\Security.evtx | Where {_.id -eq "5156"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").ItemOf(0)}| Select -ExpandProperty "#text" -Unique
System log
==========
7045 - new service installed in system
Get service name
Get-WinEvent -Path ".\System.evtx" | where {_.id -eq "7045"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(0)}| Select -ExpandProperty "#text" -Unique
Get service path
Get-WinEvent -Path ".\System.evtx" | where {_.id -eq "7045"} | Foreach {([xml]_.ToXml()).GetElementsByTagName("Data").itemOf(1)}| Select -ExpandProperty "#text" -Unique