第一步、搭建dc-1和kali虚拟机,使用.nat模式

我们进入DC-1的登录界面,然后回到kali攻击机准备入侵。

第二步、扫描出靶机的ip地址

1.我们可以使用nmap进行二层的主机发现

nmap -sn 192.168.153.0/24

2.使用netdiscover进行主机发现

netdiscover -i eth0 -r 192.168.153.0/24

3.使用arp-scan进行主机发现

arp-scan -l

第三步、靶机的信息收集

我们使用nmap对该靶机进行扫描。

1
nmap -A -p 1-65535 192.168.153.150

我们发现开放的80(tcp) 22(ssh) 111(tcp)端口,并且可以看出使用的CMS为Drupal7。

我们从浏览器访问该IP的80页面

我们使用Wappalyzer进行网站的指纹识别,得到更详细的信息。

第四步、使用msf入侵目标系统

进入msf控制台,使用search命令查找关于Drupal的历史漏洞。

我们选择极好等级的并且日期较近的漏洞进行利用,可以提高成功概率。

我们使用set命令设置目标机器,使用run或exploit命令开始攻击。

看到出现meterpreter证明成功入侵系统。

第五步、获取flag 1

我们执行shell命令获得shell.

ls后发现目录下存在flag1.txt.

我们cat flag1.txt读取内容。

翻译:每一个好的CMS都需要一个配置文件,你也一样。

第六步、获取flag2.txt

我们通过百度查询到该cms的配置文件 :/var/www/sites/default

我们使用cd命令切换到该目录,读取目录下的setting.php文件。

我们找到了flag2.txt并读取内容。

翻译:暴力和字典攻击不是获取访问权限的唯一方式。并且将需要访问权限。并且给出了mysql数据库的账号和密码。

第七步、获取flag4.txt

我们可以先看一下/etc/passwd中的内容,意外发现了flag4的账号名

/etc/passwd 储存了用户重要信息,一般可读但不可写

我们尝试使用john+hydra进行暴力破解。

1
hydra -l flag4 -p/Users/john-1.8.0/run/password.lst ssh://192.168.153.150

-l 指定用户名
-P 加载密码字典(这里使用了John the Ripper安装后提供的密码本,一般在john-1.8.0/run/password.lst)
ssh://ip 指定使用协议和ip地址

得到了flag4账号对应的密码为orange

我们使用kali ssh远程登录

1
ssh flag4@192.168.153.150

ls后发现flag4.txt文件,尝试cat读取。

翻译:您可以使用相同的方法在根目录中查找或访问标志吗?可能。但也许不是那么容易。或许是这样?

可能我们需要提权。

第八步、获得 thefinalflag.txt

由flag3.txt可知,我们需要获取root权限才能读取最终的flag

由于对提取部分知识不够,参考别人的教程要利用suid提权

suid是Linux的一个权限机制,在执行使用suid权限的文件时候,调用者会暂时有该文件的root权限。

首先我们使用find / -perm -4000 2>/dev/null发现系统上运行的所有SUID可执行文件。

发现find命令被设置为suid权限位

之后我们通过find命令提权,使用whoami查看用户权限。

之后进入 root目录下查看最终的flag.