Поиск по моему блогу

Сканирование логинов/паролей вашего Астериска (переписка)


Есть такая прога sipautohack, она сканирует лигины пароли к астериску. http://enablesecurity.com/products/enabl ... hack-demo/
Хочу себя просканировать, посмотреть на дыры. Где скачать бесплатную на нашел. Где взять, кто знает?

#2:  Автор: SamaelОткуда: Киев
Сообщение
Добавлено: Вт Июл 19, 2011 14:31
    —
А sipp освоить?

#3:  Автор: just_userОткуда: Izhevsk
Сообщение
Добавлено: Вт Июл 19, 2011 15:29
    —
Наверное всётаки не sipp, а sipvicious

#4:  Автор: ale812
Сообщение
Добавлено: Вт Июл 19, 2011 16:02
    —
Smile

#5:  Автор: xela
Сообщение
Добавлено: Вт Июл 19, 2011 16:03
    —
так sipp насколько я знаю она же не покажет дыры в астериске, я читал про нее, по моему она процессор только тестирует и память. а sipautohack, по ней могут вычислить ip астериска и логин пароль подобрать, ну по ссылке можно посмотреть ролик как она работает. А sipvicious, это помоему ерунда. у меня астериск был вообще открыт, я попробовал ей пароли посмотреть и ничего она не показала. А вот sipautohack, по ней похоже могут и сервак взломать, если мер не предпринять надлежащих.


#6:  Автор: lv333
Сообщение
Добавлено: Вт Июл 19, 2011 16:27
    —
Защита от подобных программ достаточно просто выполняется:
устанавливаем iptales и fail2ban дальше настраиваем:

/etc/fail2ban/filter.d/asterisk.conf


Код:
# Fail2Ban configuration file
#
#
# $Revision: 250 $
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf


[Definition]

#_daemon = asterisk

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P\S+)
# Values:  TEXT
#

failregex = NOTICE.* .*: Registration from '.*' failed for '' - Wrong password
            NOTICE.* .*: Registration from '.*' failed for '' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '' - Username/auth name mismatch
            NOTICE.* .*: Registration from '.*' failed for '' - Device does not match ACL
            NOTICE.* .*: Registration from '.*' failed for '' - Peer is not supposed to register
            NOTICE.* .*: Registration from '.*' failed for '' - ACL error (permit/deny)
            NOTICE.* failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' \(from \)
            NOTICE.* .*: Host failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Failed to authenticate user .*@.*

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =



в /etc/fail2ban/jail.conf добавляем:


Код:
[asterisk-iptables]

enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@example.org]
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime = 259200


в файле /etc/asterisk/logger.conf

Код:
[general]
dateformat=%F %T

[logfiles]
messages => notice,warning,error

после этих действий

/etc/init.d/fail2ban restart
asterisk -r
asterisk*CLI> logger reload
asterisk*CLI> quit

И спим спокойно
Smile
ЗЫ Категорически рекомендую выполнить эти действия, особенно если сервер с астериском смотрит в мир. У меня в день по 3-5 IP адресов в бан лист попадает.

#7:  Автор: xela
Сообщение
Добавлено: Вт Июл 19, 2011 19:32
    —
Круто. Мерси от всего сообщества *.
Вот только если подскажите как для данного случая iptable настроить было бы вообще крутяк.
Я ставл эту прогу, ssh она банит, а вот паролей я сколько хочешь софтфоном подбирал и ничего не банило меня. Я так понял, что iptable настроить надо чтобы подбор паролей банило, но это это не так просто оказалось. Если кто подскажет что там делать с iptable было бы совсем хорошо.

#8:  Автор: dimОткуда: MSK
Сообщение
Добавлено: Вт Июл 19, 2011 21:10
    —
Описанный выше способ подходит для версии 1.4
Какой версии у Вас Астериск?
Специально настраивать iptables для fail2ban не нужно, просто устанавливаете и всё.
1.6 в продакшн не использовал, а на 1.8 настройки /etc/fail2ban/filter.d/asterisk.conf такие:


Код:

[INCLUDES]

[Definition]

failregex = Registration from '.*' failed for '(:[0-9]{1,5})?' - Wrong password
            Registration from '.*' failed for '(:[0-9]{1,5})?' - No matching peer found
            Registration from '.*' failed for '(:[0-9]{1,5})?' - Device does not match ACL
            Registration from '.*' failed for '(:[0-9]{1,5})?' - Username/auth name mismatch
            Registration from '.*' failed for '(:[0-9]{1,5})?' - Peer is not supposed to register
            NOTICE.* failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' (from )
            NOTICE.* .*: Host failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Failed to authenticate user .*@.*
            VERBOSE.* logger.c: -- .*IP/-.* Playing 'ss-noservice' (language '.*')


ignoreregex =


и всё прекрасно банится.

Added after 10 minutes:

Ещё можно в контекст [default] extentions.conf добавить:


Код:
exten => _X.,1,System(echo '${CHANNEL}' >> /var/log/asterisk/hackers.log)


Создать скрипт vim /home/asterisk/hackers.sh


Код:
#!/bin/bash

cat /var/log/asterisk/hackers.log | awk -v FS="[/-]+" "/^SIP\/[0-9.]+-[0-9a-zA-z]+/ {print \$2; }" | sort -u | awk  "/[0-9.]+/ { str=\"iptables -A INPUT -s \" \$1 \" -j DROP\"; system(str); }"
sleep 1
rm /var/log/asterisk/hackers.log
touch /var/log/asterisk/hackers.log


и пускать его по крону каждую минуту:


Код:
0-59 *  * * *   root    /home/asterisk/hackers.sh

#9:  Автор: xela
Сообщение
Добавлено: Ср Июл 20, 2011 05:42
    —
у меня астериск 1.8 . так если просто установить она же не банит ничего. я пробовал. я ставил вот по этой ссылке http://my-debian.blogspot.com/2010/04/asterisk-fail2ban.html
Там есть Шаг 6. Запуск. # /etc/init.d/iptables start . Если оставить iptable то файла /etc/init.d/iptables не будет. его надо делать самому. Ну и наверное что то туда вписать надо будем. Я честно говоря в этом деле новичок, поэтому что писать не знаю. Да наверное не только я один тут такой лох. Так что будем безмерно благодарны за помощь в настройке iptable.

#10:  Автор: SamaelОткуда: Киев
Сообщение
Добавлено: Ср Июл 20, 2011 07:31
    —
1. Sipvicious (да, сорри, ошибся) умеет находить в сети сип-серверы и ломать пароли.
2. Освойте iptables и его реализацию в дебиане или в том дистрибутиве, что вы пользуте. Долго, муторно, но того стоит.

#11:  Автор: xela
Сообщение
Добавлено: Ср Июл 20, 2011 08:22
    —
во блин, значит теперь никто нам не поможет c iptables?
Sad

#12:  Автор: _Pavel_
Сообщение
Добавлено: Ср Июл 20, 2011 08:25
    —
Ну вроде вот тут неплохо написано было...

#13:  Автор: xela
Сообщение
Добавлено: Ср Июл 20, 2011 08:29
    —
будем читать тогда. а может может тем временем кто нить содержание рабочего файла iptables показать?

#14:  Автор: SamaelОткуда: Киев
Сообщение
Добавлено: Ср Июл 20, 2011 10:10
    —
У iptables нет рабочего файла. Есть утилитки типа iptables-save и iptables-restore, которые пишут файлики, но это не совсем то. Реально, учите iptables.

#15:  Автор: xela
Сообщение
Добавлено: Ср Июл 20, 2011 10:48
    —
Распечатал. Начал читать. Но вы учтите, я еще буду задавать вопросы!
Smile

#16:  Автор: lv333
Сообщение
Добавлено: Сб Июл 23, 2011 08:20
    —

Цитата:
Описанный выше способ подходит для версии 1.4


у меня на 1.6 прекрасно работает


Цитата:
Если кто подскажет что там делать с iptable было бы совсем хорошо.

да ничего дополнительно не настраивал для iptables
проверить функциональность можно так:

# iptables-save


Код:
# Generated by iptables-save v1.3.5 on Sat Jul 23 10:11:08 2011
*filter
:INPUT ACCEPT [1171038:267748973]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [797168:178561167]
:fail2ban-ASTERISK - [0:0]
:fail2ban-SSH - [0:0]
-A INPUT -p tcp -m tcp --dport 22 -j fail2ban-SSH
-A INPUT -j fail2ban-ASTERISK
-A fail2ban-ASTERISK -j RETURN
-A fail2ban-SSH -j RETURN
COMMIT
# Completed on Sat Jul 23 10:11:08 2011


тут видим созданные цепочки:

:fail2ban-ASTERISK - [0:0]
и
:fail2ban-SSH - [0:0]

если бы был забаненный ip то он бы фигурировал в правилах... просто что бы не загромождать лишними правилами iptables, fail2ban банит не перманетно, а на определенное время указанное в конфигах для каждого сервиса.

[asterisk-iptables]

enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@example.org]
logpath = /var/log/asterisk/messages
maxretry = 5
bantime = 259200

#17:  Автор: Cruiser78Откуда: Санкт-Петербург
Сообщение
Добавлено: Сб Июл 23, 2011 12:14
    —

lv333 писал(а):
ЗЫ Категорически рекомендую выполнить эти действия, особенно если сервер с астериском смотрит в мир. У меня в день по 3-5 IP адресов в бан лист попадает.

По моему, если * выставлена а мир, то в большинстве случаев он смотрит только на определенных провайдеров. Вот коммуникацию с ними и надо ограничить в iptables. А попытки соединения со всех остальных адресов - режектить с ответом host-unreachable. Если, конечно tarpit не настроить. С ним еще веселее будет.
Мое мнение такое - разрешать доступ к казенному астериску надо только с очень ограниченного круга IP-адресов. Если это невозможно (есть юзеря на динамике, на серых адресах домашних сетей), то поднимать VPN между ними и астериском. Ну и правило - всё, что не разрешено явно - запрещено.

#18:  Автор: lv333
Сообщение
Добавлено: Пн Июл 25, 2011 11:40
    —

Цитата:
По моему, если * выставлена а мир, то в большинстве случаев он смотрит только на определенных провайдеров. Вот коммуникацию с ними и надо ограничить в iptables. А попытки соединения со всех остальных адресов - режектить с ответом host-unreachable. Если, конечно tarpit не настроить. С ним еще веселее будет.
Мое мнение такое - разрешать доступ к казенному астериску надо только с очень ограниченного круга IP-адресов. Если это невозможно (есть юзеря на динамике, на серых адресах домашних сетей), то поднимать VPN между ними и астериском. Ну и правило - всё, что не разрешено явно - запрещено.

Да, я не спорю к к дополнению iptables можно в самом астериске в пирах прописывать пермит IP делается так


[permit-from](!)
deny=0.0.0.0/0.0.0.0
permit=xxx.xxx.xxx.xxx
;или по сети
permit=ххх.ххх.ххх.0/24

дальше в пире например:

[100](permit-from)
;тут настройка самого пира

Но иногда стоит задача разрешить авторизацию с любого IP, причем без использования VPN.

#19:  Автор: dotprintОткуда: Коломна
Сообщение
Добавлено: Ср Авг 03, 2011 13:38
    —
Немного подтёр (для читаемости, удалил лишние адреса), но вот мой рабочий iptables-save:


Код:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -s 10.158.x.x -i eth1 -p udp -m udp --dport 5060 -j ACCEPT //SIP сигнализация до провайдера
-A INPUT -s 10.158.x.x -i eth1 -p udp -m udp --dport 10000:20000 -j ACCEPT //RTP-трафик до провайдера
-A INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p udp -m udp --dport 5060 -j ACCEPT //SIP сигнализация до внутренней сетки
-A INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p udp -m udp --dport 5060 -j ACCEPT //SIP сигнализация до второй внутренней сетки
-A INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p udp -m udp --dport 10000:20000 -j ACCEPT //RTP трафик до внутренней сетки
-A INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p udp -m udp --dport 10000:20000 -j ACCEPT //RTP трафик до второй внутренней сетки
-A INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT //Даём веб-доступ
-A INPUT -s 192.168.0.0/255.255.254.0 -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT //Защищённый веб-доступ
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //Разрешаем все уже установленные соединения
-A INPUT -s 192.168.0.0/255.255.254.0 -p icmp -m icmp --icmp-type 8 -j ACCEPT //Разрешаем пинг из внутренней сетки
-A INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p udp -m udp --dport 123 -j ACCEPT //Астериск так же сервер времени для айпишных телефонов
-A INPUT -s 192.168.1.х -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT //Разрешаем ssh только для одного айпишника
-A INPUT -d 127.0.0.1 -j ACCEPT //Разрешаем "внутреннее" общение
-A OUTPUT -d 172.16.2.11 -p tcp -m tcp --dport 8025 -j ACCEPT //разрешаем работать с почтой с внутреннего корпоративного сервака
-A OUTPUT -p udp -m udp --sport 123 -j ACCEPT //разрешаем ntp-подключения
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT //веб
-A OUTPUT -p tcp -m tcp --dport 8080 -j ACCEPT //веб
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT //веб
-A OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT //фтп
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT //разрешаем пинговать кого хотим
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //все установленные и зависимые соединения - ок
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT //разрешаем ssh с астериска
-A OUTPUT -s 127.0.0.1 -j ACCEPT //разрешаем "внутреннее" общение
COMMIT


Комменты перед использованием тереть.




Часовой пояс: GMT + 1
Страница 1 из 1


Комментариев нет:

Реклама от BigBN