PowerShell āĻāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ
āĻā§āĻŽā§āĻļāĻ¨ āĻā§āĻ˛ āĻ¯āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻŽā§āĻ¯āĻžāĻ˛āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦāĻŋāĻļā§āĻˇāĻā§āĻ āĻāĻāĻ¯āĻŧāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ¤āĻĨā§āĻ¯ āĻ¸ā§āĻ°āĻā§āĻˇāĻžāĻ° āĻāĻāĻ¨āĻžāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻžāĻ¨āĻžāĻ¤ā§ āĻļā§āĻˇ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻāĻ¨ā§āĻ¯ PowerShell-āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŦā§ā§ˇ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻļā§āĻˇ āĻĄāĻŋāĻāĻžāĻāĻ¸ā§ āĻāĻ˛āĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĨāĻžāĻāĻŦā§āĨ¤
function CSIRT{
param($path)
if ($psversiontable.psversion.major -ge 5)
{
$date = Get-Date -Format dd.MM.yyyy_hh_mm
$Computer = $env:COMPUTERNAME
New-Item -Path $path$computer$date -ItemType 'Directory' -Force | Out-Null
$path = "$path$computer$date"
$process = get-ciminstance -classname win32_process | Select-Object creationdate, processname,
processid, commandline, parentprocessid
$netTCP = Get-NetTCPConnection | select-object creationtime, localaddress,
localport, remoteaddress, remoteport, owningprocess, state
$netUDP = Get-NetUDPEndpoint | select-object creationtime, localaddress,
localport, remoteaddress, remoteport, owningprocess, state
$task = get-ScheduledTask | Select-Object author, actions, triggers, state, description, taskname|
where author -notlike '*ĐĐ°ĐšĐēŅĐžŅĐžŅŅ*' | where author -ne $null |
where author -notlike '*@%systemroot%*' | where author -notlike '*microsoft*'
$job = Get-ScheduledJob
$ADS = get-item * -stream * | where stream -ne ':$Data'
$user = quser
$runUser = Get-ItemProperty "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
$runMachine = Get-ItemProperty "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun"
$array = $process, $netTCP, $netUDP, $task, $user, $runUser, $runMachine, $job, $ADS
$arrayName = "Processes", "TCPConnect", "UDPConnect", "TaskScheduled", "Users", "RunUser", "RunMachine",
"ScheduledJob", "AlternativeDataStream"
for ($w = 0; $w -lt $array.count; $w++){
$name = $arrayName[$w]
$array[$w] >> $path$name.txt
}
}
}
āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§, āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ CSIRT āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨, āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§ - āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻĒāĻĨāĨ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ cmdlets Powershell v5-āĻ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖā§, āĻ¸āĻ āĻŋāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ PowerShell āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
function CSIRT{
param($path)# ĐŋŅи СаĐŋŅŅĐēĐĩ ŅĐēŅиĐŋŅĐ° ĐŊĐĩОйŅ
ОдиĐŧĐž ŅĐēаСаŅŅ диŅĐĩĐēŅĐžŅиŅ Đ´ĐģŅ ŅĐžŅ
ŅĐ°ĐŊĐĩĐŊиŅ
if ($psversiontable.psversion.major -ge 5)
āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨ā§āĻāĻŋāĻā§āĻļāĻ¨ āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§: $date āĻāĻŦāĻ $Computer, āĻ¯āĻž āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¤āĻžāĻ°āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
$date = Get-Date -Format dd.MM.yyyy_hh_mm
$Computer = $env:COMPUTERNAME
New-Item -Path $path$computer$date âItemType 'Directory' -Force | Out-Null
$path = "$path$computer$date"
āĻāĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒāĻā§āĻˇ āĻĨā§āĻā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻĒāĻžāĻ: $process āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻāĻŋāĻā§ win32_process āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ get-ciminstance cmdlet āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻŋāĻ˛ā§āĻā§āĻ-āĻ āĻŦāĻā§āĻā§āĻ āĻ¸āĻŋāĻāĻŽāĻĄāĻŋāĻ˛ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻāĻāĻĒā§āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻā§āĻ˛āĻŋ āĻšāĻŦā§ āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻĄ (āĻĒāĻŋāĻĒāĻŋāĻāĻāĻĄāĻŋ āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻāĻāĻĄāĻŋ), āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻļāĻ¨ āĻĄā§āĻ (āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻ¤ā§āĻ°āĻŋāĻ° āĻ¤āĻžāĻ°āĻŋāĻ), āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻĄ (āĻĒāĻŋāĻāĻāĻĄāĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻāĻāĻĄāĻŋ), āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ¨ā§āĻŽ (āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻ¨ā§āĻŽ), āĻāĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻāĻ¨āĨ¤ (āĻ¸ā§āĻāĻžāĻ°ā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ)āĨ¤
$process = get-ciminstance -classname win32_process | Select-Object creationdate, processname, processid, commandline, parentprocessid
āĻ¸āĻŽāĻ¸ā§āĻ¤ TCP āĻāĻŦāĻ UDP āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ¤ā§, $netTCP āĻāĻŦāĻ $netUDP āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¯āĻĨāĻžāĻā§āĻ°āĻŽā§ Get-NetTCPConnection āĻāĻŦāĻ Get-NetTCPConnection cmdlets āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
$netTCP = Get-NetTCPConnection | select-object creationtime, localaddress, localport, remoteaddress, remoteport, owningprocess, state
$netUDP = Get-NetUDPEndpoint | select-object creationtime, localaddress, localport, remoteaddress, remoteport, owningprocess, state
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ āĻāĻŦāĻ āĻāĻžāĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻžāĻ¨āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž get-ScheduledTask āĻāĻŦāĻ Get-ScheduledJob cmdlets āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤ āĻāĻ˛ā§āĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ $task āĻāĻŦāĻ $job, āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĻā§āĻˇāĻŋāĻ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻŦā§āĻ§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨āĨ¤ āĻ¸āĻŋāĻ˛ā§āĻā§āĻ-āĻ āĻŦāĻā§āĻā§āĻ cmdlet āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§āĨ¤
$task = get-ScheduledTask | Select-Object author, actions, triggers, state, description, taskname| where author -notlike '*ĐĐ°ĐšĐēŅĐžŅĐžŅŅ*' | where author -ne $null | where author -notlike '*@%systemroot%*' | where author -notlike '*microsoft*' # $task иŅĐēĐģŅŅĐ°ĐĩŅ авŅĐžŅОв, ŅОдĐĩŅĐļĐ°ŅиŅ
âĐĐ°ĐšĐēŅĐžŅĐžŅŅâ, âMicrosoftâ, â*@%systemroot%*â, Đ° ŅĐ°ĐēĐļĐĩ ÂĢĐŋŅŅŅŅŅ
Âģ авŅĐžŅОв
$job = Get-ScheduledJob
āĻāĻ¨āĻāĻŋāĻāĻĢāĻāĻ¸ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§, āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻŽ (āĻ āĻ˛ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ, āĻāĻĄāĻŋāĻāĻ¸) āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ NTFS-āĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛āĻā§ āĻāĻā§āĻāĻžāĻā§āĻ¤ āĻāĻāĻžāĻ°ā§āĻ° āĻāĻāĻžāĻ§āĻŋāĻ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ°āĻ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ ADS āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻĄā§āĻāĻž āĻ˛ā§āĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§āĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻĻā§āĻˇāĻŋāĻ¤ āĻā§āĻĄ āĻāĻ¨āĻā§āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž āĻĄā§āĻāĻž āĻ˛ā§āĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
PowerShell-āĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻŽāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻā§āĻ°ā§āĻŽ āĻĻā§āĻāĻ¤ā§ * āĻāĻŋāĻšā§āĻ¨ āĻ¸āĻš get-item cmdlet āĻāĻŦāĻ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž $ADS āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦāĨ¤
$ADS = get-item * -stream * | where stream âne ':$Data'
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻĒāĻ¯ā§āĻā§ āĻšāĻŦā§, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ $user āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ quser āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻŦāĨ¤
$user = quser
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĒāĻž āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻ°āĻž āĻ
āĻā§āĻ°āĻžāĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ
āĻā§āĻĒā§āĻ˛ā§āĻ¤ā§ āĻāĻāĻā§āĻŽāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ Get-ItemProperty cmdlet āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻ¸ā§āĻ¨ āĻĻā§āĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ: $runUser - āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒāĻā§āĻˇā§ āĻ
āĻā§āĻ˛ā§āĻĄ āĻĻā§āĻāĻ¤ā§ āĻāĻŦāĻ $runMachine - āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻĒāĻā§āĻˇā§ āĻ
āĻā§āĻ˛ā§āĻĄ āĻĻā§āĻāĻ¤ā§āĨ¤
$runUser = Get-ItemProperty
"HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
$runMachine = Get-ItemProperty
"HKLM:SoftwareMicrosoftWindowsCurrentVersionRun"
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻ˛ā§ āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋāĨ¤
$array = $process, $netTCP, $netUDP, $task, $user, $runUser, $runMachine, $job, $ADS
$arrayName = "Processes", "TCPConnect", "UDPConnect" "TaskScheduled", "Users", "RunUser", "RunMachine",
"ScheduledJob", "Alternative Data Stream"
āĻāĻŦāĻ, āĻāĻāĻāĻŋ āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻĄā§āĻāĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ˛ā§āĻāĻž āĻšāĻŦā§āĨ¤
for ($w = 0; $w -lt $array.count; $w++){
$name = $arrayName[$w]
$array[$w] >> $path$name.txt
āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻš 9āĻāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻ, āĻ¸āĻžāĻāĻŦāĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻā§āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻŽā§āĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ PowerShell āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ
āĻā§āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¯ā§āĻ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻĄāĻžāĻŽā§āĻĒāĻŋāĻ, āĻāĻŦāĻŋ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻŋāĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com