Ở cấp độ này một hijacker có thể không chỉ hijack 1 session đã có mà còn có thể tạo mới 1 session từ các dữ liệu đánh cắp được... Với một session ID tạo ra riêng cho một user khi kết nố
Trang 1SESSION HIJACKING
Trang 2Nội Dung Báo Cáo
Trình bày slide: Lê Tuấn Dương
Lí Thuyết: Trương Quang Khiêm
Trần Xuân HiếnTrương Ngọc Tấn
Phòng Chóng: Sơn Thái Ân
Trang 3Lý Thuyết
Trương Quang Khiêm
Trang 4Tài liệu tham khảo
Slide bài giảng của thầy
Ebook CEH
Google Search
Trang 5Overview
Trang 6Module Flow
Trang 7What is Session Hijacking ?
“ Đánh cắp session “
Trang 8Understanding Session hijacking
Trang 9( cont )
Ở cấp độ đơn giản nhất, TCP hijacking dựa
vào sự xâm phạm các mối quan hệ tin cậy của tương tác giữa 2 hots
Trang 10Spoofing Vs Hijacking
A spoofing attack is different from a hijack in that an attacker is not actively taking another user offline to perform the attack he
pretends to be another user or machine to
gain access
Trang 12Steps in Session Hijacking
Trang 13Ví dụ
Alice opens a telnet session to Bob and starts doing some work.
1 Eve observes the connection between Alice and Bob using a
sniffer that is integrated into her hijacking tool Eve makes a note
of Alice's IP address and her hijacking software samples the TCP sequence numbers of the connection between Alice and Bob.
Eve launches a DoS attack against Alice to stop Alice doing
further work on Bob and to prevent an ACK storm from interfering with her attack.
Eve generates spoofed packets with the correct TCP sequence
numbers and connects to Bob.
Bob thinks that he is still connected to Alice.
Alice notices a lack of response from Bob and blames it on the
network.
Eve finds herself at a root prompt on Bob She issues some
commands to make a backdoor and uses the sniffer to observe the responses from Bob.
After covering her tracks, Eve logs out of Bob and ceases the DoS attack against Alice.
Alice notices that her connection to Bob has been dropped.
Eve uses her backdoor to get directly into Bob.
Trang 14Types of Session Hijacking
Trang 15Session hijacking can be active or passive in nature depending on the degree of
involvement of the attacker in the attack
The essential difference between an active and passive hijack is that while an active
hijack takes over an existing session, a
passive attack monitors an ongoing session
Trang 16The 3-Way Handshake
Trang 17TCP Concepts 3-Way Handshake
Trang 19Sequence Numbers
Trang 20Session Hijacking Levels
Trang 21Network level Hijacking
Trang 22TCP/IP Hijacking
Trang 23TCP/IP Hijacking
Trang 24IP Spoofing :Source Routed Packets
Trang 25RST Hijacking
Trang 26Blind Hijacking
Trang 27Man in the Middle :Packets Sniffer
Dùng ICMP (Internet Control Message Protocol )
ARP Spoofing
Trang 28UDP Hijacking
Trang 29Ở cấp độ này một hijacker có thể không chỉ hijack 1 session đã có mà còn có thể tạo mới
1 session từ các dữ liệu đánh cắp được
Trang 30 HTTP là một giao thức có tính stateless cho nên, thông tin giữa client (trình duyệt) và server (web server) thường được kết thúc càng nhanh càng tốt
và kết nối này sẽ được tắt bỏ sau khi quy trình
chuyển gởi thông tin hoàn tất
Vì vậy, Session ID’s đã được tạo không được kiểm tra còn tồn tại hay không, cho đến khi user bấm vào nút logout, xóa bỏ cookies
Trừ phi web server kiểm tra xem Session này còn sống hay không sau một khoảng thời gian định
sẵn , pingsession của HVA là một ví dụ.
Trang 31Sự cần thiết của Session ID
Bạn đăng nhập thành công nhưng mỗi lần muốn trả lời một bài nào đó, bạn phải đăng nhập lại, rất bất tiện
Session ID sinh ra để khắc phục sự bất tiện
đó Với một session ID tạo ra riêng cho một user khi kết nối tới một website nào đó,
web server dựa vào session ID để nhận ra user, và chấp nhận cho user này thực hiện các hành động mà user được quyền mà
không phải xác nhận lại
Trang 32About : Cookie
Cookie được xem là những tin nhắn đơn
giản được máy chủ đang quản lý một
website, chủ động gửi đến trình duyệt web đang dùng nhằm mục đích theo dõi các
hoạt động của người đang xem website
Tin nhắn này có định dạng là một chuỗi
văn bản đơn giản, nó sẽ được đưa vào thư mục lưu trữ “Temp” của trình duyệt web
và trình duyệt web sẽ tự động lưu trữ mọi thông tin cookie vào đĩa cứng.
Trang 33About : Cookie
Có nhiều loại cookies, nhưng có 2 loại cần tìm hiểu
là persistent cookies và non-persistent cookies.
-Persistent cookies :là loại cookies vẫn tồn tại khi bạn tắt trình duyệt
-Non-Persistent cookies :trình duyệt tắt, cookies
hết hiệu lực, và dĩ nhiên session ID cũng đi theo.
Khi bạn chọn remember me , thì non-persistent
cookies trở thành Persistent cookies.
Non-persistent cookies còn được gọi nôm na là
session cookies (cookies theo phiên làm việc)
Trang 34Show cookie in FF
Trang 35Cookie đem lại nhiều lợi ích cho chủ trang web
Trang 36Đánh vào cảm nhận của người dùng
Biết được một số thông tin về những người đang truy cập trang web của mình
Dùng cookie để điều chỉnh các quảng cáo,
đề ra các biện pháp điều chỉnh hoặc thiết kế phù hợp
Đối với các doanh nghiệp cookie có thể đóng một vai trò tương tự như một người bán
hàng
Trang 37Hijacking HTTP
Hijacking HTTP session liên quan đến việc
lấy Session ID's , là chỉ có duy nhất định danh của phiên HTTP Session ID's có thể tìm thấy
ở ba địa điểm :
1 Trong URL được nhận bởi các trình
duyệt cho những yêu cầu HTTP GET
2 Với cookie
3 Trong các form hoặc submit
Trang 38Obtaining Session ID’s
Sniffing (Man in middle attack): Cookie và URL’s có thể có được từ các gói
Nếu các gói không được mã hóa có thể
cung cấp thông tin đăng nhập của người dùng
Nếu các gói bị mã hóa : Brute Forcing the Session ID’s
Trang 40Programs that perform Session Hijacking
Trang 41Dangers posed by Hijacking
Trang 42Protecting against Session Hijacking
1 Use encryption
2 Use a secure protocol
3 Limit incoming connections
4 Minimize remote access
5 Educate the employees
6 Have strong authentication
7 IP Security
Trang 44Cain - ferret
Trang 46Ferret.exe
-w
Trang 47Ferret.exe –
i 2
Trang 49Cookie Editor
Trang 50add
Trang 52Wireshark-Cain-Ferret-Hamster
Trang 53Start
Trang 54Đăng nhập
Trang 55Stop
Trang 57cd C:\
sidejacking
Trang 58ferret.exe –r demo.pcap
Trang 59xe
Trang 60C:\Program Files\Mozilla
Firefox Set
MOZ_NO_REEMOTE=1
Firefox.exe -p
Trang 61Start firefox
Trang 62127.0.0.
Trang 64Phòng Chóng
Sơn Thái Ân
Trang 65Có rất nhiều biện pháp để chống lại việc đánh cắp đường truyền theo các kiểu đánh cắp đường truyền như các bạn đã biết thì chúng ta sẽ có 2 loại đánh cắp đường tryền đó là: tầng mạng lưới(Network
level) tầng ứng dụng(Application level)
Trang 66Tầng Mạng Lưới (Network Level)
Trang 67Tầng Mạng Lưới (tt)
Biện pháp đối phó chính trong việc bảo vệ gói
dữ liệu của bạn là làm cho gói dữ liệu của bạn khó để phân tích bằng cách hiện thực các
giao thức mã hóa trong lúc truyền như là:
IPSec(Internet Protocol Security),
SSL(Secure Socket Layer), và SSH(Secure
Shell)
Trang 68Tầng Mạng Lưới (tt)
Với các biện pháp này thì có thể làm cho
hacker khó mà xâm nhập gói dữ liệu của
chúng ta hơn Các gói dữ liệu nào mà không
có khóa session(của hacker) sẽ bị loại bỏ vì xem như máy nhận không thể giải mã được
Trang 69Internet Protocol Security(IPSec)
IPSec(Internet Protocol Security) gồm có một tập hợp các giao thức được phát triển để đảm bảo độ an toàn khi gói dữ liệu được trao đổi ở tầng IP
Nó có hai kiểu mã hóa đó là: vận
chuyển(Transport) và đường hầm(Tunnel)
Trang 70Internet Protocol Security(IPSec)
Trong hai lại mã hóa này thì người ta có xu hướng sử dụng loại Tunnel nhiều hơn vì
Tunnel mã có mã hóa header của gói dữ liệu, còn Transport thì không
Với việc mã hóa header của gói dữ liệu thì
làm cho hacker khó khăn hơn trong việc giải
mã chúng trong trường hợp anh ta bắt được gói dữ liệu của chúng ta
Trang 71Internet Protocol Security(IPSec)
IPSec là một giao thức được dùng nhiều
trong việc bảo vệ sự đánh cắp đường truyền ở mức mạng lưới vì nó liên quan tới mã hóa
thông tin gói dữ liệu
Trang 72Secure Socket Layer(SSL)
SSL bảo vệ các dữ liệu cá nhân trên web mà được gửi thông qua sự kết nối SSL
Hầu hết các trình duyệt web hiện đều có hỗ trợ SSL
Theo quy ước những URL mà yêu cầu sự kết nối SSL thì phải bắt đầu vưới https thay vì là http
Trang 73Secure Socket Layer(SSL)
SSL thường được sử dụng trong mức độ ứng dụng hơn vì nó mã hóa dữ liệu được gủi thông qua HTTP session
Trang 74Secure Shell (SSH)
Một kỹ thuật phổ biến mà hacker dùng để đánh cấp đường truyền là giả mạo địa chỉ IP(IP Spoofing) và định tuyến địa chỉ IP
nguồn(IP source routing)
SSH được dùng để chúng lại các kỹ thuật trên
Trang 75Tầng ứng dụng (Application Level)
Ở tầng ứng dụng thì việc đánh cắp đường
truyền chủ yếu tập trung vào session id
Bằng cách nào đó hacker có thể lấy được
quyền kiểm soát của một session đang tồn
tại, hoặc tạo một session hợp lệ
Do đó để chống lại việc đánh cắp đường
truyền thông qua tầng ứng dụng thì chúng ta tập trung vào việc bảo vệ session id
Trang 76Các phương pháp làm tăng độ
mạnh của một session id
Tăng độ dài của cookie hoặc của session id
Độ dài của session id phải dài hợp lý để mà
hacker khó có thể dùng các phương pháp
quét để tìm id hợp lệ, dẫn đến khó tìm được chính xác session id cần tìm trước khi session
đó kết thúc
Trang 77server cung cấp một session id.
Sử dụng session id đã được mã hóa:
Đây là một trong những cách khá hay để bảo
vệ session id trong việc bị đánh cắp
Trang 78Các phương pháp làm tăng độ
mạnh của một session id(tt)
Đảm bảo tính toàn vẹn của session id:
Thêm mã chứng thực cho session id để đảm bảo tính toàn vẹn của session id đó
Qua đó thì hacker sẽ khó mà thao tác trên cookie hay là session id
Trang 79Tổng kết
Mặc dù chúng ta đã sử dụng nhiều biện pháp
để chống lại sự đánh cắp trên đường truyền, nhưng nó vẫn chưa hoàn toàn ngăn chặn được viếc đánh cắp đường truyền
Tốt nhất là bạn phải kiểm tra và theo dõi
thường xuyên mạng lưới và ứng dụng web của bạn thường xuyên