Linux Forensics
Last updated
Last updated
Tumia Trickest kujenga na kujiendesha kwa urahisi kazi zinazotumiwa na zana za jamii zilizoendelea zaidi duniani. Pata Ufikiaji Leo:
Kwanza kabisa, inapendekezwa kuwa na USB yenye binaries na maktaba zinazojulikana vizuri (unaweza tu kupata ubuntu na nakala za folda /bin, /sbin, /lib, na /lib64), kisha pandisha USB, na badilisha mabadiliko ya mazingira kutumia binaries hizo:
Mara tu umepanga mfumo kutumia binaries nzuri na zinazojulikana unaweza kuanza kuchota taarifa za msingi:
Wakati wa kupata taarifa za msingi unapaswa kuangalia mambo ya ajabu kama:
Mchakato wa Root kawaida huendesha na PIDS za chini, hivyo ikiwa utapata mchakato wa root wenye PID kubwa unaweza kushuku
Angalia kuingia kwa watumiaji waliojiandikisha bila shell ndani ya /etc/passwd
Angalia hash za nywila ndani ya /etc/shadow
kwa watumiaji bila shell
Ili kupata kumbukumbu ya mfumo unaoendesha, inashauriwa kutumia LiME. Ili kuandika hiyo, unahitaji kutumia kernel sawa ambayo mashine ya mwathirika inatumia.
Kumbuka kwamba huwezi kufunga LiME au kitu kingine chochote kwenye mashine ya mwathirika kwani itafanya mabadiliko kadhaa
Hivyo, ikiwa una toleo sawa la Ubuntu unaweza kutumia apt-get install lime-forensics-dkms
Katika hali nyingine, unahitaji kupakua LiME kutoka github na kuandika kwa kutumia vichwa sahihi vya kernel. Ili kupata vichwa sahihi vya kernel vya mashine ya mwathirika, unaweza tu kunakili saraka /lib/modules/<kernel version>
kwenye mashine yako, na kisha kuandika LiME kwa kutumia hizo:
LiME inasaidia format 3:
Raw (sehemu zote zimeunganishwa pamoja)
Padded (sawa na raw, lakini na sifuri katika bits za kulia)
Lime (format inayopendekezwa yenye metadata)
LiME pia inaweza kutumika kutuma dump kupitia mtandao badala ya kuihifadhi kwenye mfumo kwa kutumia kitu kama: path=tcp:4444
Kwanza kabisa, utahitaji kuzima mfumo. Hii si chaguo kila wakati kwani wakati mwingine mfumo utakuwa seva ya uzalishaji ambayo kampuni haiwezi kumudu kuzima.
Kuna njia 2 za kuzima mfumo, kuzima kawaida na "kuvuta plug" kuzima. Ya kwanza itaruhusu mchakato kumalizika kama kawaida na filesystem kuwa synchronized, lakini pia itaruhusu malware inay posible kuharibu ushahidi. Njia ya "kuvuta plug" inaweza kuleta kupoteza taarifa (sio nyingi za taarifa zitapotea kwani tayari tumepata picha ya kumbukumbu) na malware haitakuwa na fursa yoyote ya kufanya chochote kuhusu hilo. Hivyo, ikiwa unadhani kuna malware, tekeleza tu amri ya sync
kwenye mfumo na uvute plug.
Ni muhimu kutambua kwamba kabla ya kuunganisha kompyuta yako na chochote kinachohusiana na kesi, unahitaji kuwa na uhakika kwamba itakuwa imewekwa kama kusoma tu ili kuepuka kubadilisha taarifa yoyote.
Kuchora picha ya diski bila data zaidi.
Tumia Trickest kujenga na kujiendesha kiotomatiki kazi kwa urahisi kwa kutumia zana za jamii zilizoendelea zaidi duniani. Pata Ufikiaji Leo:
Linux inatoa zana za kuhakikisha uaminifu wa vipengele vya mfumo, muhimu kwa kugundua faili zinazoweza kuwa na matatizo.
Mifumo ya RedHat: Tumia rpm -Va
kwa ukaguzi wa kina.
Mifumo ya Debian: dpkg --verify
kwa uthibitisho wa awali, ikifuatiwa na debsums | grep -v "OK$"
(baada ya kufunga debsums
kwa apt-get install debsums
) ili kubaini matatizo yoyote.
Soma ukurasa ufuatao kujifunza kuhusu zana ambazo zinaweza kuwa na manufaa katika kutafuta malware:
Malware AnalysisIli kutafuta kwa ufanisi programu zilizowekwa kwenye mifumo ya Debian na RedHat, fikiria kutumia kumbukumbu za mfumo na hifadhidata pamoja na ukaguzi wa mikono katika directories za kawaida.
Kwa Debian, angalia /var/lib/dpkg/status
na /var/log/dpkg.log
kupata maelezo kuhusu usakinishaji wa pakiti, ukitumia grep
kuchuja taarifa maalum.
Watumiaji wa RedHat wanaweza kuuliza hifadhidata ya RPM kwa rpm -qa --root=/mntpath/var/lib/rpm
ili orodhesha pakiti zilizowekwa.
Ili kugundua programu zilizowekwa kwa mikono au nje ya wasimamizi hawa wa pakiti, chunguza directories kama /usr/local
, /opt
, /usr/sbin
, /usr/bin
, /bin
, na /sbin
. Changanya orodha za directories na amri maalum za mfumo ili kubaini executable zisizohusishwa na pakiti zinazojulikana, kuboresha utafutaji wako wa programu zote zilizowekwa.
Tumia Trickest kujenga na kujiendesha kwa urahisi kazi zinazotumiwa na zana za jamii zilizoendelea zaidi duniani. Pata Ufikiaji Leo:
Fikiria mchakato ambao ulitekelezwa kutoka /tmp/exec na kisha kufutwa. Inawezekana kuutoa
Njia ambapo malware inaweza kuwekwa kama huduma:
/etc/inittab: Inaita skripti za kuanzisha kama rc.sysinit, ikielekeza zaidi kwenye skripti za kuanzisha.
/etc/rc.d/ na /etc/rc.boot/: Zina skripti za kuanzisha huduma, ya pili ikipatikana katika matoleo ya zamani ya Linux.
/etc/init.d/: Inatumika katika matoleo fulani ya Linux kama Debian kwa kuhifadhi skripti za kuanzisha.
Huduma zinaweza pia kuanzishwa kupitia /etc/inetd.conf au /etc/xinetd/, kulingana na toleo la Linux.
/etc/systemd/system: Katalogi ya skripti za meneja wa mfumo na huduma.
/etc/systemd/system/multi-user.target.wants/: Inashikilia viungo vya huduma ambazo zinapaswa kuanzishwa katika kiwango cha kuendesha watumiaji wengi.
/usr/local/etc/rc.d/: Kwa huduma za kawaida au za wahusika wengine.
~/.config/autostart/: Kwa programu za kuanzisha kiotomatiki maalum kwa mtumiaji, ambazo zinaweza kuwa mahali pa kuficha malware inayolenga watumiaji.
/lib/systemd/system/: Faili za kitengo za kawaida za mfumo zinazotolewa na pakiti zilizowekwa.
Moduli za kernel za Linux, mara nyingi hutumiwa na malware kama sehemu za rootkit, zinawekwa wakati wa kuanzisha mfumo. Katalogi na faili muhimu kwa moduli hizi ni pamoja na:
/lib/modules/$(uname -r): Inashikilia moduli za toleo la kernel linaloendesha.
/etc/modprobe.d: Inashikilia faili za usanidi kudhibiti upakiaji wa moduli.
/etc/modprobe na /etc/modprobe.conf: Faili za mipangilio ya kimataifa ya moduli.
Linux inatumia faili mbalimbali kwa kutekeleza programu kiotomatiki wakati wa kuingia kwa mtumiaji, ambayo inaweza kuwa na malware:
/etc/profile.d/*, /etc/profile, na /etc/bash.bashrc: Zinatekelezwa kwa kuingia kwa mtumiaji yeyote.
~/.bashrc, ~/.bash_profile, ~/.profile, na ~/.config/autostart: Faili maalum za mtumiaji zinazotekelezwa wakati wa kuingia kwao.
/etc/rc.local: Inatekelezwa baada ya huduma zote za mfumo kuanzishwa, ikionyesha mwisho wa mpito kwenda mazingira ya watumiaji wengi.
Mifumo ya Linux inafuatilia shughuli za watumiaji na matukio ya mfumo kupitia faili mbalimbali za kumbukumbu. Kumbukumbu hizi ni muhimu kwa kutambua ufikiaji usioidhinishwa, maambukizi ya malware, na matukio mengine ya usalama. Faili muhimu za kumbukumbu ni pamoja na:
/var/log/syslog (Debian) au /var/log/messages (RedHat): Huhifadhi ujumbe na shughuli za mfumo mzima.
/var/log/auth.log (Debian) au /var/log/secure (RedHat): Huhifadhi majaribio ya uthibitishaji, kuingia kwa mafanikio na yasiyofanikiwa.
Tumia grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log
kuchuja matukio muhimu ya uthibitishaji.
/var/log/boot.log: Inashikilia ujumbe wa kuanzisha mfumo.
/var/log/maillog au /var/log/mail.log: Huhifadhi shughuli za seva ya barua pepe, muhimu kwa kufuatilia huduma zinazohusiana na barua pepe.
/var/log/kern.log: Huhifadhi ujumbe wa kernel, ikiwa ni pamoja na makosa na onyo.
/var/log/dmesg: Inashikilia ujumbe wa madereva ya vifaa.
/var/log/faillog: Huhifadhi majaribio ya kuingia yasiyofanikiwa, kusaidia katika uchunguzi wa uvunjaji wa usalama.
/var/log/cron: Huhifadhi utekelezaji wa kazi za cron.
/var/log/daemon.log: Inafuatilia shughuli za huduma za nyuma.
/var/log/btmp: Huhifadhi majaribio ya kuingia yasiyofanikiwa.
/var/log/httpd/: Inashikilia kumbukumbu za makosa na ufikiaji wa Apache HTTPD.
/var/log/mysqld.log au /var/log/mysql.log: Huhifadhi shughuli za hifadhidata ya MySQL.
/var/log/xferlog: Huhifadhi uhamishaji wa faili za FTP.
/var/log/: Daima angalia kumbukumbu zisizotarajiwa hapa.
Kumbukumbu za mfumo wa Linux na mifumo ya ukaguzi zinaweza kuzuiwa au kufutwa katika uvamizi au tukio la malware. Kwa sababu kumbukumbu kwenye mifumo ya Linux kwa ujumla zina taarifa muhimu zaidi kuhusu shughuli za uhalifu, wavamizi mara nyingi huzifuta. Hivyo, wakati wa kuchunguza faili za kumbukumbu zilizopo, ni muhimu kutafuta mapengo au kuingia zisizo za kawaida ambazo zinaweza kuwa dalili za kufutwa au kuingilia.
Linux inahifadhi historia ya amri kwa kila mtumiaji, iliyohifadhiwa katika:
~/.bash_history
~/.zsh_history
~/.zsh_sessions/*
~/.python_history
~/.*_history
Zaidi ya hayo, amri ya last -Faiwx
inatoa orodha ya kuingia kwa watumiaji. Angalia kwa kuingia zisizojulikana au zisizotarajiwa.
Angalia faili ambazo zinaweza kutoa rprivileges za ziada:
Kagua /etc/sudoers
kwa rprivileges za mtumiaji zisizotarajiwa ambazo zinaweza kuwa zimetolewa.
Kagua /etc/sudoers.d/
kwa rprivileges za mtumiaji zisizotarajiwa ambazo zinaweza kuwa zimetolewa.
Chunguza /etc/groups
ili kubaini uanachama wa vikundi au ruhusa zisizo za kawaida.
Chunguza /etc/passwd
ili kubaini uanachama wa vikundi au ruhusa zisizo za kawaida.
Baadhi ya programu pia zinaweza kuunda kumbukumbu zake:
SSH: Chunguza ~/.ssh/authorized_keys na ~/.ssh/known_hosts kwa uhusiano wa mbali usioidhinishwa.
Gnome Desktop: Angalia ~/.recently-used.xbel kwa faili zilizofikiwa hivi karibuni kupitia programu za Gnome.
Firefox/Chrome: Angalia historia ya kivinjari na upakuaji katika ~/.mozilla/firefox au ~/.config/google-chrome kwa shughuli za kushangaza.
VIM: Kagua ~/.viminfo kwa maelezo ya matumizi, kama vile njia za faili zilizofikiwa na historia ya utafutaji.
Open Office: Angalia ufikiaji wa hati za hivi karibuni ambazo zinaweza kuashiria faili zilizovunjwa.
FTP/SFTP: Kagua kumbukumbu katika ~/.ftp_history au ~/.sftp_history kwa uhamishaji wa faili ambao unaweza kuwa usioidhinishwa.
MySQL: Chunguza ~/.mysql_history kwa maswali ya MySQL yaliyotekelezwa, ambayo yanaweza kufichua shughuli zisizoidhinishwa za hifadhidata.
Less: Changanua ~/.lesshst kwa historia ya matumizi, ikiwa ni pamoja na faili zilizotazamwa na amri zilizotekelezwa.
Git: Chunguza ~/.gitconfig na mradi .git/logs kwa mabadiliko ya hifadhidata.
usbrip ni kipande kidogo cha programu kilichoandikwa kwa Python 3 safi ambacho kinachambua faili za kumbukumbu za Linux (/var/log/syslog*
au /var/log/messages*
kulingana na distro) kwa ajili ya kujenga meza za historia ya matukio ya USB.
Ni muhimu kujua USB zote ambazo zimekuwa zikitumika na itakuwa na manufaa zaidi ikiwa una orodha iliyoidhinishwa ya USB ili kupata "matukio ya ukiukaji" (matumizi ya USB ambazo ziko nje ya orodha hiyo).
More examples and info inside the github: https://github.com/snovvcrash/usbrip
Tumia Trickest kujenga na kujiendesha kiotomatiki kazi kwa urahisi kwa kutumia zana za jamii zilizoendelea zaidi duniani. Pata Ufikiaji Leo:
Chunguza /etc/passwd, /etc/shadow na rekodi za usalama kwa majina au akaunti zisizo za kawaida zilizoundwa na au kutumika karibu na matukio yasiyoidhinishwa yanayojulikana. Pia, angalia mashambulizi ya sudo brute-force yanayoweza kutokea. Zaidi ya hayo, angalia faili kama /etc/sudoers na /etc/groups kwa ruhusa zisizotarajiwa zilizotolewa kwa watumiaji. Hatimaye, tafuta akaunti zenye hakuna nywila au nywila zinazoweza kukisiwa kwa urahisi.
Wakati wa kuchunguza matukio ya malware, muundo wa mfumo wa faili ni chanzo muhimu cha taarifa, kinachoonyesha mfululizo wa matukio na maudhui ya malware. Hata hivyo, waandishi wa malware wanatengeneza mbinu za kuzuia uchambuzi huu, kama vile kubadilisha muda wa faili au kuepuka mfumo wa faili kwa ajili ya uhifadhi wa data.
Ili kupambana na mbinu hizi za kupambana na uchunguzi, ni muhimu:
Fanya uchambuzi wa kina wa muda kwa kutumia zana kama Autopsy kwa ajili ya kuonyesha mfululizo wa matukio au Sleuth Kit's mactime
kwa data ya kina ya muda.
Chunguza skripti zisizotarajiwa katika $PATH ya mfumo, ambazo zinaweza kujumuisha skripti za shell au PHP zinazotumiwa na washambuliaji.
Kagua /dev
kwa faili zisizo za kawaida, kwani kawaida ina faili maalum, lakini inaweza kuwa na faili zinazohusiana na malware.
Tafuta faili au saraka zilizofichwa zenye majina kama ".. " (dot dot space) au "..^G" (dot dot control-G), ambazo zinaweza kuficha maudhui mabaya.
Tambua faili za setuid root kwa kutumia amri: find / -user root -perm -04000 -print
Hii inapata faili zenye ruhusa za juu, ambazo zinaweza kutumiwa vibaya na washambuliaji.
Kagua muda wa kufuta katika meza za inode ili kugundua kufutwa kwa faili kwa wingi, ambayo inaweza kuashiria uwepo wa rootkits au trojans.
Kagua inodes zinazofuatana kwa faili mbaya karibu baada ya kubaini moja, kwani zinaweza kuwa zimewekwa pamoja.
Angalia saraka za kawaida za binary (/bin, /sbin) kwa faili zilizobadilishwa hivi karibuni, kwani hizi zinaweza kubadilishwa na malware.
Kumbuka kwamba mshambuliaji anaweza kubadilisha wakati ili kufanya faili kuonekana halali, lakini hawezi kubadilisha inode. Ikiwa unapata kwamba faili inaonyesha kwamba iliumbwa na kubadilishwa kwa wakati mmoja na faili zingine katika folda hiyo hiyo, lakini inode ni kubwa zaidi kwa kushtukiza, basi alama za wakati za faili hiyo zilibadilishwa.
Ili kulinganisha toleo la mfumo wa faili na kubaini mabadiliko, tunatumia amri rahisi za git diff
:
Ili kupata faili mpya, linganisha directories mbili:
Kwa yaliyobadilishwa, orodhesha mabadiliko huku ukipuuza mistari maalum:
Ili kugundua faili zilizofutwa:
Chaguo za kuchuja (--diff-filter
) husaidia kupunguza hadi mabadiliko maalum kama vile faili zilizoongezwa (A
), kufutwa (D
), au kubadilishwa (M
).
A
: Faili zilizoongezwa
C
: Faili zilizokopiwa
D
: Faili zilizofutwa
M
: Faili zilizobadilishwa
R
: Faili zilizobadilishwa jina
T
: Mabadiliko ya aina (mfano, faili hadi symlink)
U
: Faili zisizojumuishwa
X
: Faili zisizojulikana
B
: Faili zilizovunjika
Kitabu: Mwongozo wa Upelelezi wa Malware kwa Mifumo ya Linux: Mwongozo wa Upelelezi wa Kidijitali
Tumia Trickest kujenga na kujiendesha kwa urahisi kwa kutumia zana za jamii za kisasa zaidi duniani. Pata Ufikiaji Leo:
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)