Ini Proses Apa Yah..??!!
Iseng iseng .. cek, sambil nunggu jam pulang kerja
# ps -aux
aih aih .. ini seh jam pulang kerja bakalan telat lagi :
# ps aux|grep nobody
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
nobody 6003 0.0 0.2 3952 3556 ?? S 7:02AM 0:31.37 /bin/bash(perl)
……….
……….
[dan seterusnya]
Siaga Satu !!!!
Hehehe nah pertanyaan nya adalah kenapa dianggap mencurigakan? memang sih agak-agak susah untuk mengkatagorikan suato proses mencurigakan atau tidak soalnya perlu sedikit pengalaman dan sering baca-baca. Tapi yang pasti untuk kasus diatas gampang banget mengetahui kalau proses tersebut mencurigakan alasannya yaitu.
1. User nobody gak punya shell jadi dia gak di ijinin buat login (/bin/bash itu kan shell)
2. /bin/bash itu aplikasi mandiri sementara disini /bin/bash (perl) yang artinya dia itu perl yang di eksekusi seolah-oleh /bin/bash
Ok dari dua kemungkinan itu aja dulu kita udah ada gambaran untuk mencurigai proses dengan PID 6003 tersebut. Selanjutnya saya berusaha memastikan apakah betul-betul ilegal atau tidak dengan cara mengetikan ps axj dan berikut ini hasilnya
# ps axj|grep nobody
USER PID PPID PGID SESS JOBC STAT TT TIME COMMAND
nobody 6003 1 6003 c83f5c40 0 S ?? 0:31.46 /bin/bash (perl)
nobody 17104 18172 18172 c5123900 0 S ?? 0:00.37 /usr/local/apache/bin/httpd -DSSL
nobody 19345 18172 18172 c5123900 0 S ?? 0:00.15 /usr/local/apache/bin/httpd -DSSL
……….
……….
[dan seterusnya]
Kemudian kita cari tahu ada di mana sih aplikasi yang sedang jalan ini
# lsof -a -d cwd -p 6003
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
perl 6003 nobody cwd VDIR 116,131072 1024 2 /
Nah lho koq di / (root) kan disana gak ada bash
katanya di /bin/
ok semakin terlihat kejanggalan proses tersebut dimana PPID nya 1
nah udah lah lengkap sudah kecurigaan nya sekarang mari kita mencari apa yang harus dicari.
# lsof -i -a -n -p 6003
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
perl 6003 nobody 3u IPv4 0xe5892a00 0t0 TCP *:sd (LISTEN)
Dari hasil lsof dengan option -i -a -n -p ketemu deh kalo ternyata dia juga membuka port dengan nama sd. hmmm sd apaan ya??? ya udah lah cari tau dulu sd itu apa dan port berapa.
# cat /etc/services |grep sd sd
9876/tcp #Session Director sd
9876/udp #Session Director
Nah nah ternyata port nya 9876 namanya Session Director sekarang kita test siapa tau dapet info lebih dari port tersebut.
# netstat -an |grep 9876
tcp4 0 0 *.9876 *.* LISTEN
Ketemu open port tcp4 port 9876 di semua IP yang ada di box sekarang kita coba port tersebut.
# telnet localhost 9876 T
rying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
Sua senha:
Senha Incorreta!
Connection closed by foreign host.
Naaah ketemu ternyata ketika di test menggunakan telnet di langsung respon dengan Sua senha (artinya kira-kira Password Euy
dalam bahasa portugis) kemudian setelah dicoba ngetik sembarang text dia langsung keluar pesan Senha Incorreta! (password salah) dan close. Ya udah lah gpp toh cuman ngetes dowang yang pasti sekarang tau kalau kemungkinan aplikasi yang sedang jalan itu adalah bot atau shell (backdoor?) yang pasti ilegal.
Lanjut berhubung dengan lsof tidak ditemukan lokasi dari aplikasi asli yang sedang berjalan kemungkinan ini adalah bot hit and run yang biasa dipake ketika orang inject web (biasanya mambo). Dimana dia akan mendownload file kemudian menjalankan file tersebut dan kabur yang kemudian bikin pusing admin box karena file nya tidak ada tapi proses nya jalan terus.
Ya udah lah sekarang kita matiin dulu prosess nya biar server gak terlalu berat.
# kill -9 6003
Selanjutnya kita iseng-iseng mencari siapa tahu bisa ketemu file yang bisa dipakai untuk download atau mendapatkan shell access untuk user nobody. Karena sudah pasti kalau nobody bisa meng execute file ber extensi PHP dan ada yang namanya phpshell maka yang kita kejar sekarang adalah file PHP yang ada kata-kata wget didalam nya.
# cd /home find ./*/public_html/ -depth 1 -name “*.php” | xargs grep “wget”
dan berikut ini adalah salah satu contoh hasil dari proses diatas.
./xxeditedxx/public_html/samiyo.php:echo sr(15,”<strong>”.$lang[$language.'_text16'].$arrow.”</strong>”,”
<select name=”\”with\”"><option value=”\”wget\”">wget</option><option value=”\”fetch\”">fetch</option><option value=”\”lynx\”">lynx</option><option value=”\”links\”">links</option><option value=”\”curl\”">curl</option><option value=”\”GET\”">GET</option></select>
“.in(’hidden’,'dir’,0,$dir).ws(2).”<strong>”.$lang[$language.'_text17'].$arrow.”</strong>”.in(’text’,'rem_file’,78,’http://’));
Nah selanjutnya tinggal masuk ke folder tersebut dan hapus atau kalau mau sadis ya suspend aja deh account host-nya :P.

Leave a Reply