- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую!
На днях стали приходить абузы от провайдера что с сервера идёт спам, в заголовке спам письма видно что спам идёт не от самого EXIM сервера, а от другой на сервере запущенной программы.
Начал копать netstat, ничего не нашёл, потом стал смотерть процессы и попался один странный долго живущий процес запущенный через перл одним юзером. Ещё не веря в то, что это именно скрипт-спамер, начал смотреть его через strace, и пока только видел бесконечные SELECT, дело ясное что запущен какой то сервер. Через какое-то время стали отслеживаться HTTP запросы на этот скрипт, а потом и HELO server/MAILTO email - сразу стало понятно что спам идёт именно от туда и это какой-то гибрид HTTP/MAIL сервера. Сами файлы я найти не могу, не по названиям в HTTP заголовках не по названию запущенного скрипта.
Вот так выглядит почти всегда в netstat:
tcp 0 0 IP-сервера:55581 194.54.81.162:80 ESTABLISHED 31100/superstition.
unix 2 [ ] STREAM CONNECTED 752690997 31100/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), верно?
надо всё проверять
надо всё проверять
А что именно нужно проверять то?
Помоему всё ясно, хотя не ясно каким образом запущены эти процессы, у пользователя есть только FTP и PHP (с отключенными shell функциями) на аккаунте. Даже крона нет. И как то ведь запущено от его логина и адрес скрипта где запущено соответствует его папке. Через дерево процессов PPID=2 (init)
Ещё немного netstat:
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 явный спам, всё в таком роде:
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
Dimanych, да блин. Гасим зверя, после этого прибиваем процесс и изучаем файлы. На перле что-то запустить небольшая проблема. поглядите егопапки на наличие перла.
Ну раз всё ясно для вас, беру netstat и пишу, программа superstition с PID 31101 рассылает спам.
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)
...
Я подозреваю что единственное решение это через IPTABLES разрешить подключение к 25му порту только для одной программы (EXIM4), верно?
Только не "программы", а пользователя.
myhand, точно, забыл уже просто)
Вообщем вычислил, у юзера взломан FTP и какой-то троян залил автоматически туда кучу ерунды, сделал дело, и удалил все следы. По логам FTP всё прослеживается.
Также, отключенный у пользователя perl (настроен через mpm_itk) легко включался через .htaccess, к сожалению узнать как именно это было сделано уже не возможно, так как все следы удалены.
Предполагаю что так: Options +ExecCGI
исходящие на 25 порт лучше закрыть. ибо нефиг.
ipt_owner?
Если кому-то нужно, неавторизованный спам больше не идёт.
iptables -A OUTPUT -o eth0 -p tcp --dport 25 -j DROP