Tải bản đầy đủ (.docx) (29 trang)

Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (13)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.36 MB, 29 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

&

AN TỒN MẠNG

Đề tài: Tìm hiểu về kali tool - WhatWaf
Nhóm học phần: Nhóm 02
Thứ tự trong lớp: 06
Họ và tên: Nguyễn Văn Đức Anh
Mã sinh viên: B18DCAT009

MỤC LỤC


I.

GIỚI THIỆU, LỊCH SỬ HÌNH THÀNH:.......................................................4
A)

WAF LÀ GÌ?........................................................................................................4

B)

GIỚI THIỆU:........................................................................................................8

C)

LỊCH SỬ HÌNH THÀNH:.......................................................................................9

II. CÀI ĐẶT, HƯỚNG DẪN SỬ DỤNG:...........................................................11


1. CÀI ĐẶT:...........................................................................................................11
2. SỬ DỤNG:..........................................................................................................13
a) Các nét đặc trưng của WhatWaf:...................................................................13
b) Danh sách các WAF, hệ thống bảo mật ứng dụng web hỗ trợ nhận dạng: (89)
14
3. CÁC ĐỐI SỐ KHI SỬ DỤNG:...............................................................................17
III.

CÁC BÀI LAB DEMO:.............................................................................21

1. BÀI 1: XÁC ĐỊNH TƯỜNG LỬA CỦA ỨNG DỤNG WEB VÀ TÌM CÁCH BYPASSES CHO
WEBSITE HTTPS://APPLE.COM...................................................................................21

2. BÀI 2: XÁC ĐỊNH TƯỜNG LOẠI TƯỞNG LỬA CỦA MỘT SỐ WEBSITE:..................23
IV.

SO SÁNH, ĐÁNH GIÁ:.............................................................................26

A)

SO SÁNH:..........................................................................................................26

1. Wafw00f:.......................................................................................................26
2. Wafpass:........................................................................................................27
3. XSStrike:.......................................................................................................28
B)

ĐÁNH GIÁ:........................................................................................................29

V. TÀI LIỆU THAM KHẢO:............................................................................30


Chú thích hình ảnh


Ảnh 1: Quét bằng WAFW00F tool.................................................................................5
Ảnh 2: Quét bằng identYwaf tool..................................................................................6
Ảnh 3: Quét bằng identYwaf tool 2...............................................................................7
Ảnh 4: Giao diện tương tác của WhatWaf.....................................................................8
Ảnh 5: Tác giả và thành tựu trên github của whatwaf...................................................9
Ảnh 6: Cài đặt whatwaf trên kali linux 1......................................................................11
Ảnh 7: Cài đặt whatwaf trên kali linux 2......................................................................12
Ảnh 8: Cài đặt whatwaf trên kali linux 3......................................................................12
Ảnh 9: Bài demo 1 - website sẽ khai thác....................................................................21
Ảnh 10: Bài demo 1 - quét loại tường lửa được dùng.................................................21
Ảnh 11: Bài demo 1 - whatwaf cho kết quả tường lửa sử dụng..................................22
Ảnh 12: Bài demo 1 - whatwaf đưa ra các phương án vượt qua tường lửa................23
Ảnh 13: Bài demo 2 - website ebay.............................................................................23
Ảnh 14: Bài demo 2 - ebay sử dụng akamai firewall....................................................24
Ảnh 15: Bài demo 2 - website wire..............................................................................24
Ảnh 16: Bài demo 2 - website wire sử dụng 2 loại tường lửa.....................................25
Ảnh 17: Wafw00f example..........................................................................................26
Ảnh 18: Wafpass example...........................................................................................27
Ảnh 19: XSStrike example............................................................................................28


I. Giới thiệu, lịch sử hình thành:
a) WAF là gì?
 WAF – Web Application Firewall, tường lửa ứng dụng web là một chương trình
phân tích các u cầu đến máy chủ web và dựa trên các quy tắc, lọc ra những
yêu cầu có thể gây nguy hiểm đến một trang web.

 Do trang web sử dụng WAF, không thể khai thác các lỗ hổng của một trang
web, chúng bị tường lửa ứng dụng web loại bỏ.
a) Sử dụng WAF có đảm bảo an tồn tuyệt đối cho website khơng?
 Trên thực tế, với WAF (cũng như nhiều giải pháp bảo mật khác), để WAF
có hiệu quả, nó phải được cấu hình đúng. Một số WAF sẽ khơng làm gì cả
sau khi cài đặt, vì tất cả quy tắc lọc đều chưa được cấu hình đúng.
 Theo quan điểm của WAF, ‘bảo vệ’ lý tưởng là khi khơng có u cầu nào
được gửi đến máy chủ web – an toàn tuyệt đối khi không sử dụng.
 Nếu ta bật tất cả quy tắc của WAF, máy chủ web có thể ngừng hoạt động, vì
hầu hết các yêu cầu đến máy chủ sẽ được coi là ‘có khả năng nguy hiểm’.
 Do đó, lập trình viên sẽ là người tìm sự cân bằng giữa 2 việc: website vẫn
hoạt động và WAF vẫn hiệu quả. Để làm được điều này, lập trình viên phải
hiểu rõ hoạt động của website, hiểu rõ các cách thức tấn cơng vào web site
của tin tặc. Nó rất khó, lý tưởng này thật hiếm.
 Đây là lý do ta vẫn có thể thâm nhập trái phép, nguy hiểm vào website ngay
cả khi website được bảo vệ bởi tường lửa. Nhưng WAF đảm nhiểm vai trò
kiểm tra an ninh cho website của bạn, nó sẽ ngăn chặn các lỗ hổng thường
gặp.
b) Một số công cụ dùng để phát hiện WAF:
 Các WAF khác nhau có các bộ lọc khác nhau và có các tập rules khác nhau.
Vì vậy, việc xác định được loại tường lửa là rất quan trọng. Do đó, ta sử
dụng các cơng cụ để tìm ra loại tường lửa sử dụng.

 WAFW00F: đây là một tool được dùng để phát hiện nhanh các loại WAF
cho website cụ thể.
o Nó có thể qt một trang web thơng qua một proxy
o Hỗ trợ các định đạng đầu vào và đầu ra csv, json hoặc text


Ảnh 1: Quét bằng WAFW00F tool


 Chương trình này chạy rất nhanh và đơn giản, nó phát hiện WAF tốt. Nhưng
thực tế là nó khơng thể thay đổi User-Agent, do đó đơi khi chương trình khơng
thể xác định dc WAF vì lý do máy chủ từ chối các yêu cầu của công cụ này với
User-Agent mặc định.

 identYwaf: là một chương trình dễ sử dụng và mạnh mẽ khác. Nó
cũng nhận dạng WAF dựa trên phản hồi của máy chủ. Hơn nữa công
cụ này thực hiện các truy vấn bổ sung để xác định các danh mục lỗ
hổng mà WAF đang nhắm mục tiêu.


 Sau khi hồn tất qt, cơng cụ đưa ra ước tính (theo phần trăm) về độ
phức tạp của việc khai thác lỗ hổng (nếu có).
 Chương trình này có thể phát hiện hơn 80 loại sản phẩm bảo vệ khác
nhau.

Ảnh 2: Quét bằng identYwaf tool


Ảnh 3: Quét bằng identYwaf tool 2

 WhatWaf: đây là chủ đề chính của bài viết này, chúng ta sẽ tìm hiểu
kỹ hơn về cơng cụ này ở các phần tiếp theo.


b) Giới thiệu:
 WhatWaf là một công cụ phát hiện bảo mật ứng dụng web nâng cao nhằm mục
đích tìm thông tin về tường lửa của một website dành cho các pentesters.
 WhatWaf sẽ quét trang web và cho biết máy chủ web có sử dụng WAF – Web

Application Firewall hay không, và là loại nào.
 Whatwaf sẽ cố gắng xác định tường lửa hoặc hệ thống phát hiện trên danh sách
được cung cấp hoặc địa chỉ số ít, ứng dụng web, sau khi tường lửa được xác
định, whatwaf sẽ thử một số kỹ thuật giả mạo và xuất ra mơ tả, ví dụ và đường
dẫn tải của các kỹ thuật thành công.

Ảnh 4: Giao diện tương tác của WhatWaf

c) Lịch sử hình thành:


Ảnh 5: Tác giả và thành tựu trên github của whatwaf

 WhatWaf được tạo ra bởi một nhóm nhỏ gồm những người đam mê và những
lập trình viên cùng với những người từ cộng đồng OpenSource.
 WhatWaf khơng địi hỏi quá nhiều kinh phí để nghiên cứu và phát triển do
thơng tin đều có sẵn trực tuyến (WAF code, WAF name, …).
 Về căn bản thì WhatWaf là miễn phí, nhưng có một số tính năng nâng cao cần
phải trả phí để sử dụng. Từ phiên bản 2.0, một cơng cụ khai thác CPU XMR
được tích hợp sẵn ở trong.
 Lịch sử:
Thời điểm

Sự kiện

15/12/2017

WhatWaf được ra mắt lần đầu

20/12/2017


WhatWaf được giới thiệu trên Kitploit lần đầu tiên

21/12/2017

WhatWaf bắt đầu thịnh hành trên danh sách Python của Github
ở vị trí thứ 6

22/12/2017

Whatwaf đã nằm trong danh sách thịnh hành của GitHub trong
hơn 24 giờ

27/12/2017

Whatwaf được giới thiệu trên trang facebook "The Hacker
News" lần đầu tiên


28/12/2017

Whatwaf bắt đầu thịnh hành trở lại, hiện ở vị trí thứ ba

21/02/2018

Whatwaf được xếp hạng thứ năm trong mười dự án python
nguồn mở hàng đầu

19/03/2018


WhatWaf đạt 660 sao trên Github

Tháng 7 / 2018

WhatWaf đưa ra một danh sách top 10 khác

09/08/2018

WhatWaf truy cập 726 bắt đầu trên Github

15/12/2018

Whatwaf tròn một tuổi

12/02/2019

Whatwaf đạt 1k sao
Whatwaf đứng thứ 16 trong bảng 34 amazing python libraries

23/09/2019

WhatWaf đạt 1300 sao

II. Cài đặt, hướng dẫn sử dụng:
1. Cài đặt:
 Bước 1:
 Mở root terminal emulator.


 Chạy lệnh: # apt install python3-pip


Ảnh 6: Cài đặt whatwaf trên kali linux 1



Chạy lệnh: # git clone />

Ảnh 7: Cài đặt whatwaf trên kali linux 2

 Chạy lệnh: # cd whatwaf
 Chạy lệnh: # pip3 install -r requirements.txt

Ảnh 8: Cài đặt whatwaf trên kali linux 3
 Đã cài đặt xong WhatWaf trong kali linux.

2. Sử dụng:


a) Các nét đặc trưng của WhatWaf:
 Khả năng chạy trên một URL duy nhất với -u/--url flag
 Khả năng chạy qua danh sách URL có -l/--list flag
 Khả năng phát hiện hơn 70 tường lửa khác nhau
 Khả năng thử hơn 30 kỹ thuật giả mạo khác nhau
 Khả năng chuyển tải trọng của riêng bạn từ một tệp, từ thiết bị đầu cuối
hoặc sử dụng trọng tải mặc định
 Tải trọng mặc định phải tạo ra ít nhất một lần kích hoạt WAF
 Khả năng vượt tường lửa bằng cách sử dụng cả kỹ thuật SQLi và kỹ
thuật tập lệnh trang web chéo
 Khả năng chạy sau bất kỳ loại proxy nào phù hợp với regex này:
(socks\d+)?(http(s)?)?:// (socks5, socks4, http, https)

 Khả năng sử dụng tác nhân người dùng ngẫu nhiên, tác nhân người dùng
cá nhân hoặc tác nhân người dùng mặc định tùy chỉnh
 Tự động gán giao thức cho HTTP hoặc khả năng buộc giao thức cho
HTTPS
 Một bộ mã hóa được tích hợp sẵn để bạn có thể mã hóa tải trọng của
mình thành các vòng bỏ qua được phát hiện
 Tự động tạo sự cố nếu phát hiện ra tường lửa không xác định
 Khả năng gửi đầu ra tới tệp JSON, CSV hoặc YAML
 Khả năng mã hóa các tải trọng được cung cấp bằng cách sử dụng các tập
lệnh giả mạo tích hợp
 Các trọng tải được mã hóa sau đó được lưu vào một tệp cơ sở dữ liệu để
sử dụng trong tương lai
 Khả năng xuất các tải trọng được lưu trong bộ nhớ cache từ cơ sở dữ
liệu sang tệp YAML, JSON, CSV hoặc văn bản
 Khả năng lưu tất cả lưu lượng truy cập vào các tệp để phân tích thêm
bằng cách chuyển –traffic flag
 Khả năng thử và xác định máy chủ web phụ trợ lưu trữ ứng dụng web
bằng cách sử dụng -W
 Khả năng gửi yêu cầu POST hoặc GET
 Khả năng vượt qua các tiêu đề tùy chỉnh của riêng bạn
b) Danh sách các WAF, hệ thống bảo mật ứng dụng web hỗ trợ nhận dạng: (89)
 360 Web Application Firewall (360)
 aeSecure (WAF)
 Airlock (Phion/Ergon)
 AkamaiGHost Website Protection (Akamai Global Host)
 Alert Logic (SIEMless Threat Management)
 AliYunDun (WAF)
















































Anquanbao Web Application Firewall (Anquanbao)
AnYu Web Application Firewall (Anyu Technologies)
Apache Generic
Armor Protection (Armor Defense)
Application Security Manager (F5 Networks)
ASP.NET Generic Website Protection (Microsoft)
Apache Traffic Server (ATS web proxy)
Amazon Web Services Web Application Firewall (Amazon)
Yunjiasu Web Application Firewall (Baidu)
Barikode Web Application Firewall
Barracuda Web Application Firewall (Barracuda Networks)
Bekchy (WAF)
BIG-IP (F5 Networks)
BinarySEC Web Application Firewall (BinarySEC)
BitNinja (WAF)
BlockDos DDoS protection (BlockDos)
Chuangyu top government cloud defense platform (WAF)

Cisco ACE XML Firewall (Cisco)
CloudFlare Web Application Firewall (CloudFlare)
CloudFront Firewall (Amazon)
XSS/CSRF Filtering Protection (CodeIgniter)
Comodo Web Application Firewall (Comodo)
CSF (ConfigServer Security & Firewall)
IBM Websphere DataPower Firewall (IBM)
Deny All Web Application Firewall (DenyAll)
DiDiYun WAF (DiDi)
DoD Enterprise-Level Protection System (Department of Defense)
DOSarrest (DOSarrest Internet Security)
dotDefender (Applicure Technologies)
DynamicWeb Injection Check (DynamicWeb)
EdgeCast Web Application Firewall (Verizon)
ExpressionEngine (Ellislab WAF)
FortiWeb Web Application Firewall (Fortinet)
Gladius network WAF (Gladius)
Google Web Services (G-Cloud)
Grey Wizard Protection
Incapsula Web Application Firewall (Incapsula/Imperva)
INFOSAFE by
Instart Logic (Palo Alto)
Janusec Application Gateway (WAF)
Jiasule (WAF)
Litespeed webserver Generic Protection
Malcare (MalCare Security WAF)












































Open Source Web Application Firewall (Modsecurity)
Mod Security (OWASP CSR)
NexusGuard Security (WAF)
Nginx Generic Protection
Palo Alto Firewall (Palo Alto Networks)
Anti Bot Protection (PerimeterX)
pkSecurityModule (IDS)
Powerful Firewall (MyBB plugin)
Radware (AppWall WAF)
RSFirewall (Joomla WAF)
Sabre Firewall (WAF)
SafeDog WAF (SafeDog)
SecuPress (WordPress WAF)
Imperva SecureSphere (Imperva)
Shadow Daemon Opensource (WAF)
Shield Security
Website Security SiteGuard (Lite)
SonicWALL Firewall (Dell)
Squid Proxy (IDS)
Stackpath WAF (StackPath)
Stingray Application Firewall (Riverbed/Brocade)
StrictHttpFirewall (WAF)

Sucuri Firewall (Sucuri Cloudproxy)
Teros Web Application Firewall (Citrix)
UEWaf (UCloud)
UrlScan (Microsoft)
Varnish/CacheWall WAF
Viettel WAF (Cloudrity)
Wallarm WAF
WatchGuard WAF
WebKnight Application Firewall (AQTRONIX)
IBM Security Access Manager (WebSEAL)
West236 Firewall
Wordfence (Feedjit)
WTS-WAF (Web Application Firewall)
Xuanwudun WAF
Yundun Web Application Firewall (Yundun)
Yunsuo Web Application Firewall (Yunsuo)
Zscaler Cloud Firewall (WAF)

3. Các đối số khi sử dụng:


Loại hình

Đối số

Tác dụng


Đối số bắt buộc


-h/--help

In menu trợ giúp và thoát, đây là cờ mặc

(Các đối số này

định nếu khơng có cờ nào khác được

phải được
-u URL, --url URL

chuyển
Chuyển một URL duy nhất để phát hiện

-b FILE-PATH,

biện pháp bảo vệ
Chuyển tệp yêu cầu Burp Suite để thực

--burp FILE-PATH

hiện đánh giá WAF

--pa

Chuyển User-Agent cá nhân ở dạng chuỗi

truyền để
WhatWaf chạy)


Đối số request
(Các đối số này

để thay thế User-Agent mặc định. Việc

kiểm soát các

đảm bảo Tác nhân người dùng của bạn có

yêu cầu HTTP,

đúng định dạng hay không là tùy thuộc

các header)

vào bạn
Vượt qua cờ này sẽ lấy ra một User-Agent

--ra

ngẫu nhiên content/files/user_agents.txt,
có tổng cộng 4.195 Tác nhân người dùng
--proxy

có sẵn để được chọn
Vượt qua một proxy để chạy phía sau.
Whatwaf tương thích với hầu hết các loại
proxy như:

--tor


 socks5
 socks4
 http
 https
Chuyển cờ này để sử dụng Tor làm proxy
của bạn. Xin lưu ý rằng điều này yêu cầu
bạn phải cài đặt Tor trên hệ thống của
mình và chạy. Nó sẽ cho rằng Tor đang ở

-p/--payloads

trên cổng 9050 và cố gắng kết nối ở đó.
Cung cấp payloads cho các lần quét, các
payloads này được phân tách bằng dấu
phẩy
VD: -p=”AND 1=1, OR 2=2”
Bằng cách này, whatwaf sẽ có thể xác
định danh sách theo một mẫu số chung


--pl

Chuyển một tệp văn bản có chứa các
trọng tải (một trên mỗi dịng) cái gì sẽ liệt
kê các tải trọng này và sử dụng từng tải
một cho các yêu cầu phát hiện. Bạn nên
chạy sau proxy hoặc sử dụng
proxychains nếu bạn định sử dụng


--force-ssl

phương pháp này
Chuyển cờ này sẽ buộc URL chạy sau
HTTPS thay vì HTTP

Tùy chọn mã

-e PAYLOAD

Mã hóa tải trọng được cung cấp bằng

hóa

TAMPER-SCRIPT-

cách sử dụng tập lệnh giả mạo được cung

(Chúng kiểm

LOAD-PATH,

cấp

sốt việc mã

--encode PAYLOAD

hóa trọng tải)


TAMPER-SCRIPTLOAD-PATH
-el PATH TAMPER-

Mã hóa tệp chứa trọng tải (một trên mỗi

SCRIPT-LOAD-

dịng) bằng cách chuyển đường dẫn và

PATH,

đường dẫn tải

--encode-list PATH
TAMPER-SCRIPTTùy chọn đầu

LOAD-PATH
-F, --format

ra

Định dạng đầu ra thành một lệnh và hiển
thị nó

(Các đối số xử

-J, --json

Gửi đầu ra tới tệp JSON


lý đầu ra)

-Y, --yaml

Gửi đầu ra tới tệp YAML

-C, --csv

Gửi đầu ra tới tệp CSV

-c, --url-cache

Kiểm tra lại các URL đã được lưu vào bộ

Đối số cơ sở dữ
liệu

nhớ đệm trong csdl trước khi chạy chúng

(Các đối số liên

giúp tiết kiệm thời gian quét nhiều(mặc

quan đến cơ sở

định là false)


dữ liệu


-uC, --view-url-

Hiển thị tất cả bộ đệm URL bên trong cơ

WhatWafs)

cache

sở dữ liệu, điều này bao gồm netlock, giả
mạo scipts, máy chủ web và các biện

-pC, --payload-cache

pháp bảo vệ đã xác định
Xem tất cả payloads đã được lưu trong bộ

-vC, --view-cache

nhớ cache bên trong csdl
Xem tất cả bộ nhớ đệm trong csdl, mọi

--export FILE-TYPE

thứ từ URL đến payloads
Xuất các payloads đã được mã hóa sang
một loại tệp cụ thể và lưu chúng vào trong

Các đối số khác

--verbose


thư mục chính
Chạy ở chế độ verbose, nhiều đầu ra hơn

(Không thuộc

--hide

Ẩn banner khi chạy

--update

Cập nhật WhatWaf lên phiên bản mới

--save FILENAME

nhất
Lưu các payloads được mã hóa vào một

nhóm nào ở
trên)

tệp
--skip

Bỏ qua kiểm tra các vòng bỏ qua và chỉ
xác định tường lửa

--verify-num INT


Thay đổi amount (5) – mặc định để xác
minh nếu thực sự khơng có mặt Waf


III. Các bài lab demo:
1. Bài 1: Xác định tường lửa của ứng dụng web và tìm cách bypasses cho website



Ảnh 9: Bài demo 1 - website sẽ khai thác
 Sử dụng câu lệnh: python3 ./whatwaf -u


Ảnh 10: Bài demo 1 - quét loại tường lửa được dùng

-> Website apple.com sử dụng 2 loại tường lửa, đó là Apache Generic và Shadow
Daemon Opensource.

Ảnh 11: Bài demo 1 - whatwaf cho kết quả tường lửa sử dụng


-> Ta tìm ra được 5 hướng khai thác qua tường lửa của website apple.com
 Cách 1: giả mạo payload bằng cách che dấu các boolean với các đối tác tượng
trưng của chúng
 Cách 2: giả mạo payload bằng cách thay đổi không gian trọng tải thành các ký
tự trống ASCII ngẫu nhiên
 Cách 3: xáo trộn payload bằng cách thay đổi không gian trọng tải thành các
hàm băm bị xáo trộn bằng một dòng mới
 Cách 4: xáo trộn payload bằng cách thay đổi khoảng trắng trong trọng tải thành
dấu gạch ngang kép

 Cách 5: xáo trộn payload bằng cách thay đổi payload thành chữ hoa tương
đương

Ảnh 12: Bài demo 1 - whatwaf đưa ra các phương án vượt qua tường lửa

2. Bài 2: Xác định tường loại tưởng lửa của một số website:
 ebay.com


Ảnh 13: Bài demo 2 - website ebay

 Sử dụng câu lệnh: python3 ./whatwaf -u phát hiện trang web
sử dụng loại tường lửa nào.

Ảnh 14: Bài demo 2 - ebay sử dụng akamai firewall
 Website sử dụng tường lửa Akamai.


 wise.com

Ảnh 15: Bài demo 2 - website wire
 Sử dụng câu lệnh: python3 ./whatwaf -u phát hiện trang web
sử dụng loại tường lửa nào.

Ảnh 16: Bài demo 2 - website wire sử dụng 2 loại tường lửa
 Website sử dụng 2 loại tường lửa là Akamai Firewall và CloudFlare Firewall.


IV.


So sánh, đánh giá:

a) So sánh:
 Những cơng cụ có tương tự, lựa chọn thay thế cho whatwaf.
1. Wafw00f:
- Thường được sử dụng để thu thập thông tin, kiểm tra xâm nhập, thăm dò hoặc
đánh giá bảo mật:
- Người dùng hướng đến của công cụ này là các chuyên gia bảo mật và pentester
- Đánh giá: Điểm mạnh là mã nguồn của cơng cụ này có sẵn.
- Cài đặt: wafw00f hoạt động trên Linux, được viết bằng python


×