Tổng hợp các câu hỏi phỏng vấn pentest - kiến thức chung (P2)

Hỏi: Answer true or false and explain your answer: two-factor authentication protects against session hijacking?

Trả lời:

  • Về câu trả lời này, mình vẫn chưa biết nên trả lời là đúng hay sai. Có 2 trường hợp xảy ra ở đây:
    • Trước khi bạn nhập mã xác minh gửi đến điện thoại hay ứng dụng hay đại loại là 1 mã OTP nào đó mà bên Server gửi cho bạn để xác minh đó đúng là bạn đăng nhập vào tài khoản của bạn. Thì khi đó attacker không thể chiến quyền điều khiển phiên được.
    • Nhưng sau khi bạn nhập mã xác minh rồi. Attacker có thể thực hiện việc chiếm quyền điều khiển phiên do bên dịch vụ kia đặt vào bằng XSS hoặc malware. Attacker có thể sử dụng cái Token Cookie đó và đưa vào yêu cầu của họ cho bên kia (ví dụ như Google). Và sau đó attacker đã có quyền truy cập vào tài khoản của bạn.
    • Còn về câu trả lời đúng hay sai thì bạn đọc có thể tự trả lời rồi nhé 😄.

Hỏi: Explain what happens when a connection from your webbrowser to a webserver is initiated on every OSI layer (as detailed as you like)

Trả lời:

  • Chúng ta sẽ cùng phân tích gói tin sẽ đường truyền đi trên mạng Internet như thế nào, cụ thể ở đây là chúng ta đang lướt web, và mô hình sử dụng là OSI (Hướng đi của gói tin sẽ là từ phía máy gửi (client) đến máy nhận (Server))

  • Mô hình OSI sẽ như sau:

    • Application Layer: Đây là lớp gần nhất với người dùng, từ đây, tất cả dữ liệu, yêu cầu của người dùng sẽ được sử dụng để tạo thành 1 khối Data tùy theo lượng thông tin mà người dùng cần gửi đi. Ví dụ khi nhập địa chỉ một website vào trình duyệt, thì một yêu cầu HTTP GET sẽ được tạo ra, dựa trên thông tin mà người dùng đã nhập vào.
    • Transport Layer: Tại lớp này, dữ liệu sẽ được chia nhỏ thành các khối Data có kích thước phù hợp, sau đó sẽ được đóng gói lại, một Header được thêm vào nhằm theo dõi luồng dữ liệu và tập hợp dữ liệu tại máy đích. Những gói tin nhỏ này được gọi là các Segment.
      • Transport Layer sẽ được gắn cho mỗi Application một định danh được gọi là port number. Tại sau lại có port number? Vì có rất nhiều ứng dụng, dịch vụ chạy trên mỗi host, nên để chuyển chính xác dữ liệu cho các ứng dụng dịch vụ đó, port number được sinh ra. Ở đây ta đang lướt web nên ta sẽ có các port number như HTTP: 80, HTTPS: 443. Tùy theo ứng dụng khác nhau, yêu cầu độ tin cậy khác nhau thì lớp Transport sẽ sử dụng TCP hay UDP cho phù hợp.
        • TCP: Tin cậy, đảm bảo cho dữ liệu đều được truyền đi tới đích đúng và đủ, tuy nhiên chậm hơn UDP.
        • UDP: Đơn giản, không tin cậy, truyền dữ liệu có thể bị thiếu, nhưng bù lại rất nhanh.
    • Network Layer: Tại đây các Segment sẽ được gắn thêm một header gọi là IP Header bao gồm 2 thông tin chính là Source IPDestination IP. Cụ thể thì Source IP là địa chỉ IP của Client và Destination IP là địa chỉ IP của Server. Các gói tin bây giờ sẽ được gọi là Datagram.
      • Source IP sẽ được lấy từ DHCP Server hoặc người dùng có thể tự thiết lập bằng tay. Còn với Destination IP thì được xác định qua giao thức DNS. Ví dụ như http://google.com sẽ được dịch ra địa chỉ IP sẽ là 172.217.161.142.
    • DatalinkPhysical: Để một gói tin tới đích, chúng ta cần thêm 1 loại địa chỉ nữa đó là địa chỉ MAC hay còn được gọi là địa chỉ vật lý. Địa chỉ này là độc nhất trên mọi thiết bị. Một header được thêm vào Datagram bao gồm Source MAC và Destination MAC. Các gói tin bây giờ được gọi là các Frame.
      • Source MAC sẽ là địa chỉ MAC của máy gửi, còn Destination MAC sẽ là của máy nhận.
      • Có một trường hợp có thể xảy ra. Nếu không tìm thấy Destination MAC tương ứng với Destination IP, máy tính sẽ sử dụng giao thức ARP. ARP Request đính kèm Destination IP sẽ được gửi Broadcast tới tất các các máy trong mạng có chứa máy nguồn.
        • Nếu Destination IP là địa chỉ IP cục bộ của mạng đó, máy tính mang địa chỉ IP này sẽ trả lời với địa chỉ MAC của nó về cho máy gửi ARP Request. Vậy Destination MAC ở đây chính là địa chỉ MAC của máy tính cùng mạng với máy gửi.
        • Nếu Destination IP là địa chỉ IP của mạng khác, Router chứa mạng này sẽ phát hiện ra điều đó và trả lời với địa chỉ MAC của router nên Destination MAC ở đây sẽ là địa chỉ MAC của router.
        • Nếu Destination IP là địa chỉ IP của mạng khác và địa chỉ Default Gateway cũng như Subnetmask đã được đặt, máy tính sẽ sử dụng thông tin này để xác định được Gateway và gửi gói tin đến đây. Destination MAC ở đây sẽ là địa chỉ của Gateway, thường sẽ là một router.
      • Sau khi xác định đầy đủ địa chỉ Source MAC và Destination MAC, các Frame bây giờ sẽ được đưa xuống lớp Physical, được mã hóa và chuyển đổi thành các tín hiệu vật lý thích hợp, để đưa lên đường truyền.

Hỏi: Construct an Nmap SYN scan that does not do DNS lookups, does not ping the host, and only returns open ports for tcp/139 and tcp/445

Trả lời:

  • Trên nmap có 1 tùy chọn là -Pn (không ping). Bạn đọc có thể sử dụng tùy chọn này, do tùy chọn này bỏ qua giai đoạn khám phá Nmap hoàn toàn. Thông thường thì Nmap sử dụng giai đoạn này để xác định các máy hoạt động trong mạng để quét sâu hơn. Theo mặc định, Nmap chỉ thực hiện các hoạt động thăm dò sâu như quét cổng, phát hiện phiên bản hay hệ điều hành với các máy chủ được tìm thấy.
  • Chỉ định quét cổng cố định, ở đây là port 139 và 445, ta có thể sử dụng tùy chọn -p của Nmap.
  • Vậy công thức đầy đủ sẽ là nmap -Pn -p 139,445 <target>. Chúc các bạn thành công 😄.

Bạn đọc có thể đọc phần 1 tại đây: Tổng hợp các câu hỏi phỏng vấn pentest - kiến thức chung (P1)