Lời nói đầu: Thể theo yêu cầu của mọi người, ban điều hành HackerVn đã cho ra đời bản FAQ này dành cho những bạn mới làm quen với nghệ thuật Hacking và Internet. Bạn có thể tự tìm tòi những điều căn bản mà bất cứ Hacker nào cũng phải "master". Hy vọng những khái niệm trong bài viết này sẽ giải đáp được nhiều thắc mắc của một số bạn. Nếu bạn cảm thấy những kiến thức dưới đây không đúng hoặc thiếu chính xác bạn có thể gửi thư góp ý . Bản FAQ này dựa trên cơ sở đóng góp, góp ý của các thành viên trên HackerVN community, vậy nếu bạn có câu hỏi hay giải đáp muốn chúng tôi thêm vào bản FAQ này thì xin liên hệ với địa chỉ e-mail ở trên hoặc có thể gửi lên trên forum. Để trang trở nên thật sự hữu ích và để giúp HackerVN tiến lên phía trước chúng tôi thiết tha sự giúp đỡ và đóng góp của bạn. "Một cây làm chẳng nên non, ba cây chụm lại nên hòn núi cao". Internet Địa chỉ IP (IP Address) (By Conan_Dole and BlackArt)
Trên mạng Internet nó sẽ xác định chính bạn. Khi kết nối vào mạng thì IP của bạn là duy nhất trên thế giới. Tuy nhiên số này chưa hẳn là cố định. Nếu bạn vào mạng qua một ISP thì số IP của bạn sẽ thay đổi ở các lần bạn kết nối. Một người biết IP của bạn thì có thể lần ra vị trí của bạn. Nghĩa là khi có IP thì biết được địa chỉ của ISP rồi biết được thông tin của bạn. Trên thực tế, IP cho biết về máy tính được sử dụng để vào mạng chứ không cho biết thông tin về người sử dụng, trừ khi IP của bạn là cố định hoặc sử dụng account của riêng bạn. Sự khác nhau giữa logic (hostname) và một địa chỉ IP: Đơn giản chỉ bởi vì việc gọi tên, ví dụ www.yourname.com sẽ dễ hơn nhiều đối với việc phải gọi 202.32.156.14. Tuy vậy, có một sự khác biệt quan trọng giữa 2 điều này. IP là số để xác định thiết bị (device) còn hostname là một mối liên kết giữa 1 từ khoá và một số IP. Một địa chỉ IP có thể có nhiều hostname khác nhau nhưng một hostname thì chỉ có một IP liên kết với nó. Địa chỉ IP được chia thành 4 số giới hạn từ 0 - 255. Mỗi số được lưu bởi 1 byte -> !P có kicks thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B, và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu điạ chỉ, ở lớp B có 65536 địa chỉ. Ví dụ: Ở lớp B với 132.25,chúng ta có tất cả các địa chỉ từ 132.25.0.0 đến 132.25.255.255. Phần lớn các địa chỉ ở lớp A llà sở hữu của các công ty hay của tổ chức. Một ISP thường sở hữu một vài địa chỉ lớp B hoặc C. Ví dụ: Nếu địa chỉ IP của bạn là 132.25.23.24 thì bạn có thể xác định ISP của bạn là ai. ( có IP là 132.25.x.)
IP thể hiện điều gì: Trên mạng Internet nó sẽ xác định chính bạn. Khi kết nối vào mạng thì IP của bạn là duy nhất trên thế giới. Tuy nhiên số này chưa hẳn là cố định. Nếu bạn vào mạng qua một ISP thì số IP của bạn sẽ thay đổi ở các lần bạn kết nối. Một người biết IP của bạn thì có thể lần ra vị trí của bạn. Nghĩa là khi có IP thì biết được địa chỉ của ISP rồi biết được thông tin của bạn. Trên thực tế, IP cho biết về máy tính được sử dụng để vào mạng chứ không cho biết thông tin về người sử dụng, trừ khi IP của bạn là cố định hoặc sử dụng account của riêng bạn.
Sự khác nhau giữa logic (hostname) và một địa chỉ IP:
Đơn giản chỉ bởi vì việc gọi tên, ví dụ http://www.yourname.com/ sẽ dễ hơn nhiều đối với việc phải gọi 202.32.156.14. Tuy vậy, có một sự khác biệt quan trọng giữa 2 điều này. IP là số để xác định thiết bị (device) còn hostname là một mối liên kết giữa 1 từ khoá và một số IP. Một địa chỉ IP có thể có nhiều hostname khác nhau nhưng một hostname thì chỉ có một IP liên kết với nó.
IP spoofing là: Một số IP có mục đích để xác định một thiết bị duy nhất trên thế giới. Vì vậy trên mạng một máy chủ có thể cho phép một thiết bị khác trao đổi dữ liệu qua lại mà không cần kiểm tra máy chủ. Tuy nhiên có thể thay đổi IP của bạn, nghĩa là bạn có thể gởi một thông tin giả đến một máy khác mà máy đó sẽ tin rằng thông tin nhận được xuất phát từ một máy nào đó (tất nhiên là không phải máy của bạn). Bạn có thể vượt qua máy chủ mà không cần phải có quyền điều khiến máy chủ đó. Điều trở ngại là ở chỗ những thông tin phản hồi từ máy chủ sẽ được gởi đến thiết bị có IP mà chúng ta đã giả mạo. Vì vậy có thể bạn sẽ không có được sự phản hồi những thông tin mà mình mong muốn. Có lẽ điều duy nhất mà spoof IP có hiệu quả là khi bạn cần vượt qua firewall, trộm account và cần dấu thông tin cá nhân!
Cổng ảo là gì? (Virtual Port)
Cổng ảo là 1 số tự nhiên đựợc gói ở trong TCP(Tranmission Control Protocol) và UDP(User Diagram Protocol) header (hiện có lẽ bạn còn xa lạ với 2 từ này, chúng tôi sẽ đề cập sau). Như mọi nguòi đã biết, Windows có thể chạy nhiều chương trình 1 lúc, mỗi chương trình này có 1 cổng riêng dùng để truyền và nhận dữ liệu. Ví dụ 1 máy có địa chỉ IP là 127.0.0.1 chạy WebServer, FTP_Server, POP3 server, etc, những dịch vụ này đều đuọc chạy trên 1 IP address là 127.0.0.1, khi một gói tin đuọc gửi đến làm thế nào máy tính của chúng ta phân biệt được gói tin này đi vào dịch vụ nào WebServer hay FTP server hay SMTP? Chính vì thế Port xuất hiện. Mỗi dịch vụ có 1 số port mặc định, ví dụ FTP có port mặc định là 21, web service có port mặc định là 80, POP3 là 110, SMTP là 25 vân vân.... Người quản trị mạng có thể thay đổi số port mặc định này, nếu bạn ko biết số port trên một máy chủ, bạn ko thể kết nối vào dịch vụ đó được. Chắc bạn đã từng nghe nói đến PORT MAPPING nhưng có lẽ chưa biết nó là gì và chức năng thế nào. Port mapping thực ra đơn giản chỉ là quá trình chuyển đổi số port mặc định của một dịch vụ nào đó đến 1 số khác. Ví dụ Port mặc định của WebServer là 80, nhưng thỉnh thoảng có lẽ bạn vẫn thấy http://www.xxx.com:8080/ , 8080 ở đây chính là số port của host xxx nhưng đã đuợc nguòi quản trị của host này "map" từ 80 thành 8080.
RFC là gì?: RFC là viết tắt của Request For Comment, là tập hợp những tài liệu về kiến nghị, đề xuất và những lời bình luận liên quan trực tiếp hoặc gián tiếp đến công nghệ, nghi thức mạng INTERNET. Các tài liệu RFC đựợc chỉnh sửa, thay đổi đến khi tất cả các kỹ sư thành viên của IETF(Internet Engineering Task Force) đồng ý và duyệt, sau đó những tài liệu này được xuất bản và được công nhận là 1 chuẩn, nghi thức cho Internet. Tài liệu RFC nổi tiếng và làm tạo được tiếng vang lớn nhất là tài liệu RFC số 822 về Internet Email bởi Dave Crocker. Trang chủ của RFC: http://www.ietf.org/rfc.html
DNS là gì? Tại sao ta lại dùng DNS, DNS làm việc ra sao, tên miền là gì, etc...?: DNS là viết tắt của Domain Name System. Một máy chủ DNS đợi kết nối ở cổng số 53, có nghĩa là nếu bạn muốn kết nối vào máy chủ đó, bạn phải kết nối đến cổng số 53. Máy chủ chạy DNS chuyển hostname bằng các chữ cái thành các chữ số tương ứng và ngược lại. Ví dụ: 127.0.0.1 --> localhost và localhost--->127.0.0.1 Hệ thống "tên đến địa chỉ" (name-to-address) được dùng trước đây khi DNS chưa ra đời, đây thực chất là 1 file trên server. Cấu tạo của 1 file này là 1 table với "hostname" và địa chỉ IP tương ứng, file này được cập nhật và bảo quản bởi Standford Reserch Institute Network Information Center (SRI-NIC). Vài lần 1 tuần, tổ chức này lại cập nhật nội dung file này. Những nguòi quản trị mạng nếu cần sẽ download file này xuống để dùng cho local DNS. Dần dần, số lượng của các trang web trên internet ngày càng nhiều. Cách cũ dùng "name-to-address" trở nên thiếu hiệu quả và tốn thời gian --> DNS ra đời. DNS ko phụ thuộc vào bất cứ 1 server riêng rẽ nào, DNS được phân phát cho nguòi dùng dưới dạng 1 file cơ sở dữ liệu, file này được giũ trên khắp các DNS server trên toàn thế giới. Mỗi DNS server đều tự tìm kiếm một DNS cao hơn khi nhân được yêu cầu về 1 host nào đó ko có trong cơ sở dữ liệu trên máy mình Máy chủ DNS (DNS Server) DNS server là 1 máy tính bình thường có thể PC(/MAC) chạy UNIX hoặc nhân bản của Unix (Linux,etc..) và chay một chương trình quản lý domain name gọi là BIND (Berkely Internet Name Domain). DNS server có thể chạy các hệ điều hành khác như Windows, MacOS nhưng thường thì *nix hay được chọn hơn cả vì unix có tính bảo mật cao hơn và cho phép lượng truy cập lớn hơn. Chương trình quản lý DNS được thiết kế chia làm 2 phần, phần thứ nhất là 1 "daemon" nghe ở cổng 53 đợi kết nối. Phần thứ 2 là để gửi yêu cầu lên một DNS cao hơn nếu local database ko có thông tin mà máy khách yêu cầu. Phần thứ nhất (daemon) trả lời trình duyệt web mỗi khi nhận được yêu cầu. Ví dụ, khi bạn mở Internet Explorer và đánh vào http://www.hackervn.org,/ trình duyệt của bạn sẽ gửi yêu cầu đến 1 máy chủ có dịch vụ DNS gần nhất để tìm IP của http://www.hackervn.org/ vì trình duyệt của bạn cần biết IP máy chủ hiện đang lưu trữ trang web http://www.hackervn.org./ Máy chủ DNS ở ISP của bạn sẽ tìm trong cơ sở dữ liệu, nếu ko tìm thấy địa chỉ IP cho http://www.hackervn.org/ máy chủ chạy DNS này sẽ chuyển sang phần thứ 2 là đưa yêu cầu của máy khách đến 1 máy chủ DNS cao cấp hơn, nhiều dữ liệu hơn để giải quyết. Định dạng cây của DNS (tree formation) Một khi DNS server ko thể tìm thấy số IP tương ứng cho 1 hostname trong cơ sở dữ liệu của mình, server đó sẽ gửi yêu cầu đến 1 DNS server khác cao hơn 1 bậc, và DNS server này sẽ lặp lại quá trinh mà DNS server dưới đã làm để tìm địa chỉ IP của 1 host nào đó. Nếu DNS server này vẫn ko tìm thấy thì yêu cầu sẽ lại được gửi đến 1 DNS server khác cao hơn nữa và quy trình này sẽ được tiếp tục cho đến khi nào ra kết quả. Kết quả của yêu cầu này chỉ có thể là "Tìm Thấy" hoặc "Ko tìm thấy". :-) . Đến thời điểm này, chắc bạn đã hình dung ra được cấu trúc của các DNS server như thế nào rồi? Nếu chưa, hãy nhìn vào ví dụ dưới đây: Ví dụ nhà cung cấp internet của bạn là FPT. Trang web đặt trên máy chủ của FPT là http://www.fpt.vn./ Mặc định, DNS server sẽ là dns.fpt.vn. Bây giờ bạn muốn truy cập http://www.hackervn.org./ dns.fpt.vn sẽ tìm thông tin về host này ở trong cơ sở dữ liệu trên máy chủ DNS ở FPT xem ai đó đã gửi thông tin truy cập về host này chưa. Nếu điạ chỉ hackervn ko được tìm thấy ở "local database" hoặc trong bộ nhớ, dns.fpt.vn sẽ đưa yêu cầu này đến 1 DNS server cao cấp hơn, ở đây sẽ là "dns.vn". DNS server này quản lý tất cả các trang có đuôi .vn. Tuy nhiên server này có thể ko có địa chỉ này trong cơ sở dữ liệu nhưng có thể có vì có thể ai đó đã truy cập trang này. Nếu ở đây vẫn ko tìm thấy host/ip cần tìm, DNS server này cuối cùng phải gửi request đến DNS server lớn nhất quản lý tất cả các domain gọi là ".root". Máy chủ chạy .root DNS này là một máy tính rất mạnh, và cơ sở dữ liệu của .root này bao gồm tất cả các loại domain trên toàn thế giới. như .com , .net , .mil, .co.uk, vân vân.....
Khi nào và tại sao DNS bị "bại liệt" ?: Kết quả tìm kiếm 1 trang web có thể lâu hay nhanh tuỳ thuộc vào nhà cung cấp dịch vụ internet của bạn có điạ chỉ IP và host đó ko trong cơ sở dữ liệu ở trên máy chủ DNS hay không. Nếu nhà cung cấp dịch vụ Internet có sẵn thông tin bạn cần trong "local DNS database" có lẽ chỉ vài giây là bạn có thể có thể xem đựoc trang web còn nếu ko thì sẽ mất 1 khoảng thời gian lâu hơn, tồi tệ nhất là khi bạn nhận đựợc thông báo "Page can not be displayed", có nghĩa là 1 là trang web đó ko tồn tại hoặc là do quá trình "yêu cầu" DNS quá lâu nên browser của bạn "time out" và "giết chết" kết nối. Tuy nhiên bạn có thể Refresh lại trình duyệt, nếu lần trước là do "time out" thì lần này bạn sẽ nhận đựoc trang web đó nhanh hơn vì máy chủ DNS của nhà cung cấp dịch vụ Internet của bạn đã cập nhật đựoc trang đó trong lần yêu cầu trước khi bạn gửi đến.
Khái niệm về Ping và cách hoạt động?: Ping là 1 khái niệm rât đơn giản tuy nhiên rất hữu ích cho việc chẩn đoán mạng. Tiểu sử của từ "ping" như sau: Ping là tiếng động vang ra khi 1 tàu ngầm muốn biết có 1 vật thể khác ở gần mình hay ko, nếu có 1 vật thể nào đó gần tàu ngầm tiếng sóng âm này sẽ va vào vật thể đó và tiếng vang lại sẽ là "pong" vậy thì tàu ngầm đó sẽ biết là có gì gần mình. Trên Internet, khái niệm Ping cũng rất giống với tiểu sử của nó như đã đề cập ở trên. Lệnh Ping gửi một gói ICMP (Internet Control Message Protocol) đến host, nếu host đó "pong" lại có nghĩa là host đó tồn tại (hoặc là có thể với tới đựoc). Ping cũng có thể giúp chúng ta biêt được luợng thời gian một gói tin (data packet) đi từ máy tính của mình đến 1 host nào đó. Có 1 loại dịch vụ Ping khác gọi là "TCP Ping" và "UDP Ping". Hai dịch vụ này đều đợi kết nối ở cổng số 9 và ghi lại những gì bạn đánh trên màn hình. Dịch vụ này được sử dụng khi nguời quản trị mạng ko muốn máy chủ của mình nhận những gói tin ICMP( để tránh Denial Of Service ) nhưng vẫn muốn để mọi nguòi ping để xem máy chủ của mình "chết" hay "sống".
Số thứ tự (Sequence numbers) là gì?: "Sequence number" là những số xuất hiện trong phần "header" của 1 gói tin TCP. Mục đích của "sequence number" là để các gói tin được nhận theo đúng trình tự như khi chúng được gửi đi. Một trong những phiền toái trong việc truyền dữ liệu qua mạng Internet nói chung và Intranet nói riêng là sự chuyển đổi các gói tin (Packet Switching). Nôm na là như sau, mỗi gói tin đi mỗi con đường khác nhau để tới địa chỉ của host. Gói tin A đi đừong này nhưng gói tin B có khi lai đi đường khác. TCP/IP được thiết kế sao cho mỗi gói tin TCP tìm con đường nào nhanh nhât để đến được đia chỉ đích nhưng con đường này thường là đồng nhất(Với TCP). Gói tin gửi đi phụ thuộc vào tốc độ của đường truyền mà nó đi qua nên những gói tin này ko thể đến nơi cùng 1 lúc, có gói sẽ đến trước có gói sẽ đến sau. Ví dụ gói thứ nhất sẽ đến sau gói thứ 10 chẳng hạn. Để chắc chắn là máy đích nhận đựoc các gói tin theo trình tự để sau này lắp lại thành 1 file hoàn chỉnh, mỗi gói tin TCP "header" bao gồm 1 số thứ tự (sequence number). Nếu ko có số thứ tự này thì máy đích sẽ gần như ko thể lắp ráp các gói tin lại thành một file hoàn chỉnh được, nhất là đối với những file to vài trăm Megabyte. "Thời Gian Để Sống" (Time To Live) Như bạn đã biết (có thể ko biết), Internet là một mạng rất rộng lớn. Để đảm bảo các gói dữ liệu đến được máy đích thì quả là một vấn đề. Nếu các gói dữ liệu này đến được chỗ cần đến thì khỏi phải nói, nhưng nếu những gói tin này bị lạc trên đường thì sao?Chính vì thế "Time To Live" ra đời. Khi những gói tin này ko đến được máy đích sau khi đã đi qua số một số router(số này đã được mặc đính trước) sẽ tự phân huỷ. "Time To Live" chỉ tồn tại trong gói tin TCP. Đây là 1 cách để thủ tục TCP bảo đảm gói tin được gửi đi đến đúng địa chỉ, và để người nhận biết là gói tin vừa gửi đi đã bị mất hoặc thất lạc nếu có gì xảy ra, như vậy gói tin đó sẽ được gửi lại. Time To Live là 1 số tự nhiên, mỗi khi gói tin TCP đi qua 1 router, con số này sẽ giảm đi 1 giá trị, khi số này giảm xuống còn 0, gói tin sẽ tự tiêu huỷ và thông báo ICMP được gửi về thông báo là gói tin vừa gửi ko đến đuợc để máy này gửi lại gói tin vừa thất lạc. Hầu hết các máy đều để giá trị của gói tin TCP là 32. Các chuyên gia về mạng đưa ra lời khuyên là nên để giá trị mặc định TTL là 64, một số khác lại cho là 128 nhưng 128 có vẻ là hơi nhiều.
Thế nào là kết nối TCP 3 chiều ( 3 way TCP hand-shake): TCP là nghi thức kết nối trước, truyền tải dữ liệu sau. Cụ thể là nếu bạn muốn truyền dữ liệu giữa 2 máy tính nối mạng, trước tiên bạn phải thiết lập một số giao thức giữa 2 máy với nhau để báo cho nhau là đã chuẩn bị cho việc gửi và nhận dữ liệu hay chưa. Quá trình này gọi là kết nối 3 chiều của TCP (TCP 3 ways hand-shake) Để có thể giúp bạn hiểu rõ ràng hơn về vấn đề này, chúng tôi xin đưa ra ví dụ minh hoạ sau. Chẳng hạn máy tính A muốn thiết lập kết nối TCP đến máy tính B, trước tiên máy tính A sẽ phải gửi 1 gói tin gọi là gói tin với header được đánh dấu SYN (với 1 bit ở TCP header là on) đến B. Gói tin SYN này bao gồm số thứ tự (sequence number). Khi B nhận đuợc gói tin có dấu SYN này từ A, máy B sẽ gửi một gói tin SYN của chính nó và 1 gói tin khác nữa gọi là ACK. Gói tin ACK này thực chất là một gói tin tương tự như SYN nhưng chứa dữ liệu của gói tin SYN mà A gửi cho máy B lúc đầu. Cuối cùng, máy A gửi một gói tin SYN cuối cùng lại cho B như là ở buớc thứ 2 khi B trả lời cho A. (SYN) A -----> B Khi quá trình này hoàn tất, 2 máy tính có thể thiết lập kết nối và truyền tải dữ liệu cho nhau duới dạng TCP
(SYN)+(ACK)A <----- B (ACK) A -----> B
Chú ý: Truyền tải dữ liệu duới nghi thức UDP thì ko cần phải thiết lập kết nối trước giống trong TCP. Những gói tin TCP thường đi cùng một đuờng, qua cùng router tuy nhiên đối với UDP thì do ko thiết lập một kết nối nào cả giữa 2 máy nên mỗi gói tin đều tự tìm các đuờng khác nhau để đến máy đích, ko có một còn đuờng nào thống nhất cả.
Khái niệm về "timeout" ? "Time out" đựoc dùng để miêu tả khoảng thời gian máy A gửi 1 gói tin cho máy B nhưng ko nhân đuợc trả lời từ máy B. Ví dụ khi bạn kết nối vào 1 server chat nào đó chẳng hạn như việtchat, bạn click vào nút connect nhưng sau khoảng 1 phút vietchat server vẫn chưa trả lời. Đây gọi là time out.
Khái Niệm tracert (traceroute) và cách làm việc? Traceroute: là một công cụ để chuẩn đoán mạng rất tốt. Tiện ích này có sẵn ở trong windows(tracert) hoặc unix(traceroute). Tracert dùng TTL(Time To Live) để phát hiện đường đi của gói tin và sau đó ping các router mà gói tin này đã đi qua. Tiện ích này thực sự hữu ích khi bạn muốn kết nối đến một máy chủ nhưng bạn ko tài nào đến đuợc và bạn muốn xem là những router nào trên đuờng mà gói tin này đã đi cản trở giao thông mạng Đầu tiên, lệnh tracert gửi một gói tin với giá trị TTL là 1. Gói tín với giá trị TTL = 1 này sẽ bị tiêu huỷ ngay sau khi nó bước qua router đầu tiên, thông báo lỗi sẽ đuợc gửi trả về máy của bạn. Sau đó lại một gói tin TCP khác được gửi đi nhưng lần này với giá trị TTL=2. Như các bạn đã biết, khi đến router thứ 2 gói tin này sẽ bị "chết" và thông báo lỗi sẽ đuợc gửi về máy bạn và cứ thế. Sau khi đã hoàn thành cả một đoạn đường dài qua tất cả các router mà gói tin cần đi qua, tracert dùng lệnh ping các router trên đường để xem những router nào đã trả lời và mất số lượng thời gian là bao lâu. Như vậy, người dùng có thể tự xem router nào nhanh, router nào cho gói tin đi qua ...vân vân.. Có thể là do chậm hoặc là bị down.
Chú ý: Trong windows: tracert hostname Trong unix: traceroute hostname
Khái niệm về HTTP và cách hoạt động: HTTP là viết tắt của cụm từ tiếng anh Hyper Text Transfer Protocol. Đây là một nghi thức dùng cho trình duyệt web (Opera, Internet Explorer....) để giao tiếp với máy chủ Web và hiển thị thông tin. Khi bạn gõ địa chỉ của 1 web-site nào đó vào hộp địa chỉ trong trình duyệt Web và gõ "Enter", việc đầu tiên trình duyệt của bạn sẽ làm là tìm ở máy chủ DNS xem địa chỉ IP của máy chủ chứa trang đó là gì. Sau khi đã tìm thấy địa chỉ IP, trình duyệt web của bạn sẽ tìm cách để kết nối vào cổng (port) mà máy chủ đó dùng cho http(cổng mặc định là 80) và lấy thông tin mà bạn cần hiển thị(ở đây là trang web). Tip: Bạn có thể chỉnh sửa file host(c:\windows\host) trong win 98 hoặc c:\windows\System32\driver\host để ghi lại những server mà bạn hay truy cập. Như vậy thì sẽ tiết kiêm đuợc nhiều thời gian để tìm IP trên DNS server.
Dưới đây là 2 lệnh căn bản bạn nên biết:
1) "get"...Đây là lệnh trình duyệt dùng để lấy 1 trang web nào đó mà bạn đang yêu cầu. Ví dụ get url HTTP/1.0. url là địa chỉ trang web còn HTTP/1.x là version của dịch vụ HTTP mà trình duyệt của bạn dùng.
2) "post"... Đây là lệnh trình duyệt dùng để gửi 1 file lên trên server. FTP là gì và cách làm việc
FTP là viết tắt của cụm từ tiếng anh File Transfer Protocol. Đây là nghi thức dùng để truyền tải dữ liệu từ máy này sang máy khác. Điểm lợi của FTP là tính dễ sử dụng, bạn có thể dễ dàng kết nối vào 1 máy chủ FTP và tìm những file bạn muốn miến là những file đó là cho public. Hiện nay trên thế giới có rất nhiều tiện ích FTP dễ dùng như CuteFTP etc...
Chú ý: Bạn có để ý rằng tất cả các nghi thức liên quan đến Internet mà chúng ta đã tìm hiểu trong bản FAQ đều kêt thúc bằng từ P (protocol). Và như bạn thấy, thủ tục nào cũng đều liên quan đến việc truyền tải file (upload và download).
Các lệnh và cách sử dụng Telnet Lệnh cd ...chuyển thư mục ls hoặc dir ...list các file trong thư mục hiện thời get ...download file xuống máy bạn ls ...list file (Unix) cdup ...chuyển đến thư mục mẹ put ...upload file lênt máy chủ ở thư mục hiên thời quit .....ngắt kết nối và thoát help list các lệnh.
SMTP là gì và cách hoạt động. SMTP: là viết tắt của Simple Message Transfer Protocol. SMTP là một nghi thức của Internet dùng để gửi thư. Khi dùng SMTP để gửi thư, bạn thường phải dùng một chương trình Sendmail(Sendmail Deamon). Có thủ tục khác gọi là QMail nhưng thường thường Sendmail vẫn phổ biến hơn cả mặc dù Sendmaili là một nghi thức gửi thư rất ko an toàn. Chương trình sendmail có cổng mặc định là 25, cổng này mở để đợi máy khách kết nối vào để gửi thư. SMTP có thể bị kẻ xấu lợi dụng để dùng vào mục đích ko tốt vì SMTP ko dùng hệ thống kiểm tra người dùng. Bạn chỉ cần kết nối vào server và đưa ra địa chỉ nội dung thư là thư đó đựoc gửi đi ko cần biết bạn là ai. Hiện trên thế giới có rất nhiều SMTP server, bạn có thể dùng google để tìm những server này. Tuy nhiên bạn vẫn có thể khám phá ra bức thư bạn nhận được là thật hay giả bằng cách chỉ cần nhìn vào header của thư đó.
Pop 3 là gì và cách hoạt động: Pop 3 là viết tắt của Post Office Protocol, số 3 là số phiên bản mới hơn của POP. Đơn giản nghi thức này dùng để nhận thư từ POP3 server. Khi kết nối để nhận thư bằng Outlook, Eudora hay các chương trình e-mail khác để gửi thư, trước tiên chuơng trình sẽ kết nối đến POP3 server, server này thuờng đợi kết nối ở cổng mặc định là 110. Bạn nên chú ý là POP3 email khác với Web email, đối với POP3 bạn có thể telnet vào server để check thư trong khi với Webmail thì bạn phải vào hẳn trang web để check(ví dụ Hotmail). Web email thường là chậm hơn so với POP3 email. POP3 là một nghi thức dễ học nhất trong các nghi thức, đôi khi kiến thức POP3 có thể có lúc hữu dụng. Ví dụ khi bạn bị bomb-mail chẳng hạn, bạn có thể telnet vào POP3 server và xoá những bomb thư đó đi mà ko phải tải chúng xuống máy bạn.[/spoiler]
Bài viết đã được chỉnh sửa bởi duy khương: Mar 6 2007, 12:28 PM
bài 002 Khái Niệm Cơ Bản về Mạng Nhện Toàn Cầu World Wide Web
Nhân loại từ ngàn xưa đã tìm và phát minh mọi cách để thông tin liên lạc với nhau. Việc vận chuyển tin tức từ một nơi này tới một nơi khác thật là cần thiết và cần phải có trong bất cứ một xã hội nào. Phương cách thông tin liên lạc rất đa dạng và phong phú. Những phương cách thô sơ đơn giản như phương cách truyền miệng, dán những bản thông báo, cáo thị, mang tin đến những nơi khác bằng cách đi bộ, ngựa, chim bồ câu, thuyền bè. Nhân loại đã cải tiến phương cách thông tin liên lạc ngày càng nhanh ***ng và với số lượng tin tức nhiều hơn bội phần. Những phát minh về phương cách truyền thanh như máy radio, điện thoại và truyền hình như máy TV (television), vận chuyển thư từ bằng máy bay, gửi thư bằng điện tín v.v. đã giúp cho việc thông tin liên lạc rất hữu hiệu và nhanh ***ng.
Sự phát minh ra máy vi tính và sự hình thành của Mạng Lưới Thông Tin Toàn Cầu (Internet) đã mở ra một kỹ nguyên mới cho việc thông tin liên lạc. Từ một máy vi tính móc nối vào Mạng Lưới Thông Tin Toàn Cầu (MLTTTC) người sử dụng có thể gửi và nhận tin tức từ khắp nơi trên thế giới với khối lượng tin tức khổng lồ và thời gian tối thiểu. Trong thời gian vài năm gần đây chúng ta đang chứng kiến một sự kiện có thể gọi là một cuộc cách mạng đổi mới trên Mạng Lưới Thông Tin Toàn Cầu. Việc thay đổi to lớn này là việc thành lập của Mạng Nhện Toàn Cầu (WWW). Cấu Tạo của Mạng Nhện Toàn Cầu (WWW)
Mạng Nhện Toàn Cầu là gì? Mạng Nhện Toàn Cầu được tạm dịch từ World Wide Web (thường được viết tắc là WWW) là một hệ thống cung cấp tin tức móc nối lại với nhau bằng các máy vi tính trải rộng trên khắp thế giới dựa trên Mạng Lưới Thông Tin Toàn Cầu. Nhờ vào Mạng Nhện Toàn Cầu người sử dụng có thể tìm kiếm những tin tức hoặc tài liệu hữu ích để học hỏi, tham khảo, nghiên cứu một cách thật là nhanh ***ng. Sự lớn mạnh và phổ biến sâu rộng của MNTC một phần lớn là nhờ vào sự dễ dàng sử dụng và rẻ tiền của nó. Khi móc nối vào MNTC người sử dụng sẽ có cảm giác là mình đang đi vào một thư viện khổng lồ trong đó có chứa đựng tất cả những gì mình muốn biết và muốn đọc về bất cứ đề tài gì.
Một sự kiện quan trọng khác của Mạnh Nhện Toàn Cầu là nó có khả năng di chuyển tài liệu cùng với hình ảnh và âm thanh. Có thể nói Mạng Nhện Toàn Cầu cung cấp cho người sử dụng hầu hết những nhu cầu cần thiết trên Mạng Lưới Thông Tin Toàn Cầu như là telnet, ftp, Archie, Gopher, Multimedia.
Mạng Nhện Toàn Cầu được bành trướng nhanh ***ng là do sự liên kết (link) chặt chẻ và dễ dàng của các máy phục vụ Mạng Nhện (Web Servers). Các máy này sử dụng nghi thức HyperText Transfer Protocol (HTTP) được tạm dịch là Nghi Thức Chuyển Tải Lộ Ngữ để di chuyển tài liệu. Chúng ta cũng nên biết rằng Nghi Thức Chuyển Tải Lộ Ngữ được hổ trợ bởi Nghi Thức TCP/IP là một nghi thức căn bản và chắc chắn trong Hệ Thống Thông Tin Toàn Cầu. Nhu Liệu Quan Sát Mạng Nhện (Web Browser)
Thật khó mà dùng lời lẽ để nói hết những điều hay và phong phú của Mạng Nhện Toàn Cầu. Điều tốt nhất để cho mọi người hiểu và thấy cái giá trị của Mạng Nhện Toàn Cầu là sử dụng nó. Sự tham gia vào Mạng Nhện Toàn Cầu không quá khó khăn như chúng ta tưởng mà chỉ cần một máy vi tính được móc nối vào Mạng Lưới Thông Tin Toàn Cầu (Internet) và nhu liệu Quan Sát Mạng Nhện (Web Browser). Vì sự ứng dụng quan trọng của MNTC cho nên liệu Quan Sát Mạng Nhện đã được hoàn thành trên nhiều Hệ Thống Điều Khiển (Operating System) khác nhau thí dụ như DOS, OS/2, Unix, Mac, VM, CMS v.v. Ngoài ra những công ty thương mãi cung cấp dịch vụ Internet cũng thành lập nhu liệu Quan Sát Mạng Nhện riêng để phục vụ khách hàng của họ. Vài nhu liệu Quan Sát Mạng Nhện rất được phổ biến như Mosaic, Netscape, Cello, Web Explorer v.v. Sử Dụng nhu liệu Quan Sát Mạng Nhện
Móc nối tới máy phục vụ Mạng Nhện
Khi người sử dụng dùng nhu liệu Quan Sát Mạng Nhện để tìm tin tức thì trước nhất nhu liệu này sẽ móc nối vào một Trang Gốc (Homepage) của một máy phục vụ Mạng Nhện đã được bố trí sẵn hoặc người sử dụng có thể móc nối thẳng tới Trang Gốc của một máy phục vụ Mạng Nhện khác bằng cách dùng Universal Resource Locator (URL) được tạm dịch là Phương Pháp Tìm Tin Đồng Nhất. Xin chú ý là trong các tài liệu sách vở khác nhau, URL còn được định nghĩa là Unified Resource Locator hoặc Uniform Resource Locator. Hầu hết những hãng xưỡng, trường học, cơ quan, hội đoàn nào có móc nối vào Mạng Lưới Thông Tin Toàn Cầu đều có một hoặc nhiều máy phục vụ Mạng Nhện. Cách thức móc nối tới những máy phục vụ Mạng Nhện như sau: • http://host/path host tức là tên của máy phục vụ Mạng Nhện và path là nơi Trang tài liệu người sử dụng muốn coi. Thí dụ: • http://www.vnet.org hoặc là • http://www.vn.net Sau đây là địa chỉ URL của vài trạm phục vụ Mạng Nhện quan trọng: • http://info.cern.ch • http://www.ncsa.uiuc.edu
Chĩ dẫn: Thông thường các hãng xưỡng hoặc cơ quan trường học lớn đều có trạm phục vụ Mạng Nhện. Địa chỉ URL thường được bắt đầu bằng chữ <a href='http://www và' target='_blank'>www và</a> tên vùng của địa chỉ điện thư (domain name). Thí dụ như hãng IBM có tên vùng trong địa chỉ điện thư là ibm.com. Như vậy nếu ghép với chữ <a href='http://www thì' target='_blank'>www thì</a> sẽ trở thành www.ibm.com. Thành ra người sử dụng có thể đoán được địa chỉ URL của hãng IBM sẽ là:
Một thí dụ khác như trường đại học UC Davis tại California có tên vùng của địa chỉ điện thư là ucdavis.edu. Với cách thức trên thì địa chỉ URL của trường đại học UC Davis sẽ là:
Tài liệu tại mỗi máy phục vụ Mạng Nhện được trìnhbày bằng nhiều trang tài liệu. Trang đầu tiên được gọi là Trang Gốc (Home page) là trang tài liều được trình bày đầu tiên trên mọi máy phục vụ Mạng Nhện. Hầu hết những hãng xưỡng, trường học, cơ quan, hội đoàn nào có móc nối vào Mạng Lưới Thông Tin Toàn Cầu đều có một hoặc nhiều máy phục vụ Mạng Nhện. Những trang tài liệu này (Web pages) được trình bày theo lối phương pháp HyperText Markup Language (HTML) được tạm dịch là Phương Pháp Đánh Dấu Lộ Ngữ (PPĐDLN). PPĐDLN này cho phép người soạn những trang tài liệu được xếp đặt hình ảnh, chữ viết, màu sắc và liên kết với những trang tài liệu khác ở nơi đó hoặc ở một trang tài liệu nằm ở một máy phục vụ Mạng Nhện khác.
Thật ra người sử dụng nhu liệu Quan Sát Mạng Nhện không cần phải biết những vấn đề liên kết đó. Người sử dụng chỉ thấy trang tài liệu được trình bày đẹp đẻ với những hình ảnh và tài liệu được trình bày với nhiều kiểu chữ khác nhau để làm nổi bật chi tiết. Những phần hoặc những chữ quan trọng được làm nổi bật bằng một màu khác thông thường là màu xanh. Những nơi đặc biệt này được liên kết tới một trang tài liệu khác ở nơi đó hoặc tại một nơi khác để trình bày cho người sử dụng những chi tiết mới. Như vậy chúng ta thấy rằng việc sử dụng nhu liệu Quan Sát Mạng Nhện rất là dễ dàng. Người sử dụng chỉ cần đọc và chọn những phần những chữ liên quan đến những gì mình muốn biết và nhu liệu Quan Sát Mạng Nhện sẽ dùng cách liên kết để mang những tài liệu từ những nơi xa xăm trên thế giới đến cho người sử dụng mà người sử dụng không cần phải tìm kiếm. Vài thí dụ như bắt đầu tại một máy phục vụ Mạng Nhện tại một nơi nào đó trên nước Mỹ, sự liên kết của những trang tài liệu có thể dẫn người sử dụng tới những hình ảnh lịch sử, những tranh ảnh nổi tiếng tại Paris, Pháp. Hoặc những trang tài liệu trình bày về thời tiết tại Hồng Công, luật lệ tại Tân Gia Ba, những bài diễn văn nổi tiếng của lịch sử Hoa Kỳ, những dự luật đang bàn thảo tại Quốc Hội Hoa Kỳ v.v. Tất cả những tài liệu đó điều được liên kết bởi Mạng Nhện Toàn Cầu.
Ngoài việc giúp người sử dụng tìm kiếm tài liệu dễ dàng, nhu liệu QSMN còn giúp người sử dụng nh�
<1> Các bug , vulnerability ... đã được công bố trên toàn cầu nhưng chưa chắc site đã patch . Hãy thử những bug mới nhất của công nghệ đang dùng của site đó .
<2> Admin không phải lúc nào cũng cẩn thận , đôi khi họ sai lầm . Và tôi đúc kết những điều sau : <a> CHMOD : nhiều khi file config của forum không được CHMOD và dẫn đến dễ dàng xem được nó . Thông thường đối với 1 số site bảo mật kém thì password của MYSQL thường trùng với pass của FTP Account . Ta dễ dàng deface . <b> TROJAN , KEYLOGGER : 1 công cụ khá đơn giản nhưng hiệu nghiệm , nếu admin sơ xuất disable NAV thì thứ này sẽ giúp ta có những info đặc biệt quan trọng về máy chủ . <c> Password default : Thứ dễ dàng này đôi khi rất hiệu nghiệm . Admin mới setup xong server . Và sơ ý chưa change password default hoặc biết nhưng không đổi là điều kiện cho bạn attack hay deface .
<3> ANON FTP : Bài này bác KHA hướng dẫn khá cụ thể . Tôi xin nói vấn tắt . 1 số server cho đăng nhập FTP nặc danh . Tức là user " khách " . 1 số site cho phép user guest hay anon này upload hay download . Hãy tận dụng
" Làm thế nào để tôi có thể dùng công cụ tìm kiếm để hack ?" điều này không khó, nó có thể giúp cho bạn những lợi ích thật sự nhanh và dễ dàng. Chúng cho phép bạn tìm thấy những điều mà bạn thực sự sẽ chưa bao giờ tìm thấy trước đó. Và với đặc điểm tìm kiếm mới của google, bạn có thể thấy được những điều đã được đưa xuống. Tôi sẽ giải thích vài tình huống nơi tôi đã sử dụng công cụ tìm kiếm để có thể đột nhập và xem những gì mà admin muốn giữ bí mật Bây giờ một phần lớn của điều mà nghe có vẻ như tôi là scripts kiddie FPRIVATE "TYPE=PICT;ALT=smile.gif" và với kỹ thuật này nó có vẻ là khá hữu dụng. Không có gì là sai với việc tìm con đường dễ bây giờ và về sau. .................................................. .................................................. ............... Cơ sở dữ liệu là những file chứa dữ liệu trong đó,và chúng thường là thông tin, cơ sở dữ liệu hay là những gì ? (info.db,database.txt,list.txt)…. những cơ sở dữ liệu đó có thể chứa rất nhiều thứ khác nhau và khi để cả thế giới biết thì chúng có thể bị khai thác. chúng ta hãy nói về một công ty, họ bán giấy trên web sites của họ. Công ty đã sử dụng scripts từ http://www.freescripts.com/ .................................................. .................................................. ............... Bước đầu tiên : Kiểm tra công ty và thấy rằng họ đang sử dụng scripts từ http://www.freescripts.com/ và đầu tiên kiểm tra Net để biết khai thác scripts. Nhưng bạn có biết chúng bằt đầu từ đâu không ? Tìm kiếm tên của một file trên google "download submitform3.php3" Nếu nó là một tên thông thường ta sẽ tìm được vài mẫu lệnh của scripts mà chứa ở trên tất cả các scripts,ví dụ : "scripts coded by redranger" và tìm kiếm nó Ok bây giờ bạn đã có tên trang web chứa scripts, tìm trong trang chủ của nó,tìm kiếm để biết khai thác và bạn cảm thấy thế thật là mất thời gian của bạn, cố gắng lần này, download scripts ở trên trang chủ của nó và nhìn toàn bộ để khai thác .................................................. .................................................. ............... Trong trang Web : http://www.google.com/ Bạn hãy type "allinurl:php site" và Enter : http://www.itvnonline.net/bai%20viet/www.google.com nó sẽ tìm bat cu php scripts tren công ty trên. Bạn cũng có thể tìm kiếm allinurl:cgi hoặc jsp hoặc bất cứ scripts nào bạn muốn tìm. Con đường tốt nhất cho mục tiêu ngẫu nhiên là khai thác được scripts mới nhất từ bugtraq và allinurl:script.cgi……… tôi không đề nghị như vậy, bởi vì như vậy thực sự là không hợp lý, một người nào đó có thể làm vậy và bạn không có lý do gì để khai thác nhiều trong số trang đó……nhưng có thể bạn sẽ phải đi ngang qua trang web củ kẻ địch . .................................................. .................................................. .................................................. .................................................. .................................................. .......................... Đó là sơ sơ về việc sử dụng công cụ tìmkiếm cho việc hack mà tôi đã tìm đươc ! Trong lần tới tôi sẽ giới thiệu tiếp ! Sau đây tôi xin giới thiệu các bước mà một hacker trải qua : .................................................. .................................................. .................... I-Bước 1: FootPrinting : Các mục tiêu của bước này chủ yếu là những thông tin ban đầu về server . Công nghệ bạn cần sử dụng là : Open source search ( nguồn máy chủ tìm kiếm ) Whois , Web interface to whois , Arin Whois , DNS zone transfer ( bộ phận này chủ yếu là kiểm tra về người chủ server , DNS .. cấu trúc server chưa thể hiện rõ ở đây ) 1 số công cụ : UseNet , search engines ( công cụ tìm kiếm ) , Edgar Any Unix client , http://www.networksolutions.com/whois , http://www.arin.net/whois , dig , nslookup Is -d , Sam spade .................................................. .................................................. .......................... II-Bước 2: Scanning : Phần lớn các server chịu bung thông tin quan trọng trong bước này , hãy cố gắng tận dụng bước này triệt để để biết các port trên server , nghe đường dữ liệu . Công nghệ bạn cần sử dụng là : Ping Sweep , TCP/UDP port Scan , Os Detection . Các công cụ : fping , icmpenum Ws_ping ProPack , nmap , SuperScan , fscan nmap , queso , siphon . .................................................. .................................................. .......................... III-Bước 3: Enumeration : Đến bước này , các attacker bắt đầu kiểm soát server sơ bộ , xác định các account trên server , mức độ bảo vệ ... Công nghệ bạn cần sử dụng là : List user accounts , List file share , Identify applications . Các tool phụ trợ : null sessions , DumpACL , sid2user , OnSite Admin showmount , NAT , Legion banner grabbing với telnet , netcat , rpcinfo . .................................................. .................................................. .......................... IV-Bước 4: Gaining access : Aha , đã có đủ dữ liệu để kết hợp tất cả chúng lại . Chúng ta bắt đầu đến gần mục tiêu . Hãy nắm chắc cơ hội . 1 account có thể bị Crack . Công nghệ : Password eavesdropping , File Share brute forcing , Password file grab , buffer overflows . Các tool : tcpdump , L0phtcrack readsmb , NAT , legion , tftp , pwdump2 ( NT ) ttdb , bind , IIS , .HTR/ISM.DLL .................................................. .................................................. .......................... V-Bước 5: Escalating privilege : Nếu 1 account không may mắn nào ở một cấp độ nào đó bị crack ở bước trên , chúng ta sẽ có cái tận dụng để điều khiển Server . Công nghệ : Password cracking , BUG ,Exploits . Tools : john , L0phtcrack , Ic_messages , getadmin , sechole . .................................................. .................................................. .......................... VI-Bước 6: Pilfering : Thông tin lấy từ bước trên đủ để ta định vị server và điều khiển server . Nếu bước này không thành công , hãy đến bước <9> . Công nghệ : Evaluate trusts , Search for cleartext passwords . Tool : rhost , LSA Secrets user data , configuration files , Registry . .................................................. .................................................. .......................... VII-Bước 7: Covering Tracks : Hệ thộng luôn ghi nhận những hành động của bạn . Nếu bây giờ mà kết thúc , chắc bạn bị tóm ngay . Đây là bước cực kì quan trọng . XÓA LOG . Công nghệ : Clear logs , hide tools . Tools : Zap , Event log GUI , rootkits , file streaming . .................................................. .................................................. .......................... VIII-Bước 8: Creating Backdoors : Còn phải hỏi , bạn phải để lại 1 cái cổng sau , lần sau có vào thì dễ hơn chứ . Nếu không thành công , quay lại bước <4> xem lại các quyền của user bạn sử dụng . Công nghệ : Creat rogue user accounts , schedule batch jobs , infect startup files , plant remote control services , install monitoring mechanisms , replace apps with Trojan . Tools : members of wheel , administrators cron, At rc , Startup folder , registry keys , netcat , remote.exe , VNC , BO2K , keystroke loggers, add acct to secadmin mail aliases login , fpnwclnt.dll .................................................. .................................................. .......................... IX-Bước 9: Denial of Servies : 1 attacker không thành công với những gì anh ta đã làm ... họ sẽ tận dụng những exploits code để làm cho server ngừng hoạt động luôn , gọi đó là : tấn công từ chối dịch vụ . Công nghệ : SYN flood , ICMP techniques , Identical src/dst SYN requests , Overlapping fragment/offset bugs , Out of bounds TCP options ( OOB ) DDoS . Tools phụ trợ : synk4 , ping of death , smurf land , latierra , teardrop , bonk , newtear , supernuke.exe , trinoo/TFN/stacheldraht
.................................................. .................................................. .................................................. .... Bài viết này tôi đọc được trên mạng . Thấy hay nên post lên ! .................................................. .................................................. .......................... Bạn có thể tìm các công cụ bằng cách Search bằng Google ... .................................................. .................................................. .......................... I-Bước 1: FootPrinting : Các mục tiêu của bước này chủ yếu là những thông tin ban đầu về server . Công nghệ bạn cần sử dụng là : Open source search ( nguồn máy chủ tìm kiếm ) Whois , Web interface to whois , Arin Whois , DNS zone transfer ( bộ phận này chủ yếu là kiểm tra về người chủ server , DNS .. cấu trúc server chưa thể hiện rõ ở đây ) 1 số công cụ : UseNet , search engines ( công cụ tìm kiếm ) , Edgar Any Unix client , http://www.networksolutions.com/whois , http://www.arin.net/whois , dig , nslookup Is -d , Sam spade .................................................. .................................................. .......................... II-Bước 2: Scanning : Phần lớn các server chịu bung thông tin quan trọng trong bước này , hãy cố gắng tận dụng bước này triệt để để biết các port trên server , nghe đường dữ liệu . Công nghệ bạn cần sử dụng là : Ping Sweep , TCP/UDP port Scan , Os Detection . Các công cụ : fping , icmpenum Ws_ping ProPack , nmap , SuperScan , fscan nmap , queso , siphon . .................................................. .................................................. .......................... III-Bước 3: Enumeration : Đến bước này , các attacker bắt đầu kiểm soát server sơ bộ , xác định các account trên server , mức độ bảo vệ ... Công nghệ bạn cần sử dụng là : List user accounts , List file share , Identify applications . Các tool phụ trợ : null sessions , DumpACL , sid2user , OnSite Admin showmount , NAT , Legion banner grabbing với telnet , netcat , rpcinfo . .................................................. .................................................. .......................... IV-Bước 4: Gaining access : Aha , đã có đủ dữ liệu để kết hợp tất cả chúng lại . Chúng ta bắt đầu đến gần mục tiêu . Hãy nắm chắc cơ hội . 1 account có thể bị Crack . Công nghệ : Password eavesdropping , File Share brute forcing , Password file grab , buffer overflows . Các tool : tcpdump , L0phtcrack readsmb , NAT , legion , tftp , pwdump2 ( NT ) ttdb , bind , IIS , .HTR/ISM.DLL .................................................. .................................................. .......................... V-Bước 5: Escalating privilege : Nếu 1 account không may mắn nào ở một cấp độ nào đó bị crack ở bước trên , chúng ta sẽ có cái tận dụng để điều khiển Server . Công nghệ : Password cracking , BUG ,Exploits . Tools : john , L0phtcrack , Ic_messages , getadmin , sechole . .................................................. .................................................. .......................... VI-Bước 6: Pilfering : Thông tin lấy từ bước trên đủ để ta định vị server và điều khiển server . Nếu bước này không thành công , hãy đến bước <9> . Công nghệ : Evaluate trusts , Search for cleartext passwords . Tool : rhost , LSA Secrets user data , configuration files , Registry . .................................................. .................................................. .......................... VII-Bước 7: Covering Tracks : Hệ thộng luôn ghi nhận những hành động của bạn . Nếu bây giờ mà kết thúc , chắc bạn bị tóm ngay . Đây là bước cực kì quan trọng . XÓA LOG . Công nghệ : Clear logs , hide tools . Tools : Zap , Event log GUI , rootkits , file streaming . .................................................. .................................................. .......................... VIII-Bước 8: Creating Backdoors : Còn phải hỏi , bạn phải để lại 1 cái cổng sau , lần sau có vào thì dễ hơn chứ . Nếu không thành công , quay lại bước <4> xem lại các quyền của user bạn sử dụng . Công nghệ : Creat rogue user accounts , schedule batch jobs , infect startup files , plant remote control services , install monitoring mechanisms , replace apps with Trojan . Tools : members of wheel , administrators cron, At rc , Startup folder , registry keys , netcat , remote.exe , VNC , BO2K , keystroke loggers, add acct to secadmin mail aliases login , fpnwclnt.dll .................................................. .................................................. .......................... IX-Bước 9: Denial of Servies : 1 attacker không thành công với những gì anh ta đã làm ... họ sẽ tận dụng những exploits code để làm cho server ngừng hoạt động luôn , gọi đó là : tấn công từ chối dịch vụ . Công nghệ : SYN flood , ICMP techniques , Identical src/dst SYN requests , Overlapping fragment/offset bugs , Out of bounds TCP options ( OOB ) DDoS . Tools phụ trợ : synk4 , ping of death , smurf land , latierra , teardrop , bonk , newtear , supernuke.exe , trinoo/TFN/stacheldraht
.................................................. .................................................. .................................................. .... Bài viết này tôi đọc được trên mạng . Thấy hay nên post lên ! .................................................. .................................................. .......................... Bạn có thể tìm các công cụ bằng cách Search bằng Google ...
Trong vài năm trở lại đây thì vấn đề an toàn trên mạng thu hút được rất nhiều sự quan tâm. Sự hỗn độn và thay đổi ***ng mặt của internet là yếu tố chính là cho người dùng và các doanh nghiệp phải tự mình tăng cường khả năng bảo mật cho máy tính và hệ thống mạng của họ.
Cách đây 10 năm, những người đã cài đặt các hệ thống máy chủ có rất ít hiểu biết và kỹ năng về bảo mật. Và ngay cả hiện nay, trong số những người vẫn thường cài đặt hệ thống máy chủ vẫn còn rất nhiều thiếu kinh nghiệm về bảo mật.
Những người dung bình thường được trấn an bởi những thong báo từ các công ty lớn về các phương pháp bảo mật của họ. Nhưng không thể chối cãi được sự thật rằng hang tháng chúng ta lại có thêm những thong tin rắng hacker lại đột nhập vào đâu đó và lấy cắp thông tin.
Nhưng tại sao chúng ta lại phải quan tâm đến vấn đề đó. Tôi có thể nói về sự nghiêm trọng của việc deface (??) các trang web, ăn trộm các thong tin bí mật của công ty hay đột nhập vào các hệ thống của chính phủ, nhưng đơn giản hơn hãy để ý đến các lý do cá nhân mà chúng ta vần phải quan tâm.
Bây giờ xin đạt một câu hỏi. Bạn nghĩ thế nào về giá thị của các thông tin mà bạn có? Danh sách đối tác, email, số credit card hay các kế hoạch kinh doanh, báo cáo tài chính có ý nghĩa đối với bạn như thế nào?
Nếu tôi nói rằng tôi có thể đột nhập vào bất kỳ hệ thống nào, thì tôi có thể làm được những gì nhỉ? Tôi sẽ lấy số credit card để tiêu xài, thay đổi tài khoản ngân hang của bạn. Tôi có thể làm cho bạn trỏ thành mất tích ở trên mạng. Tôi cũng có thể bán các thong tin bí mật cho đối thủ cạnh tranh của bạn, hay làm cho hệ thống của bạn ngừng hoạt động, như vậy bạn sẽ bị lỗ nặng hehe.
Hoặc giả sử tôi là một nhân viên trong công ty của bạn, nhưng tôi bất mãn. Tôi có thể tấn công làm cho mạng không hoạt động, hay cài virus để cho bạn bị mất toàn bộ dữ liệu.
Bạn có chắc là chúng ta cần đến các biện pháp bảo mật không?
Vấn đề bảo mật có thể chia làm các nhóm sau: 1. Mạng và máy chủ bị cấu hình sai. 2. Hệ điều hành và ứng dụng bị lỗi. 3. Nhà cung cấp thiếu trách nhiệm 4. Thiếu những cá nhân đáng tin tưởng.
Cấu hình sai máy chủ:
Đây là nguyên nhân tạo ra đa phần các lỗ hổng bảo mật. Rất nhiều khi người quản trị không nhận biết được các dịch vụ đang chạy trên máy chủ của họ. Bạn có thể hỏi tại sao lại như vậy được? Hãy nghĩ đơn giản như chương trình Word, có bao nhiêu khả năng mà bạn biết được. Nếu biết một vài thứ cơ bản như viết macro thì bạn đã có thể trở thành người dung cao cấp rồi. Đa phần người dung chỉ biết đến các tính năng cơ bản như lưu, xoá, đánh vần, kẻ bảng .v.v.
Tương tự như vậy đối với hệ điều hành và ứng dụng. Sự thay đổi nhanh ***ngcủa công nghệ làm cho chỉ một số ít người có thể theo kịp. Và như thê thì các máy tính nối mạng hiển nhiên là đang đối mặt với nguy cơ bị xâm nhập.
Sau đây là một vài ví dụ về các ứng dụng và dich vụ:
Hệ thống in trên mạng. Hệ thống điều khiển từ xa. Chia xe file. Các mã CGI và script ví dụ.
Khi những hệ thống này sử dụng các giá trị mặc định hoặc bị cấu hình sai thì sẽ là cơ hội tốt để kẻ xấu ( xâm nhập.
Lỗi trong các ứng dụng:
Những lỗi nảy sinh khi lập trình là một yếu tố làm cho ứng dụng vượt ra ngoài tầm kiểm soát của người sử dụng. Ví dụ như những lỗi của MS IIS hay trong ISC BIND hay SSH và rất nhiều lỗi khác nữa trong các hệ thống của Sun. Đơn gian hơn nữa là lỗi của OE mà bạn có thể trở thành mục tiêu của virus, hãy nhớ tới "I LOVE YOU" hay "Melissa".
Những nhà cung cấp thiếu trách nhiêm:
Rất nhiều nhà cung cấp không quan tâm đến điều gì xảy ra trong chượng trình của họ. Việc đảm bảo chất lượng (QA) trong ngành công nghiệp phần mềm rất yếu. Để tiết kiệm chi phí thì người ta thường không áp dụng những tiêu chuẩn về qui trình sản xuất. Thế thì ai phải chịu hậu quả của sự tối đầu của nhà cung cấp. Đó chính là các hệ thống mạng và máy tính bị phá hoại của bạn.
Trong trưòng hợp các bản sửa lỗi bị chậm chễ cũng có thể làm hại đến công tác bảo mật. Các khám phá lôc hổng hoạt động với tốc độ ánh sang trong giới “chúng ta” . Từ các mail list hay diễn đàn như www.hackervn.net thì bọn họ chia xẻ với nhau những thong tin mới nhất, trong khi đó với sự chậm chạp của nhà cung cấp thì các hệ thống đã bị phá hoại chỉ sau một đêm.
Tư vấn không đủ trình độ:
Nếu như tất cả các vấn đề ở trên đều đựơc giải quyết thì bạn doanh nghiệp lại vấp phải một vấn đề khác là thiếu những các nhân đáng tin tưởng. Có thể thu thập một đỗi ngũ kỹ sư, quản trị và lập trình viên đủ trình độ, nhưng không dễ tìm ra các chuyên gia bảo mật giỏi, vì có lẽ bọn họ đã đi làm hacker hết cả rồi!.
Và không thể đào tạo đội ngũ chuyên gia bảo mật trong vài ngày. Đó là một quá trình rất dài, phải bắt đầu từ các kiến thức cơ bản như TCP/IP, phần cứng, hệ điều hành, mã hoá và lập trình. Nhưng như vậy mới chỉ đủ cho các hiểu biết sơ đẳng về bảo mật.
Việc thiếu nhân sự làm cho các chương trình về bảo mật trong doanh nghiệp bị xao lãng hoặc đi sai đường. Không có các chính sách về bảo mật hoặc nếu có thì không được hoàn chỉnh. Chính điều đó làm cho hệ thống của bạn bị tổn thương trước các cuộc tấn công.
Vậy thì các hacker xâm nhập vào hệ thống như thế nào? Có thể vài người muốn kiện tôi vì việc viết ra nhưng tin này (có kiện thì kiên tác giả nhé đừng kiện người dịch). Tại sao? Đơn giản là bởi vì những thong tin sẽ được đưa ra có thể đem đến nhiều tác hại hơn là ích lợi (but not for hackers). Tôi không nói rằng những thong tin đó không thể bị lợi dụng, nhưng chỉ những ngưòi muốn bảo vệ chính mình, họ sẽ tìm thấy những gì họ muốn. Những thong tin này có đầy rẫy trên web và tất cả hacker đều biết. Còn những người dung bình thường thì không cần cố gắng để làm quen với chúng, vì chúng quá nguy hiểm. Bài viết chỉ đem đến cho họ một chút hiểu biết về những gì mà họ mong muốn.
Hacking có 9 bước đã được đề cập đến trong cuốn sách Hacking Exposed, bao gồm: (chỗ này để đại TA cho dễ hiểu)
FootPrinting Scanning Enumeration Gaining Access Escalating Privileges Pilfering Covering Tracks Creating "Back Doors" Denial of Service
1. FootPrinting:
Đâ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 ..v.v đại khái là những thong tin chính thức có lien 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 đó.
2. Scanning:
Khi đã có nhưng thong 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 rất nhiều nữa.
3. Enumeration:
Bước thứ ba là tìm kiếm những tài nguyên đựoc bảo vệ kém, hoạch tài khoản người dung 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à dich 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.
4. Gaining Access:
Bây giờ kẻ xâm nhập sẽ tìm cách truy cập vào mạng bằng những thong 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ả 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 tool thường được sử dụng ở bước này là NAT, podium, hoặc Lopht.
5. Escalating Privileges:
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.
6. Pilfering:
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.
7. Covering Tracks:
Sau khi đã có những thong 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.
8. Creating "Back Doors":
Hacker để lại "Back Doors", tức là một cơ chế cho phép hacker truy cậ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…
9. Denial of Service (aka DoS):
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ệ thong 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, và các loại nuker, flooder.
Vậy thì làm thế nào để tự bảo vệ?
Nếu bạn là người dùng cuối, bạn có thể hỏi như vậy. Đơn giản là vì không có gì 100% an toàn. Các lỗ hổng mới được tìm ra hàng ngày, các phương pháp mới cũng hình thành sau một đêm. Nhiều khi bạn nghĩ là an toàn, nhưng đến lúc nhận ra là bị xâm phạm thì đã muộn rồi.
Nhưng ở đây cũng có một vài hướng dẫn để bạn có thể tự bảo vệ mình:
Cài đặt firewall tốt và đảm bảo rằng nó được cấu hình chính xác. Tắt tất cả các ứng dụng và dịch vụ của hệ thống mà bạn không sử dụng. Không bao giờ mở những file đến từ người lạ. Cài đặt các chương trinh diệt virus tốt và được cập nhật thường xuyên. Cài đăt các bản sửa lỗi mới nhất và tham gia vào các hệ thống tin trực tuyến về bảo mật để thong tin được cập nhật kịp thời. Có một chính sách bảo mật riêng cho mình. Đảm bảo một hệ thống mạng tốt để tránh rủi ro. Đầu tư các thiết bị phần cứng bảo mật tốt (money).
Sẽ không có một cuốn Kinh thánh nào về bảo mật cho bạn, tất cả chỉ là những chỉ dẫn phổ thong, nhưng đa phần người dung đã không để ý đến chúng và hâu quả là họ đã bị nguy hiểm. Không thể chống lại hack được nhưng có thể giảm thiểu được nó
Bảo mật không phải là câu chuyện vui. Không có bảo mật thì các máy tính nối mạng sẽ bị tàn phá, Nhũng lỗ hổng và các công cụ đã được thông báo thì nó sẽ không chỉ là thông báo, mà nó là điềm báo trước điều gì sẽ xảy ra.
Một vài lời khuyên:
Nếu bạn muốn học “Hack” thì còn phải đọc nhiều hơn nữa. Hacking không chỉ là xâm nhập trái phép vào hệ thống máy tính. Nó còn hơn thế nữa. Nó là là thách thức mà bạn phải trải qua. Giống ngọn núi đối với người leo núi, và người leo núi đã được báo trước về tiềm năng tạo ra sự đau đớn lớn lao cho người khác. Nó không chỉ đơn giản nhu những ví dụ mà tôi đã đề cập đến.
Bất cứ điều gì về hacking mà bạn đọc được đều có thể được sử dụng với mục đích tốt hay xấu. Tôi khuyên bạn nên xác đinh được mục đích trước khi chạy thử một chương trinh hack nào đó. Trở thành một hacker giỏi cũng không phải là một điều xấu, mà ngược lại nó còn rất tốt vì nhiều lý do. Vì vậy bạn nên cố gắng giúp đỡ những người bạn gặp để trở thành một hacker tốt. Có rất nhiều người không có một khái niệm nào về sự xâm nhập từ bên ngoài vào máy tính của họ. Tôi cũng khuyên bạn học và học thật tốt một nghề để làm cho hiểu biết được mở rộng. Và luôn luôn, luôn luôn nghĩ đến việc hỗ trợ người khác dù cho bạn có đánh mất cơ hôi để tiến xa hơn.
Tất nhiên đó chỉ là lời khuyên! Hoàn toàn tuỳ thuộc ở bạn. Đối với riêng tôi, tôi luôn cố gắng mở rộng kiến thức hoặc ít nhất cũng tìm đựơc sự hiểu biết về điều gì đang xảy ra trong thế giới máy tính.
Tìm hiểu về "Ping" Ping là gì? Ping là một chương trình cho phép bạn xác định một host còn hoạt động(alive) hay không? Một ví dụ về Ping! C:\> ping www.aqnet.com
Pinging www.aqnet.com [209.54.218.119] with 32 bytes of data:
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128 Reply from 209.54.218.119: bytes=32 time<10ms TTL=128 Reply from 209.54.218.119: bytes=32 time<10ms TTL=128 Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Ping statistics for 209.54.218.119: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\> www.aqnet.com(209.54.218.119) -> alive! Nếu bạn nhận được thông báo "Host Alive", điều này có nghĩa là host không còn hoạt động! Ping hoạt động ra sao? Ping gởi một ICMP message "echo request" đến host. Nếu nhận được một ICMP message "echo reply" của host, ping sẽ thông báo host còn hoạt động. Nếu không nhận được ICMP message "echo reply" của host, ping sẽ thông báo host này đã ngừng hoạt động! Format của ICMP "echo request" và "echo reply" có dạng như sau: 0 7 8 15 16 31 +-----------------+-----------------+-----------------+ | Type (0 or 8) | Code (0) | 16-bit Checksum | +-----------------+-----------------+-----------------+ | Indentifier | sequence number | +-----------------+-----------------+-----------------+ | | | (Optional Data) | | | +-----------------------------------------------------+ Bất cứ lúc nào host nhận được một ICMP request message, nó sẽ phản hồi trở lại với một identifier và số sequence number. Trong hầu hết các hệ thống Unix, trường indentifier được đặt số Process ID của tiến trình gởi gói packet đi. Vì vậy, nếu bạn ping cùng một lúc nhiều lần đến một hệ thống Unix, giá trị indentifier mà bạn nhận được trong mỗi lần ping sẽ khác nhau! Trường sequence number có giá trị mặc định là 0. Giá trị này sẽ được tăng một sau mỗi lần hệ thống phản hồi ICMP request message của chương trình ping. Ping sẽ in ra giá trị sequence number của mỗi lần nhận packet, điều này cho chúng ta biết được các gói packet có gặp lỗi hay không?! (Để biết chi tiết về các trường khác, bạn hãy tham khảo các bài viết về giao thức TCP-IP!) Bây giờ chúng ta hãy xem qua ví dụ cuối cùng: # ping hackingtruths.box.sk
Pinging hackingtruths.box.sk [194.x.yyy.227] with 32 bytes of data: 32 bytes from 194.x.yyy.227: icmp_seq=0 ttl=225 time=0 ms 32 bytes from 194.x.yyy.227: icmp_seq=1 ttl=225 time=0 ms 32 bytes from 194.x.yyy.227: icmp_seq=2 ttl=225 time=0 ms 32 bytes from 194.x.yyy.227: icmp_seq=3 ttl=225 time=0 ms 32 bytes from 194.x.yyy.227: icmp_seq=4 ttl=225 time=0 ms 32 bytes from 194.x.yyy.227: icmp_seq=5 ttl=225 time=0 ms 32 bytes from 194.x.yyy.227: icmp_seq=6 ttl=225 time=0 ms ... Ở dòng đầu tiên, ping phân tích hostname ra địa chỉ ip. Bạn có nhận thấy giá trị icmp_seq tăng dần từ 0 sau mỗi lần ping nhận được ICMP message "echo reply" từ host không? Như vậy là các gói packet mà chúng ta nhận điều không gặp lỗi gì hết! Ping còn cho chúng ta biết thời gian TTL(Time To Live) nữa! Ping lưu thời gian mỗi lần gởi ICMP message "echo request". Khi nhận được ICMP message "echo reply" từ host, Ping sẽ lấy thời gian hiện tại trừ đi giá trị này sẽ ra TTL! Okay, bây giờ thì bạn biết Ping làm việc như thế nào rồi đó! Hẹn gặp lại bạn trong các bài viết sau! Bye, bye...! Back