[원문: http://tools.kali.org/information-gathering/dotdotpwn]
정의
It’s a very flexible intelligent fuzzer to discover traversal directory vulnerabilities in software such as HTTP/FTP/TFTP servers, Web platforms such as CMSs, ERPs, Blogs, etc.
Also, it has a protocol-independent module to send the desired payload to the host and port specified. On the other hand, it also could be used in a scripting way using the STDOUT module.
It’s written in perl programming language and can be run either under *NIX or Windows platforms. It’s the first Mexican tool included in BackTrack Linux (BT4 R2).
Fuzzing modules supported in this version:
HTTP
HTTP URL
FTP
TFTP
Payload (Protocol independent)
STDOUT
간략하게 dotdotpwn는 디렉토리 접근 공격 퍼저(Directory Traversal Fuzzer)로 웹 플랫폼의 디렉토리를 탐색하고 해당 디렉토리의 접근 취약점을 알아보기 위한 도구이다.
dotdotpwn은 HTTP, FTP, TFTP와 같은 서버나, CMSs, ERPs, Blogs등과 같은 웹 플랫폼의 디렉토리 접근 취약점을 분석해주고, 표준출력(STDOUT)모듈을 이용할 수도 있다는 것으로 나와있다.
또한 디렉토리 접근(Directory traversal)은 ../(dot dot slash)로도 알려져있다.
아키텍처는 밑의 그림 참고(blackhat에서 그림 발췌)
Usage
관련 옵션이 상당히 많다.
테스트로는 -m(모듈), -h(호스트), -O(nmap을 통한 os정보 획득), -s(서비스 버전) 정도로 진행하고자 한다.
-S옵션을 줄 경우 SSL을 이용하는지 확인하는데 해당 사이트에서 사용하지 않을경우 종료되는 점 유의(다른 것도 마찬가지)
해당 호스트에서의 OS는 출력되지 않았지만 service의 경우 출력된 것을 확인할 수 있다. 해당 버전을 확인할 수 있기 때문에 버전 취약점을 이용한 악성행위가 가능하다.
또한 Path에 대해 취약하다는 것을 표시해준다.
dot와 slash, 패턴을 이용하여 서버에 보내고 서버로부터 응답코드를 확인하여 취약점이 있는지 판단하게 되는 구조이다.
Example
1) HTTP Module
./dotdotpwn.pl -m http -h 192.168.1.1 -x 8080 -f /etc/hosts -k "localhost" -d 8 -t 200 -s
-m(mode), -h(hostname), -x(port), -f(file), -k(text pattern), -d(depth of traversals), -t(request time), -s(service)
2) URL module
./dotdotpwn.pl -m http-url -u http://192.168.1.1:10000/unauthenticated/TRAVERSAL -O -k "root:" -r webmin.txt
-m(mode), -u(specified URL), -O(os), -k(text pattern), -r(report file name)
3)FTP module
./dotdotpwn.pl -m ftp -h 192.168.1.1 -s -U nitr0us -P n1tr0u5pwnzj00 -o windows -q -r ftp_server.txt
-m(mode), -h(hostname), -s(sevice), -U(specified Username), -P(password), -o(known os), -q(quiet mode)
4)TFTP module
./dotdotpwn.pl -m tftp -h 192.168.1.1 -b -t 1 -f windows/system32/drivers/etc/hosts
-m(mode), -h(hostname), -b(취약점 발견시 종료), -t(request time), -f(file)
5)PAYLOAD module
./dotdotpwn.pl -m payload -h 192.168.1.1 -x 10000 -p payload_sample_1.txt -k "root:" -f /etc/passwd
6)STDOUT module
./dotdotpwn.pl -m stdout -d 5
The Traversal Engine will create fuzz pattern strings with 8 levels of deepness and DotDotPwn will
print the results to STDOUT, so you can use it as you wish, by example, passing the traversal
patterns as a parameter to another application, pipe, socket, etc.