Professional Documents
Culture Documents
Thu thập thông tin và Nhận dạng lỗ hổng bảo mật là các mục tiêu
chính của kỳ thi chứng nhận CompTIA PenTest + bao gồm việc thu
thập thông tin và quét lỗ hổng cũng như cách phân tích và sử dụng
thông tin quét lỗ hổng. Trong chương này, bạn sẽ khám phá cách
thu thập thông tin về một tổ chức bằng cách sử dụng trí thông minh
của các công cụ nguồn mở thụ động (OSINT) cũng như các phương
pháp liệt kê và quét chủ động.
Chúng ta cũng sẽ xem xét các kỹ thuật quan trọng khác bao gồm tạo
gói tin, thu thập và kiểm tra thông tin, phân tích mã để thu thập
thông tin tình báo và các kỹ thuật liên quan.
Vì đây là thử nghiệm hộp đen, trước tiên bạn phải xác định miền, dải IP và
thông tin khác của tổ chức, sau đó xây dựng và thực hiện kế hoạch thu thập
thông tin.
Kịch bản này tiếp tục trong suốt Chương 3 và được mở rộng trong cả
Chương 4, “Quét lỗ hổng bảo mật” và Chương 5, “Phân tích các bản quét lỗ
hổng bảo mật”.
OSINT
OSINT bao gồm dữ liệu từ các nguồn có sẵn công khai, chẳng
hạn như công ty đăng ký DNS, tìm kiếm trên web, công cụ tìm
kiếm tập trung vào bảo mật như Shodan và Censys, và vô số nguồn
thông tin khác. Nó cũng bao gồm thông tin ngoài thông tin tổ chức
lấy công nghệ làm trung tâm. Phương tiện truyền thông xã hội, hồ
sơ thuế doanh nghiệp, thông tin công khai và thậm chí thông tin
được tìm thấy trên trang web của tổ chức có thể là một phần của thu
thập thông tin tình báo nguồn mở.
Mục tiêu của quá trình thu thập OSINT là thu được thông tin cần
thiết để thực hiện kiểm tra thâm nhập hiệu quả. Vì các thử nghiệm
sẽ khác nhau về phạm vi và nguồn lực, nên một danh sách thông tin
mong muốn được xây dựng cho mỗi hoạt động tham gia. Điều đó
không có nghĩa là bạn không thể làm việc từ một danh sách chuẩn
hóa, nhưng nó có nghĩa là bạn cần xem xét loại tương tác, thông tin
bạn có sẵn và thông tin bạn cần để hiểu mục tiêu của mình một cách
hiệu quả. Việc thu thập OSINT có thể tiếp tục trong suốt quá trình
tham gia khi bạn phát hiện ra thông tin bổ sung mà bạn muốn có
được hoặc nếu bạn tìm thấy các mục bổ sung trong phạm vi yêu cầu
bạn thực hiện thêm nghiên cứu.
Tài nguyên cho các tiêu chuẩn Kiểm tra
Các tiêu chuẩn để kiểm tra thâm nhập thường bao gồm các quy trình và
hướng dẫn về dấu chân và do thám. Có một số tài nguyên có sẵn công khai,
bao gồm Sổ tay hướng dẫn phương pháp kiểm tra bảo mật nguồn mở
(OSSTM), Kiểm tra thâm nhập
Tiêu chuẩn Thực thi, và Ấn phẩm Đặc biệt của Viện Tiêu chuẩn và Công nghệ
Quốc gia (NIST) 800-115, Hướng dẫn Kỹ thuật Kiểm tra và Đánh giá An toàn
Thông tin.
■✓
OSSTM: http://www.isecom.org/research/
■✓
Penetration Testing Execution Standard: http://www.pentest-
standard.org/ index.php/Main_Page
■✓
SP 800-115: http://csrc.nist.gov/publications/nistpubs/800-
115/SP800-115 .pdf
Tiêu chuẩn Thực thi Kiểm tra Thâm nhập cung cấp một danh sách các mục
tiêu OSINT rất hữu ích có thể giúp bạn xây dựng một danh sách các mục tiêu
OSINT tiềm năng.
N IST
Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) cung cấp các tiêu
chuẩn, tài nguyên và khuôn khổ cho an ninh mạng. Theo quan điểm
của người kiểm tra thâm nhập, SP 800-115, Hướng dẫn kỹ thuật để
kiểm tra và đánh giá bảo mật thông tin, là một tài liệu hướng dẫn
quan trọng, đặc biệt nếu bạn làm việc với chính phủ Hoa Kỳ hoặc
nhà thầu chính phủ.
Bạn có thể đọc tất cả SP 800-115 tại
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication8
00-115.pdf.
MITRE
Công ty MITER là một tập đoàn phi lợi nhuận của Hoa Kỳ thực
hiện nghiên cứu và phát triển do liên bang tài trợ. Trong số các công
cụ mà nó đã phát triển hoặc duy trì có một số lược đồ phân loại hữu
ích cho người kiểm tra thâm nhập:
■✓ Danh sách Liệt kê và Phân loại Mẫu Tấn công Chung (CAPEC)
là một nguồn tài nguyên nhằm giúp xác định và ghi lại các cuộc
tấn công và các kiểu tấn công. Nó cho phép người dùng tìm
kiếm các cuộc tấn công theo cơ chế hoặc miền của họ và sau đó
chia nhỏ từng cuộc tấn công theo các thuộc tính và điều kiện
tiên quyết khác nhau. Nó cũng đề xuất các giải pháp và giảm
thiểu, có nghĩa là nó có thể hữu ích cho việc xác định các biện
pháp kiểm soát khi viết báo cáo thử nghiệm thâm nhập. Đọc qua
CAPEC cũng có thể giúp người kiểm tra xác định các phương
pháp tấn công mà họ có thể đã bỏ qua và nó cũng có thể hữu ích
cho việc phát triển các cuộc tấn công mới. CAPEC có thể được
tìm thấy tại https://capec.mitre.org.
■✓ Danh sách Lỗ hổng phổ biến và Phơi nhiễm (CVE) xác định các
lỗ hổng theo tên, số và mô tả. Điều này làm cho công việc của
một người kiểm tra thâm nhập dễ dàng hơn, vì các nhà cung cấp,
nhà phát triển khai thác và những người khác có thể sử dụng một
sơ đồ chung để chỉ các lỗ hổng. Danh sách CVE sẽ có định dạng
CVE- [YEAR] - [NUMBER]. Ví dụ: lỗi Meltdown 2017 được
chỉ định CVE-2017-5754, trong khi Spectre bị CVE-2017-5754
Full Disclosure
Danh sách gửi thư Tiết lộ đầy đủ đã là một địa điểm thảo luận phổ
biến cho các nhà bảo mật trong nhiều năm, mặc dù nó đã bắt đầu
chậm lại với sự ra đời của các nguồn khác, như Twitter, để tiết lộ.
Bạn vẫn có thể muốn đăng ký tại http://seclists.org/ fulldisclosure /.
Danh sách cũng tweet tại https://twitter.com/seclists, và có nhiều
danh sách khác được lưu trữ qua http://seclists.org có thể được một
nhà bảo mật quan tâm.
■ ✓ MCDS sử dụng dải IP nào cho các dịch vụ công cộng của nó?
■ ✓ Vị trí thực tế trông như thế nào, và địa chỉ của nó là gì?
■ ✓ Danh sách nhân viên và sơ đồ tổ chức của tổ chức trông như thế nào?
■ ✓ MCDS có cung cấp quyền truy cập từ xa cho nhân viên không?
■ ✓ Bạn có thể tìm thấy thông tin về nhân viên và phương tiện truyền thông
xã hội nào?
Trong phần này của chương, bạn nên xem xét cách bạn sẽ trả lời từng câu
hỏi này.
Ngoài các công cụ như ExifTool vượt trội trong việc hiển thị siêu dữ
liệu cho các tệp riêng lẻ, có thể sử dụng các công cụ quét siêu dữ
liệu như Tổ chức lấy dấu vân tay với kho lưu trữ được thu thập
(FOCA) để tìm siêu dữ liệu. FOCA quét bằng công cụ tìm kiếm —
Google, Bing hoặc DuckDuckGo — và sau đó biên dịch thông tin
siêu dữ liệu từ các tệp như tài liệu Microsoft Office, tệp PDF và các
loại tệp khác như tệp SVG và InDesign. Hình 3.2 cho thấy FOCA
thu thập thông tin máy chủ. Sau khi máy chủ được xác định, siêu dữ
liệu, bao gồm thông tin chi tiết về người dùng, thư mục, phần mềm,
email, hệ điều hành, mật khẩu và máy chủ, có thể được thu thập tự
động.
fIGure 3.2 FOCA metadata acquisition
Tệp Microsoft Office, PDF và nhiều loại tệp kinh doanh phổ biến
khác bao gồm siêu dữ liệu có thể hữu ích, từ tác giả và ngày / giờ
tạo cho đến phiên bản phần mềm. Trong nhiều trường hợp, siêu dữ
liệu của một tệp có thể hữu ích, hoặc hơn thế, hơn là văn bản thực tế
hoặc dữ liệu khác của nó!
Điều quan trọng cần nhớ là các tài liệu điện tử hiện có thể truy cập
được không phải là tài liệu duy nhất mà bạn có thể khôi phục cho
một tổ chức. Các kho lưu trữ web như Kho lưu trữ Internet
(https://archive.org) cung cấp ảnh chụp nhanh tại thời điểm của các
trang web và dữ liệu khác. Ngay cả khi các tổ chức nghĩ rằng họ đã
xóa thông tin khỏi Web, các bản sao có thể tồn tại trong Kho lưu trữ
Internet hoặc ở nơi khác, bao gồm bộ nhớ cache của công cụ tìm
kiếm và các vị trí khác.
Financial Data
Tiết lộ tài chính, thông tin thuế và các tài liệu tài chính khác có thể
cung cấp thông tin bổ sung cho những người thử nghiệm bút có
động cơ. Ủy ban Chứng khoán và Giao dịch Hoa Kỳ cung cấp hệ
thống Thu thập, Phân tích và Truy xuất Dữ liệu Điện tử (EDGAR),
một dịch vụ cho phép bạn tra cứu hồ sơ SEC. Như bạn có thể thấy
trong Hình 3.3, tìm kiếm EDGAR có thể nhanh chóng cung cấp
thông tin như địa chỉ công ty, cũng như các chi tiết khác được tìm
thấy trong các hồ sơ cá nhân.
Employees
Việc tìm ra ai đang được một tổ chức tuyển dụng đôi khi có thể đơn
giản như sử dụng một danh bạ trực tuyến hoặc kiểm tra các sơ đồ tổ
chức đã đăng của tổ chức đó. Trong hầu hết các trường hợp, việc
xác định nhân viên sẽ tốn nhiều công hơn. Các kỹ thuật phổ biến
bao gồm tận dụng các phương tiện truyền thông xã hội như
LinkedIn và Facebook, cũng như xem xét các địa chỉ email, ấn
phẩm và hồ sơ công khai của công ty. Các kỹ thuật xây dựng xã hội
cũng có thể hữu ích, đặc biệt khi tìm kiếm thông tin về một cá nhân
hoặc nhóm cụ thể.
fIGure 3.3 SEC reporting via EDGAR
Dấu chân bên ngoài là một phần của hầu hết các hoạt động trinh
sát thụ động và nhằm thu thập thông tin về mục tiêu từ các nguồn
bên ngoài. Điều đó có nghĩa là thu thập thông tin về miền, dải IP và
các tuyến đường cho tổ chức.
Domains
Tên miền do nhà đăng ký tên miền quản lý. Các tổ chức đăng ký tên
miền được công nhận bởi các tổ chức đăng ký tên miền cấp cao nhất
(gTLD) chung và / hoặc các tổ chức đăng ký tên miền cấp cao nhất
(ccTLD) theo mã quốc gia. Điều này có nghĩa là các công ty đăng
ký làm việc với các công ty đăng ký tên miền để cung cấp dịch vụ
đăng ký — khả năng có được và sử dụng tên miền. Các công ty
đăng ký cung cấp giao diện giữa khách hàng và công ty đăng ký tên
miền và xử lý việc mua, thanh toán và duy trì tên miền hàng ngày,
bao gồm cả việc gia hạn đăng ký tên miền.
Hệ thống tên miền thường là một trong những điểm dừng đầu tiên
khi thu thập thông tin về một tổ chức. Thông tin DNS không chỉ
được công bố công khai, nó thường dễ dàng kết nối với tổ chức
bằng cách chỉ cần kiểm tra thông tin WHOIS về trang web của tổ
chức đó. Với thông tin đó có sẵn, bạn có thể tìm kiếm các trang web
và máy chủ lưu trữ khác để thêm vào dấu ấn tổ chức của mình.
WHOIS
Quyền sở hữu và đăng ký tên miền được duy trì bởi các tổ chức
đăng ký tên miền, với mỗi tổ chức đăng ký tên miền bao gồm một
phần cụ thể của thế giới. Cơ quan trung ương là Cơ quan cấp số
được ấn định trên Internet, hoặc IANA. IANA quản lý vùng gốc
DNS và do đó là nơi khởi đầu tốt cho các tìm kiếm tại
https://www.iana.org. Khi bạn biết cơ quan khu vực nào bạn nên
truy vấn, bạn có thể chọn trang web thích hợp để truy cập:
■ AFRINIC (Châu Phi): http://www.afrinic.net
■✓ APNIC (Asia/Pacific): http://www.apnic.net
■✓ ARIN (North America, parts of the Caribbean, and North Atlantic
islands): http://ws.arin.net
■✓ LACNIC (Latin America and the Caribbean):
http://www.lacnic.net
■✓ RIPE (Europe, Russia, the Middle East, and parts of central
Asia): http://www .ripe.net
Mỗi NIC khu vực cung cấp một dịch vụ WHOIS. WHOIS cho
phép bạn tìm kiếm cơ sở dữ liệu của người dùng đã đăng ký tên
miền và khối địa chỉ IP và có thể cung cấp thông tin hữu ích về một
tổ chức hoặc cá nhân dựa trên thông tin đăng ký của họ. Trong truy
vấn WHOIS mẫu cho Google được hiển thị trong Hình 3.4, bạn có
thể thấy rằng thông tin về Google, như vị trí trụ sở chính của công
ty, thông tin liên hệ và máy chủ định danh chính của Google, tất cả
đều được trả về bởi truy vấn WHOIS.
Ngoài ra, thông tin DNS bên ngoài cho một tổ chức được cung
cấp như một phần của thông tin WHOIS của tổ chức đó, cung cấp
một nơi khởi đầu tốt cho việc thu thập thông tin dựa trên DNS. Các
máy chủ DNS bổ sung có thể được nhận dạng như một phần của
quá trình quét chủ động, thu thập thông tin thụ động dựa trên nhật
Chương 3: Thu thập thông tin Page 14 of 53
15
ký hoặc truy cập mạng hoặc thậm chí bằng cách xem xét tài liệu của
tổ chức.
Thông tin khác có thể được thu thập bằng cách sử dụng lệnh host
trong Linux, lệnh này sẽ cung cấp thông tin về địa chỉ IPv4 và IPv6
của hệ thống cũng như các máy chủ email (MX) của nó, như trong
Hình 3.5. Điều quan trọng cần lưu ý là nếu bạn chạy cùng một lệnh
cho www.google.com, bạn sẽ không thấy các máy chủ email được
liên kết với google.com!
Nhiều chủ sở hữu miền giảm lượng dữ liệu hiển thị sau khi
miền của họ được đăng ký một thời gian, có nghĩa là thông tin
đăng ký miền lịch sử có thể là một kho tàng thông tin chi tiết
hữu ích. Các dịch vụ như domainhistory.net và whoismind.com
cung cấp chế độ xem lịch sử về thông tin đăng ký miền do
WHOIS cung cấp, có nghĩa là bạn vẫn có thể tìm thấy thông tin
đó!
Zone Transfers
Chuyển vùng DNS (AXFR) là một giao dịch nhằm mục đích sử
dụng để sao chép cơ sở dữ liệu DNS giữa các máy chủ DNS. Tất
nhiên, điều này có nghĩa là thông tin có trong chuyển vùng có thể
cung cấp nhiều thông tin cho người kiểm tra thâm nhập và hầu hết
các máy chủ DNS sẽ bị vô hiệu hóa chuyển vùng hoặc được bảo vệ
tốt. Biết cách thực hiện chuyển vùng vẫn là một kỹ năng có thể hữu
ích đối với người thử bút và bạn nên biết ba cách phổ biến nhất để
thực hiện:■✓ Host:
host -t axfr domain.name dns-
server
■✓
Dig:
dig axfr @target.nameserver.com domain.name
■✓ Nmap (using the Nmap scripting engine or NSE):
nmap –script dns-zone-transfer.nse –script-args
dns-zone-transfer.domain<domain> p53 <hosts>
A zone transfer sẽ hiển thị cho bạn khá nhiều dữ liệu, bao gồm
máy chủ định danh, địa chỉ liên hệ chính, số sê-ri, thời gian giữa các
lần thay đổi, thời gian tồn tại tối thiểu cho miền, bản ghi MX, máy
chủ định danh, vĩ độ và kinh độ và các bản ghi TXT khác , có thể
hiển thị nhiều loại thông tin hữu ích. Tất nhiên, chuyển vùng cũng
sẽ chứa các bản ghi dịch vụ, ánh xạ địa chỉ IP và các thông tin khác
nữa..
Nếu bạn muốn luyện tập chuyển vùng, Robin Wood cung cấp
một miền mà bạn có thể luyện tập. Bạn có thể tìm thấy thông
tin chi tiết cũng như hướng dẫn tuyệt vời về việc chuyển vùng
sẽ bao gồm những gì, tại https://digi.ninja/projects/
zonetransferme.php.
Nếu không thể chuyển vùng, thông tin DNS vẫn có thể được thu
thập từ DNS công cộng bằng bạo lực. Bạn có thể thực hiện việc này
bằng cách gửi truy vấn DNS cho từng địa chỉ IP mà tổ chức sử
dụng, do đó thu thập danh sách hệ thống hữu ích.
IP Ranges
Khi bạn biết địa chỉ IP mà hệ thống đang sử dụng, bạn có thể tra
cứu thông tin về dải IP mà hệ thống đó nằm trong đó. Điều đó có
thể cung cấp thông tin về công ty hoặc về các dịch vụ lưu trữ mà hệ
thống sử dụng.
Địa chỉ IP hoặc tên máy chủ cũng có thể được sử dụng để thu thập
thông tin về cấu trúc liên kết mạng xung quanh hệ thống hoặc thiết
bị có địa chỉ IP nhất định. Một trong những điểm dừng đầu tiên khi
bạn có địa chỉ IP là tìm kiếm ai sở hữu dải IP. Bạn có thể thực hiện
việc này tại các trang web như https://www.whois.com/whois/. Nếu
bạn kiểm tra địa chỉ IP cuối cùng mà chúng ta tìm thấy trong Hình 3
.6 (52.41.111.100), bạn có thể thấy rằng nó thuộc sở hữu của
Amazon, như trong Hình 3 .7. Nếu chúng tôi đang thực hiện một
thử nghiệm thâm nhập các mạng của Netfl ix, thì việc quét Amazon
có thể vi phạm các quy tắc tham gia hoặc phạm vi của chúng tôi, vì
vậy loại nghiên cứu và xem xét này rất quan trọng! hình 3.7
WHOIS của 52.41.111.100
Bây giờ chúng ta biết ai sở hữu nó, chúng ta cũng có thể khám
phá tuyến đường đến IP. Sử dụng traceroute (hoặc tracert trên hệ
thống Windows), bạn có thể thấy các gói đường dẫn đến máy chủ.
Vì Internet được thiết kế để cho phép traffi c đi theo con đường tốt
nhất, bạn có thể thấy nhiều đường dẫn khác nhau trên đường đến hệ
thống, nhưng bạn thường sẽ đoán rằng một vài phản hồi cuối cùng
vẫn giữ nguyên. Đây thường là các bộ định tuyến cục bộ và các
thiết bị mạng khác trong mạng của tổ chức và việc biết cách thức
truy cập vào hệ thống có thể cung cấp cho bạn thông tin chi tiết về
cấu trúc liên kết mạng nội bộ của chúng. Trong Hình 3.8, bạn có thể
thấy rằng trong một quy trình theo dõi cho www.netflix.com, một
số hệ thống không phản hồi với dữ liệu tên máy chủ, như được hiển
thị bằng dấu hoa thị và các mục “yêu cầu đã hết thời gian chờ” và
hai hệ thống cuối cùng chỉ trả về IP địa chỉ.
fIGure 3.8 tracert of www.netflix.com
Routes
Loại thông tin mạng cuối cùng mà bạn có thể tìm kiếm là thông tin
định tuyến. Thông tin định tuyến cho một tổ chức có thể cung cấp
thông tin chi tiết về cách thiết lập kết nối mạng bên ngoài của họ.
Máy chủ thông tin tuyến đường BGP công cộng được gọi là kính
nhìn BGP giúp thông tin đó dễ dàng truy cập. Bạn có thể tìm thấy
danh sách chúng, bao gồm cả máy chủ toàn cầu và khu vực, tại
http://www.bgp4.as/looking-glasses.
Shodan
Shodan là một trong những công cụ tìm kiếm bảo mật phổ biến nhất
và cung cấp các tìm kiếm được tạo sẵn cũng như các danh mục tìm
kiếm hệ thống điều khiển công nghiệp, cơ sở dữ liệu và các truy vấn
tìm kiếm phổ biến khác. Hình 3.9 cho thấy kết quả từ một máy chủ
được xác định bằng Shodan. Lưu ý rằng kết quả này cho chúng ta
biết rằng mục tiêu có thiết bị Cisco với mật khẩu mặc định được
kích hoạt — một cú đánh nhanh cho người kiểm tra thâm nhập!
fIGure 3.9 Shodan tracert of www.netflix.com
Censys
Giống như Shodan, Censys là một công cụ tìm kiếm theo định
hướng bảo mật. Khi bạn tìm hiểu một máy chủ lưu trữ trong Censys,
bạn cũng sẽ khám phá ra thông tin địa lý nếu nó có sẵn, bản tóm tắt
toàn diện về các dịch vụ mà máy chủ lưu trữ hiển thị và các liên kết
chi tiết để biết thông tin chi tiết cao. Hình 3.10 cho thấy cùng một
máy chủ Cisco IOS được tiếp xúc mà chúng ta đã thấy trong Hình
3.9, lần này là từ một cái nhìn rộng hơn.
fIGure 3.10 Censys Tracert of www.netflix.com
Các công cụ tìm kiếm bảo mật có thể không phải lúc nào cũng có
thông tin hoàn toàn cập nhật, vì vậy chúng không phải là câu trả lời
cuối cùng cho người kiểm tra thâm nhập, nhưng chúng là bước đầu
rất hiệu quả trong việc thu thập và phân tích thông tin thụ động.
Trước khi tạo ra Shodan, Censys và các công cụ tìm kiếm khác, việc
thu thập loại dữ liệu này sẽ yêu cầu quét tích cực bởi người kiểm tra
thâm nhập. Giờ đây, người kiểm tra có thể thu thập thông tin hữu
ích mà không cần tương tác!
Hosts
Liệt kê các máy chủ trên mạng có thể là nhiệm vụ đầu tiên mà
hầu hết những người thử nghiệm thâm nhập nghĩ đến khi họ chuẩn
bị đánh giá mục tiêu. Quét hoạt động có thể xác định nhiều máy chủ
và có thể hấp dẫn nếu chỉ dựa vào máy quét cổng để xác định máy
chủ, nhưng có khá nhiều cách khác để xác định máy chủ trên mạng
và việc kết hợp nhiều phương pháp có thể giúp đảm bảo rằng bạn
không bỏ sót hệ thống. Một số cách khác để xác định hệ thống cần
lưu ý như sau:
■ ✓ Tận dụng các hệ thống quản lý trung tâm như SCCM, Jamf
Pro hoặc các công cụ khác để duy trì kho hệ thống, địa chỉ IP của
chúng và các thông tin khác.
■ ✓ Nhật ký mạng và tệp cấu hình có thể cung cấp nhiều thông
tin về các hệ thống trên mạng. Nhật ký từ máy chủ DHCP có thể
đặc biệt có giá trị, vì hầu hết các mạng hiện đại phụ thuộc rất nhiều
vào DHCP để cấp địa chỉ cho các hệ thống được kết nối mạng. Nhật
ký bộ định tuyến, bảng ARP và thông tin mạng khác cũng có thể rất
có giá trị.
Trong thử nghiệm hộp đen, bạn thường sẽ không thể nhận được
loại thông tin này cho đến sau khi thử nghiệm, nếu bạn có thể nắm
bắt được. Điều đó không có nghĩa là bạn nên bỏ qua nó, nhưng nó
có nghĩa là quét cổng vẫn là kỹ thuật đầu tiên mà nhiều người thử
nghiệm thâm nhập sẽ thử sớm trong một lần tương tác.
Services
Nhận dạng dịch vụ là một trong những nhiệm vụ phổ biến nhất
mà người kiểm tra thâm nhập sẽ thực hiện trong khi tiến hành
trinh sát tích cực. Việc xác định các dịch vụ cung cấp một danh
sách các mục tiêu tiềm năng, bao gồm các dịch vụ dễ bị tấn công
và những dịch vụ bạn có thể kiểm tra bằng thông tin xác thực bạn
có sẵn hoặc thậm chí chỉ để thu thập thêm thông tin. Nhận dạng
dịch vụ thường được thực hiện bằng máy quét cổng.
Các công cụ quét cổng được thiết kế để gửi lưu lượng đến các hệ
thống từ xa và sau đó thu thập các phản hồi cung cấp thông tin về
hệ thống và dịch vụ mà chúng cung cấp. Do đó, việc quét cổng
thường là một trong những bước đầu tiên trong thử nghiệm thâm
nhập của một tổ chức.
Mặc dù có nhiều máy quét cổng, nhưng chúng hầu như đều có
một số tính năng chung, bao gồm:
Một phần quan trọng của quá trình quét cổng là hiểu biết về các
cổng và dịch vụ phổ biến. Trong khi các cổng 0–1023 được gọi là
“cổng nổi tiếng” hoặc “cổng hệ thống”, có một số cổng cao hơn
thường được quan tâm khi tiến hành quét cổng. Các cổng từ 1024
đến 49151 là các cổng đã đăng ký và được IANA chỉ định khi
được yêu cầu. Nhiều người cũng được sử dụng tùy tiện cho các
dịch vụ. Bởi vì các cổng có thể được chỉ định theo cách thủ công,
chỉ cần giả sử rằng một dịch vụ chạy trên một cổng nhất định phù
hợp với cách sử dụng phổ biến không phải lúc nào cũng là một ý
kiến hay. Đặc biệt, nhiều máy chủ SSH và HTTP / HTTPS được
chạy trên các cổng thay thế, để cho phép nhiều dịch vụ web có
các cổng duy nhất hoặc để tránh việc quét cổng chỉ nhắm mục
tiêu đến cổng bình thường của chúng.
Bạn sẽ muốn ghi nhớ Bảng 3.1 cũng như các cổng thông dụng
dành cho hệ điều hành. Ví dụ: bạn sẽ có thể xác định một hệ
thống có các cổng TCP 139, 445 và 3389 đều đang mở như là
chỉ báo của hệ thống Windows. Đừng lo lắng; chúng tôi đã bao
gồm các câu hỏi thực hành như thế này ở cuối chương này và
trong các bài kiểm tra thực hành để giúp bạn luyện tập!
Các mục tiêu của kỳ thi PenTest + chứa toàn bộ tiểu mục (4.1) về
việc sử dụng Nmap trong các tình huống thu thập thông tin. Nmap
là trình quét lỗ hổng dòng lệnh được sử dụng phổ biến nhất và là
một công cụ mã nguồn mở, miễn phí. Nó cung cấp một loạt các khả
năng, bao gồm nhiều chế độ quét nhằm mục đích vượt qua tường
lửa và các thiết bị bảo vệ mạng khác. Ngoài ra, nó còn hỗ trợ lấy
dấu vân tay hệ điều hành, nhận dạng dịch vụ và nhiều khả năng
khác.
Việc sử dụng chức năng cơ bản của Nmap khá đơn giản. Hệ thống
quét cổng chỉ yêu cầu rằng Nmap được cài đặt và bạn cung cấp tên
máy chủ hoặc địa chỉ IP của hệ thống đích. Hình 3.12 cho thấy một
Nmap của hệ thống Windows 10 đã tắt tường lửa. Một loạt các cổng
thông dụng của Microsoft được hiển thị, khi Nmap quét 1.000 cổng
được sử dụng phổ biến nhất như một phần của quá trình quét mặc
định của nó.
Quá trình quét Nmap điển hình hơn có thể bao gồm một số cờ dòng
lệnh của Nmap:
■ ✓ Một kỹ thuật quét, như TCP SYN, Connect, ACK hoặc các
phương pháp khác. Theo mặc định, Nmap sử dụng quét TCP
SYN (-sS), cho phép quét nhanh có xu hướng hoạt động qua hầu
hết các tường lửa. Ngoài ra, chỉ gửi một SYN (và nhận một SYN
/ ACK) có nghĩa là kết nối TCP chưa được thiết lập đầy đủ. Kết
nối TCP (đôi khi được gọi là “kết nối đầy đủ”) quét (-sT) hoàn
tất quá trình bắt tay ba chiều TCP và thường được sử dụng khi
tài khoản người dùng sử dụng Nmap không có các đặc quyền
cần thiết để tạo các gói thô— một sự cố thường xảy ra đối với
người kiểm tra thâm nhập người có thể chưa đạt được tài khoản
đặc quyền trong quá trình kiểm tra. Cờ kỹ thuật quét phổ biến
cuối cùng là cờ -sU, được sử dụng để tiến hành quét chỉ UDP.
Nếu bạn chỉ cần quét các cổng UDP, cờ này cho phép bạn làm
như vậy.
Nmap cung cấp vô số tính năng và nhiều cờ. Bạn sẽ cần biết khá
nhiều điều phổ biến, cũng như cách một dòng lệnh Nmap điển
hình được xây dựng, cho kỳ thi. Đảm bảo bạn thực hành nhiều
kiểu quét và hiểu kết quả của chúng trông như thế nào và chúng
khác nhau như thế nào.
■✓ Dải cổng, chỉ định cổng hoặc bao gồm toàn bộ dải 1–65535.
■ ✓ Phát hiện phiên bản dịch vụ bằng cờ –sV.
■ ✓ Phát hiện hệ điều hành bằng cờ –O.
■ ✓ Tắt Ping bằng cờ -Pn.
■ ✓ Mức độ tích cực của quá trình quét thông qua cờ thời gian -T.
Cờ thời gian có thể được đặt bằng cách sử dụng giá trị số từ 0 đến 5
hoặc thông qua tên đại diện văn bản của cờ. Nếu bạn sử dụng một
số, 0 sẽ quét cực kỳ chậm, trong khi 5 là một quá trình quét rất
nhanh. Biểu diễn văn bản của những lá cờ này, theo thứ tự, là hoang
tưởng | lén lút | lịch sự | bình thường | hung hăng | điên rồ. Một số
người kiểm tra sẽ sử dụng cài đặt hoang tưởng hoặc lén lút để cố
gắng tránh hệ thống phát hiện xâm nhập hoặc để tránh sử dụng băng
thông. Như bạn có thể nghi ngờ, -T3, hoặc bình thường, là tốc độ
mặc định để quét Nmap.
■ ✓ Đầu vào từ tệp đích bằng -IL.
■ ✓ Xuất ra nhiều định dạng. Bạn sẽ muốn làm quen với cờ đầu ra
XML -oX, chế độ xuất - oN “bình thường” và thậm chí cả định dạng
-oG có thể tìm kiếm được (có thể tìm kiếm) lỗi thời mà XML đã gần
như thay thế hoàn toàn. Tệp -oA, hoặc chế độ xuất “tất cả”, chấp
nhận một tên tệp cơ sở và xuất ra tất cả các định dạng bình thường,
XML và greppable cùng lúc như basename.nmap, basename.xml và
basename.gmap. Nếu bạn sử dụng nhiều công cụ để giao diện với
kết quả Nmap của mình, đây có thể là một tùy chọn rất hữu ích!
Hình 3.12 cho thấy một bản quét mặc định mẫu của hệ thống
Windows khi tường vây bị tắt. Có một số dịch vụ bổ sung đang chạy
trên hệ thống ngoài các dịch vụ Windows điển hình, nhưng chúng
tôi có thể nhanh chóng xác định các cổng 135, 139 và 445 là các
dịch vụ Windows điển hình.
fIGure 3.12 Nmap output of a Windows 10 system
N map cũng có giao diện người dùng đồ họa chính thức, được
gọi là Zenmap, cung cấp khả năng trực quan hóa bổ sung, bao
gồm chế độ xem cấu trúc liên kết cung cấp thông tin về cách
các máy chủ phù hợp với mạng.
Việc sử dụng Nmap là một phần quan trọng của hầu hết mọi thử
nghiệm thâm nhập. Điều đó có nghĩa là bạn có thể đọc dòng lệnh
Nmap và xác định những gì đang xảy ra. Ví dụ: một dòng lệnh điển
hình có thể trông như thế này:
nmap -sT -sV -Pn -p 1-65435 -T2 -oA scanme scanme.nmap.org
Để hiểu lệnh này sẽ làm gì, bạn sẽ cần hiểu từng lệnh fl và cách
dòng lệnh được xây dựng. Từ trái sang phải, chúng tôi thấy rằng
đây là quét kết nối TCP (-sT), chúng tôi đang cố gắng xác định các
dịch vụ (-sV), rằng nó sẽ không gửi một ping (-Pn), rằng nó đang
quét một cổng phạm vi từ 1–65435 bằng cách sử dụng -p lựa chọn
cổng fl ag, thời gian chậm hơn bình thường với -T2 fl ag và cuối
cùng quá trình quét này sẽ gửi đầu ra của nó tới fi les được gọi là
Nếu bạn đọc kỹ dòng lệnh đó, bạn có thể lưu ý rằng đặc điểm kỹ
thuật cổng không thực sự bao gồm tất cả 65.535 cổng — trên
thực tế, chúng tôi đã chỉ định 65.435! Lỗi chính tả và lỗi xảy ra
và bạn nên chuẩn bị để xác định loại vấn đề này trong các câu
hỏi về quét cổng và lỗ hổng bảo mật.
Nếu bạn muốn thực hành các kỹ thuật Nmap của mình, bạn có thể
sử dụng scanme.nmap.org làm mục tiêu quét. Những người cung
cấp dịch vụ yêu cầu bạn sử dụng nó để quét thử nghiệm và bạn
không đánh họ lạm dụng hoặc sử dụng nhiều. Bạn cũng có thể
muốn thiết lập các mục tiêu quét khác bằng các công cụ như máy ảo
Rapid 7’s Metasploitable (https: //information.rapid7 .com /
metasploitable-download.html), cung cấp nhiều dịch vụ thú vị để
quét và khai thác.
Một thành viên trong nhóm của bạn đề xuất chạy quét nmap sau đối với
phạm vi mạng của khách hàng từ các máy trạm thử nghiệm của bạn:
nmap -sT -T0 10.11.42.0/23
Đảm bảo bạn có thể trả lời các câu hỏi sau:
■ ✓ Nếu dải IP của tổ chức khách hàng là 10.11.42.0/24, lệnh này sẽ làm gì?
■ ✓ Bạn khuyên bạn nên sử dụng phương thức nào để xác định các dịch vụ
và hệ điều hành được tìm thấy trong quá trình quét đó?
■ ✓ Quét kết nối TCP có phải là lựa chọn chính xác không, và tại sao?
■ ✓ Các cổng nào sẽ ra lệnh mà thành viên trong nhóm của bạn đề xuất
quét, và điều này có thể có ý nghĩa gì đối với thử nghiệm thâm nhập của
bạn?
■ ✓ Bạn có thể thực hiện những cải tiến nào khác cho quá trình quét này?
Network Topology
Hiểu cấu trúc liên kết hoặc bố cục của mạng giúp người kiểm tra
thâm nhập thiết kế quy trình quét và tấn công của họ. Bản đồ cấu
trúc liên kết có thể cung cấp thông tin về những hệ thống và thiết bị
nào có thể có thể truy cập được, do đó giúp bạn đưa ra quyết định
về thời điểm xoay vòng đến một mục tiêu khác để vượt qua các
kiểm soát bảo mật. Sơ đồ cấu trúc liên kết có thể được tạo bằng các
công cụ như Zenmap GUI cho Nmap cũng như các chương trình
ánh xạ cấu trúc liên kết mạng được xây dựng có mục đích. Mặc dù
sơ đồ cấu trúc liên kết Zenmap như trong Hình 3.13 không phải lúc
nào cũng hoàn toàn chính xác, nhưng nó có thể rất hữu ích khi bạn
đang cố gắng hình dung một mạng.
Việc thu thập lưu lượng mạng từ các mạng không dây có thể được
thực hiện với Wireshark, nhưng các công cụ bắt không dây chuyên
dụng như Kismet cũng rất phổ biến. Kismet cung cấp các tính năng
bổ sung có thể hữu ích khi dò tìm các mạng không dây, bao gồm
khả năng tìm các SSID ẩn, liên kết thụ động giữa các máy khách và
điểm truy cập không dây, và nhiều công cụ giúp giải mã lưu lượng
được mã hóa.
Nếu khách hàng hoặc mục tiêu của bạn sử dụng phương thức giao
tiếp ngoài những phương thức thường nằm trong phạm vi kiểm tra
thâm nhập, như mạng Ethernet và mạng WiFi, bạn sẽ cần đảm bảo
rằng mình có các công cụ, phần mềm và kiến thức phù hợp để nắm
bắt và diễn giải lưu lượng truy cập đó, và lưu lượng truy cập đó ở
trong hoặc ngoài phạm vi nếu thích hợp.
SNMP Sweeps
Một phương pháp khác để thu thập thông tin về các thiết bị mạng
là tiến hành quét SNMP. Điều này thường yêu cầu quyền truy cập
nội bộ vào một mạng và do đó có thể không nằm trong vòng đầu
tiên của các hoạt động do thám tích cực của bạn, nhưng nó có thể
rất có giá trị khi bạn đã thâm nhập được vào hệ thống phòng thủ bên
ngoài của một tổ chức.
Không có điều này có nghĩa là bạn không nên thử quét SNMP
của mạng để thu thập thông tin. Nó chỉ đơn giản có nghĩa là bạn có
thể cần chuẩn bị nhiều hơn trước khi sử dụng một công cụ quét. Khi
bạn có thông tin mình cần, quét SNMP có thể giúp cải thiện đáng kể
bản đồ cấu trúc mạng và khám phá thiết bị của bạn.
Trong ví dụ này, hping sẽ gửi các gói SYN đến targetite.com trên
cổng TCP 8080 và cung cấp đầu ra dài dòng. Mặc dù bạn có thể
không phải lúc nào cũng biết fl ags mà một lệnh sử dụng, nhưng bạn
có thể đoán được nhiều fl ags — một mẹo hữu ích để ghi nhớ cho
kỳ thi! Ngoài hping, các công cụ phổ biến khác bao gồm Scapy,
Yersina và thậm chí là NETCAT, nhưng hầu hết những người kiểm
tra thâm nhập có thể bắt đầu với hping để sử dụng hàng ngày.
E numeration
Xây dựng danh sách các mục tiêu tiềm năng cho một thử nghiệm
thâm nhập có thể là một nhiệm vụ lớn. Nếu phạm vi và quy tắc
tham gia cho phép bạn, bạn có thể liệt kê các thiết bị mạng, hệ
thống, người dùng, nhóm, lượt chia sẻ, ứng dụng và nhiều mục tiêu
khả thi khác. Trong vài trang tiếp theo, chúng ta sẽ xem xét một số
phương pháp phổ biến để liệt kê từng mục tiêu này. Khi bạn xem
xét từng loại mục tiêu, hãy nhớ rằng có cả phương pháp kỹ thuật
và kỹ thuật xã hội để có được dữ liệu này và các phương pháp kỹ
thuật mà chúng tôi thảo luận ở đây không phải là phương pháp khả
thi duy nhất mà bạn có thể gặp phải.
U sers
Trước đây, bạn thường có thể liệt kê người dùng từ các hệ thống
Linux thông qua các dịch vụ như fi nger và rwho. Bây giờ, việc liệt
kê người dùng đòi hỏi nhiều công việc hơn. Phương tiện phổ biến
nhất để liệt kê người dùng thông qua các dịch vụ tiếp xúc là liệt kê
người dùng SMB và SNMP, nhưng khi bạn có quyền truy cập vào
hệ thống, bạn cũng có thể trực tiếp liệt kê người dùng từ người
dùng fi les, thư mục và đôi khi thông qua dịch vụ thư mục. Trong
nhiều tổ chức, tài khoản người dùng cũng giống như tài khoản
email, làm cho việc liệt kê người dùng email trở thành một kỹ
thuật rất quan trọng.
Email
Thu thập các địa chỉ email hợp lệ thường xảy ra trước chiến dịch
lừa đảo hoặc hoạt động thử nghiệm thâm nhập khác. Ngoài các tùy
chọn thủ công hơn, theHarvester là một chương trình được thiết kế
để thu thập email, tên nhân viên, tên miền phụ và thông tin máy
chủ lưu trữ, cũng như mở các cổng và biểu ngữ từ các công cụ tìm
kiếm (bao gồm cả Shodan) và các nguồn khác.
Như bạn có thể mong đợi, Metasploit cũng bao gồm chức năng
tương tự. Một tìm kiếm sử dụng công cụ thu thập email của
Metasploit trên miền Wiley.com (nhà xuất bản của chúng tôi) sử
dụng Google và giới hạn ở 500 kết quả đã trả về 11 địa chỉ email,
14 tên máy chủ được tìm thấy trong công cụ tìm kiếm và một tập
hợp kết quả trống cho Shodan. Thực hiện công việc tương tự theo
cách thủ công sẽ khá chậm, vì vậy sử dụng các công cụ như
Metasploit và theHarvester có thể là một cách hữu ích để nhanh
chóng phát triển danh sách mục tiêu ban đầu.
Hãy nhớ rằng loại quét này là quét thụ động từ quan điểm
của mục tiêu. Chúng tôi đang sử dụng một công cụ tìm kiếm
và những địa chỉ này được hiển thị công khai qua công cụ tìm
kiếm đó. Điều đó có nghĩa là bạn có thể chọn một công ty mà
bạn quen thuộc để thực hành thu hoạch dựa trên công cụ tìm
kiếm. Chỉ cần không sử dụng các kỹ thuật hoạt động chống lại
một tổ chức mà không được phép!
Groups
Nhóm có nhiều dạng, từ nhóm Active Directory trong miền AD đến
các công cụ quản lý nhóm được tích hợp trong bộ quản lý danh
tính. Nhóm cũng tồn tại trong các ứng dụng và giao diện quản lý
dịch vụ. Là một người kiểm tra thâm nhập, bạn cần phải hiểu cả
những nhóm nào tồn tại và những quyền, vai trò hoặc quyền mà
chúng có thể được liên kết.
Người kiểm tra thâm nhập thường nhắm mục tiêu đến các giao diện
và công cụ quản lý nhóm vì việc thêm người dùng chưa có đặc
quyền vào nhóm đặc quyền có thể cung cấp một cách dễ dàng để
đạt được các đặc quyền bổ sung mà không cần người dùng giám sát
trực tiếp.
Nếu mục tiêu của bạn hỗ trợ SNMP và bạn có chuỗi cộng đồng
thích hợp, bạn có thể sử dụng snmpwalk để liệt kê người dùng như
được hiển thị bên dưới bằng cách sử dụng công khai làm chuỗi
cộng đồng và 10.0.0.1 làm máy chủ đích. Các lệnh grep và cut mà
đầu ra snmpwalk được đưa vào sẽ cung cấp cho người dùng thông
tin từ đầu ra snmpwalk tổng thể.
snmpwalk public -v1 10.0.0.1 1 | grep 77.1.2.25 | cut -d "" -f4
Người dùng Samba cũng có thể được thu thập bằng cách sử
dụng một công cụ như samrdump (https://github.com/
CoreSecurity / impacket / blob / impacket_0_9_15 /amples /
samrdump.py), giao diện này giao tiếp với Giao diện từ xa của
Trình quản lý tài khoản bảo mật để liệt kê các tài khoản người
dùng và chia sẻ .
Thư viện Core Security’s Impacket Python cung cấp khá nhiều
công cụ hữu ích cho người kiểm tra thâm nhập, bao gồm các
công cụ SMB, khả năng xác thực NTLM và Kerberos và một loạt
các công cụ hữu ích khác. Bạn có thể tìm thấy một danh sách
với các mô tả tại
https://www.coresecurity.com/corelabs-research/
open-source-tools/impacket.
R elationships
Hiểu được mối quan hệ của những người dùng với nhau có thể rất
hữu ích khi cố gắng hiểu một tổ chức. May mắn thay, các công cụ
Chương 3: Thu thập thông tin Page 42 of 53
như công cụ MIT Media Lab’s Immersion
(https://immersion.media.mit.edu/) có thể giúp bạn xác định người
dùng nào thường xuyên kết nối với người khác. Các công cụ trực
quan hóa mối quan hệ khác đang bắt đầu trở nên phổ biến rộng rãi,
giúp các kỹ thuật dữ liệu lớn có thể tiếp cận được với những người
kiểm tra thâm nhập.
Shares
Việc liệt kê các cổ phiếu Samba (SMB) tìm cách tìm kiếm tất cả
các cổ phiếu có sẵn, có thể đọc và ghi được, cũng như bất kỳ thông
tin bổ sung nào về các cổ phiếu có thể được thu thập. Máy quét
SMB được tích hợp trong nhiều công cụ quét lỗ hổng bảo mật và
cũng có những máy quét SMB có mục đích như SMBMap. Nmap
cũng bao gồm các tập lệnh smb-enum-shared và smb-enumusers
NSE.
Web Pages and Servers
Các trang web và máy chủ có thể được thu thập thông tin và liệt kê
bằng nhiều công cụ khác nhau. Các công cụ đánh giá ứng dụng web
chuyên dụng như w3af, Burp Suite và nhiều công cụ khác có thể
làm cho việc này dễ dàng hơn khi bạn có máy chủ web nhận dạng.
Nhiều thiết bị cung cấp giao diện web nhúng, vì vậy bạn có thể
tìm kiếm vô số máy chủ web trong quá trình quét đang hoạt động
của một tổ chức lớn hơn. Một trong những nhiệm vụ đầu tiên mà
người kiểm tra thâm nhập phải thực hiện là thu hẹp danh sách mục
tiêu thành một tập hợp các mục tiêu ban đầu hữu ích. Để làm điều
này, nó sẽ giúp bạn hiểu các ứng dụng và trang web mà máy chủ có
thể đang lưu trữ và xác định chúng để có đủ thông tin để làm như
vậy.
Applications
Việc liệt kê tất cả các ứng dụng của một tổ chức có thể là một
thách thức, đặc biệt là trong một môi trường an toàn. Thông
thường, người kiểm tra thâm nhập chỉ có thể kết nối với các ứng
dụng công khai trong giai đoạn đầu của kiểm tra thâm nhập và sau
đó phải liên tục đánh giá lại những ứng dụng và dịch vụ nào có thể
có thể truy cập được khi họ thâm nhập sâu hơn vào tổ chức. Điều
này xảy ra ở mỗi giai đoạn của quá trình liệt kê ứng dụng.
Fingerprinting
Đánh giá ứng dụng dựa trên việc biết thông tin về ứng dụng, chẳng
hạn như tên, số phiên bản, máy chủ web cơ bản và ngăn xếp ứng
dụng, hệ điều hành máy chủ lưu trữ và bất kỳ chi tiết nào khác có
thể thu thập được. Thông tin này đôi khi được biết đến như một
dấu ấn tài chính. Các ứng dụng lấy dấu vân tay thường bắt đầu
bằng lấy biểu ngữ. May mắn thay, NETCAT đã hoàn thành nhiệm
vụ. Trong hình 3.15, chúng tôi kết nối với một máy chủ từ xa bằng
cách sử dụng NETCAT và sau đó đưa ra lệnh HTTP GET để truy
Chương 3: Thu thập thông tin Page 44 of 53
xuất thông tin biểu ngữ. Điều này cho chúng ta biết rằng máy chủ
từ xa đang chạy Apache 2.2.8
fIGure 3.15 NETCAT banner grabbing
Có thể bạn đã đoán được, Nmap có thể cung cấp cùng một loại
câu trả lời bằng cách sử dụng cation fl ag nhận dạng dịch vụ -sV.
Trong nhiều trường hợp, bạn cũng có thể muốn kết nối với máy
quét lỗ hổng bảo mật hoặc công cụ bảo mật ứng dụng web để thu
thập thông tin chi tiết hơn, chẳng hạn như cookie.
Các mục tiêu của kỳ thi PenTest + đề cập đến việc liệt kê mã
thông báo, nhưng việc nắm bắt và sử dụng mã thông báo
thường phù hợp hơn với các hoạt động khai thác. Các mã
thông báo, bao gồm mã thông báo phiên cho các tài khoản
đặc quyền trong Windows, thường được sử dụng sau khi tài
khoản dịch vụ bị xâm phạm. Để có ví dụ hoàn chỉnh về tình
huống sử dụng thao tác mã thông báo, bạn có thể đọc thêm
tại https://pentestlab.blog/tag/token-manipulation/ và như
một phần của khả năng khai thác của Metasploit tại
https://www.offensive-security.com/metasploit-
unleashed/ fun-incognito/.
Bạn có thể xem lại mã như thế này trong Chương 11, nơi
chúng ta thảo luận về kịch bản để kiểm tra thâm nhập.
D ecompilation
Mã đã biên dịch, chẳng hạn như mã được tìm thấy trong nhiều
chương trình nhị phân, yêu cầu một bước khác trước khi bạn có thể
xem lại. Điều đó có nghĩa là bạn sẽ cần một trình dịch ngược, trình
này sẽ tách mã đã biên dịch ra và cung cấp mã nguồn có thể đọc
được. Các trình biên dịch tồn tại cho nhiều ngôn ngữ lập trình phổ
biến, vì vậy bạn sẽ cần xác định nhu cầu cụ thể của mình trước khi
kết hợp nó với một công cụ thích hợp.
Một phím tắt có thể cung cấp một số thông tin hữu ích mà không
cần dịch ngược là sử dụng tiện ích chuỗi Linux, tiện ích này khôi
phục các chuỗi văn bản từ mã đã biên dịch. Các chuỗi thường hữu
ích trong quá trình phân tích phần mềm độc hại sau khi phần mềm
độc hại đã được giải mã từ các phương pháp đóng gói khác nhau
để cố gắng làm xáo trộn mã, nhưng đối với hầu hết các mã nhị
phân đã biên dịch phổ biến, bạn có thể chỉ cần chạy các chuỗi dựa
trên fi le để thu thập thông tin. Hình 3.16 cho thấy một phần đầu ra
của chuỗi cho NETCAT. Nếu bạn muốn thử cùng một lệnh, bạn có
thể nhập nc trong / bin / nc trên Kali Linux..
fIGure 3.16 Excerpt of strings run on the NETCAT binary
Debugging
Nếu bạn có mã nguồn của một chương trình, bạn cũng có thể sử
dụng trình gỡ lỗi để xem lại nó. Cũng như với quá trình biên dịch
ngược, bạn không có khả năng giải quyết nhiều công việc với trình
gỡ lỗi trong giai đoạn đầu, nhưng đề cương kỳ thi PenTest + bao
gồm nó trong các kỹ thuật thu thập thông tin vì phân tích mã nguồn
là phương tiện phổ biến để thu thập thông tin bổ sung và trình gỡ
lỗi có thể mở chương trình và cho phép bạn xem lại chúng có thể
rất hữu ích. May mắn thay, trình gỡ lỗi được xây dựng trong cùng
các công cụ mà bạn có thể sử dụng để xem xét mã thủ công, như
Eclipse, Visual Studio và các môi trường phát triển tích hợp khác
(IDE).
Các mục tiêu của kỳ thi PenTest + không bao gồm phân tích
mã thủ công trong mục tiêu Thu thập thông tin và Xác định lỗ
hổng bảo mật, nhưng việc xem xét các tập lệnh, HTML và các
ví dụ về mã khác là một phần của mục tiêu tổng thể của kỳ
thi. Hãy nhớ rằng bạn có thể thu thập thông tin hữu ích từ
Summary
Thu thập thông tin về một tổ chức là rất quan trọng đối với các
thử nghiệm thâm nhập. Người kiểm tra thường sẽ được yêu cầu
xác định tên miền, máy chủ lưu trữ, người dùng, dịch vụ và vô số
yếu tố khác để cung cấp thành công các thử nghiệm hộp đen và
xám hoàn chỉnh.
Thông minh nguồn mở (OSINT) là thông tin có thể được thu
thập từ các nguồn của bên thứ ba mà không cần tương tác với hệ
thống và mạng của mục tiêu. OSINT có thể được thu thập thông
qua tìm kiếm, thu thập và xem xét siêu dữ liệu từ các tài liệu và các
tài liệu khác có sẵn công khai, xem xét các nguồn thông tin của bên
thứ ba như hồ sơ và cơ sở dữ liệu công khai, và thông qua việc sử
dụng các tài nguyên bổ sung, như phương tiện truyền thông xã hội.
Dấu chân hoạt động yêu cầu trình kiểm tra thâm nhập tương tác
với các hệ thống, mạng và dịch vụ mục tiêu. Trong khi quét cổng
là một yếu tố quan trọng của dấu chân tích cực, nhiều kỹ thuật
khác cũng có thể được sử dụng, từ liệt kê tích cực người dùng và
thiết bị mạng thông qua quét và truy vấn đến tương tác với các dịch
vụ để xác định khả năng của họ.
Việc thu thập thông tin cung cấp nền tảng cho mỗi giai đoạn kế
tiếp của thử nghiệm thâm nhập và sẽ tiếp tục trong suốt quá trình
thử nghiệm. Một người kiểm tra thâm nhập thành công cần phải có
khả năng xây dựng một kế hoạch thu thập thông tin toàn diện để
nhận biết nơi mỗi kỹ thuật và công cụ có thể được sử dụng một
cách thích hợp. Họ cũng phải biết các công cụ phổ biến và cách
thức và thời điểm sử dụng chúng cũng như cách diễn giải kết quả
đầu ra của chúng.