Этичный хакинг и тестирование на проникновение, информационная безопасность
Настройка рабочего окружения PowerShell в Windows и Linux
PowerShell — это платформа, инструмент автоматизации и настройки, который работает в различных операционных системах. PowerShell это больше чем просто скриптовый язык программирования, PowerShell содержит функции для управления локальным и удалённым компьютером. В зависимости от установленного ПО (в первую очередь административного и серверного программного обеспечения) количество функций (командлетов) PowerShell может быть различным.
Знание PowerShell необходимы системным администраторам Windows, а также аудиторам безопасности, поскольку имеется достаточно много отличных и уникальных инструментов, написанных на PowerShell (в первую очередь направленных на пентест Windows). Для продвинутых пользователей Windows знание PowerShell не будет лишним, т. к. с его помощью можно автоматизировать рутинные задачи и более тонко (или просто быстрее чем через графический интерфейс) настроить свою систему Windows.
Как установить приложения с помощью Powershell
PowerShell имеет богатые возможности, активно развивается, портирован на Linux, имеет огромную справку, которая также активно поддерживается и развивается. Эта статья посвящена не языку PowerShell, а настройке рабочего окружения для поддержки PowerShell и запуску скриптов — хотя PowerShell предустановлен в каждую Windows, свои особенности (трудности) есть даже там. Проще говоря, эта статья посвящена не тому, как написать свою первую программу «Hello, World!» на PowerShell, а тому, как запустить готовую программу «Hello, World!» в PowerShell.
Отличия PowerShell и CMD в Windows
В Windows PowerShell уже давно устанавливается по умолчанию.
Чтобы открыть PowerShell, нажмите Win+x и выберите Windows PowerShell (администратор):
В приглашении командной строки вы увидите PS и текущую рабочую директорию:
Чтобы открыть CMD нужно нажать Win+r, напечатать cmd и нажать ENTER:
Приглашение командной строки CMD выглядит так:
В CMD можно запустить:
- утилиты командной строки Windows
- встроенные функции CMD
- файлы .bat
В PowerShell можно запустить всё то же самое, что и в CMD, а также дополнительно:
- команды языка PowerShell
- скрипты PowerShell
В PowerShell сработает такая простая команда как dir:
Но если выполнить эту команду в PowerShell и в CMD, то можно увидеть, что вывод этих команд различается.
А если попытаться выполнить эту команду с опцией, например:
dir /A
То в CMD она сработает, а в PowerShell завершится ошибкой.
Windows Powershell: Что это и как использовать? Основные команды ️⚙️
Дело в том, что вместо реализации таких же утилит как в CMD, в PowerShell используются собственные командлеты, работа которых различается, например, выводом или поддержкой опций. В PowerShell сработают команды cd, ls, dir, cat, man, kill, mount, move, sort, pwd, wget, curl и другие, знакомые по Linux, но это НЕ ОЗНАЧАЕТ что эти команды поддерживают те же самые опции, что и опции в Linux. Это просто аналоги, причём довольно грубые. Точнее говоря, это псевдонимы команд PowerShell. Полный список псевдонимов вы можете просмотреть командой:
Get-Alias
Как установить PowerShell в Linux
PowerShell работает также и в Linux, но некоторые команды PowerShell отсутствуют в Linux. При запуске скриптов PowerShell в Linux возникнут проблемы в следующих случаях:
- в скрипте используются команды, которые отсутствуют в Linux версии PowerShell (например, из-за того, что связаны с настройками Windows или неприменимы для Linux по другим причинам)
- скрипт обращается к переменным окружения Windows
- в скрипте используются утилиты Windows, отсутствующие в Linux
Могут быть и другие причины проблем, но много всё равно работает.
Многие дистрибутивы Linux поддерживаются официально и простые инструкции по установке PowerShell в свой дистрибутив, а также установочные файлы вы найдёте здесь: Как установить PowerShell в Linux.
Установка PowerShell в Kali Linux
PowerShell добавлен в стандартные репозитории Kali Linux, поэтому установка очень простая:
sudo apt install powershell
Установка PowerShell в Arch Linux, BlackArch
git clone https://aur.archlinux.org/powershell-bin.git cd powershell makepkg -si
Чтобы узнать версию PowerShell выполните команду:
Get-Host | Select-Object Version
Как запустить скрипт PowerShell в Windows
Для запуска скрипта с расширением .ps1 нужно открыть консоль PowerShell и затем указать полный путь до файла. Вы также можете перейти в папку со скриптом либо с помощью команды cd, либо, если вы хотите полностью окунуться в стиль PowerShell, то можете использовать Set-Location.
Например, мне нужно перейти в папку C:UsersАдминистраторDownloadsWinPwn-master:
Set-Location C:UsersАдминистраторDownloadsWinPwn-master
Если вы просто попытаетесь запустить скрипт, то почти наверняка столкнётесь с ошибкой, что запуск скриптов запрещён. Для исправления ошибки выполните команду:
Set-ExecutionPolicy unrestricted
Запуск скрипта с помощью Import-Module
При запуске некоторых скриптов может ничего не происходить. Дело в том, что скрипт может содержать в себе функцию, которую нужно импортировать, а затем запустить. Поищите в документации по интересующей вас программе примеры со строкой Import-Module.
Например для запуска WinPwn нужно вначале импортировать файл с функциями:
Import-Module .WinPwn.ps1
А после этого можно вызывать содержащиеся в файле функции:
WinPwn
Как запустить скрипт PowerShell в Linux
В Linux для вызова консоли PowerShell нужно набрать:
pwsh
Затем в консоли PowerShell либо просто запустите желаемый скрипт:
./hello_world.ps1
Либо запустите функцию после импорта файла с помощью Import-Module. Пример запуска через импорт одной из функции Invoke-TheHash:
Import-Module .Invoke-SMBEnum.ps1 Invoke-SMBEnum -Target 192.168.0.53 -Username HackWare-mialАдминистратор -Hash 5187b179ba87f3ad85fea3ed718e961f -verbose
Как получить справку по командам в PowerShell
Если вы хотите получить справку по опциям функции, команды или программы в PowerShell, то используйте команду Get-Help, после которой укажите другую команду, по которой вы хотите получить справку:
Get-Help КОМАНДА
Для получения справки по Set-Location:
Get-Help Set-Location
Для получения справки по Invoke-SMBEnum (после импорта функции из файла):
Get-Help Invoke-SMBEnum
Как обновить PowerShell до последней версии
По умолчани в Windows 10 предустановлена версия PowerShell 5, но в настоящее время последней версией является PowerShell 7. Чтобы обновиться до последней версии смотрите статью «Как установить PowerShell 7 в Windows 10». Обратите внимание, что PowerShell 7 не заменит PowerShell 5. То есть в системе будут доступны обе версии PowerShell.
Адаптация скриптов PowerShell для Linux
Я сам только начинаю знакомство с PowerShell, но хочу привести интересный пример, как можно самостоятельно решить проблему и запустить скрипт PowerShell в Linux не смотря на то, что он выдавал ошибку.
В Invoke-TheHash есть функция Invoke-SMBEnum, которая выполняет перечисление пользователей, групп, сетевых сессий и совместных ресурсов. В Windows эта функция работает отлично. Попробую использовать её в Linux.
Запускаю консоль PowerShell:
pwsh
Перехожу в папку с уже скаченными скриптами:
cd ./bin/Invoke-TheHash/
Импортирую файл с нужной функцией:
Import-Module .Invoke-SMBEnum.ps1
Invoke-SMBEnum -Target 192.168.0.53 -Action All -Username HackWare-mialАдминистратор -Hash 5187b179ba87f3ad85fea3ed718e961f -verbose
И получаю ошибку «Cannot find path ‘computername’ because it does not exist.», она означает, что не получается найти путь computername (имя компьютера), т. к. путь не существует. Ошибка возникла в этой строке:
$auth_hostname = (Get-ChildItem -path env:computername).Value
Если попытаться выполнить отдельно команду из этой строки:
Get-ChildItem -path env:computername
то она вызовет эту же самую ошибку:
Get-ChildItem: Cannot find path ‘computername’ because it does not exist.
Можно предположить (лучше посмотреть в справке, но мне лень туда лезть), что env имеет отношение к переменным окружения, а computername — это имя переменной, которая содержит (как следует из названия) имя компьютера. Судя по всему, в Linux эта переменная окружения не существует.
Самое простое решение — прописать это имя вручную. Для этого открываю файл Invoke-SMBEnum.ps1 текстовым редактором, нахожу там строку
$auth_hostname = (Get-ChildItem -path env:computername).Value
И меняю её на такую строку:
$auth_hostname = ‘hackware-mial’
То есть я просто прописал имя компьютера вместо получения его с помощью функции.
Важно помнить, что после импорта функция будет считываться не из файла, который я изменил, а из памяти. Поэтому чтобы PowerShell увидел сохранённые в файле изменения, нужно заново выполнить импорт файла — для этого пришлось закрыть (CTRL+d) и открыть заново PowerShell:
pwsh
cd ./bin/Invoke-TheHash/ Import-Module .Invoke-SMBEnum.ps1
И после этого вновь запускаю команду:
Invoke-SMBEnum -Target 192.168.0.53 -Action All -Username HackWare-mialАдминистратор -Hash 5187b179ba87f3ad85fea3ed718e961f -verbose
В этот раз команда сработала.
- после внесения изменений в файл нужно заново его импортировать (возможно, даже перезайти в PowerShell)
- некоторые проблемы с запуском скриптов PowerShell в Linux достаточно просто решить самостоятельно
Задать вопрос по PowerShell
На этой странице я планирую добавлять ответы на часто возникающие вопросы и решения для частых проблем у новичков с PowerShell, поэтому если вам что-то ещё не понятно, то спрашивайте здесь в комментариях.
Связанные статьи:
- Как установить Python и PIP на Windows 10. Настройка Python в качестве модуля веб-сервера (57.7%)
- Как установить и использовать Ruby в Windows (57.7%)
- Как запустить PHP скрипт без веб-сервера (56.2%)
- Основы C++ (52.5%)
- Как быстро узнать и преобразовать кодировку (50%)
- Tor: от азов до продвинутого уровня (ч. 4): Подсказки по использованию браузера и службы Tor (RANDOM — 1.1%)
Источник: hackware.ru
Как установить неподписанный .Пакет приложения Appx с использованием PowerShell в Windows 10
Вредоносные программы постоянно находят новые способы нанести вред устройствам. Видя это, всегда было бы разумно получать приложения в формате файла Appx, который используется приложениями универсальной платформы Windows (UWP) в Windows 10. Это позволяет вам устанавливать приложения прямо из Microsoft Store.
Однако иногда может потребоваться установить .Пакет Appx из-за пределов Магазина Windows. В этом случае Windows 10 предлагает вам установить его с помощью простой команды в PowerShell. Например, предположим, что вы разработчик программного обеспечения и у вас есть отличная идея приложения, над которой можно поработать. Но перед загрузкой в Магазин необходимо как следует протестировать.
В этом руководстве мы объясним довольно простой способ установки .Пакет Appx с PowerShell.
Установите пакет приложения Appx с помощью PowerShell
Разрешить загрузку неопубликованных приложений
Прежде чем начать, убедитесь, что приложения для неопубликованной загрузки включены в настройках Windows. По умолчанию эта опция доступна во включенной форме, но иногда она может быть отключена администратором.
Чтобы проверить это или изменить эти настройки, вам сначала необходимо войти в систему как администратор. После этого откройте Настройки Windows> Обновление и безопасность> Для разработчиков. Теперь перейдите на правую панель и установите переключатель рядом с Неопубликованные приложения.
В это время вы можете получить предупреждение при включении загрузки неопубликованных приложений на вашем устройстве Windows. Чтобы включить загрузку неопубликованных приложений, щелкните значок да кнопка.
Используйте PowerShell
После того, как вы выполнили надлежащую проверку / изменения, пришло время установить .Пакет Appx.
Для этого откройте на устройстве Windows командную строку PowerShell с повышенными привилегиями.
В интерфейсе Windows PowerShell введите следующий текст и нажмите Enter —
Add-AppxPackage -Path «C: Path to File».Appx »
В приведенной выше командной строке соответствующий путь указывает расположение .appx файл, который хранится в подкаталоге вашего устройства.
Итак, здесь вам нужно заменить Дорожка с точным расположением пути .appx файл.
Также замените файл.appx с именем файла универсальной платформы Windows, как показано на снимке выше. Затем нажмите Enter, чтобы запустить командную строку.
При нажатии клавиши Enter он начнет выполнять команду, и через мгновение приложение будет установлено на вашем устройстве.
Теперь вы можете просто нажать кнопку «Пуск» и открыть приложение, как любое другое приложение.
Интересное чтение: 10 основных команд PowerShell, которые должен знать каждый пользователь Windows 10.
Игры
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д.
Игры
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с.
Игры
Командная строка — не только ваш главный союзник при использовании Linux — она также может быть источником развлечений, потому что вы можете использ.
Свежие статьи об операционных системах. Множество интересных гайдов и полезных советов. Почувствуйте себя своим в мире современных технологий
Источник: ru.phen375questions.com
Как установить или обновить PowerShell в Windows 11
Windows PowerShell — это интерфейс командной строки, разработанный Microsoft, который помогает автоматизировать обычные задачи в вашей системе. Если вы активный пользователь Windows и регулярно используете PowerShell, вам потребуется использовать последнюю версию.
Есть несколько способов установить или обновить PowerShell в Windows 11. В этой статье мы рассмотрим их все. Проверять Как создавать запланированные задачи в Windows с помощью PowerShell (и зачем?).
1. Как установить или обновить PowerShell с помощью команды Winget
Диспетчер пакетов Windows (или Winget) — это приложение командной строки, которое можно использовать для установки приложений в Windows. Это избавляет от необходимости искать приложение в Интернете и выполнять громоздкий процесс установки.
Использование команды Winget — один из самых простых способов установить или обновить PowerShell в Windows 11. Вот шаги, которые вы можете выполнить.
- Нажмите кнопку поиска на панели задач или нажмите Win + S чтобы открыть меню поиска.
- Тип CMD В поле поиска.
- Найдите Запустить от имени администратора Чтобы открыть командную строку с правами администратора.
- Найдите Да При появлении запроса контроля учетных записей (UAC).
- Вставьте следующую команду в окно и нажмите Enter Отображает все доступные версии приложения PowerShell.
winget search PowerShell
- Запишите идентификатор, связанный с приложением PowerShell, которое вы хотите получить.
- Выполните следующую команду, чтобы установить PowerShell.
winget install AppID
Замените AppID в приведенной выше команде фактическим идентификатором приложения, упомянутым на последнем шаге.
Подождите, пока Winget загрузит и установит PowerShell на ваш компьютер, а затем введите выход Чтобы выйти из окна командной строки. После этого приложение PowerShell должно быть доступно для использования.
Удобно, что команда Winget также позволяет вам устанавливать несколько приложений одновременно. Если вы хотите узнать, как это сделать, ознакомьтесь с нашим руководством по Как установить несколько пакетов приложений в пакетном режиме в Windows 11.
2. Как установить или обновить PowerShell с GitHub
Другой способ установить или обновить PowerShell в Windows — загрузить его установочный пакет с веб-сайта GitHub. Вот как вы можете это сделать.
- Откройте ваш любимый веб-браузер и перейдите к Страница GitHub PowerShell.
- Выберите последнюю версию PowerShell на странице GitHub.
- Прокрутите вниз в разделе «Активы» и загрузите файл MSI на свой компьютер.
- Откройте пакет мастера установки и нажмите следующий.
- Выберите папку установки и нажмите следующий.
- Нажмите следующий снова.
- Установите флажки, которые говорят Включить обновление PowerShell через Центр обновления Майкрософт или WSUS و Использовать Центр обновления Майкрософт, когда я проверяю наличие обновлений. Затем нажмите Далее.
Нажмите кнопку «Установить» и следуйте инструкциям на экране, чтобы завершить процесс.
И это все, что нужно сделать. После того, как вы выполните вышеуказанные шаги, в вашем распоряжении будет последняя версия PowerShell. Проверять Как запускать автоматические команды при запуске командной строки / Powershell.
3. Как установить или обновить PowerShell с помощью Microsoft Store
PowerShell также доступен в Microsoft Store. Чтобы установить или обновить приложение PowerShell с помощью Microsoft Store, выполните следующие действия:
- Откройте приложение Microsoft Store на своем компьютере.
- Используйте панель поиска вверху, чтобы найти приложение PowerShell в Магазине.
- Нажмите кнопку Обновить Чтобы обновить приложение PowerShell. Если у вас нет приложения, нажмите кнопку Установки Чтобы получить его.
Если вы столкнулись с Проблема с открытием приложения Microsoft Store В Windows 11 исправьте это, чтобы вы могли легко обновлять свои приложения.
Автоматизируйте свои задачи с помощью PowerShell
Использование последней версии PowerShell должно предоставить вам доступ к новейшим функциям. Вы можете использовать любой из методов, которые вы хотите установить или обновить PowerShell в Windows 11.
Теперь, когда у вас есть последняя версия PowerShell, почему бы не изучить некоторые Альтернативные методы Чтобы открыть его на ПК с Windows?
Источник: www.dz-techs.com