Na zajęciach z bezpieczeństwa IT chcę pokazać uczniom eskalację uprawnień. Aby to zrobić, przejrzałem exploit/linux/local
listę w Metasploit Framework, znajdując (między innymi) exploit/linux/local/sock_sendpage
od sierpnia 2009 roku.
Skonfigurowałem maszynę wirtualną z 32-bitowym Ubuntu Server 9.04 ( http://old-releases.ubuntu.com/releases/9.04/ubuntu-9.04-server-amd64.iso ) od kwietnia 2009. uname -r
Daje mi 2.6.28-11-generic
. Zgodnie z opisem exploita
Uważa się, że dotyczy to wszystkich wersji systemu Linux 2.4 / 2.6 od maja 2001 r .: 2.4.4 do wersji 2.4.37.4 włącznie; 2.6.0 do 2.6.30.4 włącznie
Wydaje się więc, że skonfigurowany przeze mnie serwer Ubuntu powinien nadawać się do demonstracji. Nie udało mi się jednak uruchomić go.
Dodałem (zwykłego) użytkownika na serwerze i działa dostęp do SSH. Z poziomu Metasploit Framework mogę utworzyć sesję SSH przy użyciu auxiliary/scanner/ssh/ssh_login
. Jednak kiedy uruchamiam exploita, otrzymuję
[*] Writing exploit executable to /tmp/mlcpzP6t (4069 bytes)
[*] Exploit completed, but no session was created.
Nie otrzymuję żadnych dalszych informacji, nawet jeśli ustawię wartość DEBUG_EXPLOIT
true. /tmp
jest zapisywalny, również z sesji SSH Metasploit:
$ sessions -c "touch /tmp/test.txt"
[*] Running 'touch /tmp/test.txt' on shell session 1 ([redacted])
$ sessions -c "ls -l /tmp"
[*] Running 'ls -l /tmp' on shell session 1 ([redacted])
total 0
-rw-r--r-- 1 [redacted] [redacted] 0 2016-03-28 09:44 test.txt
Próbowałem też ustawić WriteableDir
katalog domowy użytkownika na serwerze, ale bez żadnych zmian. Czego tu brakuje? Czy ta wersja serwera Ubuntu (której celowo nie zaktualizowałem!) Nie jest zagrożona?