首页 > 其他分享 >知攻善防Web1应急靶机笔记--详解

知攻善防Web1应急靶机笔记--详解

时间:2024-08-08 21:16:11浏览次数:10  
标签:文件 exe 反编译 -- Kuang Web1 知攻 攻击者 我们

知攻善防Web1应急靶机笔记

概述

这是一台知攻善防实验室的应急响应靶机,方便大家练习一下应急响应的流程和操作。

靶机的前景概述:

前景需要:
小李在值守的过程中,发现有CPU占用飙升,出于胆子小,就立刻将服务器关机,这是他的服务器系统,请你找出以下内容,并作为通关条件:

1.攻击者的shell密码
2.攻击者的IP地址
3.攻击者的隐藏账户名称
4.攻击者挖矿程序的矿池域名

用户:
administrator
密码
[email protected]

靶机地址

提取码:1gs2

0、前期配置

1)VM版本问题

拿到靶机我们会找到目录的下的Window Server 2022.vmx文件打开会报一个错

![image-20240807223524906](https://gitee.com/ling-x5/img/raw/master/image-20240807223524906.png #pic_left=80%)

我们需要去Window Server 2022.vmx右键,记事本打开

image-20240807222815424 image-20240807223724320

我们打开虚拟机

2)防火墙问题

不关闭防火墙的话,看到web网站的后门脚本会自动被windos的防火墙删除掉

image-20240807224105892

我们关闭掉病毒和威胁防护

image-20240807224246111 image-20240807224442498 image-20240807224852372

1、第一题题解

1.攻击者的shell密码

我们在桌面上看到phpstudy,shell密码应该是webshell的连接密码,我们用D盾对phpstudy的目录进行扫描,看看有没有什么明显的后门文件。

image-20240808123607406

看到有一个shell.php,右键打开看看。

image-20240808123719787

这是一个冰蝎的webshell脚本,默认密码是rebeyond

2、第二题题解

2.攻击者的IP地址

攻击者的IP地址,攻击者既然上传了webshell文件,那在我们的web日志里应该有相应的操作日志。我们打开日志

image-20240808124214747

看日志文件大小,应该就是他了,我们打开ctrl+f搜索关键字shell.php

他既然上传了这个webshell脚本肯定会有相关的上传和访问的日志产生

image-20240808124509202

这个访问shell.php的流量大概率就是攻击者做的,所以第二题 192.168.126.1

3、第三题题解

3.攻击者的隐藏账户名称

攻击者的隐藏账户,我们可以去计算机管理的账户去查看,我们搜索 计算机管理

image-20240808125152859

打开找到本地用户和组

image-20240808125306426

发现有hack168$用户,这就是隐藏账户。

4、第四题题解

4.攻击者挖矿程序的矿池域名

1)找到挖矿程序

找到挖矿程序和矿池的域名,这里我们要去hack168$账户去查看黑客在他创建的账户里进行了什么操作。

我们是在管理员组的,所以我们有权限去更改hack168$账户的密码

C:\Users\Administrator>net user hack168$ 123456aa@
命令成功完成。

因为有密码复杂度要求,我们把密码改为了 123456aa@

我们按1win+l在虚拟机的选项卡里发送请求ctrl+alt+delete请求,切换到hack168$

image-20240808130352744 image-20240808130146054

登陆进来,我们就看到了一个叫kuang的可执行文件,是用python的pyinstaller打包成的exe文件。

image-20240808130658026

我们要找到矿池的域名,需要对这个python的打包出来的exe文件进行反编译,去看他里面的源码

2)反编译python程序

python的exe文件反编译要用到pyinstxtractor.py文件和pycdc.exe文件

我这里也准备了对应的文件 python反编译
提取码:nfw3

我们把 挖矿程序Kuang放到pyinstxtractor.py同一目录下运行:

 python .\pyinstxtractor.py .\Kuang.exe

会生成Kuang.exe_extracted文件夹

image-20240808153325020

点进去,找到与我们反编译文件同名的文件

image-20240808153659377

重命名为Kuang.pyc

image-20240808153844455

为notepad++安装HexEdit插件:https://www.cnblogs.com/LING5/p/18349724

给pyc文件添加magic头:https://www.cnblogs.com/LING5/p/18349733

我们把添加好头部的Kuang.pyc文件复制到与pycdc.exe程序同目录下执行:

.\pycdc.exe .\Kuang.pyc > Kuang.py

在同目录下会有Kuang.py生成,这就是我们反编译的文件

image-20240808161717219

结果:

# Source Generated with Decompyle++
# File: Kuang.pyc (Python 3.8)

import multiprocessing
import requests

def cpu_intensive_task():
    
    try:
        requests.get('http://wakuang.zhigongshanfang.top', 10, **('timeout',))
    finally:
        continue
        continue

    continue

# WARNING: Decompyle incomplete

看到这个程序向域名wakuang.zhigongshanfang.top发送GET请求

毫无疑问这个域名就是矿池

答案:wakuang.zhigongshanfang.top

5、提交

总结

1、我们先是用D盾对phpstudy的主目录进行了扫描,发现了一个webshell脚本shell.php发现密码:rebeyond

2、发现有shell.php脚本,我们进一步去Apache的日志文件中去找到是哪一个ip上传的后门文件,通过搜索关键字我们找到了192.168.126.1

3、通过对计算机管理界面的查询,我们找到了隐藏账户hack168$ 。除此之外,我们还以通过查询注册表,用net localgroup administrator 命令查看到隐藏账户。

4、登陆到hack168$账户,我们在它的桌面上我们看到了名为 Kuang的的挖矿程序,通过观察图标,我们知道他是一个python的脚本文件用pyinstaller打包成的exe可执行文件。我们对它进行了反编译处理,发现程序里有一个wakuang.zhigongshanfang.top矿池域名。

这里提交完之后会退出,是因为它的python脚本没有加sleep()延时函数,有兴趣可以按上边步骤重新反编译,加上延时程序。

在打包 pyinstaller 题解.py 在对应的dist文件夹下会有exe的可执行文件。复制出来覆盖掉原来的题解.exe在输入答案就可以了

标签:文件,exe,反编译,--,Kuang,Web1,知攻,攻击者,我们
From: https://www.cnblogs.com/LING5/p/18349766

相关文章

  • pyc文件添加magic头
    pyc文件添加magic头hexedit插件安装可以去看另一篇文章:http://t.csdnimg.cn/VhqEh我们用notepad++打开pyc文件,选择插件--->hex-editor-->viewinhex我们再去以下文件夹下随便找一个pyc文件,用同样的方式打开我们随便找一个,选中第一行右键点击copy回到我们要添加magic头的......
  • Redis学习笔记_1_基本安装与使用
    Redis入门篇1初识RedisRedis是一种键值型的NoSql数据库键值型:指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符串、数值、甚至jsonNoSql:相对于传统关系型数据库而言,有较大差异1.1认识NoSQLNoSql可以翻译做NotOnlySql(不仅仅是SQL......
  • 数学
    20240806课件marp:truemath:mathjax数论入门整除、同余、数论函数、素数…………………………byRenaMoe不讲证明的地方是因为用处不大而且俺也不会,请自行了解。想要严谨而系统的学习OI相关的数学知识的话,建议读《具体数学》。基础概念oiwiki整除对于正整数......
  • Java方法03:方法的重载
    上面使用的max方法仅仅适用于int型数据。但如果你想得到两个浮点类型数据的最大值呢?解决方法是创建另一个有相同名字但参数不同的方法,如下面代码所示:publicstaticdoublemax(doublenum1,doublenum2){ if(num1>num2){ returnnum1; }else{ returnnum2; }}......
  • String类的其他功能,替换、去除空格、比较字符串相等 day11
    packagecom.shujia.day11;/*String类的其他功能:替换功能Stringreplace(charold,charnew)将字符串中所有的旧字符使用新字符进行替换,返回新的字符串Stringreplace(Stringold,Stringnew)将字符串中所有的旧字符串使用新......
  • Java方法04:拓展命令行传参
    有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。命令行参数是在执行程序时候紧跟在程序名字后面的信息。【下面的程序打印所有的命令行参数】publicclassCommandLine{ publicstaticvoidmain(Stringargs[]){ for(inti=0;i<arg......
  • 重塑购车体验,实时云渲染赋能东风日产探路云看车新体验
    在科技日新月异的今天,汽车行业正经历着前所未有的深刻变革。随着互联网+、大数据、人工智能等新兴技术的深度融合,汽车营销策略也迎来了从传统展示到数字化体验的跨越。消费者的购车习惯逐渐倾向于线上互动与深度体验,希望在线上获得线下同等的体验,迫使汽车制造商及经销商重新审......
  • Java方法05:可变参数
    JDK1.5开始,Java支持传递同类型的可变参数给一个方法。方法的可变参数的声明如下所示:typeName...parameterName在方法声明中,在指定参数类型后加一个省略号(...)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。publicsta......
  • Swift 引用 OC 的类库
    1、创建引用文件///{项目名称}-Bridging-Header.hXQTest-Bridging-Header.h2、创建OC类@interfaceAuth:NSObject@property(nonatomic,assign)NSIntegercode;@property(nonatomic,strong)NSString*name;-(instancetype)initWithCode:(NSInteger)codename:......
  • 关于二分图上的最大匹配、最小点覆盖、最大独立集以及最大权闭合子图的联系
    没有点权和边权的时候,不讨论最大权闭合子图,最大匹配=最小点覆盖=点数-最大独立集最小点覆盖=点数-最大独立集:这个很好理解,考虑只有一条边的二分图的情况,点覆盖要求两个端点至少选一个,独立集要求两个端点最多选一个,是互补的关系,这意味着一个合法点覆盖的点集与一个合法独立集的......