Waxaan ahay xidid Fahamka Kordhinta Mudnaanta Linux OS

Waxaan qaatay rubuci hore ee 2020 isu diyaarinta imtixaanka OSCP. Raadinta macluumaadka Google-ka iyo isku dayo badan oo "indho la'aan" ayaa qaatay waqtigeyga firaaqada oo dhan. Waxaa soo baxday inay si gaar ah u adkeyd in la fahmo hababka kor loogu qaadayo mudnaanta. Koorsada PWK waxay si weyn u fiirsataa mawduucan, laakiin agabka hab-raacu mar walba kuma filna. Waxaa jira buugag badan oo internetka ah oo leh amarro faa'iido leh, laakiin ma ihi taageere si indho la'aan ah u raacaya talooyinka iyada oo aan la fahmin meesha ay tani horseedi doonto.

Waxaan jeclaan lahaa inaan idinla wadaago wixii aan ku guuleystey inaan barto intii lagu jiray diyaarinta iyo ku-gudbinta guusha ee imtixaanka (oo ay ku jiraan duullaan xilliyeedka ah ee Hack The Box). Waxaan dareemay dareen qoto dheer oo mahadnaq ah xog kasta oo iga caawisay inaan si miyir leh ugu socdo Waddada Isku day Harder, hadda waa waqtigii aan dib ugu celin lahaa bulshada.

Waxaan rabaa inaan ku siiyo hage kor u qaadista mudnaanta ee OS Linux, kaas oo ay ku jiraan falanqaynta fayraska ugu caansan iyo sifooyinka la xiriira ee aad runtii u baahan doonto. Badanaa, hababka kor u qaadida mudnaanta laftoodu waa kuwo fudud, dhibana way soo baxaan marka la habaynayo iyo lafo-gurka macluumaadka. Sidaa darteed, waxaan go'aansaday inaan ku bilaabo "safar indho-indhayn" ka dibna aan ku tixgeliyo vector kasta maqaal gaar ah. Waxaan rajeynayaa in aan ku keydin doono waqti aad ku darsato mowduuca.

Waxaan ahay xidid Fahamka Kordhinta Mudnaanta Linux OS

Marka, waa maxay sababta kor u qaadista mudnaanta xitaa suurtagal tahay 2020 haddii hababka si fiican loo yaqaan muddo aad u dheer? Dhab ahaantii, haddii isticmaaluhu uu si sax ah u maamulo nidaamka, dhab ahaantii suurtagal ma noqon doonto in la kordhiyo mudnaanta. Dhibaatada ugu weyn ee caalamiga ah ee keenta fursadahan oo kale waa qaabeynta aan la hubin. Joogitaanka noocyada software ee duugoobay oo ay ku jiraan nuglaanshiyaha nidaamka sidoo kale waa kiis gaar ah oo qaabeynta aan badbaadada lahayn.

Kordhinta mudnaanta iyada oo loo marayo habayn aan ammaan ahayn

Ugu horreyntii, aynu wax ka qabanno qaabeynta ammaan-darrada ah. Aan ku bilowno Xirfadlayaasha IT-gu waxay inta badan isticmaalaan buug-gacmeedyada iyo agabyada sida qulqulka qulqulka, kuwaas oo qaar badan oo ka mid ah ay ku jiraan amarro iyo habayn aan ammaan ahayn. Tusaale cajiib ah ayaa ah warkii in koodka ugu badan ee laga soo guuriyay qulqulka qulqulka uu ku jiro khalad. Maamule khibrad leh ayaa arki doona jamb, laakiin tani waxay ku jirtaa adduun ku habboon. Xitaa xirfadlayaal karti leh korodhka shaqada karti u leh inuu khalad sameeyo. Bal qiyaas in maamuluhu uu diyaarinayo oo uu ansixinayo dukumentiyada hindise-socodyada soo socda, isla markaana ku dhex milmay tignoolajiyada cusub ee la soo bandhigi doono rubuca soo socda, iyadoo si xilliyo ah loo xallinayo hawlaha taageerada isticmaalaha. Kadibna waxaa la siiyaa hawsha uu si dhakhso ah u soo saaro laba mashiin oo casri ah oo uu ku soo rogo adeegyo iyaga. Maxaad u malaynaysaa, waa maxay itimaalka in adminku uusan si fudud u dareemin jamb? Markaa takhaatiirta takhasuska leh ayaa isbeddela, laakiin biraha ayaa sii jira, halka shirkaduhu had iyo jeer ku dadaalaan inay yareeyaan kharashaadka, oo ay ku jiraan kuwa ku takhasusay IT-ga.

qolof been abuur ah iyo jebin

Nidaamka qolofka la helay inta lagu guda jiro marxaladda wax soo saarka ayaa inta badan xaddidan, gaar ahaan haddii aad ku heshay adigoo jabsaday adeegsadaha shabakadda. Tusaale ahaan, xannibaadaha qolofka ayaa kaa hor istaagi kara inaad isticmaasho amarka sudo khalad:

sudo: no tty present and no askpass program specified

Ka dib markii la helo qolof, waxaan ku talinayaa in la abuuro terminal buuxa, tusaale ahaan Python.

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

Waxaad waydiisaa: "Waa maxay sababta aan ugu baahanahay kun amar, haddii aan isticmaali karo mid, tusaale ahaan, si aan u wareejiyo faylasha?" Xaqiiqdu waxay tahay in nidaamyada si kala duwan loo habeeyey, martida soo socota Python lama rakibi karo, laakiin Perl waa la heli karaa. Xirfaddu waa in la sameeyo waxyaabo la yaqaan oo ku jira nidaamka iyada oo aan la helin qalab la yaqaan. Liis dhammaystiran oo astaamo ah ayaa la heli karaa halkan.

Qolof mudnaan yar ayaa lagu heli karaa iyadoo la isticmaalayo kooxaha 1 ΠΈ kooxaha 2 (la yaab xitaa GIMP).

Eeg taariikhda amarka

Linux waxay aruurisaa taariikhda dhammaan amarrada la fuliyay ee faylka ku jira ~ / .bash_taariikh. Haddii server-ku si firfircoon u isticmaalo oo aan taariikhdiisa la nadiifin, waxaa jirta fursad wanaagsan in aqoonsiga laga helo faylkan. Nadiifinta taariikhda waa wax aan fiicneyn. Haddii maamulaha lagu qasbo inuu doorto amarro toban heer ah via , Dabcan, waxay noqon doontaa mid ku habboon isaga inuu ka waco amarkan taariikhda halkii uu mar kale gelin lahaa. Intaa waxaa dheer, in badan oo ka mid ah ma oga waxa ku saabsan "hack" this. Haddii ay jiraan qolof kale sida Zsh ama Fish ee nidaamka, waxay leeyihiin taariikh iyaga u gaar ah. Si aad u muujiso taariikhda amarrada qolo kasta, kaliya ku qor taariikhda amarka.

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

Waxaa jira martigelin la wadaago, kaas oo server-ka loo isticmaalo in lagu martigeliyo goobo badan. Caadi ahaan, qaabeyntan, kheyraad kastaa wuxuu leeyahay isticmaale u gaar ah oo leh hagaha guriga oo gooni ah iyo martigeliyaha casriga ah. Markaa, haddii si khaldan loo habeeyey, waxaad ka heli kartaa faylka .bash_history ee tusaha xididka ilaha shabakadda.

Helitaanka furaha sirta ah ee nidaamka faylka iyo weerarrada nidaamyada ku xiga

Faylasha isku xidhka ee adeegyada kala duwan waxaa laga yaabaa inuu akhriyo isticmaalahaaga hadda. Waxa aad ka heli kartaa waraaqo cad cad - furayaasha sirta ah ee gelitaanka xogta ama adeegyada la xidhiidha. Furaha isku midka ah ayaa loo isticmaali karaa labadaba si loo galo xogta iyo si loogu oggolaado isticmaalaha xididka (shaqaalaha aqoonsiga).
Waxay dhacdaa in shahaadooyinka la helay ay leeyihiin adeegyada martigeliyayaasha kale. Horumarinta weerar ka dhanka ah kaabayaasha iyada oo loo marayo martigelin la dhibay kama xuma ka faa'iidaysiga martida kale. Nidaamyada ku xiga ayaa sidoo kale laga heli karaa adoo eegaya ciwaanada IP-ga ee nidaamka faylka.

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

Haddii martigeliyaha la jabsaday uu leeyahay codsi shabakad laga heli karo internetka, way fiicantahay in laga saaro diiwaankeeda raadinta cinwaannada IP-ga. Cinwaanada isticmaalayaasha kheyraadka ee internetka uma badna inay anaga anaga anaga anaga faa'iido u yeelan doonno, laakiin ciwaanada shabakadaha gudaha (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) iyo halka ay tagaan, iyadoo lagu xukumayo logs, laga yaabaa in xiiso.

Sudo

Amarka sudo wuxuu u oggolaanayaa isticmaalaha inuu ku fuliyo amarka macnaha guud ee xididka erayga sirta ah ee u gaar ah ama isagoon isticmaalin gabi ahaanba. Hawlgallo badan oo Linux ah ayaa u baahan mudnaanta xididka, laakiin u shaqeynta sida xididka ayaa loo arkaa dhaqan aad u xun. Taa beddelkeeda, way fiicantahay in la dalbado ogolaanshaha xulashada si loo fuliyo amarrada macnaha guud. Si kastaba ha ahaatee, qalab badan oo Linux ah, oo ay ku jiraan kuwa caadiga ah sida vi, ayaa loo isticmaali karaa in lagu kordhiyo mudnaanta siyaabo sharci ah. Si aad u hesho jidka saxda ah, waxaan ku talinayaa in aad eegto halkan.

Waxa ugu horreeya ee la sameeyo ka dib helitaanka nidaamka waa in la socodsiiyo amarka sudo -l. Waxay soo bandhigi doontaa ogolaanshaha isticmaalka amarka sudo Haddii isticmaale aan lahayn furaha sirta ah la helo (sida apache ama www-data), sudo mudnaanta sare u qaadida vector lagama yaabo. Markaad isticmaaleyso sudo, nidaamku wuxuu weydiin doonaa furaha sirta ah. Isticmaalka amarka passwd si aad u dejiso furaha sirta ah sidoo kale ma shaqeyn doono, waxay ku weydiin doontaa erayga sirta ah ee isticmaalaha hadda. Laakiin haddii sudo weli la heli karo, markaa, dhab ahaantii, waxaad u baahan tahay inaad raadiso:

  • tarjumaan kasta, qof kastaa wuu dhalin karaa qolof (PHP, Python, Perl);
  • tifaftirayaasha qoraalka kasta (vim, vi, nano);
  • daawadayaasha kasta (ka yar, ka badan);
  • wax kasta oo suurtagal ah ee la shaqaynta nidaamka faylka (cp, mv);
  • Qalabka wax soo saarka ee bash, ha ahaato is dhexgal ama amar la fulin karo (awk, find, nmap, tcpdump, man, vi, vim, ansible).

Suid/Sgid

Waxaa jira buugag badan oo ku jira internetka kuwaas oo kugula taliya in la dhiso dhammaan amarrada suid / sgid, laakiin maqaal naadir ah ayaa si gaar ah u bixinaya waxa lagu sameeyo barnaamijyadan. Ikhtiyaarada kordhinta mudnaanta ee aan xisaabta ku dareynin isticmaalka faa'iidada ayaa la heli karaa halkan. Sidoo kale, tiro ka mid ah faylalka la fulin karo ayaa leh nuglaanta gaarka ah ee nooca OS, tusaale ahaan.

Adduunka ugu habboon, waa inaad ku socodsiisaa dhammaan baakadaha lagu rakibay ugu yaraan searchsploit. Ficil ahaan, tan waa in lagu sameeyaa barnaamijyada ugu caansan sida sudo. Sidoo kale had iyo jeer waa ikhtiyaar in la isticmaalo oo la taageero horumarinta qalabka iswada ee muujin doona xiisaha, marka laga eego aragtida sare u qaadida mudnaanta, la fulin karo oo leh suid/sgid bits set. Waxaan ku siin doonaa liiska qalabka sida qaybta u dhiganta ee maqaalka.

Qoraallada la qori karo waxaa maamula Cron ama Init oo ku jira macnaha guud

Shaqooyinka Cron waxay ku socon karaan macnaha guud ee isticmaalayaasha kala duwan, oo ay ku jiraan xididka. Haddii ay jirto hawl ku jirta cron oo leh isku xirka faylka la fulin karo, oo ay diyaar kuu tahay inaad qorto, waxaad si fudud ugu beddeli kartaa mid xaasidnimo ah oo aad samayn kartaa mudnaanta mudnaanta. Isla mar ahaantaana, sida caadiga ah, faylasha leh hawlaha cron ayaa diyaar u ah in loo akhriyo isticmaale kasta.

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

La mid ah kiiska init. Farqiga u dhexeeya ayaa ah in hawlaha cron la fuliyo si xilliyo ah, iyo gudaha - bilowga nidaamka. Hawlgalka, waxaad u baahan doontaa inaad dib u bilowdo nidaamka, halka qaar ka mid ah adeegyada laga yaabo inaysan kor u qaadin (haddii aysan ka diiwaan gashanayn autoload).

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

Waxa kale oo aad raadin kartaa faylasha uu qori karo isticmaale kasta.

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

Habka waa mid aad loo yaqaan, maamulayaasha nidaamka khibrada leh waxay si taxadar leh u isticmaalaan amarka chmod. Si kastaba ha ahaatee, shabakadda internetka, buugag-gacmeedyada intooda badani waxay qeexayaan dejinta xuquuqda ugu badan. Habka "kaliya ka dhig inay shaqeyso" habka maamulayaasha nidaamka aan khibradda lahayn waxay abuurtaa fursado kor u qaadista mudnaanta mabda'a ahaan. Haddii ay suurtagal tahay, waxa fiican in aad ka eegto taariikhda amarka isticmaalka aan badbaadada lahayn ee chmod.

chmod +w /path 
chmod 777 /path

Helitaanka qolofka isticmaalayaasha kale

Waxaan eegnaa liiska isticmaalayaasha ee /etc/passwd. Waxaan u fiirsan kuwa qolof leh. Waad ku canaanan kartaa isticmaalayaashan - waxaa suurtagal ah in isticmaaleha natiijada ka soo baxday aad ugu dambeyntii awood u yeelan doonto inaad kordhiso mudnaanta.

Si loo hagaajiyo amniga, waxaan kugula talinayaa inaad mar walba u hoggaansanto mabda'a mudnaanta ugu yar. Waxa kale oo ay macno samaynaysaa in la qaato wakhti si loo hubiyo qaabaynta aan sugnayn ee sii jiri kara cilad-baadhista ka dib - tani waa "waajibka farsamada" ee maamulaha nidaamka.

Koodhka is-qorista

Waxaa mudan in si dhow loo eego fulinta ku jira tusaha guriga adeegsadaha iyo serverka webka (/var/www/ haddii aan si kale loo cayimin). Faylashani waxay isu rogi karaan inay noqdaan xal gebi ahaanba aan ammaan ahayn waxayna ka kooban yihiin biro la yaab leh. Dabcan, haddii aad ku leedahay qaab-dhismeedka tusaha server-kaaga mareegaha, macno ma samaynayso inaad ka raadiso eber-maalin dhexdeeda iyada oo qayb ka ah pentest, laakiin waxaa lagu talinayaa in la helo oo la barto wax ka beddelka caadooyinka, plugins iyo qaybaha.

Si loo kordhiyo amniga, waxaa fiican in la iska ilaaliyo isticmaalka aqoonsiga qoraallada is-qorida, iyo sidoo kale shaqeynta khatarta ah, sida akhrinta / iwm/ hooska ama khalkhalgelinta id_rsa, haddii ay suurtagal tahay.

Kor u qaadista mudnaanta iyada oo la adeegsanayo ka faa'iidaysiga dayacanka

Kahor intaadan isku dayin inaad sare u qaaddo mudnaanta iyadoo la adeegsanayo ka faa'iidaysi, waa muhiim in la fahmo u wareejinta faylalka martida loo yahay. Marka lagu daro qalabka caadiga ah sida ssh, ftp, http (wget, curl), waxaa jira gebi ahaanba "Zoo" ee fursadaha.

Si aad u wanaajiso amniga nidaamkaaga, si joogto ah u cusboonaysii ilaa kii ugu dambeeyay deggan noocyada, iyo sidoo kale isku day inaad isticmaasho qaybinta loogu talagalay Enterprise. Haddii kale, waa dhif, laakiin waxaa jira xaalado marka hagaajinta ku habboon ay nidaamka ka dhigayso mid aan la isticmaali karin.

Ka faa'iidaysiga Adeegyada Ku Socota Macnaha Guud ee Isticmaalaha xididka

Adeegyada Linux qaarkood waxay u shaqeeyaan sida xididka isticmaalaha mudnaanta leh. Waxaa laga heli karaa iyadoo la isticmaalayo ps aux | xidid grep. Xaaladdan oo kale, adeegga lagama yaabo in lagu dhawaaqo Webka oo laga heli karo gudaha. Haddii ay leedahay faa'iidooyin dadweyne, si badbaado leh ayaa loo isticmaali karaa: shilka adeegga haddii uu guuldareysto aad ayuu uga khatarsan yahay shilka OS.

ps -aux | grep root # Linux

Kiiskii ugu guulaha badnaa waxaa loo tixgelin karaa hawlgalka adeegga la jabsaday ee macnaha guud ee isticmaalaha xididka. Ka shaqaynta adeega SMB waxa ay siinaysaa NIDAAMKA gelitaanka mudnaanta leh ee nidaamyada Windows (tusaale iyada oo loo marayo ms17-010). Si kastaba ha ahaatee, tani maaha mid caan ku ah nidaamyada Linux, markaa waxaad waqti badan ku qaadan kartaa kordhinta mudnaanta.

Ka faa'iidaysiga dayacanka Kernel Linux

Tani waa dariiqa ugu dambeeya ee la maro. Hawlgalka aan lagu guulaysan waxay u horseedi kartaa shil nidaamka, iyo haddii ay dhacdo dib u soo kabashada, adeegyada qaarkood (ay ku jiraan kuwa ay suurtagal tahay in la helo qolofkii asalka ahaa) ma kici karaan. Waxay dhacdaa in maamuluhu uu si fudud u ilaaway inuu isticmaalo nidaamka karti-siinta systemctl. Waxaa dheer waxay keeni doontaa niyad jab badan oo ku saabsan shaqadaada haddii dhiig-miirashada aan la isku afgaran.
Haddii aad go'aansato inaad isticmaasho ilaha laga helo exploitdb, hubi inaad akhrido faallooyinka bilowga qoraalka. Waxyaalaha kale, waxay inta badan sheegtaa sida loo ururiyo ka faa'iidaysigan si sax ah. Haddii aad caajis ahayd ama aad u baahato "shalay" sababtoo ah waqtiyada kama dambaysta ah, waxaad raadin kartaa bakhaarro leh faa'iidooyin hore loo soo ururiyey, tusaale ahaan. Si kastaba ha ahaatee, waa in la fahamsan yahay in kiiskan aad heli doonto doofaarka ee poke. Dhanka kale, haddii uu programmer-ku u fahmay byte-ka sida uu kombayuutarku u shaqeeyo iyo software-ka uu isticmaalo, noloshiisii ​​oo dhan ma aanu qori lahayn xariiq kood ah.

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

Metasploit

Si loo qabto oo loo xakameeyo isku xidhka, had iyo jeer way fiican tahay in la isticmaalo ka faa'iidayso/multi/handler module. Waxa ugu muhiimsan waa in la dejiyo culeyska saxda ah, tusaale ahaan, generic/shell/reverce_tcp ama generic/shell/bind_tcp. Qolofka laga helo Metasploit waxaa loo cusboonaysiin karaa Meterpreter iyadoo la adeegsanayo moduleka boostada/multi/maamulka/shell_to_meterpreter. Adigoo isticmaalaya Meterpreter, waxaad otomaatig u noqon kartaa nidaamka ka faa'iidaysiga kadib. Tusaale ahaan, qaybta boostada/multi/recon/local_exploit_suggester waxay hubisaa goobta, qaab-dhismeedka, iyo hay'adaha laga faa'iidaysan karo waxayna soo jeedinayaan qaybaha Metasploit ee kor u qaadista mudnaanta nidaamka bartilmaameedka. Thanks to Meterpreter, mudnaanta mudnaanta mararka qaarkood waxay hoos ugu dhacdaa socodsiinta moduleka saxda ah, laakiin jabsiga adigoon fahmin waxa ka dhacaya daboolka hoostiisa run maaha (wali waa inaad qortaa warbixin).

Tools

Qalabka si otomaatig ah u ururinta macluumaadka maxalliga ah ayaa kaa badbaadin doona dadaal badan iyo waqti, laakiin laftooda ma awoodaan inay si buuxda u gartaan dariiqa kordhinta mudnaanta, gaar ahaan haddii laga faa'iidaysto dayacanka kernel-ka. Qalabka otomaatiga ah ayaa fulin doona dhammaan amarrada lagama maarmaanka ah si aad u ururiso macluumaadka ku saabsan nidaamka, laakiin sidoo kale waa muhiim inaad awood u yeelatid falanqee xogta helay. Waxaan rajeynayaa in maqaalkeyga uu ku anfici doono tan. Dabcan, waxaa jira qalab badan oo ka badan inta aan hoos ku taxan doono, laakiin dhammaantood waxay sameeyaan wax isku mid ah - waa arrin dhadhan badan.

Linpeas

Qalab cusub oo cadaalad ah, ballan-qaadka ugu horreeya wuxuu ku taariikhaysan yahay Janaayo 2019. Hadda qalabka aan jeclahay. Xariiqda hoose waa in ay muujiso faa'iidooyinka kor u qaadista mudnaanta ugu xiisaha badan. Ogow, way ka habboon tahay in la helo qiimayn khabiir ah oo heerkan ah intii la falanqayn lahaa xogta cayriin ee monolithic.

LineEnum

Qalabkayga labaad ee aan jeclahay, sidoo kale wuxuu ururiyaa oo habeeyaa xogta la helay natiijada tirinta maxalliga ah.

linux-ka faa'iidaysi-soo jeedin (1,2)

Ka faa'iidaysigani wuxuu lafaguri doonaa nidaamka xaaladaha ku habboon ka faa'iidaysiga. Dhab ahaantii, waxay qaban doontaa shaqo la mid ah qaybta Metasploit local_exploit_suggester, laakiin waxay bixin doontaa xiriirinta ka faa'iidaysiga-db codes halkii ay ka ahaan lahayd qaybaha Metasploit.

Linuxprivchecker

Qoraalkani waxa uu ururin doonaa oo habayn doonaa qaybo badan oo macluumaad ah oo waxtar u yeelan kara samaynta mudnaanta sare u qaadida.

Mar kale ayaan faahfaahin doonaa Kordhinta mudnaanta Linux iyada oo loo marayo suid/sgid.

Source: www.habr.com

Add a comment