Експлоатацијата на KeePass помага да се врати master лозинката за чист текст, поправка наскоро

Популарниот KeePass менаџер за лозинки е ранлив на извлекување на master лозинката од меморијата на апликацијата, дозволувајќи им на напаѓачите од компромитираат уред да ја вратат лозинката дури и кога базата на податоци е заклучена.

Проблемот беше откриен од страна на безбедносен истражувач познат како „vdohney“, кој објави proof-of-concept алатка што им овозможува на напаѓачите да ја извлечат master лозинката на KeePass од меморијата како proof-of-concept (PoC).

Управувачите со лозинки им дозволуваат на корисниците да креираат уникатни лозинки за секоја онлајн сметка и да ги складираат ингеренциите во база на податоци што е лесна за пребарување, или сеф за лозинки, за да не мора да ја запомнуваат секоја од нив. Сепак, за правилно обезбедување на овој свод за лозинки, корисниците мора да ја запомнат едната master лозинка што се користи за да го отклучат и да пристапат до складираните ингеренции.

Оваа master лозинка ја шифрира базата на податоци за лозинки на KeePass, спречувајќи да се отвори или прочита без претходно да ја внесете лозинката. Меѓутоа, штом master лозинката е компромитирана, напаѓачот може да пристапи до сите ингеренции зачувани во базата на податоци.

Затоа, за управувачот на лозинки да биде правилно обезбеден, од клучно значење е корисниците да ја чуваат master лозинката и да не ја споделуваат со некој друг.

Новата ранливост на KeePass следена како CVE-2023-3278 овозможува враќање на master лозинката на KeePass, освен првиот или два знака, во форма на јасен текст, без разлика дали работниот простор на KeePass е заклучен, или можеби, дури и ако програмата е затворена.

„KeePass Master Password Dumper е едноставна proof-of-concept алатка што се користи за отстранување на master лозинката од меморијата на KeePass. Освен првиот знак на лозинката, таа најчесто може да ја врати лозинката во обичен текст“, предупредува безбедносниот истражувач на GitHub страницата за експлоатација.

„Не е потребно извршување на кодот на таргетираниот систем, само отстранување на меморијата. Не е важно од каде доаѓа меморијата – може да биде отстранување на процесот, swap датотеката (pagefile.sys), датотеката за хибернација (hiberfil.sys) или RAM отстранување на целиот систем. Не е важно дали работниот простор е заклучен или не“.

Пропустот постои затоа што софтверот користи приспособено поле за внесување лозинка наречено „SecureTextBoxEx“, кое остава траги од секој знак што корисникот го пишува во меморијата.

„KeePass 2.X користи прилагодено развиено поле за текст за внесување лозинка, SecureTextBoxEx.“ објаснува vdohney.

Ранливоста влијае на најновата верзија на KeePass, 2.53.1, и бидејќи програмата е со отворен код, најверојатно ќе бидат засегнати сите fork проекти.

KeePass 1.X, KeePassXC и Strongbox не се под влијание на CVE-2023-32784.

Исто така, додека PoC беше тестиран на Windows, експлоатот треба да работи и за Linux и за macOS, со некои модификации, бидејќи проблемот не е специфичен за оперативниот систем, туку како KeePass се справува со внесувањето на корисникот.

Искористувањето на CVE-2023-32784 бара физички пристап или инфекција со малициозен софтвер на таргетираната машина.

Сепак, малициозниот софтвер кој краде информации може брзо да провери дали KeePass постои на компјутер или работи, и ако е така, ја отстранува меморијата на програмата и ја испраќа базата на податоци на KeePass назад до напаѓачот за офлајн пребарување на лозинката за чист текст.

BleepingComputer ја тестираше алатката „keepass-password-dumper“ на vdohney со инсталирање KeePass на тест-уред и создавање нова база на податоци со master лозинка „password123“.

Потоа го заклучивме нашиот работен простор на KeePass, што го спречува пристапот до него освен ако повторно не ја внесете главната лозинка.

Во нашите тестови, можете да го користите Process Explorer за да ја исфрлите меморијата на KeePass проектот, но бара целосна меморија, а не minidump, за да работи правилно. Не се потребни зголемени привилегии за да се отстрани меморијата на процесите.

Откако ја составивме алатката на vdohney со помош на Visual Studio, ја извршивме во складиштето на меморијата и таа брзо го врати најголемиот дел од лозинката за чист текст, при што недостасуваа само првите две букви.

Иако ова не е целосната лозинка, би било прилично лесно да се одреди кои знаци недостасуваат.

Истражувачот, исто така, предупредува дека master лозинките користени во минатото може да останат во меморијата, така што може да се вратат дури и ако KeePass повеќе не работи на пробиениот компјутер.

Развивачот на KeePass, Dominik Reichl, го прими извештајот за грешка и вети дека ќе спроведе поправка за CVE-2023-32784 на верзијата 2.54, што се очекува некаде во јули 2023 година.

Сепак, Reichl за BleepingComputer изјави дека верзијата 2.54 на KeePass е поверојатно да биде објавена за корисниците за околу две недели, па затоа треба да излезе до почетокот на јуни.

Врз основа на дискусија каде што Reichl ги развил своите размислувања за безбедносниот пропуст и потенцијалните стратегии за ублажување, споменати се две безбедносни подобрувања за претстојната верзија на KeePass:

  1. Извршете директни API повици за добивање/поставување на текстот на полето за текст, избегнувајќи создавање на управувани низи во меморијата што можат да протекуваат тајни.
  2. Создадете лажни фрагменти кои содржат случајни знаци во процесната меморија кои ќе имаат приближно иста должина како master лозинката на корисникот, прикривајќи го вистинскиот клуч.

KeePass 2.54 за Windows ќе ги има и двете, додека верзиите за macOS и Linux ќе го добијат само второто подобрување.

Креаторот на PoC потврди дека повеќе не може да го репродуцира нападот со двете безбедносни подобрувања, па се чини дека поправката е ефективна.

Дури и по објавувањето на новата верзија, master лозинката сè уште може да се зачува во мемориските датотеки. Истражувачот предупредува дека за да бидете 100% безбедни, ќе треба да ги избришете swap и хибернациските датотеки на вашиот систем, да го форматирате вашиот хард диск користејќи го „overwrite data“ режимот за да спречите обновување на податоците и да направите нова инсталација на ОС.

Меѓутоа, за повеќето, рестартирањето на компјутерот, бришењето на swap датотеката и датотеките за хибернација и некористењето на KeePass додека не биде објавена новата верзија, засега се разумни безбедносни мерки.

Дури и тогаш, за најдобра заштита, бидете многу внимателни да не преземате програми од недоверливи страници и внимавајте од phishing напади што може да ги заразат вашите уреди, дозволувајќи им на напаѓачите далечински пристап до вашиот уред и вашата KeePass база на податоци.

Извор: BleepingComputer

Check Also

MITRE ја објави својата годишна листа на Топ 25 „најопасни софтверски слабости“ за 2023 година.

“Овие слабости доведуваат до сериозни пропусти во софтверот“, соопшти американската Агенција за сајбер безбедност и …