Presentatie powershell

download Presentatie powershell

If you can't read please download the document

description

eenvoudige presentatie van PowerShell

Transcript of Presentatie powershell

  • 1. PowerShell Onderwerpen Wat is PowerShell WMI: Windows Management Instrumentation Windows register Filesystem Services, processen en eventlogs

2. Wat is PowerShell Windows PowerShell is een objectgerienteerde shell- en scripttaal met directe toegang tot: .NET framework COM objecten Windows Management Instrumentation (WMI) Windows register Windows eventlogs Filesystem Met PowerShell kunnen taken worden uitgevoerd op zowel lokale als remote Windows systemen. PowerShell is standaard aanwezig in Windows 7 en Windows Server 2008. Voor oudere systemen kan PowerShell gratis worden gedownload. 3. Processen en services Processen Get-Process | select ProcessName, Id, Cpu, Starttime gwmi win32_process -filter "name like '%powershell%'" gwmi win32_process -filter processid = 3692 Services Get-Service gwmi win32_service -filter name like '%w32time%' 4. Eventlogs Eventlogs Vanaf Windows Vista een uitbreiding van het aantal eventlogs: Get-WinEvent -listlog * Voorbeeld: Windows aan en uit get-winevent | where {$_.id -eq 6005} | fl get-winevent | where {$_.id -eq 6006} | fl Uitleg over de diverse codes is te vinden op www.eventid.net 5. WMI WMI staat voor Windows Management Instrumentation. WMI is een database die op iedere Windows computer aanwezig is (sinds Windows NT). In deze database staat informatie over de computer zelf, zoals de hoeveelheid geheugen, het type videokaart, de laatste updates en welke software is genstalleerd. Vrijwel alle gegevens over hard- en software is terug te vinden in deze database. Database Get-wmiobject -list Informatie over de HDD Get-wmiobject win32_diskdrive | select partitions, deviceid, model, @{Expression={ [math]::truncate($_.size/1GB)};Label=capacity (GB)} Partitietabel Get-wmiobject win32_diskpartition | select name, diskindex, startingoffset, bootable, blocksize, numberofblocks, @{Expression={[math]::truncate($_.size/1GB)};Label= size (GB)} | FT -auto 6. Windows register PowerShell heeft directe toegang tot registerhives als: HKEY_LOCAL_MACHINE HKEY_CURRENT_USER Voorbeeld: cd hklm: dir Interessante lokaties: HKLM:systemCurrentControlSetenum 7. Windows register Voorbeeld Welke USB datadragers hebben in het systeem gezeten: cd hklm:systemcurrentcontrolsetenumusbstor dir Foreach ($i in dir | foreach {$_.pschildname}) {dir $i | gp | select @{Expression={ $_.psparentpath.substring($_.psparentpath.lastindexof()+1)};Label= Device},FriendlyName} 8. Windows register Met welke netwerken (bedraad / draadloos) heeft het systeem verbinding gehad: Interessante registersleutels (vanaf Windows Vista) zijn te vinden in HKLM:Systemcurrentcontrolsetservicestcpipparametersinterfaces HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles Bekijk details van netwerken: cd HKLM:Systemcurrentcontrolsetservicestcpipparametersinterfaces dir | gp 9. Windows register dir | Get-ItemProperty | select @{Expression={$_.ProfileName};Label="SSID"}, @{Expression={ $hexes = [System.BitConverter]::ToString($_.datecreated) -split '-' $year = [Convert]::ToInt32($hexes[1]+$hexes[0],16) $month = [Convert]::ToInt32($hexes[3]+$hexes[2],16) $day = [Convert]::ToInt32($hexes[7]+$hexes[6],16) $hour = [Convert]::ToInt32($hexes[9]+$hexes[8],16) $minute = [Convert]::ToInt32($hexes[11]+$hexes[10],16) get-date ([datetime]"$year-$month-$day") -format "yyyy-MM-dd" };Label="Created"},@{Expression={ $hexes = [System.BitConverter]::ToString($_.datelastconnected) -split '-' $year = [Convert]::ToInt32($hexes[1]+$hexes[0],16) $month = [Convert]::ToInt32($hexes[3]+$hexes[2],16) $day = [Convert]::ToInt32($hexes[7]+$hexes[6],16) $hour = [Convert]::ToInt32($hexes[9]+$hexes[8],16) $minute = [Convert]::ToInt32($hexes[11]+$hexes[10],16) get-date ([datetime]"$year-$month-$day") -format "yyyy-MM-dd" };Label="Last connection"} | sort 'Last connection' -descending cd 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles' Bekijk netwerkverbindingen met tijdstempels (als Administrator uitvoeren) 10. Windows register Een uitgebreide logging met betrekking tot draadloze verbindingen (vanaf Windows Vista): Get-winevent Microsoft-Windows-WLAN-AutoConfig/Operational | FL Ccleaner en andere antiforensic programma's kunnen deze gegevens niet verwijderen ! 11. Windows register Firewall instellingen $fw = new-object -com hnetcfg.fwpolicy2 $fw.rules | out-gridview Genstalleerde software dir hklm:softwaremicrosoftwindowscurrentversionuninstall | foreach {gp $_.pspath} | select pschildname, displayname, displayversion, installlocation, publisher, helplink, Urlinfoabout | out-gridview 12. Filesystem Blader door de bestanden in het bestandssysteem, inclusief verborgen bestanden: dir -force -recurse Voorbeeld: zoek alle jpeg afbeeldingen dir -force -recurse | where {$_.name -match jpg} Zoek alle bestanden waarin het woord politie voorkomt dir . -recurse *.* | where {$_ |select-string "politie"} Zoek nu met unicode encoding dir . -recurse *.* | where {$_ |select-string -encoding unicode "politie"} Wat is het verschil ? 13. Einde presentatie Vragen ?