วิธีแยกชื่อโฮสต์หรือโดเมนจากที่อยู่ IP สาธารณะ

โฮสต์ฮันเตอร์ เป็นเครื่องมือฟรีสำหรับการค้นหาและแยกชื่อโฮสต์หรือชื่อโฮสต์อย่างมีประสิทธิภาพ ซึ่งให้ชุดที่อยู่ IP สาธารณะจำนวนมาก เครื่องมือนี้ใช้เทคนิค OSINT อย่างง่ายในการกำหนดที่อยู่ IP ด้วยชื่อโฮสต์เสมือน ซึ่งช่วยให้สามารถสร้างไฟล์ CSV หรือ TXT ที่มีข้อมูลที่รวบรวมได้ทั้งหมด คุณต้องการที่จะรู้ว่าเครื่องมือนี้มีความสามารถอะไร?

แยกชื่อโฮสต์หรือโดเมนจากที่อยู่ IP สาธารณะ

คุณสมบัติหลักของ HostHunter

HostHunter เป็นเครื่องมือที่ใช้ python3 ที่ออกแบบมาโดยเฉพาะเพื่อค้นหาโดเมนหรือชื่อโฮสต์ที่เป็นของที่อยู่ IP สาธารณะอย่างน้อยหนึ่งรายการ เราสามารถส่งไฟล์ TXT ของเครื่องมือนี้พร้อมที่อยู่ IP ทั้งหมดที่เราต้องการตรวจสอบ เครื่องมือจะระบุโดเมนทั้งหมดที่พบในที่อยู่ IP สาธารณะบางรายการโดยอัตโนมัติ นอกจากนี้ยังสามารถระบุได้ว่ามีเว็บแอปที่ทำงานอยู่หรือไม่ ที่อยู่ IP นั้นเป็นรูปธรรม การรู้จำนี้ทำได้โดยใช้เทคนิค OSINT ง่ายๆ ดังนั้นจึงไม่ทำการโจมตีประเภทใดเลย

คุณสมบัติที่สำคัญอื่น ๆ ของ HostHunter คือมันจะช่วยให้เราสามารถส่งออกไปยังไฟล์ข้อความ TXT หรือไฟล์ Excel ประเภท CSV ข้อมูลทั้งหมดที่รวบรวมจากวัตถุประสงค์หรือ "เป้าหมาย" ที่แตกต่างกัน ด้วยเหตุนี้เราจะ สามารถบันทึกข้อมูลนี้สำหรับการรักษาและการตรวจสอบในภายหลัง โดยไม่จำเป็นต้องเรียกใช้เครื่องมืออีกครั้งเมื่อใดก็ตามที่เราต้องการรับข้อมูลนั้น

รายละเอียดที่สำคัญมากของโปรแกรมขนาดเล็กนี้คือจะช่วยให้เราสามารถใส่ที่อยู่ IP เป้าหมายได้มากเท่าที่เราต้องการในไฟล์ข้อความ ไม่จำเป็นต้องทำทีละรายการโดยตรงในไฟล์ข้อความที่เราจะเขียน ที่อยู่ IP ในแต่ละบรรทัดที่เราต้องการตรวจสอบ คุณสมบัติอื่น ๆ ของโปรแกรมนี้คือช่วยให้เราสามารถดึงข้อมูลจากใบรับรอง SSL / TLS ที่เว็บไซต์ต่าง ๆ เชื่อมโยงกับที่อยู่ IP ที่สอดคล้องกัน นอกจากนี้ยังสามารถจับภาพหน้าจอ ตรวจสอบที่อยู่ IPv4 ที่เพิ่มเข้ามา และแม้กระทั่งรับข้อมูลจาก ส่วนหัว HTTP สุดท้ายนี้ ยังสามารถรับค่าชื่อโฮสต์ของบริการ FTP, SMTP, HTTP และ HTTPS ด้วยพอร์ตเริ่มต้นได้

การติดตั้งและการว่าจ้าง

โปรแกรมนี้เป็นสคริปต์ Python3 ที่ดำเนินการกระบวนการทั้งหมดโดยอัตโนมัติ อย่างไรก็ตาม จำเป็นต้องติดตั้งทั้ง python3 ในระบบปฏิบัติการของเรา เช่นเดียวกับข้อกำหนดเพิ่มเติมบางประการที่เราสามารถดาวน์โหลดได้โดยตรงจาก โครงการ HostHunter อย่างเป็นทางการบน GitHub . เราใช้ระบบปฏิบัติการ Debian 11 ซึ่งอัปเดตเป็นเวอร์ชันล่าสุด เพื่อทำการทดสอบกับโปรแกรมนี้

สิ่งแรกที่เราต้องทำคือติดตั้ง python3 และ python-pip และการพึ่งพาที่จำเป็นทั้งหมดในระบบปฏิบัติการของเรา:

sudo apt install python3 python3-pip

ด้านล่างนี้ คุณสามารถดูการดักจับการพึ่งพาที่จำเป็นทั้งหมดสำหรับระบบปฏิบัติการ Debian หากเราติดตั้ง "python-pip" มันจะติดตั้งเฉพาะเวอร์ชัน pip2 หากเราใส่ "python3-pip" เพื่อติดตั้ง มันจะติดตั้งเวอร์ชัน 3:

เมื่อเราระบุ “Y” แล้ว แพ็คเกจทั้งหมดที่จำเป็นสำหรับการทำงานของเครื่องมือที่น่าสนใจนี้จะถูกดาวน์โหลดและติดตั้งโดยอัตโนมัติ

ตอนนี้ เราต้องโคลนที่เก็บ HostHunter GitHub สำหรับสิ่งนี้ เราจะต้องติดตั้ง “git” บนระบบปฏิบัติการของเรา พร้อมการพึ่งพาที่เกี่ยวข้องทั้งหมด:

sudo apt install git

เมื่อติดตั้งแล้ว เราจะไปที่ไดเร็กทอรีที่เราจะดาวน์โหลดโปรแกรมนี้ได้ เช่น ใน / home / user / และเราจะต้องรันคำสั่งต่อไปนี้เพื่อโคลนที่เก็บ GitHub:

git clone https://github.com/SpiderLabs/HostHunter/

เมื่อโคลนที่เก็บทั้งหมดถูกโคลนแล้ว เราต้องป้อนมันโดยวางคำสั่ง:

cd HostHunter

ตอนนี้เรากำลังจะติดตั้งแพ็คเกจที่จำเป็นทั้งหมดเพื่อให้สามารถใช้ HostHunter ได้อย่างถูกต้อง สำหรับสิ่งนี้ เราต้องติดตั้งแพ็คเกจเพิ่มเติมบางอย่างด้วย apt และ pip3 เราต้องตรวจสอบให้แน่ใจว่าเรามีเวอร์ชัน python3-pip (pip3) ไม่เช่นนั้นจะทำให้เกิดข้อผิดพลาด

เราติดตั้งโปรแกรม Curl เพื่อใช้งานในภายหลัง

sudo apt install curl

เราดาวน์โหลดและติดตั้ง สนิม เพื่อให้สามารถใช้แพ็คเกจที่จำเป็นในโปรแกรมได้

curl https://sh.rustup.rs -sSf | sh pip3 install rust pip3 install cryptography

ตอนนี้เราดาวน์โหลดและติดตั้งข้อกำหนดที่จำเป็นทั้งหมดเพื่อให้ทำงานได้อย่างถูกต้อง

pip3 install -r requirements.txt

ด้วยการติดตั้งแพ็คเกจทั้งหมดข้างต้น ตอนนี้คุณควรจะสามารถเรียกใช้เครื่องมือ HostHunter ได้สำเร็จ แต่ก่อนที่คุณจะสามารถทำได้อย่างสมบูรณ์ คุณต้องติดตั้งอย่างอื่นเพื่อรับคุณสมบัติภาพหน้าจอ เพื่อให้มีฟังก์ชันนี้ เราจำเป็นต้องดาวน์โหลด Google . เวอร์ชันล่าสุด Chrome และติดตั้ง

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

dpkg -i ./google-chrome-stable_current_amd64.deb

และดาวน์โหลด ChromeDriver เวอร์ชันล่าสุดสำหรับระบบปฏิบัติการของเรา:

wget -O /tmp/chromedriver.zip https://chromedriver.storage.googleapis.com/74.0.3729.6/chromedriver_linux64.zip && sudo unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/;

ทำงาน

เมื่อเราติดตั้งทุกอย่างแล้ว เราสามารถเริ่มต้นใหม่เพื่อให้แน่ใจว่าทุกอย่างได้รับการติดตั้งอย่างถูกต้องและไม่ส่งคืนข้อผิดพลาดใดๆ ไวยากรณ์ที่เราต้องใช้ในการรันโปรแกรมนี้นั้นง่ายมาก เราเพียงแค่ต้องทำดังต่อไปนี้:

python3 hosthunter.py targets.txt -h

ในไฟล์ข้อความ targets.txt เราควรจะมีรายการที่อยู่ IP ทั้งหมดที่เราต้องการตรวจสอบ เราได้ใส่ที่อยู่ IP สาธารณะที่เป็นของเว็บไซต์ของเรา ดังนั้น เราควรเห็นโดเมน เราได้ใส่ที่อยู่ IP ของ Google ด้วย เพื่อแสดงชื่อโฮสต์ หรือมีเว็บแอปพลิเคชันที่ใช้ IP สาธารณะที่เพิ่มนี้

หากดำเนินการคำสั่งก่อนหน้านี้ เราได้รับข้อผิดพลาดนี้ในโมดูล fake_useragent:

python3 hosthunter.py targets.txt -h
Traceback (most recent call last):
File "hosthunter.py", line 48, in <module>
ua = UserAgent(use_cache_server=False)
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/fake.py", line 69, in __init__
self.load()
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/fake.py", line 78, in load
verify_ssl=self.verify_ssl,
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 250, in load_cached
update(path, use_cache_server=use_cache_server, verify_ssl=verify_ssl)
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 245, in update
write(path, load(use_cache_server=use_cache_server, verify_ssl=verify_ssl))
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 178, in load
raise exc
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 154, in load
for item in get_browsers(verify_ssl=verify_ssl):
File "/usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py", line 99, in get_browsers
html = html.split('<table class="w3-table-all notranslate">')[1] IndexError: list index out of range

ในภาพหน้าจอต่อไปนี้ คุณสามารถดูได้:

เราต้องแก้ไขไฟล์ /usr/local/lib/python3.7/dist-packages/fake_useragent/utils.py ด้วย nano หรือ Vim ไปที่บรรทัดที่ 99 และเปลี่ยน "w3" เป็น "ws" ที่นี่:

เมื่อเสร็จแล้ว เราบันทึกการเปลี่ยนแปลง และเราสามารถเรียกใช้คำสั่ง HostHunter อีกครั้ง และมันจะทำงานได้อย่างสมบูรณ์

python3 hosthunter.py targets.txt -h

หากเราต้องการส่งออกข้อมูลเป็นข้อความหรือไฟล์ CSV เราต้องใส่คำสั่งต่อไปนี้ตามลำดับ:

python3 hosthunter.py targets.txt -f txt -o hosts.txt python3 hosthunter.py targets.txt -f csv -o hosts.csv

ในภาพต่อไปนี้ คุณจะเห็นส่วนหนึ่งของข้อมูลที่สามารถรับได้สำหรับที่อยู่ IP แต่ละรายการที่เราส่งไปให้:

เราขอแนะนำให้คุณเข้าถึง โครงการ HostHunter อย่างเป็นทางการบน GitHub ซึ่งคุณจะพบรายละเอียดทั้งหมดเกี่ยวกับเครื่องมือที่น่าสนใจนี้