Remote desktop

Discussion in 'WASM.NETWORKS' started by art123, Apr 30, 2019.

  1. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    привет всем

    для развлечения накатал на масме удаленное управление компом, в смысле пересылку десктопа и командной строки. получилась пародия на радмин) исходник написан в ультраедит так что remotedesk.prj - это файл ультраедита. кому не лень будет посмотреть можете высказать все что об этом думаете) версия далеко не окончательная
     

    Attached Files:

  2. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    есть идея приделать авторизацию - принимается конструктивная критика )

    ; **** принцип авторизации на основе RSA 256-бит ****
    ; у клиенте есть приватный ключ
    ; у сервера есть публичный ключ клиента и ID клиента связанный с этим ключом
    ; **** протокол авторизации ****
    ; - клиент отправляет серверу свой ID
    ; - на это сервер отправляет рандомные 32 байта зашифрованные публичным
    ; ключом клиента - ассоциированного с этим ID
    ; - клиент расшифровывает данные и возвращает серверу
    ; - сервер сравнивает полученные данные с отправленными
    ; **** процесс конфигурации ****
    ; - клиент выбирает себе ID и генерирует пару ключей Публичный и Приватный
    ; - Публичный ключ устанавливается на серверной стороне
    ; - Приватный ключ устанавливается на стороне клиента
    ; - хранить их можно в реестре или в файле
    ; - в код сервера и клиента встраиваем ID-Setup с соответствующими ключами
    ; - ID-Setup перестает работать(сервер его игнорирует) как только появляется любой клиентский ID
     
  3. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Почему бы не создавать на сервере локальную (или использовать виндовую) учетную запись с хешированным паролем, как тот же радмин например делает?
     
  4. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    мне не очень нравиться использование виндовых учетных данных тем, что нужно вводить user/dom/pass аж три параметра.
     
  5. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Сделай 1 параметр, хешируй и отдавай серверу. У того же радмина есть галка запомнить имя пользователя и каждый раз вводится только пароль.
     
  6. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    в принципе учетные данные можно хранить в записной книжке вместе с ИП адресом, тогда их можно вводить только один раз. Интересная мысль надо подумать.
     
  7. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    кому интересно как приделать НТ авторизацию можете посмотреть в архиве
     

    Attached Files:

  8. __sheva740

    __sheva740 Active Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2017
    Messages:
    312
    Классная программа! Спасибо
    Но вместо того что-бы шифровать траф, может сделать то чего нет ни у кого?
    Например - передача изображения стола по DNS протоколу?
    Вот это была -бы разработка.
    А так - супер!
    Спасибо еще раз
     
  9. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    На счет DNS - мысль интересная, но я не вижу смысла в этом, У меня есть в запасе пару идей на которые я бы потратил время. В архиве следующий шаг по пути к совершенству) теперь можно пинговать серверы в записной книжке, использовать НТ авторизацию, сохранять пароли, устанавливать сервер по SBM2 протоколу(на 32-битных системах еще не проверял). Осталось сделать файлманагер и расширить функции телнета.
     

    Attached Files:

  10. __sheva740

    __sheva740 Active Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2017
    Messages:
    312
    Ваше дело конечно. Но если back-connect прикрутить, то все фаерволы обойдет.
    Хотя и так круто.
    ))
     
  11. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    back-connect - это интересная идея, вот только какую модель взаимодействия между клиентом и сервером реализовать, т.е. как сервер узнает о намерении клиента и точку подключения? вариантов-то много.
     
  12. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Это был намек на то, чтобы сделать троян. Я бы на твоем месте придумывал как еще можно минимизировать трафик. Тимвивер например инжектится в процессы, то ли чтоб ловить изменения в окнах, то ли для перехвата вообще обращений к gdi.
     
  13. __sheva740

    __sheva740 Active Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2017
    Messages:
    312
    А это правильный вопрос.
    ))
     
  14. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    насчет трафика у меня есть три варианта для размера пикселя экрана 4,8,16 бит сейчас установлено 8. можно поставить 4. не понял что именно ты хочешь уменьшить трафик или нагрузку на проц? хуками трафик не уменьшишь
     
  15. sn0w

    sn0w Active Member

    Blog Posts:
    0
    Joined:
    Feb 27, 2010
    Messages:
    958
    равсокетом слушай магический пакет с координатами например
    пс, только права, мда. ну или гдето периодически чекать, по другому хз.
     
    Last edited: May 3, 2019
  16. __sheva740

    __sheva740 Active Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2017
    Messages:
    312
    гуглить по запросу "децентрализованная сеть" ?
     
  17. sn0w

    sn0w Active Member

    Blog Posts:
    0
    Joined:
    Feb 27, 2010
    Messages:
    958
    а чтоб загуглить - что нужно? для начала наверное узнать где гуглить, не?
     
  18. UbIvItS

    UbIvItS Well-Known Member

    Blog Posts:
    0
    Joined:
    Jan 5, 2007
    Messages:
    6,242
    если нужен эталон ремоут десктопа, то лучше https://www.nomachine.com я ничего не видел.
     
  19. art123

    art123 Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2019
    Messages:
    84
    для любителей бакконекта - теперь сервер дополнительно умеет инициировать связь. работает это так; клиент все время слушает порт 7788, все остальное тоже работает. Сервер каждые 30 сек тянет из инета по урлу файл в котором записан ИП. По этому ИП он конектится к порту 7788. Клиент получает запрос и предлагает юзеру выбрать режим работы и ввести учетные данные. В тестовом режиме сервер читает фай secret.dat из своей директории с такой - @192.168.1.219@ - записью. Если файл есть - сервер пробует соединиться, если нет - не пробует. Независимо от этого сервер работает как обычно. Нужно ReadFileInMem закоментировать, а URLDownloadToFile раскоментировать и будет общение с инетом.
     

    Attached Files:

  20. __sheva740

    __sheva740 Active Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2017
    Messages:
    312
    Класс!
    А если ( пусть в локальной сетке) по соседству таких 2 сервера!
    Как они могли-бы найти друг друга и синхронизировать свои "файл в котором записан ИП"
    Просто как варианты решения. Без реализации в коде.

    ... допустим у одного, пусть он - "сервер 1" на борту есть доступ в инет , а у "сервер 2" только локалка
    а в инет он не ходит. Чисто теоретически.

    Надеюсь я не пересек черту уравновешенности своими вопросами?
     
    Last edited: May 5, 2019