Как я ломал сеть "Меня уволили. Вот незадача. А главное, что уволили ни за что. Всего-то поиграл в обеденный перерыв в Unreal. И вот теперь безработный. А когда Любовь Борисовна из бухгалтерии принесла на дискете тетрис и завалила сервер платежной системы из-за находящегося там вируса, ее всего лишь пожурили. А секретарша Светка распространила вирус Melissa по нашей сети. И тоже ничего. А меня уволили. Ну… я тоже не лыком шит. Я всем докажу, что я могу отомстить. И как отомстить! Они меня еще попомнят". Так я думал в момент получения расчета в нашей, точнее уже в их, бухгалтерии. Но думы думами, а надо что-то делать. С последней зарплаты я купил бочонок "Балтики" и пошел к Андрею, считавшемуся в нашей компании крутым хакером. - Ну что случилось? – спросил меня Андрей, когда я завалился к нему под вечер с бочонком пива. - Да вот, уволили ни за что, ни про что, – ответил я. - И что? - Да вот хочу насолить им так, чтобы не повадно было. Сможешь помочь? – спросил я. - Надо подумать. А в каком плане ты хочешь насолить? - А что можно сделать? Хочется и на бабки их поставить и на всю Россию ославить, – размечтался я. - Ну что же. Можно попробовать и то и другое сделать. Все зависит от времени и квалификации ваших админов. Раскупоривай бочонок, а я пойду комп готовить. Выпив по кружке пива, мы приступили к противоправной деятельности, которая, согласно 272 статье Уголовного Кодекса РФ, могла лишить нас свободы на срок до 5 лет. Первое, что сделал Андрюха, это зарегистрировал новенькую Internet- карту у своего провайдера. - А они нас не отследят? – спросил я. - Кто? Пров или твой банк? - И те, и другие. Ведь по идее у провайдера может стоять АОН. А еще они могут заблокировать твою карточку? - И что? Во-первых, можно купить несколько самых дешевых карточек. А во-вторых, надо еще доказать, что звонок действительно шел из моей квартиры. Применение АОНа у прова должно быть юридически разрешено, иначе все его потуги доказать мою виновность будут бесполезными. Кроме того, кто мне мешает сказать, что меня подставили, и кто-то подцепился к моей телефонной паре? Презумпцию невиновности еще никто не отменял. - А насколько просто подцепиться к чужой телефонной паре? – спросил я. - Достаточно легко. Распределительные щиты запираются редко. Так что проблем особых не вижу. Можно, конечно, пойти с notebook в другой дом и, подцепившись к чужой паре, ломать оттуда, но чего-то не тянет. Холодно, да и будем надеяться, что пронесет и нас не засекут. - Ну что ж. Начнем? – с замиранием сердца спросил я. Андрей залогинился в Internet и зашел на какой-то сервер. На заглавной странице высветилось название "Российский НИИ развития Общественных Сетей". - Это что за сервер и зачем ты сюда зашел? – спросил я. - Это сервер РосНИИРОС, российский аналог InterNIC. На нем я могу получить детальную информацию о всех зарегистрированных в России доменах. В том числе и о твоем банке. При помощи сервиса WHOIS (http://www.ripn.net:8080/nic/whois/index.html) я смогу узнать IP-адреса узлов, видимых снаружи, принадлежность к провайдеру и другую интересную информацию. Например, я могу узнать некоторые телефоны, имеющиеся в организации, что позволит мне попытаться позвонить по ним с целью обнаружения установленных модемов. - И что? – недоуменно спросил я. - Что, что? Если есть модем, то я могу попытаться проникнуть в сеть в обход, через "черный ход". В этом случае меня могут вообще не заметить и я смогу орудовать в вашей сети сколько мне заблагорассудится. - А-а-а, - протянул я. – И часто такое случается? - Бывает. Если в компании мало заботятся о своей безопасности или в ней работают сотрудники не IT-подразделений, считающие себя компьютерными гениями. В обоих случаях, модемы установлены на рабочих станциях внутренней сети и никак не защищены. - А для чего могут использоваться модемы? - Все зависит от профиля компании. Например, для обновления баз данных юридической или бухгалтерской системы. Или для того, чтобы сотрудники могли работать со ресурсами своего компьютера из дома. Да мало ли еще чего можно придумать. Параллельно с объяснениями, на сервере РосНИИРОС Андрей ввел адрес bank.ru (домен банка изменен – примечание автора) и получил подробный сведения, связанные с доменом моего банка. В частности он узнал некоторые IP-адреса, например, 10.0.0.28 (IP-адрес банка изменен – примечание автора), к которым он и обратился. - Первым делом мы должны определить открытые порты и идентифицировать операционную систему атакуемого узла. Это позволит нам сузить число возможных атак на ваш банк, - тоном учителя сказал Андрей. hacker: ~$ nmap –v –sF –O bank.ru –D143.12.32.45,212,67.43.134,67.43.65.12 - И что это значит? – спросил я, глядя на непонятные мне команды. - Это классная программка называется nmap. С ее помощью я просканировал Internet-узел твоего банка и обнаружил открытые порты. Но так как я использовал специальную методику, называемую stealth-сканированием, то твои админы вряд ли смогли засечь меня. Но если все-таки они достаточно умны и смогли обнаружить скрытое сканирование, то все равно им это мало что даст, так как я использовал еще один хакерский прием и вместе со своим текущим адресом послал несколько пакетов с фальшивыми адресами. Пусть теперь попробуют разобраться, кто в действительности их сканировал. - А что ты обнаружил? - Ну, во- первых, Internet узел у них работает под Linux'ом. Это неплохо. Во-вторых, у них открыт 25, 80 и, что самое интересное, 143 порт. А этот порт, отвечающий за функционирование сервиса IMAP, имеет несколько серьезных дыр. - Но для начала попробуем пролезть на дурачка и посмотрим, сможем ли мы зайти к ним на 25 порт. - А что это за порт? - Это SMTP-порт, предназначенный для приема и отправления электронной почты. Если он неправильно сконфигурирован, то я смогу получить права рута и наше дело в шляпе. hacker: ~$ telnet bank.ru 25 - Так… Что мы получили в ответ? – протянул Андрей. Trying 10.0.0.28... Connected to bank.ru Escape character is '^]'. Connection closed by foreign host. - Ну что ж, они не дураки и 25-ый порт закрыли. Но и мы не лыком шиты, попробуем 143-ий порт. hacker: ~$ telnet bank.ru 143 Trying 10.0.0.28... Connected to bank.ru * OK bank IMAP4rev1 Service 9.0(157) at Wed, 14 Oct 1998 11:51:50 -0400 (EDT) (Report problems in this server to MRC@CAC.Washington.EDU) . logout * BYE bank IMAP4rev1 server terminating connection . OK LOGOUT completed Connection closed by foreign host. - И здесь нас не пустили, но это не беда. Мы получили ценнейшую информацию, - радостно заметил Андрюха. - Какую? Мы же не смогли проникнуть внутрь, - удрученно ответил я. - Зато теперь я знаю, какая версия сервиса IMAP у них запущена. Теперь я зайду на сервер www.rootshell.com, введу в строке поиска ключевое слово 'imap' и получу список всех уязвимостей в данном сервисе. Собственно, это один из основных способов поиска уязвимостей на удаленных хостах. - Нам повезло. Самая первая найденная на rootshell уязвимость, как раз присуща именно той версии IMAP, которая установлена на вашем сервере. Теперь мы ее закачаем, скомпилируем и запустим против вас, - азартно произнес Андрей. Все его слова сопровождались действиями. hacker: ~$ ./imap_exploit bank.ru IMAP Exploit for Linux. Author: Akylonius (aky@galeb.etf.bg.ac.yu) Modifications: p1 (p1@el8.org) Completed successfully. - Ну а теперь посмотрим, кто есть ху? hacker: ~$ telnet bank.ru Trying 10.0.0.28... Connected to bank.ru Red Hat Linux release 4.2 (Biltmore) Kernel 2.0.35 on an i686 login: root bank: ~# whoami root - Ну что? Удалось? – с нетерпением спросил я. - Of course, dear friend, - распаляясь ответил Андрей. – Я подключился к их системе, да еще с правами рута. Теперь я могу делать у них все, что захочу. И первое, что я захочу, так это посмотреть, куда я еще могу заглянуть. Для этого нам надо глянуть на файл hosts. bank: ~# cd /etc bank: ~# cat ./hosts 127.0.0.1 localhost localhost.localdomain 208.21.2.10 thevault accounting 208.21.2.11 fasttalk sales 208.21.2.12 geekspeak engineering 208.21.2.13 people human resources 208.21.2.14 thelinks marketing 208.21.2.15 thesource information systems - А вот и то, что нам нужно - сервер thevault. Судя по названию, там хранится какая-то финансовая информация, которую можно удачно продать или воспользоваться самим. Подключаемся… bank: ~# rlogin thevault thevault: ~# cd /data/creditcards thevault: ~# cat visa.txt Ivan I. Ivanov 6543-2223-1209-4002 12/01 Petr P. Petrov 6543-4133-0632-4572 06/01 Sidor S. Sidorov 6543-2344-1523-5522 01/01 Anna A. Belova 6543-2356-1882-7532 04/01 Taras L. Tras 6543-2398-1972-4532 06/01 Ilia Nessusov 6543-8933-1332-4222 05/01 Yuri S. Aistov 6543-0133-5232-3332 05/01 - Ну вот и все, золотой ключик в наших руках. Первая задача решена с успехом. Теперь у нас есть номера кредитных карт. Можешь себе сидюков на Амазоне купить, а можешь на каком-нибудь платном сервере зарегистрироваться,- ухмыльнулся Андрей. - Класс! Теперь они поймут, кого выгнали, - злорадно заметил я. – А давай теперь ославим их на всю Россию? - Ну что ж, давай попробуем. Таких ламеров не жалко и ославить. Самое простое – это задефейсить им главную страницу Web-сервера. Пойдет? – спросил он меня. - Чего, чего? – спросил я. - Ну, это… подменить им заглавную страницу и написать там какую-нибудь лабуду или поместить порнушку. - А… Тогда конечно. Давай дефейсить, - тоном уже опытного хакера ответил я. В течение нескольких минут Андрей быстро набирал что-то на клавиатуре, хмуря брови, когда у него что-то не получалось. Через 10 минут бесплодных попыток он заявил: - В лоб зайти к ним на Web не получается. Будем искать обходные пути. Как правило, доступ из внутренней сети контролируется меньше. Поэтому, попробуем влезть к ним внутрь. Для этого мне надо узнать пароль какого-либо пользователя. - Так ведь пароли в открытом виде не хранятся. Это даже я знаю, - с умным видом заявил я. - Ну, во-первых, не всегда. Например, в Oracle это именно так. А во-вторых, есть программы, которые достаточно легко взламывают эти пароли. Например, L0pht Crack для Windows. Или Crack для Unix. Программы известные и свободно лежат в Internet. thevault: ~# crack /etc/passwd Cracking /etc/passwd... username: ivanov password: vonavi username: alexey password: alexey username: root password: ncc1701 - М-да. У них там что, одни ламеры сидят? Разрешать использовать пароли, совпадающие с именем пользователя. Да еще такие короткие. Да… Таких и взломать не грех. Пусть учатся на своих ошибках, - заявил Андрей. thevault: ~# telnet thesource Trying 208.21.2.160... Connected to thesource.bank.ru Escape character is '^]'. Microsoft (R) Windows NT (TM) Version 4.00 (Build 1381) Welcome to MS Telnet Service Telnet Server Build 5.00.98217.1 login: administrator password: ******* *=============================================================== Welcome to Microsoft Telnet Server. *=============================================================== C:\> - Ты использовал подобранный пароль и вошел как администратор. Да? – понимающе спросил я. - Да. А ты уже начинаешь просекать фишку, - ответил Андрей, не отрывая взгляда от монитора. – Теперь я запущу сниффер и будет все ОК. - А что такое сниффер? - Сниффер – это программа, которая перехватывает все данные, передаваемые в сети. В том числе можно перехватывать и пароли пользователей. Очень многие протоколы Internet позволяют передавать важную информацию в открытом виде. Например, протокол POP3, по которому ты забираешь почту на www.mail.ru, или протокол HTTP и FTP. Таких снифферов существует много, н о Билл Гейтс помог нам, встроив сниффер Network Monitor в MS Windows NT Server. Теперь я им воспользуюсь и, пока он перехватывает данные, мы сможем выпить еще по кружечке пивка. Вернувшись через полчаса, Андрей выудил из логов несколько паролей, попробовал каждый из, попытавшись подключиться к Web-серверу банка изнутри. На третий раз ему это удалось. C:\> ftp webcentral Connected to webcentral 220 webcentral Microsoft FTP Service (Version 4.0). Name: kpetrov 331 Password required for kpetrov. Password: ******** 230 User kpetrov logged in. Remote system type is Windows_NT. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 10 -rwxr-xr-x 9 kpetrov kpetrov 1024 Aug 17 17:07 . -rwxr-xr-x 9 root root 1024 Aug 17 17:07 .. -rwxr-xr-x 2 kpetrov kpetrov 2034 Aug 17 17:07 index.html -rwxr-xr-x 2 kpetrov kpetrov 1244 Aug 17 17:07 image1.gif -rwxr-xr-x 2 kpetrov kpetrov 10244 Aug 17 17:07 image2.gif -rwxr-x--x 6 kpetrov kpetrov 877 Aug 17 17:07 title.gif -rwxr-xr-x 2 kpetrov kpetrov 1314 Aug 17 17:07 bank.jpg -rwxr-xr-x 2 kpetrov kpetrov 1824 Aug 17 17:07 page2.html 226 Transfer complete. bytes received in 0.82 seconds (0.76 Kbytes/sec) ftp> send index.html ftp> local: hacked.html remote: index.html 200 PORT command successful. 150 Opening BINARY mode data connection for index.html 226 Transfer complete. ftp> quit - С тебя бутылка! – радостно заявил Андрей, потирая от удовольствия руки. - Что все? – еще не веря в успех, спросил я. - Конечно все. Долго ли умеючи? Не веришь, посмотришь сам. И мы зашли в Internet, посмотреть на плоды нашего труда. На сайте красовалась примечательная надпись: "Ну кто так строит? Кто так строит? У Вас что, работают одни идиоты, открывать 143 порт? Учитесь на собственных ошибках… Ха-ха-ха". - Вау. Круто, - с блеском в глазах сказал я. – Андрей, огромное спасибо за помощь. - Не за что. Если что, то обращайся, еще кого-нибудь взломаем, - с улыбкой ответил Андрей. Об авторе: Алексей Викторович Лукацкий, заместитель директора по маркетингу Научно-инженерного предприятия "Информзащита" (Москва). Автор книг «Обнаружение атак» и «Атака из Internet». Связаться с ним можно по тел. (095) 937-3385 или e-mail: luka@infosec.ru. 20 ноября 2001 г.