소개
PESecurity는 NetSPI에서 개발한 PowerShell 스크립트로, Windows 바이너리(EXE/DLL)가 ASLR, DEP, SafeSEH, StrongNaming, Authenticode, Control Flow Guard, HighEntropyVA와 같은 보안 컴파일 옵션으로 빌드되었는지 확인합니다. 주로 소프트웨어 보안 감사 및 분석에 사용되며, 단일 파일이나 디렉터리 내의 여러 파일을 빠르게 검사할 수 있습니다.
상세정보
바이너리 보안 검사
- 단일 EXE 또는 DLL 파일의 보안 컴파일 옵션을 확인합니다.
- 지정된 디렉터리 내의 모든 DLL 및 EXE 파일을 검사합니다.
- recursive 옵션을 사용하여 하위 디렉터리까지 포함하여 검사할 수 있습니다.
결과 출력 및 내보내기
- Format-Table 명령을 사용하여 결과를 테이블 형태로 보기 좋게 표시할 수 있습니다.
- Export-CSV 명령과 함께 사용하여 결과를 CSV 파일로 내보낼 수 있습니다.
- sort 명령을 사용하여 특정 보안 기능(예: ASLR)별로 결과를 정렬할 수 있습니다.
다운로드·설치 방법
PESecurity는 PowerShell 모듈(.psm1) 파일로 제공됩니다. GitHub 저장소에서 파일을 다운로드한 후, PowerShell에서 Import-Module 명령을 사용하여 모듈을 가져올 수 있습니다. Chocolatey를 통해서도 설치가 가능합니다.
기본 사용법/명령어
모듈을 가져온 후 Get-PESecurity cmdlet을 사용하여 검사를 수행합니다. 기본적인 사용법은 다음과 같습니다.
- 단일 파일 검사: Get-PESecurity -file C:WindowsSystem32kernel32.dll
- 디렉터리 검사: Get-PESecurity -directory C:WindowsSystem32
- 재귀적 디렉터리 검사: Get-PESecurity -directory C:WindowsSystem32 -recursive
결과를 테이블로 보려면 Get-PESecurity -directory C:WindowsSystem32 -recursive | Format-Table 명령을 사용합니다. CSV로 내보내려면 Get-PESecurity -directory C:WindowsSystem32 -recursive | Export-CSV file.csv 명령을 사용합니다.
이런 경우에 유용합니다
소프트웨어 개발자는 자신이 만든 프로그램이 충분한 보안 옵션으로 컴파일되었는지 확인할 때 유용합니다. 보안 분석가는 제3자 애플리케이션의 보안 수준을 평가하거나 악성 소프트웨어를 분석할 때 이 도구를 사용할 수 있습니다. 시스템 관리자는 환경 내의 실행 파일들이 보안 모범 사례를 따르고 있는지 감사할 수 있습니다.
지원 환경·시스템 요구사항
이 도구는 Windows 운영 체제와 PowerShell이 설치된 환경에서 작동합니다.
시스템 요구사항
Windows 운영 체제와 PowerShell이 필요합니다.


