Możesz w sposób bardziej jednoznaczny zadać pytanie? Z tego co wątek zapowiada - nic nie wynika.
Pakiet debsums, choć bardziej zaawansowany malware potrafi dla takich narzędzi pokazać oryginalny pilik.
Suma kontrolna może być w tym przypadku myląca (jeśli nie miałem jej gdzieś zapisanej tuż po świeżej instalacji systemu z oficjalnego źródła).
Zgaduje ze myląca masz na mysli zainstalowanie np. rkhunter , AIDE , ... i stworzenie bazy poczatkowej.
Dlatego zainfekowane systemy sprawdza się innym systemem np. z live-cd.Możesz np. napisać sobie skrypt w bash-u który pobierze każdy pakiet po kolei, sprawdzajac każdy plik hashem lub bit po bicie.
# locate ls | grep "bin/ls"$/bin/ls/usr/lib/klibc/bin/ls## Sam sie zdziwiłem ze mam dwa pliki ls w systemie :D Wiec dla pewności sprawdziłem który plik uruchamiam.# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games## Dla pewności sprawdziłem także na koncie użytkownika, więc wpisując ls w terminalu wykonuję komendę tylko /bin/ls# dpkg -S /bin/lscoreutils: /bin/ls# dpkg -s coreutilsPackage: coreutils...Architecture: amd64Version: 8.28-1ubuntu1...## Teraz wiem ze komenda pochodzi z pakietu coreutils## W linku wyżej wspomniana jest ścieżka /var/lib/dpkg/info/# ls /var/lib/dpkg/info/ | grep ^coreutilscoreutils.listcoreutils.md5sumscoreutils.postinstcoreutils.postrm# cat /var/lib/dpkg/info/coreutils.md5sums749bda6cb12341b7c83c5bb45579201a bin/cat...931606baaa7a2b4ef61198406f8fc3f4 bin/ls...## Czyli mam w systemie listę plików i ich hash-e (tylko md5).## Nowsze algorytmy znalazłem tylko samych pakietów, w nieskompresowanych bazach danych w ścieżce /var/lib/apt/lists/ (SHA1, SHA256)## o czym wspomina inny link$ grep -ri "Package: coreutils" /var/lib/apt/lists/ .../var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages:Package: coreutils## Choć to nie sugeruje na 100% linku, to znalazłem podobieństwo do http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-amd64/# grep -A18 "Package: coreutils" /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_PackagesPackage: coreutils...Filename: pool/main/c/coreutils/coreutils_8.28-1ubuntu1_amd64.debSize: 1230832MD5sum: 7d95d8dbaca7e89694e63ea4aa907c55SHA1: 297d10f91608486816dddfa439a308bb9e3361c8SHA256: 24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f## Pobieram$ curl -O http://archive.ubuntu.com/ubuntu/pool/main/c/coreutils/coreutils_8.28-1ubuntu1_amd64.deb % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 1201k 100 1201k 0 0 2013k 0 --:--:-- --:--:-- --:--:-- 2010k## Moze warto sprawdzic pobrany, czego wczesniej nie zrobilem, w tym celu musze stworzyc hash z plikusha256sum coreutils_8.28-1ubuntu1_amd64.deb24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f coreutils_8.28-1ubuntu1_amd64.deb## I porównać ten hash z hashem z tym znalezionym w systemie $ [[ 24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f == 24541a48e25dfb17c98ce77dda61800e6cd68d74c25725753613fbcc00f2418f ]] && echo OK || echo NOTOK## *Rozpakowuje plik (sprawdzilem wczesniej gdzie on jest)$ ar vx coreutils_8.28-1ubuntu1_amd64.deb$ tar -xf data.tar.xz "./bin/ls"Sprawdzam md5 $ md5sum ./bin/ls931606baaa7a2b4ef61198406f8fc3f4 ./bin/ls## *Info: " ./bin/ls " to mój rozpakowany plik ls## *Info: Skoro pobraliśmy pakiet, to możemy zamiast md5 użyć dowolnie inny algorytm np. sha256. Ja niżej użyłem md5## Generujemy dla /bin/ls $ md5sum /bin/ls931606baaa7a2b4ef61198406f8fc3f4 /bin/ls## Porownalem oba hashe korzystajac z basha$ [[ 931606baaa7a2b4ef61198406f8fc3f4 == 931606baaa7a2b4ef61198406f8fc3f4 ]] && echo OK || echo "sa nie jednakowe"OK## Być może nie musiałem pobierać paczki, ale nie wiem czy i gdzie są sumy md5 plików w repozytorium.## Gdy chcę porównać pliki ...## Niżej ( cmp - compare two files byte by byte / diff - compare files line by line )## INFO: użyłem komendy diff w przykładzie, ale zasadniczo bardziej polecam cmp.$ cmp /bin/ls /home/user/bin/ls$ $ diff -s /bin/ls /home/user/bin/lsPliki /bin/ls i /home/user/bin/ls są identyczne
Pytanie wydaje mi się "w miarę proste" i pewnie oczekiwano także prostej odpowiedzi.
Przyszła mi może głupia, ale prosta metoda sprawdzenia do łba.Wygeneruj sobie md5sums, czy sha256 dla podejrzanego pliku na dysku.Na "bezpiecznym" (czyli takim, gdzie nie masz żadnych podejrzeń) komputerze ściągnij paczkę zawierającą ten plik, w tej samej wersji, co masz w systemie, rozpakuj ją, wygeneruj taką samą sumę - porównaj. Sumy winny być identyczne.
No bo np. jeśli podejrzewamy, że jest coś nie tak to mogli byśmy bacznie obserwować ruch/port/pid i zobaczyć, czy podejrzany proces nawiązywał jakieś połączanie do serwera zewnętrznego.
Komendy pozwalają na wiele, ale nie które z nich nie działają w czasie rzeczywistym lub ciężko uchwycić zmianęnp. jeśli będę chciał uchwycić nazwę pliku używanego przez dany proces lub wyłapać pakiet internetowy jakąś komendą,to ta nazwa / informacja może przelecieć szybciej niż będę wstanie wyłapać to innym programem, dlatego istotne jest współpracowanie z kernelem aby się tak nie stało.
Jeśli uważam że komenda /bin/ls jest zainfekowana, to równie dobrze mogę przypuszczać żektoś lub coś miało dostęp do dowolnego pliku w systemie.