Реализация BootKitа

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Artorios, 28 Aug 2012.

  1. Artorios

    Artorios New Member

    Joined:
    23 Feb 2012
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Всем привет.Каким-то прекрасным вечером захотел я написать
    в качестве ознакомления bootkit.Теперь уже как пол года не могу оторваться от этой затеи.У меня не получается вот такой момент:Я хучу int 13h,смотрю в прочитанном буфере вот такую
    цепочку 8B F0 85 F6 74 21 80 3D.Если её нашёл,то заменяю её на call моя_обработчик,в котором выполняется мой код и потом 8B F0 85 F6 74 21 80 3D.Вопрос вот в чём,после патчинга винда не грузится.В чём может быть проблема?
     
  2. D4rkC10ud

    D4rkC10ud New Member

    Joined:
    30 Jul 2012
    Messages:
    27
    Likes Received:
    1
    Reputations:
    0
    Бери отладчик QEMU и смотри или покажи исходный код.
     
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    есть такие замечательные люди как Nitin Kumar и Vipin Kumar они выложили в паблик свой буткит. Довольно нормально описано всё. Ищи по ключевым словам bootkitbasic или privilege escalation boot kit и именам авторов. Там был пример даже буткита который давал cmd права системы. От туда и поглядишь как и что делается.
     
    1 person likes this.
  4. Artorios

    Artorios New Member

    Joined:
    23 Feb 2012
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Ну,в общем,нашёл я пример получения cmd с правами system,но,к сожелению,исходник буткита после компиляции не соответствует приложенному файлу,что означает,что из исходника что-то скрыли.Вот сам вод:
    http://newprogrammers.ru/rootkits.rar
     
  5. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    Если я все правильно понял, о почему бы не декомпилировать готовый билд и не посмотреть в чем изменения? Может дело просто в оптимизации?
     
  6. Artorios

    Artorios New Member

    Joined:
    23 Feb 2012
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Кстати,изночально код компилируется,но получается файл с размером 0.и список 3 ошибок:

    Code:
    bootkit.asm:388 operation size not specified 
    bootkit.asm:393 operation size not specified 
    bootkit.asm:448 operation size not specified
    
    Вот на каком моменте эти ошибки:
    Code:
    388 строка: 
    push CODEBASEKERNEL + newthreadstartshere;threadstartlocation
     я исправил на push dword 
    CODEBASEKERNEL + newthreadstartshere ; threadstartlocation 393 строка была: 
    push CODEBASEKERNEL + Threadhandle 
    я исправил на push dword CODEBASEKERNEL + Threadhandle и 449 строка была: 
    push CODEBASEKERNEL+fullbackdoorcode 
    я исправил на 
    push dword CODEBASEKERNEL+fullbackdoorcode
    
    По сути,подставил dword.Тогда всё отлинковалось нормально.
    Попробуйте,пожалуйста у себя испытать код и отпишитесь,как что получилось,очень уж душетрепещущая эта темя для меня.Может кто захочет со мной дописать буткит,тогда вот моя ася:114320.Буду вам рад.
    P.S вы просто не предстовляете,таких трудов мне стоило найти эти сорсы,везде попадалась урезонная версия,которая по идее патчит байты и выводит надпись,но не более,и даже это не работало.
     
    #6 Artorios, 22 Dec 2012
    Last edited: 22 Dec 2012