ν°μ€ν 리 λ·°
κ°μ
HTTP(S) νλ‘ν μ½μ νμ₯ κΈ°λ₯μΌλ‘ μ격μΌλ‘ μΉ μλ²λ₯Ό read/write(μ½κΈ°/μ°κΈ°)κ° κ°λ₯νλλ‘ λ§λ€μ΄μ€λλ€. λν μ¬μ©μκ° ν΄λΉ μλ²μ λ¬Έμλ₯Ό μμ±νκ³ μ΄λλ κ°λ₯νμ§λ§, μ¬λ°λ₯Έ 보μμ€μ μ΄ λμ΄ μμ§ μμΌλ©΄ 곡격μλ μ μ± νμΌμ μ λ‘λν΄μ μμ€ν μ μΉ¨ν¬νκ±°λ νμΌμ λ³μ‘°νμ¬ κ°μ©μ± λλ 무결μ±μ μΉ¨λ²ν μ μμ΅λλ€.
μ¬κΈ°μ λ§νλ μλͺ»λ 보μ μ€μ μ΄λ
(1) μ¬μ©νμ§ μμ§λ§ νμ±ν ν΄ λ κ²½μ°
(2) μ¬μ©νκ³ μμ§λ§ μ κ·Όνμ§ λ§μμΌ λ κ³³μ Write(μ°κΈ°) κΆνμ΄ λΆμ¬λ κ²½μ°
μμμ 2κ°μ§ μκ±΄μ΄ μΆ©μ‘±λλ€λ©΄ ν΄μ»€λ μ μμ μΈ μΉμ νμΌμ μ λ‘λνμ¬ κ³Όλν κΆνμ΄ λΆμ¬λ "index.php" νμΌμ λ³μ‘°νμ¬ DBD(Drive by Download) 곡격μ μλνκ±°λ ννμ΄μ§ μ체λ₯Ό λ³μ‘°μμΌ μλΉμ€λ₯Ό λΆλ₯μΌλ‘ λ§λ€μ΄λ²λ¦΄ κ°λ₯μ±μ΄ μ‘΄μ¬ν©λλ€.
WebDAVκ° νμ±νλ λμ μλ²μ μ‘΄μ¬νλ νμΌ λ¦¬μ€νΈλ€μ΄ νμΈλκ³ μμ΅λλ€. 곡격μλ WebDAV λλ ν°λ¦¬μ μ κ·Όνμ¬ μ μ± νμΌμ μ λ‘λν μ μμ΅λλ€.
webdav κ° νμ±ν μ€μΈμ§ κ·Έλ¦¬κ³ μ΄λ ν λ©μλλ₯Ό νμ©νκ³ μλμ§ νμΈνκΈ°μν΄ GET λ©μλλ₯Ό --> OPTIONSλ‘ λ³κ²½ν΄μ£Όκ³ μ£Όμλ₯Ό μ μΈν λλ¨Έμ§ μμμ λͺ¨λ λ λ¦¬κ³ Forward ν΄μ€λλ€. κ·ΈλΌ history μμ μνλ μ λ³΄κ° λ΄κ²¨ μμ κ²μ λλ€.
HTTP historyμ ResponseλΌλ μλ΅λμ νμ©νκ³ μλ λ©μλ 리μ€νΈλ€μ΄ λ ΈμΆλμμ΅λλ€.
OPTIONS : μΉ μλ²μμ μ§μλλ λ©μλμ μ’ λ₯λ₯Ό νμΈν λ μ¬μ©
PUT : Upload νλ κΈ°λ₯μ κ°μ‘μ
HEAD : μΉ μλ²μ λ²μ μ 보, ν¬μ€μ²΄ν¬, μ΅μ’ μμ μΌμ λ± νμΈμ©λ
μ μμ μΈ μμ²μ λ°μ ν put λ©μλλ₯Ό μ¬μ©νμ¬ μνλ νμΌμ μ λ‘λμν¬ μ μμ΅λλ€. μ±κ³΅μ μΌλ‘ λ°μνλ€λ©΄ ν΄λΉ νμ΄μ§μλ CreatedλΌλ λ¬Έκ΅¬κ° λμ΅λλ€.
νμ±νλ WebDAVλ₯Ό μλ³νκ³ λμ μλ²μμ νμ©μμΌλ "PUT" λ©μλλ₯Ό νμ©νμ¬ νλ‘μ ν΄μ ν΅ν΄ μ±κ³΅μ μΌλ‘ κ°±μ μμΌμ€¬μ΅λλ€.
νλ‘μ λꡬ μ΄μΈμ μ κ·Ό λ°©λ²
(1) FTPμ κ³μ κ³Ό κΆν 체ν¬
(2) cadaver λꡬλ₯Ό ν΅ν΄ μ λ‘λ
μΉ νλ‘μ λꡬ μ΄μΈμ λ λ€λ₯Έ λ°©λ²μΌλ‘λ FTP μλΉμ€μ μ΅λͺ κ³μ κ³Ό κΆνμ 체ν¬νμ¬ μμ²λΌ λΉμ·νκ² μ λ‘λνμ¬ μ κ·Όμ΄ κ°λ₯ν΄μ§λλ€.
λ§μ§λ§μΌλ‘ Kaliμ λ΄μ₯λμ΄ μλ "cadaver"μ΄λΌλ λꡬλ₯Ό νμ©νμ¬ μνλ νμΌμ μ λ‘λν μ μμ΅λλ€. cadaver ν΄μ WebDAVλ₯Ό λ€λ£° μ μλ 리λ μ€μ© λκ΅¬λ‘ μ격μΌλ‘ λ€μν λ©μλλ₯Ό μ§μνλ©° κ°λ¨ν CLI νμμ λλ€.
μμ λ°©μκ³Ό λ§μ°¬κ°μ§λ‘ PUT λ©μλλ₯Ό μ¬μ©νμ¬ WebShellμ μ λ‘λνμμ΅λλ€. νμ΄μ§λ‘ λμκ° νμΈν΄λ³΄κ² μ΅λλ€.
WebShell.phpκ° Webdav λλ ν 리μ μ λ‘λλκ³ μ€νκΉμ§ ν μ μκ² λμμ΅λλ€. μ¬κΈ°μ μΆκ°μ μΌλ‘ 곡격μλ μμ μ κΈ°λ‘μ μ§μ°κ³ νμ΄μ§λ₯Ό λ³μ‘°νκ±°λ μμ€λ₯Ό λ³μ‘°ν¨μΌλ‘μ¨ λΆνΉμ λ€μκ° ν° νΌν΄λ₯Ό μ΄λν μ μκ² λ©λλ€.
Metasploit μ νμ©ν WebDAV 곡격
msfconsole
msf5 > use auxiliary/scanner/http/webdav_scanner --> WebDAV νμ±ν μ¬λΆ μ€μΊ
msf5 auxiliary(scanner/http/webdav_scanner) > set RHOSTS 192.168.0.131
RHOSTS => 192.168.0.131
msf5 auxiliary(scanner/http/webdav_scanner) > set THREADS 20
THREADS => 20
msfconsole
msf5 > use auxiliary/scanner/http/webdav_website_content --> WebDAV 컨ν
μΈ μ΄κ±°
msf5 auxiliary(scanner/http/webdav_website_content) > set RHOSTS 192.168.0.131
RHOSTS => 192.168.0.131
msf5 auxiliary(scanner/http/webdav_website_content) > set THREADS 20
THREADS => 20
msf5 auxiliary(scanner/http/webdav_website_content) > run
msf5 auxiliary(scanner/http/webdav_scanner) > run
λμ λ°©μ
< insecure SourceCode >
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
# Allows WebDAV, not secure!!!
Alias /webdav /var/www/bWAPP/documents
<Location /webdav>
DAV On --> Webdav νμ±νλμ΄ μμ
</Location>
< Secure SourceCode >
Alias /webdav /webdav
<Location /webdav>
Options Indexes
DAV On --> Webdav μλΉμ€λ νμ±ν λμ΄μμ§λ§ μμ€ν
μ¬μ©μμ ννμ¬ μ κ·Όμ μ΄ μνμ€
AuthType Basic
AuthName "webdav"
AuthUserFile /etc/apache2/webdav.password
Require valid-user
</Location>
<!--IIS μ WebDAV μ€μ -->
*IIS ꡬμ±μ WebDAVλ κΈ°λ³Έμ μΌλ‘ μ€μΉλ¨(IIS 6.0 λ²μ λΆν° κΈ°λ³Έμ μΌλ‘ λΉνμ±ν)
(1)WIN 2003 -> 2003 R2 λ²μ μ μ
λ°μ΄νΈ μ€μ§λ λ²μ
μμ -> μ€ν -> INETMGR -> μΉ μ¬μ΄νΈ -> μΉμλΉμ€ νμ₯μΌλ‘ λ€μ΄κ°μ "WebDAV κΈμ§"
(2)WIN 2008,2012
IISκ΄λ¦¬μ -> μλ² μ ν -> IIS -> ISAPI λ° CGI μ ν -> WebDAV νλͺ© μ ν -> [μμ
]μμ μ κ±°νκ±°λ
,νΈμ§ -> " νμ₯ κ²½λ‘ μ€ν νμ©(A) " λΆλΆ 체ν¬ν΄μ
'WEB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Heartbleed(CVE-2014-0160) μ·¨μ½μ (0) | 2020.10.27 |
---|---|
μ·¨μ½ν μ§μ κ°μ²΄ μ°Έμ‘° 곡격 (0) | 2020.10.26 |
robots.txt μ 보 λ ΈμΆ μ·¨μ½μ (0) | 2020.10.24 |
ShellShock(CVE-2014-6271) μ·¨μ½μ (0) | 2020.10.23 |
SNMP μ·¨μ½μ 곡격 (0) | 2020.10.22 |