He pakiaka ahau. Te mohio ki te Linux OS Privilege Escalation

I pau ahau i te hauwha tuatahi o 2020 ki te whakarite mo te whakamatautau OSCP. Ko te rapu korero i runga i a Google me te maha o nga whakamatautau "matapo" i pau katoa taku wa waatea. He tino uaua ki te mohio ki nga tikanga mo te whakanui ake i nga painga. Ka aro nui te akoranga PWK ki tenei kaupapa, engari kare rawa e ranea nga rauemi whakaako. He maha nga pukapuka i runga i te Ipurangi me nga whakahau whai hua, engari ehara ahau i te mea powhiriwhiri ki te whai matapo i nga tohutohu me te kore e mohio ki nga mea ka puta.

E hiahia ana ahau ki te whakapuaki ki a koe i nga mea i akohia e au i te wa o te whakarite me te angitu o te whakamatautau (tae atu ki nga waahi o ia wa ki te Hack The Box). I tino mihi ahau mo nga korero katoa i awhina i ahau ki te hikoi i te ara Try Harder ma te mohio ake, koinei taku wa ki te whakahoki ki te hapori.

Kei te hiahia ahau ki te tuku pukapuka ki a koe me pehea te whakanui ake i nga mana i roto i te OS Linux, kei roto ko te tātaritanga o nga vectors tino noa me nga ahuatanga e pa ana ka tino whai hua ki a koe. I te nuinga o nga wa ko nga tikanga mo te whakanui ake i nga painga he maamaa noa; ka ara ake nga uaua i te wa e hanga ana me te tātari korero. Na reira, i whakatau ahau ki te tiimata me te "haerenga haerenga" katahi ka whakaarohia ia vector i roto i tetahi tuhinga motuhake. Ko taku tumanako ka whakaora ahau i a koe ki te rangahau i te kaupapa.

He pakiaka ahau. Te mohio ki te Linux OS Privilege Escalation

Na he aha te mea ka taea te whakanui ake i te mana i te tau 2020 mena kua roa te mohio o nga tikanga? Inaa, mena ka tika te whakahaere a te kaiwhakamahi i te punaha, kaore e taea te whakanui ake i nga mana ki roto. Ko te raru nui o te ao e puta mai ai enei waahi ko whirihoranga haumaru. Ko te aroaro o nga putanga rorohiko tawhito kei roto i nga whakaraeraetanga i roto i te punaha he take motuhake ano mo te whirihoranga kore.

Te whakanui ake i te mana ma te whirihoranga haumaru

Tuatahi, me mahi tatou ki te whirihoranga haumaru. Me timata tatou He maha nga wa ka whakamahi nga tohunga ngaio IT i nga pukapuka me nga rauemi penei i te stackoverflow, he maha nga whakahau me nga whirihora kei roto. He tauira whakamiharo - te purongo he hapa kei roto i te waehere i tino kapea mai i te stackoverflow. Ka kite tetahi kaiwhakahaere mohio i te tii, engari kei te ao pai tenei. Ahakoa nga tohunga mohio te nui haere o te mahi te kaha ki te mahi he. Whakaarohia ko te kaiwhakahaere kei te whakarite me te ruruku i nga tuhinga mo te utu e whai ake nei, i te wa ano ka ruku ki nga hangarau hou ka mahia hei te hauwhā e whai ake nei, me te whakaoti i ia wa i nga raruraru tautoko kaiwhakamahi. Na ka tukuna ki a ia te mahi kia tere te whakarite i etahi miihini mariko e rua me te huri i nga ratonga ki runga. Ki to whakaaro he aha te tupono ka kore noa te kaiwhakahaere e kite i te tiima? Na ka huri nga tohunga, engari ka mau tonu nga tootoo, i nga wa katoa ka ngana nga kamupene ki te whakaiti i nga utu, tae atu ki nga kaimahi IT.

Pseudo-shell me te jailbreak

He iti noa te anga o te punaha i te wa e whakamahia ana, ina koa mena ka whiwhi koe ma te hacking i tetahi kaiwhakamahi o te tūmau tukutuku. Hei tauira, ka aukati te aukati anga i a koe ki te whakahaere i te whakahau sudo, ka puta he hapa:

sudo: no tty present and no askpass program specified

Ina whai anga koe, ka tūtohu ahau ki te hanga i tetahi tauranga katoa, hei tauira ma te Python.

python -c 'import pty;pty.spawn("/bin/bash")'

Ka patai pea koe: "He aha ahau ka hiahia ai kia kotahi mano nga whakahau mena ka taea e au te whakamahi kotahi, hei tauira, hei whakawhiti i nga konae?" Ko te meka he rereke te whirihora o nga punaha; karekau pea a Python i whakauruhia e tetahi kaihautu, engari kei a Perl. Ko te pukenga ko te kaha ki te mahi i nga mea taunga i roto i te punaha kaore he taputapu mohio. Ka kitea he rarangi katoa o nga ahuatanga konei.

Ka taea te tiki i tetahi anga iti-painga ma te whakamahi kapa 1 и kapa 2 (mea miharo, ara GIMP).

Tirohia te hitori whakahau

Ka kohia e Linux he hitori o nga whakahau katoa i mahia i roto i te konae ~ / .bash_history. Mena kei te kaha te whakamahi i te tūmau me te kore e whakawāteatia tōna hītori, he nui te tūponotanga ka kitea ngā taipitopito tuakiri i tēnei kōnae. Ko te whakakore i nga hitori he tino uaua. Mena ka akiakihia te kaiwhakahaere ki te whiriwhiri i nga whakahau korero tekau ma roto i te , o te akoranga, he pai ake mo ia ki te karanga i tenei whakahau mai i te hitori atu i te whakauru ano. Ano, he maha nga taangata kaore i te mohio mo tenei "hack." Mena he momo anga rereke penei i a Zsh, Fish ranei kei roto i te punaha, kei a raatau ano o raatau hitori. Hei whakaatu i te hitori o nga whakahau ki tetahi anga, pato noa i te hitori whakahau.

cat ~/.bash_history
cat ~/.mysql_history
cat ~/.nano_history
cat ~/.php_history
cat ~/.atftp_history

He manaaki tiritiri, e whakamahia ai te tūmau ki te manaaki i nga paetukutuku maha. Ko te tikanga, me tenei whirihoranga, kei ia rauemi tana ake kaiwhakamahi me te raarangi kaainga motuhake me tetahi kaihautu mariko. Na, ki te he te whirihora, ka kitea e koe te konae .bash_history i te raarangi pakiaka o te rauemi tukutuku.

Te rapu kupuhipa i roto i te punaha konae me nga whakaeke ki nga punaha tata

Ko nga konae whirihora mo nga momo ratonga ka taea e to kaiwhakamahi o naianei te panui. I roto i a raatau ka kitea e koe nga tohu tohu i roto i nga tuhinga maamaa - nga kupuhipa mo te uru atu ki te papanga raraunga, ki nga ratonga e pa ana. Ka taea te whakamahi i te kupuhipa kotahi ki te uru ki te paataka raraunga me te whakamana i te kaiwhakamahi pakiaka (nga kaimahi whai mana).
Ko nga tohu kua kitea no nga ratonga i runga i etahi atu kaihautu. Ko te whakawhanake i te whakaeke i runga i nga hanganga na roto i te kaihautu taupatupatu he kino atu i te whakamahi i etahi atu kaihautu. Ka kitea ano nga punaha tata ma te tirotiro i nga wahitau IP i te punaha konae.

grep -lRi "password" /home /var/www /var/log 2>/dev/null | sort | uniq #Find string password (no cs) in those directories
grep -a -R -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' /var/log/ 2>/dev/null | sort -u | uniq #IPs inside logs

Mena he tono tukutuku to te kaihautu kua taupatupatuhia mai i te Ipurangi, he pai ake te whakakore i ana raarangi mai i te rapu mo nga wahitau IP. Ko nga wahitau o nga kaiwhakamahi rauemi mai i te Ipurangi kare pea e whai hua ki a tatou, engari ko nga wahitau o te whatunga o roto (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) me te haere ki hea, ma te whakatau i nga raarangi. , he painga pea.

Sudo

Ko te whakahau sudo e hoatu ana ki te kaiwhakamahi te kaha ki te whakahaere i tetahi whakahau i roto i te horopaki pakiaka ma te whakamahi i o raatau ake kupuhipa me te kore e whakamahi i te kupuhipa. He maha nga mahi i roto i te Linux e hiahia ana ki nga painga pakiaka, engari ko te whakahaere hei pakiaka ka kiia he mahi tino kino. Engari, he pai ake te tono whakaaetanga whiriwhiri ki te whakahaere whakahau i roto i te horopaki pakiaka. Heoi, he maha nga taputapu Linux, tae atu ki nga mea paerewa penei i te vi, ka taea te whakamahi ki te whakanui ake i nga painga ma nga huarahi tika. Ki te rapu tikanga e tika ana, ka tūtohu ahau ki te rapu konei.

Ko te mea tuatahi me mahi koe ina uru ana koe ki te punaha ko te whakahaere i te whakahau sudo -l. Ka whakaatu te whakaaetanga ki te whakamahi i te whakahau sudo. Mena ka whiwhi tetahi kaiwhakamahi kaore he kupuhipa (penei i te apache, i te www-data ranei), karekau pea te tohu pikinga mana ma te sudo. Ina whakamahi sudo, ka tono te punaha mo te kupuhipa. Kaore e taea e koe te tautuhi kupuhipa ma te whakamahi i te whakahau passwd; ka patai mo te kupuhipa o naianei a te kaiwhakamahi. Engari mena kei te waatea tonu te sudo, me rapu koe mo:

  • he kaiwhakamaori, ka taea e tetahi te whakaputa anga (PHP, Python, Perl);
  • tetahi ētita kuputuhi (vim, vi, nano);
  • nga kaimakitaki (iti, nui ake);
  • tetahi kaha ki te mahi me te punaha konae (cp, mv);
  • Utauta whai putanga i roto i te bash, tauwhitiwhiti, hei whakahau whakahaere ranei (awk, kimi, nmap, tcpdump, man, vi, vim, ansible).

Suid/Sgid

He maha nga pukapuka kei runga ipurangi e tohutohu ana kia kohia nga whakahau suid/sgid katoa, engari he tuhinga onge e whakaatu ana he aha te mahi ki enei kaupapa. Ka kitea nga whiringa mo te whakanui i nga painga kaore e aro ki te whakamahinga o nga mahi ka kitea konei. Ano hoki, he maha o nga konae whakahaere he whakaraeraetanga motuhake mo te putanga OS, hei tauira.

I roto i te ao tino pai, ka whakahaerehia e koe nga kohinga whakauru katoa ma te rapu rapu. I roto i te mahi, me mahi tenei me nga kaupapa rongonui penei i te sudo. I nga wa katoa ka whai waahi ki te whakamahi me te tautoko i te whanaketanga o nga taputapu aunoa e whakaatu ana i nga mea whakamere, mai i te tirohanga o te pikinga o te mana, nga konae ka taea te whakahaere me te huinga moka suid/sgid. Ka hoatu e ahau he rarangi o nga taputapu penei i roto i te waahanga o te tuhinga.

Ko nga tuhinga tuhi ka whakahaerehia e Cron, Init ranei i roto i te horopaki o Root

Ka taea te whakahaere i nga mahi Cron i raro i nga horopaki kaiwhakamahi rereke, tae atu ki te pakiaka. Mena kua whakaritea he mahi cron me te hono ki tetahi konae ka taea te whakahaere, a ka watea maau ki te tuhi, ka ngawari te whakakapi ki te mahi kino me te whakanui ake i te mana. Heoi, ma te taunoa, ko nga konae me nga mahi cron ka panuihia e tetahi kaiwhakamahi.

ls -la /etc/cron.d  # show cron jobs 

He rite te ahuatanga ki te init. Ko te rereketanga ko nga mahi i roto i te cron ka mahia i ia wa, i te init - i te tiimata o te punaha. Me whakaara ano te punaha, ka kore pea etahi ratonga e tiimata (mehemea kaore i rehitatia i te tiimatanga).

ls -la /etc/init.d/  # show init scripts 

Ka taea hoki te rapu i nga konae ka taea te tuhi e tetahi kaiwhakamahi.

find / -perm -2 -type f 2>/dev/null # find world writable files

He tino mohio te tikanga; ka whakamahia e nga kaiwhakahaere punaha mohio te whakahau chmod. Heoi, i runga i te Ipurangi, ko te nuinga o nga pukapuka e whakaatu ana i te whakatakoto tika morahi. Ko te huarahi "whakamahia noa" a nga kaiwhakahaere punaha tauhou ka whai waahi ki te whakanui ake i nga mana rangatira. Mena ka taea, he pai ake te titiro ki te hitori o te whakahau mo te whakamahi kino o te chmod.

chmod +w /path 
chmod 777 /path

Te whai waahi anga ki etahi atu kaiwhakamahi

Ka titiro matou ki te rarangi o nga kaiwhakamahi kei /etc/passwd. Ka aro atu ki te hunga he anga to ratou. Ka taea e koe te tukino i enei kaiwhakamahi - tera pea ma te hua o te kaiwhakamahi ka taea te whakanui ake i nga painga.

Hei whakapai ake i te haumarutanga, ka tūtohu ahau kia u tonu koe ki te kaupapa o te painga iti. He mea tika ano te whakapau taima ki te tirotiro i nga whirihoranga haumaru ka noho tonu i muri i te rapurongoa - koinei te "mahi hangarau" a te kaiwhakahaere punaha.

Waehere tuhi whaiaro

He mea tika kia ata titiro ki nga konae ka taea te whakahaere i roto i te raarangi kaainga o te kaiwhakamahi me te tūmau tukutuku (/var/www/, mena kaore i tohua). Ko enei konae ka puta he otinga tino kino, he tootoo whakamiharo kei roto. Ko te tikanga, ki te mea kei a koe etahi momo anga kei roto i te raarangi tuunga paetukutuku, kaore he tikanga ki te rapu mo te ra-kore i roto hei waahanga o te pentest, engari e taunaki ana ki te rapu me te ako i nga whakarereketanga ritenga, nga mono me nga waahanga.

Hei whakanui ake i te haumarutanga, he pai ake, ki te taea, ki te karo i te whakamahi i nga tohu i roto i nga tuhinga tuhi whaiaro, tae atu ki nga mahi kino, penei i te panui /etc/shadow, te raweke ranei id_rsa.

Te whakanui ake i nga painga ma te whakamahi i nga whakaraeraetanga

I mua i te ngana ki te whakanui ake i nga painga ma te whakamahi, he mea nui kia maarama whakawhiti kōnae ki te ope ūnga. I tua atu i nga taputapu tawhito penei i te ssh, ftp, http (wget, curl) he katoa "zoo" o nga mea ka taea.

Hei whakapai ake i te haumarutanga o te punaha, whakahou i nga wa katoa ki nga mea hou pūmau nga putanga, me te ngana ano ki te whakamahi i nga tohatoha i hangaia mo te Hinonga. Ki te kore, he onge engari tera ano etahi ahuatanga ka kore e taea te whakahaere te punaha.

Te whakamahi i nga ratonga e rere ana i raro i te horopaki kaiwhakamahi pakiaka

Ko etahi ratonga Linux e rere ana hei pakiaka. Ka kitea ma te whakamahi i te whakahau ps aux | pakiaka grep. I tenei keehi, kaore pea te ratonga e panuitia i runga i te Ipurangi me te waatea ki te rohe. Mena kei a ia nga mahi a te iwi, ka taea te whakamahi haumaru: ko te tukinga o te ratonga mena he rahua he iti ake te kino i te tukinga o te OS.

ps -aux | grep root # Linux

Ko te keehi tino angitu ka taea te whakaaro ko te mahi o te ratonga taumanutia i roto i te horopaki o te kaiwhakamahi pakiaka. Ko te whakahaeretanga o te ratonga SMB ka whai mana te uru ki nga punaha Windows (hei tauira, ma te ms17-010). Heoi, ehara tenei i te mea noa i runga i nga punaha Linux, na reira ka taea e koe te whakapau i te wa roa ki te whakanui i nga painga.

Te whakamahi i nga Whakaraeraetanga Kernel Linux

Koinei te huarahi whakamutunga e tika ana kia haere koe. Ko te mahi karekau ka puta he tukinga punaha, a, ki te whakaara ano, karekau pea etahi ratonga (tae atu ki era i whiwhi ai te anga tuatahi) ki te timata. Ko te mea kua wareware noa te kaiwhakahaere ki te whakamahi i te tono systemctl enable. I tua atu, ka nui te kore e pai ki o mahi mena kaore i whakaaehia te mahi.
Mena ka whakatau koe ki te whakamahi i nga waehere puna mai i te exploitdb, kia mohio koe ki te panui i nga korero i te timatanga o te tuhinga. I roto i etahi atu mea, ko te tikanga e kii ana me pehea te whakahiato tika i tetahi mahi kua hoatu. Mena he mangere koe, me mahi ranei "inanahi" na te mutunga o te wa, ka taea e koe te rapu mo nga whare pupuri me nga mahi kua oti te whakahiato, hei tauira. Engari, me mohio koe i tenei keehi ka whiwhi koe i te poaka i roto i te poke. I tetahi atu taha, ki te mohio te kaiwhakaputa ki te paita te mahi a te rorohiko me te rorohiko e whakamahia ana e ia, kaore ia e tuhi i tetahi rarangi waehere i roto i tona oranga katoa.

cat /proc/version
uname -a
searchsploit "Linux Kernel" 

Metasploit

Hei hopu me te hapai i te hononga, he pai ake te whakamahi i te waahanga mahi/maha/kaiwhakahaere. Ko te mea nui ko te whakarite i te utu tika, hei tauira, generic/shell/reverse_tcp or generic/shell/bind_tcp. Ko te anga i hangaia e Metasploit ka taea te whakahou ki te Meterpreter ma te whakamahi i te pou/maha/whakahaere/shell_to_meterpreter kōwae. Ma te Meterpreter, ka taea e koe te whakaaunoa i te mahi i muri i te mahi. Hei tauira, ka tirotirohia e te pou/maha/recon/local_exploit_suggester te turanga, te hoahoanga me nga hinonga e hiahiatia ana mo te whakamahi me te whakaatu i nga waahanga Metasploit ki te whakanui ake i nga painga ki te punaha whaainga. He mihi ki a Meterpreter, i etahi wa ka heke nga mana nui ki te whakarewa i te waahanga e hiahiatia ana, engari ko te hacking me te kore e mohio ki nga mea e tupu ana i raro i te awhi, ehara i te "pono" (me tuhi tonu koe i tetahi ripoata).

Utauta

Ko nga taputapu mo te whakahiato i nga kohinga korero o te rohe ka nui te whakapau kaha me te wa, engari ma ratou ano e kore e taea te tino mohio ki te huarahi ki te piki ake o nga painga, ina koa mo te whakamahi i nga whakaraeraetanga kernel. Ka mahia e nga taputapu aunoa nga whakahau katoa hei kohi korero mo te punaha, engari he mea nui ano kia taea ki te tātari whiwhi raraunga. Kei te tumanako ahau ka whai hua taku tuhinga ki a koe mo tenei kaupapa. Ae ra, he maha atu nga taputapu ka whakarārangihia e au i raro nei, engari he rite tonu te mahi - he mea reka tenei.

Linpea

He Tula tata nei, ko te tuunga tuatahi no Hanuere 2019. Ko taku taputapu tino pai i tenei wa. Ko te tohu ko te whakaatu i nga waahanga tino pai o te pikinga o nga painga. E whakaae ana, he pai ake te whiwhi i te aromatawai tohunga i tenei taumata, i te tarai i nga raraunga mata monolithic.

Raina

Ko taku taputapu tino pai tuarua, he kohi me te whakarite i nga raraunga i riro mai i te tatauranga o te rohe.

Linux-exploit-suggester (1,2)

Ma tenei mahi ka wetewete i te punaha mo nga tikanga whakamahi tika. Inaa, ka rite te mahi ki te waahanga Metasploit local_exploit_suggester, engari ka tuku hononga ki nga waehere puna whakamahi-db kaua ki nga waahanga Metasploit.

Linuxprivchecker

Ma tenei tuhinga ka kohikohi me te whakariterite ki nga waahanga te nui o nga korero ka whai hua mo te hanga vector mo te whakanui ake i nga painga.

He wa ano ka korero ahau ki nga korero teitei o nga mana i roto i te Linux OS ma te suid/sgid.

Source: will.com

Tāpiri i te kōrero