Senin, 30 Juni 2008

History Shell

Terkadang kita lupa perintah-perintah yang sebelumnya kita ketik di shell, sehingga kita sering terlupa langkah-langkah yang pernah kita lakukan utnuk membuat sesuatu yang terkadang penting buat kita.
Kita dengan mudah dapat melihatnya kembali, dengan mengetikkan :


jun@jun-desktop:~$ history
1 history 9
2 history
3 nano how.txt
4 history
5 openapp
6 opentool
7 history
8 mc
9 openapp
10 date
11 history



Untuk melihat perintah ke 10 yang pernah kita lakukan tinggal mengetik:

jun@jun-desktop:~$ !10
date
Mon Jun 30 14:29:07 WIT 2008

Ini tentunya akan menghemat waktu kita dalam mengetik bila perintah tersebut terlalu panjang.

Untuk menjalankan perintah yang sebelumnya pernah kita lakukan, ketikan:

jun@jun-desktop:~$ !!
date
Mon Jun 30 14:29:50 WIT 2008

Untuk melihat seluruh history atau bahkan mengeditnya, kita bisa membuka file '/home/[nama_user]/.bash_history'. Lalu mengeditnya atau mengcopynya.

Kamis, 19 Juni 2008

Daftar Port-Port UNIX dan Windows

Seringkali saat menjalankan suatu scanner, anda menjumpai port-port terbuka yang cukup familiar. Tabel dibawah berguna sebagai ceklis untuk UNIX maupun NT, sebab seringkali port-port berikut aktif (kadang secara default) walaupun sebetulnya tidak begitu diperlukan (contoh: server khusus web yang secara tidak sengaja juga menjalankan server e-mail, etc). Berikut adalah daftar port, sedikit informasi, dan (jika ada) eksploit yang relevan.

No. Protokol Label Port Nama Port Keterangan
19 tcp/udp chargen Character Generation Generator karakter ini mengembalikan deretan karakter-karakter. Walaupun sebagian besar layanan yang ada sekarang terbatas ke 512 byte, namun bisa dijumpai server yang mengirimkan karakter secara terus menerus sampai hubungan ke port ini diputuskan. Seringkali di server-server lama, jika jumlah klien yang membuka hubungan mencapai nilai ratusan secara sekaligus, CPU time akan terkonsumsi secara besar-besaran, mebuat sang server merangkak. Serangan tipe Denial of Service paling sederhana adalah dengan me-redireksi keluaran port 19 ke port lain (mentargetkan mesin-mesin Windows NT)
20/21 tcp ftp File Transfer Protocol Protokol untuk menangani pentransferan file(-file) dari satu komputer ke komputer lainnya. Protokol ini menggunakan dua saluran, yang satu sebagai saluran untuk mengendalikan lalulintas data, sedangkan yang satunya lagi untuk dilintasi oleh data itu sendiri. Proses autentifikasi berdasar login/password. FTP adalah metode paling sering digunakan di situs-situs web untuk mengirim file (seringkali akses 'ftp only' diberikan kepada para pelanggan webhosting). Siapapun yang berhasil login akan diberikan hak yang sama berdasar id (jadi boleh menulis ke direktori 'home' milik user tsb), atau bahkan di banyak server, boleh membaca / tulis direktori milik pengguna lain. Eksploit-eksploit yang beredar termasuk untuk program-program wu_ftpd, ncftpd, ftpbounce, dll.
23 tcp telnet Telnet Metode login jarak jauh yang paling populer. Walaupun tidak seaman ssh (data yang melintasi tidak dienkripsi secara otomatis), masih terlalu banyak server-server yang mengizinkan login jarak jauh langsung tipe ini (sebagian besar UNIX, beberapa VMS). Metode ini pulalah yang paling sering diserang oleh chracker-chracker, terkadang dengan se-membabibuta mengetikkan root/daemon/dll, dan mencobakan password-password default. Seringkali mesin-mesin yang sebenarnya tidak berfungsi melayanin user (seperti dns, webserver, etc) menjalankan fungsi ini walaupun sebetulnya, tidak begitu diperlukan.
25 tcp mail Simple Mail Transfer Protokol pentransferan pesan sederhana, adalah standar de facto untuk internet. Termasuk salah satu port yang dijadikan sasaran eksploit-eksploit, yang berjumlah sampai puluhan saking populernya. Karena protokol ini memerlukan akses berprivilese tinggi (seringkali setara root/admin) supaya bisa menulis ke direktori milik user manapun juga. Sebaiknya dihilangkan bagi mesin-mesin yang tidak begitu memerlukannya.
48 tcp/udp auditd Digital Audit Daemon Digunakan oleh daemon audit komputer-komputer Digital untuk menjalankan tugas-tugas administrasi. Banyak sniffer yang mentargetkan port ini.
53 tcp/udp dns Domain Name Server salah satu layanan yang cukup vital, dijalankan di server-server, berfungsi untuk memberikan informasi berbentuk alamat IP xxx.xxx.xxx.xxx untuk setiap permintaan penterjemahan dari nama-nama domain. Eksploit nameserver bisa dicari di internet atau di arsip kecoak.
79 tcp finger Finger Daemon daemon yang bertugas memberikan informasi mengenai pengguna-pengguna suatu sistem kepada sang peminta (seringkali siapa saja). Pada versi-versi lama Unix, perintah:
finger user@host1@host2@etc...(termasuk firewall)
menjadikan sang peminta lebih anonimus sebab user@host1 akan melihat bahwa peminta berasal dari host2 atau bahkan firewall.
80/
8000/
8080/
dll
tcp http WWW, HyperText Transfer Protocol Protokol pentransferan data berformat HTML (webpage-webpage) lainnya dari server kepada publik. Port ini sangat populer dijadikan sasaran para chracker (terutama ditargetkan oleh program-program pelacak kelemahan CGI), sebab banyak program CGI yang bisa dieksploit. Mesin-mesin yang menyediakan servis 'Frontpage Extensions' secara default terkenal berlobang besar, dan di-'patch'. Ada juga serangan dari pengunjung yang mencoba mengakses direktori-direktori yang terlindung password (contohnya di situs-situs porno) dengan cara mem-brute force proses otentifikasi (UserID dan Password), sebab serangan semacam ini tidak direkam oleh log server.
110 tcp/udp pop3 Post Office Protocol v3 Protokol standar pemeriksaan email jarak jauh. Biasanya user (atau program e-mail client user) melog-on untuk memeriksa dan mengambil pesan email yang diterima lewat mailbox server. Hilangkan jika anda tidak membutuhkan layanan ini pada suatu server. Protokol ini mengizinkan siapapun untuk memasukkan kombinasi (lewat skrip) user+password secara 'brute force' tanpa mencatat log.
111 tcp/udp sunrpc Sun Remote Procedure Call Beberapa portscanner mentargetkan port ini, dan terdapat beberapa program yang mengeksploit port ini (mesin-mesin Sun/Solaris).
139 tcp/udp netbios-ssn NetBIOS Session Service Port inilah yang biasanya digunakan sebagai sarana komunikasi dengan atau antara mesin-mesin Microsoft (NT/95/98). Penyerang seringkali mentargetkan 'shared device' yang bisa diakses lewat internet. Juga terdapat banyak program 'nuker' yang men-denial-of-service-kan mesin-mesin Windows via port 139. Selain di mesin-mesin NT, mesin-mesin Unix juga menjalankan servis di port ini, yaitu Samba, yang memberikan kemudahan bernetwork antara mesin platform Unix dengan mesin Windows. Jalankan ADMSMB scan atau eksploit untuk memeriksa vulnerabilitas.
143 tcp/udp imap2 Interactive Mail Access Protocol Protokol pengaksesan e-mail lainnya. Seringkali berjalan tanpa diperlukan. Mesin-mesin UNIX (terutama Linux) yang menjalankan imap instalasi default terbuka terhadap serangan yang bisa berakibat pemberian privilese root kepada sang chracker.
443 tcp https Hypertext Transfer Protocol-Secure Daemon penerima permintaan tipe http yang berjalan diatas 'secure layer' (terenkripsi). Lihat keterangan untuk port 80 diatas.
512 tcp exec Remote Process Execution Mengizinkan eksekusi proses jarak jauh dengan sistem autentifikasi berdasar file /etc/passwd.
513 tcp rlogin Remote Login Protocol Port inilah yang digunakan jika anda melakukan 'rlogin' ke suatu host. Dengan rlogin, user di host A tidak perlu melewati proses login lewat telnet ke host B seperti biasa, namun bisa langsung masuk ke home directorynya di host B (tanpa password). Jika seorang chracker berhasil menjebol root di salah satu host, rlogin adalah sarana paling cocok untuk digunakan 'meloncat' ke host lain dalam network yang sama dan mengambil alih kontrol.

Menonaktifkan controlling terminal (tty) di Ubuntu

Jika kita menekan kombinasi tombol Ctrl+Alt+F1 - F6 maka kita akan masuk ke modus terminal (satu layar penuh) dimana penamaannya akan berdasar kombinasi tombol yang kita tekan, misal: Ctrl+Alt+F1 maka kita akan mendapatkan 'tty1'.
Untuk menonaktifkannya cukup dengan menghapus file ttyx (dimana x adalah 1-6) di direktori:
/etc/event.d/.
Tapi jangan dihapus bila anda suatu saat masih memerlukannya, cukup membackupnya saja.

Membuat lokal repositori Fedora

1. Salin paket rpm ke direktori misal : /media/repo
2. Buat repository dengan createrepo, defaultnya belum diinstall, install saja paketnya:
# rpm -ivh createrepoxxx.rpm
# cd /media/repo
# createrepo .
Semakin banyak paket yang akan dijadikan repo, semakin lama....
3. gunakan editor kesayangan anda
# gedit /etc/yum.repos.d/fedora-core.repo
edit :
[fedora] / [core] pada fc6
name=Fedora $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
baseurl=file:///media/repo
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

edit disetiap *.repo terutama update dan extra(untuk fc6 kebawah)
berikan comment pada mirrorlist
set enabled = 1 untuk mengaktifkan dan 0 untuk me-nonaktifkan

4. Tinggal dicoba
# yum -y install mc

Rabu, 18 Juni 2008

Membuat lokal repositori Ubuntu

Copy file-file di folder ‘/var/cache/apt/archives’ ke suatu tempat. Misalnya ke usb flash disk dan disimpan di folder repo.

Setelah itu copy file yg tadi disimpan flash disk ke direktory, misalnya ‘/home/jun/Desktop’. Hingga hasil ahirnya seperti ini ‘/home/jun/Desktop/repo’.

install program bantuan agar proses ‘dpkg-scanpackages..’ bisa di execute. Nama programnya dpkg-dev. Hanya di komputer dimana proses pembuatan local repo dilaksanakan;

jun@jun-desktop:~$ sudo apt-get install dpkg-dev

Buat file Packages.gz. Caranya masuk ke direktory yg membawahi folder repo lalu jalankan perintah scanpackages:

jun@jun-desktop:~/Desktop$ cd /home/jun/Desktop
jun@jun-desktop:~/Desktop$ sudo dpkg-scanpackages repo /dev/null | gzip -9c > repo/Packages.gz

Jangan ada salah ketik. Bahkan penempatan spasi harus tepat. Hasilnya akan terlihat seperti ini:
** Packages in archive but missing from override file: **
adesklets amaya apport apport-gtk arts atlantik avidemux blinken
capplets-data clamav clamav-base clamav-freshclam dansguardian
dosbox edict enscript fb-music-high ffmpeg firehol fluxbox frozenWrote 305 entries to output Packages file……

Selesai. Di folder ‘/home/jun/Desktop/repo’ disamping dipenuhi file *.deb sekarang ada file baru dengan nama Packages.gz. Local repo siap digunakan. Tinggal setting di komputer yg akan memanfaatkan repo ini.

Setting di komputer pemakai:

Edit file ‘/etc/apt/sources.list’. Edit dengan cara memberi tanda pagar di awal baris untuk tiap-tiap alamat repo yang tidak terpakai lalu tambahkan baris berikut:

deb file:///home/jun/Desktop repo/

(menuliskan nama folder yg berisi repo harus memakai spasi dan di tutup dengan tanda ‘/’)

Perintah mengupdate repo:

jun@jun-desktop:~$/ sudo apt-get update

Setup selesai. Install program dengan menggunakan Synaptic.

Selasa, 17 Juni 2008

Mengontrol Run Level pada Linux

Saat kernel mulai berjalan, seluruh proses sepenuhnya dipegang oleh init process. Init proses menjadi proses pertama yang berjalan (PID 1). Merujuk pada isi dari file /etc/inittab (untuk distro berbasis RedHat dan SuSE).
Secara default run level diset ke 5 untuk desktop dan 3 untuk server (bila masuk dalam golongan distro RedHat atau SuSE). Runlevel harus berada dalam runlevel S,1,2,3,4,5.
Untuk melihat kita berada dalam runlevel yang mana, ketikkan ini pada terminal:

jun@jun-desktop:~$ runlevel
N 2

Pada contoh ini sistem boot pada runlevel 3, sehingga tidak ada runlevel yang lalu (N). Untuk mengganti runlevel cukup ketikkan:

jun@jun-desktop:~$ sudo init 5

Cara diatas akan menyebabkan kita masuk dalam modus X window (runlevel 5).

Jumat, 13 Juni 2008

Memberi Password Pada GRUB Bootloader

Memberi password pada GRUB bootloader adalah salah satu cara aman mengamankan OS kita dari penyalahgunaan. Caranya sangat mudah, langkahnya:
1. Buka terminal.
2. Ketikkan perintah berikut:

jun@jun-desktop:~$ sudo grub-md5-crypt
[sudo] password for jun:
Password:
Retype password:
$1$FSgIY$gABpy271ua9BIGQtB8.R8/

3. Baris terakhir adalah hasil enkripsi password dengan md5 yang nantinya dimasukkan dalam menu.lst.

4. Kemudian buka file /boot/grub/menu.lst dengan editor apapun (dengan login admin atau root atau menggunakan sudo). Tambahkan isinya, sebagai contoh:

title Ubuntu 8.04, kernel 2.6.24-16-386
password --md5 $1$FSgIY$gABpy271ua9BIGQtB8.R8/ //passwordnya
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-16-386 root=UUID=02ef8d7e-b51e-462e-8065-09fc58b40673 ro quiet splash
initrd /boot/initrd.img-2.6.24-16-386
quiet

title Ubuntu 8.04, kernel 2.6.24-16-386 (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-16-386 root=UUID=02ef8d7e-b51e-462e-8065-09fc58b40673 ro single
initrd /boot/initrd.img-2.6.24-16-386

...

5. Kemudian save. Cobalah untuk restart komputer, maka ketika anda memilih untuk masuk akan ditanyakan password anda.