NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    스크립트 WMI 명령어로 윈도우 시스템 정보 확인하기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로(에디터 or 플레이어)에서 WMI 명령어로 윈도우 시스템 정보를 확인할 수 있습니다. 상당히 유용한 정보들을 가져올 수 있는데요. 이런 정보를 바탕으로 뭔가 다른 로직을 만들수도 있으니까요^^; 자 우선, 엔지엠 에디터를 실행하고 [ 윈도우 커멘드 ] 액션을 하나 추가 해줍니다.

    • Shell 사용: False (윈도우 커멘드 명령을 실행 후 결과를 받으려면 Shell을 사용하지 않음으로 설정해야 합니다.)
    • 파라메터: /c C:\Windows\System32\wbem\wmic.exe <옵션>
    • 프로세스: cmd

    dge2eRM.png

     

     

    파라메터를 아래와 같이 설정하고 실행 해보세요. 결과 반환에 OS 캡션 정보를 확인할 수 있습니다.

    • 파라메터: /c C:\Windows\System32\wbem\wmic.exe OS get Caption

    N9CWav8.png

     

     

    많은 명령들이 있는데요. 아래와 같이 특정 프로세스를 종료시킬수도 있습니다.

    • 파라메터: /c C:\Windows\System32\wbem\wmic.exe process where name="Nox.exe" call terminate

    z0qcWWn.gif

     

     

    어떤 명령들이 있는지 하나씩 알아보죠^^

    1. Operation system Information
      사용자 OS(Windows)의 이름 확인
      /c C:\Windows\System32\wbem\wmic.exe OS get Caption
      C:\WINDOWS\system32>wmic OS get Caption
      Caption
      Microsoft Windows 10 Pro


      OS 플랫폼 또는 아키택쳐 정보
      /c C:\Windows\System32\wbem\wmic.exe OS get OSArchitecture

      C:\WINDOWS\system32>wmic OS get OSArchitecture
      OSArchitecture
      64비트


      OS 버전 확인
      /c C:\Windows\System32\wbem\wmic.exe OS get Version

      C:\WINDOWS\system32>wmic OS get Version
      Version
      10.0.19042

       

    2. BIOS Information
      제조사 정보 확인
      /c C:\Windows\System32\wbem\wmic.exe BIOS get Manufacturer
      C:\WINDOWS\system32>wmic BIOS get Manufacturer
      Manufacturer
      American Megatrends Inc.


      BIOS 제조일자와 버전 확인
      /c C:\Windows\System32\wbem\wmic.exe BIOS get Name

      C:\WINDOWS\system32>wmic BIOS get Name
      Name
      BIOS Date: 12/25/19 09:41:56 Ver: V1.80


      SMBIOS 버전 확인 (System Management BIOS는 시스템 펌웨어를 통해 관리 정보를 제공)
      /c C:\Windows\System32\wbem\wmic.exe BIOS get SMBIOSBIOSVersion

      C:\WINDOWS\system32>wmic BIOS get SMBIOSBIOSVersion
      SMBIOSBIOSVersion
      1.80


      BIOS 버전 확인
      /c C:\Windows\System32\wbem\wmic.exe BIOS get Version

      C:\WINDOWS\system32>wmic BIOS get Version
      Version
      ALASKA - 1072009

       

    3. CPU Information
      CPU 이름 확인
      /c C:\Windows\System32\wbem\wmic.exe CPU get Name​​​

      C:\WINDOWS\system32>wmic CPU get Name
      Name
      Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz


      물리 코어 갯수 확인
      /c C:\Windows\System32\wbem\wmic.exe CPU get NumberOfCores

      C:\WINDOWS\system32>wmic CPU get NumberOfCores
      NumberOfCores
      16


      논리 코어 갯수 확인
      /c C:\Windows\System32\wbem\wmic.exe CPU get NumberOfLogicalProcessors

      C:\WINDOWS\system32>wmic CPU get NumberOfLogicalProcessors
      NumberOfLogicalProcessors
      16

       

    4. 설치 가능 최대 메모리 용량 정보
      /c C:\Windows\System32\wbem\wmic.exe MEMPHYSICAL get MaxCapacity

      C:\WINDOWS\system32>wmic MEMPHYSICAL get MaxCapacity
      MaxCapacity
      67108864

       

    5. Memory Information
      메모리 용량 정보 확인
      /c C:\Windows\System32\wbem\wmic.exe MEMORYCHIP get Capacity

      C:\WINDOWS\system32>wmic MEMORYCHIP get Capacity
      Capacity
      8589934592
      8589934592
      8589934592
      8589934592


      메모리 소켓 위치 정보
      /c C:\Windows\System32\wbem\wmic.exe MEMORYCHIP get DeviceLocator

      C:\WINDOWS\system32>wmic MEMORYCHIP get DeviceLocator
      DeviceLocator
      ChannelA-DIMM0
      ChannelA-DIMM1
      ChannelB-DIMM0
      ChannelB-DIMM1


      메모리 포트 번호 확인
      /c C:\Windows\System32\wbem\wmic.exe MEMORYCHIP get PartNumber

      C:\WINDOWS\system32>wmic MEMORYCHIP get PartNumber
      PartNumber
      M378A1K43CB2-CTD
      M378A1K43CB2-CTD
      M378A1K43CB2-CTD
      M378A1K43CB2-CTD


      메모리 태그 정보 확인
      /c C:\Windows\System32\wbem\wmic.exe MEMORYCHIP get Tag

      C:\WINDOWS\system32>wmic MEMORYCHIP get Tag
      Tag
      Physical Memory 0
      Physical Memory 1
      Physical Memory 2
      Physical Memory 3

       

    이외에도 물리적 드라이브 정보, 사용자 계정 정보 및 디스크 드라이브 시리얼 번호도 확인할 수 있습니다.

    • 물리적 드라이브 정보
      wmic DISKDRIVE get InterfaceType, Name, Size, Status
    • 사용자 계정 정보
      wmic USERACCOUNT get Caption, Name, PasswordRequired, Status
    • 디스크 드라이브 시리얼 번호
      wmic path win32_physicalmedia get SerialNumber

     

    아래 정보들은 다른 사용자가 알게되면 심각한 피해를 받을 수 있는 정보들입니다. 시스템을 해킹하기 위해 알아야 하는 기본적인 내용들이지만, 유출되면 의도치 않은 공격을 받을 수 있으므로 조심해야 합니다. 공격자가 대상 시스템의 취약점을 찾을 때 확인하는 기본적인 정보들이기도 합니다.

    • 컴퓨터 시스템 정보 확인 (사용자 또는 도메인의 롤을 확인합니다.)
      wmic computersystem get Name, Domain, Manufacturer, Model, Username, Roles /format:list
    • 계정 및 도메인 상태 확인 (실행 권한이 있는 계정을 확인할 때 사용합니다.)
      wmic group get Caption, InstallDate, LocalAccount, Domain, SID, Status
    • 프로세스 실행 (악의적인 소프트웨어를 심어놓고 실행할 수 있습니다.)
      wmic process call create "Nox.exe"
    • 프로세스 우선 순위 변경 (프로세스 또는 시스템이 손상될 수 있습니다.)
      wmic process where name="Nox.exe" call set priority 64
    • 프로세스 종료 (대상을 공격하기 전 V3나 알약 프로세스를 종료시킵니다.)
      wmic process where name="Uninst.exe" call terminate
    • 프로세스의 실행 파일 위치 확인 (공격자가 파일을 삭제하기 위한 용도로 사용합니다.)
      wmic process where "NOT ExecutablePath LIKE '%Windows%'" GET ExecutablePath
    • 시스템 파일 찾기 (Temp, Win등 모든 중요한 시스템 파일의 경로를 확인합니다.
      wmic environment get Description, VariableValue
    • 파일 속성 확인 (시스템 파일, 암호화 및 파일에 접근해서 수정이 가능한지 확인합니다.)
      wmic datafile where name='c:\\KOROMOON\\hacker.txt' get /format:list
    • 실행중인 서비스 목록 확인 (백신과 같은 윈도우 서비스를 확인할 수 있습니다.)
      wmic service where (state="running") get caption, name, startmode
    • 사용자 계정 잠그기
      wmic useraccount where name='<계정명>'set disabled=false
    • 사용자 암호 요구 사항 제거
      wmic useraccount where name='<계정명>' set PasswordRequired=false
    • 사용자 암호를 변경하지 못하도록 제한
      wmic useraccount where name='<계정명>' set passwordchangeable=false
    • 시스템에 설치된 백신 정보 확인
      wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName, productState, pathToSignedProductExe
    • 시스템 로그 삭제 (시스템 해킹 후 분석을 방해할 목적으로 사용합니다.)
      wmic nteventlog where filename='system' cleareventlog

     

    이외에도 수많은 명령들이 존재합니다. 용도에 맞게 잘 활용하면 좀 더 쉽고 빠르게 자동화할 수 있는 RPA 매크로를 제작할 수 있습니다. 물론, 시스템에 피해를 줄 수 있는 명령들도 포함되어 있기 때문에 정보를 확인하는 명령이 아닌 경우 신중하게 사용하셔야 합니다. 사실, 윈도우의 Admin 권한의 계정인 경우 대부분 설정을 변경하거나 복구할 수 있지만, 컴퓨터 시스템에 익숙하지 않은 사용자라면 난감할수도 있습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.