Trao đổi với tôi

http://www.buidao.com

12/7/09

[Hacking] Learn to Hack P4 – Nmap

Chào các bạn ,qua 3 bài viết , cũng là một lượng kiến thức kha khá rồi :) , mình thì cảm thấy hài lòng sau khi viết xong nhưng sau đó đọc lại vẫn thấy một cái gì đó không rõ ràng và khá mờ nhạc :( , hi vọng trong những bài tiếp theo sẽ khắc phục lỗi này , để đem lại cho các bạn những kiến thức thực sự bổ ích và hướng các bạn đi đến con đường tràn đầy thách thức và cũng vô cùng thú vị -Một cuộc chiến mà bạn không nên đứng ngoài khi đã là một thần dân của thế giới IT :) nơiđó sự thay đổi của 1 bít nhỏ nhoi có thể sẽ làm thay đổi cả cuộc đời bạn và đôi khi là của cả thế gới này , một cuộc hành trình vô tận đây chông gai ,khó khăn có lúc làm bạn muốn từ bỏ tất cả nhưng song hành với nó là những phút giây tinh thần được tự do tuyệt đối với sự sáng tạo , kiên nhẫn , chắc chắn trong từng dòng lệnh , khai thác tối đa tiềm năng của mình , đó là những gì Hacking có thể đem lại cho bộ não khao khát sự tự do cũng như thách thức của các bạn .

Thôi tỉnh đi , tiếp tục nào :)

Hôm nay , các bạn đã đủ kến thức về network – với điều kện đọc 2 bài trước và tự mình tìm hiểu thêm nha , chúng ta sẽ đi vào sử dụng một công cụ vô cùng lợi hại được phát triển bởi Fyodor -Nmap (network mapper ).

Tài lệu được mình thu thập qua các ebook : documents tại insecure.org ,security power tool, secrets of network cryptography, các hội nghị Blackhat và Defcon có sự tham gia của Fyodor và trên Internet …..

Đầu tiên , chúng ta ca tụng nó một chút , có thể nói không có hacker nào là không sử dụng Nmap , cho đến cả những hacker trong phim thì Nmap cũng là một công cụ không thể thiếu

Đây là trong series phim Bourne Ultimate ,

Và đây là một cảnh trong Die Hard 4

Và trong Matrix

Tại sao Nmap lại được trọng dụng như vậy ? Và chúng ta sẽ master nó như thế nào ? Mình sẽ cùng các bạn trả lời câu hỏi này trong Learn to Hack P4 này . Welcome mọi người .

Đầu tiên , có nhiêu người nhầm tưởng rằng chuyện hack chỉ giống như defaced một website , thay thế trang index của nó bằng trang của mình , và chỉ dựa vào một vài công thức dựng sẵn mà trong vài bài viết tới mình sẽ giới thiệu cho các bạn , nhưng hack là một cái gì đó rất trừu tượng ,và khong đơn giản tí nào , bạn giống như là một trinh thám gia , nghiên cứu tìm tòi trong từng chi tiết cực kì nhỏ bé, bạn cũng có the là một nhà chỉ huy quân sự , trong tay bạn là nhiều công cụ tối tân ,và chỉ huy từng phát đại bác nã vào đối phương, ở chỗ nào ,ở nơi đâu để thành công, hay cũng có thể là một nguời nghệ sĩ chăm chút cho từng dòng code, từng câu lệnh trong terminal và cũng có thể là một đứa trẻ hồi hộp ngồi đợi kết quả , có theer là cuơif , cũng có tể là khóc … Đó là hack . Khi nhắm tới một kẻ địch nào đó, có lẽ bạn sẽ tỉm hiểu xem nó là ai, nó như thees nào , nhà ở đâu, nhà có cổng nào , có chó dữ không…..? Đó là điều tối thiểu trong cuốc sống bạn cần biết khi muốn tấn công một ai đó , Hack cũng vậy , nó đòi hỏi bạn phải đầu tư kĩ lưỡng vào công cuộc do thám , đánh giá đối phuwowng , thành bại trong một trận chiến phần lớn là nằm ở bước này , tuy nhiên , đa số các chúng ta những người mới bắt đầu lại quên đi điều đó mà lao vào những thứ lung linh huyền bí … Vì vậy có lẽ mình sẽ dùng khá nhiều bài để nói rõ pần này , hi vọng các bạn hiểu được tầm quan trọng của do thám mạng mà coi trọng nó khi muốn hack một ai đó :) , điều này nên áp dụng cả trong cuốc sông thực tế , đòng ý chứ mọi người ?

Các công cụ scanner hoạt động bằng cách gửi và nhaanj các gói tin ( phần này mình đã giới thiệu rồi ) , từ những gói tin trả về, scanner sẽ tự phân tích đánh giá và đưa ra kết quả cho chúng ta , Nmap làm được như thế mà còn hơn như thế nhiều nữa,

Các loại scan mà Nmap có thể thực hiện :

  • Liệt kê đich
  • Xác định host nào còn hoạt động .
  • Reverse-DNS
  • Quét cổng
  • Xác định phiên bản
  • Xác định hệ điều hành
  • tracertroute
  • Output

Chúng ta sẽ đi sâu vào cách thức scan của Nmap và tìm cho bản thân một phương án scan tối ưu :)

Đầu tiên , hãy cùng nhau làm một ví dụ :


Thử thêm -PN vào :

Tiếp theo thử tracert và xác định version của ứng dụng chạy trên server này :

Để xác định xem đối phương chạy những dịch vụ nào thì chúng ta cần phải điểm danh các cổng mở trên hệ thống của đối phương .Sau đây là một số tùy chọn khi scan cổng mà các bạn nên lưu ý :

-sS (TCP SYN scan) : cách thức scan này không mở một kết nối đầy đủ , sau khi bạn gửi một gói syn , nếu nhận về một gói syn/ack có nghĩa là cổng đó mở , nếu một gói rst tức là không mở còn không có trả lời thì có nghĩa là bị lọc bởi một firewall chẳng hạn. Cách thức scan này có tốc độ nhanh , phân biệt được rõ ràng các loại cổng (open, closed, filtered).

- sN (Null scan ) : Gửi một packet với TCP flag là 0

-sF (FIN scan): set flag FIn

-sX (Xmas scan):set flag FIN, PSH, and URG

Trong một số truwowngf hợp nên sử dụng những tuyf chọn scan này vì nó có thể vượt qua non-stateful firewalls và packet filtering routers .

-sA (TCP ACK scan) : sử dụng một ACK flag để xác định xem cổng đích có bị lọc bởi một firewall hay không .

-sW (TCP Window scan): Ở một vài hệ thống ,window size trong RST packet là một số dương khi cổng đó mở và là zero nếu cổng đó đóng , vWindow scan dựa vào window size trong TCP header của gói RST hệ thống đích trả về để xác định xem cổng đó có mở hay không .

--scanflags : khi bạn đã thông thạo các cách scan của Nmap thì bạn có theer thao tác TCP header để tạo ra một packet như ý muốn của bạn .

-sI [:] (idle scan) : Cách thức scan này cực kì thú vị và độc đáo , các bạn hãy xem hình vẽ miêu tả quá trình scan sử dụng phương pháp này :

Khi cổng đó mở :


Khi cổng đó đóng :

Và khi cổng đó bị filter :

Trong Part 2 mình có đưa ra cho các bạn các vùng của một IP header :

struct ipheader {
unsigned char ip_hl:4, ip_v:4; /* this means that each member is 4 bits */
unsigned char ip_tos;
unsigned short int ip_len;
unsigned short int ip_id;
unsigned short int ip_off;
unsigned char ip_ttl;
unsigned char ip_p;
unsigned short int ip_sum;
unsigned int ip_src;
unsigned int ip_dst;
}; /* total ip header length: 20 bytes (=160 bits) */

Các bạn chú ý cái mình đánh dấu unsigned short int ip_id;

Sau khi gửi một syn/ack tới zombie để xác định ip_id , chúng ta sẽ spoof một syn packet tới đối phương bằng Ip của zomebie , và sau đó xác định lại ip_id của zombie một lần nữa, chúng ta sẽ xác định được cổng đó trên đối phương có mở không ?

khi nào sử dụng nó ? Các bạn thấy một điều là ở đối phương sẽ không có bất kì dấu vêt nào của chúng ta trong quá trình này , thêm vào đó giả sử zombie thuộc Internal với đối phương , chúng ta sẽ dùng VPN và vượt qua được sự filter của firewall .

-p : chỉ scan các cổng được liệt kê, cách thức này nhằm tăng tốc độ của quá trình scan .

Phần Port scanning tới đây cũng là khá nhiều rồi, trong phần tiếp theo mình sẽ giới thiệu tiếp tới các công dụng khác của Nmap .

Link: http://bkitns.wordpress.com/2008/10/28/learn-to-hack-p4-nmap/