Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PowerSploit — PowerSploit - PowerShell 사후 침투 프레임워크 | Kitploit
도구/GitHubGitHub/powershellmafia/powersploit
Privilege EscalationReconnaissancePayload GenerationPersistence MechanismsLateral MovementShellcodePost-ExploitationPenetration TestingArchived
GitHubpowershellmafia/powersploit

PowerSploit

PowerSploit - PowerShell 사후 침투 프레임워크

저장소 보기
13.1k4.7k6년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이 프로젝트는 더 이상 지원되지 않습니다

PowerSploit는 침투 테스트의 모든 단계에서 테스터를 지원하는 데 사용할 수 있는 Microsoft PowerShell 모듈 모음입니다. PowerSploit는 다음 모듈과 스크립트로 구성됩니다:

코드 실행

대상 머신에서 코드를 실행합니다.

Invoke-DllInjection

선택한 프로세스 ID에 DLL을 주입합니다.

Invoke-ReflectivePEInjection

Windows PE 파일(DLL/EXE)을 PowerShell 프로세스에 반사적으로 로드하거나, 원격 프로세스에 DLL을 반사적으로 주입합니다.

Invoke-Shellcode

선택한 프로세스 ID 또는 로컬 PowerShell 내에 셸코드를 주입합니다.

Invoke-WmiCommand

대상 컴퓨터에서 PowerShell ScriptBlock을 실행하고 WMI를 C2 채널로 사용하여 형식화된 출력을 반환합니다.

스크립트 수정

손상된 머신에서 실행할 스크립트를 수정 및/또는 준비합니다.

Out-EncodedCommand

PowerShell 페이로드 스크립트를 압축하고 Base-64로 인코딩한 후 명령줄 출력을 생성합니다.

Out-CompressedDll

관리되는 DLL을 메모리에 로드하기 위한 코드를 압축하고 Base-64로 인코딩하여 출력합니다.

Out-EncryptedScript

텍스트 파일/스크립트를 암호화합니다.

Remove-Comment

스크립트에서 주석과 불필요한 공백을 제거합니다.

지속성

PowerShell 스크립트에 지속성 기능을 추가합니다.

New-UserPersistenceOption

Add-Persistence 함수에 대한 사용자 수준 지속성 옵션을 구성합니다.

New-ElevatedPersistenceOption

Add-Persistence 함수에 대한 상승된 지속성 옵션을 구성합니다.

Add-Persistence

스크립트에 지속성 기능을 추가합니다.

Install-SSP

보안 지원 공급자(SSP) DLL을 설치합니다.

Get-SecurityPackages

로드된 모든 보안 패키지(SSP)를 열거합니다.

안티바이러스 우회

AV는 PowerShell에 상대가 되지 않습니다!

Find-AVSignature

"class101"의 DSplit과 동일한 방법을 사용하여 단일 바이트 AV 시그니처를 찾습니다.

데이터 유출

당신의 모든 데이터는 내 것입니다!

Invoke-TokenManipulation

사용 가능한 로그온 토큰을 나열합니다. 다른 사용자의 로그온 토큰으로 프로세스를 생성하고 현재 스레드에서 로그온 토큰을 가장합니다.

Invoke-CredentialInjection

의심스러운 이벤트 ID 4648(명시적 자격 증명 로그온)을 트리거하지 않고 일반 텍스트 자격 증명으로 로그온을 생성합니다.

Invoke-NinjaCopy

원시 볼륨을 읽고 NTFS 구조를 파싱하여 NTFS 파티션 볼륨에서 파일을 복사합니다.

Invoke-Mimikatz

PowerShell을 사용하여 메모리에 Mimikatz 2.0을 반사적으로 로드합니다. 디스크에 아무것도 쓰지 않고 자격 증명을 덤프하는 데 사용할 수 있습니다. Mimikatz에서 제공하는 모든 기능에 사용할 수 있습니다.

Get-Keystrokes

키 입력, 시간 및 활성 창을 기록합니다.

Get-GPPPassword

그룹 정책 기본 설정을 통해 푸시된 계정의 일반 텍스트 암호 및 기타 정보를 검색합니다.

Get-GPPAutologon

그룹 정책 기본 설정을 통해 푸시된 경우 registry.xml에서 자동 로그온 사용자 이름과 암호를 검색합니다.

Get-TimedScreenshot

정기적으로 스크린샷을 찍어 폴더에 저장하는 함수입니다.

New-VolumeShadowCopy

새 볼륨 섀도 복사본을 생성합니다.

Get-VolumeShadowCopy

모든 로컬 볼륨 섀도 복사본의 장치 경로를 나열합니다.

Mount-VolumeShadowCopy

볼륨 섀도 복사본을 마운트합니다.

Remove-VolumeShadowCopy

볼륨 섀도 복사본을 삭제합니다.

Get-VaultCredential

일반 텍스트 웹 자격 증명을 포함한 Windows 자격 증명 모음 개체를 표시합니다.

Out-Minidump

프로세스의 전체 메모리 미니덤프를 생성합니다.

Get-MicrophoneAudio

시스템 마이크에서 오디오를 녹음하여 디스크에 저장합니다.

혼란

PowerShell로 일반적인 혼란을 일으킵니다.

Set-MasterBootRecord

선택한 메시지로 마스터 부트 레코드를 덮어쓰는 개념 증명 코드입니다.

Set-CriticalProcess

PowerShell을 종료하면 머신이 블루 스크린이 되도록 합니다.

권한 상승

대상에서 권한 상승을 돕는 도구입니다.

PowerUp

일반적인 권한 상승 검사와 일부 무기화 벡터를 제공하는 정리된 저장소입니다.

정찰

침투 테스트의 정찰 단계를 돕는 도구입니다.

Invoke-Portscan

일반 소켓을 사용하여 (nmap을 다소 느슨하게 기반으로) 간단한 포트 스캔을 수행합니다.

Get-HttpStatus

사전 파일이 제공되면 지정된 경로에 대한 HTTP 상태 코드와 전체 URL을 반환합니다.

Invoke-ReverseDnsLookup

IP 주소 범위에서 DNS PTR 레코드를 스캔합니다.

PowerView

PowerView는 네트워크 및 Windows 도메인 열거와 익스플로잇을 수행하는 함수 시리즈입니다.

정찰\사전

침투 테스트의 정찰 단계를 돕는 데 사용되는 사전 모음입니다. 사전은 다음 출처에서 가져왔습니다.

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

라이선스

PowerSploit 프로젝트와 모든 개별 스크립트는 별도로 명시되지 않는 한 BSD 3-Clause 라이선스를 따릅니다.

사용법

각 개별 스크립트에 포함된 주석 기반 도움말을 참조하여 자세한 사용 정보를 확인하세요.

이 모듈을 설치하려면 PowerSploit 폴더 전체를 모듈 디렉터리 중 하나에 넣으십시오. 기본 PowerShell 모듈 경로는 $Env:PSModulePath 환경 변수에 나열됩니다.

기본 사용자별 모듈 경로: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" 기본 컴퓨터 수준 모듈 경로: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

모듈을 사용하려면 Import-Module PowerSploit를 입력하세요.

가져온 명령을 보려면 Get-Command -Module PowerSploit를 입력하세요.

PowerShell v3을 사용 중이고 '인터넷에서 다운로드한 스크립트를 실행하시겠습니까?'라는 성가신 경고를 제거하려면 PowerSploit을 모듈 경로에 배치한 후 다음 한 줄 명령을 실행하세요: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

각 개별 명령에 대한 도움말은 Get-Help를 사용하세요.

참고: 이 모듈에 포함된 도구는 모두 개별적으로 실행할 수 있도록 설계되었습니다. 모듈에 포함시키는 것은 단지 이식성을 높이기 위한 것입니다.

기여 규칙

기여가 필요합니다! PowerSploit에 대한 훌륭한 아이디어가 있다면 추가해 주시기 바랍니다. 새로운 추가 사항에는 다음이 필요합니다:

  • 스크립트는 스타일 가이드를 준수해야 합니다. 가이드라인에 대한 예외는 명시적이고 타당한 이유가 있어야 합니다.
  • 모듈 매니페스트는 추가되는 새 함수를 반영하도록 업데이트되어야 합니다.
  • 함수에 대한 간략한 설명이 이 README.md에 추가되어야 합니다.
  • 모든 새 함수에는 Pester 테스트가 있어야 합니다. 예제는 Tests 폴더를 참조하세요. 최소한 기본적인 예상/예상치 못한 입력/출력에 대한 테스트와 함수가 원하는 기능을 보여주는 테스트를 찾고 있습니다. Pull Request를 제출하기 전에 함수가 (가급적 여러 OS에서) 모든 테스트를 통과하는지 확인하세요. 감사합니다!

스크립트 스타일 가이드

PowerSploit의 모든 기여자 및 향후 기여자분들께, 스크립트/모듈을 작성할 때 이 스타일 가이드를 따라 주시기 바랍니다.

  • 절대 Write-Host를 사용하지 마세요. PowerShell 함수/cmdlet은 명령줄 유틸리티가 아닙니다! Write-Host를 사용하는 코드가 포함된 Pull Request는 고려되지 않습니다. 대신 사용자 지정 개체를 출력해야 합니다. 사용자 지정 개체 생성에 대한 자세한 내용은 다음 문서를 읽어보세요:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • 화면에 관련 디버깅 정보를 표시하려면 Write-Verbose를 사용하세요. 사용자는 '-Verbose'를 추가하면 됩니다.

  • 모든 스크립트에 대해 항상 설명적이고 주석 기반의 도움말을 제공하세요. 또한 이름과 BSD 3-Clause 라이선스(BSD 라이선스 적용을 막는 특별한 사정이 없는 한)를 포함해야 합니다.

  • 모든 함수가 적절한 PowerShell 동사-명사 규칙을 따르는지 확인하세요. Get-Verb를 사용하여 PowerShell에서 사용하는 기본 동사를 나열하세요. 지원되는 동사에 대한 예외는 사례별로 고려됩니다.

  • 변수 이름은 대문자로 작성하고 가능한 한 설명적으로 작성하는 것을 선호합니다.

  • 코드 사이에 논리적 간격을 두세요. 가독성을 높이기 위해 코드를 들여쓰기하세요.

  • 코드를 반복하는 경우 함수를 작성하세요.

  • 예상되는 모든 오류를 포착하고 의미 있는 출력을 제공하세요. 스크립트 실행을 중단해야 하는 오류는 'Throw'를 사용하세요. 실행을 중단할 필요가 없는 오류는 Write-Error를 사용하세요.

  • Win32 API와 상호 작용하는 스크립트를 작성하는 경우 Add-Type으로 C#을 인라인으로 컴파일하는 것을 피하세요. 가능하면 PSReflect 모듈을 사용하세요.

  • 하드코딩된 경로를 사용하지 마세요. 스크립트는 상자에서 바로 사용할 수 있어야 합니다. 아무도 코드를 수정할 필요가 없어야 합니다(원하지 않는 경우).

  • PowerShell v2 호환성이 매우 바람직합니다.

  • 위치 매개변수를 사용하고 가능한 경우 매개변수를 필수로 만드세요. 예를 들어 다음과 같은 형식을 사용합니다:

    • [Parameter(Position = 0, Mandatory = $True)]
  • 파이프라인 입력을 받는 것이 합리적인 경우가 아니라면 별칭을 사용하지 마세요. 특정 별칭에 익숙하지 않은 사람들이 코드를 읽기 어렵게 만듭니다.

  • 명령이 너무 길어지지 않도록 하세요. 예를 들어 파이프라인은 자연스러운 줄 바꿈 위치입니다.

  • 인라인 주석을 과도하게 사용하지 마세요. 코드의 특정 측면이 독자에게 혼란을 줄 수 있는 경우에만 사용하세요.

  • 불필요하거나 관련 없는 출력을 억제하기 위해 Out-Null을 사용하는 대신 $null에 저장하세요. 이렇게 하면 약간의 성능 향상이 있습니다.

  • 매개변수에 기본값을 사용하는 것이 합리적인 경우 사용하세요. 이상적으로는 매개변수 없이도 작동하는 스크립트를 원합니다.

  • 스크립트가 복잡한 사용자 지정 개체를 생성하는 경우 개체의 출력을 적절히 형식화하는 ps1xml 파일을 포함하세요.

도구 다운로드