Kamis, 14 Januari 2010

Nmap dan fungsi port


Nmap adalah port scanner yang sangat terkenal dalam dunia hacking. dan banyak sekali digunakan untuk mengaudit suatu system, dimana untuk mengetahui port yang terbuka yang memungkinkan port tersebut dapat di exploitasi oleh sang intruder. selain NMAP msh banyak lagi port scanner di belahan dunia internet, seperti : superscan, THC, BluesPortTool, dll.

nmap di versi terbaru sekarang ini sudah mempunyai fitur yang sangat baik sekali, bahkan bisa dikatakan lengkap dan juga sudah ada yang versi GUI nya. Ini sangat membantu sekali pada saat kita memulai scanning atau mulai “mengintip” port yang terbuka di komputer target. NMAP memiliki banyak dalam hal teknik sanning, seperti: UDP, TCP Connect(), TCP SYN (half open), ftp proxy (bounce attack), ICMP (ping sweep), FIN, ACK sweep, Xmas tree, Null scan, dll. NMAP juga mempunyai kelebihan untuk mengetahui OS apa yang dipakai oleh target, di versi terbarunya bisa spoof IP dan MAC kita. Ini berguna agar IP dan MAC kita tidak bisa diketahui (anonimitas di jaringan).

Dalam hal akses, baik ke komputer lokal maupun ke komputer server, kita mengenal istilah port, dan berikut adalah fungsi-fungsi dari port tersebut :

1. Port 80, Web Server Port ini biasanya digunakan untuk web server, jadi ketika user mengetikan alamat IP atau hostname di web broeser maka web browser akan melihat IP tsb pada port 80,

2. Port 81, Web Server Alternatif ketika port 80 diblok maka port 81 akan digunakan sebagai port altenatif hosting website

3. Port 21, FTP Server Ketika seseorang mengakses FTP server, maka ftp client secara default akan melakukan koneksi melalui port 21 dengan ftp server

4. Port 22, SSH Secure Shell Port ini digunakan untuk port SSH

5. Port 23, Telnet Jika anda menjalankan server telnet maka port ini digunakan client telnet untuk hubungan dengan server telnet

6. Port 25, SMTP(Simple Mail Transport Protokol) Ketika seseorang mengirim email ke server SMTP anda, maka port yg digunakan adalah port 25

7. 7. Port 2525 SMTP Alternate Server Port 2525 adalah port alternatifi aktif dari TZO untuk menservice forwarding email. Port ini bukan standard port, namun dapat diguunakan apabila port smtp terkena blok.

8. Port 110, POP Server Jika anda menggunakan Mail server, user jika log ke dalam mesin tersebut via POP3 (Post Office Protokol) atau IMAP4 (Internet Message Access Protocol) untuk menerima emailnya, POP3 merupakan protokol untuk mengakses mail box

9. Port 119, News (NNTP) Server

10. Port 3389, Remote Desktop Port ini adalah untuk remote desktop di WinXP

11. Port 389, LDAP Server LDAP or Lightweight Directory Access Protocol is becoming popular for Directory access, or Name, Telephone, Address directories. For Example LDAP://LDAP.Bigfoot.Com is a LDAP directory server.

12. Port 143, IMAP4 Server IMAP4 or Internet Message Access Protocol is becoming more popular and is used to retrieve Internet Mail from a remote server. It is more disk intensive, since all messages are stored on the server, but it allows for easy online, offline and disconnected use.

13. Port 443, Secure Sockets Layer (SSL) Server When you run a secure server, SSL Clients wanting to connect to your Secure server will connect on port

443. This port needs to be open to run your own Secure Transaction server. Port 445, SMB over IP, File Sharing Kelemahan windows yg membuka port ini. biasanya port ini digunakan sebagai port file sharing termasuk printer sharing, port inin mudah dimasukin virus atau worm dan sebangsanya

14. Ports 1503 and 1720 Microsoft NetMeeting and VOIP MS NetMeeting and other VOIP allows you to host an Internet call or VideoConference with other 16. NetMeeting or VOIP users.

15. Port 5631, PCAnywhere When a PCAnywhere server is set up to receive remote requests, it listens on TCP port 5631. This allow you to run a PCAnywhere host and use the Internet to connect back and remotely control your PC.

16. Port 5900, Virtual Network Computing (VNC) When you run an VNC server to remotely control your PC, it uses port 5900. VNC is useful if you wish to remotely control your server.

17. Port 111, Portmap

18. Port 3306, Mysql

19. Port 7. Nama ngepopnya adalah echo. Kegunaannya adalah apapun yang kita ketik host akan menjawab atau merespon. Biasa digunakan untuk perintah ping.

20. Port 9. Dikenal dengan discard Dev/null. Dipakai untuk meneruskan sesuatu yang bersifat sampah alias dummy.

21. Port 11. Sebutannya systat. Dipakai untuk mencari informasi tentang seorang pemakai.

22. Port 13. Nama kerennya daytime Time and date. Port ini digunakan untuk mengetahui waktu dan tanggal dari lokasi komputer diakses.

23. Port 15. Dikenal dengan netstat. Digunakan untuk mendapatkan informasi tentang network.

24. Port 19. Nama kerennya adalah chargen. Digunakan untuk membanjiri port dengan aliran data karakter ASCII.

25. Port 37. Sebutannya adalah time. Menunjukkan waktu saat ini.

26. Port 39. Dikenal dengan nama RLP. Digunakan untuk mencari lokasi sumber (resource location).

27. Port 43. Nama popnya adalah whois. Digunakan untuk mendapatkan info dari suatu host dan network.

28. Port 53. Sebutannya adalah domain name server (DNS). Digunakan untuk mencari DNS.

29. Port 70. Kerennya dipanggil adalah gopher. Digunakan oleh program pencari info kuno bernama gopher.

30. Port 79. Sebutannya finger. Digunakan untuk mendapatkan informasi tentang seorang pemakai.

31. Port 80. Sebutannya http Web Server. Digunakan untuk oleh web server untuk melayani internet browser http.

32. Port 110. Sebutannya adalah pop. Digunakan untuk jalur surat masuk (incoming email).

33. Port 443. Nama topnya adalah shttp. Digunakan oleh webserver sebagai jalur aman (secure).

34. Port 512. Sebutannya biff. Digunakan untuk mendapatkan pesan pemberitahuan surat (mail notification).

35. Port 513. Nama kerennya adalah rlogin. Digunakan untuk melakukan remote login.

36. Port 514. Dikenal dengan shell remote command. Digunakan untuk perintah jarak jauh biasanya tanpa menggunakan password.

37. Port 520. Sebutannya adalah route. Digunakan untuk proses routing information protocol.

security network

Network Security secara umum
Host/komputer yang terhubung ke network, mempunyai ancaman keamanan lebih besar daripada host yang tidak terhubung kemana-mana. Dengan mengendalikan network security, risiko tersebut dapat dikurangi. Namun network security biasanya bertentangan dengan network access, yaitu bila network access semakin mudah, maka network security makin rawan, dan bila network security makin baik, network access makin tidak nyaman. Suatu network didesain sebagai komunikasi data highway dengan tujuan meningkatkan akses ke sistem komputer, sementara security didesain untuk mengontrol akses. Penyediaan network security adalah sebagai aksi penyeimbang antara open access dengan security.
Aspek-aspek keamanan
 Confidentiality
Informasi (data) hanya bisa diakses oleh pihak yang memiliki wewenang.
 Integrity
Informasi hanya dapat diubah oleh pihak yang memiliki wewenang.
 Availability
Informasi tersedia untuk pihak yang memiliki wewenang ketika dibutuhkan.
 Authentication
Pihak yang terlibat dengan pertukaran informasi dapat diidentifikasi dengan benar dan ada jaminan bahwa identitas yang didapat tidak palsu.
 Nonrepudiation
Pengirim maupun penerima informasi tidak dapat menyangkal pengiriman dan penerimaan pesan.
Aspek-aspek ketidakamanan (serangan)
 Interruption
Suatu aset dari suatu sistem diserang sehingga menjadi tidak tersedia atau tidak dapat dipakai oleh yang berwenang. Contohnya adalah perusakan/modifikasi terhadap piranti keras atau saluran jaringan.
 Interception
Suatu pihak yang tidak berwenang mendapatkan akses pada suatu aset. Pihak yang dimaksud bisa berupa orang, program, atau sistem yang lain. Contohnya adalah penyadapan terhadap data dalam suatu jaringan.
 Modification
Suatu pihak yang tidak berwenang dapat melakukan perubahan terhadap suatu aset. Contohnya adalah perubahan nilai pada file data, modifikasi program sehingga berjalan dengan tidak semestinya, dan modifikasi pesan yang sedang ditransmisikan dalam jaringan.
 Fabrication
Suatu pihak yang tidak berwenang menyisipkan objek palsu ke dalam sistem.
Contohnya adalah pengiriman pesan palsu kepada orang lain.

Metoda-metoda yang digunakan dalam network security
Pembatasan akses pada network
Internal password authentification (password pada login system)
Password yang baik menjadi bagian yang paling penting namun sederhana dalam keamanan jaringan. Sebagian besar dari masalah network security disebabkan password yang buruk. Biasanya pembobolan account bisa terjadi hanya dengan menduga-duga passwordnya. Sedangkan bentuk yang lebih canggih lagi adalah dictionary guessing, yang menggunakan program dengan kamus ter-enkripsi, dibandingkan dengan password ter-enkripsi yang ada.
server-based token authentification
Metoda ini menggunakan authentification system yang lebih ketat, yaitu dengan penggunaan token / smart card, sehingga untuk akses tertentu hanya bisa dilakukan oleh login tertentu dengan menggunakan token khusus.
Firewall dan Routing Control
Komputer dengan firewall menyediakan kontrol akses ketat antara sistem dengan sistem lain. Konsepnya, firewall mengganti IP router dengan sistem host multi-home, sehingga IP forwarding tidak terjadi antara sistem dengan sistem lain yang dihubungkan melalui firewall tsb.
Enkripsi
Salah satu cara pembatasan akses adalah dengan enkripsi. Proses enkripsi meng-encode data dalam bentuk yang hanya dapat dibaca oleh sistem yang mempunyai kunci untuk membaca data.
COPS
Computer Oracle Password and Security adalah kumpulan program yang mengotomatisasi banyak prosedur pemantauan komputer. COPS hanya mendeteksi masalah potensial yang mungkin terjadi, tidak melakukan penyelesaian. COPS hanya membantu mempermudah pemantauan sistem admin.
Serangan pada system keamanan
• Scanning
Scan adalah probe dalam jumlah besar menggunakan tool secara otomatis dengan tujuan tertentu. Scanner biasanya bekerja dengan men-scan port TCP /IP dan servis-servisnya dan mencatat respon dari komputer target. Dari scanner ini dapat diperoleh informasi mengenai port-port mana saja yang terbuka. Kemudian yang dilakukan adalah mencari tahu kelemahan-kelemahan yang mungkin bisa dimanfaatkan berdasar port yang terbuka dan aplikasi serta versi aplikasi yang digunakan.
• Sniffing
Sniffer adalah device (software maupun hardware) yang digunakan untuk mendengar informasi yang melewati jaringan dengan protokol apa saja. Host dengan mode promiscuous mampu mendengar semua trafik di dalam jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan keberadaannya biasanya cukup sulit untuk dideteksi karena bersifat pasif. Sniffer ini mendengarkan port Ethernet untuk hal-hal seperti "Password", "Login" dan "su" dalam aliran paket dan kemudian mencatat lalu lintas setelahnya. Dengan cara ini, penyerang memperoleh password untuk sistem yang bahkan tidak mereka usahakan untuk dibongkar. Password teks biasa adalah sangat rentan terhadap serangan ini. Untuk mengatasinya, dapat digunakan enkripsi, merancang arsitektur jaringan yang lebih aman dan menggunakan One Time Password (OTP).
• Eksploit
Eksploit berarti memanfaatkan kelemahan sistem untuk aktifitas-aktifitas di luar penggunaan normal yang sewajarnya.
• Spoofing
Biasanya IP spoofing dilakukan dengan menyamarkan identitas alamat IP menjadi IP yang tepercaya (misal dengan script tertentu) dan kemudian melakukan koneksi ke dalam jaringan. Bila berhasil akan dilanjutkan dengan serangan berikutnya.
• DoS (Denial of Service) attack
Salah satu sumberdaya jaringan yang berharga adalah servis-servis yang disediakannya. DoS atau malah Distributed DoS (DDoS) attack dapat menyebabkan servis yang seharusnya ada menjadi tidak bisa digunakan. Hal ini tentu akan mendatangkan masalah dan merugikan. Penyebab penolakan servis ini sangat banyak sekali, dapat disebabkan antara lain :
1. Jaringan kebanjiran trafik (misal karena serangan syn flooding, ping flooding, smurfing).
2. Jaringan terpisah karena ada penghubung (router/gateway) yang tidak berfungsi.
3. Ada worm/virus yang menyerang dan menyebar sehingga jaringan menjadi lumpuh bahkan tidak berfungsi, dll
• Malicious Code
Malicious Code adalah program yang dapat menimbulkan efek yang tidak diinginkan jika dieksekusi. Jenisnya antara lain : trojan horse, virus, dan worm. Trojan Horse adalah program yang menyamar dan melakukan aktifitas tertentu secara tersembunyi (biasanya merugikan, misal : game yang mencuri password). Virus adalah program yang bersifat mengganggu bahkan merusak dan biasanya memerlukan intervensi manusia dalam penyebarannya. Worm adalah program yang dapat menduplikasikan diri dan menyebar dengan cepat tanpa intervensi manusia. Malicious kode dapat menimbulkan beragam tingkat permasalahan.

session layer

Session layer
Lapisan ini berfungsi untuk mengkoordinasi komunikasi antar system yaitu membuka, memproses, dan menutup sesi. Contohnya dialog semi permanen. Komunikasi session terdiri dari permintaan dan tanggapan yang terjadi antara application. Session layer biasanya digunakan di lingkungan aplikasi yang menggunakan Remote Procedure Calls(RPCs)
Layanan Session Layer
 Authentication
 Permissions
 Session restoration (checkpointing and recovery)
Presentation Layer
Lapisan ini berfungsi menterjemahkan kompresi dan enkripsi data. Bertanggung jawab untuk mengirim dan memformat informasi ke application layer untuk proses atau tampilan selanjutnya.
Application layer
Merupakan lapisan yang menyediakan fungsi komunikasi untuk jaringan aplikasi yang melayani pemakai atau program aplikasi lainnya
Fungsi application layer
 Encapsulation
 Addressing
 Ordered delivery
 Flow control
 Error control
 Connection control
 Security
 Data encoding
 Data encryption
 Data compression
Arsitektur application
Data storage : data disimpan dan diselamatkan kembali
Data access logic (CRUD layer): pemrosesan yang dibutuhkan untuk access data
Create, read, update and delete (CRUD) adalah empat fungsi mendasar dari persistent storage, bagian utama dihampir semua software computer.
Application Logic (Business Logic) bagian dari semua system yang sepakat dengan penyelenggaraan business-related tasks, seperti transaksi dan update account.
Presentation Logic : bagian system yang menaruh persentasi dari objek di system untuk user dan penerima dari user’s command.
Terdapat tiga dasar arsitektur aplikasi
 Host-Based Architectures
 Client-Based Architectures
 Client-Server Architectures

TCP dan UDP

UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 768.

UDP memiliki karakteristik-karakteristik berikut:

  • Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
  • Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
  • UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification.
  • UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
Transmission Control Protocol (TCP)

adalah suatu protokol yang berada di lapisan transpor (baik itu dalam tujuh lapis model referensi OSI atau model DARPA) yang berorientasi sambungan (connection-oriented) dan dapat diandalkan (reliable). TCP dispesifikasikan dalam RFC 793.

TCP memiliki karakteristik sebagai berikut:

  • Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
  • Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
  • Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
  • Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam "bahasa" yang ia pahami.
  • Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
  • Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
  • Mengirimkan paket secara "one-to-one": hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.

Perbedaan antara TCP dan UDP

TCP TCP

UDP UDP

Reliabilitas: TCP merupakan protokol berorientasi koneksi. Ketika sebuah file atau pesan kirim diantarkan kecuali akan mendapatkan koneksi gagal. Jika sambungan terputus, server akan meminta bagian yang hilang. Tidak ada korupsi ketika mentransfer pesan.

Reliabilitas: UDP adalah connectionless protocol. Ketika Anda mengirim data atau pesan, Anda tidak tahu apakah itu akan sampai di sana, ini bisa tersesat di jalan. Mungkin ada korupsi sementara mentransfer pesan.

Memerintahkan: Jika Anda mengirim dua pesan sepanjang sambungan, satu demi satu, Anda tahu pesan pertama akan sampai di sana terlebih dahulu. Anda tidak perlu khawatir data yang tiba di urutan yang salah.

Memerintahkan: Jika Anda mengirim dua pesan keluar, Anda tidak tahu apa agar mereka akan tiba di tidak yaitu memerintahkan

Kelas berat: - ketika bagian rendahnya dari TCP "sungai" tiba di urutan yang salah, telah mengirimkan kembali permintaan untuk dikirim, dan semua bagian-bagian dari urutan harus disatukan kembali, sehingga memerlukan sedikit pekerjaan yang harus mengumpulkan .

Ringan: Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll Ini berarti membuat koneksi itu jauh lebih cepat, dan kartu jaringan / OS telah melakukan sedikit pekerjaan untuk menerjemahkan kembali data dari paket.

Streaming: Data dibaca sebagai sebuah "sungai," dengan tidak membedakan mana satu paket berakhir dan yang lain dimulai. Mungkin ada beberapa paket per dibaca panggilan.

Datagrams: Paket akan dikirim secara individu dan dijamin akan utuh jika mereka tiba. Satu paket per satu membaca panggilan.

Contoh: World Wide Web (Apache TCP port 80), e-mail (SMTP TCP port 25 Postfix MTA), File Transfer Protocol (FTP port 21) dan Secure Shell (OpenSSH port 22), dll

Contoh: Domain Name System (DNS UDP port 53), aplikasi media streaming seperti IPTV atau film, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) dan online multiplayer games etc