ฉันรัน nmap บนเซิร์ฟเวอร์ของฉันและพบว่ามีพอร์ตแปลก ๆ ที่เปิดอยู่ ฉันพยายามที่จะคิดออกว่ามีวิธีการแมปพอร์ตนั้นกับกระบวนการเฉพาะ แต่ไม่รู้ว่ามีเครื่องมือดังกล่าวหรือไม่
ข้อเสนอแนะใด ๆ
ฉันรัน nmap บนเซิร์ฟเวอร์ของฉันและพบว่ามีพอร์ตแปลก ๆ ที่เปิดอยู่ ฉันพยายามที่จะคิดออกว่ามีวิธีการแมปพอร์ตนั้นกับกระบวนการเฉพาะ แต่ไม่รู้ว่ามีเครื่องมือดังกล่าวหรือไม่
ข้อเสนอแนะใด ๆ
คำตอบ:
เช่นเดียวกับ Netstat ที่กล่าวถึงในโพสต์อื่น ๆ คำสั่ง lsof ควรจะสามารถทำได้ดี เพียงใช้สิ่งนี้:
lsof -i :<port number>
และกระบวนการทั้งหมดควรเกิดขึ้น ฉันใช้มันบน OS X ค่อนข้างบ่อย
เครื่องมือที่คุณต้องการคือlsof
รายการไฟล์ (และซ็อกเก็ตและพอร์ต) มีการติดตั้งที่น่าจะเป็นไปได้มากที่สุดและเป็นเวอร์ชั่นที่น่าจะเป็นของผู้โจมตีซึ่งหมายความว่ามันจะโกหกคุณ
นี่เป็นรูทคิทจริงๆ ฉันได้เห็นพฤติกรรมเช่นนี้มาก่อนและมันเป็นเสมอรูทคิ ระบบของคุณถูกบุกรุกและเครื่องมือใด ๆ ที่คุณใช้ซึ่งมาจากเครื่องเดียวกันไม่สามารถเชื่อถือได้ บูตลงใน Live CD (ซึ่งมีไบนารีที่เชื่อถือได้อ่านอย่างเดียว) และใช้เพื่อแยกข้อมูลการตั้งค่า ฯลฯ โปรแกรมใด ๆ ที่คุณมีสคริปต์ใด ๆ ที่คุณมีทิ้งไป อย่านำพวกเขา ปฏิบัติต่อพวกเขาและระบบเช่นถ้าพวกเขามีโรคเรื้อนเพราะพวกเขาทำ
ทำสิ่งนี้โดยเร็วที่สุด โอ้และถอดการเชื่อมต่อเครือข่ายของคุณ - ปฏิเสธการเข้าถึงของผู้โจมตี
sudo netstat -lnp
แสดงรายการพอร์ตที่กำลังรับฟังการเชื่อมต่อขาเข้าและกระบวนการที่เกี่ยวข้องที่เปิดพอร์ต
netstat -anp
"-p" บอกให้แสดงรายการ process-ID ที่เปิดพอร์ต - บอกให้รายการลิสต์ฟังและไม่แก้ไขชื่อ สำหรับระบบไม่ว่างที่สามารถเร่งความเร็วในการคืนค่าได้อย่างมาก
netstat -anp | grep "LIST"
นั่นจะให้พอร์ตเปิดแก่คุณ
หากคุณไม่เห็นพอร์ตที่เปิดด้วยเครื่องมือระบบปฏิบัติการและคุณสงสัยว่าอาจมีการติดตั้งรูทคิทอยู่
รูทคิทอาจมีการเปลี่ยนแปลงเครื่องมือระบบเพื่อหลีกเลี่ยงกระบวนการและพอร์ตบางอย่างหรือเปลี่ยนโมดูลเคอร์เนล
คุณสามารถตรวจสอบรูทคิทด้วยเครื่องมืออัตโนมัติหลายอย่าง 'apt-cache search rootkit' แสดงสิ่งต่อไปนี้ใน Ubuntu:
chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports
หากคุณมีรูทคิทคุณสามารถเปลี่ยน 'เปลี่ยน' เป็นระบบของคุณได้ แต่ฉันขอแนะนำให้คุณดูว่าการเข้ามาของ Intrussion ทำอย่างไรและทำให้ระบบแข็งขึ้นเพื่อไม่ให้ซ้ำ
พวกเขาไม่ได้ จำกัด เฉพาะ Ubuntu คุณสามารถใช้พวกเขาใน CentOS ได้เช่นกัน เพียงมองหาแพ็คเกจหรือดาวน์โหลดจากหน้าเว็บของพวกเขา
จากผลลัพธ์จากพอร์ตนั้นดูเหมือนว่าคุณกำลังใช้ pcanywhere แน่นอน: " Ы <Enter>" คล้ายกับ "กรุณากด <Enter>" ซึ่งเป็นข้อความต้อนรับ pcanywhere ฉันไม่รู้ว่าทำไมกระบวนการไม่ปรากฏในรายการกระบวนการ คุณรูทหรือเปล่า
คุณสามารถลองรีบูตเครื่องเพื่อดูว่าเป็นกระบวนการที่ใช้ครั้งเดียวหรือไม่
หากต้องการอธิบายเกี่ยวกับคำตอบโดย @bjtitus คุณสามารถรับข้อมูลโดยละเอียดตัวอย่างเช่น:
$ lsof -i :8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
squid3 1289 proxy 15u IPv6 14810490 0t0 TCP *:8000 (LISTEN)
$ ps -fp 1289
UID PID PPID C STIME TTY TIME CMD
proxy 1289 1 0 09:48 ? 00:00:00 /usr/sbin/squid3 -N -f /etc/squid-deb-proxy/squid-deb-proxy.conf
ฉันเห็นได้ว่าปลาหมึกเป็นกระบวนการ แต่มันเป็นเรื่องจริงที่ฉันsquid-deb-proxy
จะจับพอร์ต
อีกตัวอย่างที่ดีของแอพ java:
$ lsof -i :4242
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3075 root 86u IPv4 12019 0t0 TCP *:4242 (LISTEN)
$ ps -fp 3075
UID PID PPID C STIME TTY TIME CMD
root 3075 1 15 May24 ? 3-16:07:25 /usr/local/crashplan/jre/bin/java -Dfile.encoding=UTF-8 -Dapp=CrashPlanService -DappBaseName=CrashPl
คุณสามารถดูได้ในlsof
(LiSt Open Files) ว่าเป็นจาวาซึ่งมีประโยชน์น้อยกว่า เรียกใช้ps
คำสั่งด้วย PID ที่เราเห็นได้ทันทีว่าเป็น CrashPlan