• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Anti VM/AV/SANDBOX

C#:
 if (SystemInformation.PowerStatus.BatteryChargeStatus == BatteryChargeStatus.NoSystemBattery)
 {
    // Desktop
 }
 else
 {
      // Laptop
 }

ещё можна чекать есть ли на компе блютуз
C++:
bool IsLaptop() // Courtesy of betamonkey -- Determines if the host computer is a laptop or a desktop
{
    bool bReturn = FALSE;

    SYSTEM_POWER_STATUS spsPowerInfo;
    if(GetSystemPowerStatus(&spsPowerInfo))
    {
        if(spsPowerInfo.BatteryFlag < 128)
            bReturn = TRUE;
    }

    return bReturn;
}
 
проблема с этим знаменитым избеганием песочницы заключается в том, что AV обнаружит его быстро, как вы правильно объясняете, это очень хорошо задокументировано, нет смысла иметь анти-VM, если они могут статически обнаруживать ваш код AntiVM и блокировать выполнение, бессмысленная деятельность по созданию которые уже ищут в коммерческом вредоносном ПО
в моей голове
 
проблема с этим знаменитым избеганием песочницы заключается в том, что AV обнаружит его быстро, как вы правильно объясняете, это очень хорошо задокументировано, нет смысла иметь анти-VM, если они могут статически обнаруживать ваш код AntiVM и блокировать выполнение, бессмысленная деятельность по созданию которые уже ищут в коммерческом вредоносном ПО
в моей голове
Да много чего расписано, но это не мешает не много сделать по своему и избегать ав
 
Да много чего расписано, но это не мешает не много сделать по своему и избегать ав
да 100% можно сделать творчески и избежать обнаружения известными методами, но риск нужно оценивать в зависимости от целевой среды на мой взгляд
 
Из менее задроченных способов, которые я видел, является проверка таблицы векторов прерываний (IDT) через функцию __sidt. Суть в том, что на физической машине 5 и 6 байты равны нулям, когда на ВМ эти байты не равны нулю. С Win10 оно отрабатывает нормально, однако на Win7 имеется ядерная утечка адреса таблицы, из-за чего ВМ всегда будет определятся как физическая машинка, так как адрес (вероятней всего) расскрывается полностью. Теоретически, фиксится это побайтовой проверкой регистра IDTR (где хранится IDT), вместо целых 10 байт.
Разбирали это вот здесь.
Можете ли вы предоставить дополнительные материалы для чтения о таблице векторов прерываний и ее назначении?
спасибо, что тоже поделились своими знаниями 👍
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх