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

Привет, добро пожаловать обратно в эту серию. Мы используем приемы взлома веб-сайтов, и сегодня я покажу, как мы можем загружать вредоносный код и файлы, замаскированные под изображения. Тем не менее, на самом деле это простые вредоносные скрипты [Для вашего понимания]. Я настоятельно рекомендую вам начать чтение с части А, в которой рассказывается, как подобрать пароли для доступа к веб-сайтам.

В этой статье я расскажу об атаках с внедрением вредоносного кода и загрузкой файлов. Посещали ли вы веб-сайты, которые часто просят пользователей загрузить свои изображения/ответы/pdf-файлы и т. д. в их базу данных? Что ж, можно замаскировать эти файлы под настоящие, встраивая в них сценарии bash, которые могут манипулировать целостностью таких веб-сайтов. Я расскажу об обоих в двух отдельных частях, но они часто похожи.

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

Требования

  • Kali Linux Отдельная ОС/VMware Kali Linux
  • Burpsuite (установлен по умолчанию в Kali)
  • DVWA (скачать с https://github.com/digininja/DVWA)
  • MySQL (установлен по умолчанию в kali)
  • Apache (установлен по умолчанию в kali)
  • Базовое владение скриптами MySQL, PHP и Bash.

Процедура I — внедрение вредоносного кода

  1. Установка и запуск DVWA. Это видео предлагает лучшее объяснение того, как настроить и запустить DVWA, а также поясняет приведенные ниже видеоинструкции по моему сценарию (если вы преуспели, сразу переходите к шагу 2). Кроме того, я полностью описал это в предыдущей статье шаг 1. Подробнее здесь. Убедитесь, что у вас есть окно, как показано ниже. Мы устанавливаем имя пользователя и пароль как Admin и пароль соответственно.

2. После входа в DVWA перейдите к окну ввода команд и найдите окно ниже. Я уверен, что вы знакомы с окном ниже. Большинство веб-сайтов, которые требуют от пользователей ввода данных, в основном запрашивают их IP-адреса, если пользователь хочет определить свое местоположение. Окно ниже имитирует это

3. Прокрутите вниз и выберите исходный код, чтобы посмотреть, как выглядит код PHP. Посмотрев на это, мы увидим, что код запрашивает IP-адрес и публикует его. Однако этот код не предусматривает каких-либо превентивных мер, запрещающих нам вводить что-либо еще, кроме кода IP-адреса. Мы ожидаем, что код, как на рис. 3.2 ниже, оценивает, действительно ли пользователь ввел IP-адрес.

4. Давайте введем наш IP-адрес DVWA [ 127.0.0.1] и оценим результат. Подробнее о команде ping можно посмотреть здесь. Но в основном ping позволяет нам увидеть, доступно ли другое устройство в той же сети. Например, предположим, что я подключил свой ПК с Kali и ПК с Windows к одному и тому же WIFI-маршрутизатору и хочу проверить, может ли ПК Kali обмениваться данными с ПК с Windows. Я просто набираю ping {IP-адрес компьютера с Windows. Скриншот ниже подтверждает, что действительно возможно связаться с нашим DVWA с нашего веб-сайта Pinging.

5. Мы можем ввести наш IP-адрес DVWA и другую команду, так как мы заметили на шаге 3, что не существует превентивной меры, которая действительно устанавливает, ввел ли пользователь IP-адрес. В этом случае мы можем использовать 127.0.0.1 & ls→ Эта команда выводит список файлов в веб-приложении, а также необходимые выходные данные проверки связи. Хакер может захотеть просмотреть, какие файлы находятся в корне системы, и решить, какой из них легко использовать. Посмотрите на скриншот ниже. Ради интереса попробуйте ввести IP-адрес и другие команды, которые могут изменить вывод. Попробуйте [127.0.0.1 & echo "Доброе утро, ваш сайт взломан]

6. Готово!! В основном это основная идея внедрения вредоносных команд.

Процедура II – Загрузка вредоносного файла

  1. Перейдите в раздел «Загрузка файлов». У вас должно получиться окно, как показано ниже.

2. Мы видим, что подсказка требует загрузки файла изображения. Мы можем попробовать загрузить как файл изображения, так и файл, не являющийся изображением, и посмотреть, какой будет ответ. Я перейду к папке hacking_tools, откуда я хочу загрузить файлы. Сначала я копирую изображение и называю его hack.png (выберите любое имя/png/jpg, какое хотите). Затем я создаю пустой текстовый файл с именем hack.txt. Затем я загружу каждый и поставлю подсказку ниже. Мы отмечаем, что hack.png принимается, а hack.txt отклоняется.

3. Время изучить исходный код PHP и глубже понять алгоритм. Из PHP мы отмечаем, что нам нужно загрузить только файл jpeg/png размером менее 100 000 байт. Если условия не выполняются, мы отмечаем «Ваше изображение не было загружено».

4. Самый большой трюк, который нам нужно реализовать, — это обмануть тот факт, что вредоносный PHP-файл, который мы загружаем, действительно является файлом изображения. Вот тут-то и появляется Burpsuite. Помните, в предыдущей статье мы установили foxy proxy, который настраивает конфигурацию прокси для Burpsuite. Во-первых, нам нужно включить конфигурацию burp Foxyproxy и включить burspsuite [мы рассмотрели, как настроить foxy proxy и перехват Burpsuite в положение ON в предыдущей статье]

5. Нам нужно создать вредоносный PHP, shell.php, в файле взлома, вызывает cmd. На шаге 9 я покажу, как мы можем использовать cmd для анализа общих команд Linux, чтобы отображать либо файлы в каталоге веб-приложения, либо пользователей, стоящих за веб-приложением, и т. д. [базовые сценарии для обычных читателей]. См. рисунок и фрагмент кода ниже.

‹? php

система($_GET['команда'])

?>

6. Теперь нам нужно загрузить файл shell.php в файл, выполнив ту же процедуру, что и на шаге 2. Примечание. Поскольку мы перехватываем данные с помощью Burpsuite, помните, что трафик сначала проходит через него, а затем перенаправляется на веб-сервер для выполнения. Когда мы нажимаем «Загрузить» ниже, открывается окно Burpsuite, и мы можем просмотреть некоторые ключевые элементы, выделенные красным на рисунке ниже.

7. В Content-Type нам нужно изменить на image/jpeg, чтобы обмануть систему, заставив ее думать, что мы загружаем файл изображения, хотя на самом деле это файл PHP, начиная с шага 7. Система не может принимать никакие другие файлы, кроме изображения. . Нажмите вперед в верхнем левом углу. Мы должны увидеть сообщение об успешной загрузке в следующем окне после этого, когда вернемся на страницу DVWA. Затем мы можем ВЫКЛЮЧИТЬ Burpsuite Intercept

8. Нам нужно отметить успешное сообщение под окном. Мы видим, что файл был загружен в «hackable/uploads/shell.php». Нам нужно получить доступ к этому файлу, введя команду ниже в строке поиска, вызвав cmd и предоставив ему общую команду под названием «ls», которая перечисляет все файлы в каталоге. Мы видим файлы, перечисленные ниже!
127.0.0.1/DVWA/hackable/uploads/shell.php?cmd=ls

9. Вуаля, мы наконец закончили загрузку файла. Теперь мы можем повозиться с командой cmd и разобрать в ней эту команду:
127.0.0.1/DVWA/hackable/uploads/shell.php?cmd=echo «Ваш веб-сайт был взломан Франклином. , добро пожаловать»

Дополнительные примечания

  1. Вы можете создавать базовые веб-сайты и включать функцию страницы загрузки файлов. Затем вы можете воспользоваться этим учебным пособием по написанию сценариев, чтобы испытать реальный практический опыт.
  2. Расширьте свои знания этих языков: PHP, HTML и bash, чтобы понять динамику веб-сайта и сценарии bash.
  3. Упражняться! Освоение таких сложных хакерских приемов требует времени, полной самоотдачи и терпения. Ты хочешь быть хакером, верно? Ну, это всегда не то, что вы видите в фильмах... Вот как выглядит взлом.

Рекомендации

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

Спасибо за чтение, будьте этичным хакером :)

Не стесняйтесь обращаться ко мне для проектов разработки программного обеспечения / стажировки здесь