How to analyze log file to find hackerz activities


Pada masa kini kejadian web defacement atau kehilangan data melalui sistem aplikasi online sebenarnya sering berlaku. Sama ada ianya diketahui umum (hebahan menerusi website zone-H) ataupun dirahsiakan atas sebab keselamatan. Ianya berlaku bukanlah disebabkan hackerz yang terlebih pandai tapi akibat kelemahan kawalan dan pemantauan oleh admin sistem aplikasi tersebut.

Salah satu kaedah untuk pemantauan ini adalah menerusi semakan pada log fail web server.

Pada asasnya apabila kita setup web server apache, access.log akan sedia ada terbina dan disimpan di /var/log/httpd/

OS : CentOS / RHEL
Web Server : Apache

Namun sekiranya web server kita merupakan hosting kepada banyak vhost maka ianya akan memeritkan lagi kerja server admin bagi membuat analisa kepada fail log sekiranya berlaku sebarang web defacement atau data hilang menerusi salah satu vhost di server tersebut.

Kelebihan 1 log file untuk semua vhost :
1) Mudah untuk penyimpanan atau backup data kerana ianya disimpan setempat
2) Memudahkan carian sebarang maklumat dari log fail kerana disimpan setempat

Kelemahan 1 log file untuk semua vhost :
1) Menyusahkan kerja admin untuk analisa log file
2) Default log rotate adalah 4 file, bagi file ke 5 akan di delete rotate file terakhir dan juga terdapat limit saiz bagi setiap fail log. Ini mengakibatkan kemungkinan data untuk dianalisa telah hilang sekiranya rotate fail telah dipadamkan akibat log file server menyimpan vhost yang banyak.
3) Sekiranya fail tersebut di delete, maka semua fail log vhost lain turut sama di delete

Kaedah untuk create unik log file bagi setiap vhost dilaksanakan di fail vhost di setiap web server dengan menggunakan script berikut :
fail : /etc/httpd/conf/httpd.conf
Tambah row ErrorLog dan CusomLog
-------------------------------------

    ServerAdmin admin@server.com
    DocumentRoot /var/www/html/finance
    ServerName finance.org
    ErrorLog logs/finance-error_log
    CustomLog logs/finance-access_log common

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

Namun bagi kes hanya 1 access.log file sahaja. Boleh gunakan kaedah berikut :

1) Kenalpasti tarikh insiden hackerz buat web defacement berlaku

2) Run command berikut :
# grep "03/Sep/2010" /var/log/httpd/access.log > hack0309.txt
- filter row yang memaparkan tarikh 3 September 2010 dan simpan di fail hack0309.txt


3) Sekiranya ada spesifik masa insiden berlaku maka run command berikut :
# grep "03/Sep/2010:13:2" /hack0309.txt > hack0309-120PTG.txt
- filter row yang memaparkan tarikh 3 September 2010 dan pada jam 1 :20 ptg hingga 1:29 ptg dan simpan di fail hack0309-120PTG.txt


Maka anda perlu analisa dari log tersebut sebarang kod status 200 (berjaya akses) dan kenalpasti sebarang aktiviti mencurigakan seperti POST atau GET dari log file tersebut kepada folder tertentu yang dikenalpasti tempat hackerz membuat web defacement. 

Kadangkala hackerz ada memasukkan fail backdoor script ke dalam server dan sekiranya kita cuba untuk download ke pc kita yang ada antivirus confirm akan detect sebagai trojan.backdoor (SEP11).

Oleh itu, laksana command berikut :

1) # gzip index.php
- gzip fail tersebut

2) # tar -cvf index.tar /var/www/www_kuarantin/saspekQ/1msia1phg/images/index.php.gz
- zipkan kali kedua dengan tar fail gzip tadi. Kebiasaannya antivirus jarang detect fail in depth zip dengan lebih dari 1 lapisan zip.

3) Transfer fail ke PC anda dan tiada lagi antivirus detect fail tersebut lalu delete atau kuarantinkannya.

Untuk kenalpasti jenis serangan :
Baca file log dari pc Windows
1) File Inclusion
# findstr /c:"=http" (nama file) > (output file)

2) Directory Traversal
# findstr /c:"../" (nama fail) > (output file)

3) SQL Injection
# findstr /c:"UNION" (nama fail) > (output file)

4) XSS
# findstr /c:"(script)" (nama fail) > (output file)

Search : ganti '(' dengan '<' dan ')' dengan '>'

/c = search string

Semoga berjaya!!!
~ Be a Creator Not a User ~

Ulasan