Article:
Đối thoại với Rookie - Phần chín: Information, what for ?
802
phananhvu.myopenid.com 125Over 4 years ago |
Không có một luật nào bắt buộc phải thao tác đúng từng
bước để phục vụ mục đích thăm dò cả. Tùy mục tiêu và tùy khả năng phòng
bị và thắt chặt của mục tiêu mà khai triển kế hoạch thăm dò cho thích
hợp. Có thể tóm gọn chúng lại thành ba phần chính:
- Tìm dấu ấn (footprinting) --> xác định mục tiêu tổng quát
- Rà quét (scanning) --> xác định các dịch vụ tổng quát
- Lấy số liệu cụ thể (enumerating) --> thu thập thông tin cụ thể.
[..] Một server chạy Linux bị dùng 'ping of death' để tấn công. Điều buồn cười là dạng 'ping of death' này dành cho Windows phiên bản cũ, bị lỗi ở phần giới hạn packet size của ICMP làm treo máy khi bị tấn công. Không hiểu sao nhóm này cứ hè nhau mà tấn công Linux server của anh bằng một thứ công cụ dành để tấn công Windows. Hơn nữa, Linux server này hoàn toàn cản mọi inbound ICMP và UDP. Các gói tin ICMP và UDP chỉ có thể đi vào khi chúng mang vai trò trả lời cho các request đi từ bên trong Linux server mà thôi. Điều này có nghĩa những gói ICMP họ 'tia' vào server của anh bị huỷ ngay khi đụng firewall. Vậy mà nhóm này vẫn nhắm mắt, nhắm mũi 'tia' đến mấy tiếng liên tục rồi mới chịu ngưng. Tất nhiên dạng tấn công như thế chẳng làm server suy suyển mảy may nào hết.
Xin xem phần mục lục của series này ở bài giới thiệu.
Information... What for?
Mấy tuần qua tôi quá bận rộn nên đã 'lờ' khá nhiều mail và
offline messages từ bộ ba 'cuti', 'haothu' và 'docco' và tất nhiên tôi
cũng lờ khá nhiều mail từ những người khác. Tôi được nghỉ bù liên tiếp
ba ngày (cộng với hai ngày cuối tuần là năm ngày). Dự định sẽ đưa gia
đình đi chơi đâu đó, không ngờ trời đổ mưa tầm tã cho nên đành phải
thúc thủ trong nhà. Tôi quyết định online để đọc mail, trả lời mail và
xem offline messages. Như dự đoán, tôi có hàng trăm email trong inbox
và hàng 'tấn' offline messages. Đang trong lúc thong thả đọc và trả lời
từng cái (đáng trả lời), YIM bỗng nhiên báo 'cuti' vừa vào. Tôi hết sức
ngạc nhiên vì lúc này bên VN mới có 7 giờ sáng. Không hiểu 'cuti' làm
gì mà mò vào YIM sáng tinh mơ như thế. Tôi bèn gởi anh chàng một
message: "Hello Hưng, làm gì mà mò lên đây sớm quá vậy?"
Trong tích tắc, tôi nhận được hồi báo: "Ui trời, hôm nay là ngày gì mà đặc biệt vậy? Sao giờ này anh lên đây, bộ anh không đi làm sao?"
Tôi đáp: "À, anh được mấy ngày nghỉ bù, định đi chơi đâu đó nhưng trời đang
mưa tầm tã nên lên web dạo chơi :). Còn em làm gì mà dậy sớm vậy?"
'cuti' trả lời có vẻ uể oải: "Dạ, đáng lẽ hôm nay em đi học nhưng bị cúm mấy hôm nay, trong
người còn thấy nhừ quá nên ở nhà. Em dậy hồi sớm à. Nằm hoài trong
giường buồn quá nên mò lên net chơi. Vậy anh em mình 'đà khía' lai rai
được hông anh?"
Tôi cười, đáp: "Nếu trời cứ mưa thì anh em mình tha hồ mà 'đà khía' nhưng trời
tạnh mưa thì anh sẽ dẫn mấy thằng nhóc đi chơi. Em muốn 'đà khía' gì
đây?"
'cuti' khoái chí: "Hi hi, em muốn trời mưa hoài. Anh em mình 'đà khía' chuyện gì mà
không được anh? Chuyện trên trời, dưới đất cho vui mà. À, em có một
chuyện cũng buồn cười lắm. Anh muốn nghe không?"
Tôi ngần ngừ: "Èm.. cũng tùy chuyện đó là chuyện gì nữa em. Nếu em nghĩ là anh thích nghe thì em kể đi."
'cuti' bẽn lẽn" "Cũng chẳng có gì đặc biệt đâu anh. Chuyện em với con 'ghệ' bồ đó mà."
Tôi đáp: "Ui trời, 'nàng tiên của lòng anh' mà sao gọi là 'con ghệ' vậy em? ;-)"
'cuti' cười, trả lời câu hỏi của tôi: "Anh không biết đó thôi, đó là cách gọi thân mật và âu yếm đó thôi mà."
Tôi trả lời: "Ái chà.. có lẽ anh lỗi thời rồi. Anh mà gọi bà xã anh là 'con
ghệ' thì chắc nguy to ;-). Ừa, em kể đi, có chuyện gì với 'con ghệ' mà
em có vẻ phấn khởi vậy?"
'cuti' bắt đầu: "Anh còn nhớ hồi bữa, lần cuối cùng bốn anh em mình 'đà khía'
hông? Thật ra hôm đó em có hẹn với 'con ghệ' nhưng em quyết định cho nó
leo cây. Ai biểu tắt di động làm chi, em gọi hoài không được nên..
xù."
Tôi thắc mắc: "Tắt di động là tắc thế nào em? anh không hiểu lắm."
'cuti' phát biểu: "Kiểu này anh phải về VN làm một khóa tu từ đi anh, 'di động' là điện thoại di động đó. Hì hì."
Tôi đáp: "À.. hoá ra là thế. Anh cứ ngỡ con mèo di động hay con chuột di động gì đó ;-)"
'cuti' tiếp tục: "Em phải dùng từ cẩn thận không thì lại bị anh kê cho. Tối hôm đó,
'con ghệ' đợi hoài không thấy em đến nên nổi 'khùng' lên. Điện thoại di
động em thì hết pin mà cũng chưa kịp sạc nữa. Thế là ẻm bèn phóng xe
đến nhà em. Chưa giáp mặt, đã mắng em xối xả vì em đã cho bả leo cây."
Tôi xen vào: "Vậy là tốt rồi, 'nường' còn chịu khó phóng xe đến nhà em để mắng thì không có gì trầm trọng. Rồi sao nữa."
'cuti' cười, nói tiếp: "Hì hì, anh không rõ đó thôi. Con bồ em tánh nóng như lửa, có gì
là huỵch toẹt ra hết. Lúc đó nghe thì cũng ngứa con ráy lắm nhưng riết
cũng quen. Nó buộc tội em là mê net, mê chat với 'con quỷ cái' nào đến
nỗi phải cho nó leo cây. Em cố sức phân trần nhưng không hiệu quả. Rốt
cuộc em phải cho nó xem nội dung mấy anh em mình 'đà khía' nó mới chịu
yên."
Tôi cười: "Hì hì, hoá ra trước đó em chưa hề kể cho 'con ghệ' nghe về mối quan hệ 'bất chính' của mấy anh em mình sao?"
'cuti' trả lời: "Dạ, em định kể cho nó nghe nhiều lần nhưng cứ mỗi lần đi chơi mà đề cập đến tin học, đến máy tính là nó gạt phăng đi. Nó nói "bộ ôm máy cả ngày, cả tuần chưa đã nư sao mà hễ mở miệng ra là máy tính, máy tính" nên em.. im luôn."
Tôi đáp: "Thú vị lắm. Vậy sau đó thế nào em?"
'cuti' cười hớn hở: "Dạ sau đó thì tụi em đi uống nước một chút rồi về. Lúc mấy anh em
mình kết thúc thì bên đây mới có 7 giờ tối chớ mấy anh. Thế là trong
lúc đi uống nước, 'con ghệ' cứ đem chuyện mấy anh em mình 'đà khía' ra
hỏi dồn. Em nói với nó là em có lưu lại nội dung anh em mình chat, để
em cho nó một bản để đọc cho khỏi thắc mắc."
Tôi đáp: "Ừa, con gái là chúa tò mò mà em. Cái gì càng dấu, càng thích tò mò ;-)."
'cuti' cười hi hi, rồi nói tiếp: "Chưa hết. Sau khi em đưa cho nó cái file chứa nội dung anh em
mình chat, mấy ngày sau nó nhất định đòi em phải giới thiệu anh cho nó.
Nó cũng muốn tham gia 'đà khía' với mấy anh em mình luôn. Em nói là em
sẽ chuyển lời nhưng em không hứa gì hết."
Tôi cười ghẹo 'cuti':
"Hì hì, được dịp trả đũa nên làm khó 'nường' hay sao đây? Hoá ra
là chuyện con bé muốn tham gia :). Thì cứ dẫn 'nường' lên 'đà khía'
chung chớ có gì quan trọng đâu em?"
'cuti' trả lời: "Em nói thiệt mà anh. Em không thể hứa gì nó vì em không biết hay sẽ nói gì. Lỡ may em đề nghị và anh phán con gái, con lứa mà bày vẽ, lắm chuyện thì có quê cả đám hông à."
Tôi đáp: "Có gì mà không ok em. Kêu nó tham gia cho vui chớ có sao đâu à."
"cuti" trả lời: "Dạ, để em báo cho nó biết. 'Con gái, con lứa' mệt lắm anh ơi, khi thế này, khi thế kia, chẳng biết đường nào mà mò."
Bên ngoài mưa đã ngớt. Tôi đoán mấy thằng nhóc của tôi sắp sửa vòi vĩnh chuyện đi chơi đây. Cho nên tôi cho 'cuti' biết: "Có lẽ anh sẽ đi chơi với mấy thằng nhóc. Trời bên này đã tạnh mưa
rồi em. Chiều tối nay anh ở nhà, nếu thích em rủ đám Khoa, Duy và 'con
ghệ' vào đà khía cho vui."
"cuti" hớn hở: "Dạ, vậy thì vui quá. Em bệnh nằm nhà hoài chán quá. Được đà khía
vậy thì quá đã. Để em điện cho tụi nó liền. Vậy khoảng mấy giờ anh
lên?"
Tôi phỏng chừng: "Anh đoán khoảng 4, 5 giờ chiều bên em đó, có tiện không?"
'cuti' chậc lưỡi đáp: "Chậc chậc.. hơi kẹt đó anh. Bọn em thì dễ nhưng con Như chắc kẹt
vì em đoán giờ đó nó phải nấu cơm chiều rồi. Thôi kệ nó vậy. Khi khác
cho nó tham gia cũng được."
Tôi 'chỉnh' 'cuti': "Hèm.. nó là girl friend của em mà cứ 'con' với 'nó' nghe hông
'ngọt' tí nào hết em. Vậy ngày mai khoảng 2 giờ trưa bên em được hông?"
'cuti" trả lời: "Dạ, 2 giờ trưa thì chắc ok rồi anh. Nó có lên trễ một tí cũng
không sao. Còn chuyện 'nó' với 'con' em bị quen miệng rồi anh ơi. Gọi
thế nào cho ổn đây anh?"
Tôi đáp: "Kêu bằng tên đi em và cũng không cần phải đệm thêm chữ 'con' :). Rồi, 2 giờ trưa bên em hả? Anh đi đây."
'cuti' phàn nàn: "Dạ chào anh. Đúng là anh già khó tính, thêm chữ 'con' cũng không được ;-)."
Tôi logoff.
Chiều hôm sau, như đã hẹn, tôi lại logon YIM. Khi vào, tôi thấy
hai khuôn mặt 'vàng khè' của 'cuti' và 'docco' cộng thêm một 'request
for accept' của một người có cái nick khá ngộ nghĩnh và bí hiểm là ccxx
kèm theo thông điệp ngắn gọn: "Dạ em là Như đây, bạn của Hưng, Khoa và
Duy đó anh. Anh add em được không ạ?". Hiển nhiên là 'cô bồ' của 'cuti'
nhà mình. Tôi nhấn nút "accept" và một khuôn mặt 'vàng khè' trên cái
nick ccxx hiện ra trên danh sách YIM của tôi. Chẳng thấy 'haothu' đâu
cả, hay anh chàng đang 'invisible'? Trong tích tắc, một "conference invitation" được ccxx gởi đến.
Trong khi nhấn nút "Accept", tôi thầm nghĩ "chà, cô bé này có vẻ nhậm
lẹ đây". Trong 'conference room' có 'cuti', 'docco' và 'ccxx' nhưng chẳng thấy bóng dáng 'haothu' đâu cả. 'ccxx' lên tiếng: "Chào 'anh già khó tính' ạ. Em xin tự giới thiệu em là Như. Rất vui được làm quen với anh."
Tôi mỉm người, tự nhủ "con bé liếng quả nhỉ" và đáp lễ: "Chào Như, cũng bắt chước cu Hưng gọi anh là 'anh già khó tính' sao? Còn 'haothu' đâu rồi mấy đứa?"
'ccxx' trả lời lẹ làng: "Dạ, em nghe nói nó bị kẹt. Không rõ bị kẹt gì mà không online được anh."
Lúc này 'cuti' và 'docco' mới lên tiếng: "Chào anh già khó tính, anh đi chơi với mấy nhóc có vui không?"
"Chào anh D, mới có vài tuần mà em thấy như hàng tháng vậy. Anh khoẻ không?"
Tôi đáp: "Ừa, đi chơi cũng vui lắm em. Anh cũng khỏe, còn em dạo này sao Duy?"
'docco' trả lời: "Dạ em cũng bình thường anh. Dạo này em đọc nhiều hơn và ít đi chơi hơn :)"
Tôi đáp: "Tốt quá vậy? Anh tin là em 'luyện' được mấy 'tầng nội công' rồi
đó :). Ừa, nãy giờ anh thử đoán cái nick ccxx là cái gì. Anh nghĩ là
đoán đúng hông chừng."
'ccxx' cười khoái chí: "Anh đoán ra được em phục lăn liền đó. Hồi giờ chưa có ai đoán ra được cái 'bí ẩn' đằng sau cái nick này đó anh."
Tôi cười, đáp: "Ừa, nếu vậy dám anh đoán sai lắm đó. Anh nghĩ ccxx là 'công chúa xấu xí' phải không?"
Cả ba 'cuti', 'docco' và 'ccxx' cùng trả lời gần một lượt:
"Ồ"
"wow"
"độc thiệt"
và 'ccxx' nói tiếp: "Sao anh đoán một cái là trúng phóc liền dzị? Em thiệt là phục lăn
đó. Mấy người trên mạng toàn liên tưởng cái nick của em đến những thứ
bậy bạ không à."
Tôi đáp: "Chắc là mấy 'anh chàng' trên mạng đoán được nhưng không dám nói,
sợ em giận vì nó có hai chữ 'xấu xí' bên trong. Anh nhìn qua chữ ccxx
tự nhiên anh liên tưởng ngay đến 'công chúa xấu xí' liền. Nhưng mà,
ccxx có gì mà liên tưởng đến những thứ bậy bạ vậy em?"
'ccxx' phụng phịu: "Anh không biết đó thôi. cc là credit card chùa đó anh, còn xx là
mấy thứ.. ùm.. à.. tầm bậy tầm bạ đó. Thôi, em không nói nữa. À
nhưng mà anh không sợ em giận sao mà nói thẳng hai chữ 'xấu xí' dzị?
:)"
'docco' xen vào: "Thì xấu thì chấp nhận xấu chớ có gì mà giận cà."
'ccxx' phản công: "Còn ông nữa, còn chừng ông nghe ông."
Tôi cắt ngang: "Hì hì, anh nghĩ hai chữ 'xấu xí' đó thật ra hàm chứa một chút
kiêu hãnh ngầm đó thôi. Có ai tự cho mình 'xấu xí' bao giờ? Nếu có thì
cũng 'ngầm' khen mình 'xinh đẹp' ;-). Bởi vậy, anh chẳng ngại nói ra
hai chữ này. Riêng với những người liên tưởng cái nick của em thành
những thứ bậy bạ thì chính họ thiệt thòi thôi. Đừng để ý làm gì."
'ccxx' thốt: "Kinh khủng, kinh khủng. Em đọc những lời anh đối thoại với đám
Hưng, Khoa, Duy đã thấy miệng lưỡi của anh kinh khủng. Giờ trực tiếp
nói chuyện mới thấy quả là không sai :). Thôi, em nghĩ ngoài việc 'đà
khía' chuyện tin học, máy tính, anh nên huấn luyện ông Duy một khoá 'ái
tìn' đi anh. Ông này cũng tốt mã, học giỏi mà sao vẫn chưa có một
'miểng tìn rách rưới' nào hết. Em bảo đảm anh huấn luyện cho ổng một
khoá là thành công ngay."
'docco' luống cuống: "Thôi.. thôi.. đi bà. Cho tui xin mà. Nhưng không cái gì mà 'tìn tìn' trong này. Thôi anh, mình nói chuyện tin học vui hơn."
'ccxx' cười ré lên: "hi hi hi, tui đoán mặt ông Duy lúc này đang đỏ như 'mặt trời bé
con' đó. Thôi, tha cho ông một lần đó. Vậy mấy anh em mình nói chuyện
gì đây?"
'cuti' lúc này mới lên tiếng: "Anh thấy.. anh thấy Như hoạt bát hông anh? Hay để Như chọn đề tài được đó."
Tôi cười, đáp: "Hì hì, anh thấy 'nhà' em hoạt bát lắm, muốn 'lăng xê' nàng liền hả? Hy vọng sẽ có nhiều chuyện lý thú đây :)."
'ccxx' phát biểu một câu thật ngắn rồi bỏ dở: "Em công nhận anh nói chuyện 'kinh' thiệt.
'docco' cười thích thú: "Hi hi, cám ơn anh D gỡ dùm em một quả. Em dám chắc lúc này mặt bà Như đỏ hơn 'mặt trời bé cha' nữa ;-)"
Chỉ qua vài câu đối thoại, bọn tôi đã trở nên thoải mái như đã
quen thân nhau từ lâu. 'docco' hình như muốn cắt ngắn những chuyện cà
rỡn để bắt đầu 'đà khía' những chuyện cu cậu thắc mắc. 'docco' lên
tiếng: "Thôi, 'đả qua đả lại' một hồi coi chừng thế chiến thứ III bắt đầu bây giờ. Mình nói chuyện khác đi hả bà con?"
'docco' nói tiếp: "Em có tham khảo qua các vấn đề thuộc về reconnaissance rồi đó anh
nhưng em thấy có nhiều điểm lờ mờ quá. Em thấy có cái thì gọi là
'enumeration', cái thì gọi là 'interrogation', cái lại gọi là
"reconnaissance". Em thử so sánh thì thấy rằng chúng cùng phục vụ cho
mục đích thăm dò. Vậy cái nào là cái nào đây anh?"
Tôi cười, đáp: "Hì hì, nhảy ngay vào kỹ thuật hả? Chắc em sợ mình lại 'lạc đề'
sang những chuyện khác chớ gì? Đúng là những thuật ngữ em liệt kê ra ở
đây đều tựu trung vào tinh thần chung: thăm dò. Reconnaissance
dịch sát nghĩa là 'khai thác thông tin' và 'interrogate' và 'enumerate'
dính líu trong tiến trình khai thác này. Trong đó, 'interrogate' dịch
sát nghĩa là 'hạch hỏi' và 'enumerate' là 'đếm'. Nắm được những thuật
ngữ này cũng có ích để hiểu sâu từng phân đoạn của quá trình thăm dò.
Tuy nhiên, nếu em cảm thấy bối rối với những thuật ngữ này thì khoan
hẵng tìm cách 'dịch' chúng sang tiếng Việt vì có những từ dịch không
được hoặc không đủ lột tả tinh thần. Cứ tiếp nhận chúng như những thuật
ngữ vậy thôi. Sau này em sẽ rõ hơn."
'ccxx' xen vào: "Thôi để anh già và Duy đối thoại hén? Em với Hưng ngồi nghe. Có gì thắc mắc bọn em tham gia sau."
'docco' trả lời gọn lỏn: "Ừa, vậy càng tốt. Đỡ bị loãng."
Rồi hỏi tiếp: "Vậy tóm lại quá trình thăm dò bao gồm những bước chính nào vậy anh? Và tại sao phải thực hiện những bước này?"
Tôi đáp: "Đáng lẽ ra anh phải hỏi em câu hỏi này để giúp em tổng hợp những
gì em đã đọc. Tuy nhiên, em có vẻ khá bối rối với những thuật ngữ kia.
Anh e rằng em đang rối.. tùng phè lên trong đó nên để anh tóm tắt luôn
vậy. Thật ra không có một luật nào bắt buộc phải thao tác đúng từng
bước để phục vụ mục đích thăm dò cả. Tùy mục tiêu và tùy khả năng phòng
bị và thắt chặt của mục tiêu mà khai triển kế hoạch thăm dò cho thích
hợp. Anh nghĩ mình có thể tóm gọn chúng lại thành ba phần chính:
- Tìm dấu ấn (footprinting) --> xác định mục tiêu tổng quát
- Rà quét (scanning) --> xác định các dịch vụ tổng quát
- Lấy số liệu cụ thể (enumerating) --> thu thập thông tin cụ thể.
Em thử suy luận xem, tại sao phải tìm dấu ấn? tại sao phải rà quét và tại sao phải thu thập thông tin cụ thể?"
'docco' rụt rè: "Dạ.. em nói đại nghe? Tìm dấu ấn để xác định hệ điều hành nào
mình đang đối diện nhằm thu hẹp biên độ dò tìm và khai triển bước kế
tiếp được chính xác hơn. Còn rà quét thì em nghĩ.. đã tiến tới một
bước rất cụ thể là tìm xem có những dịch vụ nào đang được cung cấp trên
mục tiêu mình muốn thăm dò để thiết lập kế hoạch thâm nhập. Còn lấy số
liệu cụ thể.. ùmm.. à.. em không biết nữa."
Tôi cười, cổ vũ 'docco': "Em trả lời hai phần đầu vậy là súc tích và chính xác lắm rồi. Tất
nhiên phần thứ ba là phần lấy kết quả, là phần kết thúc quá trình thăm
dò chớ còn gì nữa em? Bước này càng cụ thể hơn bước thứ nhì là mình
dùng nó để thiết lập bước thâm nhập. Vậy mình có thể thêm vào bảng liệt kê ở trên như sau:
- Tìm dấu ấn (footprinting) --> xác định mục tiêu tổng quát --> thu hẹp biên độ thăm dò
- Rà quét (scanning) --> xác định các dịch vụ tổng quát --> thiết lập kế hoạch thâm nhập
- Lấy số liệu cụ thể (enumerating) --> thu thập thông tin cụ thể --> thiết lập bước thâm nhập
Em thấy có gì đặc biệt với bảng liệt kê này không?"
'ccxx' xen vào: "Càng lúc càng cụ thể phải không anh?"
Tôi đáp: "Đúng rồi đó em. Càng lúc càng cụ thể và càng cụ thể càng tốt.
Thật ra 3 'bước' ở trên có thể kết hợp lại thành 1 'bước', cũng có thể
tách rời ra làm 2 'bước' hoặc mở rộng ra thành.. mấy chục bước. Với
mục đích dò tìm thông tin thì miễn sao tìm được thông tin cụ thể và
chính xác là được, không nhất thiết phải theo.. 'bước'."
'cuti' thắc mắc: "Nhưng tại sao tìm footprint lại quan trọng thế anh? Em thấy một
web server apache chạy trên Windows 2000 và một web server apache chạy
trên Linux đâu có khác gì đâu anh?"
Tôi đáp: "Nếu nhìn một cách tổng quát trên phương diện người dùng thì nhận
định của em không sai nhưng nếu xét cẩn thận về mặt kỹ thuật thì nhận
định của em chưa.. hoàn toàn đúng. Trên phương diện người dùng, cả
hai apache (em đưa ra) đều nhận request, xử lý request, đều có thể gắn
với asp, jsp, php, cgi.. để tạo trang động nhưng xét cho cặn kẽ thì cơ
chế quản lý bộ nhớ lẫn cơ chế điều tác process trên hai hệ điều hành
khác nhau rất xa. Những khác biệt này dẫn tới chiến lược phòng thủ hay
tấn công rất khác nhau. Việc nhận diện dấu ấn của mục tiêu không chỉ
giúp giới hạn biên độ thăm dò và khai thác mà nó còn trực tiếp ảnh
hưởng đến việc:
- Quyết định 'tấn công' hay 'rút lui' (nói theo phương diện tấn công) hoặc,
- Quyết định 'thắt chặt thêm' hay 'xây dựng lại từ đầu' (nói theo phương diện phòng thủ)."
'cuti' vẫn thắc mắc: "Em vẫn thấy vấn đề này hơi mù mờ đó anh. Nếu cần tấn công một
webserver apache có chạy php chẳng hạn thì cũng bấy nhiêu kỹ thuật như
sql inject, xss.. vậy thì chạy trên Windows hay trên *nix đâu có khác
gì?"
Tôi trả lời: "Em nói đúng nhưng cái đúng này bị áp đặt trong một giới hạn khá
hẹp. Tấn công và thâm nhập một dịch vụ (web chẳng hạn) không chỉ dừng
lại ở sql inject và xss. Đây là những kỹ thuật phổ biến và dễ thực
hiện, hơn nữa những lỗi này lại thường thấy nên thường được chú trọng.
Nếu 'tấn công' chỉ dừng lại ở chỗ 'chôm' được admin password của một
forum hay đưa lên một thông điệp trên một trang web để 'deface' thì mấy
kỹ thuật em đề cập đã đủ dùng. Nếu thế thì phạm vi reconnaissance ở đây
rất nhỏ hoặc không cần thiết nữa. Những điều anh đưa ra ở đây có thể
dùng để ứng dụng nhiều khả năng và kỹ thuật thâm nhập hơn nữa, cho nên
reconnaissance trở nên cần thiết. Ví dụ, em muốn chạy shellcode đến
dịch vụ web của server để lấy một cái 'shell' cho mục đích thâm nhập
sâu hơn nhưng không xác định chính xác hệ điều hành của mục tiêu thâm
nhập là gì thì không có cách gì tạo shellcode được. Lý do, shellcode
của mỗi hệ điều hành mỗi khác. Nếu mục tiêu thâm nhập càng sâu thì quá trình reconnaisance đòi
hỏi càng phải cẩn thận và chi tiết. Ngay cả những 'màn' tấn công thuộc
loại 'dơ' như DoS chẳng hạn, để thực sự 'giết' mục tiêu mình muốn DoS,
em phải hiểu rất rõ điểm yếu của hệ điều hành và dịch vụ đang chạy. DoS
'giết' một Windows server chạy Apache + php (dùng prefork) và không có
database connection pool nhanh hơn DoS 'giết' một Linux server chạy
Apache + jsp (dùng worker) và có connection pool hẳn hòi. Những chi
tiết này ở đâu ra? Đó chính là kết quả quả 'reconnaissance' đó em. Năm ngoái, một server do anh quản lý (chạy Linux) bị mấy 'ông
thần' nào đó dùng 'ping of death' để tấn công. Điều buồn cười là dạng
'ping of death' này dành cho Windows phiên bản cũ, bị lỗi ở phần giới
hạn packet size của ICMP làm treo máy khi bị tấn công. Anh không hiểu
sao nhóm này cứ hè nhau mà tấn công Linux server của anh bằng một thứ
công cụ dành để tấn công Windows. Hơn nữa, Linux server của anh hoàn
toàn cản mọi inbound ICMP và UDP. Các gói tin ICMP và UDP chỉ có thể đi
vào khi chúng mang vai trò trả lời cho các request đi từ bên trong
Linux server mà thôi. Điều này có nghĩa những gói ICMP họ 'tia' vào
server của anh bị huỷ ngay khi đụng firewall. Vậy mà nhóm này vẫn nhắm
mắt, nhắm mũi 'tia' đến mấy tiếng liên tục rồi mới chịu ngưng. Tất
nhiên dạng tấn công như thế chẳng làm suy suyển server của anh mảy may
nào hết. Điều đáng nói là nguồn tấn công hoàn toàn đi từ VN ra và điều
đáng buồn là những 'ông thần' này không thèm tìm hiểu xem 'ping of
death' là gì, thật sự đã tạo ra tác hại gì đến server của anh không. Có
lẽ mấy 'ông thần' này tìm đâu ra mấy cái script viết sẵn trên Internet
rồi hè nhau mà 'ria' vào server của anh chăng?"
'docco' lè lưỡi (một biểu tượng được dùng trên YIM) rồi lên tiếng: "Ái chà, bây giờ em mới hiểu lý do tại sao reconnaissance lại quan
trọng như thế. Lúc đọc tài liệu, em cứ ngỡ đây là những bước cần phải
làm cho đúng nguyên tắc và chẳng thấy có phân tích mấu chốt của
reconnaissance là gì hết. Em cũng có đọc sơ sơ qua về shellcoding và
thấy hoàn toàn mù tịt. Còn chuyện mấy 'ông thần' tìm đồ chơi trên mạng
rồi đi 'ria' là chuyện thường ngày mà anh? :)"
Tôi đáp: "Anh nghĩ sách vở thường giới thiệu những điểm chung nhất và dễ
tiếp nhận nhất. Sau khi thử nghiệm, tự nhiên em sẽ 'ngộ' ra lý do của
từng phân đoạn trong cả một quá trình thực hiện. Những người càng kinh
nghiệm về bảo mật thì bước thăm dò của họ càng chiếm nhiều thời gian.
Đối với một kẻ có chủ trương 'tấn công', hắn phải dò xét hết sức cẩn
thận trước khi bắt tay vào thực hiện ý định của mình để đạt được mục
đích, ít tốn thời gian, ít có cơ hội bị.. tóm. Cũng lắm lúc, kẻ này bỏ
cuộc vì sau khi dò xét cẩn thận, hắn cảm thấy không đáng để mất thời
gian. Đối với người phòng thủ, quá trình 'dò xét' lại càng khó hơn bởi
vì người phòng thủ phải đặt mình vào vị trí khách quan, phải test hệ
thống của mình y như một 'black box' thật sự rồi từ đó mới đi đến việc
kiện toàn bảo mật."
'cuti' nhận xét: "Nhưng làm sao mình có thể dò xét ra một server nào đó đang chạy
Windows, dùng php và dùng prefork chớ không phải nó đang chạy Linux,
dùng jsp và dùng worker vậy anh? Bộ 'reconnaissance' có thể cung cấp
thông tin ở mức độ này luôn sao?"
Tôi cười, đáp: "Cái này tùy vào khả năng thăm dò của em. Có nhiều yếu tố để giúp
em đi đến chỗ kết luận là mục tiêu thăm dò của em có cái gì. Bởi vậy,
như anh đã nói, giai đoạn reconnaissance có thể là giai đoạn mất thời
gian nhất. Riêng chi tiết Windows chạy apache với php hay Linux chạy
apache với jsp thì phần lớn em cần có một số kiến thức và dùng khả năng
suy luận để đưa về một kết luận nào đó có lý nhất."
'cuti' càng thêm tò mò: "Vậy có nghĩa là sao anh? anh nói sâu hơn một tí được không anh?"
Tôi đáp: "Hèm.. ok, để anh thử tóm gọn xem sao. Nếu em rành php, em hẳn
biết là php trước phiên bản 5.x hoàn toàn không thread-safe. Ngay cả
những người đang dùng php 5.x không không mấy ai 'dám' dùng ở chế độ
'thread-safe' cả. Nếu em dò một website và biết rằng nó chạy bằng php
trên apache, em có thể đoán 99% là nó chạy ở chế độ prefork. Nếu em
chịu khó dò thêm footprint của hệ điều hành và xác định được nó chạy
trên Windows server thì em có thể xác định nó chạy php trên apache với chế độ prefork.
Tương tự, nếu em dò một website và biết nó chạy bằng jsp, em có thể
đoán 99% là nó chạy ở chế độ worker. Nếu xác định được thêm hệ điều
hành là Linux thì em càng có thể khẳng định nó chạy jsp trên apache với chế độ worker.
Tất nhiên, thu thập càng nhiều thông tin, càng giúp em khẳng định phỏng
đoán của em chính xác và để thu thập nhiều thông tin thì
'reconnaissance' càng mất thời gian là vậy. Nên nhớ là luôn luôn có
những sai số trong 'reconnaissance' vì người phòng thủ cố tình dấu
footprint hoặc đánh lừa các công cụ em dùng để lấy footprint. Những sai
số này càng nhiều thì kết quả càng ít đáng tin cậy."
'cuti' gật gù: "Hoá ra đây là cả một nghệ thuật chớ chẳng đùa. Những kiến thức và
kinh nghiệm cho việc xác định 'nó' chạy php hay jsp cũng đủ đã điên cái
đầu rồi. Dân không đụng những chuyện này thì biết đường nào mà mò anh?
Như vậy rõ ràng kiến thức có sẵn tuyệt đối quan trọng. Nếu không có thì
ngay cả việc thăm dò cũng không thể được. Biết gì mà thăm dò?"
Lần này 'ccxx' góp chuyện: "Thì bởi, em đọc những mẩu đối thoại của anh già khó tính và mấy
ông tướng này, em thấy anh nhấn mạnh rất nhiều lần cái gọi là 'ngọn
ngành'. Những mẩu thông tin nho nhỏ đều đi từ 'ngọn ngành' ra phải
không anh?"
Tôi cười, đáp: "Đúng đó 'công chúa xinh đẹp' :). Anh có lặp đi lặp lại nhiều lần:
'muốn bảo vệ hay tấn công, mình phải nắm rõ mục tiêu' là vậy đó.
'reconnaissance' chính là bước để giúp 'nắm rõ mục tiêu' ở khuôn khổ
'blackbox' vậy."
'docco' xen vào hỏi thêm: "Khái niệm 'blackbox' là sao anh? Với lại 'prefork' khác gì với 'worker' vậy anh?"
Tôi đáp: "Em chưa từng nghe qua 'blackbox' và 'whitebox' sao? Sẵn đây mình
nên làm quen với khái niệm này luôn. 'blackbox' chỉ cho hoàn cảnh thử
nghiệm một server mình hoàn toàn không biết gì về nó; mình chỉ ở bên
ngoài, chọc ngoáy nó để tìm thông tin mà thôi. Trong khi đó, 'whitebox'
là một server mình nắm rõ nó có những gì, nó hoạt động ra sao và cung
cấp những gì. Những công ty tư vấn về bảo mật thường thử nghiệm độ bảo
mật của hệ thống theo dạng 'blackbox' là chính. Họ không biết gì về hệ
thống của khách hàng cả nhưng họ vận dụng mọi phương tiện để thẩm định
độ bảo mật của hệ thống này. Sau khi hoàn thành giai đoạn 'blackbox'
rồi họ mới đi đến giai đoạn 'whitebox' và mới giới thiệu phương án
phòng thủ. 'Whitebox' test thường dùng để thử nghiệm tính năng và hoạt
động của hệ thống dựa trên một số thước đo nào đó. Riêng 'prefork' và 'worker' thì thế này. Đúng ra mình phải dùng
thuật ngữ 'process' và 'thread' thì thích hợp với tinh thần mình bàn ở
đây hơn. Lý do anh dùng 'prefork' và 'worker' là vì mình đang nói về
webserver apache và những thuật ngữ này là những thuật ngữ của apache.
'prefork' là cơ chế xử lý request của apache bằng cách tạo process.
Process thì thường nặng nề, tốn tài nguyên và kém hiệu xuất nhưng được
một điểm là rất bền, ít bị sự cố. Trong khi đó, 'worker' là cơ chế xử
lý request của apache bằng cách tạo thread. Thread thì nhẹ
nhàng, ít hao tốn tài nguyên hơn, hiệu xuất hơn nhưng lại có nhược điểm
là kém bền bỉ, dễ bị sự cố. Nói trên bình diện bảo mật và đặc biệt là
tính hiệu xuất cũng nhưng tính bền bỉ của một dịch vụ, mỗi chọn lựa đều
có điểm ưu và khuyết. Tuỳ nhu cầu và hoàn cảnh mà chọn cho thích hợp."
'cuti' diễu: "He he, đừng bắt bọn em phải học kỹ về thread và process đó nha anh. Chết tụi em đó :)"
Tôi đáp: "Lại 'bắt' ;-). Anh chẳng bao giờ 'bắt' em phải làm gì cả. Đến một
lúc nào đó, tự nhiên em cảm thấy cần phải hiểu về 'thread' và 'process'
thì tự nhiên em tìm hiểu thôi. Lúc ấy anh có 'bắt' em không tìm hiểu cũng chả được. Nói đùa vậy thôi, nếu siêng,
em nên tìm hiểu dần dần về 'thread' và 'process'. Theo anh, đây là một
trong những 'đơn vị' nền tảng của những điều em đang làm quen đó."
'docco' cảm thán: "Không ngờ từ chuyện này lại dẫn đến bao nhiêu là chuyện khác.
Đúng là 'bể học mênh mông, dục tốc bất đạt' thật không sai tí nào."
Tôi cười, động viên 'docco': "Thong thả thôi em, việc gì phải 'dục tốc' để rồi 'bất đạt'? Đừng tham quá mà đi đến chỗ 'bội thực' mà thôi."
'docco' hỏi tiếp: "Vậy khái niệm 'active' và 'passive' recconnaissance mà anh đề cập lần trước liên quan thế nào đến 3 bước ở trên vậy anh?"
Tôi ngẫm nghĩ "chà, các 'bước' là các bước còn 'active' hay 'passive' là dạng. Làm thế nào để cu cậu đừng lẫn lộn đây nhỉ?", thế rồi tôi trả lời: "Thế này, 'active' hay 'passive' là các dạng thăm dò, còn 3 bước ở trên là cụ thể các bước khai triển. Em có thể dùng dạng 'active' hoặc 'passive' hoặc cả hai dạng này để thực hiện 3 bước ở trên. Đây là mối liên quan mà em thắc mắc đó."
'cuti' nhanh nhảu: "Vậy.. ví dụ bước một, khi nào mình dùng 'active', khi nào mình dùng 'passive' anh?"
Tôi hỏi ngược lại: "Vậy em còn nhớ mục đích của việc dùng 'active' và 'passive' để thăm dò không?"
'cuti' đáp: "Dạ nhớ chớ anh. 'ative' chính xác hơn nhưng ít kín đáo hơn.
'passive' kín đáo hơn nhưng ít chính xác hơn. Nhưng ý em là trong lúc
tìm footprint, khi nào thì thao tác 'passive', khi nào thì dùng
'active' đó mà."
Tôi chỉnh 'cuti' ngay vì không chịu suy nghĩ mà chỉ hỏi 'trơn': "Em vừa trả lời ngay câu hỏi của em đó thôi. Nếu đã nắm được 'ative' chính xác hơn nhưng ít kín đáo hơn. 'passive' kín đáo hơn nhưng ít chính xác hơn thì tại sao không dùng nó mà ứng dụng? Anh nghĩ em nên động não hơn một tí đó Hưng."
'ccxx' xen vào: "Anh nói đúng đó, ông Hưng này có cái tật dễ thì đâm lười đó anh.
Anh quay ổng như 'dế' thì ổng sẽ động não thôi, đừng trả lời mọi câu
hỏi của ổng là cách hay nhất. Em biết lắm mà :)."
Tôi cười, đáp: "Ừa, em mà không biết cu Hưng 'lắm' thì còn ai biết nữa em? Thôi.. em 'quay nó như dế' dùm anh nha?"
'ccxx' cười thích chí: "Hi hi hi, anh hông biết đó thôi, em quay ổng như cơm bữa mà không thì 'dễ hoá lười' liền thôi."
'docco' có vẻ bồn chồn với những đối thoại thuộc dạng chit chat, cu cậu xen vào: "E hèm.. hơi bị.. lạc đề á. Anh già ơi, cho em hỏi thêm cái này
nha? Có bao nhiêu cách để xác định footprint vậy anh? Em đọc sách thấy
có khá nhiều công cụ, vậy theo anh mình nên dùng cái nào?"
Tôi đáp: "Anh không thể nói rõ có bao nhiêu cách vì anh không biết
thật sự có bao nhiêu cách. Cái này tùy vào tính linh động và khả năng
sáng tạo thôi em. Anh cũng không thể trả lời em là nên dùng công cụ
nào. Chỉ có chính em tự tay dùng rồi chọn lấy một hoặc nhiều công cụ em
thích mà thôi. Có những công cụ 'gom' luôn các công đoạn xác định hệ
điều hành, xác định các dịch vụ đang chạy (open ports) thậm chí lấy
luôn cả phiên bản của software cung cấp dịch vụ. Tuy nhiên, công cụ nào
cũng có ưu khuyết điểm cả. Ví dụ nmap là một port scanner rất
độc đáo, nó có thể thực hiện ba điều ở trên cùng một lúc nhưng nếu dùng
không đúng mức thì nó sẽ rất 'ồn ào' vì nó không những 'active' mà
'extremely active'. Những hệ thống có trang bị IDS, IPS sẽ phát hiện
ngay là có nmap đang dò dẫm và đây là điều bất lợi cho việc thăm dò."
'docco' phát biểu: "À, vậy nmap là công cụ thuộc dạng 'active' rồi. Em phải ghi nhớ chuyện này."
Tôi cười, nói: "Không hẳn là như vậy đâu em. Anh nói là nếu dùng không đúng mức thì nó sẽ rất 'ồn ào'
cơ mà. Nếu em dùng nó đúng mức, nó không còn 'extremely active' nữa. Nó
không phải 'passive' nhưng cũng không hẳn là 'active' bởi vì em không
tạo ra nhiều 'tiếng ồn' trong khi rà (nếu dùng đúng mức)."
'cuti' cảm thán: "Chẹp.. chỉ có chuyện 'rà' không mà cũng lắm nguyên tắc và công phu đến thế. Chắc lại phải học thêm nmap roài."
Tôi đáp: "Em có vẻ bồn chồn với chuyện làm quen với những công cụ mới hay
sao vậy Hưng? người ta viết hàng ngàn dòng code, xây dựng hàng trăm
signature, viết manual sẵn. Em chỉ có việc đọc và dùng mà còn rên rỉ
sao em? Kiểu này bắt đầu nguy rồi đó."
'cuti' đính chính lia lịa: "Hông, hông có đâu anh. Em thức sáng đêm để quậy còn được mà. Ý em
sau mỗi lần nói chuyện với anh là có thêm hàng loạt thông tin mới, cả
đống công cụ mới để thử, để làm quen. Em cảm thấy có một phần sức ép
nào đó để đuổi bắt với thông tin anh đưa ra thôi anh."
Tôi cười: "Hì hì, vậy em còn muốn 'hack' không? Anh cũng cảm thấy điều đó
nên mấy anh em mình 'đà khía' ít thường xuyên hơn là thế. Em không nên
nghĩ và tự tạo sức ép cho mình là phải thông thạo, phải nắm vững các
thông tin mới mẻ ngay lập tức. Từ từ, thong thả thôi em."
'docco' hỏi tiếp: "Hồi nãy anh nói đến vấn đề 'ồn', ồn ở đây là những dấu hiệu mà hệ thống phát hiện phải không anh?"
Tôi đáp: "Đúng rồi đó em. 'Ồn' ở đây chính là những thông tin được ghi nhận
trong các log files của hệ thống hay các hệ thống phát hiện gần như
'real time' như IDS/IPS đó. Mỗi dạng thăm dò thường có tính chất đặc
thù và những đặc thù đó được ghi nhận trên các hệ thống phòng thủ, còn
gọi là 'signature'. Nếu admin của hệ thống ấy bất thình lình thấy có
hàng loạt cú 'rà' trên hệ thống của mình thì coi như mục đích thăm dò
và thâm nhập của ai đó bị hỏng. Nếu admin không nhận thấy những dấu
hiệu này mà IDS/IPS nhận thấy thì tình hình cũng chẳng khác gì mấy.
Không riêng gì nmap mà tất cả các software em dùng, cái nào cũng 'ồn'
cả thôi. Chỉ có cái khác là em 'thấy' hay 'không thấy' được cái 'ồn' đó
thôi :). Để rà một máy con của một người đang duyệt web thì chẳng phải
lo mấy đến cái 'ồn' cả vì họ hiếm khi 'thấy' được sự 'ồn' đó. Tuy
nhiên, để rà và thăm dò một máy chủ, một mục tiêu đáng để thâm nhập hay đáng để bảo vệ thì mỗi chi tiết 'ồn' đều là dấu hiệu quan trọng."
'ccxx' thắc mắc: "Để khỏi bị 'ồn', mình không cần thăm dò kỹ mà chỉ tấn công thẳng vào dịch vụ web thì sao anh?"
Tôi cười, đáp: "Thì mình nắm phần thất bại nhiều hơn là thành công 'công chúa xinh đẹp' ạ."
'ccxx' phụng phịu: "Ứ ừ, em hỏi thật mà anh cứ đùa hoài."
Tôi cười phá lên và tiếp tục: "Á à, anh trả lời thật mà em cứ ngỡ anh đùa hoài. Mình tấn công
thẳng vào dịch vụ web là tấn công thế nào em? Mình không nắm được nó
mạnh, yếu chỗ nào thì mình chỉ 'đấm đá' kiểu 'bịt mắt' thôi thì có
trúng trật vào đâu nào? Cái này cũng giống như trường hợp 'ping of
death' anh nói hồi nãy thôi em. Nó cũng giống như muốn đục cánh cửa sắt
của két tiền mà cứ dùng dùi đục bằng gỗ mà phang vào cửa sắt thì chừng
nào thủng được cái tủ? :)"
'ccxx' giả lã: "Hi hi, anh già vui tính ghê. Chắc em hỏi hơi ngớ ngẩn thật đa. Lần sau em sẽ uốn lưỡi 7 lần trước khi hỏi cho chắc ăn."
Tôi đáp: "Không em, em cứ nói chuyện thoải mái. Có bất cứ ý nghĩ nào nảy ra
trong đầu cứ phát biểu. Chuyện đúng, sai, ngớ ngẩn không quan trọng mà
quan trọng ở chỗ em rút tỉa được những gì trước và sau khi đưa ra câu
hỏi. Nếu em e dè quá thì cuộc đối thoại của mấy anh em mình sẽ 'khô'
như rơm thôi."
'ccxx' trả lời: "Dạ. Em cứ thế mà phang, anh chuẩn bị tinh thần đó nha."
'docco' xen vào: "Không biết em nhận xét những cái này có đúng hông, anh xem thử
nha. Ví dụ muốn khám phá các chi tiết thuộc về domain name của một host
nào đó, mình có thể dùng một công cụ online để xem mà không cần tiếp
xúc trực tiếp từ máy của mình đến DNS server của mục tiêu. Cái này gọi
là thăm dò ở dạng 'passive' phải không anh?"
Tôi đáp:
"Đúng lắm. Nó hoàn toàn 'passive' bởi vì em chỉ 'query' thông tin
một domain, một host nào đó trên một DNS database công cộng. Có thể DNS
em đang query sẽ liên hệ với authoritative DNS server của mục tiêu em
đang thăm dò để lấy thông tin, cũng có thể là không vì nó dùng thông
tin có sẵn trong cache không chừng. Dù gì đi chăng nữa, đây vẫn là dạng
'passive' bởi vì admin cũng như hệ thống IDS của mục tiêu em muốn thăm
dò đều không có cách gì biết được em đang thăm dò. Những thông tin này
thường ở dạng tổng quát và dành cho công cộng. Nó cũng có ích để xác
định một số điều. Tuy nhiên, để thăm dò DNS và hình thành cấu trúc mạng
của mục tiêu, đôi khi em phải chuyển sang dạng thăm dò 'active'."
'docco' hỏi tiếp: "Anh ví dụ một kiểu thăm dò DNS ở dạng 'active' được không anh?"
Tôi trả lời: "Được chớ em. Thông thường, em dùng nslookup trên windows chẳng hạn, thì thế này:
C:>\> nslookup <server.domain.com> Cách này query dùng default DNS server chính là DNS server nào em
khai báo trên máy dùng để phân giải tên miền. DNS server này có thể là
DNS riêng do em tạo ra hoặc DNS server do ISP cung cấp. Ở dạng đó,
những điều được query cũng chỉ là những thông tin dành cho công cộng mà
thôi (cái này còn tùy thuộc vào sự chặt chẽ của người thiết kế DNS, có
những DNS chứa cả thông tin dàng cho công cộng lẫn thông tin dành riêng
cho nội mạng và đây là điều nên tránh). Tuy nhiên, nếu em 'chịu khó'
hơn một tí, thử như sau:
C:\> nslookup
> set type=ns
> domain.com
Server: [172.16.114.163]
Address: 172.16.114.163
domain.com nameserver = ns1.domain.com
domain.com nameserver = ns2.domain.com
ns1.domain.com internet address = 172.16.114.163
ns2.domain.com internet address = 172.17.124.174
> server ns1.domain.com
> ls -d domain.com
[[172.16.114.163]]
domain.com. SOA ns1.domain.com hostmaster.domain.com. (1098357511 16384 2048 1048576 2560)
domain.com. NS ns1.domain.com
domain.com. NS ns2.domain.com
domain.com. MX 0 mail.domain.com
www A 172.16.114.160
white A 172.16.114.161
mail A 172.16.114.162
ns1 A 172.16.114.163
ns2 A 172.17.124.174
domain.com. A 172.16.114.160
blue A 172.16.114.163
red A 172.17.124.174
domain.com. TXT "v=spf1 a mx ptr -all"
mail TXT "v=spf1 a -all"
domain.com. SOA ns1.domain.com hostmaster.domain.com. (1098357511 16384 2048 1048576 2560)
Có gì đặc biệt ở đây vậy em?"
'docco' ngần ngừ: "Ùm.. à... hình như anh cố tình dùng chính DNS của chính mục tiêu để query phải không anh?"
Tôi đáp:
"Bravo! Đúng như thế, nó nằm ở đây:
server ns1.domain.com
ls -d domain.com . Em biết lý do tại sao không? Ngày nay, hầu hết các authoritative
DNS đều không cho 'zone transfer' một cách rộng rãi nữa vì quá nguy
hại. Tuy nhiên, vẫn có các DNS server cho phép những DNS server được
'tin cậy' thực hiện 'zone transfer'. Bởi thế, mình mới 'láu cá' bằng
cách mượn tay DNS server được 'tin cậy' để query thông tin cho mình :).
Nên nhớ là có những DNS server (primary và secondary) hiện nay không
còn cho phép thực hiện bước ở trên nữa vì họ không cho 'zone transfer'
ngay cả giữa primary và secondary."
'cuti' thắc mắc: "Query DNS có gì mà quan trọng đến thế hở anh? Nãy giờ em ráng
theo dõi nhưng bắt đầu bị ù ù cạc cạc rồi đó. Có nhiều thông tin hoàn
toàn mới mẻ đối với em cho nên tóm gọn lại, em không rõ tại sao phải
thu thập những thông tin này và để có thể thu thập thông tin thì phải
nắm bao nhiêu là kiến thức :("
'ccxx' xen vào: "Trong khi anh nói, em cũng thử và thấy quả thật mình có thể thâu
thập khá nhiều thông tin qua DNS. Có khi query được, có khi không. Hình
như mình có thể xác định một cách tổng quát có bao nhiêu servers trong
mô hình mạng mình muốn thăm dò. Em chưa rõ bước kế tiếp thế nào nhưng
em hình dung mình sẽ làm gì đó với những thông tin thu thập được. Có
thể dùng để phác thảo một mô hình mạng chăng?"
Tôi cười, đáp: "Công chúa nhận xét đúng lắm. Tất nhiên là mọi thông tin đều cần
thiết cả, nếu không mình mất thời gian với chúng làm gì? Để hình thành
mô hình mạng của mục tiêu mình muốn thăm dò, việc thăm dò DNS chỉ cung
cấp một phần thông tin mà thôi. Em cần phải kết hợp với một số thông
tin khác nữa. Cái này mình sẽ bàn sau. Anh lấy ví dụ đơn giản thế này
nha. Giả sử em muốn tấn công một host X nhưng host này 'thủ' chặt quá.
Thông thường thì em bó tay và bỏ cuộc. Tuy nhiên, nếu em thăm dò rộng
ra (bằng cách hình thành mô hình mạng) thì thấy rằng host X nằm trong
một nhóm host khác và một vài host ấy có thể thâm nhập được. Nếu thâm
nhập được một trong các host này thì cơ hội 'nhảy' sang host X thành
công cao hơn. Cho dù em không thể thâm nhập bất cứ host nào đi chăng nữa nhưng
qua thông tin dò xét và thu thập được trong quá trình recconnaissance,
em có thể đi đến kết luận là nên tiếp tục hay nên bỏ cuộc (để đỡ tốn
thời gian). Nếu thấy mô hình mạng chặt chẽ quá, thấy có firewall vững
vàng, cách tốt nhất là bỏ cuộc để đỡ mất thời gian. Thật ra, nếu đã
thông thạo thì việc dò tìm thông tin xuyên qua DNS không mất quá nhiều
thời gian đâu. Đây chỉ là một bước rất nhỏ trong quá trình thăm dò. Vấn
đề mình bàn ở đây là để nhấn mạnh một điều quan trọng: tìm thông tin có
rất nhiều cách, cách nào nhanh nhất, có thông tin cụ thể nhất thì đó là cách thích hợp nhất."
'docco' cảm thán: "Không ngờ bên trong recconnaissance đã có những điều lý thú đến
như thế. Em định hỏi thêm anh một số chi tiết về kết quả lấy được ở
trên nhưng chợt nhớ ask me why, don't ask me what nên em đã ghi
chú một loạt thông tin mà em cần phải tìm hiểu chi tiết sau. Cũng như
Hưng, em bắt đầu thấy lùng bùng rồi đó anh. Như anh nói, vậy là
recconnaissance cũng sẽ dính với chuyện dò dẫm cả firewall luôn sao
anh? và đối với người phòng thủ thì nên làm thế nào? Về việc anh đề cập
tới host X ở trên, hình như anh muốn nói đến khía cạnh kiện toàn bảo
mật?"
Tôi trả lời: "Chuyện dò dẫm firewall là chuyện không thể thiếu nếu như firewall
nằm trên đường thâm nhập rồi đó em. Thong thả rồi mình sẽ bàn các chi
tiết này sau, không thì em càng lùng bùng nữa. Chuyện phòng thủ thì
mình cũng sẽ bàn sau khi em đã 'thông' những chi tiết mình vừa 'đà
khía'. Nên nhớ rằng, 'thủ' ở đây là thực sự phòng thủ chớ không phải là
những kỹ thuật nho nhỏ dùng để dấu footprint không thôi nha. Mình sẽ
đào sâu từ từ những chuyện này (nếu bọn em còn hứng thú ;-) )."
'cuti' lên tiếng ngay lập tức: "Làm sao mà không còn hứng thú được anh? Những thông tin này là
tổng hợp của bao nhiêu điều lý thú. Chắc em sẽ không bao giờ thâm nhập
ai nhưng những kiến thức này chắc sẽ ích lợi trong công việc về sau.
Anh đừng lo tụi em hết hứng thú :)"
'docco' cũng chêm thêm: "Hay là anh.. nản thì có. Nói chuyện với bọn em cái gì anh cũng phải giải thích. Gặp em, chắc em nản từ lâu rồi."
Tôi đáp: "Hì hì, nản hả? có gì mà nản em? Thỉnh thoảng vào 'đà khía' thế
này vui mà. Thôi, anh phải logoff đây. Ngồi dính một chỗ lâu quá rồi.
Anh vẫn còn ở nhà vài ngày tới, trưa trưa anh sẽ vào check mail mỗi
ngày, đứa nào muốn 'đà khía' thì offline message cho anh một cái ha."
'ccxx' cười, pha trò: "Í cha, anh già rút.. đẹp thiệt à nha. Ảnh rào câu áp chót,
chuyển qua câu chót là bye bye liền :). Mai em cũng rảnh á, em sẽ
online chờ anh."
'cuti' hùa theo: "Em cũng vậy."
'docco' thận trọng: "Nếu không có gì đột xuất, em cũng sẽ online luôn."
Tôi đáp: "Ừa, cũng khoảng giờ này hoặc sớm hơn vào ngày mai hả? Chào mấy đứa."
26/9/2005
Chưa phân loại
125