Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
[ Закрыто ] FAQ для чайников
 
Как стать хакером?
Вот, что я тебе скажу, в моём учебнике по английскому за одиннадцатый класс было написано, что хакер, это человек, который знает, как это работает, что это человек, который хорошо разбирается в компьютерах. Отчасти это правда, а отчасти нет. Человек, который ничего не понимает в компьютерах, не собирается профессионально заниматься ими, никогда не станет хакером, сюда не попадают случайные люди, но, уровень "крутости" хакера не связан напрямую с уровнем компьютерной грамотности, бывают люди, которые занимаются этим профессионально, однако они никогда ничего не взламывали, и не собираются, а если попробуют, то сразу у них не получится. А бывают люди, которые не являются профессионалами, но они умеют взламывать, например, как я. Пока я не причисляю себя к профессионалам. Пока я очень мало знаю, однако, я уже могу хакать, может даже лучше тех людей, которые разбираются в компьютерах. Профессионализм, это не знание многих языков программирования, это не знание системы, профессионализм, это умение решить даже самую сложную программистскую проблему легко и изящно. Вот это сложно, а по сравнению с этим научится хакать просто, но я повторяю: случайные люди сюда не попадают. Для того, чтобы хакать, надо понимать, что конкретно ты сбираешься взламывать. Каким образом с технической точки зрения, а не с точки зрения пользователя: нажал кнопку, Вуаля! Просто существуют скрипткиддисы, которые используют известные уязвимости, и эксплоиты под них, существуют люди, которые пишут эксплоиты на обнаруженную вновь уязвимость. Это считается уже хакерством, но даже это я не считаю хакерством, т.к переполнение буфера это известный приём, вообщем предела совершенству нет границ. Вобщем надо учится, учится и ещё раз учится. Если ты не собираешься заниматься компьютерами профессионально - не лезь в хакинг. А про то, с чего начать, читай вопрос дальше.
Я решил стать хакером, но не знаю с чего начать.
Ну во первых необходимо разбираться хотя бы в одной из операционных систем, Windows, либо *nix. Знать основные команды оболочки операционной системы (cmd.exe в Windows). Необходимо знать основы языков программирования С++, Perl, PHP а также SQL команды.  
Начать необходимо с основ, с понимания работы сети хотя бы в общих принципах, для этого надо знать, что такое модель OSI, а потом узнать что такое протокол TCP/IP, точнее не что такое, а его устройство, а потом почитать спецификацию протоколов более высокого уровня, таких как, например, ftp, http и другие.
Правда что взлому можно научиться только зная UNIX системы  
Не совсем. В принципе осуществить взлом в большинстве случаев можно и под Windows. Однако нужно учитывать что многие полезные программы для взлома под Windows системы платные и выбор их ограничен, в отличие от огромного количества бесплатных программ для Unix систем. Однако в большинстве случаев для Unix систем каждый раз придется настраивать программу под твои задачи, что иногда требует очень глубоких знаний в соответствующей области.  Вобщем решай сам к чему душа лежит 

Как взломать сервер?  
Самый простой способ – просканировать сервер сканером безопасности, например XSpider, он скажет тебе об уязвимостях, и тебя надо будет скачать эксплоит(exploit -эксплуатировать), или надо самому найти базу, например в скриптах, и использовать её, или использовать известную уязвимость в скрипте.  Например, если сканер нашел уязвимость в mod_rewrite, то можно воспользоваться поиском на нашем сайте (а в нем хранится информация обо всех уязвимостях) и найти описание соответствующей уязвимости. В Xspider при обнаружении уязвимости сразу дается ссылка на ее описание на сайте SecurityLab.ru, что значительно облегчает поиск соответствующих эксплоитов.

Сканирование чужого сервера конечно не является преступлением, однако имейте ввиду что в случае жалобы от владельца ресурса, ваш провайдер может отключить вас от Интернета. А если вы воспользовались обнаруженной уязвимостью, то уже можно попасть и под статью УК. Поэтому крайне рекомендуем тренироваться либо на бразильских серверах либо на своей тестовой системе. И не пытаться получить материальную выгоду из результатов взлома.
Какие программы для взлома порекомендуете?
Все программы под любые задачи можно найти в нашем разделе программ: http://www.securitylab.ru/software/.


Как в сети найти уязвимый сайт?
Самый простой способ - читай статью "Взлом при помощи Google"
Так что такое эксплоит?
Эксплоит, эта программа, использующая какую-то конкретную уязвимость.
У меня есть подруга, так вот она постоянно с кем-то переписывается по инету, причём дело дошло уже до фотографий, как взломать её емаил?
Есть много способов взломать емаил:
1.Брутфорс (Brute - грубая, force - сила)
Брутфорс - это простой подбор пароля по словарю, если ты знаешь, что у твоей подруги такой пароль как например, jenya, tanya, anya и .т.д. то может быть тебе повезёт, и ты подберешь пароль.

Проблемы: Во-первых, врядли у кого-нибудь такой простой пароль, и ты легко его сможешь подобрать, во-вторых, это сколько ж времени уйдёт пока твой Brutus переберет весь словарь, и сколько трафика ты ешь этим брутфорсом, и самое главное многие маил-серверы, при n-ом количестве попыток подбора пароля, блокирует тебя.

2.Можно сломать комп твоей подруги.
Ну это я не буду здесь описывать, потому, что это решается индивидуально.
3.Можно заслать трояна.
Это тоже решается индивидуально, но можно его заслать либо обманом: по мылу,или подсунуть вмеcто какой-нить проги, либо используя брешь в браузере или почтовом клиенте, но для этого ты должен знать их версию, или хотя бы знать ось, чтобы предположить версию, и знать уязвимость в этой версии.
4.Можно сосниффить мыло по пути следования пакета.
Ты можешь просто взять сниффер, и читать её почту.
Проблемы: Пакет может не проходить через тебя, тогда тебе ничего не удастся соснифить. Соснифить тебе удастся только в том случае, если ты находишься с ней в одной локалке, или ты сломал компьютер, находящийся с ней в одной локалке и снифишь с него, либо ты сломал роутер, через который идёт пакет с мылом.
5. Ты можешь сломать сервер, на котором находится её почтовый ящик.
Проблемы: У тебя врят ли это получится, если ты задаешь такие вопросы.
6.Ты можешь обманом украсть её пароль, например, сделать fake-страничку почтовой системы, и оставить её висеть в интернет кафе, зная, что после тебя за комп сядет твоя подруга, она, очень возможно воспользуется твоей страничкой, но на самом деле твоя страница сохраняет её пароль в гуестбуке, а потом отправляет на настоящий сайт.
6. Можно также подобрать ответ на секретный вопрос, который задают при восстановлении пароля -  Вероятность низкая, но попробовать стоит. К примеру, ответом на "любимое блюдо" чаще всего бывают "шашлык", или "пельмени".

Как просмотреть, какие файлы лежат на веб сервере?
Либо взломав сервер, либо никак.
Мне понравился один PHP/ASP/etc-скрипт на веб сервере, как просмотреть его исходники?
Ишь какой шустрый, чего захотел. Да если бы можно было просто так просматривать скрипты, то там бы не хранили паролей, да и взламывать _гораздо_ легче, когда есть исходники. Можно просмотреть исходники либо взломав сайт, либо, спросив у веб-мастера. Ведь недаром просмотр исходников скриптов в IIS, если написать в конце имя скрипта +.htr называют уязвимостью (сейчас она уже не актуальна).
Ну прочитал я про TCP/IP, понял как работает инет, что такое порт, служба, а дальше-то что, как начать хакать?  
Начинающий хакер жертву ищет в google или другой поисковой системе. Поищи сайты, где работают скрипты, куда можно спокойно закачивать файлы, без проверки на расширение(такие есть), посмотри уязвимости на source-injection и поищи эти скрипты, как наиболее простые в использовании. Потом закачаешь туда файловый менеджер phpRemoteView с http://www.php.spb.ru/ , и лазаешь по диску, понимаешь, что ничего не соображаешь в линухе, вот тогда и начинаешь понимать первый раз, зачем он тебе нужен, этот линух, начинаешь читать про него потихоньку. А если Source-Injection, то ты должен хотя бы кое-как владеть языком программирования, на котором написаны те скрипты, если не знаешь, придётся учить, за тебя ничего никто делать не будет. И вот так, через файловый менеджер, ты получаешь доступ к шеллу, хотя и с правами пользователя.
Что такое шелл?
Это аналог командной строки в MS-Dos/Эмуляции Ms-Dos в вине, но он гораздо мощнее, через него гораздо больше можно сделать, ведь *никс в своей основе - не графическая среда дружелюбная для пользователя. Есть конечно X-Винды, которая графическая среда, но настраивают в *никсе всё в основном через шелл.
Не нравится мне этот http-шелл, нет консоли в нём, как мне с консоли вводить данные?
Конечно, ты можешь вводить данные как с консоли, если это удастся, к примеру:
./file <consol.txt
В файле consol.txt напиши так, будто ты вводишь всё это с консоли.
Но я советую не пользоваться этим извращением, и скачать bindshell, и скомпилить его, запустить, взять его можно из руткита LRK5. Только не забывай после каждой команды в конце ставить ";".
Ну, и получив доступ к шеллу, как теперь сделать дефейс?
Да вот теперь иди и читай про основные команды шелла. Но одну команду я тебе всё-таки скажу, так как она самая главная: man. man от слова manual, на запрос типа "man комманда/файл/сишная_процедура" он выведет тебе подробную документацию. Смотря с какие у тебя привилегии, и какие права у индексных файлов, но скорее всего у тебя не получится, скорее всего он скажет тебе Permission denied, проверь права, скорее всего тебе надо будет рута брать.
А чё-й то за права странные такие в лине? Ничего не понимаю, какие стаят права у файла!
Первые два бита это суидные бит, и stiky бит, а дальше расписаны права чтение®/запись(w)/выполнение(x) для владельца, потом для группы, а потом для других, вслучае если вместо буквы стоит "-" значит это запрещено:
--rwxrwxrwx
А что значит суидный бит этот?  
Это значит, что если ты запускаешь программу, то она выполняется с привилегиями пользователя, которому она принадлежит.
Что такое рут?
Рут - это пользователь с наивысшими привилегиями в системе.
Я скачал файл passwd, но чё-то не вижу там паролей, вот я приведу здесь первую строчку:
root:x:/bin/sh
Ну и где здесь пароль?


В файле passwd обычно паролей нет, зато он доступен для чтения всем пользователям, вместо паролей там "x". А пароли в файле shadow, который может прочитать только рут.
Как взять рута?
Надо использовать уязвимость в ядре или суидной программе, принадлежащей руту т.е нужен local root exploit.
Ну и как найти этот "local root exploit" эксплоит?  
Надо сначала узнать версию ПО. Сделать, например, uname -a, посмотреть файл redhat-release, если там есть этот файл. Потом искать эксплоит на SecurityLab.Ru или на Security.NNov.Ru. Сейчас популярный trace/kmod эксплоит для ядра, sendmail дырявый бывает, версию посмотреть надо в /etc/sendmail.cf, но возможно они не актуальны станут через некоторое время.
Ну вот я скачал эксплоит, только он не запускается почему-то
Прежде чем запускать его, надо его скомпилить:
gcc exploit.c -o exploit
Или как там внутри файла написано.
У меня что-то не компилится эксплоит. Как мне его скомпилить?
Надо наверное его подправить, но тебе никто не скажет как, сам думай, пытайся, учи язык, на котором он написан, врят ли тебе кто-то поможет его скомпилить.
Ну вот я получил рута с помощью эксплоита, спёр файл shadow, а там какие-то странные пароли, непонятные
Это пароли в зашифрованном виде, тебе надо расшифровать shadow.
Как расшифровать shadow?
Взять John The Ripper, и воспользоваться им, толькл предупрежу тебя, что MD5, очень сложно сломать, возьми словарик потолще, мегов на 30, и расшифровывай, если он не сломает по словарю, то он врят ли вообще сломает, он будет у тебя парится целую вечность.
Так как мне тогда расшифровать его, если по словарю не удалось, куда отправить этот файл?
Никуда, никто тебе не будет ломать твой shadow. Скорее всего тебе придётся забить на этот файл.
Млин, пока я расшифровывал этот shadow, дырку прикрыли, и теперь ничего не получится :(
Конечно, ведь надо было сразу бакдорить (back door - чёрный ход) систему, после того, как получил рута. Для этого есть руткиты.
Ну пошёл посмотрел я руткиты, прямо глаза разбегаются, как много, какой мне выбрать?  
Ну во-первых, тот, который будет работать на этой системе. Есть рутеиты, которые заменяют системные файлы на не настоящие, с backdoor, к ним и относится LRK5, но некоторые хитрые админы следят за этими файлами, и заметят, что они изменились. Поэтому тебе советую выбрать руткит, который является модулем ядра(Linux Kernel Module - LKM). К нему относится руткит SnapSYS. А есть руткит, который хитрее, он даже не LKM, он патчит ядро на лету, но он не всегда может сработать, но мне он понравился, так как он слушает порт с помощью сырых сокетов, и поэтому его не видно в netstat, и он открывает порт с биндшеллом, только если был послан пароль правильный, и шелл там удобный, с прикрученной консолью, т.е не надо ставить ";" после каждой команды.
Что такое эти сырые сокеты?
Это когда сокеты обращаются напрямую к железкам твоего компа, а обычные сокеты обращаются уже поверх TCP/IP.
Ну так вот, а сырые работают на более низком уровне, чем обычные сокеты, но ты ведь читал про TCP/IP, и знаешь, про что я говорю.
Просканировал XSpiderом сервак. Он Выдал следующее:
доступен метод TRACE
Описание
С помощью использования метода TRACE в протоколе HTTP возможно выполнение атаки Cross-Site Scripting.
Решение
Запретить выполнение этого метода.
Кто-нибудь подскажет как это сделать?
Как плоэксплуатировать багу?

Сервер какой? Апач?
Если да, то смотри доки на директивы Limit/LimitExcept
>В доках написано:
>The TRACE method cannot be limited.
>;(
Ты прав, официальное решение такое:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
Вот отсюда:
http://www.apacheweek.gamma.ru/issues/03-01-24
Вот описание уязвимости:
http://www.cgisecurity.com/whitehat...r_XST_ebook.pdf
Краткое описание:
При запросе методом TRACE Web-Server возращает всё, что было введено при запросе, включая HTTP-заголовки. В IE6 сделана защита от XSS(Cross-Site Scripting). Для этого, при установке cookie устанавливается HttpOnly, к примеру,  document.cookie="my_cookie_var_pass=mypass:HttpOnl y";
При чтении document.cookie, my_cookie_var не доступен. Но, можно, используя ActiveX можно сделать запрос TRACE к атакуемому сайту с заголовками браузера, и от туда можно прочитать эту переменную, так же, можно прочитать пароль на доступ в защищённую паролем зону, так как Web-Server принимает пароль в заголовке HTTP. Делая TRACE, мы получаем этот заголовок, так как он возвращается обратно.
Естественно, нужно уметь выполнять jаvаscriрt-код. Подробности об XSS ищи в нете.
Расшифруйте please по-русски:
- порт 53/tcp    - domain
сервер DNS (TCP)
   рекурсия не поддерживается сервером
   возможен трансфер зоны "str.ru" >>> что можно получить, имея это...

Мог бы и сам прочитать...Это значит, что можно получить все поддомены домена str.ru
Только я не уверен, что он прав.
Типа в домене есть сайты mike.str.ru kate.str.ru bank.str.ru, но ты о них не знаешь. Ну так вот, подключившись к DNS-сервере домена str.ru ты узнаешь, какие есть поддомены.
Почему это плохо? Возможно авторизацию по домену поставить, к примеру все заходящие с *.str.ru пропускаются на страницу. Ну вот ты можешь ломать не сервер, на котором авторизация по доменам, а поддомены, и получить мало-мальски доступ. Или, что чаще бывает, все поддомены и сами домены обслуживают одни админы, это сетка одной организации, и скажем, комп админа, называется admin.str.ru, взломав, ты поставишь клавиатурный снифер, и та получишь доступ и к самому str.ru, и машинам в домене. Зачем это надо?
Для вторичного DNS-сервера. Он типа запрашивает трансфер зоны, и получает информацию, запоминает её на определённое время, там в параметрах зоны написано на какое, и сам может использоваться как ДНС-сервер, на случай, если первый не доступен. Но нормальные админы настроит трансфер только для вторичного сервера, а остальным скажет, мол не дам. Кстати, проверяется это с помощью nslookup - есть в Win2K,Linux.
Он не врёт. Вот смотри, трансфер зоны str.ru:
C:\>nslookup
Default Server: xxxxxx.ru
Address: xxx.xxx.xxx.xxx /*Закрыто мной */

> server str.ru
Default Server: str.ru
Address: 213.189.231.1

> ns
Server: str.ru
Address: 213.189.231.1

*** str.ru cant find ns: Non-existent domain
> ls str.ru
[str.ru]
str.ru.____NS server = ns.str
str.ru.____NS server = ns4.ni
str.ru.____NS server = ns3.uf
str.ru.____A 213.189.231.1
smtp_______A 213.189.231.1
rona_______A 213.189.231.1
www.rona___A 213.189.231.1
localhost__A 127.0.0.1
mini_______A 213.189.231.1
www.mini___A 213.189.231.1
promex_____A 213.189.231.1
www.promex_A 213.189.231.1
vasyuri____A 213.189.231.2
mboard_____A 213.189.231.1
flint______A 213.189.231.66
srk________A 213.189.231.1
.....Вырезано, так как много, если интересно, смотри сам, "_" поставил, чтоб не сдвинулось...

Литература, ссылки.
Да а по программингу ввиндах есть классная книга
Джефри Рихтера
"Создание эффективных WIN32-приложений
с учетом специфики 64-разрядной версии Windows"
Скажу как я начинал, сначала разобрался, как работает сеть, потом начитался про всякие там уязвимости, такие как (это из топика http://forum.securitylab.ru/forum_posts.asp?TID=7297&PN=2&TP N=2)
Неправда! Инфы полно, только надо выбрать то, что действительно надо, а надо
1) Понимать как работает сеть, что такое служба порт, протокол,порт и т.д
2) Знать типичные уязвимости:
2.1)Cross-site scripting CSS или чтобы не путать с Cascade Style Sheet XSS
2.2) Buffer overflow
2.3) Format string bug
2.4) SQL injectinon
2.5) Source injection
2.6) Обход систем защиты, например используя ../ возвращатся назад, или эксплуатировать не правильное удаление ./, например somedir/.././otherdir
2.7) Attack to protocols
И естественно знать языки программирование, системы Linux и т.д, но это ты поймёшь и сама, после того, как начнёшь во всём разбираться.

Ну так вот, потом, после того, как я узнал, что такое SQL-Injection стал SQL изучать, и PHP стал изучать, потом почуствовал что пора порчитать "TCP/IP крупным планом", я и раньше его читал, но когда я перечитал, то нашёл много нового, июо юыло время.
Вообщем не кидайся изучать то, что я скажу, а изучай их тогда, когда почуствуешь, что готов, готов к чему-то более серьёзному, чем ломанию скриптов.
1.TCP/IP крупным планом. - emanual.ru
2.Телекоммуникационные технологии
(Сети TCP/IP)
учебное пособие - emanual.ru
3.Рихтер -http://anatolix.naumen.ru/win32books.htm
4.Атака через интернет, атака на интернет, атака из интернет - лежала на bugtraq.ru в разделе книги, щелк на обложку, щелк на раздел из содержания...
5.SQL - codenet.ru
6.Petzerhold программирование Win32. - http://anatolix.naumen.ru/win32books.htm
7.http://book.itep.ru/
8.PHP русский help - php.spb.ru
9.Ещё я нашёл хорошую доку по Unix- системе, точней там написано про то что такое иноды, и т.д. Эх! Где-же она была раньше, а я найти не мог инфу. Читал исходники /proc, и другие книги, в результате чего появилось моё творение: http://vfsdocs.narod.ru/vfs.html
А вот книга про которую я говорил ftp://ftp.mai.ru/ где-то там в pub/incoming/unixarch.tgz.
Книга Баха по Unix - тоже замечательная книга.
http://lib.ru/BACH/
Ой! Да это одна и таже книга.
10. Да, программировать на шелле неплохо бы смотри там же ftp.mai.ru или в инете, в с этим проблем с инфой вроде бы нет.
11. А вот просто интересная книга: Линус Торвальдс. Just for fun. там же, на lib.ru
Так же довольна интересная и биллетристика о Кевине Митнике, только пользы никакой.
Вообщем дорога на http://lib.ru/LINUXGUIDE/
12. Здесь всё пасписано по шагам, инфа в настоящий момент там есть, и  она доступна для новичка www.firststeps.ru
13. Russian Developer Neetwork (rsdn) - профессиональный сайт по программингу, если вам надо будет задать серьёзный вопрос, или найти статью, то идите туда.
14. Если интересует программирование в лине, то в Konqueor наберите info://libc/. Не пожалеете!
 
=======================[Inck-Vizitor]======================
В данном топике прошу не задавать частных чайниковских вопросов. Если вы не нашли ответ в данном факе на мучающий вас вопрос - задайте его в форуме для чайников, но не в данном топике.
В данном топике предлагаю добавлять наиболее распространенные вопросы-ответы, интересные всем.
=======================[/Inck-Vizitor]=====================
Страницы: 1
Читают тему