정보 수집 - 파워쉘

로컬 호스트 정보 수집 페이지에서도 잠깐 언급했지만, cmd 및 파워쉘을 통한 정보 수집은 레드팀 작전의 작전보안에 적합하지 않다.

그러나 레드팀을 제외하고 모의해킹, 그리고 블루팀의 엔드포인트 감사/테스팅에서 파워쉘을 여전히 많이 쓰이고 있다. 따라서 아주 소수의, 고급 APT 공격 시뮬레이션을 하는 레드팀을 제외한다면 CMD 파워쉘을 통한 정보 수집은 아직도 많이 사용된다. 따라서 이 페이지에서는 파워쉘을 통한 로컬/도메인 정보 수집에 대해서 알아본다.

로컬

기본

  • 유저, 그룹, 호스트이름, 네트워킹, 프로세스 리스 등의 간단한 기본 정보를 수집한다.

# 유저 및 그룹 
whoami 
net user 
net users
net localgroups 
net group /domain 
net localgroup Administrators

# 프로세스 
ps 
Get-Process
tasklist.exe /V
wmic process get ProcessId,Description,ParentProcessId,ReadOperationCount,WriteOperationCount

# 호스트 이름 
hostname

# 네트워킹 - layer 2,3 
ipconfig /all 
route print
arp -a 

# 도메인 이름 
Get-WmiObject -Namespace root\cimv2 -Class Win32_ComputerSystem | Select Name, Domain
$env:USERDOMAIN

# OS 버전과 핫픽스 존재여부 
systeminfo 
Get-HotFix

# 파워쉘 세션 ID 확인. 0 = NT 서비스/시스템, 1++ = 유저 
(Get-Process -PID $pid).SessionID

엔드포인트 보안

  • AV/EDR 솔루션, AMSI, .NET 버전 (4.8+ = .NET AMSI), Applocker, Credential Guard, 파워쉘 Constrained Language Mode, 파워쉘 version 2, 로컬 방화 등의 엔드포인트 보안과 관련된 정보를 수집한다.

간단 정보 수집

액티브 디렉토

  • 파워쉘을 통한 도메인 정보 수집은 PowerView.ps1 와 같은 툴을 이용하거나 MS-ActiveDirectory Module 을 이용한다. MS AD 모듈의 경우 설치되어 있지 않은 호스트들도 많기 때문에 Powerview 등의 툴을 많이 사용하는 편이다.

  • Powerview 등의 파워쉘 기반의 도메인 정보 수집 툴을 이용하려면 AMSI 우회를 해야한다.

  • 다음은 Powerview 기반의 정보 수집 명령어들이다.

Last updated