Две машины, под XP...

Тема в разделе "WASM.NETWORKS", создана пользователем _Juicy, 27 сен 2011.

  1. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Условия задачи:
    - сеть из двух компьютеров под управлением WinXP, Comp1 и Comp2, воркгруппа
    - админские креды неизвестны
    - на каждой есть по пользователю из группы Users: User1 на Comp1 и User2 на Comp2
    - User1 и User2 имеют пустой пароль
    - сетевой логон User1 и User2 запрещен
    - на обеих машинах есть компиляторы
    - есть CD-Rom'ы (неизвестно правда, рабочие ли). Флешек и т.п. нет.
    - Шаринг запрещен

    Задача: Передать файлик с одного компьютера на другой.
    Варианты решения?
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Либо использовать СOM-порты, LPT, либо вставить второй жесткий диск или вынуть первый :)
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Squash
    1) Грузим хотя бы одну из машин с диска (с Hiren's BootCD, например) и сбрасываем админский пароль (с помощью NT Password Changer, например). После чего делаем, что хотим, включая расшаривание.
    2) Берём третью машину, к которой имеется полный доступ, (условно ноут) на которой поднимаем ftp-сервер (например, стандартный виндовый). Втыкаем сетевой кабель в машину источник и ноут. Передаём на ноут файл с машины-источнка через стандартные ftp/tftp. С ноута на машину-назначение аналогично.

    P.S. Кстати, это скорее HEAP или SOFTWARE, а не NETWORKS.
     
  4. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Юзайем сокеты + CREATEFILE
     
  5. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Загрузить оба с livecd с linux-ом и передать
     
  6. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Из стандартного XP софта можно воспользоваться HyperTerminal на обоих машинах.
     
  7. _Juicy

    _Juicy Active Member

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

    shchetinin, roman_pro спасибо за наводку, попробую.
     
  8. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Squash
    Имхо если файл большей, то вариант "сокеты + CREATEFILE"
    спровоцирует массу эмоциональных всплесков ))
    Лучше уж HyperTerminal.
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
  10. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    кхе-кхе. А выхода в интернет или корпоративной почты нет? Сервера в сетке? Почему нельзя добавить еще 1 машину в сеть? там же воркгруппа. Не домен. Религия не позволяет? Боитесь пришествия злого админа, если обнаружит постороннюю машину в сети? Да ладно, не обнаружит. Откуда - там поди и IP статические прописаны, никакого DHCP. Ну подумаешь, в сети еще одна машина. Нельзя в принципе? Ну возьмите кроссовер, притащите ноут с линуксом, на котором расшарьте что хотите, соедините кроссовером с одной машиной, перекиньте. Переключите кроссовер в другую машину, перекиньте. Ноут в сетке не появится :)

    ЗЫ: а учитывая воркгруппу, и пустые пароли у юзеров - линукс на ноуте вообще не обязателен. Можно и ХР. и 2К. Завести этих юзеров локально, тоже с пустыми паролями, и обычная шара. Сложно витую пару кроссом обжать?

    ЗЗЫ: да, это более развернутый №3. Не вижу, что мешает так сделать кроме отсутствия ноута :)
     
  11. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Не царское это дело :)
     
  12. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    _sheva740
    Полнейшая глупость.
     
  13. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Не царское дело угробить неделю на написание и отладку проги для передачи через сокеты файла. Как подумаю, что на обоих компах придется с листа набирать текст (компиляторы-то есть, а исходник-то тоже не передать :)) - уже геморойно кажется. А обжать кусок провода - минутная задача, коннекторы стоят условно 1 рубь, как в них всунуть провод - см в гугле, один по А, второй конец по Б. Кусок провода - тоже не проблема. Забить коннектор можно отверткой, если мультитула нет. Если 15 рублей не жалко, идем в ближайший комп-подвальчик, где комплектующие и всякие картриджи продают, и нет менеджеров в костюмах с галстуками, и нам обжимают и продают готовый кросс.

    ЗЫ: а гипертерминал вам не поможет. Легче через mstsc подключить удаленный стол. Благо ХР, не обезображенная всякими там вистами или семерками, в плане предоставления рабочего стола вполне дружелюбна. Если пустой пароль будет помехой - поменять на не-пустой.
     
  14. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Конечно же, служба терминалов прикрыта и пароль менять запрещено.
    ЗЫ: Меня интересуют программные способы в первую очередь.
     
  15. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Ну может быть и так.
    Вот еще вариант.
    Код (Text):
    1. .386p
    2. .model flat,stdcall
    3. option casemap:none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\wsock32.inc
    6. include \masm32\include\kernel32.inc
    7. includelib \masm32\lib\wsock32.lib
    8. includelib \masm32\lib\kernel32.lib
    9. include \masm32\include\shell32.inc
    10. includelib \masm32\lib\shell32.lib
    11.  
    12.  
    13. .data
    14.     victim  db "test.txt",0
    15.     welcome db 13,10,"Telnet file sender",13,10,0
    16.     err db "ERROR",0              
    17.     wsaData WSADATA <>
    18.  
    19. .data?
    20.     s1  SOCKET      ?
    21.     sin1    sockaddr_in <>
    22.     temp    dd      ?
    23.     s2  SOCKET      ?
    24.     sin2    sockaddr_in <>
    25.  
    26.     fsize   HWND        ?
    27.     fhwn    HWND        ?
    28.     fmap    DD      ?
    29.     mapv    DD      ?
    30.     ofst    OFSTRUCT        <?>
    31.  
    32. .code
    33. start:
    34.     invoke  WSAStartup,101h,addr wsaData
    35.     invoke  socket,PF_INET,SOCK_STREAM,0
    36.     mov s1,eax    
    37.     mov ax,AF_INET
    38.     mov sin1.sin_family,ax
    39.     xor eax,eax
    40.     mov sin1.sin_addr,eax
    41.     invoke  htons,233                       ;port for connection
    42.     mov sin1.sin_port,ax
    43.     invoke  bind,s1,addr sin1,sizeof sockaddr_in
    44.     cmp eax,SOCKET_ERROR
    45.     jne @F
    46.     invoke  WSACleanup
    47.     xor eax,eax
    48.     ret
    49.  
    50.  
    51. @@:
    52.     invoke  listen,s1,1
    53. Userlogs:
    54.     invoke  closesocket,s2
    55.     mov eax,SIZEOF sockaddr_in
    56.     mov temp,eax
    57.     invoke  accept,s1,addr sin2,addr temp
    58.     mov s2,eax
    59.     invoke  send,s2,addr welcome,SIZEOF welcome,0
    60.  
    61.     invoke  OpenFile,offset victim,addr ofst,OF_READWRITE  ;open file
    62.     mov fhwn,eax
    63.     invoke  GetFileSize,fhwn,fsize
    64.     invoke  CreateFileMapping,fhwn,0,PAGE_READWRITE,fsize,0,0
    65.     mov fmap,eax  ;mapping
    66.     invoke  MapViewOfFile,eax,FILE_MAP_ALL_ACCESS,0,0,0
    67.     cmp eax,0
    68.     je  error
    69.     mov mapv,eax
    70.     invoke  lstrlen,eax
    71.     invoke  send,s2,mapv,eax,0 ;sending data
    72.  
    73.     invoke  closesocket,s1
    74.     invoke  closesocket,s2
    75.     invoke  WSACleanup
    76. @@:
    77.     invoke  ExitProcess,0
    78. error :
    79.     invoke  send,s2,addr err,sizeof err,0
    80.     jmp @B
    81. end start
    1. На первой(ip=192.168.1.1)машине создать папку с:\123
    В ней собранный код выше (например mysend.exe)и рядом файл test.txt - тот который нужно передать.
    Код (Text):
    1. c\123
    2. ..
    3. mysend.exe
    4. test.txt
    2. Запускаю mysend.exe
    3. На второй машине (ip=192.168.1.2) делаю
    Код (Text):
    1. c:\telnet 192.168.1.1 233 [Enter]
    ... и на экране получаю содержимое text.txt с первой машины.
     
  16. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Squash
    Только теперь вопрос - "как ты соберешь этот код на первой машине" ))
     
  17. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Интересно узнать, почему ? В отличие от telnet/ftp запущенный сервис ему не требуется. Кроме того, в списке компонентов Windows HyperTerminal не значится, так что если админ не удалил руками, то он есть в системе Windows XP. В Vista+ его убрали (хотя скопированный из XP прекрасно работает).

    Что касаемо идеи отсылать файл через сокеты вручную - есть специальное API TransmitFile, которое, по идее, упростит процесс написания подобного кода. Компиляторы, по условиям задачи, в системе есть. Хотя если бы вдруг не было, то пришлось бы немного поискать - не стоит забывать что на XP с установленным .net framework (а его как правило ставят в корпоративном секторе, т.к. софт написанный под .net не редкость), а так же на системах Vista+ компилятор C# (тапками не кидаться) всегда присутствует, так что можно компилить простые C# программы в спартанских условиях "голой" машины. Для затравки. Про возможности использования vbscript/jscript/bat упоминать не буду.

    Ну и совсем извращённый способ вспомнился: net send. Правда годится только для отправки текстовых сообщений, но ничего не мешает Ctrl+C, Ctrl+V текст построчно с обеих сторон. Главное случайно net send * не сделать, а то все пользователи сети будут счастливы. В студенческие годы был подобный забавный случай с подсказками на лабах в универе и случайной отправкой их по всей сети, в том числе зав. кафедрой и декану :)))