Отдалечен достъп и хакерски компютри в мрежата, използвайки PowerShell - powerpreter и nishang 0
Powerpreter съдържа Завъртете функционалност. Тя се основава на Powershell Remoting, че е всичко, което може да бъде направено чрез Pivot, може да се направи с помощта на Invoke и управление. В действителност Pivot е просто обвивка за Invoke-командване.
Нека да разгледаме процедурата за получаване на дистанционно управление (Pivot) на една машина.
Ние можем да направим това в продължение на няколко машини. Нека видим резултата от неинтерактивен Pivot'a на няколко машини.
Лесно и удобно, нали?
Non-интерактивен режим, разбира се, добре, но това не може да се сравнява с Interactive. Нека да видим как интерактивната достъпно през WCE генерирани PowerShell (с помощта на парола хашиш).
Отличен! Имаме две сесии. Можем да използваме Get-PSSession кратката команда, за да ги покажете. За да поддържаш връзка със сесията с помощта на функцията powerpreter'a Използвайте сесия
За да общуват, да можем да използваме вградената кратката команда Въведете-PSSession. Възниква въпросът, защо ние използваме различни функции за извършване на подобни действия? Това се случва, когато има опит за повикване, за да въведете-PSSession от отдалечен powerpreter'a сесия.
Какво трябва да запомните в предишния пример:
- При използване на Pivot от отдалечена машина, трябва да използвате идентификационните данни под формата на "име на компютъра \ потребителско име"
- Когато се опитате да се обадите Въведете-PSSession от отдалечен сесия, грешката е била получена, че доколкото знам не се поддържа.
- Използвайте-сесия, но работи!
Защо се работи Използване-сесия?
функция Използване-Session
<
<#
.ПРЕГЛЕД
Функцията, която може да се използва, за да си взаимодействат с отдалечената сесия, създаден с Pivot.
ОПИСАНИЕ
Тази функционалност ви позволява да си взаимодействат със сесията, която е създадена от Pivot. За списък на сесии, създадени чрез използване Pivot Get-PSSSession.
.параметър номер
Идентификационният номер на сесията, която трябва да си взаимодействат.
.Пример
PS> Използване на сесия -id
а ($ ПМС -NE "изход")
<
$ Sess = Get-PSSession -id $ идентификатор
$ Име_на_компютъра = $ sess.ComputerName
пиша-домакин -NoNewline "$ именакомпютъра>"
$ Cmd = четене домакин
$ Sb = [scriptblock] :: Създаване ($ ПМС)
Invoke-Command -ScriptBlock $ SB -Session $ sess
>
>
Обадете Invoke-Command се поддържа от отдалечен PowerShell сесия. Ние го използвате с ключовата -Session, за да се поддържа състоянието му и да бъде в състояние да го използвате интерактивно.
Сега нека да разгледаме някои функционални powerpreter'a позволява хак компютри, вие сте на една и съща мрежа.
Както подсказва името, можем да използваме тази възможност, за да сканирате портове на други компютри в мрежата.
Заслужава да се отбележи, че ключовият -ScanPort се използва за сканиране на портове. По подразбиране се изпълнява само пинг, а има и набор от портове, за да сканират тази команда, но можете да зададете различен набор от портове.
Нека да погледнем за MS SQL Server в нашата мрежа.
Бинго! Открихме един.
Тази функция ви позволява да груба сила хакване стойност услуги, като например, MSSQL, ActiveDirectory, Web или FTP на други компютри (по подразбиране - MSSQL). Нека да се справи по-рано намерени MSSQL сървър с МОС на потребителско име.
Защо? Нека да разгледаме кода.
Парам (
[Параметър (Задължително = $ вярно,
Позиция = 0,
ValueFromPipeLineByPropertyName = $ вярно)]
[Псевдоним ( "PSComputerName", "CN", "ИмеНаМашина", "
IP "," IPADDRESS "," име_на_компютъра "," URL адрес "," Ftp "
,"Домейн", "DistinguishedName")]
[String] $ идентичност,
[Параметър (Позиция = 1,
ValueFromPipeLineByPropertyName = $ вярно)]
[String] $ потребителско име,
[Параметър (Позиция = 2,
ValueFromPipeLineByPropertyName = $ вярно)]
[String] $ парола,
[Параметър (Позиция = 3)]
[ValidateSet ( "SQL", "FTP", "ActiveDirectory", "уеб")]
[String] $ Service = "SQL"
Както винаги, да споделят впечатленията си, доклад, ако откриете грешки и оставете искания.