1
Tips untuk mengelabuhi Nmap OS Fingerprinting

.
System apa yang kita gunakan dalam menghadapi para pengguna Nmap, kenapa kita tidak
lebih memaksimalkan keamanan Linux kita ?. Pikiran kita itu tidak salah,dan jika
kita tetap pada pikiran kita itu,mungkin lebih baik kita jangan meneruskan untuk
membaca tulisan ini. Namun sebelum memutuskan lebih jauh ada beberapa alasan dan
pertimbangan berikut yang dapat meyakinkan kita mengapa kita harus mengelabuhi
para pengguna Nmap tersebut,:

* Memperlihatkan OS kita dapat membuat hal-hal yang tidak kita inginkan menjadi
lebih mudah untuk menemukan dan dengan sukses menjalankan exploit tertentu atau
dengan trik tententu dapat memanfaatkan kelemahan dari system kita.

* Menggunakan O/S yang tidak dipatch atau O/S yang “antik” sangat tidak baik untuk
gengsi dari system kita, bayangkan jika system kita itu adalah sebuah O/S dari
perusahaan dan beberapa user mengetahui bahwa kita menggunakan sebuah Box yang
tidak dipatch.Para pemilik perusahaan tersebut tidak akan mempercayai kita lagi,
dan bahayanya adalah seringnya kabar mengenai system kita selalu disebarluaskan
kepada komunitas tertentu.

* Mengetahui O/S yang kita gunakan dapat menjadi lebih berbahaya, sebab orang dapat
menebak aplikasi apa yang berjalankan pada O/S kita. Sebagai contoh jika sistem
yang kita gunakan adalah MS Windows , dan kita sedang menjalankan suatu database,
sangat mungkin bahwa kita sedang menjalankan MS-SQL.

* Informasi ini juga bisa digunakan oleh perusahaan perangkat lunak , untuk menawarkan
kita sebuah perangkat lunak yang baru (sebab mereka mengetahui mengenai system
operasi kita).

* Dan akhirnya, privacy; seharusnya tidak seorangpun mengetahui system operasi apa
yang sedang kita gunakan

Nmap
----
Nmap adalah salah satu tools yang sangat berguna . Nmap mengirimkan tujuh paket
Tcp/Ip palsu (atau yang disebut paket test) dan melihat jawaban dari paket yang
dikirimkan itu.

Hasil dari jawaban paket itu akan dibandingkan dengan database yang lebih dikenal
sebagai O/S signature database. Database ini adalah sebuah teks file yang berisi hasil
dari jawaban (signature) dari masing-masing OS yang ada. Demikian Kemudian, jika
jawaban bertemu isi database yang manapun , kita dapat menduga bahwa O/S yang
menjawab itu adalah sama dengan O/S yang ada dalam database. Beberapa paket Nmap
paket dikirim kepada Port yang terbuka dan paket yang lain dikirim kepada Port yang
tertutup, berdasarkan hal tersebut maka O/S dari system yang dituju akan diketahui.

Maka, jika kita ingin mengelabuhi Nmap dan memberitahu kepada atacker bahwa kita
sedang menjalankan suatu sistem operasi yang berbeda, kita hanya harus dapat
memalsukan jawaban kepada paket tests dari Nmap . Solusi yang akan diberikan hanya
dapat untuk mengelabuhi Nmap dan tidak untuk tools lain yang sejenis.

Metode yang digunakan untuk mendapatkan Solusi agar Linux dapat mengelabuhi Nmap
O/S FingerPrinting ada didalam Kernel Linux kita, atau kita dapat mem-patch kernel
linux kita.Jika kita ingin mengubah perilaku dari Linux TCP/IP stack, kita harus
melakukannya didalam kernel kita.

Salah satu solusi kernel akan diberikan, akan sangat tergantung dari bagian module
pada kernel kita;kita harus mendownload dan mem-patch kernel kita untuk mendapatkan
fungsi yang dimaksud, yang paling utama adalah kita harus mengaktifkan netfilter
pada kernel (Ini adalah sebuah keharusan yang wajib hukumnya untuk dilakukan), namun
ada solusi yang tidak membutuhkan hal tersebut.

IP Personality
--------------

IP personality adalah salah satu patch dari kernel 2.4 yang menambah sebuah
kemampuan dari kernel untuk mempunyai karakteristik yang berbeda dengan kernel lain.

Kemampuan yang dapat diubah antara lain adalah :
* TCP Initial Sequence Number
* TCP Initial windows size
* TCP Options
* Nomor ID IP
* Menjawab beberapa jenis Paket TCP
* Menjawab beberapa jenis Paket UDP

Patch ini sangat tergantung pada jenis netfilter yang digunakan, dalam kasus ini
adalah iptables, dan tentunya iptables yang digunakan juga harus dipatch, kelihatannya
memang sulit. Namun kita dapat mendapatkan sebuah kepuasan tertentu dalam
melakukan ini. (Pengalaman Pribadi J)

Untuk melakukan hal ini ada beberapa software yang dibutuhkan antara lain :
* sourcecode dari ippersonality dapat didownload dari http://ippersonality.sourceforge.net
* sourcecode dari Linux 2.4.18 atau Linux 2.4.19
* sourcecode dari iptables 1.2.2

dan sedikit pengetahuan mengenai netfilter,iptables dan Internet Protocol (IP,TCP dan UDP).
Sebaiknya kita melakukannya pada box yang khusus sebelum di buat pada system kita yang
sebenarnya.

Langkah-Langkahnya adalah :
1.Patch kernel kita
# cd linux-2.4.19
# patch –p1 < /direktory/tempat/kernel_patch

2.Compile kernel

Sebelum kita mengcompile kernel, kita harus mengaktifkan patch yang telah kita masukkan
ke kernel,lihat pada bagian netfilter,ada sebuah option baru :
IP Personality Support (EXPERIMENTAL)
CONFIG_IP_NF_PERS=y
Atau bisa juga dibuat sebagai kernel module
CONFIG_IP_NF_PERS=m
Agar IPPersonality dapat bekerja dengan baik, kernel kita harus dikonfigurasi untuk
mensupport iptables, conntrack dan tabel mangle
Catatan : walaupun kita membuat ippersonality sebagai module kernel, kita harus
tetap mengkompile kernel.

3.Patch Iptables
#cd iptables-1.2.2/
#patch –p1 < /direktory/tempat/patch_iptables

4.Compile iptables
#make
atau
#make KERNEL_DIR=/direktory/tempat/kernel

5.Setelah selesai restart komputer dan gunakan kernel yang telah dipatch dan
jika kita membuat ippersonality sebagai kernel module maka kita harus menload
module tersebut

Ketikkan :
#insmod ipt_PERS

6.Tulis rule tabel mangle iptables baru dengan dengan options PERS
Misal :
Jika kita mempunyai 2 mesin A dan B, dipisahkan oleh router LINUX, dan kita ingin
B kelihatan sebagai windows dari A, maka kita dapat melakukan hal ini pada router :

#iptables –t mangle –A PREROUTING –s B –d A –j PERS –tweak src \
--conf win9x.conf
#iptables –t mangle –A PREROUTING –s A –d B –j PERS –tweak dst \
--conf win9x.conf

Atau kita ingin router kelihatan sebagai windows dari A :
#iptables –t mangle –A PREROUTING –s B –d router –j PERS –tweak \ dst --local --conf win98.conf
#iptables –t mangle –A PREROUTING –s router –d B –j PERS –tweak \ dst --local --conf win98.conf

Sekarang kita bisa mengetest apakah rule kita berhasil dengan melakukan scanning
terhadap Host B atau terhadap router dengan menggunakan nmap.

Kita dapat juga menambahkan ukuran tabel ip_contrack dengan menggunakan
#echo 20480 > /proc/sys/net/ipv4/ip_conntrack_max

contoh hasil nmap dari box yang sudah dipatch ippersonality :

gentoo root # nmap -v -sS -O *.*.*.*

Starting nmap 3.30 ( http://www.insecure.org/nmap/ ) at 2004-10-20 01:24 WIT
Host *.*.*.* appears to be up ... good.
Initiating SYN Stealth Scan against *.*.*.* at 01:24
Adding open port 80/tcp
Adding open port 22/tcp
Adding open port 443/tcp
The SYN Stealth Scan took 1 second to scan 1644 ports.
Insufficient responses for TCP sequencing (0), OS detection may be less accurate
Interesting ports on *.*.*.*:
(The 1641 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
80/tcp open http
443/tcp open https
Device type: general purpose
Running: Microsoft Windows 95/98/ME|NT/2K/XP
OS details: Microsoft Windows NT 3.51 SP5, NT4 or 95/98/98SE

Nmap run completed -- 1 IP address (1 host up) scanned in 14.360 seconds


Stealth pacth
-------------
Solusi lain adalah dengan stealth pacth, dapat didownload dari http://www.innu.org/~sean/.
Ketika kernel kita sudah dipatch maka kita akan mendapatkan dua options baru pada
file config kita :

* IP : TCP Stack options, options yang kita gunakan apabila kita ingin mengaktifkan
stealth pacth. Jika kita meggunakan options ini maka akan dienable secara default ketika
kita mereboot system kita. Untuk mendisable , kita dapat melakukan :

#echo 0 > /proc/sys/net/ipv4/tcp_ignore_ack
#echo 0 > /proc/sys/net/ipv4/tcp_ignore_bogus
#echo 0 > /proc/sys/net/ipv4/tcp_ignore_synfin

* Log all dropped packet,logs all packet with bad options

Patch ini tidak seperti IPPersonality, kita tidak dapat mengubah respon linux kita
menjadi O/S lain.System hanya membuang semua paket yang aneh yang diduga dapat menjadi
salah satu cara untuk menduga operating system yang kita gunakan.

Fingerprint Fucker
------------------
Fingerprint Fucker adalah kernel module yang dapat digunakan pada linux kernel 2.2 dan
dapat digunakan untuk menyembunyikan O/S yang kita gunakan dan mengubah perilaku menjadi
O/S lain. Namun Patch ini belum stabil dan dapat membuat linux menjadi hang.

source: www.innu.org


Bookmark and Share


1 komentar :

Posting Komentar

Silahkan tinggalkan komentar anda disini...

 
Ujie Caprone | © 2011 Blogger Template by Ujiecaprone.com