Nmap 5.0 (Sid) - การตรวจไวรัส Conficker ในเครือข่าย

เป็นอีกคราวที่ opensource network tools มีการเปลี่ยนแปลงขนานใหญ่ เนื่องจากว่า Nmap ในรุ่นนี้ มีความสามารถเพิ่มขึ้นอย่างมาก (Top 5 Improvements in Nmap 5) โดยเฉพาะความสามารถใหม่ที่ชื่อว่า NSE (Nmap Script Engine) ซึ่งทำให้ Nmap สามารถเรียกใช้งาน predefined script เพื่อให้ตรวจสอบระบบตามที่กำหนดได้ โดยรายการ script ที่มาพร้อมกับ Nmap มีแสดงไว้ที่ http://nmap.org/nsedoc/

หลังจากที่รอมา 1 เดือนเต็ม จากวันที่ 16 กรกฎาคม 2552 ซึ่งทาง insecure.org ได้ปล่อย Nmap 5.0 ออกมา เป็นรุ่น stable ล่าสุด หลังจากรุ่น 4.76 ซึ่งการรอคอยที่จะเข้ามาของ Nmap 5.0 ใน Debian ก็เป็นการรออย่างมีความหวัง แต่ไม่ได้หวั่นใจ เพราะ Nmap maintainer (LaMont Jones) ค่อนข้าง active มาก

ความสามารถที่เหล่า admin ต้องการ โดยเฉพาะ admin ที่ต้องดู Windows clients ปัญหาที่เจอก็ไม่พ้นเรื่องไวรัสคอมพิวเตอร์ ที่ช่วงหลัง ๆ ทำเอา admin ปวดเศียรเวียนเกล้ากันไปตาม ๆ กัน :P ดีแต่ผมดูแลเครื่องแม่ข่ายอย่างเดียวซะเป็นส่วนใหญ่ รอดตัวไปบ้าง แต่ก็ไม่วายที่จะต้องเข้าไปเกี่ยวข้อง เพราะผลกระทบจากไวรัส ทำให้มีคนบางคนมองระบบตรวจสอบสิทธิ์ก่อนเข้าใช้เครือข่ายอินเทอร์เน็ต (RahuNAS) อย่างมีอคติว่า ระบบไม่ดี แต่บอกเหตุผลกับนักพัฒนาไม่ได้ว่า แล้วทำไมบางเครือข่ายใช้ได้ปกติ ถ้าระบบไม่ดี ต้องมีสาเหตุที่ชัดเจน จะได้แก้ไขให้ได้ตามปัญหา แต่ส่วนใหญ่จะเหมารวมเลยว่า ระบบไม่ดี -_-'' ก็แล้วแต่มุมมองละกันครับ ไม่ว่ากัน หน้าที่ admin คือ แก้ปัญหา และพยายามป้องกันปัญหาที่จะเกิดขึ้น ใครจะมองอย่างไร หรือคิดอย่างไรก็สุดแล้วแต่วิจารณญาณของแต่ละบุคคลก็แล้วกัน มาเข้าเรื่องต่อเกี่ยวกับ Nmap ที่จะช่วยตรวจสอบเครือข่ายของเราว่า มีเครื่องใดในเครือข่าย ที่อาจจะติดไวรัสคอมพิวเตอร์ และส่งผลกระทบต่อการทำงานของเครือข่ายบ้าง ซึ่งไวรัสคอมพิวเตอร์ที่พบบ่อย ก็น่าจะเป็น Conficker (ชื่อสามัญ) ส่วนชื่ออื่น ๆ มีอีกมากมายไม่ขอกล่าวถึงละกัน โดยจะขอกล่าวเฉพาะการใช้ Nmap สำหรับตรวจสอบว่า เครื่องคอมพิวเตอร์ในเครือข่าย เครื่องไหนบ้าง ที่อาจจะติดไวรัสคอมพิวเตอร์ชนิดนี้

ติดตั้ง Nmap 5.0 (ย้ำว่าต้องเป็น 5.0 นะครับ)

# apt-get install nmap

เริ่มสั่ง scan

มี script อยู่ 2 แบบที่เกี่ยวข้องกับเรื่องนี้คือ

  • p2p-conficker - สำหรับตรวจสอบ Conficker.C และสูงกว่า
  • smb-check-vulns - สำหรับตรวจสอบช่องโหว่ของ Microsoft Windows ที่อาจจะทำให้ติด Conficker ได้ และตรวจสอบ Conficker รุ่นแรก ๆ
# nmap -PN -T4 -p139,445 -n -v --script=p2p-conficker \
--script-args safe=1 -oN scan.log 192.168.0.2-254
...
...
Host 192.168.0.25 is up (0.00041s latency).
Interesting ports on 192.168.0.25:
PORT    STATE SERVICE
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 00:1B:FC:AE:XX:XX (Asustek Computer)

Host script results:
|  p2p-conficker: Checking for Conficker.C or higher...
|  | Check 1 (port 41159/tcp): INFECTED (Received valid data)
|  | Check 2 (port 43945/tcp): INFECTED (Received valid data)
|  | Check 3 (port 7356/udp): INFECTED (Received valid data)
|  | Check 4 (port 33808/udp): INFECTED (Received valid data)
|_ |_ 4/4 checks are positive: Host is likely INFECTED
...
...

จะปรากฎข้อมูลที่แสดงให้เห็นเครื่องที่อาจจะติดเชื้อออกมา

ลองอีก script

# nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns \
--script-args safe=1 -oN scan2.log 192.168.0.2-254

หลังจากนั้น ก็ลองวิเคราะห์ scan.log กับ scan2.log และคราวนี้ ก็ตามหาต้นตอ และเริ่มกระบวนการฆ่าเชื้อ ซึ่งวิธีการมีโดยทั่วไปในอินเทอร์เน็ต สอบถาม Google ตามสะดวกได้เลยครับ

Nmap ยังมี script อื่น ๆ ที่ถูกสร้างขึ้นมาช่วยอำนวยความสะดวกต่อ admin สามารถเลือกใช้ได้ตามต้องการ

ข้อมูลเพิ่มเติม

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้