วิธีค้นหา WAF ที่ปกป้องเว็บไซต์

[*]

[*]เป็นความคิดที่ดีเสมอที่ผู้โจมตีจะทราบว่า WAF มักใช้ที่ไหนในเครือข่ายก่อนที่จะเริ่มพิมพ์ลายนิ้วมือ

[*]ผู้ทดสอบการเจาะข้อมูลต้องทราบ WAF ก่อนเริ่มการมีส่วนร่วมกับเว็บแอปพลิเคชัน เนื่องจากอาจได้รับผลกระทบจากผลการจู่โจมของพวกเขา

[*]แต่ก่อนหน้านั้น…

WAF คืออะไร?

[*]ดับบลิวเอเอฟ (ไฟร์วอลล์แอปพลิเคชันเว็บ ) มีบทบาทสำคัญในการรักษาความปลอดภัยของเว็บไซต์ พวกเขากรองและตรวจสอบการจราจร Web Application Firewalls ให้การป้องกันข้อบกพร่องที่สำคัญ หลายองค์กรกำลังปรับปรุงโครงสร้างพื้นฐานของตนให้ทันสมัยเพื่อรวมไฟร์วอลล์ของเว็บแอปพลิเคชัน ผู้เชี่ยวชาญด้านการแฮ็กข้อมูลตามหลักจริยธรรม ไฟร์วอลล์ของเว็บแอปพลิเคชันไม่สามารถแก้ไขปัญหาด้านความปลอดภัยได้ด้วยตนเอง จำเป็นต้องมีการกำหนดค่าที่เพียงพอเพื่อรับรู้และป้องกันภัยคุกคามภายนอก

[*]WAF แตกต่างจากไฟร์วอลล์แบบเดิมตรงที่อาจกรองเนื้อหาของแอปพลิเคชันออนไลน์เฉพาะ ในขณะที่ไฟร์วอลล์แบบเดิมทำหน้าที่เป็นอุปสรรคด้านความปลอดภัยระหว่างเซิร์ฟเวอร์

[*]

[*]การโต้ตอบ HTTP อยู่ภายใต้ชุดของกฎ กฎเหล่านี้จะจัดการกับช่องโหว่ทั่วไป เช่น การเขียนสคริปต์ข้ามไซต์และการฉีด SQL โดยทั่วไป

[*]มีเครื่องมือโอเพนซอร์ซฟรีมากมายบนอินเทอร์เน็ตที่สามารถค้นพบไฟร์วอลล์ที่อยู่เบื้องหลังเว็บแอปพลิเคชัน

[*]และในบทความนี้ เราจะมาดูแนวทางและเครื่องมือที่สามารถใช้ในการค้นหา WAF ได้

[*]โปรดทราบ: ในบทช่วยสอนนี้ ฉันได้ใช้ไซต์ของตัวเองเพื่อแจกแจงรายละเอียด อย่าทำการสแกนหรือกิจกรรมการแฮ็กอื่นๆ บนเว็บไซต์ใดๆ โดยไม่ได้รับอนุญาตจากเจ้าของก่อน

การค้นพบด้วยตนเอง

การตรวจจับโดยใช้ TELNET

[*]Telnet ส่วนใหญ่จะใช้โดยผู้ดูแลระบบเครือข่ายและผู้ทดสอบการเจาะระบบ Telnet ช่วยให้คุณสามารถเชื่อมต่อกับโฮสต์ระยะไกลผ่านพอร์ตใดก็ได้ตามที่ระบุไว้ก่อนหน้านี้

  • พารามิเตอร์ HTTP มักจะเหลือ (หรือแทรก) ในส่วนหัวการตอบสนองโดยไฟร์วอลล์ของเว็บแอปพลิเคชัน
  • สามารถใช้ Telnet เพื่อรับข้อมูลการรวบรวมขั้นพื้นฐาน เช่น เซิร์ฟเวอร์และคุกกี้ที่ใช้ในการพิมพ์ลายนิ้วมือ
  • พิมพ์ Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80
Trying 18.166.248.208...
Connected to Targetwebsite.com.
Escape character is '^]'. 

[*]หลังจากรันคำสั่งด้านบนแล้ว ให้เขียน HEAD / HTTP / 1.1 แล้วกดปุ่ม Enter

[email protected]: # telnet 18.166.248.208  80 
Trying 18.166.248.208... 
Connected to 18.166.248.208. 
Escape character is '^]'. 
HEAD / HTTP/1.1 
Host: 18.166.248.208

HTTP/1.1 200 OK 
Date: SUN, 10 Oct 2021 05:08:03 IST 
Server: Apache X-Powered-By: PHP/5.3.5 ZendServer/5.0 
Set-Cookie: SESSIONID VULN SITE=t25put8gliicvqf62u3ctgjm21; path=/ 
Expires: Thu, 19 Nov 1981 08:52:00 IST
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
X-Varnish: 4723782781
Age: 0
Via: 1.1 varnish
Connection: close 
Content-Type: text/html

Connection closed by foreign host.

[*]ระบุเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์และภาษาส่วนหลังที่สร้างขึ้นหลังจากใช้ telnet บนพอร์ต 80 เป้าหมาย

[*]ระบบ WAF บางระบบอนุญาตให้แก้ไขส่วนหัวได้ และยังทำให้เว็บเซิร์ฟเวอร์ส่งการตอบกลับ HTTP ที่แตกต่างจากระบบมาตรฐานได้อีกด้วย

  แปลงเขตเวลาได้ถึงห้าแห่งจากทุกที่บน iPhone ของคุณ

[*]ตามที่แสดงในผลลัพธ์ด้านบน เว็บเซิร์ฟเวอร์ตอบสนองต่อคำขอของเราและเปิดเผยว่าไฟร์วอลล์/เกตเวย์ขอบเป็นวานิช

การค้นพบอัตโนมัติ

#1. การตรวจจับโดยใช้ NMAP

[*]สามารถใช้ Nmap ซึ่งมีสคริปต์ที่สามารถระบุไฟร์วอลล์ของเว็บแอปพลิเคชันเพื่อจุดประสงค์นี้ได้

  • Nmap เป็นเครื่องมือประเมินความปลอดภัยที่ผู้ทดสอบปากกาและผู้ดูแลระบบเครือข่ายมักใช้งาน
  • Nmap ใช้เพื่อรับข้อมูลเกี่ยวกับเป้าหมาย
  • สคริปต์ทำงานบนหน้าเว็บเหมือนเดิม
  • พิมพ์คำสั่ง nmap –script=http-waf-fingerprint targetweb.com
[email protected]:# nmap --script=http-waf-fingerprint targetwebsite.com
Starting Nmap 7.90 ( https://nmap.org ) at 2021-10-10 07:58 IST
Nmap scan report for targetsite.com (18.166.248.208)
 Host is up (0.24s latency).
Not shown: 982filtered ports
PORT STATE SERVICE
53/tcp    open   domain
80/tcp open http
| http-waf-fingerprint:
| Detected WAF
| Citrix Netscaler
443/tcp open https
5432/tcp  closed postgresql
8080/tcp closed http-proxy

Nmap done: 1 IP address (1 host up) scanned in 25.46 seconds 

[*]หลังจากใช้คำสั่ง Nmap ข้างต้น ตรวจพบไฟร์วอลล์ Citrix Netscaler

#2. การตรวจจับโดยใช้ Whatwaf

[*]Whatwaf เป็นเครื่องมือรักษาความปลอดภัยสำหรับการพิมพ์ลายนิ้วมือของเว็บแอปและตรวจจับว่ามี WAF อยู่หรือไม่ เครื่องมือนี้มีประโยชน์ในการพิจารณาว่าเว็บแอปพลิเคชันได้รับการปกป้องโดย WAF ระหว่างการประเมินความปลอดภัยหรือไม่

[*]หากเป็นกรณีนี้ กลยุทธ์การเลี่ยงและการหลีกเลี่ยงอาจเป็นประโยชน์ในการทดสอบเพิ่มเติมหรือใช้ประโยชน์จากแอปพลิเคชันออนไลน์

[*]การบายพาสไฟร์วอลล์ การตรวจจับแอปพลิเคชัน ลายนิ้วมือของแอปพลิเคชัน และการระบุซอฟต์แวร์ ล้วนใช้สำหรับ WhatWaf บ่อยครั้ง เครือข่าย
ผู้ทดสอบปากกาและผู้เชี่ยวชาญด้านความปลอดภัยเป็นผู้ใช้ตามวัตถุประสงค์ของโปรแกรมนี้

วิธีการติดตั้ง WhatWaf?

[*]การติดตั้งบน Kali-Linux

sudo apt install python3-pip

git clone https://github.com/ekultek/whatwaf

cd whatwaf

sudo pip3 install -r requirements.txt

[*]เมื่อเปิดตัวโดยไม่มีเวอร์ชัน Python เราสามารถระบุไฟล์ปฏิบัติการได้อย่างง่ายดาย:

./whatwaf --help   

[*]อย่างไรก็ตาม เนื่องจากเราไม่ได้ติดตั้งการขึ้นต่อกันของ Python 2 ขอแนะนำให้คุณระบุเวอร์ชัน Python โดยเฉพาะ

python3 ./whatwaf --help

การใช้เครื่องมือ

[*]เครื่องมือตรวจจับไฟร์วอลล์ Whatwaf ใช้งานง่าย! เราเพียงแค่ต้องรันคำสั่งต่อไปนี้:

./whatwaf -u https://www.targetsite.com

[*]ดังที่คุณเห็นด้านล่าง เครื่องมือนี้ตรวจพบไฟร์วอลล์สำหรับ URL ของเว็บไซต์ที่ให้มา

[*]เตือน! – ฉันใช้ไซต์ของตัวเองในการสแกน

┌──(root💀kali)-[/home/writer/WhatWaf]
└─# ./whatwaf -u https://www.renjith.org

                                  ,------.
                                 '  .--.  '
        ,--.   .--.   ,--.   .--.|  |  |  |
        |  |   |  |   |  |   |  |'--'  |  |
        |  |   |  |   |  |   |  |    __.  |
        |  |.'.|  |   |  |.'.|  |   |   .'
        |         |   |         |   |___|
        |   ,'.   |hat|   ,'.   |af .---.
        '--'   '--'   '--'   '--'   '---'
/><script>alert("WhatWaf?<|>v2.0.3($dev)");</script>%00

[11:12:34][ERROR] you must install psutil first `pip install psutil` to start mining XMR
[11:12:34][INFO] checking for updates
[11:12:34][WARN] it is highly advised to use a proxy when using WhatWaf. do so by passing the proxy flag (IE `--proxy http://127.0.0.1:9050`) or by passing the Tor flag (IE `--tor`)
[11:12:34][INFO] using User-Agent 'whatwaf/2.0.3 (Language=2.7.18; Platform=Linux)'
[11:12:34][INFO] using default payloads
[11:12:34][INFO] testing connection to target URL before starting attack 
[11:12:35][SUCCESS] connection succeeded, continuing
[11:12:35][INFO] running single web application 'https://www.renjith.org'
[11:12:35][WARN] URL does not appear to have a query (parameter), this may interfere with the detection results
[11:12:35][INFO] request type: GET
[11:12:35][INFO] gathering HTTP responses
[11:12:42][INFO] gathering normal response to compare against
[11:12:42][INFO] loading firewall detection scripts
[11:12:42][INFO] running firewall detection checks
[11:12:44][FIREWALL] detected website protection identified as 'Apache Generic'
[11:12:44][INFO] starting bypass analysis
[11:12:44][INFO] loading payload tampering scripts
[11:12:45][INFO] running tampering bypass checks
[11:19:09][SUCCESS] apparent working tampers for target:
------------------------------
(#1) description: tamper payload by changing characters into a wildcard
example: '/bin/cat /et?/?asswd'
load path: content.tampers.randomwildcard
------------------------------

[*]ดังที่แสดงในผลลัพธ์ข้างต้น เว็บเซิร์ฟเวอร์ตอบสนองต่อคำขอของเราและเปิดเผยว่าไฟร์วอลล์คือ Apache เรายังใช้บริการ tor เพื่อสแกนหา WAF ได้ แต่อาจเพิ่มเวลาแฝงได้

./whatwaf -u https://www.targetsite.com --tor

[*]ข้อได้เปรียบหลักของเครื่องมือ Whatwaf คือมันพยายามให้เพย์โหลดเพื่อเลี่ยงผ่านไฟร์วอลล์ที่เปิดเผยโดยอัตโนมัติ

  OLED กับ QLED และอีกมากมาย: คุณควรซื้อทีวีรุ่นใด

#3. การตรวจจับโดยใช้ Wafw00f

[*]เครื่องมือที่เป็นที่รู้จักมากที่สุดสำหรับการตรวจจับไฟร์วอลล์ของเว็บแอปพลิเคชันคือ Wafw00f. Wafw00f ส่งคำขอ HTTP ไปยังไฟร์วอลล์ของเว็บแอปพลิเคชันเพื่อระบุ เมื่อส่งคำขอ HTTP ล้มเหลว wafw00f จะส่งคำขอ HTTP ที่เป็นอันตราย หากการสร้างคำขอ HTTP ที่เป็นอันตรายล้มเหลว wafw00f จะตรวจสอบคำขอ HTTP ก่อนหน้าและใช้อัลกอริธึมง่ายๆ เพื่อตรวจสอบว่าไฟร์วอลล์ของเว็บแอปพลิเคชันตอบสนองต่อการโจมตีของเราหรือไม่

[*]Wafw00f ไม่ได้ติดตั้งไว้ล่วงหน้าในการกระจาย Kali Linux

วิธีการติดตั้ง Wafw00f?

[*]แพ็คเกจ zip สามารถดาวน์โหลดได้จากแหล่ง GitHub อย่างเป็นทางการ

[*]ดาวน์โหลดเครื่องมือวาฟวูฟ คุณยังสามารถใช้ไคลเอ็นต์ git เพื่อโคลนที่เก็บได้ ในการรับแพ็คเกจ ให้รันคำสั่ง:

$ git clone https://github.com/EnableSecurity/wafw00f.git

[*]ในการดาวน์โหลดเครื่องมือ wafw00f ในระบบ ให้ไปที่โฟลเดอร์หรือไดเร็กทอรี wafw00f และดำเนินการคำสั่งต่อไปนี้

$ python setup.py install

[*]ไฟล์การติดตั้งจะได้รับการประมวลผล และ wafw00f จะถูกติดตั้งในระบบ

การใช้เครื่องมือ

[*]หากต้องการใช้เครื่องมือนี้ ให้เรียกใช้คำสั่งนี้

$ wafw00f <url>

[*]คำเตือน – สแกนเฉพาะเว็บไซต์ที่คุณได้รับอนุญาตให้ทดสอบ

┌──(root💀kali)-[/home/writer/wafw00f]
└─# wafw00f https://webhashes.com 

                   ______
                  /                                   
                 (  Woof! )                            
                    ____/                      )      
                  ,,                           ) (_    
             .-. -    _______                 ( |__|   
            ()``; |==|_______)                .)|__|   
            / ('        /|                  (  |__|   
        (  /  )        / |                   . |__|   
         (_)_))      /  |                     |__|   

                    ~ WAFW00F : v2.1.0 ~
    The Web Application Firewall Fingerprinting Toolkit                                                                 
                                                                                                                        
[*] Checking https://whatismyip.com
[+] The site https://whatismyip.com is behind Cloudflare (Cloudflare Inc.) WAF.
[~] Number of requests : 2

[*]แย่จัง ตรวจพบไฟร์วอลล์!

  IPTV Area 51 คืออะไรและปลอดภัยหรือไม่?

[*]เราจะลองใช้เว็บไซต์เป้าหมายอื่นเพื่อวัตถุประสงค์ในการสนทนา

┌──(root💀kali)-[/home/writer/wafw00f]
└─# wafw00f https://renjith.org

                   ______
                  /                                                                                                    
                 (  Woof! )                                                                                             
                    ____/                      )                                                                       
                  ,,                           ) (_                                                                     
             .-. -    _______                 ( |__|                                                                    
            ()``; |==|_______)                .)|__|                                                                    
            / ('        /|                  (  |__|                                                                    
        (  /  )        / |                   . |__|                                                                    
         (_)_))      /  |                     |__|                                                                    

                    ~ WAFW00F : v2.1.0 ~
    The Web Application Firewall Fingerprinting Toolkit                                                                 
                                                                                                                        
[*] Checking https://renjith.org
[+] Generic Detection results:
[-] No WAF detected by the generic detection
[~] Number of requests: 7

[*]ไม่พบไฟร์วอลล์ในครั้งนี้

[*]และหากต้องการใช้งานในโหมด verbose ให้รันคำสั่งต่อไปนี้

wafw00f  <url> -v 

[*]คุณสามารถดูความสามารถเพิ่มเติมบางอย่างของยูทิลิตี้นี้ได้โดยดำเนินการคำสั่งนี้

wafw00f <url> --help 

ปิดท้าย 👨‍💻

[*]ในบทความนี้ เราได้พิจารณากลยุทธ์และเครื่องมือต่างๆ ในการตรวจหาไฟร์วอลล์ของเว็บแอปพลิเคชัน นี่เป็นกิจกรรมสำคัญที่ต้องทำระหว่างขั้นตอนการรวบรวมข้อมูลของการทดสอบการเจาะระบบเว็บแอปพลิเคชันทุกครั้ง

[*]นอกจากนี้ การรู้ว่ามี WAF อยู่ในสถานที่ช่วยให้ผู้ทดสอบการเจาะระบบสามารถลองใช้วิธีการต่างๆ เพื่อเลี่ยงแนวป้องกันและใช้ประโยชน์จากช่องโหว่ใดๆ ในแอปพลิเคชันออนไลน์

[*]นักวิจัยด้านแฮ็กข้อมูลตามหลักจริยธรรม กล่าวว่า การมีไฟร์วอลล์สำหรับเว็บแอปพลิเคชัน (WAF) มีความจำเป็นมากขึ้นเรื่อยๆ การวิเคราะห์บันทึกเว็บแอปพลิเคชันของคุณเพื่อตรวจจับการโจมตีใหม่ๆ ที่เกิดขึ้นบนเซิร์ฟเวอร์แอปพลิเคชันเว็บส่วนหลังเป็นสิ่งสำคัญเสมอ วิธีนี้ช่วยให้คุณปรับแต่งกฎในไฟร์วอลล์ของเว็บแอปพลิเคชันเพื่อให้การป้องกันในระดับสูงสุด

[*]คุณอาจสนใจอ่าน: ช่องโหว่โดยใช้ Nikto Scanner

เรื่องล่าสุด

x