gamut ko. Pagsabut sa Linux OS Privilege Escalation

Gigugol nako ang unang quarter sa 2020 nga nangandam alang sa pasulit sa OSCP. Ang pagpangita alang sa impormasyon sa Google ug daghang "buta" nga pagsulay nagkuha sa tanan nakong libre nga oras. Kini nahimo nga labi ka lisud nga masabtan ang mga mekanismo alang sa nagkadako nga mga pribilehiyo. Ang kurso sa PWK naghatag og dakong pagtagad niini nga hilisgutan, apan ang mga materyal nga metodolohikal kanunay dili igo. Adunay daghang mga manwal sa Internet nga adunay mapuslanon nga mga sugo, apan dili ako usa ka tigpaluyo sa binuta nga pagsunod sa mga rekomendasyon nga wala makasabut kung asa kini modala.

Gusto nakong ipaambit kanimo kung unsa ang akong nahibal-an sa panahon sa pag-andam ug malampuson nga pagpasar sa eksaminasyon (lakip ang mga pana-panahong pag-atake sa Hack The Box). Gibati nako ang usa ka lawom nga pagbati sa pasalamat alang sa matag gamay nga impormasyon nga nakatabang kanako sa paglakaw sa Try Harder nga dalan nga mas mahunahunaon, karon ang akong panahon sa paghatag balik sa komunidad.

Gusto ko nga hatagan ka usa ka giya sa pag-uswag sa pribilehiyo sa OS Linux, nga naglakip sa usa ka pagtuki sa labing kasagaran nga mga vector ug mga may kalabutan nga bahin nga kinahanglan nimo. Kasagaran, ang mga mekanismo sa pagtaas sa pribilehiyo sa ilang kaugalingon yano ra, ang mga kalisud motungha sa pag-istruktura ug pag-analisar sa kasayuran. Busa, nakahukom ko nga magsugod sa usa ka "sightseeing tour" ug unya ikonsiderar ang matag vector sa usa ka lahi nga artikulo. Nanghinaut ko nga makadaginot ko nimo ug panahon sa pagtuon sa topiko.

gamut ko. Pagsabut sa Linux OS Privilege Escalation

Mao nga, ngano nga ang pagtaas sa pribilehiyo mahimo pa sa 2020 kung ang mga pamaagi nahibal-an na sa dugay nga panahon? Sa tinuud, kung husto ang pagdumala sa tiggamit sa sistema, dili gyud posible nga madugangan ang mga pribilehiyo niini. Ang panguna nga problema sa kalibutan nga nagpatungha sa ingon nga mga oportunidad mao ang walay kasegurohan nga configuration. Ang presensya sa karaan nga mga bersyon sa software nga adunay mga kahuyangan sa sistema usa usab ka espesyal nga kaso sa dili luwas nga pag-configure.

Pag-uswag sa pribilehiyo pinaagi sa dili sigurado nga pag-configure

Una sa tanan, atong atubangon ang dili sigurado nga pag-configure. Magsugod ta sa Ang mga propesyonal sa IT kanunay nga naggamit mga manwal ug mga kapanguhaan sama sa stackoverflow, daghan niini adunay dili luwas nga mga sugo ug mga config. Usa ka talagsaong pananglitan mao ang ang balita nga ang code nga labing gikopya gikan sa stackoverflow adunay usa ka sayup. Ang usa ka eksperyensiyadong admin makakita sa jamb, apan kini anaa sa usa ka sulundon nga kalibutan. Bisan ang mga takos nga propesyonal dugang nga workload makahimo sa paghimo og mga sayop. Hunahunaa nga ang tagdumala nag-andam ug nag-aprobar sa dokumentasyon alang sa sunod nga tender, sa samang higayon nagsusi sa bag-ong teknolohiya nga ipaila sa sunod nga quarter, samtang matag karon ug unya nagsulbad sa mga buluhaton sa suporta sa user. Ug unya gihatagan siya sa tahas sa dali nga pagpataas sa usa ka magtiayon nga mga virtual machine ug paglansad sa mga serbisyo sa kanila. Unsa sa imong hunahuna, unsa ang posibilidad nga ang admin wala makamatikod sa jamb? Unya ang mga espesyalista nagbag-o, apan ang mga saklay nagpabilin, samtang ang mga kompanya kanunay nga naningkamot sa pagpamenos sa mga gasto, lakip ang alang sa mga espesyalista sa IT.

Pseudo shell ug jailbreak

Ang kabhang sa sistema nga nakuha sa yugto sa produksiyon sagad limitado, labi na kung nakuha nimo kini pinaagi sa pag-hack sa usa ka tiggamit sa web server. Pananglitan, ang mga pagdili sa kabhang makapugong kanimo sa paggamit sa sudo nga sugo nga adunay sayup:

sudo: no tty present and no askpass program specified

Human makakuha og kabhang, girekomendar nako ang paghimo og bug-os nga terminal, pananglitan sa Python.

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

Nangutana ka: "Nganong kinahanglan ko ang usa ka libo nga mga sugo, kung mahimo nako gamiton ang usa, pananglitan, sa pagbalhin sa mga file?" Ang tinuod mao nga ang mga sistema lahi nga gi-configure, sa sunod nga host mahimo nga dili ma-install ang Python, apan ang Perl mahimong magamit. Ang kahanas mao ang makahimo sa pamilyar nga mga butang sa sistema nga wala’y pamilyar nga mga himan. Ang usa ka kompleto nga lista sa mga bahin makit-an dinhi.

Ang usa ka ubos nga pribilehiyo nga kabhang mahimong makuha gamit ang mga team 1 ΠΈ mga team 2 (katingalahan bisan ang GIMP).

Tan-awa ang kasaysayan sa sugo

Gikolekta sa Linux ang kasaysayan sa tanan nga gipatuman nga mga mando sa usa ka file ~ / .bash_history. Kung ang server aktibo nga gigamit ug ang kasaysayan niini wala ma-clear, adunay usa ka maayo nga higayon nga ang mga kredensyal makit-an sa kini nga file. Ang paglimpyo sa kasaysayan dili kombenyente. Kung ang administrador mapugos sa pagpili sa napulo ka lebel nga mga sugo pinaagi sa , siyempre, mas sayon ​​​​alang kaniya sa pagtawag niini nga sugo gikan sa kasaysayan kay sa pagsulod niini pag-usab. Dugang pa, daghan ang wala mahibal-an bahin sa kini nga "hack". Kung adunay mga alternatibong kabhang sama sa Zsh o Isda sa sistema, sila adunay kaugalingon nga kasaysayan. Aron ipakita ang kasaysayan sa mga sugo sa bisan unsang kabhang, i-type lang ang kasaysayan sa sugo.

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

Adunay gipaambit nga pag-host, diin ang server gigamit sa pag-host sa daghang mga site. Kasagaran, sa kini nga pag-configure, ang matag kapanguhaan adunay kaugalingon nga tiggamit nga adunay lahi nga direktoryo sa balay ug usa ka virtual host. Busa, kung sayop ang pag-configure, imong makit-an ang .bash_history file sa root directory sa web resource.

Pagpangita mga password sa file system ug pag-atake sa kasikbit nga mga sistema

Ang mga file sa pag-configure alang sa lainlaing mga serbisyo mahimong mabasa sa imong karon nga tiggamit. Diha kanila, makit-an nimo ang mga kredensyal sa tin-aw nga teksto - mga password alang sa pag-access sa database o mga may kalabutan nga serbisyo. Ang parehas nga password mahimong magamit sa pag-access sa database ug sa pagtugot sa gamut nga tiggamit (mga kawani sa kredensyal).
Nahitabo nga ang nakit-an nga mga kredensyal nahisakop sa mga serbisyo sa ubang mga host. Ang pag-uswag sa usa ka pag-atake sa imprastraktura pinaagi sa usa ka nakompromiso nga host dili labi ka daotan kaysa pagpahimulos sa ubang mga host. Ang kasikbit nga mga sistema mahimo usab nga makit-an pinaagi sa pagpangita sa mga IP address sa file system.

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

Kung ang nakompromiso nga host adunay usa ka web application nga ma-access gikan sa Internet, mas maayo nga dili iapil ang mga troso niini gikan sa pagpangita sa mga IP address. Ang mga adres sa mga tiggamit sa kahinguhaan gikan sa Internet lagmit nga dili mapuslanon alang kanamo, apan ang mga adres sa internal nga network (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) ug kung asa sila moadto, hukman sa mga troso, mahimong interesado.

Sudo

Ang sudo nga sugo nagtugot sa tiggamit sa pagpatuman sa usa ka sugo sa konteksto sa gamut uban sa ilang kaugalingong password o sa walay paggamit niini sa tanan. Daghang mga operasyon sa Linux nanginahanglan mga pribilehiyo sa gamut, apan ang pagdagan ingon gamut giisip nga dili maayo nga praktis. Hinuon, mas maayo nga gamiton ang pinili nga pagtugot sa pagpatuman sa mga sugo sa konteksto sa gamut. Bisan pa, daghang mga himan sa Linux, lakip ang mga sumbanan sama sa vi, mahimong magamit aron madugangan ang mga pribilehiyo sa mga lehitimong paagi. Aron makit-an ang husto nga paagi, girekomenda nako ang pagpangita dinhi.

Ang unang butang nga buhaton human makaangkon og access sa sistema mao ang pagpadagan sa sudo -l command. Kini magpakita sa pagtugot sa paggamit sa sudo nga sugo. Kung ang usa ka user nga walay password makuha (sama sa apache o www-data), ang usa ka sudo privilege escalation vector dili mahimo. Kung mogamit sudo, ang sistema mangayo og password. Ang paggamit sa passwd command aron magbutang usa ka password dili usab molihok, kini mangayo alang sa karon nga password sa user. Apan kung magamit pa ang sudo, nan, sa tinuud, kinahanglan nimo pangitaon:

  • bisan kinsa nga mga tighubad, bisan kinsa makahimo sa usa ka kabhang (PHP, Python, Perl);
  • bisan unsang mga editor sa teksto (vim, vi, nano);
  • bisan kinsa nga tumatan-aw (gamay, daghan);
  • bisan unsang mga posibilidad sa pagtrabaho kauban ang file system (cp, mv);
  • mga himan nga adunay output sa bash, mahimong interactive o isip usa ka executable command (awk, find, nmap, tcpdump, man, vi, vim, ansible).

Suid/Sgid

Adunay daghang mga manwal sa Internet nga nagtambag sa paghimo sa tanan nga suid / sgid nga mga sugo, apan ang usa ka talagsaon nga artikulo naghatag mga detalye kung unsa ang buhaton sa kini nga mga programa. Ang mga kapilian sa pagpadako sa pribilehiyo nga wala magtagad sa paggamit sa mga pagpahimulos makit-an dinhi. Usab, daghang mga executable nga mga file adunay piho nga mga kahuyangan alang sa bersyon sa OS, alang sa panig-ingnan.

Sa usa ka sulundon nga kalibutan, kinahanglan nimong ipadagan ang tanan nga na-install nga mga pakete pinaagi sa labing menos searchsploit. Sa praktis, kini kinahanglan nga buhaton sa labing popular nga mga programa sama sa sudo. Kanunay usab kini nga kapilian sa paggamit ug pagsuporta sa pagpalambo sa mga automated nga himan nga magpasiugda sa interesante, gikan sa usa ka pribilihiyo nga escalation nga punto sa panglantaw, mga executable nga adunay suid/sgid bits set. Maghatag ako usa ka lista sa ingon nga mga himan sa katugbang nga seksyon sa artikulo.

Masulat nga mga script nga gipadagan sa Cron o Init sa konteksto sa Root

Ang mga trabaho sa Cron mahimong modagan sa konteksto sa lainlaing mga tiggamit, lakip ang gamut. Kung adunay usa ka buluhaton sa cron nga adunay usa ka link sa usa ka ma-executable nga file, ug kini magamit alang kanimo nga isulat, dali nimo kini mapulihan sa usa ka malisyoso ug mahimo ang pagtaas sa pribilehiyo. Sa parehas nga oras, pinaagi sa default, ang mga file nga adunay mga buluhaton sa cron magamit alang sa pagbasa sa bisan kinsa nga tiggamit.

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

Susama ang kaso sa init. Ang kalainan mao nga ang mga buluhaton sa cron gipatuman matag karon ug unya, ug sa init - sa pagsugod sa sistema. Alang sa operasyon, kinahanglan nimo nga i-reboot ang sistema, samtang ang pipila sa mga serbisyo mahimong dili mobangon (kung wala sila narehistro sa autoload).

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

Mahimo usab nimo pangitaon ang mga file nga masulat sa bisan kinsa nga tiggamit.

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

Ang pamaagi kay ilado kaayo, ang eksperyensiyadong mga administrador sa sistema maampingong naggamit sa chmod nga sugo. Bisan pa, sa Web, ang kadaghanan sa mga manwal naghulagway sa pagtakda sa labing taas nga mga katungod. Ang "just make it work" nga pamaagi sa walay kasinatian nga system administrators nagmugna og mga oportunidad alang sa pribilihiyo nga pagtaas sa prinsipyo. Kung mahimo, labing maayo nga tan-awon sa kasaysayan sa mando alang sa dili luwas nga paggamit sa chmod.

chmod +w /path 
chmod 777 /path

Pag-angkon og shell access alang sa ubang mga tiggamit

Atong tan-awon ang lista sa mga tiggamit sa /etc/passwd. Atong hatagan ug pagtagad kadtong adunay kabhang. Mahimo nimong mapintas kini nga mga tiggamit - posible nga pinaagi sa resulta nga tiggamit mahimo nimong madugangan ang mga pribilehiyo.

Aron mapauswag ang seguridad, girekomenda ko nga sundon nimo kanunay ang prinsipyo sa labing gamay nga pribilehiyo. Makataronganon usab ang paggahin ug panahon aron masusi ang dili sigurado nga mga pag-configure nga mahimong magpabilin pagkahuman sa pag-troubleshoot - kini ang "teknikal nga katungdanan" sa tagdumala sa sistema.

Gisulat sa kaugalingon nga code

Angayan nga tan-awon pag-ayo ang mga executable sa home directory sa user ug web server (/ var / www / gawas kung gipiho). Kini nga mga file mahimong usa ka hingpit nga dili sigurado nga solusyon ug adunay sulud nga dili katuohan nga mga crutches. Siyempre, kung naa kay balangkas sa direktoryo sa imong web server, dili makatarunganon nga pangitaon ang zero-day niini isip bahin sa usa ka pentest, apan girekomenda nga pangitaon ug tun-an ang naandan nga mga pagbag-o, plugins ug sangkap.

Aron madugangan ang seguridad, mas maayo nga likayan ang paggamit sa mga kredensyal sa mga sinulat sa kaugalingon nga mga script, ingon man ang posibleng peligrosong gamit, sama sa pagbasa /etc/shadow o pagmaniobra sa id_rsa, kung mahimo.

Pagtaas sa pribilehiyo pinaagi sa pagpahimulos sa mga kahuyangan

Sa dili pa mosulay sa pagpataas sa mga pribilehiyo pinaagi sa pagpahimulos, importante nga masabtan ang pagbalhin sa mga file ngadto sa target host. Dugang sa naandan nga mga himan sama sa ssh, ftp, http (wget, curl), adunay usa ka tibuuk "zoo" sa mga posibilidad.

Aron mapauswag ang seguridad sa imong sistema, i-update kini kanunay hangtod sa pinakabag-o lig-on mga bersyon, ug pagsulay usab sa paggamit sa mga distribusyon nga gidisenyo alang sa Enterprise. Kung dili, panagsa ra, apan adunay mga sitwasyon kung ang apt upgrade naghimo sa sistema nga dili magamit.

Gipahimuslan ang mga Serbisyo nga Nagdagan sa Konteksto sa Gumagamit sa Root

Ang ubang mga serbisyo sa Linux nagdagan ingon nga pribilihiyo nga gamut sa tiggamit. Makit-an sila gamit ang ps aux | grep gamut. Sa kini nga kaso, ang serbisyo mahimong dili ipahibalo sa Web ug magamit sa lokal. Kung kini adunay mga pagpahimulos sa publiko, mahimo silang luwas nga magamit: ang usa ka pag-crash sa serbisyo kung adunay kapakyasan labi ka labi ka kritikal kaysa usa ka pag-crash sa OS.

ps -aux | grep root # Linux

Ang labing malampuson nga kaso mahimong makonsiderar nga operasyon sa usa ka gi-hack nga serbisyo sa konteksto sa gamut nga tiggamit. Ang pag-operate sa serbisyo sa SMB naghatag sa SYSTEM og pribilihiyo nga pag-access sa mga sistema sa Windows (pananglitan pinaagi sa ms17-010). Bisan pa, dili kini kasagaran sa mga sistema sa Linux, aron makagugol ka daghang oras sa pag-uswag sa pribilehiyo.

Pagpahimulos sa Linux Kernel Vulnerabilities

Kini ang kataposang dalan nga agian. Ang dili molampos nga operasyon mahimong mosangpot sa pagkahagsa sa sistema, ug sa panghitabo sa pag-reboot, ang pipila ka mga serbisyo (lakip ang mga paagi diin posible nga makuha ang orihinal nga kabhang) mahimong dili mobangon. Nahitabo nga ang tigdumala nakalimot lang sa paggamit sa systemctl enable command. Dugang pa nga kini hinungdan sa daghang pagkadiskontento sa imong trabaho kung ang pagpahimulos wala pa nasabutan.
Kung magdesisyon ka nga gamiton ang mga gigikanan gikan sa exploitdb, siguruha nga basahon ang mga komento sa sinugdanan sa script. Lakip sa ubang mga butang, kasagaran kini nag-ingon kung unsaon pag-compile kini nga pagpahimulos sa husto. Kung tapolan ka kaayo o kinahanglan "kagahapon" tungod sa mga deadline, mahimo nimong pangitaon ang mga repository nga adunay naipon nga mga pagpahimulos, alang sa panig-ingnan. Bisan pa, kinahanglan nga masabtan nga sa kini nga kaso makakuha ka usa ka baboy sa usa ka poke. Sa laing bahin, kung ang usa ka programmer nakasabut sa byte kung giunsa ang usa ka kompyuter ug ang software nga gigamit niini, dili unta siya makasulat ug linya sa code sa tibuok niyang kinabuhi.

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

Metasploit

Aron makuha ug madumala ang usa ka koneksyon, mas maayo nga gamiton ang module nga exploit/multi/handler. Ang nag-unang butang mao ang pagtakda sa husto nga payload, pananglitan, generic/shell/reverce_tcp o generic/shell/bind_tcp. Ang kabhang nga nakuha sa Metasploit mahimong ma-upgrade sa Meterpreter gamit ang post/multi/manage/shell_to_meterpreter module. Uban sa Meterpreter, mahimo nimong i-automate ang proseso sa post-exploitation. Pananglitan, ang post/multi/recon/local_exploit_suggester nga module nagsusi sa plataporma, arkitektura, ug mapahimuslanon nga mga entidad ug nagsugyot sa Metasploit nga mga modulo alang sa pagsaka sa pribilehiyo sa target nga sistema. Salamat sa Meterpreter, ang pag-uswag sa pribilehiyo usahay moabut sa pagpadagan sa husto nga module, apan ang pag-hack nga wala’y pagsabut kung unsa ang nahitabo sa ilawom sa tabon dili tinuod (kinahanglan ka pa magsulat usa ka taho).

mga himan

Ang mga himan sa pag-automate sa lokal nga pagkolekta sa impormasyon makaluwas kanimo og daghang paningkamot ug oras, apan sa ilang kaugalingon dili hingpit nga makaila sa dalan sa pag-uswag sa pribilehiyo, ilabi na sa kaso sa pagpahimulos sa mga kahuyang sa kernel. Ang mga himan sa pag-automate mobuhat sa tanan nga gikinahanglan nga mga sugo alang kanimo sa pagkolekta sa impormasyon mahitungod sa sistema, apan importante usab nga makahimo analisa nakadawat data. Nanghinaut ko nga ang akong artikulo mahimong mapuslanon kanimo niini. Siyempre, adunay daghan pa nga mga himan kay sa akong ilista sa ubos, apan silang tanan nagbuhat sa parehas nga butang - kini usa ka butang sa lami.

Linpeas

Usa ka medyo bag-o nga himan, ang una nga pasalig gipetsahan Enero 2019. Karon ang akong paborito nga instrumento. Ang hinungdan mao nga kini nagpasiugda sa labing makapaikag nga mga vector sa pag-uswag sa pribilehiyo. Pag-uyon, mas sayon ​​​​ang pagkuha sa usa ka eksperto nga pagsusi sa kini nga lebel kaysa sa pag-parse sa monolithic nga hilaw nga datos.

LinEnum

Ang akong ikaduha nga paborito nga himan, kini usab nagkolekta ug nag-organisar sa mga datos nga nadawat isip resulta sa lokal nga enumeration.

linux-exploit-suggester(1,2)

Kini nga pagpahimulos mag-analisar sa sistema alang sa angay nga mga kondisyon alang sa mga pagpahimulos. Sa tinuud, maghimo kini usa ka trabaho nga parehas sa metasploit local_exploit_suggester module, apan maghatag mga link sa pagpahimulos-db source code kaysa sa mga module sa Metasploit.

Linuxprivchecker

Kini nga script magkolekta ug mag-organisar pinaagi sa mga seksyon sa daghang kasayuran nga mahimong mapuslanon alang sa pagporma sa usa ka vector sa pagtaas sa pribilehiyo.

Sa laing higayon akong i-elaborate Ang pagsaka sa pribilehiyo sa Linux pinaagi sa suid/sgid.

Source: www.habr.com

Idugang sa usa ka comment