Неавторизованный исходящий спам

12
D
На сайте с 05.06.2007
Offline
155
2970

Приветствую!

На днях стали приходить абузы от провайдера что с сервера идёт спам, в заголовке спам письма видно что спам идёт не от самого EXIM сервера, а от другой на сервере запущенной программы.

Начал копать netstat, ничего не нашёл, потом стал смотерть процессы и попался один странный долго живущий процес запущенный через перл одним юзером. Ещё не веря в то, что это именно скрипт-спамер, начал смотреть его через strace, и пока только видел бесконечные SELECT, дело ясное что запущен какой то сервер. Через какое-то время стали отслеживаться HTTP запросы на этот скрипт, а потом и HELO server/MAILTO email - сразу стало понятно что спам идёт именно от туда и это какой-то гибрид HTTP/MAIL сервера. Сами файлы я найти не могу, не по названиям в HTTP заголовках не по названию запущенного скрипта.

Вот так выглядит почти всегда в netstat:

netstat -nap|grep superstition
tcp 0 0 IP-сервера:55581 194.54.81.162:80 ESTABLISHED 31100/superstition.
unix 2 [ ] STREAM CONNECTED 752690997 31100/superstition.

А иногда так:

netstat -nap|grep superstition
tcp 0 48 IP-сервера:40547 65.55.37.88:25 ESTABLISHED 31100/superstition.
tcp 0 45 IP-сервера:40545 65.55.37.88:25 ESTABLISHED 31100/superstition.
tcp 0 897 IP-сервера:40513 65.55.37.88:25 ESTABLISHED 31100/superstition.
unix 2 [ ] STREAM CONNECTED 752690997 31100/superstition.

Теперь вопрос, кто с таким встречался и как с таким бороться?

Я подозреваю что единственное решение это через IPTABLES разрешить подключение к 25му порту только для одной программы (EXIM4), верно?

Написал не мало шедевров ;)
M
На сайте с 01.12.2009
Offline
235
#1

надо всё проверять

Администратор Linux,Freebsd. построения крупных проектов.
D
На сайте с 05.06.2007
Offline
155
#2
madoff:
надо всё проверять

А что именно нужно проверять то?

Помоему всё ясно, хотя не ясно каким образом запущены эти процессы, у пользователя есть только FTP и PHP (с отключенными shell функциями) на аккаунте. Даже крона нет. И как то ведь запущено от его логина и адрес скрипта где запущено соответствует его папке. Через дерево процессов PPID=2 (init)

Ещё немного netstat:

tcp 0 1 IP-сервера:58869 131.90.0.121:25 SYN_SENT 31101/superstition.
tcp 0 1 IP-сервера:35838 216.129.105.34:25 SYN_SENT 31101/superstition.
tcp 0 0 IP-сервера:38007 64.18.5.10:25 ESTABLISHED 31101/superstition.
tcp 0 1 IP-сервера:35840 216.129.105.34:25 SYN_SENT 31101/superstition.
tcp 0 0 IP-сервера:38022 64.18.5.10:25 ESTABLISHED 31101/superstition.
tcp 0 0 IP-сервера:38021 64.18.5.10:25 ESTABLISHED 31101/superstition.
tcp 0 0 IP-сервера:55944 207.91.36.4:25 ESTABLISHED 31101/superstition.
tcp 0 0 IP-сервера:54002 120.50.44.98:25 ESTABLISHED 31101/superstition.
tcp 0 1 IP-сервера:53511 65.199.34.43:25 SYN_SENT 31101/superstition.
tcp 0 0 IP-сервера:54970 209.202.254.14:25 ESTABLISHED 31101/superstition.
udp 0 0 0.0.0.0:50925 0.0.0.0:* 31101/superstition.
udp 0 0 0.0.0.0:48365 0.0.0.0:* 31101/superstition.
udp 0 0 0.0.0.0:46831 0.0.0.0:* 31101/superstition.
udp 0 0 0.0.0.0:36595 0.0.0.0:* 31101/superstition.
udp 0 0 0.0.0.0:52089 0.0.0.0:* 31101/superstition.
udp 0 0 0.0.0.0:52603 0.0.0.0:* 31101/superstition.
udp 0 0 0.0.0.0:55548 0.0.0.0:* 31101/superstition.

Через strace явный спам, всё в таком роде:

connect(59, {sa_family=AF_INET, sin_port=htons(25), sin_addr=inet_addr("38.102.228.30")}, 16) = -1 EINPROGRESS (Operation now in progress)
select(104, NULL, [23 39 40 42 46 49 51 59 60 61 62 65 66 69 77 82 85 87 88 90 91 95], NULL, {0, 0}) = 5 (out [49 66 69 85 88], left {0, 0})
write(88, "Date: Fri, 29 Jul 2011 18:36:18 "..., 850) = 850
write(85, "RCPT TO: <albanana@optonline.net"..., 35) = 35
getpeername(69, {sa_family=AF_INET, sin_port=htons(25), sin_addr=inet_addr("74.208.5.90")}, [16]) = 0
write(66, "DATA\r\n", 6) = 6
write(49, "DATA\r\n", 6) = 6
Raistlin
На сайте с 01.02.2010
Offline
247
#3

Dimanych, да блин. Гасим зверя, после этого прибиваем процесс и изучаем файлы. На перле что-то запустить небольшая проблема. поглядите егопапки на наличие перла.

HostAce - Асы в своем деле (http://hostace.ru)
M
На сайте с 01.12.2009
Offline
235
#4

Ну раз всё ясно для вас, беру netstat и пишу, программа superstition с PID 31101 рассылает спам.

D
На сайте с 05.06.2007
Offline
155
#5

Raistlin, я же писал что сами файлы я найти не могу, там вообще нет файлов похожих на скрипты cgi, скорее всего всё удалено. Да и владелец аккаунта скорее всего не причём. На счёт запустить перл нет проблем, я таких путей в его аккануте не знаю.

madoff, вы хоть вопрос причтите что я задал, или вы уже заразились superstition? :)

Повторюсь, как не допускать рассылки спама неавторизованным способом, т.е. подобными скриптами?

Вот кстати ещё откопал по самому юзеру, часть IP похожа:


last|grep john
john ftpd30583 ::ffff:194.54.83 Thu Jul 28 17:46 - 17:47 (00:00)
john ftpd31480 ::ffff:194.54.83 Wed Jul 27 19:18 - 19:18 (00:00)
john ftpd2133 ::ffff:194.54.83 Mon Jul 25 09:21 - 09:21 (00:00)
john ftpd8473 ::ffff:194.54.83 Mon Jul 25 03:21 - 03:21 (00:00)
john ftpd21423 ::ffff:194.54.83 Tue Jul 19 03:38 - 03:38 (00:00)
john ftpd24991 ::ffff:194.54.83 Tue Jul 19 01:51 - 01:51 (00:00)
john ftpd23216 ::ffff:194.54.83 Mon Jul 18 19:40 - 19:40 (00:00)
...
M
На сайте с 16.09.2009
Offline
278
#6
Dimanych:
Я подозреваю что единственное решение это через IPTABLES разрешить подключение к 25му порту только для одной программы (EXIM4), верно?

Только не "программы", а пользователя.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
D
На сайте с 05.06.2007
Offline
155
#7

myhand, точно, забыл уже просто)

Вообщем вычислил, у юзера взломан FTP и какой-то троян залил автоматически туда кучу ерунды, сделал дело, и удалил все следы. По логам FTP всё прослеживается.

Также, отключенный у пользователя perl (настроен через mpm_itk) легко включался через .htaccess, к сожалению узнать как именно это было сделано уже не возможно, так как все следы удалены.

Предполагаю что так: Options +ExecCGI

iHead
На сайте с 25.04.2008
Offline
137
#8

исходящие на 25 порт лучше закрыть. ибо нефиг.

Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#9

ipt_owner?

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
D
На сайте с 05.06.2007
Offline
155
#10

Если кому-то нужно, неавторизованный спам больше не идёт.

iptables -A OUTPUT -o eth0 -p tcp --dport 25 -m owner --uid-owner Debian-exim -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 25 -j DROP
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий