Как ограничеть доступ к сети

Тема в разделе "WASM.WIN32", создана пользователем Shrek, 12 окт 2005.

  1. Shrek

    Shrek New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    5
    Адрес:
    Ukraine
    Задача стоит так ... что с локальной машина можно ходить на удаленную токо в определенные папки и делать что разрешено правами.

    Я перехватываю ZwCreatrFile ZwOpenFile ZwSetInformationFile

    все бы хорошо но после того когда я возращаю код ошибки, при попытке доступа к тем элементам, но после этого к ним вообще нету доступа ни на локальной ни на удаленной машинах . Подскажите в чем может быть трабл?
     
  2. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Ну и нафига, спрашивается права юзера придумали?
     
  3. Shrek

    Shrek New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    5
    Адрес:
    Ukraine
    это по верх прав

    и будет ставиться не на сервере а на удаленной машине
     
  4. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Код в студию. Нуна увидить что ты там делаеш.
     
  5. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Ух... Может лучше перехватывать Netbios из Netapi32.dll?
     
  6. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Shrek

    а может лучше перехватывать функции IOxxx, там уже без проверки прав.
     
  7. Shrek

    Shrek New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    5
    Адрес:
    Ukraine
    мне надо запретить любой проги лезть куда ей нельзя

    я делал так ....

    но потом фал блокируеться полностью



    NTSTATUS

    NTAPI

    HookSetInformationFile(

    IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PVOID FileInformation, IN ULONG Length, IN FILE_INFORMATION_CLASS FileInformationClass )

    {

    NTSTATUS ntstatus,nt;

    PFILE_OBJECT FileObject = NULL;

    WCHAR filename[] = L"\\test\\test.txt";

    if (FileInformationClass == 13)

    {

    nt = ObReferenceObjectByHandle(FileHandle,FILE_WRITE_DATA,NULL,KernelMode,( PVOID*)&FileObject,NULL);

    if (nt == STATUS_SUCCESS)

    {



    if(wcscmp(FileObject->FileName.Buffer,filename)== 0)

    {

    ZwClose(FileHandle);

    return STATUS_ACCESS_DENIED;

    }



    }





    }





    ntstatus = RealSetInformationFile(FileHandle,IoStatusBlock,

    FileInformation,Length,FileInformationClass);

    return ntstatus;



    }
     
  8. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Shrek

    Ты сам то понял, чево нагородил ?? =)
     
  9. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Shrek

    Зачем ты закрываешь хендл ? ZwClose(FileHandle);
     
  10. Shrek

    Shrek New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    5
    Адрес:
    Ukraine
    если я правель панимаю что файл прежди чем удалиться ставить атрибут на удаление ?

    я вот и хочу запретить его удолять.

    с ZwClose(FileHandle) переборщил ... впринцепи что есть что нету не помогает ...
     
  11. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Ты под дебагом проганял ? У тебя на второй раз код к

    "if(wcscmp(FileObject->FileName.Buffer,filename)== 0)" доходит ?



    ЗЫ. Ты можеш конкретно сказать что получаешь, что делал ? Или мы тут должны догадываться ?!
     
  12. Shrek

    Shrek New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    5
    Адрес:
    Ukraine
    создается папка/файл ставится хук на NtSetInformationFile - зачищаем от удаления. в первый раз папка/файл не удаляется, работает хук,но потом нельзи ни открыть ни удалить, вообщем ничего нельзя сделать, ни на локальной ни на удаленной машине, даже при выгруженном драйвере.

    + filemon показывает что services.exe тоже пытается работать с папкой/файлом.



    ps MegaZu доходит
     
  13. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Shrek

    у тебя изначально алгоритм какой то мутный, проще попробовал бы, статей по перехвату на васме дофига, соорудил бы чево нить в этом духе
     
  14. SPath

    SPath New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2005
    Сообщения:
    13
    CARDINAL

    чего он мутный. обычный хук на файл/папку с проверкой по имени/пути. куда уж проще.

    единственное но: если это выполеняется на текущей машине то все нормально а если текущая машина лезет по сети на другой тазик и там делает это все, то проявляется кривость. проблемма связанна именно при работе с сетью.