(首届)第一届奇安信盘古石杯决赛WP(全题解析,少一道你打我)

取证小白,练习一下,做个记录。这套题内容太多了。
为了方便大家练习。
附上下载连接:
总决赛检材下载地址:
下载地址:https://pan.baidu.com/s/16QnGZZsDJEVGM6zx3yph2w
加密容器密码:2ej)!,[JN-U;wm19J=d9sZt_L6#bf+}[

  1. 计算流量包文件的SHA256值是?[答案:字母小写][★☆☆☆☆]

Clip_2024-06-19_20-44-31

  1. 流量包长度在“640-1279”之间的的数据包总共有多少?[答案:100][★☆☆☆☆]

统计->分组长度

  1. 黑客使用的计算机操作系统是?[答案:windows7 x32][★★☆☆☆]

流量走的https,需要解密,所以通过:编辑->首选项->Protocols->TLS->Clip_2024-06-19_21-39-15

导入密钥进行TLS包解密。解密后就可以看见HTTP包了。

随便找一个HTTP包查看user-agent。

Clip_2024-06-19_21-44-02

  1. 黑客上传文件到哪个网盘?[答案:xx网盘][★★☆☆☆]

Clip_2024-06-19_21-50-20

查看请求序列,可以发现只有访问过百度

  1. 黑客上传网盘的中间件是?[答案:xxxx]

可以查看与pan.baidu.com(Host为pan.baidu.com)交互的流量包,可以看见返回包中,显示server:nginx

  1. 黑客首次登陆网盘时间是?[答案:2000-01-01 01:00:33][★★☆☆☆]

黑客使用网盘,肯定第一时间登录,所以查看第一次和百度网盘交互的记录,即访问pan.baidu.com的记录。通过:文件->导出对象->HTTP 可以查看所有HTTP分组,同时按照分组先后,即流量包发送先后,最先访问的分组为699。追踪该分组HTTP流

Clip_2024-06-19_22-05-44

  1. 黑客上传到网盘的txt文件的md5值是?[答案:字母小写][★★★☆☆]

使用http contains(意为包含) ".txt"过滤出包含txt的流量包。Clip_2024-06-19_22-35-25

发现有四个,上传应该为POST包,再查看POST包内内容,发现只有一个包内为上传文件

Clip_2024-06-19_22-36-28

Clip_2024-06-19_22-37-44

在上传完成后,返回包中给出了MD5值。

  1. 黑客上传到网盘的txt文件第8行的内容是?[答案:XXX][★★★☆☆☆]

Clip_2024-06-19_22-40-07

传输文件过程中,webkit头与文件内容会空一行,所有从空一行后开始数,答案为$$

  1. 被入侵主机的计算机名是?[答案:XXXXXXXXXXX][★★★☆☆]

Clip_2024-06-19_22-53-57

查看该IP的流量包

发现该IP有ftp登录的尝试,故该主机为被黑主机

Clip_2024-06-19_22-56-07

该主机有NBNS(动态DNS)包,可以获取到其主机名

  1. 被入侵电脑的数据回传端口是?[答案:11][★★★☆☆]

在流量中,可以看到大量传入setup.exe的流量包,该软件应为木马程序,在木马传输完毕后,139主机主动连接黑客电脑8000端口,该端口应为回传端口

Clip_2024-06-19_23-04-13

  1. 流量包中ftp服务器的用户密码是?[答案:abcd][★★☆☆☆]

Clip_2024-06-19_23-11-04

使用www登录,密码为ftp,返回为Logged on即登录成功

  1. 流量包中ftp服务器中的木马文件的md5值是?[答案:字母小写][★★☆☆☆]

通过传输流量包,追踪tcp流,然后转化为原始数据另存为一个exe文件,再计算hash值。

Clip_2024-06-19_23-18-00

Clip_2024-06-19_23-19-14

  1. 木马文件伪造的软件版本是?[答案:0.0.0.0][★★☆☆☆]

打开木马文件的属性->详细信息

Clip_2024-06-19_23-19-56

  1. 黑客上传到网盘的压缩包解压密码是?[答案:XXXXXXXXXXX][★★★★★]

Clip_2024-06-20_01-22-40

通过关键词定位,发现有三个文件,全部导出。

pass.jpg怀疑做了隐写,拼接查看不是,提供了字典(字典已经跑过rar包,解不开)怀疑是steghide。通过stegseek跑答案。

Clip_2024-06-20_01-25-29

发现莫斯密码,直接进行解码

Clip_2024-06-20_01-26-16

  1. 黑客上传到网盘的压缩包内文件的内容是?[答案:xxxxxxx]

Clip_2024-06-20_01-27-45

  1. 分析技术人员电脑内的手机流量包,给出技术人员的虚拟身份账号是?[答案格式:13039456655][★★☆☆☆]

手机流量包,可以考虑wireshark或者fiddler进行抓包,所有查看电脑内容,发现有一fiddler抓包导出后的流量包(后缀为:saz)

Clip_2024-06-20_21-55-19

通过fiddler将其打开,进行分析。

Clip_2024-06-20_21-56-03

发现其有登录记录,将其登录的POST包内容复制出来进行解析

Clip_2024-06-20_21-56-58

得到其电话,即其虚拟身份账号。

  1. 分析技术人员电脑内的手机流量包,给出技术人员的虚拟身份密码是?[答案格式:b3039456655][★★☆☆☆]

    如上题。

  2. 分析技术人员电脑内的手机流量包,分析技术人员的看过几段短视频?[答案格式:3][★★☆☆☆]

    筛选一下content-type可以发现,有6个mp4流量包

    Clip_2024-06-20_22-02-05

  3. 分析技术人员电脑内的手机流量包,分析技术人员最后打开的软件的程序名称是?[答案格式:微信][★★☆☆☆]

    通过查看流量包,可以发现腾讯bugly服务的包(好像雷电模拟器接入了的)所以查看最后一个bugly包

    Clip_2024-06-20_22-42-58

    可以获取到包名,然后这台电脑装了雷电模拟器的,又在刚才流量包旁边发现了雷电模拟器的备份文件,尝试用雷电多开器进行导入后打开,发现里面有多个软件,直接上文件管理器中查看/data/app中的相关包名,打开可以看见apk包

    Clip_2024-06-20_22-47-34

    根据图标可知(这里是偷懒,直接看图标,如果图标有重复的,要导出APK包进行解析名称),

    Clip_2024-06-20_22-47-58

    最后运行APP为狂神无双

  4. 分析技术人员电脑内的手机流量包,分析安全防护的服务器地址是?[答案格式:127.0.0.1][★★☆☆☆]

    直接导出安全防护APK,丢进去解析,发现包内明文存储了URL,然后进流量包中查找,还居然找到了。直接秒杀,包都不用抓了。

    Clip_2024-06-20_22-54-59Clip_2024-06-20_22-55-10

  5. 分析卡农手机,给出手机的SDK版本?[答案格式:28][★☆☆☆☆]

直接解压手机镜像包,奇安信又出这种自己软件可以解除更多数据的题目。不惯着它。查看deviceinfo.json这个文件是盘古石手机取证自己生成的,所有其他厂商解析不了。

Clip_2024-06-20_22-59-59

  1. 分析卡农手机,给出手机最近开机的时间?[答案格式:2023-05-18-19:09:59][★★☆☆☆]

    又是时间问题,每个厂商的时间都有自己的标准,这个建议用对应厂商的跑。

    Clip_2024-06-20_23-20-53

    如果想通过手工的话,就得在/data/system/dropbox中寻找system_boot文件,文件名中@之后为时间戳,解析出来就是开关机时间(奇安信是这么做的)。

    Clip_2024-06-20_23-37-53

    Clip_2024-06-20_23-38-10

  2. 分析卡农手机,给出高德地图关联的手机号是?[答案格式:13011221234][★★☆☆☆]

    直接软件看

    Clip_2024-06-20_23-38-53

  3. 分析卡农手机,给出卡农内部聊天工具的昵称是?[答案格式:李多余][★★☆☆☆]

    在应用列表搜索chat,发现有三个聊天软件,首先排除蝙蝠,毕竟是内部。然后第二个已经被删除,只剩第一个。先看看数据,进入文件找数据库文件,发现是加密的。为了节省时间(也是偷懒)直接在虚拟机中仿一个。先把安装包到处来

    Clip_2024-06-21_21-19-17

    然后导出data目录文件

    Clip_2024-06-21_21-20-14

    然后整体拷入data/data目录(先安装软件,然后替换)

    Clip_2024-06-21_21-20-48

    然后直接打开,就可以看啦(软件应该没有绑定硬件设备)

    Clip_2024-06-21_21-21-26

    然后查看我的

    Clip_2024-06-21_21-22-11

  4. 分析卡农手机,给出卡农的真实名字可能是?[答案格式:李多余][★★☆☆☆]

    支付宝有实名信息

    Clip_2024-06-21_21-27-35

  5. 黑客计算机系统安装时间是?[答案格式:2000/01/0101:00:01][★☆☆☆☆☆]

    Clip_2024-06-21_21-33-45

  6. 黑客计算机磁盘0的总磁道数?[答案格式:数字中无标点][★★☆☆☆☆]

    Clip_2024-06-22_14-41-45

  7. 黑客计算机的产品密钥是?[答案格式:字母大写][★★☆☆☆]

    Clip_2024-06-21_21-35-59

  8. 黑客计算机共有几次卷影拷贝服务关闭事件?[答案格式:1][★★☆☆☆]

    查询了一下,卷影拷贝服务是在日志中来源为VSS,那么直接在日志中搜索即可。不过神奇的是,火眼解析出来只有一个,但仿真出来查看是有两个的。

    Clip_2024-06-21_22-05-24

  9. 黑客计算机的vc容器解密密码是?[答案格式:字母小写][★★★★★]

    仿真后在文件夹中翻找,发现VC密码,打开一看,嚯,RSA解密,梦回CTF。算了,黑客打CTF很正常嘛。

    导出公钥文件,解析出n为18762288330807505336471569952368628968038915032364773203018829070696227411217877868952724842039756288121734420378039301563905037169196320417706839549744629044465352679919380329435329653365900312498712121432190200717072138327379844913608851715404086200984072727408758802012147296753317519612628629535373054730645471938738605688629618951071483635716677866010394704066696480858977560809007683074249820225609075518509112704549293147063971302640066331096645041521401155565628466857211261242132897152403975836705170916276159246187173035660820037820087171748591660487636434105623595720788169970861783452500198572918584010881

    e为65537

    通过yafu因数分解,Clip_2024-06-22_10-54-19

    获取到了p和q,就可以计算得到d了

    编写脚本

    Clip_2024-06-22_10-55-23

    输出了明文的十进制数,转化为字符串查看。

    Clip_2024-06-22_11-04-04

  10. 黑客计算机加密容器中共有几个docx文件?[答案格式:x][★★☆☆☆]

    花活还挺多,打破常规的加密文件,直接加密分区。通过VC加载E盘分区

    Clip_2024-06-22_11-12-00

    Clip_2024-06-22_11-12-18

  11. 黑客计算机加密容器中记录的bt币地址有几个?[答案格式:x][★★★☆☆]

    不亏是黑客呀,无时无刻不在藏东西。

    利用取证大师对磁盘文件进行恢复。火眼好像不能直接vc解密磁盘。

    Clip_2024-06-22_11-24-39

    发现有三个更bt币相关文件,点开看都没有。我去?这也能藏。xlsx文件是以压缩包的形式存储的,所有用zip软件打开看看,结果在tmp文件中发现

    Clip_2024-06-22_11-26-37

    挺会藏呀。打开发现有4个

  12. 黑客计算机加密容器中记录的受害人共有多少人?[答案格式:xx][★★☆☆☆]

    受害人就简单了,打开excel,直接29个

  13. 黑客计算机中win7虚拟机中www用户的登陆密码是?[答案格式:xxxxxxx][★★☆☆☆]

在电脑中找到了win7.7z的压缩包文件,导出来,发现有密码,找了半天没有找到,想起来流量包有个字典,拿来爆破。

Clip_2024-06-22_12-29-14

然后把镜像导入火眼跑一下

Clip_2024-06-22_14-50-35

  1. 黑客计算机中win7虚拟机中chrome浏览“bjh.com”网站保存的密码是?[答案格式:xx][★★★☆☆]

    Clip_2024-06-22_14-52-43

  2. 分析技术人员电脑,请给出电脑系统安装时间(UTC-0)?[答案格式:20000-01-0100:00:00][★★☆☆☆]

    Clip_2024-06-22_11-45-02

    这还要挖个坑,-8小时

  3. 分析技术人员电脑,请给出电脑内用户John的SID?[答案格式:x-x-x-x-x-x-x-x][★★★☆☆]

    Clip_2024-06-22_11-46-04

  4. 据技术人员交代,其电脑连接过nas服务器,请给出该nas服务器的iqn名称?[答案格式:iqn.xxx][★★★☆☆]

    Clip_2024-06-22_12-23-34

    Clip_2024-06-22_12-37-59

    百度了一下,Windows连接iqn需要使用ISCSI,所以在仿真中打开

    Clip_2024-06-22_12-39-23

    发现有两个,再查看widows日志,过滤iScsiPrt

    Clip_2024-06-22_13-26-59

    最新的登录连接日志,查看详细信息,

    Clip_2024-06-22_13-28-15

    另外一个名称,都是错误日志,即未登录上过。所以还是这个windows这个名称。

  5. 分析技术人员电脑,请给出该技术人员使用的隐写工具名称?[答案格式:xx][★★☆☆☆]

    Clip_2024-06-22_13-30-04

  6. 接上题,请给出使用该隐写工具隐写文件所使用的密码?[答案格式:xx][★★★☆☆]

    Clip_2024-06-22_14-28-35

    在使用隐写软件附近是有文件访问的,一个是新建文本文档、一个是财务流水.mp4


    可以在电脑中搜索到一个新建文本文档,内容为密码

  7. 据技术人员交代,其电脑内存过一个名为“财务流水.rar”的文件,请给出该文件的SHA-1?[答案格式:字母小写][★★★★☆]

  8. 分析技术人员的模拟手机,给出安全防护的验证码是?[答案格式:11226655][★★★★★]

    Clip_2024-06-22_15-17-38

    验证码错误,返回验证码失败,在jadx中搜索,发现参数名verycodefail,搜索该参数的使用。

    Clip_2024-06-22_15-21-12

    发现函数,还有判断函数。

    Clip_2024-06-22_15-21-42

    发现返回值函数,利用frida进行hook。

    Clip_2024-06-22_15-22-41

    返回值为110110110,这便是验证码

  9. 分析技术人员的模拟手机,给出安全防护的推送服务的调证值是?[答案格式:11226655][★★★★★]

    推送服务,关键词push


    发现推送的appkey,查看调用

    Clip_2024-06-22_16-24-56

    Clip_2024-06-22_16-26-27

    继续查看调用

    Clip_2024-06-22_16-26-59

    发现此处传入了appkey,转到定义

    Clip_2024-06-22_16-27-49

    获取到了APPKEY

  10. 分析技术人员的模拟手机,给出老板的联系方式是?[答案格式:11226655][★★☆☆☆]

    Clip_2024-06-22_16-29-07

  11. 分析技术人员的模拟手机,给出办公场所是?[答案格式:北京市朝阳区中山路25555号][★★★☆☆]

    Clip_2024-06-22_16-29-23

  12. 分析技术人员的模拟手机,给出技术人员聊天工具的用户ID是?[答案格式:QN11AATT][★★★☆☆]

    dd8c9e1126449a88f8e86d2003e6ff54.png
    dd8c9e1126449a88f8e86d2003e6ff54.png

  13. 分析黑客电脑,控制端程序传输协议是什么协议?[答案格式:http][★★☆☆☆]

    打开一看,经典python逆向,不亏是奇安信,取证也能塞一堆CTF呀。

    Clip_2024-06-22_17-12-45

    利用pyinstxtractor反编译

    Clip_2024-06-22_17-13-15

    进入反编译好的文件

    Clip_2024-06-22_17-13-49

    Clip_2024-06-22_17-14-30

    改为pyc后缀

    利用winhex修复该文件头

    Clip_2024-06-22_17-15-46

    Clip_2024-06-22_17-16-01

    可以利用struct文件进行修复,修复后,利用decompyle3进行解析,获取py源文件。(最新的好像不需要手动修改文件头),如何使用uncompyle6进行解析字节码。很神奇,3.8.0之后的版本不支持解析,然后用decompyle3会解析不完全。最后还是下载3.8.0版本的uncompyle6才解析出来。

    # uncompyle6 version 3.8.0
    # Python bytecode 3.8.0 (3413)
    # Decompiled from: Python 3.8.10 (tags/v3.8.10:3d8993a, May  3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)]
    # Embedded file name: server.py
    import socket, json
    
    def decrypt_config():
        data_str = ''
        with open('config.txt', 'rb') as (f):
            byte = f.read(1)
            byte_to_int = int.from_bytes(byte, byteorder='big')
            data = byte_to_int ^ 41
            dataB = data.to_bytes(1, byteorder='big')
            data_str += dataB.decode()
            while byte:
                byte = f.read(1)
                if byte:
                    byte_to_int = int.from_bytes(byte, byteorder='big')
                    data = byte_to_int ^ 41
                    dataB = data.to_bytes(1, byteorder='big')
                    data_str += dataB.decode()
    
        data_dict = json.loads(data_str)
        return (data_dict['address'], data_dict['port'])
    
    
    def input_data() -> bytes:
        data = input('请输入指令:')
        data = Crypt_data(data)
        return data.encode()
    
    
    def Crypt_data(data) -> str:
        if isinstance(data, str):
            data = data.encode('utf-8')
        temp = b''
        for i in data:
            data_int = i ^ int.from_bytes(b'p', byteorder='big')
            data_bytes = data_int.to_bytes(1, byteorder='big')
            temp += data_bytes
        else:
            try:
                temp = temp.decode()
            except:
                temp = temp
            else:
                return temp
    
    
    def deal(data: bytes):
        with open('接收数据.txt', 'wb+') as (f):
            f.write(data)
    
    
    class connect:
    
        def __init__(self):
            self.address = decrypt_config()
    
        def tcpServer(self):
            with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as (s):
                s.bind(self.address)
                s.listen(10)
                while True:
                    conn, addr = s.accept()
                    conn.setblocking(0)
                    while True:
                        try:
                            data = conn.recv(1000000)
                            data = Crypt_data(data)
                        except BlockingIOError as e:
                            try:
                                data = b''
                            finally:
                                e = None
                                del e
    
                        else:
                            print(data)
                            if not data == '2a':
                                if data == 'ok':
                                    send_data = input_data()
                                    conn.send(send_data)
                            else:
                                if data == 'er':
                                    print('!!!!!!操作失败请重新操作!!!!!!')
                                    send_data = input_data()
                                    conn.send(send_data)
                            if data == 'end':
                                continue
                            elif data == b'':
                                continue
                            else:
                                deal(data)
    
    
    if __name__ == '__main__':
        con = connect()
        con.tcpServer()
    

    Clip_2024-06-22_19-06-35

    走的tcp协议。

  14. 分析黑客电脑,控制端程序接收数据缓冲区大小是多少?[答案格式:100][★★☆☆☆]

    接受数据量由recv方法定义。

    Clip_2024-06-22_19-09-51

  15. 分析黑客电脑,控制端程序接收并判断几种指令?[答案格式:1][★★★☆☆]

    查看代码,判断指令即if判断。Clip_2024-06-22_19-28-54

  16. 分析黑客电脑,控制端程序连接结束指令是什么?[答案格式:xxx][★★★☆☆]

    查看这个堆判断语句,就很离谱,反编译的啥。还是直接查看汇编代码。

    Clip_2024-06-22_20-18-29

    这里判断为true后,直接跳转到40,而不是循环开始的62,所以这个JUMP_ABSOLUTE应该翻译为break而不是continue。其他的判断顺序也应该调整,修复如下。(不过仅个人观点,还请大佬指正)

    Clip_2024-06-22_20-21-07

  17. 分析黑客电脑,控制端程序配置文件解密函数是什么?[答案格式:x_x][★★★☆☆]

    Clip_2024-06-22_20-22-32

    没啥解释的,函数名称足够明显

  18. 分析黑客的木马程序,该程序控制端ip是?[答案格式:127.0.0.1][★★★☆☆]

    Clip_2024-06-22_21-11-09

    控制端在其电脑上,所以ip就是他电脑的,同时流量包也可以证明,IP就是他自己电脑。

  19. 分析黑客的木马程序,程序在地址0x00410CA4处调用了Sleep函数,请问该函数会暂停几秒?[答案格式:3][★★★☆☆]

    这道题很友好,直接给偏移量,直接跳转,然后反编译。得出16进制,用计算器转化一下,是5000ms

    Clip_2024-06-22_21-14-32

    Clip_2024-06-22_21-13-49

    这道题重点是Clip_2024-06-22_21-16-05

  20. 分析黑客的木马程序,该程序“png”型资源下有两张图片,程序图标对应图片的MD5值是?[答案格式:字母小写][★★★☆☆]

    用工具提取程序内资源

    Clip_2024-06-22_21-22-38

    导出文件,计算hash

    Clip_2024-06-22_21-23-01

  21. 分析黑客的木马程序,哪个函数直接调用了HOST型资源?[答案格式:sub_1234][★★★☆☆]

    通过IDA进行搜索,发现有两个HOST的调用

    Clip_2024-06-22_21-38-39

    进入源码分析,发现一个是load一个是update,直接调用应该是load。

    load

    Clip_2024-06-22_21-40-38

  22. 分析黑客的木马程序,该程序会绕过哪个杀毒软件?[答案格式:腾讯][★★★★★]

    闲来没事看字符串,里面总有好东西。

    Clip_2024-06-22_21-42-38

    里面有个杀进程的

    Clip_2024-06-22_21-43-31

    而且是执行了的。那么KSafeTray是什么呢?k安全,k好像只有金山了吧

    Clip_2024-06-22_21-44-39

  23. 分析扫地机器人数据,robot1.bin采用的压缩算法是?[答案格式:xxxx][★★☆☆☆☆]

    不得不说,binwalk是个伟大的软件。

    Clip_2024-06-23_00-43-38

    LZMA算法

  24. 扫地机器人使用的软件版本是?[答案格式:0.0.0][★★☆☆☆☆]

    用binwalk导出都看不了,没办法,用原始方法,搜搜关键词,直接winhex搜version

    Clip_2024-06-23_00-54-07

  25. 扫地机器人id是?[答案格式:21243245838790][★★☆☆☆]

    Clip_2024-06-23_00-55-09

  26. 扫地机器人云证书的前6位是?[答案格式:sdfead][★★☆☆☆]

    Clip_2024-06-23_00-55-40

  27. 扫地机器人连接过的wifi的ssid是(channl1)?[答案格式:xx_xx_xx][★★☆☆☆]

    感觉这一块都是配置文件呀,直接导出来用编辑看。

    Clip_2024-06-23_00-58-55

  28. 扫地机器人连接过的wifi的密码是(channl1)?[答案格式:xxxx][★★☆☆☆]

    Clip_2024-06-23_01-02-22

  29. 扫地机器人的时区是?[答案格式:xx/xx][★★☆☆☆]

    Clip_2024-06-23_00-59-44

  30. 扫地机器人的名称是?[答案格式:xxxxx][★★☆☆☆]

    Clip_2024-06-23_01-00-22

  31. 无人机飞行纬度前两位是?[答案格式:xx][★★☆☆☆]

    Clip_2024-06-23_00-29-49

  32. 无人机的快门速度是?[答案格式:x/xxx][★★☆☆☆]

    Clip_2024-06-23_00-32-26

  33. 分析智能门锁数据包,请给出用户“wonderful”首次开门时间?[答案格式:2000-01-0100:00-00:00][★★☆☆☆]

    Clip_2024-06-23_00-34-07

  34. 分析智能门锁数据包,请给出智能门锁MAC地址?[答案格式:字母大写][★★☆☆☆]

    Clip_2024-06-23_00-36-06

  35. 请分析服务器,给出NAS服务器系统账号密码?[答案格式:xx@xx][★★★☆☆☆]

    Clip_2024-06-23_01-40-00

  36. 请分析服务器,给出NAS服务器的版本信息?[答案格式:xx-xx-xx][★★☆☆☆☆]

    Clip_2024-06-23_01-42-27

  37. 请分析服务器,给出NAS服务器内用户SMB的邮箱?[答案格式:xx@xx][★★☆☆☆☆]

    Clip_2024-06-23_01-44-25

  38. 请分析服务器,给出NAS服务器系统告警服务使用的邮箱?[答案格式:xx@xx][★★☆☆☆☆]

    Clip_2024-06-23_01-46-04

  39. 请分析服务器,给出NAS服务器内存储池名?[答案格式:xxx][★★☆☆☆]

    Clip_2024-06-23_01-48-18

  40. 请分析服务器,给出NAS服务器内有几个数据集和几个Zvol?[答案格式:0,0][★★★☆☆]

    Clip_2024-06-23_01-50-23

  41. 请分析服务器,给出该NAS服务器存储监听IP和端口?[答案格式:192.168.1.1:8080][★★★☆☆]

    Clip_2024-06-23_01-59-18

    访问nas的方法,这个是在iSCSI中的

  42. 请分析服务器,给出NAS服务器内iSCSI目标为web的连接所使用的启动器组ID?[答案格式:xx][★★★☆☆]

    Clip_2024-06-23_02-01-15

    Clip_2024-06-23_02-01-33

  43. 请分析服务器,给出web服务器连接NAS服务器所使用的iqn?[答案格式:iqn.xxx][★★★☆☆]

    Clip_2024-06-23_02-15-05

    全局配置了基本名称,然后连接web服务器

    Clip_2024-06-23_02-15-44

    名称加上目标,以冒号相隔就是了,iqn.2005-10.org.freenas.ctl:web

  44. 请分析服务器,给出web服务器连接NAS服务器所使用的账号和密码?[答案格式:root/123][★★★★★]

    Clip_2024-06-23_02-17-49

    认证采用1号,

    Clip_2024-06-23_02-18-39

    所以账号密码就是user/202305140921

  45. 请分析服务器,给出redis所使用的配置文件?[答案格式:/home/1.conf][★★☆☆☆]

    在nas中找了半天,也没发现redis服务啊。然后看了一下,发现还有虚拟机,估计在虚拟机中,虚拟机有4个,大概率在web里面,毕竟前面一直都做的web。打开看看,发现打开要开虚拟化,又重启开启虚拟化。

    Clip_2024-06-23_21-19-44

    进vnc一看,我密码呢?算了,重置吧,进单用户进行重置。重置完了,发现怎么登录都进不去,登录正确然后又弹登录窗。找了半天,结果root用户被禁用登录了。又进单用户模式,修改/etc/passwd文件

    Clip_2024-06-23_21-21-02

    把root后面改为/bin/bash就可以登录了。

    Clip_2024-06-23_21-23-14

    同时,还可以发现redis服务的运行目录在/var/lib/redis,这个虚拟机中确实有redis。

    Clip_2024-06-23_21-25-27

    用find找一下就可以了。

  46. 请分析服务器,给出跑分网站后台根目录?[答案格式:/xx/xx][★★★☆☆]

    看看有没有bt,没有,再看看中间件是啥,试了试nginx -t,发现有。

    进配置文件里面看看

    Clip_2024-06-23_21-31-34

    有两个,一个是前台、一个是后台。

    跑分后台是admin开头那个,打开看看。

    Clip_2024-06-23_21-32-45

  47. 请分析服务器,嫌疑人所使用的跑分系统可能来自哪,请给出网站?[答案格式:www.baidu.com][★★★☆☆]

    进源代码看看信息,发现进不去,看看磁盘挂载。

    Clip_2024-06-23_21-35-04

    发现sda1没有挂载,直接一个mount进行挂载。然后进入源代码找,根目录看完了都没有,再去文件里面看看配置文件,发现有一个作者信息。

    Clip_2024-06-23_22-09-20

  48. 请分析服务器,给出数据库root账号密码?[答案格式:password][★★★★★]

    查看database.php文件

    Clip_2024-06-23_22-10-42

    这里也有上一题答案,但是不是root密码。要找root密码,还得进数据库服务器。老规矩,开启db,用单用户模式重置密码,进入数据库。结果进去看了看,发现不是docker,my.cnf里面也没有。只能再乱找找,在/root目录下找到个backup.sh脚本,进去看看,结果加密了的

    Clip_2024-06-23_23-13-26

    一眼自解压,直接用gzexe -d解密。

    Clip_2024-06-23_23-14-27

    发现密码

  49. 请分析服务器,给出数据库备份文件存放路径?[答案格式:/xx/xxx][★★★★★]

    Clip_2024-06-23_23-15-05

    注释写得非常好

  50. 请分析服务器,给出数据库备份文件解压密码?[答案格式:password][★★★★★]

    Clip_2024-06-23_23-16-18

    查看代码,发现备份出来后,执行了压缩操作,操作中-k为密钥

  51. 请分析服务器,给出数据库备份文件间隔多少天会删除?[答案格式:1][★★★★★]

    Clip_2024-06-23_23-24-47

  52. 请分析服务器,给出数据库每天几点会执行备份操作?[答案格式:00:00][★★★☆☆]

    Clip_2024-06-23_23-33-15

    每天2点

  53. 请分析服务器,给出跑分网站后台用户余额总计?[答案格式:1000][★★☆☆☆]

    现在要运行网站了,先把网站配置文件数据库用户密码改一下

    Clip_2024-06-23_23-59-59

    然后连接数据库中看看,发现数据库是空的,得把备份导回去。

    tar -czPf - $BAK_DATE | openssl des3 -salt -k p@ssw0rd -out db_backup_${BAK_DATE}.tar.gz这个加密代码是用的openssl,也通过openssl解码。

    openssl des3 -d -salt -k p@ssw0rd -in db_backup_20230515.tar.gz -out db.tar

    然后可以得到paofen.sql,直接用navicat快捷导回数据库

    Clip_2024-06-24_00-03-25

    然后访问网站会报500错误,需要打开php-fpm。然后又会报403错误,修改源代码目录权限为775或777。然后又会报redis错误,打开redis。然后记得关防火墙。

    Clip_2024-06-24_00-27-49

    历经千辛万苦,终于进入登录界面了。看代码绕过密码登录,直接将密码验证部分删除

    Clip_2024-06-24_01-24-32

    进行登录,成功进入后台。(TM题都忘记是啥了,看看再说)

    Clip_2024-06-24_01-24-32

    Clip_2024-06-24_01-26-40

  54. 请分析服务器,给出跑分平台后天未处理的用户申请有多少个?[答案格式:1000][★★☆☆☆]

    这也能打错字,差评,应该是后台吧!

    Clip_2024-06-24_01-29-37

  55. 请分析服务器,给出会员聂鸿熙推荐人的姓名?[答案格式:张三][★★☆☆☆]

    Clip_2024-06-24_01-30-43

  56. 请分析服务器,给出给出跑分平台内用户银行卡所属银行共有几家?[答案格式:10][★★★★★]

    Clip_2024-06-24_01-34-04

  57. 接上题,请给出这些银行中用户数最多的银行名称?[答案格式:xx银行][★★★★★]

    Clip_2024-06-24_01-35-31

  58. 请分析服务器,给出用户“祝虹雨”通过审核的充值总额?[答案格式:10][★★★★★]

    在ob_charge_log表中有该人支付信息。

    Clip_2024-06-24_01-45-20

    Clip_2024-06-24_01-44-11

  59. 请分析服务器,给出该跑分团队可能的办公大楼有几个?[答案格式:1][★★☆☆☆]

    服了,在web应该没有,估计是在另外两个虚拟机中了,linux强化重置密码练习。。。

    进去啦,然后发现里面有BT,直接xshell连一下。

    里面有一个网站

    Clip_2024-06-24_02-23-16

    先运行起来看看,发现是会议网站

    Clip_2024-06-24_02-24-02

    这得登录一下看看了。

    先看看数据库,进去是空的,需要恢复一下备份

    直接通过会员中心登录

    Clip_2024-06-24_02-38-18

    所以有两个

  60. 请分析服务器,给出用户John共提了几次会议预约申请,通过了几个?[答案格式:1,1][★★☆☆☆]

    Clip_2024-06-24_02-40-30

  61. 接上题,用户John哪个时间段的会议预约申请次数最多[答案格式:2000-01-0100:00-00:00][★★☆☆☆]

    见上题图

  62. 请分析服务器,给出用户Harvey预约了什么时间的会议?[答案格式:2000-01-0100:00-00:00][★★☆☆☆]

    Clip_2024-06-24_02-41-51

  63. 会议管理系统的后台登陆地址是[答案格式:www.baidu.com:8080/login.php][★★☆☆☆]

    这道题答案只给到了dkewl.php,确实只需要输入到这个就可以进入登录界面,但是实际上无论是这里的配置,还是登录界面显示的url连接,我觉得应该写完。也可能是答案格式只要求写道php?反正仁者见仁吧。

    Clip_2024-06-24_02-44-59

    至此,服务器终于做完了,太nt了,总有奇奇怪怪的bug。。。。。。

  64. 分析技术人员电脑内银行卡交易流水,给出转入的对手交易卡号有多少?[答案格式:10][★★☆☆☆]

    现在再打开技术员电脑,不要关服务器,现在多出来了一个硬盘,里面数据就回来啦。然后之前不是说有进行隐写吗,现在打开oursecret软件,进行unhide。

    Clip_2024-06-24_03-37-14

    是一个rar包,进行解压。发现大量csv,看了一下数据量太大了,excel分析不了

    Clip_2024-06-24_11-46-22

    通过导入数据库进行分析。

    Clip_2024-06-24_12-39-52

    但是导数据库太耗时了,不如直接python处理。

    Clip_2024-06-24_12-49-42

  65. 分析技术人员电脑内银行卡交易流水,给出转出的对手交易卡号有多少个?[答案格式:1][★★☆☆☆]

    Clip_2024-06-24_12-51-16

  66. 分析技术人员电脑内银行卡交易流水,给出卡号"6233542760791453"金额转出比(保留两位有效小数)?[答案格式:10.21%[提示:注意文件编码][★★★★★]

    还是写脚本,跑完才发现,就45.csv里面有。浪费时间。

    Clip_2024-06-24_13-14-08

  67. 分析技术人员电脑内银行卡交易流水,给出金额转出比最大的卡号?[答案格式:xxxx][提示:注意文件编码][★★★★★]

    Clip_2024-06-24_13-32-21

  68. 分析技术人员电脑内银行卡交易流水,给出收益最大的卡号?[答案格式:xxxxx][提示:注意文件编码][★★★★★]

卧槽,问了最终量还问过程量是吧,还好用的debug停在了最后一句。直接在监视中编程

Clip_2024-06-24_13-35-03

成功获取到收入最大的,不过还是在代码里面在写一下吧。

最后大结局,把三道题都输出来。

Clip_2024-06-24_13-41-43

给出代码:

import pandas as pd
import os
import time

folder_path = 'D:\onedrive\桌面\财务流水'
start_time = time.time()
card_in={}
card_out={}
card_list = []
for filename in os.listdir(folder_path):

    if filename.endswith('.csv'):
        print(filename)
        file_path = os.path.join(folder_path, filename)
        df = pd.read_csv(file_path)
        tmp_card_list = df['交易卡号'].unique().tolist()
        card_list=card_list+tmp_card_list
        card_list=list(set(card_list))
        for i in card_list:
            if df[df['交易卡号'] == i].empty:
                continue
            if i not in card_in:
                card_in[i]=0
            if i not in card_out:
                card_out[i]=0
            tmp_out_money = df[df['交易卡号'] == i][df['收付标志'] == '出']['交易金额'].sum()
            tmp_in_money = df[df['交易卡号'] == i][df['收付标志'] == '进']['交易金额'].sum()
            card_in[i] += tmp_in_money
            card_out[i] += tmp_out_money

# 计算转出比
card_ratio = {}
for i in card_in:
    if card_in[i]>card_out[i]:
        card_ratio[i] = card_out[i] / card_in[i]
    else:
        card_ratio[i] = card_in[i] / card_out[i]

# 输出6233542760791453的转出比,输出为百分比格式
print("6233542760791453的转出比是:", "{:.2%}".format(card_ratio[6233542760791453]))

# 输出card_in中值最大的卡号
max_in = max(card_in.values())
print("card_in中值最大的卡号是:", [k for k, v in card_in.items() if v == max_in])

# 输出转出比最大的账号
max_ratio = max(card_ratio.values())
print("转出比最大的值是:", max_ratio)
max_ratio_card = [k for k, v in card_ratio.items() if v == max_ratio]
print("转出比最大的账号是:", max_ratio_card)
end_time = time.time()
print("运行时间:", end_time - start_time, "秒")

终于完结了,太长了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值