Linux Forensics
Tumia Trickest kujenga na kutumia workflows kwa urahisi zinazotumia zana za jamii ya juu zaidi duniani. Pata Ufikiaji Leo:
Kukusanya Taarifa za Awali
Taarifa za Msingi
Kwanza kabisa, ni vyema kuwa na USB na binari na maktaba bora zilizojulikana (unaweza tu kupata ubuntu na kunakili folda /bin, /sbin, /lib, na /lib64), kisha funga USB, na badilisha mazingira ya env kutumia hizo binari:
Baada ya kuiwezesha mfumo kutumia programu za msingi na zilizojulikana unaweza kuanza kuchambua taarifa za msingi:
Taarifa za Mashaka
Wakati unapopata taarifa za msingi unapaswa kuangalia mambo ya ajabu kama vile:
Mchakato wa Root kawaida hufanya kazi na PIDS ndogo, hivyo ikiwa utapata mchakato wa root na PID kubwa unaweza kuwa na shaka
Angalia kuingia kwa usajili wa watumiaji bila ganda ndani ya
/etc/passwd
Angalia hashi za nywila ndani ya
/etc/shadow
kwa watumiaji bila ganda
Kudumpisha Kumbukumbu
Ili kupata kumbukumbu ya mfumo unaoendesha, ni vyema kutumia LiME. Ili kuichambua, unahitaji kutumia kernel sawa na ule wa mashine ya mwathirika.
Kumbuka kuwa huwezi kufunga LiME au kitu kingine chochote kwenye mashine ya mwathirika kwani itafanya mabadiliko kadhaa kwake
Hivyo, ikiwa una toleo linalofanana na Ubuntu unaweza kutumia apt-get install lime-forensics-dkms
Katika hali nyingine, unahitaji kupakua LiME kutoka github na kuichambua na vichwa sahihi vya kernel. Ili kupata vichwa sahihi vya kernel vya mashine ya mwathirika, unaweza tu kuchora saraka /lib/modules/<toleo la kernel>
kwenye mashine yako, kisha kuichambua LiME kwa kuitumia:
LiME inasaidia muundo 3:
Raw (kila sehemu zimeunganishwa pamoja)
Padded (sawa na raw, lakini na sifuri kwenye bits sahihi)
Lime (muundo uliopendekezwa na metadata)
LiME pia inaweza kutumika kutuma dump kupitia mtandao badala ya kuihifadhi kwenye mfumo kwa kutumia kitu kama: path=tcp:4444
Uchoraji wa Diski
Kuzima
Kwanza kabisa, utahitaji kuzima mfumo. Hii sio chaguo kila wakati kwani mara nyingine mfumo utakuwa server wa uzalishaji ambao kampuni haiwezi kumudu kuzima.
Kuna njia 2 za kuzima mfumo, kuzima kawaida na kuzima kwa kutelekeza umeme. Ya kwanza itaruhusu mchakato kumalizika kama kawaida na mfumo wa faili kusawazishwa, lakini pia itaruhusu programu hasidi kuharibu usahihi. Kufanya kwa kutelekeza umeme kunaweza kusababisha upotevu wa baadhi ya taarifa (sio nyingi ya taarifa itapotea kwani tayari tulichukua picha ya kumbukumbu) na programu hasidi haitakuwa na fursa ya kufanya chochote kuhusu hilo. Kwa hivyo, ikiwa una shaka kwamba kunaweza kuwa na programu hasidi, tekeleza tu amri ya sync
kwenye mfumo na kutelekeza umeme.
Kuchukua picha ya diski
Ni muhimu kutambua kwamba kabla ya kuunganisha kompyuta yako na chochote kinachohusiana na kesi, lazima uhakikishe kuwa itakuwa imeunganishwa kama soma tu ili kuepuka kuhariri taarifa yoyote.
Uchambuzi wa Awali wa Picha ya Diski
Kuiga picha ya diski bila data zaidi.
Tumia Trickest kujenga na kutumia workflows kwa urahisi zaidi yaliyotengenezwa na zana za jamii yenye maendeleo zaidi duniani. Pata Ufikiaji Leo:
Tafuta Malware Inayojulikana
Faili za Mfumo Zilizobadilishwa
Linux inatoa zana za kuhakikisha uadilifu wa vipengele vya mfumo, muhimu kwa kutambua faili zenye matatizo.
Mifumo ya RedHat: Tumia
rpm -Va
kwa uchunguzi kamili.Mifumo ya Debian:
dpkg --verify
kwa uhakiki wa awali, kishadebsums | grep -v "OK$"
(baada ya kusakinishadebsums
kwa kutumiaapt-get install debsums
) kutambua masuala yoyote.
Zana za Kugundua Malware/Rootkit
Soma ukurasa ufuatao kujifunza kuhusu zana zinazoweza kuwa na manufaa katika kutambua malware:
pageMalware AnalysisTafuta Programu Zilizosakinishwa
Kutafuta kwa ufanisi programu zilizosakinishwa kwenye mifumo ya Debian na RedHat, fikiria kutumia nyaraka za mfumo na matabazi pamoja na uchunguzi wa mikono kwenye saraka za kawaida.
Kwa Debian, angalia
/var/lib/dpkg/status
na/var/log/dpkg.log
kupata maelezo kuhusu usakinishaji wa pakiti, kutumiagrep
kufanya uchujaji wa habari maalum.Watumiaji wa RedHat wanaweza kuuliza matabazi ya RPM kwa kutumia
rpm -qa --root=/mntpath/var/lib/rpm
kuorodhesha pakiti zilizosakinishwa.
Kugundua programu zilizosakinishwa kwa mkono au nje ya mameneja haya ya pakiti, chunguza saraka kama /usr/local
, /opt
, /usr/sbin
, /usr/bin
, /bin
, na /sbin
. Changanya orodha za saraka na amri maalum za mfumo kutambua programu za kutekelezwa ambazo hazihusiani na pakiti zinazojulikana, kuimarisha utafutaji wako wa programu zote zilizosakinishwa.
Tumia Trickest kujenga na kutumia mchakato kwa urahisi kutumia zana za jamii ya juu zaidi duniani. Pata Ufikiaji Leo:
Rudisha Programu za Kutekelezwa Zilizofutwa
Waza mchakato uliotekelezwa kutoka /tmp/exec na kisha kufutwa. Inawezekana kuzitoa
Angalia Vituo vya Kuanza moja kwa moja
Kazi Zilizopangwa
Huduma
Njia ambapo programu hasidi inaweza kusakinishwa kama huduma:
/etc/inittab: Huita mipangilio ya awali kama rc.sysinit, ikiongoza kwa mipangilio ya kuanza.
/etc/rc.d/ na /etc/rc.boot/: Ina skripti za kuanzisha huduma, ya mwisho ikipatikana kwenye toleo za zamani za Linux.
/etc/init.d/: Hutumiwa katika toleo fulani za Linux kama Debian kwa kuhifadhi skripti za kuanza.
Huduma pia inaweza kuamilishwa kupitia /etc/inetd.conf au /etc/xinetd/, kulingana na toleo la Linux.
/etc/systemd/system: Daktari kwa skripti za mfumo na msimamizi wa huduma.
/etc/systemd/system/multi-user.target.wants/: Ina viungo kwa huduma zinazopaswa kuanza katika kiwango cha kukimbia kwa watumiaji wengi.
/usr/local/etc/rc.d/: Kwa huduma za desturi au za mtu wa tatu.
~/.config/autostart/: Kwa programu za kuanza moja kwa moja za mtumiaji, ambayo inaweza kuwa mahali pa kujificha kwa programu hasidi inayolenga mtumiaji.
/lib/systemd/system/: Faili za kitengo za chaguo-msingi za mfumo zinazotolewa na pakiti zilizosakinishwa.
Moduli za Kerneli
Moduli za kerneli za Linux, mara nyingi hutumiwa na programu hasidi kama sehemu za rootkit, hupakiwa wakati wa kuanza kwa mfumo. Miongozo na faili muhimu kwa moduli hizi ni pamoja na:
/lib/modules/$(uname -r): Inashikilia moduli za toleo la sasa la kerneli linalotumika.
/etc/modprobe.d: Ina faili za usanidi kudhibiti upakiaji wa moduli.
/etc/modprobe na /etc/modprobe.conf: Faili za mipangilio ya kawaida ya moduli.
Maeneo Mengine ya Kuanza Moja kwa Moja
Linux hutumia faili mbalimbali kutekeleza programu moja kwa moja wakati wa kuingia kwa mtumiaji, ikificha programu hasidi:
/etc/profile.d/*, /etc/profile, na /etc/bash.bashrc: Hutekelezwa kwa kuingia kwa mtumiaji yeyote.
~/.bashrc, ~/.bash_profile, ~/.profile, na ~/.config/autostart: Faili za mtumiaji maalum ambazo hutekelezwa wakati wa kuingia kwao.
/etc/rc.local: Hutekelezwa baada ya huduma zote za mfumo kuanza, ikimaanisha mwisho wa mpito kwenda mazingira ya watumiaji wengi.
Angalia Kumbukumbu
Mifumo ya Linux hufuatilia shughuli za mtumiaji na matukio ya mfumo kupitia faili mbalimbali za kumbukumbu. Kumbukumbu hizi ni muhimu kwa kutambua ufikiaji usiohalali, maambukizi ya programu hasidi, na matukio mengine ya usalama. Faili muhimu za kumbukumbu ni pamoja na:
/var/log/syslog (Debian) au /var/log/messages (RedHat): Hukamata ujumbe na shughuli za mfumo kwa ujumla.
/var/log/auth.log (Debian) au /var/log/secure (RedHat): Hurekodi majaribio ya uwakilishi, kuingia kwa mafanikio na kushindwa.
Tumia
grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log
kuchuja matukio muhimu ya uwakilishi./var/log/boot.log: Ina ujumbe wa kuanza kwa mfumo.
/var/log/maillog au /var/log/mail.log: Hurekodi shughuli za seva ya barua pepe, muhimu kwa kufuatilia huduma zinazohusiana na barua pepe.
/var/log/kern.log: Huhifadhi ujumbe wa kerneli, ikiwa ni pamoja na makosa na onyo.
/var/log/dmesg: Inashikilia ujumbe wa dereva wa kifaa.
/var/log/faillog: Hurekodi majaribio yaliyoshindwa ya kuingia, ikisaidia uchunguzi wa uvunjaji wa usalama.
/var/log/cron: Hurekodi utekelezaji wa kazi za cron.
/var/log/daemon.log: Hufuatilia shughuli za huduma za nyuma.
/var/log/btmp: Hati majaribio yaliyoshindwa ya kuingia.
/var/log/httpd/: Ina makosa ya Apache HTTPD na kumbukumbu za ufikiaji.
/var/log/mysqld.log au /var/log/mysql.log: Hurekodi shughuli za MySQL database.
/var/log/xferlog: Hurekodi uhamisho wa faili za FTP.
/var/log/: Daima angalia kumbukumbu zisizotarajiwa hapa.
Mifumo ya Linux inaweza kulemazwa au kufutwa kwenye kuingiliwa au tukio la programu hasidi. Kwa sababu kumbukumbu kwenye mifumo ya Linux kwa ujumla zina habari muhimu zaidi kuhusu shughuli za uovu, wachomaji mara kwa mara huifuta. Kwa hivyo, wakati wa kutathmini faili za kumbukumbu zilizopo, ni muhimu kutafuta mapengo au kuingiliwa kwa kuingia ambayo inaweza kuwa ishara ya kufutwa au kuharibiwa.
Linux inahifadhi historia ya amri kwa kila mtumiaji, iliyohifadhiwa katika:
~/.bash_history
~/.zsh_history
~/.zsh_sessions/*
~/.python_history
~/.*_history
Zaidi ya hayo, amri last -Faiwx
hutoa orodha ya kuingia kwa mtumiaji. Ichunguze kwa kuingia kwa kuingia au kuingia kwa kutarajia.
Angalia faili zinazoweza kutoa rprivileges zaidi:
Pitia
/etc/sudoers
kwa rprivileges za mtumiaji zisizotarajiwa ambazo zinaweza kuwa zimetolewa.Pitia
/etc/sudoers.d/
kwa rprivileges za mtumiaji zisizotarajiwa ambazo zinaweza kuwa zimetolewa.Angalia
/etc/groups
kutambua uanachama wa kikundi au ruhusa zisizotarajiwa.Angalia
/etc/passwd
kutambua uanachama wa kikundi au ruhusa zisizotarajiwa.
Baadhi ya programu pia huzalisha kumbukumbu zake:
SSH: Angalia ~/.ssh/authorized_keys na ~/.ssh/known_hosts kwa uhusiano wa mbali usioruhusiwa.
Gnome Desktop: Tazama ~/.recently-used.xbel kwa faili zilizo hivi karibuni kupitia programu za Gnome.
Firefox/Chrome: Angalia historia ya kivinjari na vipakuliwa katika ~/.mozilla/firefox au ~/.config/google-chrome kwa shughuli za shaka.
VIM: Pitia ~/.viminfo kwa maelezo ya matumizi, kama njia za faili zilizotembelewa na historia ya utafutaji.
Open Office: Angalia ufikiaji wa hivi karibuni wa hati ambazo zinaweza kuashiria faili zilizodhuriwa.
FTP/SFTP: Pitia kumbukumbu katika ~/.ftp_history au ~/.sftp_history kwa uhamisho wa faili ambao unaweza kuwa hauruhusiwi.
MySQL: Chunguza ~/.mysql_history kwa mizunguko iliyotekelezwa ya MySQL, ikifunua shughuli zisizoruhusiwa za database.
Less: Analiza ~/.lesshst kwa historia ya matumizi, ikiwa ni pamoja na faili zilizotazamwa na amri zilizotekelezwa.
Git: Angalia ~/.gitconfig na mradi .git/logs kwa mabadiliko kwenye hazina.
Kumbukumbu za USB
usbrip ni programu ndogo iliyoandikwa kwa Python 3 safi ambayo huchambua faili za kumbukumbu za Linux (/var/log/syslog*
au /var/log/messages*
kulingana na usambazaji) kwa kujenga meza za historia ya matukio ya USB.
Ni muhimu kujua USB zote zilizotumiwa na itakuwa na manufaa zaidi ikiwa una orodha iliyoruhusiwa ya USB za kupata "matukio ya uvunjaji" (matumizi ya USB ambazo sio ndani ya orodha hiyo).
Usakinishaji
Mifano
Zaidi ya mifano na habari ndani ya github: https://github.com/snovvcrash/usbrip
Tumia Trickest kujenga na kutumia mchakato wa kazi kwa kutumia zana za jamii ya juu zaidi duniani. Pata Ufikiaji Leo:
Pitia Akaunti za Mtumiaji na Shughuli za Kuingia
Chunguza /etc/passwd, /etc/shadow na magogo ya usalama kwa majina yasiyo ya kawaida au akaunti zilizoundwa au kutumika karibu na matukio yasiyoruhusiwa yanayojulikana. Pia, angalia mashambulizi ya sudo ya nguvu. Zaidi ya hayo, angalia faili kama /etc/sudoers na /etc/groups kwa mamlaka zisizotarajiwa zilizopewa watumiaji. Hatimaye, tafuta akaunti zenye bila nywila au nywila rahisi kudhani.
Chunguza Mfumo wa Faili
Uchambuzi wa Miundo ya Mfumo wa Faili katika Uchunguzi wa Programu Hasidi
Wakati wa kuchunguza matukio ya programu hasidi, muundo wa mfumo wa faili ni chanzo muhimu cha habari, kufunua mfululizo wa matukio na maudhui ya programu hasidi. Hata hivyo, waandishi wa programu hasidi wanakua mbinu za kuzuia uchambuzi huu, kama vile kubadilisha alama za muda wa faili au kuepuka mfumo wa faili kwa uhifadhi wa data.
Ili kupinga mbinu hizi za kuzuia uchunguzi wa kiforensiki, ni muhimu:
Fanya uchambuzi kamili wa muda kutumia zana kama Autopsy kwa kuona mfululizo wa matukio au
mactime
ya Sleuth Kit kwa data ya muda ya kina.Chunguza hati zisizotarajiwa katika $PATH ya mfumo, ambayo inaweza kuwa na hati za shell au PHP zinazotumiwa na wachomaji.
Tafuta
/dev
kwa faili za kawaida, kwani kawaida ina faili maalum, lakini inaweza kuwa na faili zinazohusiana na programu hasidi.Tafuta faili au saraka zilizofichwa zenye majina kama ".. " (dot dot space) au "..^G" (dot dot control-G), ambayo inaweza kuficha maudhui mabaya.
Tambua faili za setuid root kwa kutumia amri:
find / -user root -perm -04000 -print
Hii inapata faili zenye ruhusa zilizoongezeka, ambazo zinaweza kutumiwa vibaya na wachomaji.Pitia alama za kufutwa katika meza za inode ili kutambua kufutwa kwa faili nyingi, ikionyesha uwepo wa rootkits au trojans.
Kagua inode za mfululizo kwa faili mbaya karibu baada ya kutambua moja, kwani zinaweza kuwekwa pamoja.
Angalia saraka za binary za kawaida (/bin, /sbin) kwa faili zilizobadilishwa hivi karibuni, kwani hizi zinaweza kubadilishwa na programu hasidi.
Tafadhali kumbuka kwamba mshambuliaji anaweza kubadilisha muda ili kufanya faili zionekane halali, lakini hawezi kubadilisha inode. Ikiwa utagundua kwamba faili inaonyesha kwamba iliumbwa na kubadilishwa kwa wakati sawa na faili zingine kwenye folda ile ile, lakini inode ni kubwa kwa kushangaza, basi alama za wakati za faili hiyo zilibadilishwa.
Linganisha faili za toleo tofauti za mfumo wa faili
Muhtasari wa Linganisho la Matoleo ya Mfumo wa Faili
Ili kulinganisha matoleo ya mfumo wa faili na kugundua mabadiliko, tunatumia amri za git diff
zilizorahisishwa:
Kutafuta faili mpya, linganisha saraka mbili:
Kwa maudhui yaliyobadilishwa, orodhesha mabadiliko ukipuuza mistari maalum:
Kutambua faili zilizofutwa:
Chaguo za Kichuja (
--diff-filter
) husaidia kupunguza mabadiliko maalum kama vile faili zilizoongezwa (A
), zilizofutwa (D
), au zilizobadilishwa (M
).A
: Faili zilizoongezwaC
: Faili zilizokopiwaD
: Faili zilizofutwaM
: Faili zilizobadilishwaR
: Faili zilizobadilishwa jinaT
: Mabadiliko ya aina (k.m., faili kwenda kwa ishara ya symlink)U
: Faili zisizounganishwaX
: Faili zisizojulikanaB
: Faili zilizovunjika
Marejeo
Kitabu: Malware Forensics Field Guide for Linux Systems: Mwongozo wa Uchunguzi wa Kidijitali
Tumia Trickest kujenga na kutumia mifumo ya kazi kwa kutumia zana za jamii za juu zaidi duniani. Pata Upatikanaji Leo:
Last updated