
SharpHook은 API 호출 내에서 다양한 자격 증명을 포착하도록 설계된 공격용 API 후킹 도구입니다.
SharpHook은 SharpRDPThief 프로젝트에서 영감을 받았습니다. 이 도구는 다양한 API 후크를 사용하여 원하는 자격 증명을 획득합니다.
백그라운드에서는 EasyHook 프로젝트를 사용합니다. 원하는 프로세스가 실행되면 SharpHook이 자동으로 해당 프로세스에 종속성을 주입하고, 그 후 EasyHook의 IPC 서버를 통해 자격 증명을 전송합니다.
| 프로세스 | API 호출 | 설명 | 진행 상태 |
|---|---|---|---|
| mstsc | CredUnPackAuthenticationBufferW | mstsc에 후크를 설치하여 사용자 이름, 비밀번호 및 원격 IP를 제공합니다. | 완료 |
| runas | CreateProcessWithLogonW | runas에 후크를 설치하여 사용자 이름, 비밀번호 및 도메인 이름을 제공합니다. | 완료 |
| powershell | CreateProcessWithLogonW | powershell에 후크를 설치하여 사용자가 다른 자격 증명을 입력할 때 명령어의 출력을 제공합니다. 예: Start-Process cmd -Credential X | 완료 |
| cmd | RtlInitUnicodeStringEx | cmd에 후크를 설치하여 PsExec, password 등의 키워드를 필터링할 수 있습니다. | 진행 중 - cmd가 충돌함, 이유를 모르겠음 |
| MobaXterm | CharUpperBuffA | MobaXterm에 후크를 설치하여 SSH 및 RDP 로그인 자격 증명을 제공합니다. | 진행 중 - 32비트 프로세스라는 점과 Fody가 작동하지 않는 문제가 있음. 해결 방법으로 프로젝트를 x86으로 컴파일하면 정상 작동합니다 |
| explorer (UAC 프롬프트) | CredUnPackAuthenticationBufferW | explorer에 후크를 설치하여 UAC 프롬프트에서 사용자 이름, 비밀번호 및 도메인 이름을 제공합니다. | 진행 중 - UAC가 액세스 거부를 표시하며, 아마 무결성 수준 문제로 추정됨 |

일부 프로세스에 문제가 있어 기여해 주시면 감사하겠습니다. Twitter에서 저를 찾거나 Pull Request를 열어주세요.