Tha mi nam freumh. A’ tuigsinn àrdachadh sochair Linux OS

Chuir mi seachad a’ chiad chairteal de 2020 ag ullachadh airson deuchainn OSCP. Thug a bhith a’ lorg fiosrachaidh air Google agus tòrr oidhirpean “dall” m’ ùine shaor gu lèir. Bha e gu sònraichte duilich a thuigsinn dè na dòighean airson sochairean àrdachadh. Bidh an cùrsa PWK a’ toirt mòran aire don chuspair seo, ach chan eil na stuthan teagaisg a-riamh gu leòr. Tha tòrr leabhraichean-làimhe air an eadar-lìn le òrdughan feumail, ach chan eil mi dèidheil air a bhith a’ leantainn mholaidhean gu dall gun a bhith a ’tuigsinn dè a thig gu buil.

Bu mhath leam na dh’ ionnsaich mi a cho-roinn riut nuair a bha mi ag ullachadh agus a’ dol seachad air an deuchainn gu soirbheachail (a’ toirt a-steach sgrìoban bho àm gu àm a-steach do Hack The Box). Bha mi a’ faireachdainn mothachadh làidir de thaing airson a h-uile pìos fiosrachaidh a chuidich mi le bhith a’ coiseachd slighe Try Harder nas mothachail, is e seo an t-àm agam a thoirt air ais don choimhearsnachd.

Tha mi airson leabhar-làimhe a thoirt dhut air mar as urrainn dhut sochairean àrdachadh ann an OS Linux, anns a bheil mion-sgrùdadh air na vectaran as cumanta agus feartan co-cheangailte a bhios gu cinnteach feumail dhut. Gu math tric tha na dòighean airson sochairean àrdachadh iad fhèin gu math sìmplidh; bidh duilgheadasan ag èirigh nuair a tha structar agus mion-sgrùdadh fiosrachaidh. Mar sin, chuir mi romham tòiseachadh le “turas seallaidh” agus an uairsin beachdachadh air gach vectar ann an artaigil air leth. Tha mi an dòchas gun sàbhail mi beagan ùine dhut a’ rannsachadh a’ chuspair.

Tha mi nam freumh. A’ tuigsinn àrdachadh sochair Linux OS

Mar sin carson a tha àrdachadh sochair eadhon comasach ann an 2020 ma tha na dòighean air a bhith ainmeil airson ùine mhòr? Gu dearbh, ma làimhsicheas an neach-cleachdaidh an siostam gu ceart, cha bhith e comasach dha sochairean àrdachadh ann. Is e am prìomh dhuilgheadas cruinneil a tha ag adhbhrachadh a leithid de chothroman rèiteachadh mì-chinnteach. Tha làthaireachd dreachan bathar-bog seann-fhasanta anns a bheil so-leòntachd san t-siostam cuideachd na chùis sònraichte de rèiteachadh mì-shàbhailte.

Àrdachadh sochair tro rèiteachadh mì-chinnteach

An toiseach, leig dhuinn dèiligeadh ri rèiteachadh mì-chinnteach. Feuch an tòisich sinn le Bidh proifeiseantaich IT gu tric a’ cleachdadh làmh-sgrìobhainnean agus goireasan leithid stackoverflow, agus tha òrdughan agus rèiteachaidhean mì-shàbhailte ann am mòran dhiubh. Eisimpleir iongantach - an naidheachd gun robh mearachd anns a’ chòd a chaidh a chopaigeadh as motha bho stackoverflow. Chì rianaire eòlach an jamb, ach tha seo ann an saoghal air leth. Eadhon eòlaichean comasach barrachd eallach obrach comasach air mearachdan a dheanamh. Smaoinich gu bheil rianadair ag ullachadh agus a’ co-òrdanachadh sgrìobhainnean airson an ath thairgse, aig an aon àm a’ sgrùdadh an teicneòlas ùr a tha gu bhith air a bhuileachadh anns an ath ràithe, agus aig an aon àm a’ fuasgladh dhuilgheadasan taic luchd-cleachdaidh. Agus an uairsin tha e mar dhleastanas air inneal no dhà a stèidheachadh gu sgiobalta agus seirbheisean a chuir a-mach orra. Dè do bheachd a tha coltach nach toir an rianaire an aire don jamb? An uairsin bidh eòlaichean ag atharrachadh, ach tha na bagannan fhathast ann, fhad ‘s a bhios companaidhean an-còmhnaidh a’ feuchainn ri cosgaisean a lughdachadh, a ’toirt a-steach luchd-obrach IT.

Pseudo-slige agus jailbreak

Gu tric bidh slige an t-siostaim a gheibhear aig ìre brathaidh cuingealaichte, gu h-àraidh ma fhuair thu e tro bhith a’ slaodadh neach-cleachdaidh an fhrithealaiche lìn. Mar eisimpleir, faodaidh cuingealachaidhean shligean casg a chuir ort bho bhith a’ ruith an àithne sudo, a’ toirt a-mach mearachd:

sudo: no tty present and no askpass program specified

Aon uair ‘s gu bheil slige agad, tha mi a’ moladh ceann-uidhe làn-chuimseach a chruthachadh, mar eisimpleir a ’cleachdadh Python.

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

Faodaidh tu faighneachd: “Carson a tha feum agam air mìle àithne mas urrainn dhomh fear a chleachdadh, mar eisimpleir, airson faidhlichean a ghluasad?” Is e an fhìrinn gu bheil siostaman air an rèiteachadh ann an dòigh eadar-dhealaichte; is dòcha nach eil Python air a chuir a-steach aig aoigheachd sònraichte, ach is dòcha gu bheil Perl. Is e an sgil a bhith comasach air rudan eòlach a dhèanamh san t-siostam gun innealan eòlach. Gheibhear liosta iomlan de fheartan an seo.

Faodar slige le sochair ìosal fhaighinn le bhith a’ cleachdadh sgiobaidhean 1 и sgiobaidhean 2 (Gu iongantach, eadhon GIMP).

Thoir sùil air eachdraidh òrdughan

Bidh Linux a’ cruinneachadh eachdraidh de gach àithne a chaidh a chuir an gnìomh ann am faidhle ~ / .bash_history. Ma tha am frithealaiche air a chleachdadh gu gnìomhach agus nach eil an eachdraidh aige air a ghlanadh, tha e glè choltach gun lorgar teisteasan san fhaidhle seo. Tha e dìreach mì-ghoireasach eachdraidh a ghlanadh. Ma thèid aig an rianaire air òrdughan deich-sgeulachd a thaghadh tro , gu dearbh, bidh e nas fhasa dha an àithne seo a ghairm bho eachdraidh na a dhol a-steach a-rithist. A bharrachd air an sin, tha mòran dhaoine nach eil eòlach air an “hack.” Ma tha sligean eile mar Zsh no Fish san t-siostam, tha an eachdraidh aca fhèin. Gus eachdraidh òrdughan a thaisbeanadh ann an slige sam bith, dìreach dèan an eachdraidh àithne.

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

Tha aoigheachd co-roinnte ann, anns a bheil am frithealaiche air a chleachdadh gus aoigheachd a thoirt do ghrunn làraich-lìn. Mar as trice, leis an rèiteachadh seo, tha a neach-cleachdaidh fhèin aig gach goireas le eòlaire dachaigh air leth agus aoigheachd brìgheil. Mar sin, ma thèid a rèiteachadh gu ceàrr, gheibh thu am faidhle .bash_history ann an eòlaire freumh a’ ghoireas lìn.

A’ lorg faclan-faire san t-siostam faidhle agus ionnsaighean air siostaman faisg air làimh

Faodaidh an cleachdaiche làithreach faidhlichean rèiteachaidh airson diofar sheirbheisean a leughadh. Annta gheibh thu teisteanasan ann an teacsa soilleir - faclan-faire airson faighinn gu stòr-dàta no seirbheisean co-cheangailte. Faodar an aon fhacal-faire a chleachdadh an dà chuid gus faighinn chun stòr-dàta agus gus cead a thoirt don neach-cleachdaidh freumha (luchd-obrach le creideas).
Tha e a’ tachairt gu bheil na teisteanasan a lorgar le seirbheisean air luchd-aoigheachd eile. Chan eil a bhith a’ leasachadh ionnsaigh air bun-structar tro aoigh ann an cunnart nas miosa na bhith a’ gabhail brath air luchd-aoigheachd eile. Gheibhear siostaman ri thaobh cuideachd le bhith a’ coimhead suas seòlaidhean IP san t-siostam faidhle.

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

Ma tha tagradh lìn aig an neach-aoigheachd a tha ruigsinneach bhon eadar-lìn, tha e nas fheàrr na logaichean aige a thoirmeasg bho bhith a’ lorg seòlaidhean IP. Chan eil e coltach gum bi seòlaidhean luchd-cleachdaidh ghoireasan bhon eadar-lìn feumail dhuinn, ach seòlaidhean an lìonra a-staigh (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) agus càite an tèid iad, a’ breithneachadh leis na logaichean , faodaidh e a bhith inntinneach.

Sudo

Bheir an t-òrdugh sudo comas don neach-cleachdaidh òrdugh a chuir an gnìomh anns a’ cho-theacs bunaiteach a’ cleachdadh am facal-faire aca fhèin no gun a bhith a’ cleachdadh facal-faire idir. Feumaidh mòran obrachaidhean ann an Linux sochairean bunaiteach, ach tha ruith mar fhreumh air a mheas mar fhìor dhroch chleachdadh. An àite sin, tha e nas fheàrr cead roghnach a chuir an gnìomh gus òrdughan a chuir an gnìomh anns a’ cho-theacsa freumh. Ach, faodar mòran innealan Linux, a’ gabhail a-steach feadhainn àbhaisteach leithid vi, a chleachdadh gus sochairean àrdachadh ann an dòighean dligheach. Gus dòigh iomchaidh a lorg, tha mi a 'moladh coimhead an seo.

Is e a’ chiad rud a dh’ fheumas tu a dhèanamh nuair a gheibh thu cothrom air an t-siostam an àithne sudo -l a ruith. Seallaidh e cead an àithne sudo a chleachdadh. Ma gheibhear neach-cleachdaidh gun fhacal-faire (leithid apache no www-data), chan eil coltas ann gum bi an vectar àrdachadh sochair tro sudo. Nuair a bhios tu a’ cleachdadh sudo, iarraidh an siostam facal-faire. Chan urrainn dhut facal-faire a shuidheachadh leis an àithne passwd nas motha; iarraidh e facal-faire làithreach an neach-cleachdaidh. Ach ma tha sudo fhathast ri fhaighinn, feumaidh tu coimhead airson:

  • eadar-mhìnearan sam bith, faodaidh duine sam bith slige a shìolachadh (PHP, Python, Perl);
  • luchd-deasachaidh teacsa sam bith (vim, vi, nano);
  • luchd-amhairc sam bith (nas lugha, barrachd);
  • comas sam bith a bhith ag obair leis an t-siostam faidhle (cp, mv);
  • Innealan aig a bheil toradh ann am bash, eadar-ghnìomhach no mar àithne so-ghnìomhaichte (awk, find, nmap, tcpdump, man, vi, vim, sible).

Suid/Sgid

Tha mòran leabhraichean-làimhe air an eadar-lìn a tha a’ comhairleachadh a bhith a’ cruinneachadh a h-uile òrdugh suid / sgid, ach tha artaigil tearc a’ toirt seachad mion-fhiosrachadh air dè a nì thu leis na prògraman sin. Lorgar roghainnean airson sochairean àrdachadh nach eil a’ toirt aire do chleachdadh buannachdan an seo. Cuideachd, tha so-leòntachd sònraichte aig grunn fhaidhlichean so-ghnìomhaichte airson an dreach OS, mar eisimpleir.

Ann an saoghal air leth freagarrach, bhiodh tu a’ ruith a h-uile pasgan stàlaichte tro searchsploit co-dhiù. Ann an cleachdadh, bu chòir seo a dhèanamh leis na prògraman as mòr-chòrdte leithid sudo. Tha an-còmhnaidh roghainn ann cuideachd a bhith a’ cleachdadh agus a’ toirt taic do leasachadh innealan fèin-ghluasadach a bheir cuideam inntinneach, bho shealladh àrdachadh sochair, faidhlichean so-ghnìomhaichte leis na seataichean suid / sgid. Bheir mi seachad liosta de na h-innealan sin anns an earrann fhreagarrach den artaigil.

Sgriobtaichean a ghabhas sgrìobhadh air an ruith le Cron no Init ann an co-theacsa Root

Faodar obraichean Cron a ruith fo cho-theacsan cleachdaiche eadar-dhealaichte, a 'gabhail a-steach root. Ma thèid gnìomh cron a stèidheachadh le ceangal gu faidhle so-ghnìomhaichte, agus gu bheil e ri fhaighinn dhut a sgrìobhadh, faodar gu furasta fear droch-rùnach agus àrdachadh sochair a chuir na àite. Ach, gu gnàthach, bidh faidhlichean le gnìomhan cron comasach air an leughadh le neach-cleachdaidh sam bith.

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

Tha an suidheachadh coltach ri init. Is e an t-eadar-dhealachadh gu bheil gnìomhan ann an cron air an cur gu bàs bho àm gu àm, agus ann an init - aig toiseach an t-siostaim. Feumaidh gnìomhachd ath-thòiseachadh siostam, agus is dòcha nach tòisich cuid de sheirbheisean (mura robh iad clàraichte aig toiseach tòiseachaidh).

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

Faodaidh tu cuideachd faidhlichean a lorg a ghabhas sgrìobhadh le neach-cleachdaidh sam bith.

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

Tha an dòigh gu math aithnichte; bidh rianadairean siostam eòlach gu faiceallach a’ cleachdadh an àithne chmod. Ach, air an eadar-lìn, tha a’ mhòr-chuid de leabhraichean-làimhe a’ toirt cunntas air a bhith a’ suidheachadh chòraichean as àirde. Tha an dòigh-obrach “dìreach dèan e ag obair” aig luchd-rianachd siostam gun eòlas a’ cruthachadh chothroman airson sochairean àrdachadh ann am prionnsapal. Ma ghabhas e dèanamh, tha e nas fheàrr coimhead anns an eachdraidh àithne airson cleachdadh neo-shàbhailte de chmod.

chmod +w /path 
chmod 777 /path

A’ faighinn cothrom slige do luchd-cleachdaidh eile

Bheir sinn sùil air an liosta de luchd-cleachdaidh ann an /etc/passwd. Bidh sinn a 'toirt aire don fheadhainn aig a bheil slige. Faodaidh tu na cleachdaichean sin a bhrùthadh - tha e comasach tron ​​​​chleachdaiche a thig às a sin gum bi e comasach mu dheireadh sochairean àrdachadh.

Gus tèarainteachd a leasachadh, tha mi a’ moladh gum bi thu an-còmhnaidh a’ cumail ri prionnsapal an t-sochair as lugha. Tha e cuideachd ciallach ùine a chaitheamh a’ sgrùdadh rèiteachaidhean mì-shàbhailte a dh’ fhaodadh fuireach às deidh fuasgladh dhuilgheadasan - is e seo “dleastanas teicnigeach” rianadair an t-siostaim.

Còd fèin-sgrìobhte

Is fhiach sùil gheur a thoirt air na faidhlichean so-ghnìomhaichte ann an eòlaire dachaigh an neach-cleachdaidh agus an fhrithealaiche lìn (/ var / www /, mura h-eilear ag ràdh a chaochladh). Dh’ fhaodadh gur e fuasgladh gu tur neo-shàbhailte a th’ anns na faidhlichean sin agus gum bi crutches iongantach ann. Gu dearbh, ma tha frèam de sheòrsa air choreigin agad anns an eòlaire frithealaiche lìn, chan eil e ciallach a bhith a’ coimhead airson latha neoni ann mar phàirt de pheann, ach thathas a’ moladh atharrachaidhean gnàthaichte, plugins agus co-phàirtean a lorg agus a sgrùdadh.

Gus tèarainteachd àrdachadh, tha e nas fheàrr, ma ghabhas e dèanamh, a bhith a’ seachnadh a bhith a’ cleachdadh theisteanasan ann an sgriobtaichean fèin-sgrìobhte, a bharrachd air gnìomhachd a dh’ fhaodadh a bhith cunnartach, leithid leughadh /etc/shadow no làimhseachadh id_rsa.

Àrdachadh shochairean tro bhith a’ gabhail brath air so-leòntachd

Mus feuch thu ri sochairean àrdachadh tro chleachdadh, tha e cudromach tuigsinn a’ gluasad fhaidhlichean chun aoigh targaid. A bharrachd air na h-innealan àbhaisteach mar ssh, ftp, http (wget, curl) tha slàn ann "sù" de chothroman.

Gus tèarainteachd an t-siostaim a leasachadh, ùraich e gu cunbhalach chun an fheadhainn as ùire seasmhach dreachan, agus cuideachd feuch ri sgaoilidhean a chaidh a dhealbhadh airson Iomairt a chleachdadh. Rud eile, is ann ainneamh a tha e ach tha suidheachaidhean ann far a bheil ùrachadh iomchaidh a’ fàgail nach gabh an siostam obrachadh.

A’ cleachdadh sheirbheisean a tha a’ ruith fo cho-theacs cleachdaiche freumh

Bidh cuid de sheirbheisean Linux a’ ruith mar fhreumh. Gheibhear iad a’ cleachdadh an àithne ps aux | freumh grep. Anns a 'chùis seo, is dòcha nach tèid an t-seirbheis a shanasachadh air an eadar-lìon agus gum bi e ri fhaighinn gu h-ionadail. Ma tha buannachdan poblach ann, faodar an cleachdadh gu sàbhailte: tha tubaist seirbheis gun fhios nach bi e cho cudromach ri tubaist an OS.

ps -aux | grep root # Linux

Faodar beachdachadh air a’ chùis as soirbheachaile mar obrachadh seirbheis briste ann an co-theacs an neach-cleachdaidh freumh. Tha obrachadh seirbheis SMB a’ toirt cothrom SYSTEM le sochair air siostaman Windows (mar eisimpleir, tro ms17-010). Ach, chan eil seo cumanta air siostaman Linux, agus mar sin faodaidh tu tòrr ùine a chaitheamh ag àrdachadh sochairean.

A’ gabhail brath air so-leòntachd Linux Kernel

Is e seo an t-slighe mu dheireadh a bu chòir dhut a ghabhail. Faodaidh gnìomhachd neo-shoirbheachail leantainn gu tubaist siostam, agus ma thèid ath-thòiseachadh, is dòcha nach tòisich cuid de sheirbheisean (a’ gabhail a-steach an fheadhainn tron ​​​​fhuaireadh an t-slige tùsail). Tha e a’ tachairt gun do dhìochuimhnich an rianaire an àithne comas systemctl a chleachdadh. A bharrachd air an sin, bidh e ag adhbhrachadh tòrr mì-riarachas leis an obair agad mura deach aontachadh ris an obair.
Ma cho-dhùnas tu na còdan stòr bho exploitedb a chleachdadh, bi cinnteach gun leugh thu na beachdan aig toiseach an sgriobt. Am measg rudan eile, mar as trice bidh e ag innse mar a chuireas tu ri chèile brath sònraichte. Ma tha thu ro leisg no ma dh’ fheumadh tu a dhèanamh “an-dè” air sgàth cinn-ama, faodaidh tu coimhead airson stòran le buannachdan a chaidh a chuir ri chèile mar-thà, mar eisimpleir. Ach, bu chòir dhut tuigsinn sa chùis seo gum faigh thu muc ann am poke. Air an làimh eile, nan tuigeadh prògramadair sìos chun byte mar a tha coimpiutair ag obair agus am bathar-bog a bhios e a’ cleachdadh, cha bhiodh e a’ sgrìobhadh aon loidhne de chòd fad a bheatha.

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

Metasploit

Gus an ceangal a ghlacadh agus a làimhseachadh, tha e an-còmhnaidh nas fheàrr am modal brath / ioma / làimhseachaidh a chleachdadh. Is e am prìomh rud an t-uallach pàighidh ceart a shuidheachadh, mar eisimpleir, generic/shell/reverse_tcp no generic/shell/bind_tcp. Faodar an t-slige a rinn Metasploit ùrachadh gu Meterpreter a’ cleachdadh a’ mhodal post/multi/manage/shell_to_meterpreter. Le Meterpreter, faodaidh tu am pròiseas iar-chleachdadh a dhèanamh fèin-ghluasadach. Mar eisimpleir, bidh am modal post/multi/recon/local_exploit_suggester a’ sgrùdadh an àrd-ùrlair, an ailtireachd agus na buidhnean a tha riatanach airson brath agus a’ moladh mhodalan Metasploit gus sochairean air an t-siostam targaid àrdachadh. Taing do Meterpreter, bidh sochairean àrdachadh uaireannan an urra ri bhith a’ cur air bhog am modal a tha a dhìth, ach chan eil hacaidh gun a bhith a’ tuigsinn na tha a’ tachairt fon chochall “fìor” (feumaidh tu fhathast aithisg a sgrìobhadh).

innealan

Sàbhalaidh innealan airson cruinneachadh fiosrachaidh ionadail gu fèin-ghluasadach tòrr oidhirp is ùine dhut, ach leotha fhèin chan urrainn dhaibh làn chomharrachadh a dhèanamh air an t-slighe gu àrdachadh sochairean, gu sònraichte a thaobh brath a ghabhail air so-leòntachd kernel. Coileanaidh innealan fèin-ghluasaid na h-òrdughan riatanach uile airson fiosrachadh a chruinneachadh mun t-siostam, ach tha e cudromach cuideachd a bhith comasach air a mhion-sgrùdadh dàta fhaighinn. Tha mi an dòchas gum bi an artaigil agam feumail dhut a thaobh seo. Gu dearbh, tha tòrr a bharrachd innealan ann na nì mi liosta gu h-ìosal, ach bidh iad uile a’ dèanamh timcheall air an aon rud - tha seo caran blasad.

linpeas

Tula gu math o chionn ghoirid, tha a’ chiad ghealladh a’ dol air ais chun Fhaoilleach 2019. An inneal as fheàrr leam an-dràsta. Is e a’ phuing gu bheil e a’ soilleireachadh na vectaran as inntinniche a thaobh àrdachadh sochair. Aontaich, tha e nas fhasa measadh eòlaiche fhaighinn aig an ìre seo na bhith a’ parsadh dàta amh monolithic.

LìonEnum

An dàrna inneal as fheàrr leam, bidh e cuideachd a’ cruinneachadh agus ag eagrachadh dàta a gheibhear mar thoradh air àireamhachd ionadail.

Linux-exploit-suggester (1,2)

Nì an cleachdadh seo mion-sgrùdadh air an t-siostam airson suidheachaidhean brath iomchaidh. Gu dearbh, nì e an obair co-ionann ris a’ mhodal Metasploit local_exploit_sugester, ach bheir e seachad ceanglaichean gu còdan stòr exploit-db seach modalan Metasploit.

Neach-dearbhaidh prìobhaideachd Linux

Cruinnichidh agus eagraichidh an sgriobt seo ann an earrannan tòrr fiosrachaidh a dh’ fhaodadh a bhith feumail airson vectar a chruthachadh airson sochairean àrdachadh.

Uair eile thèid mi gu mion-fhiosrachadh àrdachadh sochairean ann an Linux OS tro suid/sgid.

Source: www.habr.com

Cuir beachd ann