External Recon
What/Why
Trước khi kick off bất kì dự án pentest nào, ta cũng nên thực hiện external reconnaissance hay còn gọi là "trinh sát" mục tiêu của dự án. Có một số lý do chính sau:
Xác thực lại thông tin được cung cấp trong documents đã thoả thuận scope từ khách hàng.
Đảm bảo đã thực hiện các hành động đúng theo quy tắc đặt ra.
Tìm kiếm bất kì thông tin nào có thể truy cập công khai có ảnh hưởng đến kết quả của report chẳng hạn như leaked credentials.
Khi tiến hành recon, có một số mục chính mà ta nên thực sự tìm kiếm. Thông tin này có thể không phải lúc nào cũng có thể truy cập được từ bên ngoài, nhưng việc rà soát nó là điều quan trọng.
Các dữ liệu đăng nhập bị lộ lọt có thể được sử dụng để truy cập VPN hoặc dịch vụ/hệ thống public.
Data Point
Description
IP Space
ASN hợp lệ, xác định rõ hạ tầng mạng của tổ chức, nhà cung cấp dịch vụ ISP, Storage, DNS, ...
Domain Information
Dựa tên các thông tin về IP, DNS có thể xác định xem ai là người đang quản lý domain này? Các subdomain như nào? Các dịch vụ email, homepage, vpn, ... Có thể tìm kiếm bên thứ 3 cung cấp dịch vụ như AV, SIEM, ...
Schema Format
Từ đây có thể discovery được các tài khoản email, account AD hoặc có thể là policy set password ⇒ xây dựng được bộ wordlist phục vụ cho brute force, enum, ...
Data Disclosures
Đối với việc lộ lọt dữ liệu, việc tìm kiếm các tài liệu public như .pdf, .ppt, .docx, .xlsx, ...cho bất kì thông tin nào giúp ta hiểu rõ về mục tiêu. Ví dụ như một file docx về tài liệu nghiệp vụ phát triển sản phẩm cũng vô tình làm lộ lọt subdomain, quy tắc đặt username/password hay các tài khoản trong đó, ... Hay thông tin đăng nhập đến Gitlab nội bộ mà có thể sau này sẽ dùng tới, ...
Breach Data
Bất kì username/mật khẩu hoặc thông tin quan trọng nào được public cũng có thể giúp attack có được "foothold".
Where/How
Các thông tin có thể được thu thập từ nhiều cách khác nhau. Có nhiều trang web và công cụ khác nhau có thể cung cấp ít hoặc toàn bộ thông tin quan trọng trong kết quả của báo cáo.
Resource
Examples
ASN / IP registrars
Domain Registrars & DNS
Domaintools, PTRArchive, ICANN tra cứu manual DNS để không dựa vào các DNS server nổi tiếng như 8.8.8.8 hoặc 1.1.1.1
Social Media
Việc tìm kiếm trên các mxh như Linkedin, X, FB trong khu vực, các bài báo hoặc bất kì thông tin liên quan nào mà ta có thể tìm thấy về mục tiêu.
Public-Facing Company Websites
Thông thường, các website được public cho tổ chức sẽ có thông tin liên quan như "About Us" hoặc "Contact Us", biết đâu sau này nó sẽ quan trọng
Cloud & Dev Storage Spaces
Breach Data Sources
HaveIBeenPwned để xác định xem có bất kì email tổ chức nào bị leak ra ngoài hay không, Intelligence X để tìm kiếm email tổ chức với plaintext/hashed password hay không? Hay các nguồn từ Telegram cũng là mỏ vàng cho data-leaker. Sau đó thử truy cập các dịch vụ xác thực qua AD như OWA, O365, VPN, ...
Example
Okay, tổng hợp cũng đã nhiều, bây giờ mình sẽ đi cụ thể vào việc thực hành recon trên tên miền inlanefreight.com
ASN/IP & Domain Data

IP Address:
134.209.24.248Mail Server:
mail1.inlanefreight.comNameservers:
NS1.inlanefreight.com&NS2.inlanefreight.com
Try other way:
nslookup inlanefreight.com$> nslookup inlanefreight.com
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
Name: inlanefreight.com
Address: 134.209.24.248
Name: inlanefreight.com
Address: 2a03:b0c0:1:e0::32c:b001Thử tìm kiếm Google Dorking với keyword: filetype:pdf inurl:inlanefreight.com

Có hai documents xuất hiện, ta cần lưu chúng về ngay sau khi tìm thấy vì nó có thể rất có ích (lưu cả đường dẫn).
Tiếp theo ta sẽ tìm kiếm bất kì email nào xuất hiện trên trang web với keyword: intext:"@inlanefreight.com" inurl:inlanefreight.com

Đây đều là danh sách nhân viên và email tổ chức của họ, thông tin có ích này giúp ta xác định được chính xác những ai còn đang hoạt động hoặc làm việc tại công ty.

Username Harvesting
Có thể sử dụng công cụ linkedin2username để thu thập dữ liệu từ trang LinkedIn của công ty và tạo các mashup tên người dùng khác nhau (flast, first.last, f.last, v.v.) có thể được thêm vào danh sách các mục tiêu spray passwords.
Credential Hunting
Tra cứu qua các kênh Telegram hoặc sử dụng công cụ Dehashed.
Question
While looking at inlanefreights public records; A flag can be seen. Find the flag and submit it. ( format == HTB{******} )
nslookup -type=TXT inlanefreight.com
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
inlanefreight.com text = "HTB{5Fz6UPNUFFzqjdg0AzXyxCjMZ}"Last updated