Буду краток, но уж простите. Данный опус является только желанием поделиться результатом 10-12 часов втыкания в декомпилированный код вируса.
Кому интересно, продолжение ниже.
С самого начала (а это около 13-00 27-го числа), после первого звонка от знакомых, о проявившихся симптомах, начал мониторить сеть на предмет информации. Ее к сожалению мало и до сих пор.
Часам к 5-ти вечера подвезли системник.
Итак.
> h**ps://gist.github.com/vulnersCom/65fe44d27d29d7a5de4c176baba45759 — отсюда взял файл вируса.
> h**ps://retdec.com/decompilation-run/ — тут его декомпилировал.
Сразу оговорюсь — я не писатель, а под windows тем более, поэтому пришлось потратить довольно много времени на изучение полученного кода.
Собственно две вещи которые я обнаружил и хочу поделиться.
1. Файлы меньше 1 Мб (0x100000) шифруются полностью. Больше — шифруется только 1-й мегабайт:
// 0x100018da
if (v6 <= lpFileMappingAttributes) {
if (lpFileSize <= 0x100000) { //тут проверяется размер файла
// 0x10001958
dwNumberOfBytesToMap = (struct _LARGE_INTEGER *)lpFileSize;
pdwDataLen = dwNumberOfBytesToMap;
dwMaximumSizeLow = 16 * (lpFileSize / 16 + 1);
// branch -> 0x100018eb
// 0x100018eb
hFileMappingObject = CreateFileMappingW((char *)hFile2, (struct _SECURITY_ATTRIBUTES *)lpFileMappingAttributes, 4, lpFileMappingAttributes, dwMaximumSizeLow, (int16_t *)lpFileMappingAttributes);
dwFileOffsetHigh = lpFileMappingAttributes;
if ((int32_t)hFileMappingObject != dwFileOffsetHigh) {
// 0x100018ff
pbData = MapViewOfFile(hFileMappingObject, 6, dwFileOffsetHigh, dwFileOffsetHigh, (int32_t)dwNumberOfBytesToMap);
v4 = (int32_t)pbData;
hFile2 = v4;
hHash = lpFileMappingAttributes;
if (v4 != hHash) {
// 0x10001913
hKey = *(int32_t *)(a2 + 20);
v5 = CryptEncrypt(hKey, hHash, (int32_t)(struct _SECURITY_ATTRIBUTES *)1 % 2 != 0, hHash, pbData, (int32_t *)&pdwDataLen, dwMaximumSizeLow);
if (v5) {
// 0x1000192e
FlushViewOfFile((char *)hFile2, (int32_t)pdwDataLen);
// branch -> 0x10001938
}
// 0x10001938
UnmapViewOfFile((char *)hFile2);
// branch -> 0x1000193f
}
// 0x1000193f
CloseHandle(hFileMappingObject);
// branch -> 0x10001948
}
// 0x10001948
handleClosed = CloseHandle(hFile);
// branch -> 0x10001951
// 0x10001951
g8 = v1;
g4 = v3;
return (char *)handleClosed;
}
}
// 0x100018e6
pdwDataLen = (struct _LARGE_INTEGER *)0x100000; // тут устанавливается максимальный размер шифрования если файл бльше 1 мегабайта
struct _SECURITY_ATTRIBUTES * v8 = (struct _SECURITY_ATTRIBUTES *)lpFileMappingAttributes;
lpFileMappingAttributes2 = v8;
v7 = v8;
dwNumberOfBytesToMap2 = (struct _LARGE_INTEGER *)0x100000;
dwMaximumSizeLow = 0x100000;
// branch -> 0x100018eb
}
Это же я заметил, просмативая зашифрованные файлы на принесенном компьютере.
2. Каждый логический том в системе шифруется своим ключом. В корне каждого диска создается файл README.TXT с содержимым тем же, что и выводится на экран по окончании шифровки и после перезагрузки, как я понимаю (лично не видел экрана). Но вот ключ разный на двух разделах диска который я ковырял.
Ooops, your important files are encrypted.
If you see this text, then your files are no longer accessible, because
they have been encrypted. Perhaps you are busy looking for a way to recover
your files, but don't waste your time. Nobody can recover your files without
our decryption service.
We guarantee that you can recover all your files safely and easily.
All you need to do is submit the payment and purchase the decryption key.
Please follow the instructions:
1. Send $300 worth of Bitcoin to following address:
1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX
2. Send your Bitcoin wallet ID and personal installation key to e-mail wowsmith123456@posteo.net.
Your personal installation key:
AQIAAA5mAAAApAAAuoxiZtYONU+IOA/XL0Yt/lsBOfNmT9WBDYQ8LsRCWJbQ3iTs
Ka1mVGVmMpJxO+bQmzmEwwiy1Mzsw2hVilFIK1kQoC8lEZPvV06HFGBeIaSAfrf6
6kxuvs7U/fDP6RUWt3hGT4KzUzjU7NhIYKg2crEXuJ9gmgIE6Rq1hSv6xpscqvvV
Fg4k0EHN3TS9hSOWbZXXsDe9H1r83M4LDHA+NJmVM7CKPCRFc82UIQNZY/CDz/db
1IknT/oiBDlDH8fHDr0Z215M3lEy/K7PC4NSk9c+oMP1rLm3ZeL0BbGTBPAZvTLI
LkKYVqRSYpN+Mp/rBn6w3+q15DNRlbGjm1i+ow==
Тут хотелось бы просить помощи специалистов в шифровании.
void function_10001c7f(void) {
int32_t dwFlags = 0; // ebx
int32_t hKey = *(int32_t *)(g3 + 20); // 0x10001ca0
int32_t pdwDataLen = 0;
int32_t v1;
if (!CryptExportKey(hKey, *(int32_t *)(g3 + 12), 1, 0, NULL, &pdwDataLen)) {
// 0x10001d2a
g3 = (int32_t)NULL;
g4 = v1;
return;
}
char * memoryHandle = LocalAlloc(64, pdwDataLen); // 0x10001cb1
if ((int32_t)memoryHandle == dwFlags) {
// 0x10001d2a
g3 = (int32_t)NULL;
g4 = v1;
return;
}
int32_t hExpKey = *(int32_t *)(g3 + 12); // 0x10001cc6
int32_t hKey2 = *(int32_t *)(g3 + 20); // 0x10001cc9
if (CryptExportKey(hKey2, hExpKey, 1, dwFlags, memoryHandle, &pdwDataLen)) {
int32_t pcchString = dwFlags;
bool v2 = CryptBinaryToStringW(memoryHandle, pdwDataLen, 1, (int16_t *)dwFlags, &pcchString); // 0x10001ce8
if (v2) {
char * memoryHandle2 = LocalAlloc(64, 2 * pcchString); // 0x10001cf6
int32_t hMem = (int32_t)memoryHandle2; // 0x10001cf6_6
if (hMem == dwFlags) {
// 0x10001d21
LocalFree(memoryHandle);
// branch -> 0x10001d2a
// 0x10001d2a
g3 = (int32_t)NULL;
g4 = v1;
return;
}
Третий параметр функции CryptExportKey — 1, это экспорт сессионного ключа. И этот ключ как я понимаю сохраняется в README.TXT.
Собственно вопрос — нельзя ли его импортировать, и расшифровывать файлы? Это не паблик ключ. Понятно, что дайте приват проблем не было бы.
Собственно, больше внимание я обращал именно на функции шифрования, остальное меня не интересовало.
Ну и мнение простого обывателя — данная атака это продолжение майской, в результате которой, видимо, не была достигнута поставленная цель. Потому как на кошельках с прошлой атаки около 160-180 тысяч так и не тронуто. Была бы цель получение денег, их бы уже начали отмывать. За чуть больше чем сутки на кошелек 1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX перечислили всего чуть больше чем 10000$. Это, конечно, является следствием того, что в прошлый раз никто никаких ключей дешифрования не получил.
Надеюсь моя первая статья не станет последней. С удовольствием исправлю возникшие ошибки.
Комментарии (81)
tankistua
30.06.2017 00:19+7цель данной атаки финансовая, но рассчитана она была не на получение прибыли, а на нанесение финансрвых потерь. Аргументы:
- Один кошелек. Если бы я делал, то я бы генерировал на машине кошелет биткоина и отправлял куда надо вместе с ключем шифрования. Много кошельков сложно отследить.
- Почтовый адрес — ну я все понимаю, но с одного почтового адреса даже почту забрать проблематично. При том что его сразу закрыли. Для этих целей есть тор
- Каждый диск шифровался своим ключем. Зачем?
- Не подверглись шифрованию сменные носители, потому что шифрование проводилось уже вне операционной системы и драйверов юсб просто не было
- Шифрование дисков проводилось уже после перезагрузки, следовательно ключ генерировался уже после, когда сети на машине уже не было — ключи никуда не были отправлены.
- Гребаный медок, не знаю его роль в этом вопросе, но то, что это через них эта зараза попала на сервера это 100%
- Это точно не модифицированный вымогальщик petya — просто картинка похожа
sat_art
30.06.2017 00:211. Согласен. Но если генерировать адреса, то приватные ключи надо отправлять куда то — можно спалиться. Но если бы стояла цель за выкуп давать возможность расшифровывать, то самый оптимальный вариант по запросу откуда то получать номер кошелька. Ключи хранить в памяти до оплаты. Онлайном проверять баланс кошелька (тот же blockchain.info дает такую возможность), если сумма упала на кошелек — расшифровывать. Ни каких проблем.
2. Именно…
3. Потому что для каждого диска, процесс запускал дополнительный поток. Который в свою очередь генерил свой ключ. Почему нельзя было сначала сгенерить ключ, а потом создавать потоки, точно не скажу, но наверное потому, что работать с одним ключом одновременно нескольким потокам нельзя.
4. Нет, шифрование происходло в системе, вызываются библиотечные функции.
5. Думаю, шифрование происходило до перезагрузки, а все остальное для понтов.
6. Их могли использовать в темную.
7. Вообще не пойму откуда название.
tankistua
30.06.2017 00:34Медок чудаки на букву м — им два года уже рассказывают, что нельзя так обновления выпускать без подписи.
impetus
30.06.2017 01:46+2Тут в комментах пишут, что одно из последних было столь кривое, что пользователям поддержка рекомендовала запускать службу из-под доменного админа (впрочем, это сообщение пока одно, подождём ещё подтверждений). Жесть.
vagran
30.06.2017 19:49Для связи с жертвами можно развернуть сайт в виде hidden service в Торе, и никто его ни отследит ни заблокирует.
plartem
30.06.2017 10:14еще один аргумент, скорее всего самый важный: управляющего сервера, который хотя бы ключи хранил, тоже нету.
Vlad_fox
30.06.2017 10:38+18 — атака достаточно сфокусированная, цель — Украина (и дата удачная — перед праздничным днем — днем конституции, кроме нанесения финансового урона еще и нагнетание паники)
По данным компании ESET (источник: УНИАН ), на Украину пришлось 75,24% заражений от общего количества в мире. На Германию — 9, 06%, на Польшу — 5,81%. Далее идет Сербия (2,87%), Греция (1,39%), Румыния (1,02%). На Россию 0,8%.
остальных походу просто зацепило взрывной волной…Ugrum
30.06.2017 11:48-18 — атака достаточно сфокусированная, цель — Украина (и дата удачная — перед праздничным днем — днем конституции, кроме нанесения финансового урона еще и нагнетание паники)
/надеваю фольгированную кипу/
Да, давайте я вам я ещё косвенное доказательство целенаправленной атаки подкину.
Petya-Петя-Петро… Ну вы меня поняли…
/снимаю фольгированную кипу/eugene08
30.06.2017 14:31+2А по сути есть что сказать?
— 3/4 заражений произошло в Украине,
— список пострадавших состоит сплошь и рядом либо из госструктур либо из крупных компаний, которые очень заметны, вносят заметный вклад в ВВП,
— список точно неполный, знаю большую компанию FMCG, так же пострадавшую, она не в списке,
— атака произошла одномоментно, учитывая что каналы заражения были разные то похоже что активация синхронна,
— использованная версия petya это wiper/необратимый шифровальщик а не ransomware, некоторые факты позволяют предположить что получение выкупа не было целью (гуглим petya is a wiper).
Итого имеем скоординированную атаку вредоносным по, уничтожающее данные, в результате чего пострадали банки/транспортные компании преимущественно на территории одной страны.
Вы знаете подобные атаки в прошлом?
galserg
30.06.2017 14:36по сути уже сказали
медоки подцепили трипер и заразили им пол страны
самые жопорукие — легли полностью
самые дебильные, хранящие критичные данные на самба шарах и в базах ms sql — получили критические повреждения в межушный ганглий.NiTr0_ua
30.06.2017 21:00кроме медка это счастье еще рассылается почтой.
+ гуляет по LAN, юзая кроме ms17-010 еще какой-то 0-day эксплойт (слышал от знакомых о случаях заражения серверов со всеми обновлениями).
+ еще, говорят, где-то находили зараженные флэшки с автораном.Frankenstine
03.07.2017 11:100-day эксплойт сомнителен, заражение распространяется через кражу уже залогиненных админских учёток.
galserg
30.06.2017 12:16+6В Украине зарплата админа в конторах, которые легли — 300-400 долларов
поэтому те, которые с мозгами и руками — зарабатывают 1500+ в иностранных или аутсорсинговых компаниях.
а в говноконторы или гос структуры идут работать токо рукожопы.
вот и весь секрет
впрочем не весь
есть мысль, что в распрострастранении вируса сильно помог какой-то анонимайзер, которые на Украине резко стали популярны.
А агентов путина среди вирусов искать — верный путь к галопиридолу.sat_art
30.06.2017 12:21Ну я бы так не был категоричен. В Киеве админы не плохо получают для Украины, как и в Москве для России. А дешевых админов и в России достаточно.
Я согласен, что целенаправленно было спланировано.
В сетки вирус проникал через почту, а организовать целенаправленную рассылку не так сложно.
Другое дело, что внутри сети были в черти каком состоянии. И майский вирус ни чему не научил.galserg
30.06.2017 12:36+5Я так категоричен потому, что живу в Киеве, в девопсы пошел из админов и поэтому — знаю рынок.
А так же видел список подохших контор и примерно знаю сколько там народ зарабатывает.
не, многим в Украине эникейские 300-400 баксов за счастье, но профессионалы на такую зп не пойдут.
кстати, в кыбэрполицию набирали тоже на зп до 10к гривен. причем глядя на список скилов в вакансии я чуть не помер от хохота.
поэтому когда прессллужба киберполицаев присоединилась к хору конспирологов — лично мне стало ясно, что туфта на 100%
Indestr
30.06.2017 12:41По твоей логике, можно сказать что и в Майкрософт работают рукожопы, раз допустили использование пароля в открытом виде. Не нужно всё валить на людей, здесь проявился комплекс уязвимостей, многие сделали выводы, и такой софт как МЕдок будут устанавливать изолированно.
galserg
30.06.2017 12:46+8не, в мелкософте работают прекрасные и умные парни, которые за 20+ лет развития ОС не смогли сделать нормальный менеджер процессов, не позволяющий несанкционированную эскалацию привилегий.
за 10+ лет развития СЕРВЕРНОЙ оси — сервак с настройками по умолчанию воткнутый голой жопой в интернет — живет пару часов, потом его ломают.
это ж блин вершина программисткого искусства, редхат, обнимая оракл — рыдает.
Alexsandr_SE
30.06.2017 13:11+1Про рукожопов это громко. просто реально нет финансирования что бы все было как у людей. Из десятка серверов осталось только два "рабочих" и только один из них может работать сутками без перезагрузок. Накопители не в лучшем состоянии и объем аж 500гиг, много не поместить и так во всех аспектах. Нужно вкладывать в госсектор, а там режим жесткой экономии официально включен, вот и экономят, а железу более 10 лет уже.
galserg
30.06.2017 13:38-2сорян, а что мешаетт уйти в энтерпрайз из госсектора, и иметь сотню рабочих серверов, десяток стореджей, файберченал и 40 гигабитный эзер?
ну и зарплату больше раз в 5 (если не в 10?)
или релокейтнутся?
мне в линкедин постоянно приходят предложения.
что заставляет сидеть в госсекторе и нищенствовать?sergarcada
30.06.2017 14:20+4А что изменится? Один человек уйдет, как вы говорите, релокейтнется, переведется в ентерпрайз, а на его место придет другой. И как от этого изменится ситуация? Думаете, от этого зарплату поднимут и бюджет на ИТ увеличат?
galserg
30.06.2017 14:29всех не перестреляете (С)?
да нет, конечно не изменится, ибо та таких должностях обычно сидят, сростаясь с креслом всякого рода вечные студенты, ранние пенсионеры, «виндовс админы» и прочие товарищи, не умеющие самостоятельно обучаться.
и там, где такие товарищи востребованы, по причине нищенского бюджета — жопа будет всегда, не зависимо от пети или пути.sergarcada
30.06.2017 15:15Вы не поняли. Что изменится в организации, после того как сменится специалист?
Дело же не в том, что какой-то специалист жалуется на свою судьбу и загубленный талант. А в том, что руководство не видит смысла поддерживать ИТ-инфраструктуру, работает — и ладно. И была бы это частная контора, она сама бы со временем загнулась. Но госсектор не загнется, хоть на счеты его пересади. И страдает от этого не сисадмин, не его руководство, а в широком смысле жители страны.galserg
30.06.2017 15:29+2а ПОЧЕМУ что-то должно меняться в организации, с бюджетом айти отдела в три копейки в урожайный год?
я лишь сказал что обучаемые люди, с руками из плеч — всегда могут найти НОРМАЛЬНУЮ работу.
а оставшиеся — и устраивают такую бурю в стакане с дурнопахнущей субстанцией, сваливая вину, как теперь модно, на агентов путина.
да, в украине даже вирусы — агенты путина. а мегаспецы — что вы! не виноваты.
кстати — в моей конторе не заражен ни один компьютер.sergarcada
30.06.2017 15:42а ПОЧЕМУ что-то должно меняться в организации, с бюджетом айти отдела в три копейки в урожайный год?
Вы задаете мне мой же вопрос? Оригинально, я думал вы как раз знаете на него ответ. Как мегаспец с бюджетом в «три копейки» может изменить ситуацию?
Рад за вас, что в вашей организации не заражен ни один компьютер. Удачи в изучении английского и всего-всего.galserg
30.06.2017 16:04-1а менять зачем? всех все устраивает
те, кого это не устраивало — давно не работают на провинциальных госпредприятиях.
правда, они приложили для этого определенные усилия.
а что до госсектора — скоро в этой нищей, разваливающейся стране отопление зимой пропадет, какой блин айти в госсекторе?
Alexsandr_SE
30.06.2017 15:05И как это повлияет на госсектор? Без улучшения финансирования вообще никак. водном месте знаю бегают с дисков внешним за свой счет купленным на 500гигов, но жутко не хватает объема. Не говоря уже про беготню руками.
Что касается энтерпрайз, так это еще нужно и в города крупные переезжать, иначе ничего не светит толкового.galserg
30.06.2017 15:19ок. был неправ про рукожопов.
руки могут расти из правильного места, но по причине каменного века в технологиях на работе, а так же по причине неумения самообучаться — эти руки толком ничего не умеют, кроме как носить дискетку в 500 гиг между пораженными триппером машинами
меж тем — кибернетис кластер на поиграться очень легко поднять под вагрантом на своей локальной тачке.
про аутсорсинг слышали?
будет ли вообще чел из провинции, имеющий стабильно 20-30 часов на аутсорсинге с рейтом 15 долларов выходить в говноконтору, где он еще как шарик должен пять раз вокруг офиса оббежать, чтоб принести домой жалкие 300 баксов в месяц?
а как и что повлияет на госсектор — лично мне плевать
на него уже повлияли 3 года назад, да так, что сейчас госсектора нет и в ближайшей перспективе на этих руинах не вырастет ничего.
поэтому я снова взялся за совершенствование разговорного английского.Alexsandr_SE
30.06.2017 15:29Блин, я пишу про экономию, а вы мне про потратьте деньги. Денег нет, железо 10-ти и более летней давности за редчайшими исключениями. Иногда народ свои компы приносит из дому, не говоря про мелочевку типа клавиатуры и мышки. Самообучение при таких раскладах весьма ограниченное, просто негде взять железо на опыты и довести это потом до ума. Я знаю места где трудятся машины с объемом памяти 256мб.
Из провинции когда выберется, должен будет еще за жилье заплатить, с женой не расстаться…
Как правило в регионах аутсортинг весьма слабо представлен. причина цены. За час берут порядка 20у.е.
Ну а пока плевать на влияние госсектора последний в состоянии при заражении не мало без совершить при остановке свой работы, также такой работы как есть.
eugene08
30.06.2017 14:54Проблема более комплексная, но не сводится только к деньгам
Рукожопство — одна из наиболее важных и опасных проблем. Например, в одном министерстве все компы в одном вилане. Представляете? Клерк Вася может постучать со своего компа на комп министра. Что мешало порезать все на виланы, горизонтально и вертикально?
Eще причина — отсутствие протоколов и стандартов, каждый админ настраивает как хочет/может. Меж тем есть общие принципы позволяющие минимизировать последствия и защитить критичные данные и сервисы (PCI DSS/HIPAA и тп)dmitry_ch
30.06.2017 16:04+2Наверное, тут слово «министерство» не при чем. В минестерства ищут, кстати, людей порой даже и со списком сертификатов, только вопрос в цене, человек с сертификатами не всюду и не за любые деньги пойдет работать.
Ах да, есть еще вопрос про оборудование. Иной раз купить свич — тендерная история на полгода, так что в в приведенном вами случае могу поверить, что построили как умели и на чем было, а потом уже никто не стал трогать.
Есть даже такой подход, что тебе платят 3 копейки, ты сидишь с умным лицом и занимаешься своими делами (в меру умения — фриланс тот же). И тупо затраты времени и энергии на улучшение сети и инфраструктуры тебе не стоят потери денег от несделанного фриланса, причем за вланы тебя не похвалят, а только бы еще и не отругали. Другими словами, условия таковы, что «не гореть» работой выгоднее, чем гореть.
И страна, где такое творится — не при чем. Если нет спрашивающего (кто грамотно оценит усилия) то порой нет резона и на рожон лезть. А если вирус и пожрет, то всегда можно сослаться на вражеских хатцкеров, скажем.
Vlad_fox
30.06.2017 14:42+1по Вашему низкий процент заражения в Белоруси, Росии, Казахстане обьясняется более высокими зарплатами админов в тех странах?
а в говноконторы или гос структуры идут работать токо рукожопы.
— пострадало около 30-и комерческих банков, сомневаюсь что все они укомплектованы исключительно рукожопами.
открою вам еще секрет — в банках не пользуются анонимайзерами. не знаю как у вас, я про украинские банки, в нескольких из которых работал и работаю.
есть более содержательные обьяснения данным ESET?galserg
30.06.2017 15:00украине «повезло» с рукожопами из медока, который, похоже, и стал причиной массового падежа компаний.
в «коммерческих» банках зп давно уже не торт.
и еще — в банках пользуются анонимайзерами, ибо ими на смартфонах пользуются работники.
а 90% вайфаек в подобных конторах живет в той же сети что и рабочие компы (а то и серваки)NiTr0_ua
30.06.2017 21:12в госучреждениях это зверье приползло на почту. а потом — расползлось по локалке.
при этом заползшее с обновлением медка, как ни странно, в одном случае не успело/не смогло заразить другие компы в сети (другая версия?).Frankenstine
03.07.2017 11:19Очень на то похоже, много отзывов «из всей сетки слёг только сервер медока».
Alexsandr_SE
30.06.2017 15:38Банки, представители контор, оптовые поставщики, коммунальные и обслуживающие предприятия… Спико весьма большой, походу куда больше официально заявленного. Ведь что киперполиция может, еще записать +1 к общему списку и не более того. Вирус уже на месте, думать нужно было до этого, так же как и медоку этому дать наказ про изменение методики обновлений своей программы. У людей иной раз доменного админа требует для работы, изверги.
С другой стороны это новая ветка в распространении вирусов. Апдейты большей части приложений могут распространять вирусы в будущем. Взломали сервер и БД, подправить контрольные сумы или вообще или вообще переподписать сертификатов ихним. Программы сами все сделают, сами установят. Сложно, но масштабы и обход сразу кучи проблем говорят о возможности.
Vitalley
30.06.2017 16:26Когда уезжал, с провинциального городка, то там от 100$ были зп, всё что выше считалось очень хорошо.
Charg
30.06.2017 16:54+1А мне кажется что тут причинно-следственная связь перепутана местами. Это не в Украину метили атаку, а просто получилось взломать сервера медка. А раз уж медком пользуются практически только украинцы — вот они и огребли больше всех. А остальные заражения это уже почта.
Wild_ButcheR
30.06.2017 17:12да, мне тоже такой сценарий видится более вероятным
zagayevskiy
30.06.2017 19:44А название Петя — это так, просто по приколу. Да?
Dionis_mgn
30.06.2017 20:41+1Там помимо Пети ещё и Миша есть. Это отсылка к Бондиане. Так что не просто так. Но и к Украине отношения никакого.
burzooom
02.07.2017 13:30хакеры, работающие за 1500\месяц, написали два мощных вируса. что бы собрать с небогатой страны сумму равную их двухмесячной зарплате?
grisfer
30.06.2017 16:26Пишут что это Wiper (уничтожает данные), а не Ransomware.
Ссылкиhttps://geektimes.ru/post/290623/
https://securelist.com/expetrpetyanotpetya-is-a-wiper-not-ransomware/78902/
https://www.symantec.com/connect/blogs/petya-ransomware-outbreak-here-s-what-you-need-know
https://blog.kaspersky.ru/expetr-for-b2b/17896/
https://www.bloomberg.com/view/articles/2017-06-29/the-russian-trail-in-the-latest-ransomware-attackalexnissan
30.06.2017 18:44В соседней ветке мне сказали что можно скопировать первый сектор диска С и загрузочную запись windows и при загрузке системы всегда их перезаписывать сохраненной копией и все петя не будет работать
Frankenstine
03.07.2017 11:22Ерунда. Вирус портит бут уже после загрузки, во время работы оси. За час до (зашедуленной) перезагрузки.
alexnissan
03.07.2017 16:14Ну и пусть портит он не сможет загрузиться вместо ОС, можно даже проверку хешсуммы загрузчика приписать, чтоб его не переписывать каждый раз
Frankenstine
03.07.2017 19:42И как часто проверять будете? Каждую секунду? Или может лучше просто не дать вирусу запуститься?
alexnissan
03.07.2017 19:57При загрузке системы, зачем каждую секунду, сегодня петя завтра виталик, переделали под себя бут ушли на перезагрузку, опа все переписалось как было, они снова переписали перезагрузка опа опять как было, как-то так…
Frankenstine
05.07.2017 09:17Во-первых, бут надо как-то обновлять иногда, например при установке новой версии винды. Значит, где-то должна быть соответствующая процедура. Вирус может встроиться в эту процедуру, и тогда вы при каждой перезагрузке будете ЗАРАЖАТЬ бут вирусом.
Во-вторых, если найдётся какая-нибудь непропатченная возможность уронить винду в BSOD, ничто не помешает вирусу заразить бут и следом же уронить винду, и заражённый бут будет запущен.
Вы пытаетесь повторить подвиг Дона Кихота. Сражаетесь с ветрянными мельницами.alexnissan
05.07.2017 11:27Я вижу примерно так на диске отдельный раздел например ext4 чтобы windows его не видел на нем например grub со всеми настройками по проверке и восстановлению загрузочных записей, из него загрузка windows. Никаких мельниц. Почитайте «shellcoder handbook». Мне не понятен момент когда происходит шифрование, под windows или после загрузки вируса вместо него?
Frankenstine
05.07.2017 14:14Вирусу накакать на ваши разделы, ему нет до них никакого дела. Он просто перезапишет бут своим кодом, который запустится ВМЕСТО grub'а.
Вирус NotPetya состоит из двух частей — одна из-под Windows записывает вредоносный код в бут и шифрует файлы по списку расширений, другая часть уже запускается из бута и шифрует MFT, а так же отображает требование выкупа.alexnissan
05.07.2017 14:52Ну grub можно записать на CD диск, usb-SD, e-mmc — на все что можно сделать механически read-only, в биосе указать загрузку только с этого носителя. А вот шифровка из под windows это думать надо, интересно за сколько повремени cuda и nvidia tesla справятся с подбором ключа перебором…
Frankenstine
05.07.2017 15:20Если вы будете держать grub на CD диске, то как вы будете обновлять ядро, которое выходит с периодичностью примерно раз в неделю-две? Хрень вы предлагаете, ей-богу. Тем более в старых БИОСах был пункт защиты бута от записи. Помогал ровно никак.
alexnissan
05.07.2017 15:49Какое ядро? Зачем обновлять? У меня grub без обновления работает несколько лет и никогда не просился обновиться. Биос не грузит ничего кроме него как не крути! Это реальное решение, а что можете предложить Вы?
Frankenstine
06.07.2017 16:24Изучите на досуге что такое grub stage 1, stage 1.5, stage 2…
alexnissan
06.07.2017 16:35Спасибо но Зачем? у меня старая версия наверно 2010 года, поставил настроил и забыл. У Вас что-то не получается вы и читайте, я в свое время английский выучил, когда мануалы читал.
alexnissan
06.07.2017 17:35Все я понял вы прочитали до booting components и там описана загрузка linux: kernel и initrd и вы думаете, что это все нужно для работы самого grub, для выполнения проверки хеша загрузчика и восстановления mbr вам возможно понадобится промежуточно использовать linux для выполнения bash scripta, до передачи загрузки windows, если не сможете написать в самом grub, так что читайте внимательнее…
Frankenstine
06.07.2017 22:27Stage 1 слишком мал чтобы вместить драйверы файловых систем, поэтому он просто передаёт загрузку на Stage 1.5 (core.img записанный в пустое место сразу после бут сектора), который обновляется каждый раз, когда ставится новое ядро. Без этого grub не сможет загрузить ядро.
Во-первых, вы не можете держать загрузочный сектор на незагрузочном устройстве. Во-вторых вы не можете забить на обновления и не обновлять ядро, а значит и grub.alexnissan
07.07.2017 11:06Экий Вы не гибкий! Возьмем к примеру liveCD как он по Вашему обновляется?
Frankenstine
07.07.2017 14:15На LiveCD ядро не обновляется, скрипт обновления там представляет собой заглушку, только лишь выводящую сообщение о невозможности обновления ядра. Чтобы реально обновить LiveCD, его просто полностью пересобирают.
alexnissan
07.07.2017 15:57А зачем вообще обновлять liveCD? Если вам так проще понять, тогда возьмите iso образ из него все выкиньте что не нужно, оставьте только grub и нужные для его работы каталоги, все настройте как вам надо например меню загрузки:
--> windows check and recovery hdd disk partition structure
--> load windows
(тут фантазируйте как вам лучше грузить по цепи или отдельными пунктами)
и запишите на диск. Ну как в биосе настроить загрузку только с CD я думаю вы знаете.Frankenstine
09.07.2017 12:17На liveCD можно доустанавливать (до перезагрузки, понятное дело) любой софт… кроме более свежего ядра. В любом случае загрузка с liveCD никак не подходит для борьбы с шифровальщиками, в том числе с НеПетей.
alexnissan
09.07.2017 15:08Мне мастерства хватает делать свои «liveCD», чтобы ничего не доустанавливать, до перезагрузки. Для борьбы не подходит, а для восстановления разделов и загрузки подходит, для поиска и восстановления измененных и удаления лишних системных файлов при загрузке системы подходит. Пишут, что массовое распространение началось 27.06, а может он спал и его разбудили? Борьба это для антивирусов.
Frankenstine
09.07.2017 15:30Он не спал, а был загружен через BackDoor.Medoc, см. https://habrahabr.ru/company/drweb/blog/332444/
vagran
30.06.2017 19:44Монетки капают понемногу. 300 евро — это около 0.13 битков, все транзакции около этой суммы скорей всего от жертв.
RomanStrlcpy
30.06.2017 21:07А может ли кто нить рассказать как они это всё будут обналичивать? Ведь безличность вроде как только внутри самой сети криптовалюты.
alexnissan
30.06.2017 22:20+1Накупят товаров в интернет магазинах и продадут через е-bay, как вариант, а может это отвлекающий маневр и деньги они уже получили при варианте «нас может спасти только кража» что более вероятно
vilgeforce
При вызове CryptExportKey можно указать каким ключом шифровать экспортируемый, трой так и делает. Экспортируемый шифруется RSA-2048, так что тут без шансов скорее.
sat_art
А если знать чем шифруется экспортируемый?
vilgeforce
Да не вопрос, RSA ключ в трое лежит практически открытым текстом. Только это RSA и не поможет.