Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng

Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng (http://quantrinet.com/forum/index.php)
-   Local Hack và Các Phòng Chống (http://quantrinet.com/forum/forumdisplay.php?f=513)
-   -   Local by pass server windows with kshell ? (http://quantrinet.com/forum/showthread.php?t=4800)

hoctinhoc 01-04-2010 10:02 PM

Local by pass server windows with kshell ?
 
Local by pass server windows with kshell ?



Trước khi đi vào chi tiết tôi xin nêu một chút thông tin về cách thức chạy đối với 1 site trên IIS.
Một site chạy trên IIS sẽ có 2 tài khoản:
- Tài khoản dạng _IUSR để chạy các script như php, asp,...
- Tài khoản dạng IWAM_ để chạy work process của .NET phục vụ chạy ASP.NET. Các work process phục vụ cho 1 Application Pool nào đó.
Lưu ý là site có thể ở chế độ có khoặc không application pool.
Việc cấu hình các thông tin trên sẽ ảnh hưởng trực tiếp đến việc có thể local by pass hay không ?
Bài này tôi chỉ nói đến local by pass đối với .NET vì kshell là công cụ chạy trên .NET framework.

Local by pass là gì ?


Có thể các bạn đã nghe nói đến các lỗi php safe mode bypass trên linux và trên windows. Local bypass được hiểu một cách nôm na là truy nhập vượt ra ngoài những gì được phép. Ví dụ : trên một server có rất nhiều website, mỗi site chỉ có quyền đối với phạm vi site của mình (thư mục,...). Việc truy nhập từ site này sang site khác trên cùng server hay truy nhập ra các phần khác như ổ cứng, các thông tin hệ thống không được phép gọi là local bypass. Hacker thường lợi dụng cách này để tấn công site hàng loạt hoặc tấn công một site định trước nhưng site đó không thể tấn công trực tiếp.

Thông tin về kshell:
Thông thường thì kshell vẫn chạy ngon lành nhưng trong một số trường hợp kshell sẽ không chạy được hoặc có báo lỗi như sau:
http://www.guru.net.vn/content/binar...s_kshell_1.jpg
Đây là một thông báo rất chung, nhìn vào trang này ta sẽ không biết vì sao kshell ko chạy ?


Làm sao để cho hiển thị lỗi ?
Dùng một tool khác viết bằng asp, php hoặc thậm trí dùng FTP nếu có.

Ra thư mục gốc của site mở file web.config (nếu chưa có thì up load lên)

File mẫu :
Web_config.zip (1,79 KB)
Trong file đó sửa đoạn :

<customErrors mode="RemoteOnly" />

Thành

<customErrors mode="Off" />


http://www.guru.net.vn/content/binar...s_kshell_2.jpg
Khi đó nếu có thể có lỗi :


http://www.guru.net.vn/content/binar...s_kshell_3.jpg
Hoặc


http://www.guru.net.vn/content/binar...s_kshell_4.jpg
Lỗi này là do không đủ quyền, do server chạy ở chế độ không phải là Full Trusted đối với .NET (partial trust). làm sao có thể vượt qua partial trust ?

Vẫn như ở bước trên trong file web.config thêm vào dòng :
<trust level='Full'/>


http://www.guru.net.vn/content/binar...s_kshell_5.jpg
Sau đó chạy lại kshell. Kết quả thật bất ngờ đúng không nào
http://us.i1.yimg.com/us.yimg.com/i/...oticons7/4.gif
Chúng tôi đã kiểm thử trên rất nhiều server Việt Nam và quốc tế. Phần lớn đều có thể local bypass.

Hy vọng bài viết này sẽ giúp cho các admin hiểu rõ hơn một phương pháp tấn công local để từ đó có cách phòng tránh.

Tôi cũng hy vọng đây là một ví dụ thú vị đối với các bạn ham tìm hiểu về bảo mật.

Cảm ơn nhóm


Vnsecurity checker team


đã giúp tôi hoàn thành bài viết này!


Suu tap



:dadao:


Bây giờ là 10:42 PM. Giờ GMT +7

Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.