• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь. Мобильный клиент для IOS находится в itunes по этой ссылке

Проблема Проблема с encoding'ом PowerShell команды.

28.06.2018
10
1
#1
Доброго времени суток, уважаемые посетители этого форума.
Я столкнулся с проблемой по encoding'у PowerShell команды и хотел бы попросить вашей помощи.
Суть вот в чем, у меня есть такая команда
Код:
Powershell try {(new-object System.Net.WebClient).DownloadFile('https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png', '%temp%\test.jpg'); iex $env:temp\test.jpg} catch {}
и она работает (по крайне мере на моем компьютере :) ) но после того как я ее энкрипчу получая следующие
Код:
powershell -C "powershell ([char]45+[char]101+[char]110+[char]99) dAByAHkAIAB7ACgAbgBlAHcALQBvAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4ARABvAHcAbgBsAG8AYQBkAEYAaQBsAGUAKAAnAGgAdAB0AHAAcwA6AC8ALwB3AHcAdwAuAGcAbwBvAGcAbABlAC4AYwBvAG0ALwBpAG0AYQBnAGUAcwAvAGIAcgBhAG4AZABpAG4AZwAvAGcAbwBvAGcAbABlAGwAbwBnAG8ALwAxAHgALwBnAG8AbwBnAGwAZQBsAG8AZwBvAF8AYwBvAGwAbwByAF8AMgA3ADIAeAA5ADIAZABwAC4AcABuAGcAJwAsACAAJwAlAHQAZQBtAHAAJQBcAHQAZQBzAHQALgBqAHAAZwAnACkAOwAgAGkAZQB4ACAAJABlAG4AdgA6AHQAZQBtAHAAXAB0AGUAcwB0AC4AagBwAGcAfQAgAGMAYQB0AGMAaAAgAHsAfQA="
команда перестает работать. Но если таким же методом я энкрипчу другие команды (например ping 127.0.0.1) то энкрипченая команда работает.

Помогите пожалуйста разобраться почему так происходит ? Что я делаю не правильно и в какую сторону мне копать ?
 

Underwood

Mod. Powershell
Red Team
10.11.2016
168
579
#2
Из формулировки вопроса не ясно, что конкретно вызывает трудности?
Версия ps, скриншоты команд, логи ошибок - первая необходимость в поисках помощи при траблшутинге
encoded.jpg
encoded2.jpg
 
28.06.2018
10
1
#3
Из формулировки вопроса не ясно, что конкретно вызывает трудности?
PSVersion 5.1.14393.2363
Когда я ввожу команду
Код:
Powershell try {(new-object System.Net.WebClient).DownloadFile('https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png', '%temp%\test.jpg'); iex $env:temp\test.jpg} catch {}
Она прекрасно срабатывает.
normal.png
Потом я конверчу ее в base64 вот таким вот образом:
Код:
[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes("try {(new-object System.Net.WebCli
ent).DownloadFile('https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png', '%temp%\test.jpg
'); iex $env:temp\test.jpg} catch {}"))
Convert.png
И после того как я запускаю ее вот таким образом
Код:
powershell -encodedCommand dAByAHkAIAB7ACgAbgBlAHcALQBvAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4ARABvAHcAbgBsAG8AYQBkAEYAaQBsAGUAKAAnAGgAdAB0AHAAcwA6AC8ALwB3AHcAdwAuAGcAbwBvAGcAbABlAC4AYwBvAG0ALwBpAG0AYQBnAGUAcwAvAGIAcgBhAG4AZABpAG4AZwAvAGcAbwBvAGcAbABlAGwAbwBnAG8ALwAxAHgALwBnAG8AbwBnAGwAZQBsAG8AZwBvAF8AYwBvAGwAbwByAF8AMgA3ADIAeAA5ADIAZABwAC4AcABuAGcAJwAsACAAJwAlAHQAZQBtAHAAJQBcAHQAZQBzAHQALgBqAHAAZwAnACkAOwAgAGkAZQB4ACAAQwA6AFwAVQBzAGUAcgBzAFwAcgBvAG8AdABcAEEAcABwAEQAYQB0AGEAXABMAG8AYwBhAGwAXABUAGUAbQBwAFwAdABlAHMAdAAuAGoAcABnAH0AIABjAGEAdABjAGgAIAB7AH0A
nonormal.png
Ничего не происходит.

Вот как бы суть, почему так ? Что я делаю не правильно ? Ошибок никаких не дает. Консоль просто пустая. Если через оболочку PS то тоже самое.
 

Underwood

Mod. Powershell
Red Team
10.11.2016
168
579
#4
Попробуйте изменить кодировку на UTF8 или ASCII и создать переменную со этим значением
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("try {(new-object System.Net.WebCli
ent).DownloadFile('
Для просмотра контента необходимо: Войти или зарегистрироваться
', '%temp%\test.jpg
'); iex $env:temp\test.jpg} catch {}"))
 
28.06.2018
10
1
#5
Попробуйте изменить кодировку на UTF8 или ASCII и создать переменную со этим значением
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("try {(new-object System.Net.WebCli
ent).DownloadFile('
Для просмотра контента необходимо: Войти или зарегистрироваться
', '%temp%\test.jpg
'); iex $env:temp\test.jpg} catch {}"))
Если меняю кодировку с юникода то повершелл не понимает символов.
UTF-8andASCII.png

Но еще такой момент что если я энкрипчу другую команду в юникоде то она срабатывает (например ping)
otherCOmmand.png
Еще я пробовал менять ссылку до картинки на более короткую и это тоже не помогло.
 
28.06.2018
10
1
#7
А после выполнения powershell -encodedCommand test.jpg скачивается? Необходимо использовать именно
Для просмотра контента необходимо: Войти или зарегистрироваться
?
Нет, картинка не скачивается. И снова нет, не обязательно использовать Try\Catch.
Главное что бы команда могла скачать и запустить .bat файл который будет собирать логи с IPMI.
 

Underwood

Mod. Powershell
Red Team
10.11.2016
168
579
#8
Главное что бы команда могла скачать и запустить .bat файл который будет собирать логи с IPMI.
Стоило с этого начинать:)
Намного проще использовать для загрузки
Для просмотра контента необходимо: Войти или зарегистрироваться
и
Для просмотра контента необходимо: Войти или зарегистрироваться
для запуска
Invoke-WebRequest '
Для просмотра контента необходимо: Войти или зарегистрироваться
' -OutFile 'путь_до_logs.bat"'
Start-Process "cmd.exe" "/c путь_до_logs.bat"
 
Симпатии: Понравилось Vertigo
28.06.2018
10
1
#9
Стоило с этого начинать:)
Намного проще использовать для загрузки
Для просмотра контента необходимо: Войти или зарегистрироваться
и
Для просмотра контента необходимо: Войти или зарегистрироваться
для запуска
Invoke-WebRequest '
Для просмотра контента необходимо: Войти или зарегистрироваться
' -OutFile 'путь_до_logs.bat"'
Start-Process "cmd.exe" "/c путь_до_logs.bat"
Но все же хотелось бы понять почему не работает в энкрипченом виде именно ВебРеквест ?
 
Вверх Снизу