....
   
  Selamat datang
  Bagaimana Cara Memblok OS Fingerprinting ?
 
Dari sudut pandang para penyerang, hal ini sangat membantu untuk mengetahui 
vulnerabilities/cacat/bug/kelemahan apa yang ada pada sistem tersebut dan
eksploit mana yang bisa bekerja pada sistem itu. Dikombinasikan dengan
pegetahuan akan port yang terbuka ketika melakukan port scan, informasi ini
bisa saja disalahgunakan. Sebuah RPC (Remote Procedure Call) untuk SPARC
Solaris tidak bisa digunakan begitu saja pada x86 Linux--kode daemon pada
portmap berbeda pada kedua sistem, dan mereka mempunyai arsitektur prosesor
yang berbeda. Dengan pengetahuan akan platform server, para penyerang akan
bisa sangat efisien mencoba teknik supaya mereka bisa langsung mendapat
akses tanpa buang-buang waktu dengan eksploit yang tidak bisa bekerja pada
platform yang berbeda.

Secara 'tradisi', seseorang yang melakukan mata-mata pada jaringan akan
mencoba untuk membuka koneksi ke beberapa servis yang dideteksi oleh
port-scan, untuk melihat sistem operasi apa yang sedang berjalan pada
remote sistem. Hal ini dapat dilakukan karena banyak daemon, seperti
Sendmail, Telnet, dan bahkan FTP, membuka identitas sistem operasi dan
nomor versi yang digunakan. Meskipun metode ini mudah dan langsung ke
sasaran, hal ini sekarang bisa dilihat sebagai sebuah serangan ketika
dengan sangat mudahnya menempatkan seseorang melakukan koneksi pada log
file nya sistem.

Sebagai tambahan, kebanyakan service dapat dikonfigurasi untuk memperlihatkan
informasi yang sensitif ini. Sebagai respons akan hal ini, banyak metode
yang dikembangkan yang tidak mensyaratkan koneksi penuh (Full Connection)
pada target sistem untuk menentukan sistem operasi apa yang sedang dijalankan.

Metode ini mengandalkan 'perilaku aneh' pada TCP/IP stack pada sistem operasi
target dan 'tingkah laku' ketika merespon beberapa tipe paket yang diterima.
Sejak masing-masing sistem operasi merespon paket-paket ini dengan cara yang
khusus, adalah mungkin untuk membuat suatu tebakan yang bagus atas sistem
operasi apa yang sedang dijalankan pada server berdasarkan respon server pada
pemeriksaan paket, yang mana secara normal tidak ditunjukkan pada log file.

Untungnya, pemeriksaan paket seperti ini bisa di blok pada firewall untuk
mengindari segala percobaan deteksi/scan pada sistem operasi.

Salah satu tool yang sangat populer yang menerapkan metode untuk mendeteksi
sistem operasi adalah Nmap (
http://www.insecure.org/nmap/), yang tidak hanya
membolehkan kita untuk mendeteksi sistem operasi apa yang sedang berjalan
pada remote sistem, tapi juga melakukan beberapa tipe port-scanning.

Percobaan untuk mendeteksi sistem operasi dengan Nmap sangat sederhana
dengan menjalankannya dengan opsi -O. Dibawah ini adalah hasil scanning yang
dilakukan pada sistem OpenBSD 3.3 :

# nmap -O babon
Starting nmap 3.48 (
http://www.insecure.org/nmap/ ) at 2004-12-23
19:14 MST
Interesting ports on babon (192.168.2.42):

(The 1653 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
13/tcp open daytime
22/tcp open ssh
37/tcp open time
113/tcp open auth
Device type: general purpose
Running: OpenBSD 3.X
OS details: OpenBSD 3.0 or 3.3

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

Untuk menggagalkan usaha dari Nmap, kita bisa menerapkan aturan firewall
yang akan memblok paket yang di gunakan untuk pemeriksaan sistem operasi.
Cara ini bisa diterapkan, sejak beberapa diantaranya mempunyai kombinasi
yang invalid pada TCP flags. Beberapa tes yang diterapkan Nmap tidak bisa
di blok oleh PF dengan cara menambahkan aturan blok, tapi mereka bisa di
blok jika stateful filtering dan deny policy secara default telah
diimplementasikan pada ruleset. Hal ini karena ada beberapa tes yang
menggunakan TCP options, yang mana tidak bisa di filter dengan PF.

Untuk memblok percobaan fingerprinting dengan OpenBSD's PF, kita bisa
meletakkan aturan di bawah ini pada /etc/pf.conf :

set block-policy return

block in log quick proto tcp flags FUP/WEUAPRSF
block in log quick proto tcp flags WEUAPRSF/WEUAPRSF
block in log quick proto tcp flags SRAFU/WEUAPRSF
block in log quick proto tcp flags /WEUAPRSF
block in log quick proto tcp flags SR/SR
block in log quick proto tcp flags SF/SF

Aturan diatas juga memiliki efek samping pada setiap usaha logging pada
pflog0 interface. Bahkan jika kita tidak bisa memblok semua tes yang
dilakukan Nmap, kita bisa setidaknya merekam beberapa percobaan yang unik,
dan kemungkinan untuk menolaknya dengan menyediakan gambaran yang tidak
lengkap mengenai tingkah laku stack TCP sistem operasi kita. Paket yang
telah melewati aturan ini bisa dilihat dengan tcpdump dengan menjalankan
perintah :

# ifconfig pflog0 up
# tcpdump -n -i pflog0

Sekarang mari kita lihat hasil scan dengan Nmap setelah menerapkan
aturan ini :

# nmap -O babon
Starting nmap 3.48 (
http://www.insecure.org/nmap/ ) at 2004-12-23
22:56 MST
Interesting ports on babon (192.168.2.42):



(The 1653 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
13/tcp open daytime
22/tcp open ssh
37/tcp open time
113/tcp open auth
No exact OS matches for host (If you know what OS is running on it, see
http://www.insecure.org/cgi-bin/nmap-submit.cgi).

TCP/IP fingerprint:
SInfo(V=3.48%P=i686-pc-linux-gnu%D=12/2%Time=3FCD7B3F%O=13%C=1)
TSeq(Class=TR%IPID=RD%TS=2HZ)
T1(Resp=Y%DF=Y%W=403D%ACK=S++%Flags=AS%Ops=MNWNNT)
T2(Resp=Y%DF=Y%W=0%ACK=S%Flags=AR%Ops=)
T3(Resp=Y%DF=Y%W=0%ACK=O%Flags=AR%Ops=)
T4(Resp=Y%DF=Y%W=4000%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=134%RID=E%RIPCK=F%UCK=E%ULEN=134%DAT=E)

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

Seperti yang bisa kita lihat, kali ini percobaan scan dari Nmap tidak
berhasil menebak sistem operasi apa yang berjalan pada sistem kita.
Tapi jika anda merasa hal ini tidak cukup, membuat bingung percobaan dari
Nmap mungkin tidaklah cukup. Bagaimana jika anda bisa mengelabui, apakah si
penyerang langsung percaya bahwa server menjalankan sistem operasi yang
berbeda pada sistem yang sama ? Sebagai contoh, hal ini bisa berguna ketika
kita mensetting sebuah honeypot untuk menarik si penyerang menjauh dari
server penting anda.

 
   
 
=> Do you also want a homepage for free? Then click here! <=