Pada Dasarnya TCP SYN Melakukan Half Koneksi Ke Target Dan Secara Berulang
Pada Dasarnya TCP SYN Melakukan Half Koneksi Ke Target Dan Secara Berulang
berikut
ini
adalah
koneksi
jaringan
di
komputer
Local
Address
Foreign
Address
State
fatality:1772
cg-in-f100.google.com:http
ESTABLISHED
fatality:1773
74.125.153.99:http
ESTABLISHED
fatality:1774
74.125.153.103:http
ESTABLISHED
fatality:1775
74.125.153.113:http
ESTABLISHED
fatality:1042
localhost:25377
ESTABLISHED
fatality:1043
localhost:1044
ESTABLISHED
fatality:1044
localhost:1043
ESTABLISHED
fatality:1046
localhost:1047
ESTABLISHED
TCP
fatality:1047
localhost:1046
TCP fatality:25377 localhost:1042 ESTABLISHED
ESTABLISHED
FIN/NULL/Xmas, Maimon dan idle. Ia juga memungkinkan pembedaan yang tegas dan
handal antara status open, closed, dan filtered.
Teknik ini seringkali diacu sebagai pemeriksaan setengah terbuka (half-open scanning),
karena anda tidak membuka seluruh koneksi TCP. Anda mengirim sebuah paket SYN,
seperti anda ingin melakukan koneksi sesungguhnya dan kemudian menunggu tanggapan.
SYN/ACK menandakan port sedang mendengarkan (open), RST (reset) menandakan
tidak sedang mendengarkan. Jika tidak ada tanggapan setelah beberapa kali pengiriman
ulang, port ditandai sebagai tersaring (filtered). Port juga ditandai sebagai tersaring bila
diterima kesalahan ICMP unreachable (tipe 3, kode 1, 2, 3, 9, 10, atau 13).
Menset flag FIN, PSH, dan URG, menerangi paket seperti sebuah pohon Natal.
alih-alih selalu menampilkan unfiltered ketika dikembalikan RST. Ia melakukan hal ini
dengan memeriksa field TCP Window paket RST yang dikembalikan. Pada beberapa
sistem, port terbuka menggunakan ukuran jendela positif (bahkan untuk paket RST)
sementara port tertutup memiliki jendela nol. Sehingga alih-alih selalu menampilkan port
sebagai unfiltered ketika menerima kembali RST, Window scan menampilkan port
sebagai open atau closed jika nilai TCP Window dalam reset tersebut positif atau nol.
Scan ini mengandalkan detil implementasi sedikit sistem yang ada di Internet, sehingga
anda tidak dapat selalu mempercayainya. Sistem yang tidak mendukungnya biasanya
akan mengembalikan semua port sebagai closed. Tentu saja, adalah mungkin mesin
benar-benar tidak memiliki port terbuka. Jika kebanyakan port yang diperiksa adalah
closed namun beberapa angka port umum (seperti 22, 25, 53) adalah filtered,
informasi ini kemungkinan benar. Seringkali, sistem akan memberitahukan perilaku
sebaliknya. Jika scan anda menunjukkan bahwa 1000 port terbuka dan tiga port tertutup
atau disaring, maka ketiga port tersebut mungkin saja adalah port yang terbuka.
terutama sangat ketat mengenai hal ini. Sebagai contoh, kernel Linux 2.4.20 membatasi pesan
destination unreachable ke satu per detik (dalam net/ipv4/icmp.c).
OS fingerprinting
Nmap bukan program identifikasi OS yang pertama menggunakan
fingerprint TCP/IP. IRC spoofer sirc-nya Johan memasukkan teknik
dasar fingerprint sejak versi 3. Itu berusaha untuk menempatkan host
dalam kelas "Linux", "4.4BSD", "Win95", atau "Unknown" menggunakan
tes flag TCP sederhana.
Program lain seperti checkos, dirilis Januari tahun ini oleh Shok pada
Confidence Remains High Issue #7. Teknik fingerprint sama seperti SIRC
bahkan kodenya identik di beberapa tempat. Checkos tersedia
khusus dan dalam jangka panjang akan dirilis untuk umum, jadi saya tidak
punya ide siapa mengambil kode siapa. Tapi kelihatannya akan tercantum
kredit kepada yang lain. Satu yang checkos tambahkan adalah
pengecekan banner telnet yang berguna tapi punya masalah nantinya.
[ Update: Shok menulis untuk mengatakan bahwa checkos tidak ditujukan
untuk umum dan inilah mengapa dia belum terusik untuk meberi kredit
SIRC untuk beberapa kode.]
Su1d juga menulis program pengecek OS dan dinamai SS versi 3.11
dan dapat mengidentifikasi 12 tipe OS yang berbeda. Saya termasuk
bagiannya karena dia memberi kredit program nmap saya untuk beberapa
kode jaringannya :).
Lalu ada queso. Program ini terbaru dan merupakan lompatan besar dari
program yang lain. Tidak hanya mengenalkan beberapa test baru, tapi
mereka juga yang pertama (yang saya lihat) memindahkan kode
fingerprint OS. Scanner yang lain memasukkan kode seperti:
/* dari ss */
if ((flagsfour & TH_RST) && (flagsfour & TH_ACK) && (winfour == 0) &&
(flagsthree & TH_ACK))
reportos(argv[2],argv[3],"Livingston Portmaster ComOS");
Bahkan queso memindahkan ini ke file konfigurasi yang ternyata
lebih baik dan membuat tambahan OS semudah menambah
sedikit baris ke file fingerprint.
Queso ditulis oleh Savage, satu dari legenda di Apostols.org .
Satu masalah dengan semua program yang dijelaskan diatas
adalah bahwa mereka sangat terbatas pada jumlah test fingerprint
yang membatasi granularitas jawaban. Saya ingin mengetahui
lebih daripada hanya 'mesin ini OpenBSD, FreeBSD, atau NetBSD',
saya ingin tahu secara persis versi berapa. Dengan kata lain,
saya lebih suka melihat 'Solaris 2.6' daripada hanya 'Solaris'.
Untuk mencapai ini, saya bekerja pada teknik fingerprint
yang akan saya jelaskan nanti.
5.
Sebutkan cara pemakaian software nessus untuk melihat kelemahan sistem
jaringan kita !