Tải bản đầy đủ (.doc) (81 trang)

Đồ án an toàn mạng và bảo mật mạng kỹ thuật tấn công mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2 MB, 81 trang )

Môn An Toàn Bảo Mật Mạng
CÁC KỸ THUẬT TẤN CÔNG MẠNG
I.Các Bước Chuẩn Bị:
• Footprinting:
- là kỹ thuật để thu thập thông tin của 1 tổ chức, cơ quan hay 1 cá nhân đảm nhiệm chức vụ nào
đó.
- là 1 trong 3 yếu tố cần thiết trước khi thực hiện 1 cuộc tấn công.
- kết quả sau khi thực hiện footprinting là thông tin khá chi tiết và cụ thể về đối tượng. Có nhiều
môi trường để thu thập thông tin như: internet, intranet, extranet, wireless và cả những hệ thống
phức tạp khác.
Mỗi một môi trường có những điểm mà ta cần khai thác.
Các phương pháp thu thập thông tin:
- Unearth initial information
- Locate the network range.
- Ascertain active machines.
- Discover open ports/access ports.
- Detect operating systems.
- Uncover services on ports.
Nhóm Page 1
Môn An Toàn Bảo Mật Mạng
- Map the network.
ở đây, ta tìm hiểu 2 phương pháp thu thập thông tin liên quan đến footprinting là Unearth initial
information và Locate the network range.
Unearth initial information: thu thập, tìm kiếm những thông tin gốc của đối tượng, từ đó
khoanh vùng cần tìm kiếm. Những thông tin thường là:
+ tìm kiếm tên miền.
+ vị trí.
+ thông tin liên lạc: mail, điện thoại
Open source Footprinting là cách dễ nhất và an toàn nhất để tìm kiếm thông tin về một đối
tượng. Thông tin mang tính phổ biến, sẵn có như địa chỉ, số điện thoại Thực hiện câu truy vấn
whois, tìm kiếm thông qua các DNS table là những dạng khác nhau của open source footprinting.


Hầu hết những thông tin này thì có thể dễ dàng lấy được và hợp pháp. Một cách dễ dàng để kiểm
tra thông tin nhanh và chính xác là kiểm tra HTML source code của website để tìm kiếm các liên
kết, các comment,
Việc gõ tên công ty vào bất kỳ cỗ máy tìm kiếm nào có thể lấy được domain name của nó. Loại
thông tin sẵn có từ các nguồn mở bao gồm các thông tin thông thường về mục tiêu, thông tin
nhân viên, thông tin kinh doanh, thông tin từ các nhóm thông tin như thông tin về hệ thống, các
đường link đến website của công ty hay website cá nhân và HTML source code.
Attacker có thể tìm kiếm domain name với một whois client cũng như sử dụng Nslookup.
Whois:
Có một vài whois lookup clients trên mạng và một số có thể cung cấp nhiều thông tin hơn so với
whois lookup chuẩn, giống như hình dưới đây. Việc truy vấn whois này cung cấp thêm một số
thông tin như loại server(server type), số lượng các danh sách DMOZ(DMOZ listing), trạng thái
website, có bao nhiêu website mà web server này làm host Nó cũng nêu ra tùy chọn cho việc
giám sát cho từng site cụ thể.
Nhóm Page 2
Môn An Toàn Bảo Mật Mạng
Một số whois clients cũng cung cấp kiểu truy vấn ngược. Ở đây, biết địa chỉ IP có thể tìm ngược
trở lại domain của nó. Nguồn tài nguyên chính xác cho các database của whois là:
Có 4 RIR, mỗi cái duy trì database của whois nắm giữ chi tiết việc đăng ký địa chỉ IP trong các
khu vực của nó.
Vì những lý do lịch sử, whois database ARIN thường là điểm khởi đầu của quá trình tìm kiếm.
Nếu một địa chỉ nằm ngoài vùng của ARIN thì nó sẽ cung cấp một tham chiếu đến APNIC hay
RIPE NCC.
Tools:
Có một vài tool cho quá trình whois lookup. Một trong số đó là Sam Spade(www.samspade.org).
SmartWhois(www.tamos.com)Netscan(www.netscantools.com)
Một vài hệ điều hành cung cấp đặc tính whois. Để thực hiện câu truy vấn tại command line,
format là: whois –h hostname identifier
Nhóm Page 3
Môn An Toàn Bảo Mật Mạng

Ví dụ: whois –h whois.arin.net<query string>
Để có được nhiều phản hồi cụ thể hơn, câu truy vấn có thể sử dụng các cờ. Nhiều loại cờ có thể
được thiết lập cùng với nhau để quyết định một đầu ra cụ thể.
Nslookup:
- Nslookup là một chương trình dùng để truy vấn domain name server. Hiển thị thông tin
có thể được dùng để chẩn đoán cấu trúc của DNS.
- Giúp tìm kiếm thêm địa chỉ IP nếu DNS biết được whois.
- Bản ghi MX cho biết địa chỉ IP của mail server.
Nslookup là công cụ có giá trị để truy vấn thông tin DNS cho quá trình phân giải tên miền.
Nó được đóng gói với cả UNIX và Windows và có thể truy xuất bằng dòng lệnh. Khi
nslookup chạy, nó chỉ ra hostname và địa chỉ IP của DNS server được cấu hình cho local
system, và sau đó hiển thị dấu nhắc cho câu lệnh tiếp theo. Đây là chế độ mang tính tương
tác. Chế độ mang tính tương tác cho phép người dùng truy vấn name server thông tin về các
host và domain hay để in danh sách các host trong domain.
Khi một địa chỉ IP hay hostname được nối thêm vào câu truy vấn nslookup, nó hành động
trong chế độ passive. Ở chế độ không tương tác chỉ được dùng để in tên và thông tin được
yêu cầu cho một host hay domain.
Phương pháp tấn công:
Nslookup cho phép một máy cục bộ tập trung vào một DNS khác với DNS mặc định bằng
việc sử dụng câu lệnh server. Bằng việc gõ câu lệnh ‘server’<name> (với <name> là
hostname của server mà bạn muốn sử dụng cho việc lookup trong tương lai) hệ thống sẽ tập
trung vào DNS domain mới. Zone transer có thể được thực hiện nếu security không chặt chẽ,
và tất cả thông tin được cập nhật từ DNS chính.
Locate the network range:
Bao gồm:
- Tìm range của các địa chỉ IP.
- Xác định subnetmask.
Nguổn tài nguyên thông tin:
- ARIN(American Registry of Internet Numbers)
- Traceroute.

Công cụ hack:
- NeoTrace.
- Visual Route.
Sau khi thu thập thông tin từ những nguồn mở, attacker có thể tiến hành tìm kiếm
network range của hệ thống mục tiêu. Anh ta có thể lấy thêm nhiều thông tin từ nơi đăng
ký cơ sở dữ liệu miền thích hợp(regional registry database) liên quan đến việc cấp phát
địa chỉ IP. Anh ta cũng có thể biết được subnet mask của domain.
Thông tin có thể hữu ích cho attacker là các địa chỉ ip private.
Nếu các DNS server không được cài đặt một cách chính xác, attacker có cơ hội có được
danh sách các máy cục bộ. Đôi khi nếu một attacker thực hiện traceroute đến một máy
nào đó, anh ta cũng có thể có được địa chỉ IP của gateway cục bộ.
Nhóm Page 4
Môn An Toàn Bảo Mật Mạng
ARIN:
- Arin cho phép tìm kiếm trên cơ sở dữ liệu của whois để xác định các số của hệ thống tự
quản( AS number), những điểm kết nối liên quan khác.
- ARIN whois cho phép việc truy vấn địa chỉ IP để giúp đỡ việc tìm kiếm thông tin về
hướng chia địa chỉ mạng.
Trang ARIN cũng là một bộ các công cụ thêm vào và đường liên kết đến các site khác
như Rwhois.net. ARIN sẽ là một điểm khởi đầu tốt cho việc thu thập thông tin chi tiết
hơn so với whois lookup chuẩn.
Kết quả của whois cho google.com. Câu truy vấn đưa đến kết quả là địa chỉ thật của
google, network range, ngày đăng ký/cập nhật các thông tin kết nối.
Nhóm Page 5
Môn An Toàn Bảo Mật Mạng
Phương pháp tấn công:
Từ câu truy vấn nslookup, một attacker có thể tìm thấy tên name server, mail exchange
server và chúng thuộc lớp nào. Mail exchange server cũng có thể được chuyển sang các
địa chỉ IP. Hơn nữa anh ta có thể liệt kê mạng bằng việc thực hiện câu truy vấn IP ngược.
Trong trường hợp này, ta tìm kiếm 216.239.33.25 là địa chỉ IP của smtp1.google.com

Nhóm Page 6
Môn An Toàn Bảo Mật Mạng
Traceroute:
- Traceroute khai thác một đặc tính của Internet protocol là Time To Live(TTL).
- Traceroute khám phá đường đi của các gói tin IP di chuyển giữa 2 hệ thống bằng việc gửi
liên tiếp các gói tin UDP với trường TTL tăng liên tục.
- Khi mỗi router thực thi một gói tin IP, nó giảm trường TTL xuống 1. Khi trường TTL
bằng 0, nó gửi một thông điệp “TTL exceeded” bằng việc sử dụng gói tin ICMP trở về
nơi gửi.
- Router với các DNS entry sẽ xác định được tên các router, vị trí và mối quan hệ.
Mục đích của việc thu thập thông tin mà cụ thể ở đây là footprinting, là các thông tin này, cả
hacker và quản trị hệ thống có thể thu thập theo cách không cần phải thâm nhập. Tất cả các
phương pháp được đề cập đều mang tính thụ động và không bị phát hiện bởi đối tượng(ngoại trừ
traceroute). Những thông tin được thu thập trong suốt quá trình này sẽ được dùng liên tục trong
suốt quá trình thâm nhập.
Thực hiện footprinting đối với các tổ chức có thể giúp người quản trị hệ thống biết được loại
thông tin nào nằm bên ngoài hệ thống, các luồng tiềm ẩn có thể pose vào tổ chức. Anh ta có thể
thực hiện việc đo lường mang tính phòng ngừa để thấy rằng những thứ này không được dùng
như là một phương tiện để khai thác và nâng cao nhận thức của user về việc sử dụng tài sản
thông tin.
• Kỹ thuật Scanning:
Giới thiệu:
Scanning là 1 trong 3 bước của 1 hacker, qua scan chúng ta có thể xác định: các yếu tố:
• Địa chỉ IP
• Hệ điều hành
• Cấu trúc hệ thống
• Các chương trình, dịch vụ nào đang chạy trên máy tính.
Phân loại:
Nhóm Page 7
Môn An Toàn Bảo Mật Mạng

- Port scan (quét port)
Thực hiện kết nối với 1 port, sau khi “thử” thì xác định chương trình gì đang sử dụng port đó
Thông thường dựa trên các port thông dụng
- Network Scanning : Dò quét những host nào hoạt động trong mạng
- Vulnerability Scanning : Dò quét các lỗ hỏng bảo mật trên từng các ứng dụng chạy trên máy
đích
Các bước scanning:
1. Checking for Live Systems-ICMP Scanning
Kiểm tra máy đích còn hoạt động trên mạng bằng giao thức ICMP (ping).
2. Checking for open ports
Kiểm tra các port đang mở trên máy đích, hacker sẽ kết nối với các port đó, phân tích xác
định ứng dụng đang chạy trên hệ thống đích. Đối với giao thức TCP, sẽ có các kỹ thuật
scan như sau:
a. TCP connect:
Đây là kiểu kết nối TCp cơ bản, quá trình này phải qua 3 bước hay còn gọi là Three
Way Handshake
Bước 1: Hacker gửi gói tin TCP yêu cầu kết nối có cờ được đặt là SYN
Bước 2: Hacker nhận được gói tin trả lời của máy đích với cờ là SYN và ACK
Bước 3: Hacker gửi gói tin trả lời với cò là ACK tới máy đích
Kết quả: kết nối giữa Hacker và máy đích thành công
b. Stealth Scan:
Đây là kĩ thuật scan bán mở , kỹ thuật này không hoàn tất cơ chế Three Way
Handshake
Mục đích: kiểm tra trạng thái port đóng hay mở
Nhóm Page 8
Môn An Toàn Bảo Mật Mạng
Tại bước 3: Gói tin thay vì RST thì nó sẽ được đặt là RST, khi đó port ở máy đích sẽ
vào trạng thái đóng. Như vậy hacker sẽ gửi gói tin RST để kết thúc quá trình khởi tạo
trước khi một kết nối được thiết lập.
c. Xmas Scan :

Kỹ thuật kiểm tra giao thức TCP bằng cách gửi các gói "Xmas Tree " đến máy đích,
nếu port mở thì sẽ không có sự phản hồi, nhưng nếu port đóng thì sẽ có sự phản hồi.
Mục đích: Xmas Scan chỉ làm việc trong môi trường Windows và nó xác định port nào trên máy
đích đang được đóng
d. FIN Scan :
Kỹ thuật giống như kiểu Xmas Scan, nhưng ở đây các gói FIN sẽ được gửi đi, nếu port
mở thì sẽ không có sự phản hồi,và ngược lại nếu có sự trả lời bằng gói RST/ACK thì
port đó ở trạng thái đóng
Mục đích: Fin Scan chỉ làm việc trong môi trường Windows và nó xác định port
nào trên máy đích đang được đóng
e. NULL Scan :
Kỹ thuật ương tự Xmas Tree Scan, nhưng gói tin gửi đi sẽ không đặt cờ nào, và nhận
được gói tin có cờ SYN và ACK
Nhóm Page 9
Môn An Toàn Bảo Mật Mạng
f. IDLE Scan:
Kỹ thuật mà nhà nghiên cứu Antirez phát hiện qua sử dụng cơ chế TCP mới
kĩ thuật scan những port mà các kĩ thuật khác khó xác định trạng thái, Hacker có
thể scan mục tiêu mà không cần gửi gói tin có IP của mình (Hacker ẩn IP tránh bị
pahst hiện)
cụ thể:
- Đa số các dich vụ đều lắng nghe ở các port TCP phổ biến: web server : 80, FTP: 21
- Nếu port ở trạng thái listening có nghĩa là nó mở, ngược lại là nó đóng
- Kiểm tra port đóng hay mở bằng cách gửi gói tin SYN, máy đích sẽ phản hồi
SYN+ACK nếu nó mở và RST nếu nó đóng
- Mỗi gói tin IP tren mạng đều có ID gọi là IPID
- Một số hệ thống tăng số IPID mỗi làn gửi
- Số IPID này sẽ cho Hacker biết có bao nhiêu gói tin IP đã gửi đi.
B1: Hacker chọn 1 "Zombie " và gửi gói tin SYN/ACK đến Zombie đó và xem thử
IPID là bao nhiêu

B2: Hacker gửi gói tin SYN tới máy đích với IP giả mao là của Zombie
- Nếu máy đích gửi cho Zombielà RST có nghĩa port đóng, Zombie sẽ không gửi
tiếp gói nào nữa
- Hacker tiếp tục gửi gói tin SYN/ACK đến Zombie đó và xem thử IPID Giờ là
bao nhiêu nếu số này tăng lên có nghĩa port máy đích này đang mở
g. FTP Bounce Scan:
Kỹ thuật sử dụng FTP server trung gian để tấn công FTP server đích
Nhóm Page 10
Môn An Toàn Bảo Mật Mạng
Chuẩn bị tập tin: instrs
user ftp
pass -anonymous@
cwd /export-restricted-crypto
type i
port F,F,F,F,X,X
retr crypto.tar.Z
quit
đưa tập tin trên vào Bounce server và thực hiện kết nối gián tiếp tới server đích:
put instrs
quote "port C,C,C,C,0,21"
quote "retr instrs"
3. Banner Grabbing/OS Fingerprinting
Xác định dịch vụ và phiên bản tương ứng
Với kết quả mà hacker có được từ việc scan port giúp hacker xác định những dịch vụ nào
đang chạy trên máy chủ.Việc nayf rất quan trọng, lúc này hacker đã tiếp cận dần hơn với
máy chủ. Hacker thực hiện một kết nối đến dịch vụ trên port mà nó sử dụng Ví dụ như
FTP (21), SSH (22), Telnet (23), SMTP (25) …
Ví dụ thông thường nhất: telnet đến dịch vụ với cổng mà mình cần kiểm tra để xác định
banner của nó.
Nhóm Page 11

Môn An Toàn Bảo Mật Mạng
Câu lệnh khi thực hiện telnet cổng 80
OS Fingerprinting: Xác định hệ điều hành máy đích, phiển bản, …
Có 2 kiểu OS fingerprinting.
Active stack fingerprinting: dựa vào hệ điều hành khởi tạo TCP khác nhau để xác định
hệ điều hành đó là gì, phương thức gửi những gói tin tới máy đích và phân tích các gói tin
trả lời
Passive fingerprinting : không trực tiếp scan hệ thống để lấy thông tin về hệ điều hành
mà nó sử dụng kỹ thuật sniffing thay vì kỹ thuật scanning. Phương pháp này thì ít chính
xác hơn là active stack fingerprinting.
4. Scan for Vulnerable
Nhóm Page 12
Môn An Toàn Bảo Mật Mạng
Sau khi hacker đã xác định được OS và ứng dụng, sẽ tiến hành quét các lỗi của OS hay
ứng dụng đó, thông thường các tool lưu các lỗi bảo mật của các ứng dụng từ trước tới nay
vào database của mình, sau đó tiens hành dò quét các lỗi đó và tấn công.
Tool: nesus, netcat
5. Draw Network Diagram of Vulnerable host
Vẽ ra mô hình mạng đích, phục vụ cho việc tấn công
6. Prepare Proxies
Proxy là một Internet server làm nhiệm vụ chuyển tiếp thông tin và kiểm soát tạo sự an
toàn cho việc truy cập Internet của các máy khách, còn gọi là khách hàng sử dụng dịch vụ
internet.
Mục đích: che giấu IP thật của minh khi tấn công, thay vào đó là IP của proxy server
7. Attack
Kiểu tấn công khác
HTTP Tunneling:
Spoofing IP Address
Scanning Countermeasures
• Enumeration(điểm danh):

Giả sử những thông tin thu được không đem lại nhiều kết quả thì attacker sẽ chuyển sang xác
định tài khoảng các user hợp lệ hay các nguồn tài nguyên chia sẻ không được bảo vệ kỹ.
Enumeration liên quan đến những kết nối active đến các hệ thống và các câu truy vấn trực tiếp.
Các dạng thông tin được điểm danh bởi kẻ xâm nhập:
- Tài nguyên mạng và các phần dùng chung.
- Các user và các group.
- Các ứng dụng và các biểu ngữ(banner).
Net Bios Null Sessions:
Trong quá trình enumeration, attacker thu thập các thông tin như tên các user và group, routing
table, và dữ liệu SNMP.
• Null section thường được biết đến như là Holy Grail của Windows hacking. Đây là một
lỗi của Common Internet File System(CIFS) hoặc Server Messaging Block(SMB).
• Null section xảy ra khi chúng ta log vào một hệ thống với user trống và password trống.
• Sử dụng null section cho phép ta thu thập các thông tin sau từ host:
+ danh sách các user và group.
+ danh sách các thiết bị.
+ danh sách các vùng chia sẻ.
+ các user và host SIDs(Security Identifiers).
• Một null section là một kết nối không an toàn, không có bằng chứng nào để định danh.
Không có một sự xác nhận user, password nào được cung cấp khi thiết lập phiên làm
việc. Không có session key nào được trao đổi khi thiết lập một null section, và vì vậy hệ
Nhóm Page 13
Môn An Toàn Bảo Mật Mạng
thống không thể gửi thông điệp được mả hóa hay thậm chí được ký với tư cách là một
user trong null section.
Giao thức SMB(Server Message Block) được dùng để chia sẻ file trong Window NT/2000.
Attacker có thể chặn và định danh các gói tin SMB không đánh dấu sau đó định danh traffic và
forward nó để server thực hiện những hành động không mong muốn. Attacker có thể pose như là
server hay client sau một authentication hợp lệ và giành quyền truy cập dữ liệu.
Mỗi phiên SMB sử dụng tài nguyên của server. Việc thiết lập nhiều null session sẽ làm chậm

thậm chí phá hủy server ngay cả server 2003. Một attacker có thể lặp lại nhiều lần việc thiết lập
các SMB session cho đến khi server không response nữa.
Biện pháp đối phó Null Session:
- Null session yêu cầu truy xuất vào TCP port 139 hay TCP port 445.
- Ta có thể disable SMB service trên toàn bộ hay một vài host không bind WINS Client
TCP/IP từ interface.
- Chỉnh sửa registry để giới hạn các user nạc danh.
NetBIOS Enumeration:
- NBT scan là một chương trình scan IP các mạng để lấy thông tin NetBIOS.
- Với mỗi đáp ứng, nó liệt kê địa chỉ IP, NetBIOS computer name, logged-in user name và
địa chỉ MAC.
- Điều đầu tiên mà một attacker sẽ cố gắng thử trên Windows 2000 là lấy danh sách các
host.
1. net view/ domain.
2. nbstat –A<some IP>
SNMP Enummeration:
- SNMP thì đơn giản. Các manager gửi request đến các agent, và các agent gửi reply trở
lại.
- Các manager có thể gửi request để set các giá trị cho các biến nào đó.
- Traps cho phép manager biết được điều gì đang diễn ra ở phía agent:
+ reboot.
+ một interface hoạt động không như mong đợi.
+ một điều gì đó xấu đang tiềm ẩn.
SNMP là một giao thức quản lý mạng phổ biến trong TCP/IP. Nó là một giao thức đơn giản
request/response truyền đạt thông tin quản lý giữa 2 thực thể SNMP: SNMP applications(còn gọi
là SNMP manager) và SNMP agents.
Một bộ thông tin được gọi là MIB(Management Information Base). Hầu hết mỗi agent có một
MIB nhỏ cho phép manager thấy được các packet vào và ra hệ thống. Ngoài MIB cơ bản, mỗi
agent hỗ trợ một MIB khác chứa thông tin vể một mục đích cụ thể. Ví dụ, MIB của Window
NT/2000 sẽ báo cáo các user hiện tại trên thiết bị

Nhóm Page 14
Môn An Toàn Bảo Mật Mạng
Cách phòng chống SNMP Enumeration:
- Cách đơn giản nhất là remove SNMP agent hay tắt dịch vụ SNMP.
- Nếu tắt SNMP không được thì đổi default ‘public’ community name.
- Thực thi Group Policy security được gọi là các giới hạn cộng thêm đối với các kết nối
nạc danh.
- Giới hạn việc truy xuất vào null session pipes, null session shares và IPSec filtering.
II. Một số kiếu tấn công:
1. SQL Injection:
Cho phép những kẻ tấn công lợi dụng lỗ hỏng trong việc kiểm tra dữ liệu nhập trong các
ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để inject và thi hành các câu
lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước ) .Hậu quả của nó rất
tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu chỉnh,… do có
toàn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là Server mà ứng dụng đó đang chạy.Lỗi
này thường xảy ra trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sơ dữ
liệu như SQL Server, MySQL,Oracle,DB2,Sysbase.
• Các dạng tấn công bằng SQL Injection
Có 4 dạng tấn công thông thường gồm: vượt qua đăng kiểm lúc đăng nhập
(authorization bypass) ,sử dụng câu lệnh SELECT ,sử dụng câu lệnh INSERT ,sử dụng các
Stored-procedure.
• Dạng tấn công vượt qua kiểm tra đăng nhập.
Dạng tấn công này, tin tặc có thể dể dàng vượt qua các trang đăng nhập nhờ vào lỗi khi
dùng các câu lệnh SQL thao tác trên cơ sở dữ liệu của ứng dụng web.
Thông thường để cho phép người dùng truy cập vào các trang web được bảo mật, hệ
thống thường xây dựng trang đăng nhập để yêu cầu người dùng nhập thông tin về tên đăng nhập
và mật khẩu .Sau khi người dùng nhập thông tin vào, hệ thống sẽ kiểm tra tên đăng nhập và mật
khẩu có hợp lệ hay không để quyểt định cho phép hay từ chối thực hiện tiếp.
Thoạt nhìn dường như không chứa bất cứ một lỗ hổng về an toàn nào. Người dùng không
thể đăng nhập mà không có tên đăng nhập và mật khẩu hợp lệ. Tuy nhiên nó thưc sự không an

toàn và là tiền đề cho một lỗi SQL injection.Chổ sơ hở nằm ở chổ dữ liệu nhập vào từ người
dùng để xây dựng trực tiếp câu lệnh SQL. Chính điều này cho phép những kẻ tấn công có thể
điều khiển câu truy vấn sẽ được thực hiện .
• Dạng tấn công sử dụng câu lệnh SELECT
Dạng tấn công này phức tạp hơn. Để thực hiện được tấn công này ,kẻ tấn công phải có
khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi từ hệ thống để dò tìm các điểm yếu
khởi đầu cho việc tấn công.
Nhóm Page 15
Môn An Toàn Bảo Mật Mạng
Xét các website về tin tức. Thông thường , sẽ có trang nhận ID của tin cần hiển thị rồi sao
đó truy vấn nội dung của tin có ID này .Ví dụ :
/>Tuy nhiên , giống đăng nhập ở trước,nó để lộ sơ hở cho một lỗi SQL Injection khac.Kẻ tấn công
có thể thay thế một ID hợp lệ bằng cách gán ID cho một giá trị khác, và từ đó, khởi đầu cho một
cuộc tấn công bất hợp pháp, ví dụ như : 0 or 1=1 (nghĩa là
or 1=1).
• Dạng tấn công sử dụng câu lệnh INSERT
Thông thường các ứng dụng web cho phép người dùng đăng ký một tài khoản để tham
gia. Chức năng không thể thiếu là sau khi đăng ký thành công , người dùng có thể xem và hiệu
chỉnh thông tin của mình. SQL Injection có thể được dùng khi hệ thống không kiểm tra tính hợp
lệ của thông tin nhập vào.
• Dạng tấn công sử dụng Stored-procedures
Việc tấn công bằng stored-procedures sẽ gây hại rất lớn nếu ứng dụng được thực thi với
quyền quản trị hệ thống ‘sa’ .
• Cách phòng tránh
Như vậy có thể thấy lỗi SQL injection khai thác những bất cẩn của các lập trình viên phát
triển ứng dụng web khi xử lý các dữ liệu nhập vào để xây dựng câu lệnh SQL. Tác hại từ lỗi
SQL injection tùy thuộc vào môi trường và cách cấu hình hệ thống.Nếu ứng dụng sử dụng quyền
DBO(quyền của người sở hữu cơ sở dữ liệu ) khi thao tác dữ liệu , nó có thể xóa toàn bộ dữ liệu ,
tạo ra dữ liệu mới,… Nếu ứng dụng sử dụng sa (quyền quản trị hệ thống) , nó có thể điều khiển
toàn bộ hệ quản trị csdl và với quyền hạn rộng lớn như vậy nó có thể tạo ra các tài khoản người

dùng bất hợp pháp để điều khiển hệ thống của bạn. Để phòng tránh, ta có thể thực hiện ở 2 mức :
• Kiểm soat dữ liệu chặt chẽ nhập vào
Để phòng tránh nguy cơ có thể xảy ra. Hãy bảo vệ các câu lệnh SQL là bằng cách kiểm
soát chặt chẽ tất cả các dữ liệu nhập nhận từ đối tượng Request (Request,Request.QueryString,
Request.Form,Request.Cookie, and Request.ServerVariables).
• Thiết lập cấu hình an toàn cho hệ quản tri CSDL
Cần có cơ chế kiểm soát chặt chẽ và giới hạn quyền xử lý dữ liệu đến tài khoản người
dùng mà ứng dụng web đang sử dụng. Các ứng dụng thông thường nên tránh dùng đến các quyền
tự do như ‘dbo’ hay ‘sa’, Quyền càng bị hạn chế , thiệt hại càng ít. Ngoài ra để tránh các nguy cơ
từ SQL injection attack, nên chú ý bỏ bất kỳ thông tin kĩ thuật nào chứa trong thông điệp chuyển
Nhóm Page 16
Môn An Toàn Bảo Mật Mạng
xuống cho người dùng khi có ứng dụng lỗi. Các thông báo lỗi thông thường tiết lộ các chi tiết kỉ
thuật có thể cho phép kẻ tấn công biết được điểm yếu của hệ thống.
• Một số công cụ tấn công bằng SQL injection
 JetSQL1.1
 Sql demo scripts
 Oracle SQL Injection
 Shadow Database Scanner
 Sqldict
 webvulnscan
2. Sniffer:
• Sniffer là gì ?
- Khởi đầu Sniffer là tên một sản phẩm của Network Associates có tên là Sniffer Network
Analyzer.
- Sniffer được hiểu đơn giản như là một chương trình cố gắng nghe ngóng các lưu lượng
thông tin trong một hệ thống mạng.
- Tuy nhiên những giao dịch giữa các hệ thống mạng máy tính thường là những dữ liệu ở
dạng nhị phân (Binary). Bởi vậy để nghe lén và hiểu được những dữ liệu ở dạng nhị phân này,
các chương trình Sniffer phải có tính năng được biết như là sự phân tích các nghi thức (Protocol

Analysis), cũng như tính năng giải mã (Decode) các dữ liệu ở dạng nhị phân để hiểu được chúng.
 Tích cực :
- Sniffer được sử dụng như một công cụ để các nhà quản trị mạng theo dõi và bảo trì hệ thống
mạng.
- Chuyển đổi dữ liệu trên đường truyền để những quản trị viên có thể đọc và hiểu được ý
nghĩa của những dữ liệu đó.
- Bằng cách nhìn vào lưu lượng của hệ thống cho phép các quản trị viên có thể phân tích những
lỗi đang mắc phải trên hệ thống lưu lượng của mạng. Ví dụ như : Tại sao gói tin từ máy A không
thể gửi được sang máy B etc
- Một số Sniffer tân tiến còn có thêm tính năng tự động phát hiện và cảnh báo các cuộc tấn công
đang được thực hiện vào hệ thống mạng mà nó đang hoạt động (Intrusion Detecte Service).
- Ghi lại thông tin về các gói dữ liệu, các phiên truyền…Tương tự như hộp đen của máy bay,
giúp các quản trị viên có thể xem lại thông tin về các gói dữ liệu, các phiên truyền sau sự cố…
Phục vụ cho công việc phân tích, khắc phục các sự cố trên hệ thống mạng.
 Tiêu cực:
-Sniffer được sử dụng như một công cụ với mục đích nghe lén các thông tin trên mạng để lấy các
thông tin quan trọng.
- Tự động chụp các tên người sử dụng (Username) và mật khẩu không được mã hoá (Clear Text
Password). Tính năng này thường được các Hacker sử dụng để tấn công hệ thống của bạn.
 Bị nhìn trộm khi gỏ Password cũng là 1 hình thức Sniffer !
Nhóm Page 17
Môn An Toàn Bảo Mật Mạng
 Bị nghe lén Điện thoại cũng là Sniffer!
 Bị đọc trộm thư hay E-mail cũng là một hình thức Sniffer!
 Bị nhìn trộm nội dung Chat cũng là Sniffer!
• Hoạt động của sniffer :
Sniffer hoạt động chủ yếu dựa trên dạng tấn công ARP.
Tấn C ông ARP:
a. Giới thiệu:
Đây là một dạng tấn công rất nguy hiểm, gọi là Man In The Middle. Trong trường hợp

này giống như bị đặt máy nghe lén, phiên làm việc giữa máy gởi và máy nhận vẫn diễn ra
bình thường nên người sử dụng không hề hay biết mình bị tấn công.
b. Quá trình “đầu độc” ARP:
- Host A và Host B là 2 Máy tính đang “nói chuyện” với nhau.
Host C là “kẻ Sniffer”
- Ở Host A trên bảng ARP có lưu địa chỉ IP và MAC tương ứng của Host B.
- Ở Host B trên bảng ARP có lưu địa chỉ IP và MAC tương ứng của Host A.
- Host C thực hiện quá trình nghe lén: host C gữi các ARP packet tới cả Host A và Host B có nội
dung sau: “ tôi là A, B, MAC và IP của tôi là XX, YY”.
Quá trình đầu độc ARP:
- Host A nhận lầm Host C là Host B.
- Host B nhận lầm Host C là Host A.
Quá trình “nói chuyện” giữa Host A và Host B, tất cả thông tin đều bị Host C “nghe thấy”.
Tôi có thể Sniffer kết nối giữa 2 người mà tôi không có quyền truy cập
vào đường truyền của họ không ?
Hãy tưởng tượng :
Alice và Bob một người ở Berlin, một người ở London Họ đang truyền thông với nhau.
• Còn bạn, bạn đang ở Paris.
• Bạn muốn nghe trộm phiên truyền thông của họ ?
•Bạn không có quyền nhảy vào đường truyền của họ. Rất tiếc! Câu trả lời là không. Bạn phải
có quyền truy cập trên đường truyền mà bạn muốn Sniffer. Tuy nhiên nếu bạn là một Hacker
thực thụ thì vẫn có cách để bạn thực hiện mục đích này bằng cách dành được quyền truy cập từ
xa như :
Tấn công và đột nhập vào máy tính của Bob hay Alice cài đặt phầm mềm Sniffer, rồi từ xa bạn
chỉ việc khai thác thông tin.
Nhóm Page 18
Môn An Toàn Bảo Mật Mạng
• Tấn công đột nhập vào hệ thống mạng của ISP và cài đặt Sniffer.
• Hối lộ, lừa đảo nhân viên trong ISP để bạn tiến hành móc nối cài
• đặt các thiết bị, chương trình Sniffer trên các thiết bị vật lý của ISP này. Như đường dây

Cable chẳng hạn.
• Ngăn chặn những kẻ muốn Sniffer dữ liệu:
Đồng thời sử dụng các giao thức, phương pháp để mã hoá password cũng như sử dụng một
giải pháp chứng thực an toàn (Authentication):
 SSL (Secure Socket Layer)
 PGP và S/MIME
 OpenSSH
 VPNs (Virtual Private Networks)
• Ngăn chặn những kẻ muốn Sniffer Password:
 SMB/CIFS
 Keberos : Một giải pháp chứng thực dữ liệu an toàn được sử dụng trên Unix cũng như
Windows:
 Stanford SRP (Secure Remote Password) : Khắc phục được nhược điểm không mã hoá
Password khi truyền thong của 2 giao thức FTP và Telnet trên Unix.
• Ngăn chặn hành động Sniffer trên những thiết bị phần cứng:
Thay thế Hub của bạn bằng những Switch. Switch sẽ tạo ra một “Broadcast Domain” nó có
tác dụng gửi đến những kẻ tấn công những gói ARP không hợ lệ (Spoof ARP Packet).
Tuy nhiên các Hacker vẫn có những cách thức khéo léo để vượt qua sự phòng thủ này.
Các yêu cầu truy vấn ARP chứa đựng những thông tin chính xác từ IP cho đến MAC của người
gửi. Thông thường để giảm bớt lưu lượng ARP trên đường truyền, đa số các máy tính sẽ đọc và
sử dụng các thông tin từ bộ đệm (Cache) mà chúng truy vấn được từ Broadcast.
Bởi vậy một Hacker có thể Redirect những máy tính gần mình để vượt qua sự phòng thủ này
bằng cách gửi những gói ARP chứa đựng những thông tin về địa chỉ IP của Router đến chính địa
chỉ MAC của anh ta. Tất cả những máy tính trong hệ thống mạng cục bộ này sẽ nhầm tưởng anh
ta là Router và sẽ thiết lập phiên truyền thông đi qua máy tính của anh ta.
Một cuộc tấn công DOS tương tự trên một hệ thống mạng cục bộ, khi thành công sẽ đá văng
mục tiêu mà họ muốn tấn công ra khỏi mạng. rồi bắt đầu sử dụng chính địa chỉ IP của máy tính
vừa bị tấn công này. Những kẻ tấn công sẽ khéo léo thừa kể và sử dụng những kết nối này. Bản
than Windows khi phát hiện được hành động này, nó không hành động gì cả mà lại tử tế đóng
Stack TCP/IP của chính mình và cho phép kết nối này tiếp tục.

Để phòng chống lại các cuộc tấn công dạng bạn chỉ cần sử dụng các công cụ IDS (Intrusion
Detecte Service). Các IDS như BlackICE IDS, Snort sẽ tự động phát hiện và cảnh báo về các
cuộc tấn công dạng này.
Nhóm Page 19
Môn An Toàn Bảo Mật Mạng


Hầu hết các Adapter Ethernet đều cho phép cấu hình địa chỉ MAC bằng tay. Hacker có thể
tạo ra các địa chỉ Spoof MAC bằng cách hướng vào các địa chỉ trên Adapter. Để khắc phục điều
này, hầu hết các Switch đều không cho phép tự ý cấu hình lại các địa chỉ MAC.
• Một số phương pháp để phát hiện Sniffer trên hệ thống mạng của mình:
Khi sniffer đứng đơn lẻ trên một máy tính không có sự truyền thông thì sẽ không có dấu hiệu gì.
Tuy nhiên nếu được cài đặt trên một máy tính không đơn lẻ và có sự truyền thông, bản thân
Sniffer sẽ phát sinh ra lưu lượng thông tin. Bạn có thể truy vấn ngược DNS để tìm thông tin liên
quan đến những địa chỉ IP.
Dưới đây liệt kê một số phương pháp để phát hiện Sniffer :
• Phương pháp dùng Ping:
Hầu hết các chương trình Sniffer được cài đặt trên các máy tính trong mạng sử dụng TCP/IP
Stack. Bởi vậy khi bạn gửi yêu cầu đến những máy tính này, chúng sẽ phản hồi lại cho bạn kết
quả. Bạn hãy gửi một yêu cầu phản hồi tới địa chỉ IP của máy tính nào đó trong mạng (máy mà
bạn cần kiểm tra xem có bị cài đặt Sniffer hay không), nhưng không thông qua Adapter Ethernet
của nó.
Lấy ví dụ cụ thể :
1. Bạn nghi ngờ máy tính có địa chỉ IP là 10.0.0.1, có địa chỉ MAC là 00-40-05-A4-79-32. Đã bị
cài đặt Sniffer.
2. Bạn đang ở trong cùng một hệ thống mạng Ethernet mà bạn nghi ngờ có kẻ đã tiến hành
Sniffer.
4. Bạn Ping đến địa chỉ IP và địa chỉ MAC mới.
5. Trên nguyên tắc không một máy tính nào có thể nhìn thấy có thể nhìn thấy được Packet này.
Bởi Adapter Ethernet chỉ chấp nhận những địa chỉ MAC hợp lệ của chính nó.

6. Nếu bạn thấy sự trả lời từ địa chỉ mà bạn nghi ngờ không phải trên địa chỉ lọc của MAC
(MAC Address Filter) trên Ethernet Card…Máy tính có địa chỉ IP 10.0.0.1 đã bị cài đặt Sniffer
Bằng các kỹ thuật của mình các Hacker vẫn có thể né tránh được phương pháp nêu trên. Các
Hacker sẽ sử dụng những MAC Address ảo. Rất nhiều hệ thống máy tính trong đó có Windows
có tích hợp khả năng MAC Filtering.
Windows chỉ kiểm tra những byte đầu tiên. Nếu một địa chỉ MAC có dạng FF-00-00-00-00-00,
thì đơn giản Windows sẽ coi nó là FF-FF-FF-FF-FF-FF. Đây là sơ hở cho phép các Hacker có
thể khai thác đánh lừa hệ thống máy tính của bạn.
Kỹ thuật phát hiện Sniffer đơn giản này thường được sử dụng trên các hệ thống Ethernet dựa
trên Switch và Bridge.
• Phương pháp sử dụng ARP:
Phương pháp phát hiện Sniffer này tương tự như phương pháp dùng Ping.
Nhóm Page 20
Môn An Toàn Bảo Mật Mạng
Khác biệt chỗ chúng ta sẽ sử dụng những Packet ARP. Đơn giản bạn chỉ cần gửi một Packet
ARP đến một địa chỉ nào đó trong mạng (không phải Broadcast). Nếu máy tính đó trả lời lại
Packet ARP bằng địa chỉ của chính nó. Thì máy tính đó đang cài đặt Sniffer ở chế độ hỗn tạp
Mỗi Packet ARP đều chứa đầy đủ thông tin về người gửi và người nhận. Khi Hacker gửi một
Packet ARP đến địa chỉ loan truyền tin (Broadcast Address), nó bao gồm thông tin về địa chỉ IP
của bạn và địa chỉ MAC được phân giải bởi Ethernet. Ít phút sau mọi máy tính trong hệ thống
mạng Ethernet đều nhớ thông tin này. Bởi vậy khi Hacker gửi các Packet ARP không đi qua
Broadcast Address. Tiếp đó anh ta sẽ ping đến Broadcast Address. Lúc này bất cứ máy tính nào
trả lời lại anh ta mà không bằng ARPing, anh ta có thể chụp được các thông tin về địa chỉ MAC
của máy tính này bằng cách sử dụng Sniffer để chụp các khung ARP (ARP Frame).
• Phương pháp sử dụng DNS :
Rất nhiều chương trình Sniffer có tính năng phân giải ngược các địa IP thành DNS mà chúng
nhìn thấy (như dsniff). Bởi vậy khi quan sát lưu lượng truyền thông của DNS bạn có thể phát
hiện được Sniffer ở chế độ hỗn tạp (Promiscuous Mode).
Để thực hiện phương pháp này, bạn cần theo dõi quá trình phân giải ngược trên DNS Server
của bạn. Khi bạn phát hiện được những hành động Ping liên tục với mục đích thăm dò đến

những địa chỉ IP không tồn tại trên hệ thống mạng của bạn. Tiếp đó là những hành động cố
gắng phân giải ngược những địa chỉ IP được biết từ những Packet ARP. Không gì khác đây
là những hành động của một chương trình Sniffer.
• Phương pháp Source-Route :
Phương pháp này sử dụng những thông tin như địa chỉ nguồn và địa chỉ đích trong mỗi
Header của IP để phát hiện hành động Sniff trên từng đoạn mạng. Tiến hành ping từ một máy
tính này đến một máy tính khác. Nhưng tính năng Routing trên máy tính nguồn phải được vô
hiệu hoá. Hiểu đơn giản là làm thế nào để gói tin này không thể đi đến đích. Nếu như bạn
thấy sự trả lời, thì đơn giản hệ thống mạng của bạn đã bị cài đặt Sniffer.
Để sử dụng phương pháp này bạn cần sử dụng vào một vài tuỳ chọn trong Header IP. Để
Router sẽ bỏ qua những địa chỉ IP đến và tiếp tục chuyển tiếp đến những địa chỉ IP trong tuỳ
chọn Source-Route của Router.
Lấy một ví dụ cụ thể : Bob và Anna cùng nằm trên một đoạn mạng. Khi có một người khác
trên cùng đoạn mạng gửi cho cô ta vài Packet IP và nói chuyển chúng đến cho Bob. Anna
không phải là một Router, cho lên cô ta sẽ Drop tất cả Packet IP mà người kia muốn chuyển
tới Bob (bởi cô ta không thể làm việc này). Một Packet IP không được gửi đến Bob, mà anh
ta vẫn có thể trả lời lại được. Điều này vô lý, anh ta đã sử dụng các chương trình Sniffer.
• Phương pháp giăng bẫy (Decoy):
Tương tự như phương pháp sử dụng ARP nhưng nó được sử dụng trong những phạm vi
mạng rộng lớn hơn (gần như là khắp nơi). Rất nhiều giao thức sử dụng các Password không
được mã hoá trên đường truyền, các Hacker rất coi trọng những Password này, phương pháp
Nhóm Page 21
Môn An Toàn Bảo Mật Mạng
giăng bẫy này sẽ thoả mãn điều đó. Đơn giản bạn chỉ cần giả lập những Client sử dụng
Service mà Password không được mã hoá như : POP, FTP, Telnet, IMAP Bạn có thể cấu
hình những User không có quyền hạn, hay thậm chí những User không tồn tại. Khi Sniff
được những thông tin được coi là «quý giá» này các Hacker sẽ tìm cách kiểm tra, sử dụng và
khai thác chúng Bạn sẽ làm gí kế tiếp ???
• Phương pháp kiểm tra sự chậm trễ của gói tin (Latency) :
Phương pháp này sẽ làm giảm thiểu sự lưu thông trên hệ thống mạng của bạn. Bằng cách gửi

một lượng thông tin lớn đến máy tính mà bạn nghi là đã bị cài đặt Sniffer. Sẽ không có hiệu ứng
gí đáng kể nếu máy tính đó hoàn toàn không có gì. Bạn ping đến máy tính mà bạn nghi ngờ đã bị
cài đặt Sniffer trước thời gian chịu tải và trong thời gian chị tải. Để quan sát sự khác nhau của 2
thời điểm này.
Tuy nhiên phương pháp này tỏ ra không mấy hiệu quả. Bản thân những Packet IP được gửi
đi trên đường truyền cũng gây ra sự trậm trễ và thất lạc. Cũng như những Sniffer chạy ở chế độ
“User Mode” được xử lý độc lập bởi CPU cũng cho ra những kết quả không chính xác.
Do đây chỉ mà một tài liệu có tính chất căn bản giới thiệu về Sniffer, nên tôi sẽ không đề cập
đến cách thức để sử dụng Sniffer trên các hệ thống mạng. Tuy nhiên tôi vẫn nêu qua những hệ
thống mạng có thể bị Sniffer:
 Cable Modem.
 DSL.
 ADSL.
 Switched Network.
 Wireless like IEEE 802.11 a.k.a. AirPort (hệ thống mạng không dây).
Những giao thức mà thông tin Password không được mã hoá, khá nguy hiểm khi bị Sniffer:
 Telnet, Rlogin.
 SNMP.
 NNTP.
 POP, IMAP, SMTP, FTP.
….
• 5. Phần mềm để sniffer :
CAIN & ABEL (Sử dụng phần mềm CAIN):
Yêu cầu về phần cứng:
- ổ cứng cần trống 10 Mb
- hệ điều hành Win 2000/2003/XP
- cần phải có Winpcap
Phiên bản càng mới càng tốt
Chương trình WireShark:
- Là một chương trình Sniffer hiệu quả!

Nhóm Page 22
Môn An Toàn Bảo Mật Mạng
- Có khả năng bắt được hầu hết các gói tin, của rất nhiều các giao thức.
Có thể dùng để kiểm tra lưu lượng băng thông, phân loại lưu lượng theo từng giao thức.
- Nhược điểm: Không có sẵn bộ giải mã và bộ lọc password như Cain
Thông tin hiển thị là dạng thô.
3. Buffer Overflow:
• Giới thiệu chung & khái niệm:
 Buffer Overflow là lỗi khi chương trình không kiểm tra kích thước dữ liệu đầu
vào.
 Kích thước dữ liệu đầu vào lớn hơn bộ nhớ khai báo khi lập trình à phần dữ liệu
dư ra đè lên một vùng bộ nhớ nào đó.
Ví dụ:
int main(int argc, char **argv, char **envp)
{
char buf[256];
strcpy(buf, argv[1]);
return 0;
}
void main(int argc, char **argv)
{
char *buffer = (char *) malloc(16);
char *input = (char *) malloc(16);
strcpy(buffer,”AAAAAAAAAAAAAAA”);
strcpy(input,argv[1]);
printf(“%s”,buffer);
}
• Tác hại:
 Buffer overflow là lỗi khá phổ biến và nguy hiểm.
 Tác hại:

 Treo chương trình
 Attacker có thể chạy các đoạn mã theo ý muốn trên máy của nạn nhânà
chiếm quyền điều khiển, cài đặt virus…
• Phân loại:
 Chia làm 2 loại (tùy theo vùng bộ nhớ bị đè )
 Stack Overflow
 Heap Overflow
• Stack overflow:
 Khi quá trình ghi đè diễn ra trong stack à stack overflow
 Nếu số byte bị đè đủ nhiều thì return address cũng sẽ bị đè lên
 Nếu return address chứa một địa chỉ trỏ tới một đoạn chương trình thì đoạn
chương trình đó sẽ được thực hiện
Nhóm Page 23
Môn An Toàn Bảo Mật Mạng
• Khai thác lỗi Stack Overflow
 Đưa được đoạn chương trình theo ý muốn vào bộ nhớ
 Lợi dụng quá trình quay lại khi gọi chương trình con để thực hiện đoạn chương
trình. Đơn giản nhất là ghi địa chỉ lệnh đầu tiên của đoạn chương trình vào return
address à khi quay lại, địa chỉ đầu tiên của đoạn chương trình được đưa vào eip
• Một vi du về khai thác lỗi:
- Phương pháp khai thác dùng trong trường hợp này là lợi dụng lệnh call esp trongchương
trình bị lỗi.
- Trong module in_mp3.dll có lệnh call esp tại địa chỉ 0x0202D961 (windows xp2).
- Ta sẽ ghi giá trị 0x0202D961 đè lên địa chỉ return khi bị buffer overflow.
- Trạng thái của stack khi tràn :
NOP
Shellcode
0x0202D961
mã máy thực hiện
quay lại đầu

shellcode
- Địa chỉ return là 0x0202D961, lệnh được thực hiện là call esp. Lúc này esp trỏ ào địa chỉ
sau return address, tức là trỏ vào đầu mã máy thực hiện quay lại đầu shellcode.
- Mã máy thực hiện, eip sẽ trỏ vào đầu shellcode.
• Stack Overflow – Exploit:
Nhóm Page 24
return address
Môn An Toàn Bảo Mật Mạng
 Dữ liệu làm tràn truyền vào chứa shellcode.
 Vấn đề là tính toán sao cho return address trỏ vào lệnh đầu tiên của shellcode.
 Các đoạn chương trình nguy hiểm có thể được đưa vào qua shellcode và chạy trên
máy nạn nhân:
 Cài đặt virus, worm v.v…
 Mở cổng trên máy nạn nhân và kết nối vào cổng đó để điểu khiển
 Phá hoại dữ liệu
 Bắt mọi lỗi ngay khi lập trình. Ví dụ:
 Thu hồi bộ nhớ cho biến động
 Kiểm tra kích thước, khuôn dạng dữ liệu nhập vào….
• Công cụ :
 Công cụ:OllyDbg:
 PC Tools ThreatFire:chống lai tấn Buffer Overflow.
4. Session Hijacking:
• Khái niệm Session Hijacking:
Session Hijacking (đánh cướp Session) là sử dụng Session của một người dùng nào đó,
đã tạo được kết nối hợp lệ bằng một phương thức không hợp lệ.
• Mô tả Session Hijacking :
PC A và PC B kết nối thành công với nhau, kẻ tấn công chiếm lấy session ID của PC A
để kết nối với PC B, dĩ nhiên lúc này PC B cho rằng kẻ tấn công là PC A, khi đó kẻ tấn công có
tất cả quyền thực hiện các hành động mà PC A có thể thực hiện.
• Bảo mật Session Hijacking:

 Đây là lỗi có mức độ nguy hiểm. Lỗi được khai thác thông qua định danh Session
của người dùng, tuy nhiên khả năng thành công không cao.
 Một khi đã chiếm được Session của người dùng nào đó, kẻ tấn công sẽ có quyền
truy cập như người dùng đó
Nhóm Page 25

×