Mengenal Fork bomb - Self Destruct
#1
yup met malem senin nih, mumpung besok masih libur, ane tertarik ma trit nya bang kriojin mengenai perintah berbahaya untuk linux bagian fork bomb. ternyata banyak juga (bukan hanya bash) yang bisa menjadi targetnya.

sebelumnya yang belum ngerti fork bomb. fork bomb merupakan metode forking secara gila (DDOS) lah untuk komputer sendiri sehingga sibuk sendiri. cukup keren lah kaya di filem nya secret agent gitu.

cara kerja fork bomb adalah melakukan forking (minimze process in background) sebanyak banyaknya sehingga komputer tersebut akan kehabisan resource (kalo dilinux kehabisan memory+pid) =)). masih bingung apa itu PID? okelah. PID merupakan nomor unik yang digunakan untuk pengenal proses. PID dalam linux diawali dari 0 (biasanya proses "init") dan maksimal tiap tiap perangkat berbeda. maks pid dapat dilihat dengan perintah

# cat /proc/sys/kernel/pid_max

sayangnya untuk menanggulangi fork bomb yang udah jalan lumayan sulit. karena kita akan kehabisan PID untuk melakukan perintah lain seperti kill, killall, ataupun pkill.

berikut ini beberapa fork bomb dari beberapa bahasa pemgograman

BASH
Code:
:(){:|:&};:

pada dasarnya perintah tersebut adalah sebuah fungsi rekrusif. kalau dipisah seperti ini

Code:
:()        # pendeklarasian fungsi dengan nama ":"
{          # kurawal buka awal fungsi
     :|:&      # pemanggilan fungsi ":" kemudian pipeline ke fungsi ":" dan forking "&"
};         # tutup kurawal fungsi
:          # pemanggilan fungsi ":"

sebenernya biang kerok dari fork bomb diatas adalah "&" yang memperbolehkan memanggil fungsi lagi sebelum fungsi sebelumnya selesai. hahhaaa kalau pengen yang mudah bacanya, fungsinya sama aja seperti ini
Code:
bomb(){
     bomb | bomb &
};
bomb

si linus pun bilang kalo sebenernya kasus di atas bukanlah bug namun sebuah fitur =)).

C

mirip dengan bash yaitu menggunakan fungsi fork() untuk menjalankan program in background mirip "&".

[shcode=cpp]
int main(){
while(1){
fork();
}
return 0;
}
[/shcode]
namun sikecil yang satu ini perlu di compile menggunakan gcc serta tidak menghabiskan resource terlalu banyak.

BATCH

buat file dengan nama "a.bat" tanpa kutip. isi dengan ini
Code:
[url=http://indonesianbacktrack.or.id/forum/member.php?action=profile&uid=9494]@echo[/url] off
:s
start a.bat
goto s

perintah diatas akan mengeksekusi a.bat secara terus menerus tanpa henti. namun kelemahannya adalah mudah untuk melakukan defuse bomb tersebut. cuman butuh di kill cmd.exe nya Big Grin.

perintah diatas hanya untuk orang yang udah putus asa atau menghilangkan jejak tanpa bekas Big Grin. DONT TRY AT YOUR DEVICE AT HOME!!! =))

mungkin cukup untuk forkbombnya maaf kalo bahasanya acak acakan. lagi galau. haha, kapan kapan lagi ane tambahin lagi.

#2
Ooh, gini ya haking? Menarik sekali analisis akang mempreteli kode aneh itu. Saya tak menyadari itu fungsi. Padahal sudah ada {}. Tak saya sangka nama fungsi bisa dibuat hanya dengan :.

Terima kasih.

#3
cerah dah kalo udah ada yang bahas ni command.,
6f8965c9c56e5bf96fe4d95b0bd7a350

#4
banyak malware memiliki fungsi seperti ini ... thx udah share ya +2
FOLLOW @DutaLinux
for more question and sharing about security and Opensource only

#5
(12-30-2012, 10:48 PM)Malsasa Wrote: Ooh, gini ya haking? Menarik sekali analisis akang mempreteli kode aneh itu. Saya tak menyadari itu fungsi. Padahal sudah ada {}. Tak saya sangka nama fungsi bisa dibuat hanya dengan :.

Terima kasih.

yup ane juga baru tau kalo di bash, : pun bisa jadi nama fungsi. Big Grin

(12-30-2012, 11:16 PM)zee eichel Wrote: banyak malware memiliki fungsi seperti ini ... thx udah share ya +2

yup... bener bro... rata rata penyebaran worm menggunakan fungsi rekrusif kaya di atas buat jelajah folder folder

tambahan nih... fork bomb dari php
php
[shcode=php]
<?php
while(1){
pnctl_fork();
}
?>
[/shcode]

pnctl_fork() merupakan sebuah fungsi untuk melakukkan forking proses php yang sedang berjalan. apabila terdapat loop while(1) maka akan forking terus menerus tanpa henti sampe pid nya habis. satu lagi, perintah ini hanya dapat dieksekusi lewat php-cli dan khusus linux.

ruby

Code:
def bomb           # deklarasi fungsi bomb
     loop { fork { bomb}} # perulangan selamanya untuk forking fungsi bomb
end;                   # akhir fungsi
bomb                 # panggil fungsi bomb

[b]python[/p]
[shcode=python]
import os
while True:
os.fork()
[/shcode]

tambahan lagi neh buat batch windows.

buka notepad kasi nama terserah dengan extensi bat.

Code:
%0|%0

ketikkan kode di atas dan jalankan program bat nya.

penjelasan: teknik ini harus menggunakan sebuah file bat dan tidak boleh dieksekusi secara langsung.sebenernya apa makna dari %0?

%0 merupakan sebuah variabel dalam bat yang berisi alamat dan nama script yang di jalankan. misal script bernama bomb.bat terletak di C:\ maka nilai variabel %0 adalah C:\bomb.bat.

jadi apabila %0|%0 maka menurut permisalan di atas jadi
Code:
C:\bomb.bat | C:\bomb.bat

command prompt akan terus mengeksekusi bomb.bat karena output dari bomb.bat akan dipipeline ke bomb.bat yang mana harus mengeksekusi bomb.bat juga.

#6
Terima kasih om penjelasannya :-bd

awalnya belum paham menjadi paham :-bd
Spoiler! :
FREE YOUR MIND and THINK

#7
hahaha mantab share nya bro, dulu pernah ane coba Sad){:|:&};: di konsol, pelan2 jd hang Big Grin

+1 dari ane

#8
sip tambah ilmu lagi ,,, Big Grin
tapi itu gunanya untuk apa om,bingung ane Angry
>> OJO DUMEH <<

#9
tambahan lg bwt linux. Buat file, trus isi dengan
Code:
$0|$0

Cara krjanya sama ky yg windows.

(01-03-2013, 09:07 PM)amanojaku Wrote: sip tambah ilmu lagi ,,, Big Grin
tapi itu gunanya untuk apa om,bingung ane Angry

hehe coba aja bro. Tu bwt hancurin kmptr sndri.

#10
(01-03-2013, 09:36 PM)alkaaf Wrote: tambahan lg bwt linux. Buat file, trus isi dengan
Code:
$0|$0

Cara krjanya sama ky yg windows.

(01-03-2013, 09:07 PM)amanojaku Wrote: sip tambah ilmu lagi ,,, Big Grin
tapi itu gunanya untuk apa om,bingung ane Angry

hehe coba aja bro. Tu bwt hancurin kmptr sndri.
gak berani om .. wkwkw .... =))
>> OJO DUMEH <<






Users browsing this thread: 1 Guest(s)