infosec
44.9K subscribers
874 photos
46 videos
87 files
1.21K links
Copyright: @SEAdm1n

Вакансии: @infosec_work

Информационная безопасность. Литература для ИТ специалистов. Пентест, DevOps, Администрирование.

Преобрести рекламное размещение: https://telega.in/c/it_secur
Download Telegram
Forwarded from CyberSecrets
Боковое перемещение: PSRemoting

Powershell Remoting (PSRemoting) использует протокол WS-Management и службу WinRM. PSRemoting позволяет выполнять команды Powershell на удаленном хосте, а Microsoft рекомендует его как способ управления Windows. По умолчанию PSRemoting включен на серверах выше Windows Server 2012 R2. Для использования PSRemoting пользователь должен быть членом группы локальных администраторов или группы Remote Management Users.

При использовании BloodHound запрос Cypher поиска информации может быть следующим:

MATCH p=(u)-[r:CanPSRemote|MemberOf1*..]->(c:Computer) return p


PSRemoting имеет возможность выполнения команды Invoke-Command и создания интерактивной оболочки Enter-PSSession на удаленном хосте.

Выполнение команды Invoke-Command будет следующим:

Invoke-Command –ComputerName comp -ScriptBlock {hostname}


В Invoke-Command можно передавать выполнение скрипта, без необходимости загружать его на удаленный хост:

Invoke-Command -ComputerName comp -FilePath .\script.ps1


Также Invoke-Command можно использовать для выполнения на нескольких машинах, что удобно для получения полезной информации, например, проверить наличие дополнительных сетевых интерфейсов. А список машин передать через чтение содержимого файла.

Invoke-Command -ComputerName $(Get-Content comps.txt) -ScriptBlock {ipconfig}


Для создания интерактивной оболочки необходимо выполнить следующую команду:

Enter-PSSession -ComputerName comp


Чтобы выйти из интерактивной оболочки нужно выполнить команду exit

В PSRemoting есть возможность создавать сеансы и использовать их при необходимости. Получается некое подобие командного центра.

Сеанс создается с помощью cmdlet New-PSSession:

New-PSSession -ComputerName comp1


Посмотреть список существующих сеансов:

Get-PSSession


Чтобы использовать сеанс в Invoke-Command или Enter-PSSession нужно указать его id через параметр -id. Например:

Enter-PSSession -id 1


А для выполнения команды на всех машинах, где установлен сеанс, команда Invoke-Command будет иметь следующий вид:

Invoke-Command -Session (Get-PSSession) -ScriptBlock {hostname}


Сеансы могут быть использованы для передачи файлов. Для этого в cmdlet Copy-Item необходимо использовать параметры -toSession или -fromSession. В которые сессии указываются через Get-PSSession:

Copy-Item -ToSession (Get-PSSession -id 1) -Path .\file.txt -Destination "c:\temp\"


После завершения работ удалить все созданные сеансы с помощью следующей последовательности команд:

Get-PSSession | Disconnect-PSSession 


Обычно PSRemoting использует контекст текущего пользователя для подключения, но можно использовать параметр -Credential для передачи альтернативных учетных данных. Это полезно при подключении с не доменного хоста.

#Внутрянка #RedTeam #PurpleTeam
Forwarded from Ralf Hacker Channel (Ralf Hacker)
Для получения паролей пользователей SSH в открытом виде

https://github.com/jm33-m0/SSH-Harvester

#redteam #pentest #creds #git
Forwarded from CyberSecrets
Боковое перемещение: Проброс портов

Движение по сети межу хостами в сегментированной сети может быть затруднительной задачей. Например, хост необходимый для выполнения работ, может находиться в другой подсети и правила межсетевого экрана ограничивают туда доступ. Или есть правила межсетевого экрана разрешают доступ только с определенных адресов. Если был обнаружен терминальный сервер с доступом в другую подсеть или разрешающим правилом межсетевого экрана, то проблемы нет. Можно зайти этот терминальный сервер по RDP и продолжаем работать, а вот если это рабочая станция, где работает пользователь и нельзя прерывать его работу, то возникает не большая проблема. Ее можно решить с помощью проброса портов.

Проброс портов можно выполнить с помощью portproxy в netsh. Для настройки netsh требуются права локального администратора, а также должна быть включена служба iphlpsvc. Проверить службу можно с помощью команды

Get-Service iphlpsvc


Правила проброса портов можно создавать между адресами IPv4 и IPv6, для этого существуют опции v4tov6, v6tov4, v4tov4 и v6tov6.

В качестве примера выполним проброс порта для RDP:

netsh interface portproxy add v4tov4 listenaddress=10.10.10.10 listenport=4444 connectaddress=192.168.56.10 connectport=3389


• listenaddress – адрес, к которому будет выполняться подключение
• listenport – порт, на который будет выполняться подключение
• connectaddress – адрес, на который будет перенаправляться трафик
• connectport – порт, на который будет перенаправляться трафик

Теперь можно запустить RDP клиент и выполнить подключение:

mstsc.exe /v:10.10.10.10:4444


Посмотреть правила проброса портов можно с помощью команды

netsh interface portproxy show all


Изменить настройки перенаправления портов можно заменив параметр add на set и поменять необходимые параметры в команде, представленной выше.

После выполнения работ необходимо удалить созданное правило проброса портов

netsh interface portproxy delete v4tov4 listenport=4444 listenaddress=10.10.10.10


А если правил было несколько, то можно удалить их все одной командой:

netsh interface portproxy reset


Этот способ можно использовать для обхода локальных правил межсетевого экрана, если это необходимо для выполнения работ.

Проброс портов дает определенные возможности, но в глобальном смысле лучше поднять сервер SOCKS и использовать его для доступа в другие подсети.

#Внутрянка #RedTeam #PurpleTeam