13. Information... What for? - II
Chiều nay như đã hẹn, tôi log vào YIM. Mấy 'khuôn mặt' YIM của cuti, ccxx, haothu và docco đều "trắng bệch". Tôi thầm nghĩ, "chà, mấy trự này vẫn chưa lên hay có trục trặc gì rồi". Tôi quyết định gởi cùng một offline message cho cả bốn 'trự' để khi nào có ai lên thì cho tôi biết. Chỉ trong vài giây tôi nghe bốn tiếng "Knock, knock", "Knock, knock" và hai khuôn mặt "vàng choé" của docco và ccxx online. 'docco' chào trước:
"Chào anh, anh lên lâu chưa vậy?"
'ccxx' chào tiếp theo:
"Ý chà, anh đúng giờ khủng khiếp luôn á. Em chuyển chế độ 'invisible' để khỏi phiền chớ em lên đây từ trưa á."
Lần này tôi gởi 'conference invitation' kèm theo câu trả lời:
"Hì hì, anh 'hên' nên đúng giờ thôi em. Anh đâu biết khi nào mấy đứa lên đâu à. Còn cuti với haothu đâu rồi?"
'ccxx' nhanh nhảu:
"Dạ em cũng không biết nữa anh. Em gọi di động cho ông Hưng mà chẳng thấy trả lời. Còn ông Khoa thì em chẳng thấy tung tích từ hôm qua đến giờ."
'docco' tiếp lời:
"À, hồi sáng em có gặp Hưng mà. Nó nói thế nào nó cũng lên. Còn thằng Khoa thì chẳng biết nó ở đâu mà mò nữa anh."
Tôi cười, đáp:
"Ừa, khi nào tụi nó thấy tiện thì lên thôi. Anh em mình đà khía lai rai cũng được. Hay em muốn chờ tụi nó lên luôn?"
'docco' trả lời:
"Dạ mình 'làm' lai rai đi anh. Chừng nào tụi nó lên thì nhập cuộc luôn cũng được."
'ccxx' cũng hùa theo:
"Đúng đó. Mấy ông đó chẳng biết đâu mà chờ anh ơi."
Tôi đáp:
"Xong ngay. Vậy mình tiếp tục câu chuyện lần trước hả? hay mấy đứa thích nói chuyện gì khác hông?"
'docco' trả lời ngay:
"Dạ tiếp tục chuyện lần trước đi anh. Chuyện này 'đã' hơn những chuyện tầm phào khác
"
Tôi cười đáp:
"Nhào ngay vô liền hả? OK. Lần trước mình đang nói đến chuyện tìm 'footprint' phải hông? Anh muốn đề cập thêm một chi tiết nhỏ trong việc query DNS khá quan trọng. Hầu hết các DNS server trên Internet hiện nay dùng BIND, chạy trên UNIX. Những DNS server không thiết kế và điều chỉnh cẩn thận thường có các giá trị HINFO (Host Information) chứa những thông tin khá cụ thể về vị trị của host này, hệ điều hành đang chạy trên host này... những thông tin đó hết sức quan trọng cho việc 'thăm dò'. Anh đề cập đến chuyện này vì muốn nhấn mạnh sự quan trọng của việc thiết kế hệ thống trên phương diện bảo mật; tránh để lộ những thông tin nhạy cảm và không cần thiết trên các hệ thống tiếp diện với 'untrused networks'."
'ccxx' hỏi ngay:
"Phải 'untrusted networks" là Internet hông anh?"
Tôi đáp:
"Ừa, Internet là một trong những 'untrusted network'. Ngay cả mạng riêng của công ty vẫn có những phần thuộc dạng 'untrusted' nếu như các thông tin nhạy cảm đi xuyên qua hoặc mở rộng trong các phần này. Nói chung, 'untrusted networks' là những mạng em không thể kiểm soát được."
'docco' thắc mắc:
"Như anh nói ở trên, vậy HINFO chứa những thông tin nào mà nguy hiểm như vậy anh? Thật tình em chưa bao giờ thấy thông tin này."
'ccxx' chêm vào:
"Dạ em cũng thắc mắc điểm này luôn đó."
Tôi đáp:
"Ừa, em phải đụng đến nó thì mới biết
. HINFO là một 'query type' khi em query DNS, tương tự như A, MX, NS, CNAME, SOA... mấy cái này em nên tham khảo chi tiết sau vì nó dính khá nhiều thứ trong đó. Mình tập trung vào HINFO ở đây để em nắm chi tiết quan trọng này thôi. Tổng quát mà nói thì HINFO chứa giá trị (và sẽ trả về giá trị nếu mình query nó) ở dạng như:
"sparc20" "lp & fax comm room" chẳng hạn. Nó thường chứa các thông tin khá chi tiết để sysadmin dễ nhận diện host này là host gì trong mạng. Nó tiện dụng cho sysadmin nhưng lại khá nguy hiểm trên phương diện bảo mật. Bọn em đoán thử với giá trị trong ngoặc kép, nó nguy hiểm ở đâu?"
'docco' và 'ccxx' im lặng một đỗi. 'docco' lên tiếng trước:
"Dạ em đoán nó chỉ cho kẻ thăm dò biết server đó loại gì và vị trí server đó ở đâu . Nhưng.... vị trí 'comm room' cũng đâu giúp được gì đâu anh?"
'ccxx' nói tiếp:
"Hình như sparc20 là một loại server của công ty Sun phải hông anh? Em chưa thấy nó bao giờ nhưng em có nghe đến. Nếu mình biết được loại máy chắc mình có thể đoán được hệ điều hành nào đang chạy trên nó?"
Tôi cười, đáp:
"Cả hai đứa đoán đúng hết nhưng mỗi đứa chỉ đúng 1/3 thôi
"
'docco' bẽn lẽn:
"Sao anh? em chỉ đoán bừa thôi mà
"
Tôi trả lời:
"Ừa, thì em đoán ra vị trí + loại server, cái này cho 1/3 thông tin. Cô bé Như đoán được 'có thể lấy hệ điều hành' nếu biết loại máy được thêm 1/3 nữa. 1/3 còn lại cho thấy chức năng chính của máy chủ này cung cấp dịch vụ in và fax. Bấy nhiêu thông tin cũng đủ giúp cho kẻ thăm dò hình thành ít nhiều kế hoạch. Ví dụ, Solaris thường bị những điểm yếu nào? nếu máy chủ này cung cấp dịch vụ in (lp) và fax thì nó thường bị lỗ hổng ở chỗ nào? Nếu nó nằm trong 'comm room', liệu từ máy này có thể truy cập đến các máy chủ khác cũng trong 'comm room' hay không? và hàng loạt các câu hỏi khác. Độ nguy hiểm càng tăng khi kẻ đang thăm dò có nhiều kinh nghiệm."
'docco' thắc mắc:
"Công nhận anh phân tích ra thì thấy lý thú nhưng em vẫn chưa hình dung được độ nguy hiểm ở chỗ nào hết anh?"
Tôi cười, chậm rãi đáp:
"Anh cũng hiểu được tại sao em chưa hình dung ra sự nguy hiểm. Thế này, để anh kể cho nghe một mẩu chuyện ngắn, hy vọng em sẽ hiểu. Cách đây vài năm, khi anh còn làm ở một công ty khác, anh phát hiện mail server của cty anh bị spam quá nhiều. Sau khi truy ra nguồn mail được gởi đi và tổng kết số lượng mail nhận được, anh nghi rằng mail server đó bị open relay. Anh bắt tay vào kiểm tra mail server ấy thì thấy quả thật nó open relay. Anh quyết định gởi thông báo cho tay sysadmin của mail server dùng làm phương tiện để spam mail server của cty anh. Tay này năm lần, bảy lượt cố làm ngơ. Rốt cuộc hắn trả lời anh là mail server của hắn không bị cái gì hết, anh thử chứng minh xem để hắn thấy.
Anh bèn mở cuộc thăm dò thì thấy mạng này khá lớn, có rất nhiều servers. Các servers đều dùng static IP và chỉ có một border router cho cả nội mạng. Tất nhiên là anh chứng minh cho hắn thấy mail server của hắn bị 'open relay'. Trong quá trình thăm dò, qua phương tiện query DNS, anh tìm thấy có rất nhiều servers trong nội mạng này có tên ở dạng
test, ví dụ như
testbed,
teststage,
testserver. Chỉ cần nháy mắt, anh log vào một trong những server này với account test/test một cách dễ dàng. Từ server thứ nhất, anh có thể đi vào các server còn lại bằng những phương tiện truy nhập thông thường. Anh còn thấy vô số lỗi cho phép leo thang từ user test thành root một cách không mấy khó khăn. Chỉ trong khoảng thời gian ngắn, anh gần như làm chủ mạng đó."
'ccxx' cảm thán:
"Wow... cool thiệt đó nha. Làm dễ như vậy sao anh? Sau đó anh làm gì nữa?"
Tôi cười, đáp:
"Có gì mà 'cool' em. Đây chỉ là lối thâm nhập do hệ thống bảo mật quá kém. sysadmin không có kiến thức về bảo mật hoặc quá lười biếng mà thôi. Sau đó anh chẳng làm gì hết. Anh dò dẫm qua một vòng và khám phá ra anh không phải là người đầu tiên dò dẫm trong hệ thống này mà đã có vài người khác nữa. Anh bèn tạo một số files trên vài servers rồi gởi mail (từ một trong những server trong mạng ấy) đến tay sysadmin để cảnh báo hắn. Một tuần sau anh thử quay lại thì hệ thống này đã được thắt chặt. Vậy, hai đứa rút ra được gì từ câu chuyện trên?"
'docco' cười, trả lời:
"Hì hì, hình như anh đổi rơ hay sao đó. Mấy bữa trước anh cho tụi em hỏi thoải mái, hôm nay em thấy anh hỏi tụi em không à. Phần em thì em thấy có mấy chi tiết anh nhấn mạnh ở điểm
test. Nếu không có các chi tiết này chắc anh không máy mó thêm phải không anh?"
'ccxx' cũng xen vào:
"Hi hi... em thấy cái vụ 'test/test' này đúng là hay tỉ luôn đó. Em có đi làm thêm ở một công ty và thấy cái gì cũng 'test/test'. Bây giờ anh kể chuyện này, hoá ra ở đâu cũng có thói quen này."
Tôi đáp:
"Em tinh mắt lắm. Chỉ vì 'test/test' mà làm anh tò mò và 'thử' thêm cho nên mới dẫn đến chỗ anh vào gần như mọi server của mạng đó. Tay sysadmin này lười biếng nên hắn set mọi server đều 'trusted' nên dùng 'rlogin' là vào tuồn tuột, khỏi password, khỏi gì hết. Điều cần nhấn mạnh ở đây là những thông tin trông có vẻ nhỏ nhưng có thể dẫn đến hậu quả khó lường. Người dùng, ngay cả sysadmin, mà lười biếng và thiếu cẩn thận thì ở đâu cũng 'test/test'. Em có tin rằng nếu anh không thử thăm dò, không query DNS và không thấy 'test' hiện lên thì chẳng có chuyện gì xảy ra không? Đây là anh không có ý định thâm nhập, còn đối với kẻ thật sự có ý muốn thâm nhập thì những thông tin này còn quý hơn... vàng
. Vậy, mấy đứa thử nghĩ xem, đứng trên phương diện bảo mật, mình rút tỉa được điều gì ở đây?"
'ccxx' đáp lời ngay:
"Bỏ hết mấy cái 'test/test' phải không anh?"
'docco' thêm vào:
"Thắt chặt hệ thống phải không anh?"
Tôi cười xoà:
"Ái chà, một đứa thì quá cụ thể, một đứa thì quá tổng quát. Cả hai đứa đều đúng nhưng ráng suy nghĩ thêm một chút để tìm một câu trọn vẹn xem sao?"
Cả hai 'ccxx' và 'docco' im lặng hồi lâu. 'docco' lên tiếng trước:
"Em nghĩ là hệ thống ấy cần phải dấu hết những gì không cần công bố với công cộng. Phải thiết kế lại mạng và hệ thống phòng thủ."
'ccxx' nói tiếp:
"Gặp em thì em đuổi cổ cái tay sysadmin đó vì cái tội lười biếng hoặc thiếu khả năng. Nếu hắn cẩn thận và chịu khó thì có lẽ anh không dễ dàng thâm nhập đến như thế đâu."
Tôi đáp:
"E hèm... cả hai đứa đều đúng hết. Chỉ có 'công chúa xinh đẹp' hơi... hung dữ một tí thôi
. Nếu gom hai câu trả lời thành một thì hoàn chỉnh rồi đó. Tuy nhiên, 'đuổi cổ' hắn như thế có thể hơi oan vì sysadmin chưa hẳn là chuyên viên bảo mật đâu em. Có thể công tác chính của hắn là làm sao cho hệ thống chạy ổn định là được rồi. Cái này cũng cho thấy một điều là làm chuyên viên bảo mật hay chuyên viên 'thâm nhập' còn phải kinh nghiệm và có khả năng nhìn sâu, rộng hơn sysadmin bình thường."
'docco' cảm thán:
"Bây giờ em mới hiểu được việc thăm dò quan trọng như thế nào. Quả thật những điều này hết sức lý thú. Có thể em đọc chưa nhiều nhưng em có cảm giác những điều anh nói ở đây toàn là 'kinh nghiệm xương máu' chớ chẳng thấy trong sách."
Tôi đáp:
"Anh đoan chắc là những người khác cũng 'thấy' những điều anh 'thấy' và hơn nữa. Điều quan trọng ở đây là khả năng nhận xét một cách nhạy bén. Càng nhạy bén càng tốt. Từ thông tin trong HINFO đến những chi tiết rất nhỏ bé khác trong quá trình thăm dò có thể dẫn đến những điều không thể ngờ trước được. Đây cũng là điều giúp cho mình thấy là
không có một công thức cụ thể nào cho việc thâm nhập cả. Mọi chuyện là do tính nhạy bén và sáng tạo của mình mà ra thôi."
'ccxx' hỏi thêm:
"Có một số chi tiết anh đi lướt qua như 'open relay', 'rlogin', 'trusted'.... em thấy lạ hoắc à. Đây có phải là những kiến thức căn bản không anh? Em chưa hề nghe qua những cái này bao giờ."
Tôi đáp:
"Căn bản thì cũng không hẳn đâu em. Anh nhớ anh có đề cập đến
r series cho rlogin, rsh, rexec và 'trusted network' ... trong một lần 'đà khía' trước đây. Em hỏi cu Hưng bản lưu của lần trò chuyện đó về đọc. Những cái này chỉ thấy trên UNIX là chính. Nó mang lại tính tiện dụng nhưng làm hỏng tính bảo mật của hệ thống. Riêng khái niệm 'open relay' thì chỉ khi nào em thiết kế một MTA (mail transfer agent), hay còn gọi là mail server thì mới đụng đến vấn đề 'mail relay'. Ngay cả chỉ thiết kế nó cho chạy đưọc cũng không đụng tới mail relay đâu. Chỉ khi nào em cần bảo mật nó thì mới đụng tới phương diện này. Đại khái 'mail relay' là một cơ chế cho phép máy con thuộc mạng này dùng mail server của mạng kia. Trên mặt nguyên tắc thì nó tiện dụng nhưng lại nguy hiểm vì từ tiện dụng hoá thành... lạm dụng
. 'mail relay' là phương tiện chính cho nạn spamming đang lan tràn trên Internet."
'docco' cười thích thú:
"Chắc bà Như chưa quen đó thôi. Anh D đi xuyên qua những vấn đề được đặt ra rất tốc độ. Tui rút kinh nghiệm và viết xuống hết những từ khóa quan trọng rồi về tự tìm hiểu sau. Có gì kẹt thì lần sau hỏi ảnh tiếp. Có những 'từ khoá' mở ra thành nhiều trăm trang tài liệu, thành nhiều cuốn sách luôn đó bà ơi. Lúc trước tui hơi ngỡ ngàng vì anh ấy chỉ thường giải thích các thắc mắc dựa trên điều kiện là mình phải nắm ít nhiều căn bản. Dần dà, tui ngộ ra được điều này, hi hi."
'ccxx' đáp:
"Vậy hả? có lẽ Như chưa đọc kỹ chi tiết của những lần đối thoại trước. Chắc kỳ này phải đọc lại thật kỹ. Cám ơn ông 'chỉ điểm' dùm nhe Duy."
'ccxx' nói tiếp:
"Bây giờ em mới hiểu lý do tại sao ông Hưng lại 'nghiện' những cuộc 'đà khía' đến như vậy. Em có quan niệm là cả ngày đã 'ôm' cái máy thì ban đêm nên dành thời gian cho chuyện khác nên mỗi lần ông Hưng mà đề cập đến máy tính là em gạt ngang. Không ngờ anh em mình nói chuyện kỹ thuật nhưng em cảm thấy thích thú và dễ chịu như đang trao đổi những chuyện bình thường trong đời sống vậy."
Tôi cười và đáp:
"Hì hì, 'skeptic blinds h(im)erself'. Nên bước vào một sự việc với tinh thần và thái độ mở rộng không thì em tự động hạn chế mình đó 'công chúa xinh đẹp'."
'ccxx' đáp gọn:
"Dạ, cám ơn anh. Em sẽ suy gẫm thêm."
'docco' tiếp tục khai triển:
"Vậy query DNS là một bước của quá trình thăm dò. Những gì tiếp sau đó vậy anh? À, em nhớ có một quyển sách nói về chuyện thăm dò có dùng từ 'profiling' nữa. Có phải đây cũng là một loại thăm dò?"
Tôi đáp:
"Profile tạm dịch là 'sơ yếu lý lịch' và profiling có nghĩa là 'hành động hình thành sơ yếu lý lịch' đó em. Đây cũng là một thuật ngữ được dùng trong công tác thăm dò. Ví dụ em muốn thăm dò một máy (host profiling), một mạng (network profiling) hoặc một tổ chức (organisation profiling) thì em cần hình thành một bảng 'sơ yếu lý lịch' cho từng mục tiêu. Trong bảng sơ yếu lý lịch này em điền vào những thông tin tìm được trong quá trình thăm dò."
Đang trò chuyện tới đây thì 'cuti' vào. Cu cậu xuýt xoa vì vào trễ và gởi cho tôi một thông điệp:
"Chào anh già khó tính
. Em đi công chuyện, gởi xe nhưng làm mất thẻ gởi nên đủ thứ chuyện phiền phức, mất thời giờ. Anh với mấy đứa kia nói chuyện lâu chưa anh?"
Tôi đáp lời 'cuti' bằng cách mời 'cuti' tham gia 'conference', kèm theo câu trả lời:
"Cũng khá lâu rồi em. Không sao đâu, mình còn lai rai được vài chục phút nữa."
'cuti' vào 'conference' và xin lỗi mọi người vì vào trễ. Tôi tiếp tục trả lời 'docco':
"Tùy theo mục tiêu của em là một host, một network hay cả một organisation, profiling sẽ cần nhiều hay ít thông tin. Nguyên tắc căn bản áp dụng cho các mục tiêu đều như nhau.
- thứ nhất: em cần biết mục tiêu đang ở đâu, đang thuộc network nào.
- thứ hai: em cần biết từ nơi em đang thực hiện thăm dò đến mục tiêu cần thăm dò sẽ đi qua những chặng network nào.
- thứ ba: em cần biết mục tiêu có những dịch vụ nào.
- thứ tư: em cần biết mục tiêu được bảo vệ như thế nào.
Từ những thông tin thu thập được, em sẽ hình thành một cái gọi là profile."
'cuti' xen vào:
"Hay là anh cho bọn em một ví dụ cụ thể đi anh? Em thấy cách này dễ 'tiêu hoá' nhất đó."
Tôi đáp:
"Cũng được thôi em. Tuy nhiên, anh muốn tránh lối khai triển rập khuôn, theo từng bước cho nên em đừng theo ví dụ mà thực hiện nếu em muốn thăm dò. Nên vận dụng trí tưởng tượng của mình. Tất nhiên là em cần phải trau dồi một số kiến thức căn bản về giao thức mạng, dịch vụ trên mạng và công cụ kiểm tra / khắc phục sự cố cho mạng."
Tôi nói tiếp:
"Tiếp theo ví dụ lần trước về việc thông tin lấy được từ DNS, anh biết một host anh đang thăm dò thuộc network 172.16.114.0. Tất nhiên chuỗi IP này là private IP dùng để làm ví dụ thôi nha. Bọn em thừa biết mà phải không? Giả sử anh quyết định thăm dò kỹ lưỡng host
white từ thông tin lấy được xuyên qua DNS lần trước. Anh muốn xem từ máy của anh (hoặc một terminal nào đó anh đang làm việc) đến host
white.domain.com qua bao nhiêu hops, nó có thể có firewall bảo vệ hay không? thì anh dùng thử traceroute (tracert trên windows):
Code: $ traceroute white.domain.com
traceroute to white.domain.com (172.16.114.161), 30 hops max, 38 byte packets
1 redback (192.168.1.100) 0.538 ms 0.408 ms 0.355 ms 2
2 cobweb (192.168.2.1) 13.528 ms 11.439 ms 10.712 ms
3 reptile (172.16.100.1)
3 border.domain.com(172.16.114.10) 16.052 ms 14.238 ms 13.118 ms
4 * * *
5 * * *
.....
.....
$
Kết quả trên cho thấy gì nhỉ?"
'ccxx' trả lời ngay:
"Em thì bó tay rồi đó anh. Em chẳng biết gì về mấy cái network hết á."
'cuti' nối tiếp:
"Hình như anh chạy lệnh traceroute để tìm xem có bao nhiêu hops đến host white.domain.com, còn những kết quả thì em không rõ lắm. Hình như nó in ra thông tin mỗi khi nó đến một network router phải không anh?"
Tôi đáp:
"Đúng rồi. Nếu em đọc kỹ TCP/IP Illustrated của Richard Stevens em sẽ nhận ra ngay những giá trị ở trên."
'docco' lên tiếng:
"Em cũng hiểu man mán như thằng Hưng vậy. Điều em không nắm rõ là tại sao nó in ra những dấu hoa thị ở mấy dòng cuối."
Tôi trả lời:
"Đây là những kiến thức thông thường về mạng. Nói một cách khác, traceroute là một công cụ thông dụng và là một phương tiện thẩm định network quan trọng. Anh có thể giải thích một cách vắn tắt như sau:
- dòng đầu tiên: traceroute cho biết là nó dò tuyến đi đến white.domain.com sau khi phân giải tên thành IP 172.16.114.161. Theo mặc định, nó chỉ dò đến 30 hops và dùng gói tin có kích thước là 38 bytes.
- dòng 1: đây là hop thứ nhất traceroute đi qua.
redback là tên của host, nó là một router dùng để định tuyến gói tin từ network 192.168.1.0 sang network 102.168.2.0. Gói tin này mất thời gian tối đa, trung bình và tối thiểu như đã hiển thị.
- dòng 2: đây là hop thứ nhì traceroute đi qua.
cobweb là một router khác định tuyến gói tin từ network 192.168.2.0 đến network 172.16.100.0.
- dòng 3: đây là hop thứ ba của traceroute.
reptile là một router hay một firewall của network 172.16.114.0, network này chứa mục tiêu white.domain.com của mình.
- dòng thứ 4 trở đi: không có mấy thông tin. Điều này chứng tỏ những hop kế tiếp không động tĩnh gì cả và traceroute hoàn toàn không nắm bắt được thông tin gì cụ thể."
'cuti' thiếu kiên nhẫn:
"Em vẫn chưa thấy có gì là bảo mật hay thâm nhập ở đây cả vậy anh? Mấy cái này chỉ là kiến thức cần thiết cho một network admin thôi mà? Với lại nữa, tại sao mình cần biết có bao nhiêu hops đến mục tiêu làm chi vậy anh?"
'ccxx' lên tiếng:
"Cái ông này lại láu táu nữa rồi. Anh D đưa ra những chi tiết này chắc chắn sẽ dẫn đến một điểm nào đó cần nắm. Sao ông hông thử kiên nhẫn thêm một tí nữa coi sao?"
Tôi đỡ lời:
"Hì hì, anh vẫn biết 'cuti' vẫn còn ám với những thứ gọi là 'thâm nhập' bằng một công cụ mầu nhiệm nào đó. Để anh cắt nghĩa tiếp cho nó đỡ bồn chồn."
Tôi nói tiếp:
"Mình cần biết số hops có nhiều lý do cần thiết sau này, tùy theo ý định thâm nhập nữa. Ví dụ từ máy mình đến mục tiêu phải đi xuyên qua nhiều hops quá thì các kỹ thuật rà tìm sau này phải điều chỉnh lại cho thích hợp để đỡ mất thời gian hoặc để có kết quả chính xác hơn (vì có thể có những trường hợp gói tin bị mất). Sở dĩ những thông tin thâu thập được rất quan trọng bởi vì chúng giúp em xác định tổng quát mức bảo mật của mục tiêu em thăm dò. Trong trường hợp mình đang bàn ở đây, nó tiết lộ một chi tiết rất quan trọng là ở hop thứ 3, border.domain.com có thể hủy các gói UDP đi vào nhưng không hủy các gói ICMP đi ra để trả lời. Chứng tỏ border.domain.com là một router rất chặt chẽ hoặc nó phải là một firewall có những ấn định cụ thể. Tại sao mình biết
nó hủy các gói UDP đi vào nhưng không hủy các gói ICMP đi ra để trả lời?"
'ccxx' thốt lên:
"Em thua."
'cuti' nối tiếp:
"Em chẳng khá gì hơn."
'docco' chậm rãi đáp:
"Hình như cái này có liên quan đến cơ chế làm việc của traceroute phải không anh? Tường tận vấn đề thì em đầu hàng rồi đó."
Tôi đáp:
"Cu Duy đoán đúng rồi đó. traceroute gởi gói tin UDP đến mục tiêu và tự động chọn cổng UDP nó gởi đến. Chuỗi cổng này thường nằm trên dãy 30000. Nếu mục tiêu của mình (white.domain.com) hoàn toàn không có gì bảo vệ (như một máy bình thường), chắc chắn traceroute có thể liên hệ với nó qua các cổng trên dãy 30000 trở lên. Nếu chính white.domain.com có cơ chế cản UDP hoặc host nào nằm bên ngoài (bảo vệ cho nó) cản UDP giúp nó thì em thấy ngay mục tiêu em đang thăm dò không dễ dàng tí nào."
'cuti' phát biểu:
"Vậy thì cũng chưa có gì cụ thể cho việc thâm nhập cả."
Tôi hơi cáu khi 'cuti' cứ nhấm nhẳn chuyện thâm nhập trong khi đang bàn ở bước thăm dò. Tôi trả lời:
"Hưng à, hình như em quên là mình đang nói chuyện thăm dò hay sao đó. Sao em cứ đeo mãi cái chuyện thâm nhập vậy? Em chưa biết mục tiêu của em thế nào thì em thâm nhập cái con khỉ gì? Điều anh muốn phân tích ở đây là muốn cho em thấy những kỹ năng và kiến thức cần thiết để ước lượng tình thế. Từ đó, tránh việc phí thời gian để cố thâm nhập vào một mục tiêu quá vững hoặc nghiêm trọng hơn nữa là tránh bị 'tóm' nếu mò mẫm không có căn. Giả sử anh muốn thâm nhập một mục tiêu và ước lượng được tình thế khó khăn hoặc nguy hiểm (vì dễ bị phát hiện), anh sẽ không phí thời gian hoặc liều lĩnh làm chuyện này. Cái khổ là anh phải thẩm định và thăm dò trước khi đi đến chỗ quyết định nên thâm nhập hay không nên thâm nhập. Không phải mục tiêu nào cũng có thể thâm nhập và em nên gột rửa khỏi cái đầu em chuyện này:
không có một thứ công cụ mầu nhiệm nào giúp em thâm nhập một hệ thống và cũng chẳng có công thức cụ thể nào cho việc thâm nhập cả. Thâm nhập được hay không là tùy thuộc ở mức phòng thủ của mục tiêu và kiến thức, khả năng sáng tạo của em cho
từng trường hợp."
Thấy tôi có vẻ cáu, 'ccxx' đỡ lời:
"Thôi anh, anh đừng cáu làm gì. Em thấy mấy bữa nay ông Hưng làm sao đó. Hay mình nói chuyện khác cho vui rồi quay lại chuyện này sau?"
Tôi đáp:
"Không sao đâu em. Anh hơi cáu thật bởi vì anh không hiểu sao dạo này cu Hưng lại có vẻ rất thiếu kiên nhẫn. Những điều mình bàn ở đây là phương pháp khai triển vấn đề chớ không phải lối "đút từng muỗng" cho từng lệnh một. Anh muốn mấy đứa hiểu một điều tối quan trọng là bảo mật, thâm nhập hay bất cứ thứ gì khác cũng cần phải có kiên nhẫn, căn cơ, ngọn ngành. Anh nghĩ rằng anh lặp đi, lặp lại điểm này rất nhiều lần nhưng hình như khái niệm này... khó tiêu hay sao đó
. Ngay cả chuyện đơn giản như chuyện nấu cơm chẳng hạn. Nếu em muốn nấu cho nhanh và cố nổi lửa lên cho lớn để mong cơm mau chín thì chỉ tổ làm cho cơm khê khét ở dưới nhưng lại sống nhăn ở trên thôi. Em làm toán, cộng trừ nhân chia chưa vững thì làm sao đụng đến căn số, lũy thừa và những thứ cao cấp hơn? Còn chuyện cụ thể mình đang bàn ở đây là chuyện
thăm dò. Chưa thăm dò xong thì biết gì mà thâm nhập? Chỉ có mấy ông nhóc script kiddie mới chơi trò lôi ở đâu ra một cái tool rồi nhắm mắt, nhắm mũi mà phang đại thôi. Cái này y hệt như chuyện 'ping of death' đến Linux server mà anh đã kể thôi."
'docco' lên tiếng:
"È... èm... em thấy anh cáu là đúng nhưng anh thông cảm cho thằng Hưng và bọn em nha anh? Dù sao bọn em cũng còn trẻ, cũng còn bồng bột. Đâu có điềm đạm và kiên nhẫn như anh được. Riêng em thì em thấy mỗi điểm anh nói đều mở ra những điều mới mẻ mà em cần phải tham khảo, nghiên cứu và học hỏi. Không phải khái niệm "căn cơ, ngọn ngành" khó tiêu đâu anh mà là vì, đôi khi bọn em hơi thiếu kiên nhẫn tí thôi."
Tôi đáp lời:
"Hì hì, anh có cáu thì chỉ thoáng qua vậy thôi. Anh có 'care' thì mới cáu. Anh không 'care' thì không cáu."
Không khí trong phòng 'conference' trở nên ngột ngạt. Mọi người im lặng như thể chẳng ai còn chuyện gì để nói. Sau hồi lâu, tôi định lên tiếng thì đột nhiên 'cuti' phát biểu gọn lỏn:
"Đúng là 'anh già khó tính'."
Tôi không kềm được, phá lên cười:
"Hì hì hì."
rồi cả ba đứa 'cuti', 'ccxx' và 'docco' cũng cười rộ:
"Hi hi hi"
"Ha ha ha"
"Khẹc khẹc khẹc... tếu thật."
Không khí trở lại bình thường một cách nhanh chóng. Tôi lên tiếng:
"Bây giờ anh đề nghị mấy đứa làm một bài tập để lần sau mình nói chuyện dễ dàng hơn."
'ccxx' thốt lên:
"Bài tập?"
'cuti' nối tiếp:
"Bài tập gì đó anh?"
'docco' vẫn chậm rãi như mọi khi và hỏi sau cùng:
"Bài tập cho chuyện gì vậy anh?"
Tôi đáp:
"Nói là bài tập thì cũng không đúng. Thật ra nó chỉ là một vài điểm nhỏ cần tham khảo thôi. Anh muốn mấy đứa, nếu rảnh, nên tìm hiểu xem traceroute (trên UNIX) và tracert (trên Windows) làm việc ra sao. Chúng gởi cái gì đi và nhận cái gì về trong các trường hợp thông thường. Biên độ tìm hiểu sâu / rộng thế nào là tùy bọn em. Nếu siêng hơn nữa thì tìm hiểu (hoặc xem lại) thật kỹ cơ chế '3-way handshaking' của tcp. Đặc biệt chú tâm đến những đặc điểm: khi nào thì gói tcp dùng syn flag, khi nào dùng ack, khi nào dùng ack-psh, khi nào dùng fin, khi nào dùng rst... Nắm những cái này thì lần tới mình 'đà khía' sẽ thông suốt hơn."
Lần này 'docco' lên tiếng trước:
"Ái chà, anh có vẻ cụ thể hơn những lần trước rồi đây. Chắc là chuyện này có gì quan trọng nên anh yêu cầu bọn em tham khảo?"
Tôi đáp:
"Quan trọng thì kiến thức nào cũng quan trọng hết cả nhưng cụ thể trong nội dung mình đang bàn, anh muốn bọn em thấu đáo hơn bằng cách tham khảo thêm. Có vậy thì mới vui chớ?
).
'cuti' nói:
"Dạ, chuyện này dễ thôi mà. Để em lục trong kho e-book của em thế nào cũng có cả đống thông tin cho mà xem."
'ccxx' giận dỗi:
"Kìa, kìa, có cả 'kho' e-book mà dấu người ta phải hông? Sao hồi giờ giữ khư khư cái 'kho' đó vậy?
"
'cuti' biết ngay là cô bé Như đang dỗi, bèn cuốn quýt lên tiếng:
"Ùm.. è... anh đây có giấu Như hồi nào đâu à. Tại vì mỗi lần nói đến chuyện máy tính là Như gạt ngang đó thôi. Trời, cái gì anh còn 'dâng' hết cho Như được huống hồ chi mấy quyển e-book quèn đó?
"
'docco' xen vào trêu:
"Thôi thôi, hai ông bà muốn ca cải lương thì vô phòng kín mà ca dùm. Tui nghe "anh, anh, Như, Như" tự nhiên cứ nổi gai liên hồi đây."
Tôi cười, chêm thêm:
"Ừa, bây giờ anh cũng phải dọt luôn. Anh em mình chuồn đi Duy, để hai đứa nó cứ tha hồ mà "anh, anh, Như, Như" cho tiện. Khi nào rảnh mấy anh em mình lại đà khía hả? Chào mấy đứa."
Tôi logoff, thầm nghĩ "hèm... không biết mấy trự có chịu chuẩn bị gì cho lần tới không đây?"
17/10/2005