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

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

320  Анализ журналов

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

 

 

e

 

 

 

 

 

 

Журналы Linux

 

 

 

 

 

n

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

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

 

 

 

 

В Linux есть много журналов,которые можно использоватьдля поиска инфор- мации, связанной с безопасностью. Одним из основных является файл auth. log,расположенный в /var/log,где содержатся все события,связанные с аутен- тификацией.

Вот пример этого журнала:

Nov 5 11:17:01 kronos CRON[3359]: pam_unix(cron:session): session opened for user root by (uid=0)

Nov 5 11:17:01 kronos CRON[3359]: pam_unix(cron:session): session closed for user root Nov 5 11:18:55 kronos gdm-password]: pam_unix(gdm-password:auth): conversation failed Nov 5 11:18:55 kronos gdm-password]: pam_unix(gdm-password:auth): auth could not identify password for [root]

Nov 5 11:19:03 kronos gdm-password]: gkr-pam: unlocked login keyring

Nov 5 11:39:01 kronos CRON[3449]: pam_unix(cron:session): session opened for user root by (uid=0)

Nov 5 11:39:01 kronos CRON[3449]: pam_unix(cron:session): session closed for user root Nov 5 11:39:44 kronos gdm-password]: pam_unix(gdm-password:auth): conversation failed Nov 5 11:39:44 kronos gdm-password]: pam_unix(gdm-password:auth): auth could not identify password for [root]

Nov 5 11:39:55 kronos gdm-password]: gkr-pam: unlocked login keyring Nov 5 11:44:32 kronos sudo: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/apt-get install smbfs

Nov 5 11:44:32 kronos sudo: pam_unix(sudo:session): session opened for user root by root(uid=0)

Nov 5 11:44:32 kronos sudo: pam_unix(sudo:session): session closed for user root Nov 5 11:44:45 kronos sudo: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/apt-get install cifs-utils

Nov 5 11:46:03 kronos sudo: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/mount -t cifs //192.168.1.46/volume_1/temp

Nov 5 11:46:03 kronos sudo: pam_unix(sudo:session): session opened for user root by root(uid=0)

Nov 5 11:46:03 kronos sudo: pam_unix(sudo:session): session closed for user root

Приведенный выше журнал был взят из дистрибутива Kali. RedHat и CentOS будутхранитьаналогичнуюинформациюв/var/log/secure.Есливыхотитепро- смотретьтолько неудачные попытки входа в систему,используйте журналы из

var/log/faillog.

Журналы брандмауэра

Форматжурналов брандмауэра варьируется в зависимости отпоставщика.Од- нако есть некоторые основные поля, которые будут там независимо от плат- формы.При просмотре журналов брандмауэра вы должны сосредоточиться на ответах на следующие вопросы:

Кто начал обмен данными (исходный IP-адрес)?

Где находится пунктназначения этого обменаданными (IP-адрес назна- чения)?

 

 

 

 

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

 

 

 

Журналы брандмауэра  321to

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Какойтипприложенияпытаетсядобратьсядопунктаназначения(транс-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

портный протокол и порт)?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Было ли соединение разрешено или запрещено межсетевым экраном?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приведенныйнижекод–этопримержурналабрандмауэраCheck Point.Вэтом

 

 

 

 

 

 

 

 

 

 

 

 

 

случае мы скрываем IP-адрес назначения в целях конфиденциальности:

 

 

 

 

 

 

 

 

 

 

 

"Date","Time","Action","FW.Name","Direction","Source","Destination","Bytes","Rules",

"Protocol" "datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.1 0.235","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" "datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.1 0.200","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" "datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.1 0.2","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" "datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.1 0.8","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http"

В этом примере правило № 9 – правило, которое обрабатывало все эти за- просы и перебрасывало все попытки подключения с 10.10.10.8 в определенное место назначения. Теперь, используя те же навыки чтения, давайте просмот­ рим журнал брандмауэра NetScreen:

Nov 2 13:55:46 fire01 fire00: NetScreen device_id=fire01 [Root]systemnotification00257(traffic): start_time=”2016-00-02 13:55:45” duration=0

policy_id=119 service=udp/port:7001 proto=17 src zone=Trust dst zone=Untrust action=Deny sent=0 rcvd=0 src=192.168.2.10 dst=8.8.8.8 src_port=3036 dst_port=7001

Важное различие между журналами Check Point и NetScreen заключается в том, как они регистрируют информацию о транспортном протоколе. В жур- нале Check Point вы увидите, что поле proto содержит транспортный протокол и приложение (в приведенном выше случае, HTTP). Журнал NetScreen пока- зывает аналогичную информацию в полях service и proto. Как видно, есть не- большие изменения, но реальность такова, что как только вы освоите чтение журнала брандмауэра от одного поставщика,легче будет понять другие.

Вытакже можете применять машину Linux в качестве брандмауэра,исполь- зуя iptables. Вот пример того, что представляет собой файл iptables.log:

# cat /var/log/iptables.log

Nov 6 10:22:36 cnd kernel: PING YuriDio IN=eth3 OUT= MAC=d8:9d:67:cd:b2:14 SRC=192.168.1.10 DST=192.168.1.88 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=1007 SEQ=2

Если вам нужно просмотреть брандмауэр Windows, найдите файл журнала pfirewall.log в C:\Windows\System32\LogFiles\Firewall. Вот как он выглядит:

#Version: 1.5

#Software: Microsoft Windows Firewall #Time Format: Local

#Fields: date time action protocol src–ip dst–ip src–port dst–port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

322  Анализ журналов

w Click

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

 

e

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

2017–12–22 07:38:54 ALLOW TCP 169.254.211.124 169.254.211.124 63863 4369 0

 

 

 

 

-xcha

 

 

 

– 0 0 0 – – – SEND

2017–12–22 07:38:54 ALLOW TCP 169.254.211.124 169.254.211.124 63863 4369 0

– 0 0 0 – – – RECEIVE

2017–12–22 07:38:55 ALLOW UDP 169.254.125.142 169.254.255.255 138 138 0 – –

– – – – – SEND

2017–12–22 07:38:55 ALLOW UDP 169.254.211.124 169.254.255.255 138 138 0 – –

– – – – – SEND

2017–12–22 07:38:55 ALLOW UDP 192.168.1.47 192.168.1.255 138 138 0 – – – –

– – – SEND

 

 

 

 

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

 

 

 

 

Журналы веб-сервера

Припросмотрежурналоввеб-сервера обратитеособоевниманиенавеб-серве­ ры,гдевеб-приложениявзаимодействуютсбазамиданныхSQL.Файлыжурна- лов веб-сервера IIS расположены здесь: \WINDOWS\system32\LogFiles\W3SVC1. Они представляют собой текстовые файлы с раширением .log, которые можно от- крытьс помощью Блокнота.Вытакже можете использоватьExcel или Microsoft Log Parser, чтобы открыть этот файл и выполнить основные запросы.

Log Parser можно скачать на странице https://www.microsoft.com/en-us/download/de- tails.aspx?id=24659.

При просмотре журнала IIS обратите особое внимание на поля cs-uri-query и sc-status. В этих полях будут отображаться сведения о выполненных HTTPзапросах. Если вы используете Log Parser, можно выполнить запрос к файлу журнала, чтобы быстро определить, была ли совершена на систему атака с ис- пользованием SQL-инъекций. Вот пример:

logparser.exe -i:iisw3c -o:Datagrid -rtp:100 "select date, time, c-ip, csuristem, cs-uri-query, time-taken, sc-status from

C:wwwlogsW3SVCXXXexTEST*.log where cs-uri-query like '%CAST%'".

Это пример потенциального вывода с ключевым словом CAST, расположен-

ным в поле cs-uriquery:

80 POST /pages/Users/index.asp ID=UT-47-TPM17'; DECLARE%20@S%20NVARCHAR(4000);SET%30@S=CAST(0x4400);EXEC(@S);-- |31|80040e32|Timeout_expired 500

Обратите внимание,что в этом случае код ошибки–500 (внутренняя ошиб- ка сервера). Другими словами, сервер не смог выполнить запрос. Когда вы ви- дитетакойтип активности в своем журнале IIS,следуетпредпринятьдействия для усиления защиты на этом веб-сервере. В качестве альтернативы можно добавить межсетевой экран для веб-приложений.

Если вы просматриваете файл журнала Apache, файл журнала доступа на- ходится здесь: /var/log/apache2/access.log. Его формат также очень прост для чтения, в чем вы можете убедиться благодаря следующему примеру:

 

 

 

 

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

 

 

Резюме  323to

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

192.168.1.10 - - [07/Dec/2017:15:35:19 -0800] "GET /public/accounting HTTP/1.1" 200 6379

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

192.168.1.10 - - [07/Dec/2017:15:36:22 -0800] "GET /docs/bin/main.php" 200 46373 192.168.1.10 – – [07/Dec/2017:15:37:27 –0800] "GET /docs HTTP/1.1" 200 4140

Если вы ищете конкретную запись, то также можете использовать команду cat в Linux:

#cat /var/log/apache2/access.log | grep -E "CAST"

Еще одной альтернативой является использование утилиты apache-scalp, которую мож-

но скачать на странице https://code.google.com/archive/p/apache-scalp/.

Справочные материалы

1.iptables. https://help.ubuntu.com/community/IptablesHowTo.

2.Log Parser. https://logrhythm.com/blog/a-technical-analysis-of-wannacryransom- ware/.

3.SQL Injection Finder. https://archive.codeplex.com/?p=wsus.

4.SQL Injection Cheat Sheet. https://www.netsparker.com/blog/web-security/sql- injection-cheat-sheet/.

Резюме

В этой главе вы узнали о важности сопоставления данных при просмотре жур- налов в разных местах, а также о соответствующих журналах безопасности в Windows и Linux.

Вы выяснили, как читать журналы брандмауэра, используя в качестве при-

меров Check Point, NetScreen, iptables и Windows Firewall.

Вконце этой главы вы познакомились с журналами веб-сервера, используя

вкачестве примеров IIS и Apache.

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