Tuesday, December 15, 2015

Cara Menggunakan NMAP Untuk Port Scanning

Gak bisa dipungkiri bahwa Nmap adalah salah satu freeware opensource yang paling powerful untuk melakukan port scanning. Di versi windows aplikasi Nmap memiliki versi GUI nya, namun kali ini kita akan membahas cara menggunakannya di versi linux via Command Line.

Sebelum menggunakan Nmap kita harus install dulu aplikasi tersebut, apabila server kita sudah terhubung dengan repository install dengan command yum install nmap.

























Format standard penggunaan Nmap dengan command line adalah seperti ini.




Nmap memiliki banyak options dan dari sekian banyaknya options tersebut, options dibawah ini yang paling sering digunakan.

1. Scanning System Menggunakan Hostname atau IP Address
Menggunakan hostname.

Menggunakan IP Address.

Menggunakan "-v" options, untuk informasi yang lebih detail,


2. Scan OS Information dan Traceroute
Dengan menggunakan Nmap kita bisa mendapatkan informasi OS yang berjalan di remote host dengan menggunakan options "-A".
Dari informasi diatas terlihat informasi TCP/IP fingerprint dari OS yang di scan dan juga total hop dari lokasi kita melakukan scanning ke arah target hosts. Informasi ini biasanya digunakan sebagai langkah awal untuk melakukan penetration testing di level OS. Meski belum lengkap, dari hasil scanning diatas setidaknya kita mengetahui bahwa target host memiliki arsitektur 64-bit.


3. Scanning Target Hosts Untuk Mendeteksi Firewall
Command yang satu ini bisa mendeteksi packet yang di filter oleh firewall yang digunakan oleh si target host.

Contoh, dibawah ini host yang iptablesnya inactive.








Contoh, dibawah ini host yang iptablesnya active namun tidak melakukan blocking ke port 22 yang digunakan untuk ssh.










Bisa juga menggunakan options "-PN" untuk menscan apakah ada service di host target yang di protect oleh firewall.











4. Menemukan Host yang UP dalam Sebuah Network
Kita bisa menggunakan options "-sP" untuk mendapatkan informasi ini.















Command diatas melakukan scanning di network 192.168.227.0/24, hasil dari informasinya ialah terdapat 4 host yang up yaitu 192.168.227.1, 192.168.227.2, 192.168.227.153 dan 192.168.227.156.


5. Scan Spesifik Port
Untuk melakukan scanning terhadap spesifik port gunakan options "-p".










Untuk melakukan scanning multiple port gunakan separator comma, seperti dibawah ini.












6. Scan TCP & UDP Port
Scan TCP port.









Scan UDP port.







Untuk lebih cepat, kita bisa juga menggunakan kombinasi command seperti dibawah ini untuk mendapatkan informasi dari multiple ports.













Sebenernya masih banyak lagi options yang berguna selain contoh diatas, hanya saja menurut pengalaman saya untuk penggunaan standard options diatas paling sering digunakan. Untuk lebih lengkapnya bisa merujuk ke link ini sebagai dokumentasi NMAP References.

Semoga bermanfaat ya gan...

Sunday, December 6, 2015

Direktori /tmp Partition Full But No Visible Files

Udah lama gak nulis di blog karna banyak banged kerjaan yang bikin hidup gak tenang. T_T
Tapi gak apa-apa, karna tulisan kali ini sebagai catetan kecil aja di sela-sela waktu.

Beberapa waktu lalu ane dapet komplain karna di salah satu cluster server yang ane handle ternyata direktori /tmp nya full entah kenapa, pas di cek lebih aneh lagi karena bahkan di dalem direktori dan partisi itu gak ada file yg ukurannya gede.

Waktu troubleshoot ane ngecek pake command df -h, hasilnya outputnya kira2 seperti dibawah ini.


Setelah itu ane cek pake command du -sh * di dalam direktori /tmp dan jadi tambah bingung karna gak ada file yg ukurannya 1,9GB. Ane langsung berpikir mungkin karna ada invisible file, lalu di cek juga pake command ls -a tetep gak keliatan.

"So, what the hell is going on?"

Ternyata setelah analisa lebih jauh ane baru tau juga hal ini biasanya terjadi karna ketika direktori /tmp ingin digunakan untuk menyimpan physical file dan seketika itu juga OS akan membuat virtual file terlebih dahulu. Contohnya seperti ini, katakanlah kita mempunyai sebuah process yang mengenerate report 123.txt, file report tersebut melekat kedalam process yang mengenerate file tsb dan jika process tersebut tidak merelease filenya maka OS masih harus memperhitungkan file spaces yang akan digunakan bagaimanapun caranya. Akibatnya, file tsb tidak benar-benar tergenerate di dalam structure file system, namun space masih digunakan untuk perhitungan alokasi files.

Jadi file fisiknya tidak ada, namun karna OS masih trus mengkalkulasi maka terbaca di df -h ada file yg menggunakan storage dengan ukuran sekian. Mirip dengan recycle bin, file-file dibuang tapi tidak benar-benar dibuang karna file sebenernya masih ada di filesystem OS.


"Jadi Bagaimana Solusinya?"

Nah setelah googling2, dalam kasus seperti ini kita bisa menggunakan command lsof untuk mengecek list open file mana yg masih diproses oleh OS. Gunakan command lsof | grep /tmp | grep deleted seperti contoh dibawah ini.


Dari hasil output diatas, kita bisa melihat ada process yang menggunakan PID 23282 (kotak merah) yang berjalan.

Untuk mengecek lebih detail PID tersebut memproses apa bisa gunakan ps aux | grep 23282, outputnya seperti dibawah ini.


Dari hasil pengecekan diatas, missing temp files mencapai hampir 1,9GB dan inilah yang menyebabkan direktori /tmp full padahal gak ada file didalamnya.

Maka dari itu solusinya bisa meliputi.
  1. Restart daemon services yang berkaitan.
  2. Kill PID process yang berkaitan, dalam kasus diatas kill -9 23282.
  3. Restart Server.
Apabila salah satu action dari diatas sudah dilakukan maka seharusnya ukuran space /tmp akan berkurang dan kembali lagi jadi normal.


Notes
  • Kasus diatas kemungkinan besar bisa terjadi pada direktori lain, maka dari apabila nemuin kasus yang sama maka langkah troubleshotnya bisa gunain langkah-langkah diatas.

Semoga bermanfaat!