LoadLibrary, проект за зареждане на DLL файлове в Linux, сякаш са вграден код

Зареждане на библиотека

JT Ormandy, изследовател на сигурността на Google, го направи известен преди няколко дни развитието на проекта Зареди библиотека, кое е предназначен за зареждане на библиотеки на DLL на Windows за използване в Linux приложения. Проектът осигурява библиотека за кръстосани слоеве, с която можете да заредите DLL във формат PE / COFF и да извикате функциите, дефинирани в него.

Зареди библиотека поема функцията за зареждане на библиотеката в паметта и импортиране на съществуващи символи, предоставяне на приложението Linux с API в стил dlopen. Кодът може да бъде отстранен с грешки с помощта на gdb, ASAN и Valgrind. Можете да настроите изпълним код по време на изпълнение, като свържете куки и приложите кръпки (кръпки за изпълнение). За C ++ са разрешени нежелани изключения.

Проектът LoadLibrary не е предназначен да замени текущи проекти които вършат подобна работа, като Wine. LoadLibrary има за цел да позволи на Windows DLL библиотеките да бъдат заредени и достъпни, тъй като те ще бъдат роден код на Linux, без да се опитва да стартира Windows на Linux и други подобни програми, а просто да зарежда библиотеките.

Целта на проекта е да организира мащабируеми разпределени тестове за размиване и ефективни DLL файлове в среда, базирана на Linux.

В Windows тестването на размиване и покритие не позволява адекватна производителност и често изисква стартиране на отделен виртуализиран екземпляр на Windows, особено когато става въпрос за анализ на сложни продукти, като антивирусен софтуер, които обхващат работата на нивото на ядрото и потребителското пространство.

Намерението да продължи развитието на този проект е да даде възможност за мащабируемо и ефективно разпространение на самостоятелни библиотеки на Windows в Linux.

  • C ++ изпращане и изключване на изключение.
  • Зареждане на допълнителни IDA символи.
  • Отстраняване на грешки с gdb (включително символи), точки на прекъсване, следи от стека и др.
  • Времетраенето е закачено и закърпено.
  • Поддръжка за ASAN и Valgrind за откриване на фини грешки при повреда на паметта.
  • Ако трябва да добавите поддръжка за какъвто и да е външен импорт, писането на мънички обикновено е бързо и лесно.

С помощта на LoadLibrary, Изследователи на Google търсят уязвимости във видео кодеците, антивирусни скенери, библиотеки за декомпресия на данни, декодери на изображения и др.

„Разпределеното и мащабируемо поточно предаване в Windows може да бъде предизвикателно и неефективно, това е особено вярно за продуктите за защита на крайни точки, които използват сложни взаимосвързани компоненти, които обхващат ядрото и потребителското пространство.

Това обикновено изисква завъртане на цяла виртуализирана Windows среда за излъчване. това е по-малък проблем на linux и открих, че често е възможно да се пренасят компоненти от антивирусни продукти на windows към linux, което ми позволява да стартирам кода, който тествам, в минимални контейнери с много малко режийни разходи и лесно да разширя тестовете.

Например с помощта на LoadLibrary беше възможно да се приложи антивирус на Windows Defender да работи на Linux. Изследването на mpengine.dll, което формира основата на Windows Defender, ни позволи да анализираме голям брой сложни драйвери от различни формати, FS емулатори и езикови интерпретатори, които потенциално осигуряват вектори за възможни атаки.

Зареди библиотека той също е използван за идентифициране на отдалечена уязвимост в антивирусния пакет Avast.

Чрез изучаване на DLL на този антивирус беше разкрито, че ключовият привилегирован процес на сканиране включва пълен интерпретатор на JavaScript, използван за емулиране на изпълнението на JavaScript код на трета страна.

Този процес не е изолиран в среда на пясъчника, не нулира привилегиите и анализира непроверени външни FS данни и прихванат мрежов трафик.

Тъй като всяка уязвимост в този сложен и несигурен процес може да доведе до отдалечен компромис на цялата система, на базата на LoadLibrary е разработена специална обвивка на avscript за сканиране на уязвимости в антивирусния скенер Avast в среда, базирана на Linux.

Зареждачът PE / COFF се основава на кода на ndiswrapper. Кодът на проекта се разпространява под лиценза GPLv2. Кодът може да бъде разгледан В следващия линк. 


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Zip линии каза той

    Казано е на всички да се хванат dll, не забравяйте тоалетната хартия