NtQuerySystemInformation - 0xC0000017

Discussion in 'WASM.WIN32' started by Aiks, May 31, 2020.

  1. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    Aiks,

    Это очевидные вещи, разрабы ядра не так глупы, половину ядра 10-ки занимают механизмы безопасности и прочие навороты. Оно глючило потому что намеренно был введён рандом в запрос по описателям, в связи с тем что это лишь малварке нужно, реверси ядро; даже если на текущем сеансе будет стабильность, то на другом будет анстаб. Я бы это не юзал.

    Кстате зачем тебе описатели ?
     
    Aiks likes this.
  2. Aiks

    Aiks Member

    Blog Posts:
    0
    Joined:
    Apr 16, 2017
    Messages:
    109
    Location:
    Украина
    Indy_, детект процессов которые получили дескриптор для чтения/модификации памяти моего процесса + детект некоторых программ.
     
  3. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    Aiks,

    Античит значит пилишь. Так вот описатели нужны для получения их обьекта обычно(кернел адрес его), можно тупо ссылки на обьект посчитать, что не наше значит чит, через счётчики ссылок на обекты выполнялись атаки на ядерные фильтры ав :sarcastic:
     
    Aiks likes this.
  4. Aiks

    Aiks Member

    Blog Posts:
    0
    Joined:
    Apr 16, 2017
    Messages:
    109
    Location:
    Украина
    Но в таком случае я смогу только детектить. Будет много false detections. Ибо даже легальные программы могут открывать мой процесс. А мне еще нужно иметь возможность закрыть этот дескриптор у другого процесса. С моим методом это возможно.
     
  5. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    Aiks,

    Что же за метод, если он основан на палевном механизме слепков, в который ради защиты введён рандом и ты про это ничего не знаешь. А как быть с правами, толку то от описателя, если тебя защита заблочит при попытке доступа. Эти слепки нужны были для иной цели, морозился второй поток во время ядерной обработки. Счётчик ссылок или эти слепки позволяли узнать что тред встал в ядре в безопасном для атаки месте.
     
    Aiks likes this.
  6. Aiks

    Aiks Member

    Blog Posts:
    0
    Joined:
    Apr 16, 2017
    Messages:
    109
    Location:
    Украина
    Indy_, речь идет про ZwDuplicateObject + DUPLICATE_CLOSE_SOURCE и CloseHandle.

    Все зависит от уровня знаний человека, который решил обойти защиту. Против большинства работает.
     
    Last edited: Jun 1, 2020
  7. Indy_

    Indy_ Well-Known Member

    Blog Posts:
    4
    Joined:
    Apr 29, 2011
    Messages:
    4,788
    Aiks,

    Ну это понятно, двадцати летней давности статьи про инжекты ms-rem'a.
     
    Aiks likes this.
  8. hiddy

    hiddy Member

    Blog Posts:
    0
    Joined:
    Mar 10, 2019
    Messages:
    82
    Можно попробовать перечислять хэндлы для каждого процесса по-очереди. Логика примерно такая:
    1. NtQuerySystemInformation(SystemProcessInformation)
    2. NtOpenProcess(SystemProcessInformation->UniqueProcessId)
    3. NtQueryInformationProcess(ProcessHandleInformation, sizeof(ProcessHandleInformation) * SystemProcessInformation->HandleCount))
    4. NtQueryObject(ProcessHandleInformation->HandleValue)
     
    Aiks and Rel like this.
  9. Aiks

    Aiks Member

    Blog Posts:
    0
    Joined:
    Apr 16, 2017
    Messages:
    109
    Location:
    Украина
    hiddy, хороший вариант. Спасибо большое! :good3: