Tomcat的8009端口AJP的利用

mickey 2013-11-15 12:28:00

Tomcat在安装的时候会有下面的界面,我们通常部署war,用的最多的是默认的8080端口。

可是当8080端口被防火墙封闭的时候,是否还有办法利用呢?

答案是可以的,可以通过AJP的8009端口,下面是step by step。

下面是实验环境:

192.168.0.102   装有Tomcat 7的虚拟主机防火墙封闭8080端口 
192.168.0.103   装有BT5系统的渗透主机 

首先nmap扫描,发现8009端口开放

BT5默认apache2是安装的,我们仅需要安装mod-jk

root@mickey:~# apt-get install libapache2-mod-jk 

jk.conf的配置文件如下:

root@mickey:/etc/apache2/mods-available# cat jk.conf  

# Update this path to match your conf directory location 

JkWorkersFile /etc/apache2/jk_workers.properties 

# Where to put jk logs 

# Update this path to match your logs directory location 

JkLogFile /var/log/apache2/mod_jk.log 

# Set the jk log level [debug/error/info] 

JkLogLevel info 

# Select the log format 

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" 

# JkOptions indicate to send SSL KEY SIZE, 

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 

# JkRequestLogFormat set the request format 

JkRequestLogFormat "%w %V %T" 

# Shm log file 

JkShmFile /var/log/apache2/jk-runtime-status

jk.conf软连接到/etc/apache2/mods-enabled/目录

ln -s /etc/apache2/mods-available/jk.conf /etc/apache2/mods-enabled/jk.conf

配置 jk_workers.properties

root@mickey:/etc/apache2# cat jk_workers.properties  

worker.list=ajp13 

# Set properties for worker named ajp13 to use ajp13 protocol, 

# and run on port 8009 

worker.ajp13.type=ajp13 

worker.ajp13.host=192.168.0.102       <\---|这里是要目标主机的IP地址 

worker.ajp13.port=8009 

worker.ajp13.lbfactor=50 

worker.ajp13.cachesize=10 

worker.ajp13.cache_timeout=600 

worker.ajp13.socket_keepalive=1 

worker.ajp13.socket_timeout=300 

默认站点的配置

重启apache

sudo a2enmod proxy_ajp 

sudo a2enmod proxy_http 

sudo /etc/init.d/apache2 restart 

现在apache的mod_jk模块就配置好了,访问192.168.0.103的80端口,就被重定向到192.168.0.102的8009端口了,然后就可以部署war了。

对渗透有兴趣的朋友,加我多交流 :)

评论

带馅儿馒头 2013-11-15 13:23:01

消灭零回复,楼主淫荡~

小忆 2013-11-15 14:21:35

这招用的……

P

Pentest.mobi 2013-11-15 14:50:24

强大

W

wuxianjun 2013-11-16 10:37:19

思想比较淫荡.看了这个协议,不知道可否直接发数据包过去?
http://wenku.baidu.com/link?url=YUYUv_ifLAKOj6cWZ2FAoPsQPTihweP5oH2Gmvu91luelon39RBOzkL1K6rVRjzQ1UFHEEeeGUgBBkSHKWPRt6BoDEfI9X_eiU7ug6MvwUG

C

c2y2 2013-11-16 11:18:19

8009链接上就可以发送数据么?这也太淫荡了

C

c2y2 2013-11-16 13:06:44

貌似还跟那边tomcat本地设置有关系,如果那边直接把host-manager 或者默认管理目录删除了,或者那边配置了tomcat管理密码,或者server.xml配置了 8009端口本地回环,这个方法也就,失效了...

园长 2013-11-17 16:43:58

可是当8080端口被防火墙封闭的时候
这个条件就已经非常艰难了,如果8080作为应用端口一般是不可能没事就干掉的。端口被未打开或干掉的情况可能也会是因为根本就没有启动tom猫。tom猫默认是没有配置管理的账户的,所以穿越了也没法登录后台。但是虽然这种情况只在极少数,楼主的思路也是极好。

瘦蛟舞 2013-11-19 17:57:56

99%是封8009开8080,思路赞一下。

S

se55i0n 2013-11-20 17:54:15

在内网就能逆天~

兜兜 2013-11-21 14:13:40

如果是tomcat-user里面用户名密码设置 或者都是注释的 可以用吗

无敌L.t.H 2013-11-22 22:30:49

ajp开放的比较少吧,机会不多,但也能做一种思路。

W

wefgod 2013-11-23 16:58:22

单纯是来看设置了密码会如何的,看来有密码也不行啊

X

Xeyes 2013-11-24 10:47:05

屌炸天.

核攻击 2013-11-24 14:36:48

这思路想必定是极好的!

X

xss_art 2013-11-24 19:41:53

吊炸天啊。。。。。。。

R

rootsecurity 2013-11-26 16:37:23

本地测试了一下,我去,这关键是manager/html那块要谁的密码,自己机器的还是别人机器的呢?要是必须知道manager密码才能搞的话,就没意思了吧

N

net2 2013-12-05 09:51:59

楼主实力确实可以,但是你起码也要把英语原始出处链接,给贴出来吧。怎么说,原创也不容易。

Z

Zvall 2013-12-08 19:12:49

nmap里面有相关脚本

Q

qglfnt 2014-04-06 00:17:20

jk.conf 没这个文件

路人甲 2014-06-24 03:24:31

http://diablohorn.wordpress.com/2011/10/19/8009-the-forgotten-tomcat-port/

路人甲 2014-06-24 03:25:16

原文。。

S

spiderman 2014-07-03 09:57:07

请问rootsecurity实验成功了吗?我实验了一下,不成功啊
manager/html密码是需要哪个?
那位大神实验成功了,给指点下?

W

www 2014-12-13 23:32:08

这文章比较傻 实践还要装tomcat 文章没有说

1

1c3z 2015-08-01 15:23:16

现在apache的mod_jk模块就配置好了,访问192.168.0.103的80端口,就被重定向到192.168.0.102的8009端口了,然后就可以部署war了。
然而并没有,还是默认的80端口页面

C

ca1n 2015-11-30 22:17:38

@1c3z 同 = = 还是目标站点的80口

路人甲 2016-04-20 18:37:38

命令还差一个
···
a2enmod jk
···

mickey

此号多人用,发表任何信息不代表本人观点

twitter weibo github wechat

随机分类

逆向安全 文章:70 篇
IoT安全 文章:29 篇
木马与病毒 文章:125 篇
XSS 文章:34 篇
硬件与物联网 文章:40 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Yukong

🐮皮

H

HHHeey

好的,谢谢师傅的解答

Article_kelp

a类中的变量secret_class_var = "secret"是在merge

H

HHHeey

secret_var = 1 def test(): pass

H

hgsmonkey

tql!!!

目录