一、实验环境
目标靶机:DC-4,NAT模式
攻击机:kali,NAT模式,IP:192.168.35.131
二、实验要求
拿到唯一一个flag就ok!
三、渗透过程
信息收集:
使用nmap扫描存活主机:
nmap -sP 192.168.35.0/24 -oN nmap.sP
得到靶机IP:192.168.35.151
端口扫描及版本探测:
nmap -sV 192.168.35.151 -O -p 1-65535 -oN nmap.sV
发现开放了22和80端口,通过浏览器访问一下80端口:
就一个登录框啥也没有,所以我们可以尝试一下爆破(由于提示是admin用户登录,所以只做密码爆破)
使用Burp进行密码爆破(抓到登录时的包发送到intruder模块):
选则密码字典(可以用John工具自带的字典/usr/share/john/password.lst)
爆破完成:
得到密码:happy,进行登录:
登陆成功,点击查看有没有有用的信息:
发现可以执行命令,抓一下包发送到repeter模块:
进行命令替换,发现执行成功,存在命令注入漏洞:
我们尝试看一下/etc/passwd文件,能否得到有用线索:
发现四个用户,查看普通用户家目录下有何线索:
charles家里没有发现有用的线索:
jim家里发现了有意思的东西:两个文件夹,一个脚本
继续进行查看:
好家伙,发现了密码备份:
将密码复制一份作为密码字典保存起来
查看mbox文件发现不让看,很可疑:
继续查看脚本:心里一阵…
sam家里也没啥线索:
我们用得到的用户名作为用户字典,直接使用hydra进行ssh爆破:
hydra -L user.dic -P passwd.dic 192.168.35.151 ssh -vV -f -o hydra.ssh
得到密码之后进行ssh登录:
成功登录,查看一下mbox这个可疑文件:
我们进入/var/mail目录查看邮件:
使用charles进行登录:
结果让人大失所望,啥也不是…
提权:
这时候我们尝试一下sudo提权,查看一下jim有啥sudo命令:
sudo -l
发现没有,再看一下charles:
欸,这不就有了么,发现一条和root挂上钩的命令(虽然不清楚这是干啥的命令):悄咪咪的偷看一下帮助
方式一
这时候我们想到可以在/etc/passwd文件中创建一个新用户,但是首先我们得先研究一下用户的格式:
构造具有root权限的新用户:
bob::0:0:::/bin/bash
好的,开始增加新用户:
sudo teehee -a /etc/passwd
输入用户之后,回车,CTRL+c终止就好了
使用新用户进行登录:
su bob
flag get!完成渗透
方式二
通过定时任务执行脚本提权:
在/etc/crontab文件中写入新的定时任务:
* * * * * root chmod 4777 /bin/sh
时间部分全部填写为*,这样默认这个定时任务每分钟执行一次,可以根据情况自行设定。通过执行的脚本将/bin/sh的权限修改为4777(设置setUID权限),这样就可以在非root用户下执行它,并且执行期间拥有root权限。
可以通过管道符的方式写入内容:
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
最后等任务执行之后就可以使用命令获得root权限:
bin/sh
这样也可以提权!