1. Đá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.
Mục tiêu:
+ Thực hiện theo một cách tiếp cận có cấu trúc cho sự thâm nhập hệ thống Unix
+ Tăng truy cập ban đầu và sau đó tăng đặc quyền với hệ thống
+ Để vượt qua quyền root và tăng lây lan tấn công đối với hệ thống và các mức
khác nhau.
+ Hiểu được các vấn đề an toàn Unix và các phương pháo bảo vệ.
Kết quả:
+ 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
+ Nhà cung cấp hệ điều hành
+ Nhà cung cấp thứ ba và phần mềm bổ sung
+ Danh sách các máy chủ bị xâm nhập.
1.1. Phương pháp
+ Không có các phương thức thủ tục để đạt được quyền truy cập root vào hệ thống. Tuy
nhiên các lỗ hổng tồn tại cho phép truy cập root từ xa một cách đơn giản. Dù sao nếu
một hệ thống có lỗ hổng, nó sẽ dễ dàng phát hiện. tuy nhiên một kẻ tấn công sẽ cố
gắng vượt qua thông qua các phương tiện khác, hoặc lỗ hổng, và công việc của chúng
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:
+ Xác định máy chủ hoạt động
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
tin. 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ú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
hộ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.
Kết quả
Tên người sử dụng, địa chỉ hòm thư, thời gian đăng nhập/đăng xuất, các tập tin kế
hoạch, shell mặc định.
Tiến trình
Finger
Rwho
Ruser
SMTP
1.4.1.1. Xác định người sử dụng: Finger
+ Dịch vụ finger trình bày hệ thống thông tin người sử dụng đối với bất kỳ thực thể nào
trên mạng. Finger làm việc trên cổng 79 TCP/UDP.
+ 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
+ Lựa chọn:
#finger –l @target.com
#finger –l
#finger –l ‘abcdefgh’@target.com
+ Kết quả:
#finger
Login: root Name: root
Directory: /root Shell: /bin/bash
On since Mon Oct 13 22:06 (IST) on tty1 54 seconds idle
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.
Các bước thực hiện
#rwho -a wally becky smith
Ví dụ / kết quả
#rwho -a wally becky smith
becky cygnus:pts0 Jan 17 11:20 :12
smith aquila:ttyp0 Jan 15 09:52 :22
wally lyra:pts7 Jan 17 13:15 1:32
wally lyra:pts8 Jan 17 14:15 1:01
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
Đ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:
+ 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.4. Xác định người sử dụng: SMTP
Dịch vụ giao thức truyền nhận thư điện tử đơn giản làm việc trên cổng 25 và có hỗ trợ
nhâ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 đó.
1.4.1.5. Xác định người sử dụng:RPCINFO
Mô tả
Máy chủ từ xa và chúng ta không biết tên người dùng như các phương thức đã thất bại
trước. Trong suốt quá trình điều tra chúng ta đi đến thực tế rằng máy chủ là chạy
portmap. Không thể tốt đẹp nếu chúng ta không biết tên của chuong trình chạy, do đó
chúng ta có thể cố gắng khai thác những dịch vụ và sẽ không cần phải chờ đợi cho việc
crack tên người dùng và mật khẩu. Tất cả chúng ta cần phải làm là thăm dò các mục tiều
cho thông tin rpc.
Từng bước thực hiện
#rpcinfo -p target
Ví dụ / kết quả -1
#rpcinfo -p target
program vers proto port
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100232 10 udp 32772 sadmind
100221 1 tcp 32772
100068 2 udp 32773
100068 3 udp 32773
100068 4 udp 32773
100068 5 udp 32773
300326 4 tcp 32773
100249 1 udp 32778
100249 1 tcp 32779
động hệ thống, người dùng/ chia sẻ, thời gian, tên hệ thống, dịch vụ, thay đổi cấu hình
thiết bị như ( thiết bị định tuyến router, tường lửa,vv…)\
Mụ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
2. chuỗi nhóm Bruteforce
3. Hệ điều hành quét thiết bị, cố gắng khám phá nhà cung cấp và sử dụng mặc định
danh sách mật khẩu.
4. Thăm dò
1.5.1.2. Lấy giá trị MIB bằng SNMP walking và pilfer dành cho thông tin
17. Xác định hệ thống hệ điều hành
18. Xác định thời gian máy chủ
19. Xác định quy trình / dịch vụ
20. Xác định chia sẻ thông tin
21. Xác định người sử dụng
Chứ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
}
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.
function getip()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),
"0.0.0.0"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") &&
strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "0.0.0.0"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),
"0.0.0.0"))
$ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']
&& strcasecmp($_SERVER['REMOTE_ADDR'], "0.0.0.0"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "0.0.0.0";
return($ip);
}
1. Truy cập TFTP
2. Kiểm tra trạng thái của máy
3. Kết nối đến máy chủ TFTP
4. Dự đoán và lấy các tập tin
1.5.2.1. Truy cập TFTP
Ví dụ / kết quả
#tftp
tftp>_
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
Ví dụ / kết quả
tftp>status
Not connected.
Mode: netascii Verbose: off Tracing: off
Max-timeout: 25 seconds
tftp> _
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ả
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.
1.6.4. Tràn ngăn sếp
Lỗi tràn bộ đệm được phân loại thành hai loại là tràn ngăn xếp và tràn đống, bản chất của
tràn phụ thuộc vào việc phân bố bộ nhớ.
Các vị trí thực tế trên stack được thành lập bởi các lệnh PUSH và POP tương ứng. Một
giá trị được đẩy vào ngăn xếp được sao chép vào vị trí bộ nhớ và chỉ khi thực hiện xảy ra.
Con trỏ ngăn xếp(sp). Sp sau đó sẽ được giảm di như ngăn xếp tuần tự di chuyển xuống,
để 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:
Strcat(), 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
đệ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 nfs
3.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
Mô tả
Đưa ra cấu hình của /etc/exports
Mục tiêu
Gắn kết hệ thống tập tin từ xa, tải về tất cả các tệp tin có liên quan, sửa đổi cấu hình
hệ thống.
Kết quả dự kiến
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
Chấp nhận dịch vụ được đưa ra
Quy trình
1.liệt kê các chia sẻ mục tiêu
2. Gắn kết chia sẻ
3. Ăn cắp thông tin
Ví dụ / kết quả
#mount -t nfs target:/share /mnt
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.
Ví dụ / kết quả
[localhost]# cmsd.sh quake 192.168.1.xxx 2 192.168.1.xxx
Executing exploit
rtable_create worked
clnt_call[rtable_insert]: RPC: Unable to receive; errno = Connection reset by peer
Biện pháp đối phó
Biện pháp bảo vệ tốt nhất chống lại các cuộc tấn công từ xa RPC là để vô hiệu hóa bất kỳ
dịch vụ RPC đó là không hoàn toàn cần thiết. Nếu một dịch vụ RPC là rất quan trọng đến
hoạt đọng của máy chủ, xem xét việc thực hiện các thiết bị kiểm soát truy cập cái mà chỉ
cho phép các hệ thống được ủy quyền liên hệ với các cổng RPC, mà có thể rất khó khăn
tùy thuộc vào môi trường. Xem xét việc cho phép một ngăn xếp nếu được hỗ trợ bởi hệ
thống hệ điều hành. Ngoài ra, hãy xem xét sử dụng RPC an toàn nếu được hỗ trợ bởi
phiên bản UNIX. An toàn RPC cung cấp mức độ xác thực sau khi mật mã public-key. An
toàn RPC không phải là thuốc chữa bách bệnh vì nhiều nhà cung cấp UNIX đã không
đượ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
Mục đích kiểm tra
Xác nhận hệ thống có bị nhiễm các chương trình Key logger hay không?
Quy 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
+ Keylogger Killer
+ Spyblaster
+ Spybot S&D
1.6.16. Đánh giá an toàn vật lý
Mô tả
Đây là cách thức kiểm tra mức độ an toàn ở mức vật lý của hệ thống.
Mục đích 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
2.4. Mô tả
Để hiểu việc thực hiện an toàn, chúng ta sẽ phải hiểu vài thuật ngữ sau:
Điều hành:
Điều hành là một phần của hệ thống thực hiện trong chế độ nhân, và được chia thành ba
cấp độ. Mức thấp nhất được gọi là HAL, cung cấp một bản tóm tắt quan điểm kiến trúc máy tính
cơ bản. Động cơ lớp này làm cho hệ thống di động.
Bảo vệ hệ thống con:
Một hệ thống con được bảo vệ cung cấp một giao diện lập trình ứng dụng (API). Hệ thống con
được bảo vệ đôi khi được gọi là máy chủ, hoặc bảo vệ máy chủ, và được thực hiện trong chế độ
người dùng như các quá trình với một số các đặc quyền. Khi một ứng dụng gọi API, một tin
nhắn được chuyển đến máy chủ thực hiện các các tiện ích API thông qua các thiết bị LPC. Sau
+ 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:
2.8.1. Whois
Mô tả
whois là một chương trình mà sẽ cho bạn biết chủ sở hữu của bất kỳ tên miền hoặc địa chỉ IP.
Từng bước thực hiện
Dự đoán tên miền và địa chỉ IP và dải địa chỉ IP
Ví dụ / kết quảC:\>whois 212.13.208.91
% This is the RIPE Whois secondary server.
% The objects are in RPSL format.
%
% Rights restricted by copyright.
% See
inetnum: 212.13.208.0 - 212.13.211.255
changed: 20030112
Công cụ hỗ trợ
command-line Win32 & Linux whois
Đọc thêm
/> />2.8.2. Bộ máy tìm kiếm
Mô tả
Mộ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
Từng bước thực hiện
Nỗ lực tìm kiếm khác nhau với tất cả các phím phân tích kết quả và thêm tìm kiếm nhiều hơn với
những kết quả này.
Ví dụ/kết quả
/>8&filter=0
/>8&q=&meta=
/>+org&num=50&hl=
es&lr=&ie=UTF-8&as_qdr=all&filter=0
/>8&as_qdr=all&q=%22212.13.208.91%22
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.
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
Ví dụ/kết quả
Using enum.exe (
“Example HERE”
Using ADSI, create the script userlist.vbs with the following contents:
sDomain = "YourDomain"
Set oDomain = GetObject("WinNT://" & sDomain)
oDomain.Filter = Array("User")
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.
Biện pháp đối phó
Hạn chế truy cập nặc danh để đang ký và truy cập công cộng tới các cổng 135-139 và 445.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\RestrictAnonymous=2
Công cụ hỗ trợ
/>2.9.2. Xác định chia sẻ thông tin
Mô tả
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
setting up session success.
password policy:
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ủ.
Biện pháp đối phó
Hạn chế truy cập nặc danh để đăng ký truy cập công cộng 135-139 và 445.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\RestrictAnonymous=2
2.9.4. Danh sách MIB
Mô tả
Có thể liệt kê hệ thống MIB sử dụng giao thức SNMP, cung cấp cho bạn một số thông tin như
tên người dùng, dịch vụ đang chạy hay các cổng đang mở. Hầu hết sử dụng việc truy cập MIBs
là “public” và “private”.
Điều kiện tiên quyết
Cổ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á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.
Ví 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.
Biện pháp đối phó
Hạn chế truy cập cổng 135-139 và 445
2.10. Sơ đồ mạng
2.10.1. Xác định máy chủ trực tiếp
Mô tả
Bạn có thể xác định máy chủ trực tiếp trên mạng. Mỗi máy chủ trực tiếp có thể trở thành mục
tiêu tiềm năng
Từng bước thực hiện
Ping quét toàn bộ gói tin
Ví dụ/ kết quả
Sử dụng pingger
Sử dụng tiện ích SolarWinds Pingsweep
Sử dụng Nmap
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