Yr wyf yn gwraidd. Deall Cynnydd Braint Linux OS

Treuliais chwarter cyntaf 2020 yn paratoi ar gyfer arholiad OSCP. Roedd chwilio am wybodaeth ar Google a llawer o ymdrechion "dall" wedi cymryd fy holl amser rhydd. Trodd allan yn arbennig o anodd deall y mecanweithiau ar gyfer cynyddu breintiau. Mae cwrs PWK yn rhoi sylw mawr i'r pwnc hwn, ond nid yw deunyddiau methodolegol bob amser yn ddigon. Mae yna lawer o lawlyfrau ar y Rhyngrwyd gyda gorchmynion defnyddiol, ond nid wyf yn cefnogi dilyn yr argymhellion yn ddall heb ddeall i ble y bydd hyn yn arwain.

Hoffwn rannu gyda chi yr hyn y llwyddais i'w ddysgu wrth baratoi a phasio'r arholiad yn llwyddiannus (gan gynnwys cyrchoedd cyfnodol ar Hack The Box). Teimlais ymdeimlad dwfn o ddiolchgarwch am bob darn o wybodaeth a helpodd i mi gerdded llwybr Try'n Anoddach yn fwy ymwybodol, nawr yw fy amser i roi yn Γ΄l i'r gymuned.

Rwyf am roi canllaw i chi ar gynnydd braint yn OS Linux, sy'n cynnwys dadansoddiad o'r fectorau mwyaf cyffredin a'r nodweddion cysylltiedig y bydd eu hangen arnoch yn bendant. Yn aml, mae'r mecanweithiau dwysΓ‘u braint eu hunain yn eithaf syml, mae anawsterau'n codi wrth strwythuro a dadansoddi gwybodaeth. Felly, penderfynais ddechrau gyda "taith gweld golygfeydd" ac yna ystyried pob fector mewn erthygl ar wahΓ’n. Rwy'n gobeithio y byddaf yn arbed amser i chi astudio'r pwnc.

Yr wyf yn gwraidd. Deall Cynnydd Braint Linux OS

Felly, pam mae cynyddu braint hyd yn oed yn bosibl yn 2020 os yw'r dulliau wedi bod yn adnabyddus ers amser maith? Mewn gwirionedd, os yw'r defnyddiwr yn trin y system yn gywir, ni fydd yn bosibl cynyddu breintiau ynddi. Y brif broblem fyd-eang sy'n arwain at gyfleoedd o'r fath yw cyfluniad ansicr. Mae presenoldeb fersiynau meddalwedd hen ffasiwn sy'n cynnwys gwendidau yn y system hefyd yn achos arbennig o gyfluniad anniogel.

Cynnydd braint trwy gyfluniad ansicr

Yn gyntaf oll, gadewch i ni ddelio Γ’'r cyfluniad ansicr. Gadewch i ni ddechrau Mae gweithwyr TG proffesiynol yn aml yn defnyddio llawlyfrau ac adnoddau fel stackoverflow, y mae llawer ohonynt yn cynnwys gorchmynion a chyfluniadau anniogel. Enghraifft drawiadol yw y newyddion bod y cod a gopΓ―wyd fwyaf o stackoverflow yn cynnwys gwall. Bydd gweinyddwr profiadol yn gweld y jamb, ond mae hyn mewn byd delfrydol. Hyd yn oed gweithwyr proffesiynol cymwys llwyth gwaith cynyddol gallu gwneud camgymeriadau. Dychmygwch fod y gweinyddwr yn paratoi ac yn cymeradwyo dogfennaeth ar gyfer y tendr nesaf, ar yr un pryd yn ymchwilio i'r dechnoleg newydd a fydd yn cael ei chyflwyno yn y chwarter nesaf, wrth ddatrys tasgau cefnogi defnyddwyr o bryd i'w gilydd. Ac yna mae'n cael y dasg o godi cwpl o beiriannau rhithwir yn gyflym a chyflwyno gwasanaethau arnynt. Beth ydych chi'n meddwl yw'r tebygolrwydd na fydd y gweinyddwr yn sylwi ar y jamb? Yna mae'r arbenigwyr yn newid, ond mae'r baglau'n parhau, tra bod cwmnΓ―au bob amser yn ymdrechu i leihau costau, gan gynnwys y rhai ar gyfer arbenigwyr TG.

Pseudo cragen a jailbreak

Mae cragen y system a geir yn ystod y cyfnod cynhyrchu yn aml yn gyfyngedig, yn enwedig os cawsoch hi trwy hacio defnyddiwr gweinydd gwe. Er enghraifft, gall cyfyngiadau cregyn eich atal rhag defnyddio'r gorchymyn sudo gyda gwall:

sudo: no tty present and no askpass program specified

Ar Γ΄l cael cragen, rwy'n argymell creu terfynell lawn, er enghraifft gyda Python.

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

Rydych chi'n gofyn: "Pam fod angen mil o orchmynion arnaf, os gallaf ddefnyddio un, er enghraifft, i drosglwyddo ffeiliau?" Y ffaith yw bod systemau wedi'u ffurfweddu'n wahanol, efallai na fydd Python yn cael ei osod ar y gwesteiwr nesaf, ond efallai y bydd Perl ar gael. Y sgil yw gallu gwneud pethau cyfarwydd yn y system heb offer cyfarwydd. Gellir dod o hyd i restr gyflawn o nodweddion yma.

Gellir cael cragen breintiedig isel gan ddefnyddio timau 1 ΠΈ timau 2 (yn syndod hyd yn oed GIMP).

Gweld hanes gorchymyn

Mae Linux yn casglu hanes yr holl orchmynion a weithredwyd mewn ffeil ~ / .bash_history. Os yw'r gweinydd yn cael ei ddefnyddio'n weithredol ac nad yw ei hanes wedi'i glirio, mae siawns dda bod y manylion yn y ffeil hon. Mae clirio'r hanes yn anghyfleus o gwbl. Os bydd y gweinyddwr yn cael ei orfodi i ddewis gorchmynion deg lefel trwy , wrth gwrs, bydd yn fwy cyfleus iddo alw'r gorchymyn hwn o'r hanes na'i nodi eto. Byd Gwaith, nid yw llawer yn gwybod am y "hacio". Os oes cregyn amgen fel Zsh neu Fish yn y system, mae ganddyn nhw eu hanes eu hunain. I ddangos hanes gorchmynion mewn unrhyw gragen, teipiwch yr hanes gorchymyn.

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

Mae gwesteio a rennir, lle mae'r gweinydd yn cael ei ddefnyddio i gynnal nifer o wefannau. Yn nodweddiadol, gyda'r cyfluniad hwn, mae gan bob adnodd ei ddefnyddiwr ei hun gyda chyfeiriadur cartref ar wahΓ’n a gwesteiwr rhithwir. Felly, os caiff ei ffurfweddu'n anghywir, gallwch ddod o hyd i'r ffeil .bash_history yng nghyfeiriadur gwraidd yr adnodd gwe.

Dod o hyd i gyfrineiriau yn y system ffeiliau ac ymosodiadau ar systemau cyfagos

Mae'n bosibl y bydd eich defnyddiwr presennol yn gallu darllen ffeiliau ffurfweddu ar gyfer gwasanaethau amrywiol. Ynddyn nhw, gallwch ddod o hyd i gymwysterau mewn testun clir - cyfrineiriau ar gyfer cyrchu'r gronfa ddata neu wasanaethau cysylltiedig. Gellir defnyddio'r un cyfrinair i gael mynediad i'r gronfa ddata ac i awdurdodi'r defnyddiwr gwraidd (staff credadwy).
Mae'n digwydd bod y tystlythyrau a ddarganfuwyd yn perthyn i wasanaethau ar westeion eraill. Nid yw datblygiad ymosodiad ar y seilwaith trwy westeiwr dan fygythiad yn ddim gwaeth nag ecsbloetio gwesteiwyr eraill. Gellir dod o hyd i systemau cyfagos hefyd trwy edrych i fyny cyfeiriadau IP yn y system ffeiliau.

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

Os oes gan y gwesteiwr dan fygythiad raglen we sy'n hygyrch o'r Rhyngrwyd, mae'n well eithrio ei logiau o'r chwiliad am gyfeiriadau IP. Nid yw cyfeiriadau defnyddwyr adnoddau o'r Rhyngrwyd yn debygol o fod yn ddefnyddiol i ni, ond mae cyfeiriadau'r rhwydwaith mewnol (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) ac i ble maent yn mynd, a barnu wrth y boncyffion, gall fod o ddiddordeb.

Sudo

Mae'r gorchymyn sudo yn caniatΓ‘u i'r defnyddiwr weithredu gorchymyn yng nghyd-destun gwraidd gyda'i gyfrinair ei hun neu heb ei ddefnyddio o gwbl. Mae angen breintiau gwraidd ar lawer o weithrediadau yn Linux, ond mae rhedeg fel gwraidd yn cael ei ystyried yn arfer gwael iawn. Yn lle hynny, mae'n well cymhwyso caniatΓ’d dethol i weithredu gorchmynion yn y cyd-destun gwraidd. Fodd bynnag, gellir defnyddio llawer o offer Linux, gan gynnwys y rhai safonol fel vi, i gynyddu breintiau mewn ffyrdd cyfreithlon. I ddod o hyd i'r ffordd gywir, rwy'n argymell edrych yma.

Y peth cyntaf i'w wneud ar Γ΄l cael mynediad i'r system yw rhedeg y gorchymyn sudo -l. Bydd yn dangos caniatΓ’d i ddefnyddio'r gorchymyn sudo. Os ceir defnyddiwr heb gyfrinair (fel apache neu www-data), mae fector uwchgyfeirio braint sudo yn annhebygol. Wrth ddefnyddio sudo, bydd y system yn gofyn am gyfrinair. Ni fydd defnyddio'r gorchymyn passwd i osod cyfrinair hefyd yn gweithio, bydd yn gofyn am y cyfrinair defnyddiwr cyfredol. Ond os yw sudo ar gael o hyd, yna, mewn gwirionedd, mae angen i chi chwilio am:

  • unrhyw ddehonglwyr, gall unrhyw un silio cragen (PHP, Python, Perl);
  • unrhyw olygyddion testun (vim, vi, nano);
  • unrhyw wylwyr (llai, mwy);
  • unrhyw bosibiliadau o weithio gyda'r system ffeiliau (cp, mv);
  • offer sydd ag allbwn mewn bash, naill ai'n rhyngweithiol neu fel gorchymyn gweithredadwy (awk, find, nmap, tcpdump, man, vi, vim, ansible).

Suid/Sgid

Mae yna lawer o lawlyfrau ar y Rhyngrwyd sy'n cynghori adeiladu'r holl orchmynion suid / sgid, ond mae erthygl brin yn rhoi manylion penodol ar beth i'w wneud gyda'r rhaglenni hyn. Gellir dod o hyd i opsiynau dwysΓ‘u braint nad ydynt yn ystyried y defnydd o gampau yma. Hefyd, mae gan nifer o ffeiliau gweithredadwy wendidau penodol ar gyfer y fersiwn OS, er enghraifft,.

Mewn byd delfrydol, dylech redeg pob pecyn sydd wedi'i osod trwy searchsploit o leiaf. Yn ymarferol, dylid gwneud hyn gyda'r rhaglenni mwyaf poblogaidd fel sudo. Mae hefyd bob amser yn opsiwn i ddefnyddio a chefnogi datblygiad offer awtomataidd a fydd yn tynnu sylw at weithrediadau diddorol, o safbwynt uwchgyfeirio braint, gyda darnau suid/sgid wedi'u gosod. Byddaf yn darparu rhestr o offer o'r fath yn yr adran gyfatebol o'r erthygl.

Sgriptiau ysgrifenadwy sy'n cael eu rhedeg gan Cron neu Init yng nghyd-destun Root

Gall swyddi Cron redeg yng nghyd-destun gwahanol ddefnyddwyr, gan gynnwys gwraidd. Os oes tasg yn cron gyda dolen i ffeil gweithredadwy, a'i bod ar gael i chi ei hysgrifennu, gallwch yn hawdd ei disodli ag un maleisus a pherfformio uwchgyfeirio braint. Ar yr un pryd, yn ddiofyn, mae ffeiliau gyda thasgau cron ar gael i'w darllen gan unrhyw ddefnyddiwr.

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

Mae'r sefyllfa yn debyg i init. Y gwahaniaeth yw bod tasgau cron yn cael eu cyflawni o bryd i'w gilydd, ac ar y cychwyn - wrth gychwyn y system. Er mwyn gweithredu, bydd angen i chi ailgychwyn y system, tra efallai na fydd rhai o'r gwasanaethau'n codi (os nad oeddent wedi'u cofrestru mewn llwyth awtomatig).

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

Gallwch hefyd chwilio am ffeiliau y gellir eu hysgrifennu gan unrhyw ddefnyddiwr.

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

Mae'r dull yn eithaf adnabyddus, mae gweinyddwyr system profiadol yn defnyddio'r gorchymyn chmod yn ofalus. Fodd bynnag, ar y We, mae mwyafrif helaeth y llawlyfrau'n disgrifio gosod hawliau uchaf. Mae dull β€œdim ond gwneud iddo weithio” gweinyddwyr systemau dibrofiad yn creu cyfleoedd ar gyfer cynyddu braint mewn egwyddor. Os yn bosibl, mae'n well edrych yn yr hanes gorchymyn am ddefnydd anniogel o chmod.

chmod +w /path 
chmod 777 /path

Cael mynediad cragen i ddefnyddwyr eraill

Edrychwn ar y rhestr o ddefnyddwyr yn /etc/passwd. Rydyn ni'n talu sylw i'r rhai sydd Γ’ chragen. Gallwch chi 'n Ysgrublaidd y defnyddwyr hyn - mae'n bosibl drwy'r defnyddiwr canlyniadol y byddwch yn y pen draw yn gallu cynyddu breintiau.

Er mwyn gwella diogelwch, rwy'n argymell eich bod bob amser yn cadw at egwyddor y fraint leiaf. Mae hefyd yn gwneud synnwyr i gymryd yr amser i wirio ffurfweddiadau ansicr a allai aros ar Γ΄l datrys problemau - dyma "ddyletswydd dechnegol" gweinyddwr y system.

Cod hunan-ysgrifenedig

Mae'n werth edrych yn fanwl ar y gweithredoedd yng nghyfeirlyfr cartref y defnyddiwr a gweinydd y we (/ var/www/ oni nodir yn wahanol). Gall y ffeiliau hyn droi allan i fod yn ddatrysiad hollol ansicr ac yn cynnwys baglau anhygoel. Wrth gwrs, os oes gennych rywfaint o fframwaith yn eich cyfeiriadur gweinydd gwe, nid yw'n gwneud synnwyr i chwilio am sero-diwrnod ynddo fel rhan o bentest, ond argymhellir dod o hyd i ac astudio addasiadau, ategion a chydrannau arferiad.

Er mwyn cynyddu diogelwch, mae'n well osgoi defnyddio tystlythyrau mewn sgriptiau hunan-ysgrifenedig, yn ogystal ag ymarferoldeb a allai fod yn beryglus, megis darllen /etc/shadow neu drin id_rsa, os yn bosibl.

Dyrchafu braint trwy ecsbloetio gwendidau

Cyn ceisio dyrchafu breintiau trwy efrydiaeth, y mae yn bwysig deall y trosglwyddo ffeiliau i'r gwesteiwr targed. Yn ogystal Γ’'r offer arferol fel ssh, ftp, http (wget, curl), mae yna gyfanwaith "sΕ΅" o bosibiliadau.

Er mwyn gwella diogelwch eich system, diweddarwch hi'n rheolaidd i'r diweddaraf sefydlog fersiynau, a hefyd yn ceisio defnyddio dosraniadau a gynlluniwyd ar gyfer Menter. Fel arall, anaml, ond mae sefyllfaoedd pan fydd uwchraddio addas yn gwneud y system yn annefnyddiadwy.

Manteisio ar Wasanaethau sy'n Rhedeg yng Nghyd-destun y Defnyddiwr Gwraidd

Mae rhai gwasanaethau Linux yn rhedeg fel gwraidd y defnyddiwr breintiedig. Gellir dod o hyd iddynt gan ddefnyddio'r ps aux | gwraidd grep. Yn yr achos hwn, efallai na fydd y gwasanaeth yn cael ei gyhoeddi ar y We ac ar gael yn lleol. Os oes ganddo orchestion cyhoeddus, gellir eu defnyddio'n ddiogel: mae damwain gwasanaeth rhag ofn y bydd yn methu yn llawer llai hanfodol na damwain OS.

ps -aux | grep root # Linux

Gellir ystyried yr achos mwyaf llwyddiannus yw gweithrediad gwasanaeth wedi'i hacio yng nghyd-destun y defnyddiwr gwraidd. Mae gweithredu'r gwasanaeth SMB yn rhoi mynediad breintiedig i SYSTEM ar systemau Windows (ee trwy ms17-010). Fodd bynnag, nid yw hyn yn gyffredin ar systemau Linux, felly gallwch chi dreulio llawer o amser ar uwchgyfeirio braint.

Manteisio ar Wendidau Cnewyllyn Linux

Dyma'r llwybr y dylech ei gymryd olaf. Gall gweithrediad aflwyddiannus arwain at ddamwain system, ac os bydd ailgychwyn, efallai na fydd rhai gwasanaethau (gan gynnwys y rhai yr oedd yn bosibl cael y gragen wreiddiol drwyddynt) yn codi. Mae'n digwydd bod y gweinyddwr wedi anghofio defnyddio'r gorchymyn galluogi systemctl. Hefyd, bydd yn achosi llawer o anfodlonrwydd Γ’'ch gwaith os na chytunwyd ar y camfanteisio.
Os penderfynwch ddefnyddio'r ffynonellau o exploitedb, gofalwch eich bod yn darllen y sylwadau ar ddechrau'r sgript. Ymhlith pethau eraill, mae fel arfer yn dweud sut i lunio'r camfanteisio hwn yn gywir. Os oeddech chi'n rhy ddiog neu angen "ddoe" oherwydd terfynau amser, gallwch chwilio am ystorfeydd gyda gorchestion a luniwyd eisoes, er enghraifft,. Fodd bynnag, dylid deall, yn yr achos hwn, y byddwch chi'n cael mochyn mewn poke. Ar y llaw arall, pe bai rhaglennydd yn deall i'r beit sut mae cyfrifiadur yn gweithio a'r meddalwedd y mae'n ei ddefnyddio, ni fyddai wedi ysgrifennu llinell o god yn ei fywyd cyfan.

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

Metasploit

Er mwyn dal a thrin cysylltiad, mae bob amser yn well defnyddio'r modiwl ecsbloetio/aml/driniwr. Y prif beth yw gosod y llwyth tΓ’l cywir, er enghraifft, generig/shell/reverce_tcp neu generig/shell/bind_tcp. Gellir uwchraddio'r gragen a gafwyd yn Metasploit i Meterpreter gan ddefnyddio'r modiwl post/multi/manage/shell_to_meterpreter. Gyda Meterpreter, gallwch awtomeiddio'r broses Γ΄l-fanteisio. Er enghraifft, mae'r modiwl post/multi/recon/local_exploit_sugester yn gwirio'r llwyfan, y bensaernΓ―aeth, a'r endidau y gellir eu hecsbloetio ac yn awgrymu modiwlau Metasploit ar gyfer cynyddu braint ar y system darged. Diolch i Meterpreter, weithiau mae mwy o fraint yn dibynnu ar redeg y modiwl cywir, ond nid yw hacio heb ddeall beth sy'n digwydd o dan y cwfl yn wir (mae'n rhaid i chi ysgrifennu adroddiad o hyd).

offer

Bydd offer i awtomeiddio casglu gwybodaeth yn lleol yn arbed llawer o ymdrech ac amser i chi, ond ar eu pen eu hunain nid ydynt yn gallu nodi'r llwybr dwysΓ‘u braint yn llawn, yn enwedig yn achos manteisio ar wendidau cnewyllyn. Bydd offer awtomeiddio yn cyflawni'r holl orchmynion angenrheidiol i chi gasglu gwybodaeth am y system, ond mae hefyd yn bwysig gallu i ddadansoddi data a dderbyniwyd. Rwy'n gobeithio y bydd fy erthygl yn ddefnyddiol i chi yn hyn o beth. Wrth gwrs, mae yna lawer mwy o offer nag y byddaf yn eu rhestru isod, ond maen nhw i gyd yn gwneud tua'r un peth - mae'n fwy o fater o flas.

Linpeas

Offeryn gweddol ffres, mae'r ymrwymiad cyntaf yn ddyddiedig Ionawr 2019. Fy hoff offeryn ar hyn o bryd. Y gwir amdani yw ei fod yn tynnu sylw at y fectorau uwchgyfeirio braint mwyaf diddorol. Cytuno, mae'n fwy cyfleus cael asesiad arbenigol ar y lefel hon na dosrannu data crai monolithig.

LinEnum

Fy ail hoff offeryn, mae hefyd yn casglu ac yn trefnu'r data a dderbyniwyd o ganlyniad i gyfrifo lleol.

linux-exploit-sugester(1,2)

Bydd y camfanteisio hwn yn dadansoddi'r system ar gyfer amodau addas ar gyfer campau. Mewn gwirionedd, bydd yn gwneud swydd union yr un fath Γ’ modiwl Metasploit local_exploit_sugester, ond bydd yn cynnig dolenni i godau ffynhonnell exploit-db yn hytrach na modiwlau Metasploit.

Gwiriwr preifatrwydd Linux

Bydd y sgript hon yn casglu ac yn trefnu fesul adran lawer iawn o wybodaeth a all fod yn ddefnyddiol ar gyfer ffurfio fector uwchgyfeirio braint.

Dro arall byddaf yn ymhelaethu drychiad breintiau yn Linux OS trwy suid/sgid.

Ffynhonnell: hab.com

Ychwanegu sylw