攻击机:kali 192.168.80.130
目标机:dc-9 192.168.134
1.使用arp-scan -l和nmap进行主机发现和端口信息收集,发现22端口被阻塞
2.whatweb收集一下cms指纹信息
3.访问web界面,找找找,发现search这个地方可以查询信息
这意味着与数据库产生交互,可能会有注入
4.这是一个post注入,查看源码发现跳转界面是results.php,表单name为search
(可以直接通过burp抓包,然后把数据包写入一个文件,在使用sqlmap)
1.使用sqlmap -u "http://192.168.80.134/results.php" --data "search=1" --dbs 爆库
2.使用sqlmap -u "http://192.168.80.134/results.php" --data "search=1" -D Staff -T Users --dump字段内容
发现一个经过md5加密的admin用户密码,在线md5解码一下
3.爆另一个库中的表的字段内容
4.使用admin登陆web界面,发现file does not exist(很熟悉有没有------文件包含)
猜测文件包含参数为file,可以通过burp爆破一下
1.这次跟以前不一样,需要绝对路径,使用../../../../../../../切一下路径../../../../../etc/passwd
2.到这里就没思路了,包含日志什么的也不行,无奈又去翻翻大佬们的文章发现一个新的知识点
大致就是按一定的顺序访问端口可以达到开启和关闭某个端口的机制
3.包含这个文件可以查看端口敲门的策略/etc/konckd.conf
4.了解之后使用nc进行挨个敲门。。。。。
nmap再次扫描一下发现22端口开放了
6.使用之前得到的用户名和密码去爆破ssh服务
7.使用janitor登陆,发现了一个密码文件
8.把这个密码加到之前的密码中再次爆破,得到一个新用户
9.使用新用户登录,发现sudo -l可以使用,得到了一个可以以root身份执行的脚本
1.根据提示找到脚本的位置,然后再它的前几级目录发现了它是一个python脚本,和它的使用方法
把第一个参数的内容追加到第二的参数中
2.通过向/etc/passwd中添加用户达到提权,直接添加一个还不行,还需要经过加密
使用openssl passwd -1 -salt admin admin,生成一个加密的密码
3.按照/etc/passwd的格式写一个文件,通过test脚本追加到/etc/passwd中即可提权