DC-1靶机学习
Contents
第一步、搭建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.
完
Author: Shu1L
Link: https://shu1l.github.io/2020/04/03/dc-1-ba-ji-xue-xi/
License: 知识共享署名-非商业性使用 4.0 国际许可协议