Tình huống:
Bạn vào một quán café , có dịch vụ wifi miễn phí, bạn hăm hở kết nối
vào mạng, truy cập vào Facebook.com (FB). Sau vài phút, trên wall của
bạn xuất hiện một dòng status do chính bạn viết mà không phải do bạn
viết, ghi là “Account FB này đã bị thâm nhập bởi abcxyz” . Bạn hết hồn,
tắt máy, nhưng sau đó mở máy lại, truy cập lại vào FB, nhưng kẻ bí ẩn
nào đó vẫn đang giả danh bạn post lung tung. Bạn vốn tự tin là máy mình
an toàn do đã cài đặt một trình antivirus update liên tục, không bao giờ
tải các chương trình bậy bạ để máy bị dính trojan hay keylogger. Ấy vậy
mà Account Facebook của bạn vẫn đang bị đánh cắp trước mũi bạn.
Chuyện gì đã xảy ra với account FB của tôi ? Làm sao nó lại bị đánh cắp một cách lãng nhách và nhanh chóng vậy ?
Vâng, rất có thể bạn đã là nạn nhân của một cuộc tấn công Session Sidejacking.
Session Sidejacking là kiểu tấn công không mới, nếu không muốn nói là
nó xưa rích rồi, kể từ khi phiên bản HTTP 1.1 ra đời cùng với sự hỗ trợ
session cookies
Session Sidejacking là gì ?
Đây là kiểu tấn công thuộc họ man-in-middle attack, mục đích là nghe
lén đường truyền giữa người dùng và các máy chủ dịch vụ bằng các công cụ
sniff rồi đánh cắp các dữ liệu quan trọng liên quan tới phiên làm việc
của người dùng, rồi phục dựng phiên làm việc này trên một máy tính thứ
3.
Session Sidejacking đặc biệt hữu hiệu và dễ thực hiện khi nhằm vào
mục tiêu là các phiên truy cập trên môi trường web. Hướng tấn công này
trong môi trường web và giao thức HTTP chủ yếu là nhằm vào việc đánh cắp
session cookies
-1-
định danh người dùng, qua đó khôi phục phiên làm việc hiện thời của
người dùng rồi sau đó người tấn công sẽ có các biện pháp tấn công sâu
rộng hơn để chiếm được mật khẩu tài khoản của người dùng
Nói ngắn gọn dễ hiểu, ở một mức độ nào đó, là người tấn công sẽ dễ
dàng chiếm tài khoản Facebook, gmail, yahoo của người dùng bằng HTTP
Session Sidejacking
Bài viết này chủ yếu nói về cách thức tấn công HTTP Session
Sidejacking . Tức hình thức tấn công Session Sidejacking nhắm vào việc
đánh cắp session cookies và phục dựng là HTTP Session.
Đặc biệt: Phương thức tấn công Session Sidejacking trong bài viết này
không cần phải có card mạng hỗ trợ chế độ Promiscuous ( chế độ hỗn độn )
-2- .
Đây là một bước tiến bộ so với các công cụ tấn công tự động như
Firesheep, hamster & ferret, khiến việc tấn công session Sidejacking
trở nên dễ dàng thực hiện đối với tất cả các card mạng hiện có. Nói
cách khác, ai cũng làm được
—————————————————————-
Môi trường tấn công: một mạng wifi nhiều người dùng mà bạn cũng có quyền truy cập
Mô tả quá trình tấn công:
Như đã nói ở trên, Session Sidejacking là phương thức tấn công thuộc
họ Man-in-middle attack, nó thực chất là sự kết hợp của 03 kĩ thuật tấn
công khác nhau bao gồm ARP Poison Routing, Network Sniffing, Cookie
injection.
Quá trình tấn công sẽ diễn ra qua các bước:
Bước 1: Kết nối vào mạng wifi, nếu bạn không có quyền truy cập
thì bạn phải “crack” và tìm ra password truy cập mạng Wifi (tham khảo
kỹ thuật crack wifi với aircrack-ng)
Bước 2: Thực hiện ARP Poison Routing, bước này nằm giúp bạn có
thể biến máy tính của bạn trở thành một router giả danh nhằm mục đích
sniff -3- dữ liệu được trung chuyển trên toàn mạng wifi. Bạn nên
tìm hiểu thêm về APR Poisoning attack để hiểu rõ kĩ thuật này làm như
thế nào và tại sao nó có thể được thực hiện
Bước 3: Sniff tất cả dữ liệu trung chuyển trên mạng wifi sau khi mạng này đã bị ARP Poison Routing
Bước 4: lọc ra dữ liệu đến từ người dùng cụ thể, ví dụ một người dùng có IP là: 192.168.1.138
Bước 5: tái dựng lại TCP stream của phiên truy cập website của người dùng, và bóc tách dữ liệu cookie của người dùng
Bước 6: Thực hiện cookie injection, nhằm chèn dữ liệu về cookie vào trình duyệt của người tấn công
Bước 7: Khôi phục hoàn toàn phiên truy cập web của người dùng trên máy tính của người tấn công
-0- Session:
Phiên làm việc. Để dễ hình dung một phiên làm việc là như thế nào bạn
hãy mường tượng bạn đang mở một truy cập mới vào trang facebook.com bằng
trình duyệt trên máy tính của bạn. Trình duyệt của bạn thực hiện việc
mở một loạt các kết nối TCP/UDP tới máy chủ web của trang web
www.facebook.com, ngay lúc này phiên làm việc của bạn đã bắt đầu, vì bạn
đã bắt đầu có kết nối tới trang facebook.com . Thế nhưng phiên làm việc
này chưa được xác thực, tức là bạn chưa đăng nhập. Trang web
www.facebook.com chưa biết bạn là ai, và bạn chưa thể truy cập các dữ
liệu của mình trên trang www.facebook.com . Sau đó bạn thực hiện việc
đăng nhập bằng username và password của bạn, lúc này bạn đã được xác
thực, FB biết bạn là ai, và bạn truy cập được các dữ liệu cá nhân của
bạn trên FB. Phiên làm việc sẽ kết thúc khi bạn đóng trình duyệt lại,
mọi kết nối giữa trình duyệt của bạn và máy chủ web của www.facebook.com
hoàn toàn bị đóng lại.
-1- Session cookies :
Các session cookies là các mẩu dữ liệu nhỏ, có thể là các files hoặc
các record trong CSDL của trình duyệt, làm nhiệm vụ lưu giữ một số thông
tin liên quan đến phiên làm việc của người dùng trên một trang web. Từ
sự giải thích về session ở trên bạn sẽ thấy rõ cách mà trang web
www.facebook.com ( hay đúng hơn là máy chủ web của www.facebook.com )
duy trì việc nó biết bạn là ai, sau khi bạn đã đăng nhập bằng username
và password của mình. Đúng vậy, http://www.facebook.com/
tạo một vài session cookies trên máy tính của bạn, trong đó nó lưu trữ
một số thông tin liên quan tới username của bạn và một dạng mã hóa nào
đó mật khẩu ( hiểu theo cách này cho đơn giản ), cùng với một số thông
tin linh tinh khác. Sau mỗi lần bạn chuyển trang ( tức click vào
hyperlinks và trình duyệt chuyển bạn tới một trang web khác dĩ nhiên vẫn
thuộc địa chỉhttp://www.facebook.com/ , ví dụ: http://www.facebook.com/abc/pic?id=abcxyz ) thì http://www.facebook.com/
lại đọc lại dữ liệu từ các session cookies này để biết bạn là ai, thay
vì cứ mỗi lần bạn chuyển trang nó lại phải hỏi bạn thông tin đăng nhập
như username và password
-2- Promiscuous mode ( chế độ hỗn độn )
: Chế độ hỗn độn là một chế độ hoạt động đặc biệt của card mạng
wireless. Ở chế độ này, Card Wireless cho phép chính nó được phép nhận
lấy tất cả các gói tin trong tầm với của nó (tầm thu sóng của nó), mặc
cho gói tin đó có được gửi tới cho nó hay không. Nói cách khác, card
mạng wireless được phép đọc lén các gói tin gửi cho các card wireless
khác trong mạng ( rất bất lịch sự ). Chế độ này không được các nhà sản
xuất đưa vào các card mạng wireless thông thường từ năm 2005 vì lý do
chúng được tận dụng cho mục đích xấu nhiều hơn là mục đích tốt (tỷ dụ
như thực hiện crack mật khẩu mạng wifi chẳng hạn). Do đó hiện nay ngoài
việc kiếm mua một card wireless chuyên dụng có hỗ trợ tính năng này thì
thật khó để bạn có thể thực hiện các kĩ thuật liên quan tới Network
Sniff và APR Poisoning. Tuy nhiên, cái khó ló cái khôn, nhiều chuyên gia
về mạng hàng đầu ( hay các hacker cực kỳ tinh thông ) đã đưa ra thư
viện Pcap. Thư viện Pcap hỗ trợ một số kỹ thuật chuyên sâu như Monitor
mode – RFMon (Wireless card only) , Port mirroring, Network taps … ,
giúp việc thực hiện cá tác vụ Sniff, APR Poisoning có thể thực hiện trên
các card mạng không hỗ trợ Promiscuous mode
-3- Sniff : Bắt
gói tin . Đây là một tác vụ thường thấy trong việc phân tích luồng truy
cập mạng. Tác vụ sniff này có thể tưởng tượng như là một người A gởi
thư cho người B , trên đường thư được giao từ người A tới người B thì
người C lén sao chép nội dung của lá thư rồi tiếp tục mang đến cho người
B. Người A và B không hề biết thư đã bị sao chép và đọc lén.
Thay người A , B ,C bằng máy tính A,B,C và lá thư bằng gói tin, “trên
đường đưa thư” bằng “trên đường mạng”, bạn sẽ thấy ví dụ tôi đưa ra thực
sự rất tương đồng
Chủ Nhật, 20 tháng 9, 2015
Sơ lược kỹ thuật hack bằng HTTP Session Sidejacking
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào: