Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witajcie
Od kilku dni zaobserwowałem dwa procesy kóre wykazują się dużą aktywnościa. Oba zaiinicjowane są przez użytkownika apache2. Ze zwględu na próbę upodobnienia się pierwszego do znanego procesu zaczęłem podejrzewać, ze to jakieś exploity albo coś. Googlowałem, próbowałem polecenia whereis i nic nie znalazłem. Czy mam się czym martwić?
30222 www-data 20 0 36432 6472 2188 S 3,0 0,3 180:11.28 perxg 13 root 20 0 0 0 0 S 2,3 0,0 3676:33 ksoftirqd/1 23417 www-data 20 0 36540 9656 3188 S 2,3 0,5 86:09.16 xargsu
Offline
lsof -p 23417 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME xargsu 23417 www-data cwd DIR 8,1 4096 2 / xargsu 23417 www-data rtd DIR 8,1 4096 2 / xargsu 23417 www-data txt REG 8,1 10416 2505177 /usr/bin/perl xargsu 23417 www-data mem REG 8,1 27136 2505158 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/File/Glob/Glob.so xargsu 23417 www-data mem REG 8,1 89368 2505152 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/POSIX/POSIX.so xargsu 23417 www-data mem REG 8,1 18632 2505159 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/Fcntl/Fcntl.so xargsu 23417 www-data mem REG 8,1 43408 2505151 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/Socket/Socket.so xargsu 23417 www-data mem REG 8,1 18728 2505154 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/IO/IO.so xargsu 23417 www-data mem REG 8,1 35176 3145783 /lib/x86_64-linux-gnu/libcrypt-2.19.so xargsu 23417 www-data mem REG 8,1 1738176 3145771 /lib/x86_64-linux-gnu/libc-2.19.so xargsu 23417 www-data mem REG 8,1 137384 3145734 /lib/x86_64-linux-gnu/libpthread-2.19.so xargsu 23417 www-data mem REG 8,1 1051056 3145850 /lib/x86_64-linux-gnu/libm-2.19.so xargsu 23417 www-data mem REG 8,1 14664 3145793 /lib/x86_64-linux-gnu/libdl-2.19.so xargsu 23417 www-data mem REG 8,1 1840056 2505139 /usr/lib/x86_64-linux-gnu/libperl.so.5.20.2 xargsu 23417 www-data mem REG 8,1 140928 3145755 /lib/x86_64-linux-gnu/ld-2.19.so xargsu 23417 www-data mem REG 8,1 147889 2495962 /usr/share/locale/pl/LC_MESSAGES/libc.mo xargsu 23417 www-data mem REG 8,1 1607760 2490520 /usr/lib/locale/locale-archive xargsu 23417 www-data mem REG 8,1 26258 2504791 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache xargsu 23417 www-data 0r CHR 1,3 0t0 1028 /dev/null xargsu 23417 www-data 1w CHR 1,3 0t0 1028 /dev/null xargsu 23417 www-data 2w CHR 1,3 0t0 1028 /dev/null xargsu 23417 www-data 6u IPv4 1057848099 0t0 UDP *:41656 xargsu 23417 www-data 7u IPv4 1057848271 0t0 UDP *:34505 xargsu 23417 www-data 8u IPv4 1057848283 0t0 UDP *:48993 xargsu 23417 www-data 11u IPv4 1057848287 0t0 UDP *:55138 xargsu 23417 www-data 13u IPv4 1057848268 0t0 UDP *:53635 xargsu 23417 www-data 16u IPv4 1057847260 0t0 UDP *:34530 xargsu 23417 www-data 18u IPv4 1057848299 0t0 UDP *:37987 xargsu 23417 www-data 22u IPv4 1057848289 0t0 UDP *:48874 xargsu 23417 www-data 23u IPv4 1057848321 0t0 UDP *:44256 xargsu 23417 www-data 24u IPv4 1057848088 0t0 UDP *:55194 xargsu 23417 www-data 28u IPv4 1057848267 0t0 UDP *:39562 xargsu 23417 www-data 29u IPv4 1057848269 0t0 UDP *:47378 xargsu 23417 www-data 32u IPv4 1057848098 0t0 UDP *:35399 xargsu 23417 www-data 33u IPv4 1057848305 0t0 UDP *:48976 xargsu 23417 www-data 35u IPv4 1057847265 0t0 UDP *:35142 xargsu 23417 www-data 36u IPv4 1057848315 0t0 UDP *:56532 xargsu 23417 www-data 37u IPv4 1057848300 0t0 UDP *:34711 xargsu 23417 www-data 40u IPv4 1057848316 0t0 UDP *:44348 xargsu 23417 www-data 41u IPv4 1057848301 0t0 UDP *:44237 xargsu 23417 www-data 42u IPv4 1057847261 0t0 UDP *:44157 xargsu 23417 www-data 43u IPv4 1057848285 0t0 UDP *:50614 xargsu 23417 www-data 47u IPv4 1057848317 0t0 UDP *:56401 xargsu 23417 www-data 54u IPv4 1057848241 0t0 UDP *:50639 xargsu 23417 www-data 55u IPv4 1057848257 0t0 UDP *:54794 xargsu 23417 www-data 65u IPv4 1057848251 0t0 UDP *:34527 xargsu 23417 www-data 66u IPv4 1057848253 0t0 UDP *:38135 xargsu 23417 www-data 79u IPv4 1057848383 0t0 UDP *:50377 xargsu 23417 www-data 80u IPv4 1057848384 0t0 UDP *:47726 xargsu 23417 www-data 81u IPv4 1057848385 0t0 UDP *:44888 xargsu 23417 www-data 85u IPv4 1057848389 0t0 UDP *:47024 xargsu 23417 www-data 103u IPv4 1057848536 0t0 TCP poczta:46306->etb-4.mail.tiscali.it:smtp (ESTABLISHED) xargsu 23417 www-data 109u IPv4 1057848537 0t0 TCP poczta:46307->etb-4.mail.tiscali.it:smtp (ESTABLISHED) xargsu 23417 www-data 110u IPv4 1057848538 0t0 TCP poczta:46308->etb-4.mail.tiscali.it:smtp (ESTABLISHED) [root@dns] /home/krzysztof # lsof -p 30222 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME perxg 30222 www-data cwd DIR 8,1 4096 2 / perxg 30222 www-data rtd DIR 8,1 4096 2 / perxg 30222 www-data txt REG 8,1 10416 2505177 /usr/bin/perl perxg 30222 www-data mem REG 8,1 27136 2505158 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/File/Glob/Glob.so perxg 30222 www-data mem REG 8,1 89368 2505152 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/POSIX/POSIX.so perxg 30222 www-data mem REG 8,1 18632 2505159 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/Fcntl/Fcntl.so perxg 30222 www-data mem REG 8,1 43408 2505151 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/Socket/Socket.so perxg 30222 www-data mem REG 8,1 18728 2505154 /usr/lib/x86_64-linux-gnu/perl/5.20.2/auto/IO/IO.so perxg 30222 www-data mem REG 8,1 35176 3145783 /lib/x86_64-linux-gnu/libcrypt-2.19.so perxg 30222 www-data mem REG 8,1 1738176 3145771 /lib/x86_64-linux-gnu/libc-2.19.so perxg 30222 www-data mem REG 8,1 137384 3145734 /lib/x86_64-linux-gnu/libpthread-2.19.so perxg 30222 www-data mem REG 8,1 1051056 3145850 /lib/x86_64-linux-gnu/libm-2.19.so perxg 30222 www-data mem REG 8,1 14664 3145793 /lib/x86_64-linux-gnu/libdl-2.19.so perxg 30222 www-data mem REG 8,1 1840056 2505139 /usr/lib/x86_64-linux-gnu/libperl.so.5.20.2 perxg 30222 www-data mem REG 8,1 140928 3145755 /lib/x86_64-linux-gnu/ld-2.19.so perxg 30222 www-data mem REG 8,1 147889 2495962 /usr/share/locale/pl/LC_MESSAGES/libc.mo perxg 30222 www-data mem REG 8,1 1607760 2490520 /usr/lib/locale/locale-archive perxg 30222 www-data mem REG 8,1 26258 2504791 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache perxg 30222 www-data 0r CHR 1,3 0t0 1028 /dev/null perxg 30222 www-data 1w CHR 1,3 0t0 1028 /dev/null perxg 30222 www-data 2w CHR 1,3 0t0 1028 /dev/null perxg 30222 www-data 6u IPv4 1057848677 0t0 UDP *:35160 perxg 30222 www-data 17u IPv4 1057849498 0t0 UDP *:55008 perxg 30222 www-data 18u IPv4 1057849204 0t0 UDP *:38928 perxg 30222 www-data 24u IPv4 1057848983 0t0 UDP *:37791 perxg 30222 www-data 28u IPv4 1057849618 0t0 UDP *:42557 perxg 30222 www-data 32u IPv4 1057849335 0t0 UDP *:47449 perxg 30222 www-data 35u IPv4 1057849319 0t0 UDP *:39840 perxg 30222 www-data 36u IPv4 1057849302 0t0 UDP *:44750 perxg 30222 www-data 38u IPv4 1057849286 0t0 UDP *:52115 perxg 30222 www-data 45u IPv4 1057849781 0t0 UDP *:42546 perxg 30222 www-data 51u IPv4 1057848733 0t0 UDP *:44872 perxg 30222 www-data 68u IPv4 1057848967 0t0 UDP *:41545 perxg 30222 www-data 76u IPv4 1057849860 0t0 UDP *:56653 perxg 30222 www-data 91u IPv4 1057848716 0t0 UDP *:47140
Offline
Jeszcze takie pytanie mi się nasuwa: jak poznać ścieżkę, z jakiej zostało wywołane polecenie?
Offline
[quote=DeWu]Jeszcze takie pytanie mi się nasuwa: jak poznać ścieżkę, z jakiej zostało wywołane polecenie?[/quote]
jeżeli znasz PID procesu to tak (tutaj PID=6845):
ls -l /proc/6845/exe lrwxrwxrwx 1 root root 0 02-04 20:57 /proc/6845/exe -> /usr/sbin/sshd
Lista libów, do których się odwołuje:
cat /proc/6845/maps
Lista urządzeń i socketów tak:
ls -l /proc/6845/fd/*
Offline
ls /proc/30222/exe lrwxrwxrwx 1 www-data www-data 0 lut 3 03:09 /proc/30222/exe -> /usr/bin/perl
to jakiś skrypt pera ale z jakiego katalogu i z jakimi argumentami wywołany. Można to jakoś sprawdzić?
Offline
z roota;
updatedb
potem
locate xargsu
Offline
Pusto, zarówno dla xargsu jak i perxg
Co to może być że nawet Google o tym nie wie?
Offline
Zrób zrzut pamięci procesu i wykonaj inżynierie wsteczną
Offline
Dobry żart. Czy ja ci wyglądam na jakiegoś inżyniera albo profesora informatyki?
Offline
A nie możesz wziąść pstree -p i zobaczyć skąd ten proces jest ?
A jeśli chodzi o to z jakimi argumentami to było wywołane to inaczej tego nie wyciągniesz.
Offline
Trochę pogrepowałem acccess.loga i jedyne co rzuciło mi się w oczy to:
60.12.107.130 - - [06/Feb/2018:14:11:15 +0100] "POST //%63%67%69%2D%62%69%6E/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 404 438 "-" "-" 60.12.107.130 - - [06/Feb/2018:14:11:15 +0100] "POST //%63%67%69%2D%62%69%6E/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 404 438 "-" "-" 60.12.107.130 - - [06/Feb/2018:17:04:51 +0100] "POST //%63%67%69%2D%62%69%6E/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 404 438 "-" "-"
Offline
to jakiś skrypt pera ale z jakiego katalogu i z jakimi argumentami wywołany. Można to jakoś sprawdzić?[/quote]
Mając pida możesz sprawdzić zawartość /proc/$PID/fd
Znajdziesz tam aktualnie otwarte pliki- nikła szansa ale tam moze się znaleźć nazwa źródłowego pliku z programem perla.
jeszcze w /proc/$PID masz plik cmdlineKod:
ru30rt@wppll0ita268 /proc/1526 $ ps -ef |awk '$0 ~ /perl/ && $0 !~ /awk/' ru30rt 1526 1055 0 05:40 pts/1 00:00:00 perl testy.pl ru30rt@wppll0ita268 /proc/1526 $ cat cmdline ;echo perltesty.plSprawdziłbym też otwarte pliki dla apacza, a nuż trzyma FD skryptu ;)
Jeszcze dla pida naszych koparek:Kod:
ru30rt@wppll0ita268 /proc/1526 $ ls -ld cwd lrwxrwxrwx 1 ru30rt ru30rt 0 Feb 8 05:40 cwd -> /home/ru30rt/perlw cwd masz ścieżkę z której zostało polecenie wywołane.
Offline
To polecenie z awk które dałeś nic nie znajduje. Za to wejście do /proc/$pid i tabowanie daje strasznie dużo podpowidzi imho:
[root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 24 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 24 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 24 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 40 49 54 56 61 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 40 49 54 56 61 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 38 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 38 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 2 3 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 2 24 25 26 27 28 29 3 30 31 32 33 34 35 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 3 34 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 22 23 24 25 26 27 28 29 3 30 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 14 15 16 17 18 19 2 20 21 23 24 25 26 27 28 29 3 31 32 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 29 3 30 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 19 2 20 3 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 32 33 4 5 6 7 8 9
Coś mi się dużo tego wydaje
Offline
Używasz modułu perl w Apachu? jeśli nie, to go wyłącz po prostu, i przez Apparmora zablokuj Apachowi dostęp do polecenia perl.
Pewnie te skrypty są odpalane zdalnie w taki lub podobny sposób, do tego:
curl -sS https://raw.githubusercontent.com/dave-theunsub/gtk3-perl-demos/master/calendar.pl | perl
Dlatego nie widać ich w systemie plików, musisz s=za to namierzyć skrypta, który inicjuje taką akcję.
Najlepiej to zrobić przez porównanie sum kontrolnych albo samej listy plików między systemem a backupem.
Możesz też przegrepować pod kontem wyrażenia perl wszystkie pliki, do których Apache miał prawo zapisu.
Offline
W apache'u nie, w systemie tak. Wszystkie poradnki z googla podpwiadają ustawić chmody dla /bin/perl takie, żeby mógł je wykonywać tylko root ale ja nie mogę sobie na coś takiego pozwolić
Próbowałem czegoś takiego:
/etc/apache2/conf-enabled # a2dismod Your choices are: access_compat alias auth_basic authn_core authn_file authz_core authz_host authz_user autoindex deflate dir env filter mime mpm_prefork negotiation php5 reqtimeout rewrite setenvif status Which module(s) do you want to disable (wildcards ok)? perl ERROR: Module perl does not exist!
i takiego:
/etc/apache2/conf-enabled # a2dismod cgi Module cgi already disabled
Ale nie wiem, czy to przyniesie zamierzony efekt
Ostatnio edytowany przez DeWu (2018-02-08 13:45:29)
Offline
A zablokowanie dla php wszystkich funkcji typu exec* też nic nie da?
Te procesy się same z siebie nie wzięły, któryś skrypt w php ma dziurę, albo pozwalasz wykonać skrypt w katalogu upload.
Offline
Ehh, exec również używam.....
Offline
To obejmij Apacha i PHP profilem Apparmora, i tam ustalisz, i co można uruchomić, a czego nie wolno.
Przy okazji będziesz miał piękne komunikaty w logach na temat tego, co Apache chciał odpalić, i dostał po łapach.
Ostatnio edytowany przez Jacekalex (2018-02-09 08:16:11)
Offline
Ostatnio miałem parę takich przypadków jak w tym wątku, wszystkie związane z syfem w wordpressie.
Analiza na szybko. Wstrzykiwany jest kod do wordpressa, ściąga sobie atakujący binarki i uruchamia. Za każdym ubiciem pojawiają się nowe. Widać to po odwołaniach post.
Offline
[quote=mati75]Ostatnio miałem parę takich przypadków jak w tym wątku, wszystkie związane z syfem w wordpressie.
Analiza na szybko. Wstrzykiwany jest kod do wordpressa, ściąga sobie atakujący binarki i uruchamia. Za każdym ubiciem pojawiają się nowe. Widać to po odwołaniach post.[/quote]
Jak pozwalasz, żeby demon php uruchamiał skypty, które sam zapisał, to takie własnie są rezultaty.
Domyślna konfiguracja Debiana zakłada,że Apache chodzi jako user www-data,
a pliki w $HOME/public_html należą do użytkownika.
W takim wypadku Apache ani PHP nic tam zapisać nie mogą, bez wyraźnego pozwolenia właściciela plików i folderów.
Ale kiedy spece od firm hostingowych ładują Ubuntu-16.04, potem uruchamiają Apacha z modułem SUEXEC czy podobnym, żeby Vhost i PHP chodziły z prawami właściciela plików, to cały model bezpieczeństwa Linuxa (wynikający z separacji uprawnień) diabli biorą, i mamy potem poziom bezpieczeństwa
porównywalny z Windows 95.
Własnie dlatego powinien być ustawowy zakaz umieszczania na kontach hostingowych wszystkiego, co choćby przez sekundę przetwarza dane osobowe, jak np sklepy internetowe.
Pozdro
Offline
[quote=DeWu]To polecenie z awk które dałeś nic nie znajduje. Za to wejście do [b]/proc/$pid i tabowanie[/b] daje strasznie dużo podpowidzi imho:
[root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 24 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 24 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 24 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 4 40 49 54 56 61 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 40 49 54 56 61 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 10 12 13 16 19 2 23 25 26 29 32 38 40 49 54 56 61 9 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 38 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 38 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 29 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fd/ 0 1 12 13 2 25 26 32 40 49 54 56 61 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 2 3 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 2 24 25 26 27 28 29 3 30 31 32 33 34 35 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 3 34 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 22 23 24 25 26 27 28 29 3 30 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 14 15 16 17 18 19 2 20 21 23 24 25 26 27 28 29 3 31 32 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 29 3 30 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 19 2 20 3 4 5 6 7 8 9 [root@dns] /home/krzysztof # cat /proc/28687/fdinfo/ 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 32 33 4 5 6 7 8 9
Coś mi się dużo tego wydaje[/quote]
o hryste panie XD
Wiesz co, jak nie wiesz jak obchodzić się z plikami w /proc/$pid/ /proc/$pid/fd i nie umiesz czytać ze zrozumieniem (bo dokładnie napisałem co trzeba zrobić w tym katalogu), to może daruj sobie adminowanie i przerzuć się na, no nie wiem, handel warzywami?
cat $SCIEZKA i tabowanie to nie jest sprawdzanie zawartości katalogu, jakby Ci zabrali taba z klawiatury albo basha to co, leżysz?
Sorry za wycieczkę, ale poziom nieprofesjonalizmu złamał mi kręgosłup.
Żeby nie było że jestem nosacz i janusz:
https://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html <- o co chodzi z procfs, przeczytaj przynajmniej o file descriptor
Offline
[quote=Jacekalex]Ale kiedy spece od firm hostingowych ładują Ubuntu-16.04, potem uruchamiają Apacha z modułem SUEXEC czy podobnym, żeby Vhost i PHP chodziły z prawami właściciela plików, to cały model bezpieczeństwa Linuxa (wynikający z separacji uprawnień) diabli biorą, i mamy potem poziom bezpieczeństwa
porównywalny z Windows 95.[/quote]
Akurat ze mega zjebaną konfiguracją. Nie ja stawiałem, dostałem tylko do administracji. Jeszcze globalny php.ini można dodać do tego to już jest niezły hardcore.
Offline
(Google Trads:)
Witaj!
Miałem do czynienia z tym samym problemem kilka dni temu, szukałem w Google "xargsu", "perxg". Tylko twoje forum wyróżnia się, więc dajesz mi początek wyjaśnienia:
znalazłem ścieżkę złośliwego oprogramowania: zlokalizowałem tutaj [b]/var/tmp/..[/b] zakodowany backdoor forla używając IO::Socket & co .. (przeznaczony do spameru lub SEO blackhat być może)
sprawdzając datę utworzenia tego pliku i logi apache, znalazłem backpage php tutaj: [b]/wp-content/uploads/2018/02/azzieur/hhlfoei.php[/b]
azzieur.zip były również obecne o_O
Znalazłem także otwarty port dzięki:
netstat -Wlp
Zhackowana wordpress miała tylko 3 rozszerzenia: "contact-form-7" (prawdopodobnie stara wersja ..!), "Easy-wp-smtp" i "advanced-custom-fields"
Do zobaczenia! i przepraszam za angielski, im francuski
----
English version :
Hello!
I was faced to the same probleme few days ago, i googled "xargsu", "perxg".. only your forum stands out, so i give you my beginning of explanation :
i found the path of the malware : located here [b]/var/tmp/..[/b] an encoded perl backdoor using IO::Socket & co.. (designed for spaming or SEO blackhat maybe)
looking the creation date of this file + apache logs, i found a php backboor here : [b]/wp-content/uploads/2018/02/azzieur/hhlfoei.php[/b]
azzieur.zip were present too o_O
i also found an open port thanks to :
netstat -Wlp[/quote]
The hacked wordpress had only 3 extensions : "contact-form-7" (probably an old version..!), "easy-wp-smtp" and "advanced-custom-fields"
See you! and sorry for the english/trad, im french
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00124 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.40.121' WHERE u.id=1 |
0.00094 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.40.121', 1732508208) |
0.00052 | SELECT * FROM punbb_online WHERE logged<1732507908 |
0.00106 | DELETE FROM punbb_online WHERE ident='18.117.154.229' |
0.00216 | DELETE FROM punbb_online WHERE ident='3.133.139.164' |
0.00079 | DELETE FROM punbb_online WHERE ident='3.144.31.64' |
0.00065 | DELETE FROM punbb_online WHERE ident='3.145.59.244' |
0.00081 | DELETE FROM punbb_online WHERE ident='3.149.24.192' |
0.00112 | SELECT topic_id FROM punbb_posts WHERE id=317474 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=30259 ORDER BY posted |
0.00061 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30259 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00179 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30259 ORDER BY p.id LIMIT 0,25 |
0.00101 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30259 |
Total query time: 0.01294 s |