應急響應靶機練習-Linux2

1.背景

前景需要:看監控的時候發現webshell告警,領導讓你上機檢查你可以救救安服仔嗎!!
挑戰內容:
(1)提交攻擊者IP
(2)提交攻擊者修改的管理員密碼(明文)
(3)提交第一次Webshell的連接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
(4)提交Webshell連接密碼
(5)提交數據包的flag1
(6)提交攻擊者使用的后續上傳的木馬文件名稱
(7)提交攻擊者隱藏的flag2
(8)提交攻擊者隱藏的flag3

2.環境準備

(1)創建虛擬機

(2)登錄虛擬機

賬號密碼:root/Inch@957821.
(ps:這個密碼很坑,我一開始試了很多遍都不對,密碼第一個字符是大寫的i,最后一個字符是點.?)

(3)XShell連接虛擬機

這里使用xshell是為了方便操作,好看一點

3.開始

(1)last

發現192.168.20.1多次登錄

[root@web-server ~]# last
root     pts/0        192.168.76.1     Sat Mar 15 23:48   still logged in   
root     tty1                          Sat Mar 15 23:46   still logged in   
reboot   system boot  3.10.0-1160.el7. Sat Mar 15 23:45 - 23:48  (00:02)    
root     pts/1        192.168.20.1     Wed Mar 20 15:36 - crash (360+08:09) 
root     pts/0        192.168.20.1     Wed Mar 20 15:04 - 15:39  (00:34)    
root     pts/0        192.168.20.1     Wed Mar 20 14:30 - 15:04  (00:33)    
reboot   system boot  3.10.0-1160.el7. Wed Mar 20 14:29 - 23:48 (360+09:19) 
root     pts/1        localhost        Wed Mar 20 10:30 - 10:30  (00:00)    
root     pts/0        192.168.20.1     Wed Mar 20 07:59 - crash  (06:30)    
reboot   system boot  3.10.0-1160.el7. Wed Mar 20 07:58 - 23:48 (360+15:49) 
root     pts/0        192.168.20.1     Thu Mar  7 15:36 - crash (12+16:21)  
root     pts/0        192.168.20.1     Thu Mar  7 15:25 - 15:36  (00:11)    
root     pts/0        192.168.20.1     Thu Mar  7 14:39 - 15:25  (00:45)    
root     pts/0        192.168.20.1     Thu Mar  7 14:07 - 14:09  (00:01)    
reboot   system boot  3.10.0-1160.el7. Thu Mar  7 14:06 - 23:48 (373+09:42) 
root     pts/0        192.168.20.1     Thu Mar  7 11:37 - 11:52  (00:15)    
reboot   system boot  3.10.0-1160.el7. Thu Mar  7 11:36 - 23:48 (373+12:11) 
root     pts/0        192.168.20.1     Mon Mar  4 09:48 - down   (00:01)    
root     tty1                          Mon Mar  4 09:47 - 09:50  (00:02)    
reboot   system boot  3.10.0-1160.el7. Mon Mar  4 09:47 - 09:50  (00:03)

(2)lastlog

[root@web-server ~]# lastlog
Username         Port     From             Latest
root             pts/0    192.168.76.1     Sat Mar 15 23:48:06 +0800 2025
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
shutdown                                   **Never logged in**
halt                                       **Never logged in**
mail                                       **Never logged in**
operator                                   **Never logged in**
games                                      **Never logged in**
ftp                                        **Never logged in**
nobody                                     **Never logged in**
systemd-network                            **Never logged in**
dbus                                       **Never logged in**
polkitd                                    **Never logged in**
sshd                                       **Never logged in**
postfix                                    **Never logged in**
ntp                                        **Never logged in**
www                                        **Never logged in**
mysql                                      **Never logged in**

(3)grep "Failed" /var/log/secure*

[root@web-server ~]# grep "Failed" /var/log/secure*
/var/log/secure:Mar 20 15:36:25 web-server sshd[4377]: Failed password for root from 192.168.20.1 port 1378 ssh2

(4)grep "Accepted" /var/log/secure*

同(1)

[root@web-server ~]# grep "Accepted" /var/log/secure*
/var/log/secure:Mar 20 10:30:25 web-server sshd[4111]: Accepted publickey for root from 127.0.0.1 port 55976 ssh2: ED25519 SHA256:5wjncpQo9MtvNtk8t3A1CdOx2horMhYTghdrKk4ey0k
/var/log/secure:Mar 20 14:30:21 web-server sshd[2365]: Accepted password for root from 192.168.20.1 port 9509 ssh2
/var/log/secure:Mar 20 15:04:22 web-server sshd[4068]: Accepted password for root from 192.168.20.1 port 12423 ssh2
/var/log/secure:Mar 20 15:36:28 web-server sshd[4377]: Accepted password for root from 192.168.20.1 port 1378 ssh2
/var/log/secure:Mar 15 23:48:06 web-server sshd[2550]: Accepted password for root from 192.168.76.1 port 61662 ssh2
/var/log/secure-20240320:Mar  4 09:48:23 web-server sshd[8287]: Accepted password for root from 192.168.20.1 port 11035 ssh2
/var/log/secure-20240320:Mar  7 11:37:01 web-server sshd[1436]: Accepted password for root from 192.168.20.1 port 7796 ssh2
/var/log/secure-20240320:Mar  7 14:07:42 web-server sshd[2375]: Accepted password for root from 192.168.20.1 port 7322 ssh2
/var/log/secure-20240320:Mar  7 14:39:51 web-server sshd[5216]: Accepted password for root from 192.168.20.1 port 13752 ssh2
/var/log/secure-20240320:Mar  7 15:25:23 web-server sshd[5673]: Accepted password for root from 192.168.20.1 port 3129 ssh2
/var/log/secure-20240320:Mar  7 15:36:49 web-server sshd[5849]: Accepted password for root from 192.168.20.1 port 10490 ssh2
/var/log/secure-20240320:Mar 20 07:59:13 web-server sshd[2476]: Accepted password for root from 192.168.20.1 port 5237 ssh2

(5)history

history里面有很多關鍵信息,是很重要的命令。

[root@web-server ~]# history1  systemctl disable firewalld2  systemctl disable --now firewalld3  setenforce 04  vim5  vi /etc/sysconfig/selinux 6  poweroff7  ip a8  cd /var/9  ls10  cd ww11  cd /home/12  ls13  mysql14  yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec15  BT16  bt17  ls18  cd /www/19  cd wwwroot/20  ls21  cd 127.0.0.1/22  ls23  cd ..24  ls25  cd ..26  ls27  cd wwwlogs/28  ls29  cat 127.0.0.1.log 30  cd nodejs/31  ls32  cd ..33  ls34  cd tcp-error.log 35  cat tcp-error.log 36  cat nginx_error.log 37  cat access.log 38  ls39  cat 127.0.0.1.log 40  cd /www/41  ls42  cd wwwlogs/43  ls44  cat 127.0.0.1.log 45  bt46  ls47  cd /www/wwwroot/48  ls49  cd 127.0.0.1/50  ls51  rm -rf flag1 152  ls53  rm -rf version2.php 54  ls55  hardlink 56  hwclock 57  ls58  docker ps59  rm -rf pe9.sql 60  ls61  cd vendor/62  ls63  cd ..64  ls65  cd ..66  sl67  ls68  ls -a69  cd 127.0.0.1/70  ls71  ls -a72  vim .api73  ls74  ls -a75  mkdir .api76  ls77  ls -a78  cd .api/79  l80  ls81  cd ..82  ls83  cd ap84  cd api/85  ls86  cp * ../.api/87  ls88  cd ..89  ls90  cd .api/91  ls92  vim mpnotify.php 93  yum install vim94  ls95  vim  alinotify.php 96  cat /etc/shadow97  who98  w99  history100  useradd flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}101  env102  $flag3 = [root@web-server .api]# useradd flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}103  useradd: invalid user name 'flag3{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}'104  $flag3 = flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}105  vim /etc/profile106  source /etc/p107  source /etc/profile108  env109  history 110  q111  e112  eexir113  exit114  history 115  ls116  chmod +X go_build_untitled.exe 117  l118  chmod +x go_build_untitled.exe 119  ls120  ./go_build_untitled.exe 121  ls122  mv go_build_untitled.exe wp123  ls124  ./wp 125  passwd root126  clear 127  ./wp 128  clear 129  pwd130  ./wp 

從上面18-29中多次發現/www目錄,并且有127.0.0.1.log文件,可以跟webshell的訪問和上傳有關。

使用scp命令將虛擬機中的文件復制到本機中。

scp root@192.168.76.128:/www/wwwlogs/127.0.0.1.log D:\桌面

(6)挑戰一?

查看日志文件,發現幾乎都是ip192.168.20.1的記錄,判定是攻擊者ip

(7)挑戰二

要查看管理員密碼,密碼應該存在mysql數據中,同時,在/www網站目錄查看是否存在mysql連接信息。

思路:在/www目錄發現/wwwroot,因為含有root,含有配置信息可能性更大,進入/wwwroot,再進入127.0.0.1,使用命令 grep "MYSQL" -r /www/wwwroot/127.0.0.1遞歸搜索關鍵字,成功發現配置信息(PS:當然不是一開始就搜索MYSQL,是慢慢試出來的,一開始可能是mysql,Mysql等等)

成功發現mysql配置信息

連接數據庫

查看數據庫

選擇kaoshi數據庫

?查看x2_user表,有多個用戶,暫時無法確認哪個是管理員

查看x2_user_group表,groupid為1代表管理員,確認peadmin用戶為管理員

將userpassword字段拿去md5解密,成功發現管理員密碼

MD5在線解密 - 土薯在線工具Toolshu.com

(8)挑戰三、挑戰四

上面在127.0.0.1.log中發現很多連接的記錄,懷疑是webshell的連接url但是暫時無法確定,在root目錄下發現存在流量包,還是使用scp命令復制到本地進行分析

scp root@192.168.76.128:/root/數據包1.pcapng D:\桌面

過濾出HTTP協議進行分析

發現都是192.168.20.1與服務器連接

選中第一條數據進行追蹤

將請求體中編碼的數據進行url解碼,發現存在蟻劍的特征,發現第一次連接webshell的url,webshell連接密碼為Network2020(腳本中開頭部分)

1. 代碼特征
核心代碼:蟻劍的核心代碼部分來源于中國菜刀,因此其連接時的流量特征與中國菜刀較為相似。
常見函數:連接時通常會包含以下PHP函數:
@ini_set("display_errors", "0");:關閉錯誤顯示。
@set_time_limit(0);:取消腳本執行時間限制。
@set_magic_quotes_runtime(0);:禁用魔術引號。
eval() 或 assert():用于執行動態代碼。

(9)挑戰五?

在流量包中發現訪問了flag1

進行追蹤流,發現flag1

?

(10)挑戰六

觀察發現在后半部分,攻擊者使用get請求驗證version2.php是否存在,后續都是使用它來進行post

?

追蹤流,發現是冰蝎的特征,所以version2.php就是后續使用的腳本

冰蝎4.0
加密方式:支持自定義傳輸協議,取消了固定的連接密碼,加密算法和密鑰由用戶自定義。
流量特征:
Accept字段為application/json, text/javascript, */*; q=0.01。
Content-Type字段為application/x-www-form-urlencoded。
使用長連接,請求頭和響應頭帶有Connection: Keep-Alive。
固定請求頭和響應頭,請求頭為m7nCS8n4OZG9akdDlxm6OdJevs/jYQ5/IcXK,響應頭為mAUYLzmqn5QPDkyI5lvSp6DmrC24FW39Y4YsJhUqS7。
默認連接密鑰為e45e329feb5d925b。

?

(11)挑戰七

在history中看到,曾經對文件進行修改

對這兩個文件進行查看(PS:是.api目錄,不是api目錄,需要使用ls -a命令)

[root@web-server 127.0.0.1]# pwd
/www/wwwroot/127.0.0.1
[root@web-server 127.0.0.1]# ls
api  app  data  files  index.php  lib  tasks  vendor
[root@web-server 127.0.0.1]# ls -a
.  ..  api  .api  app  data  files  index.php  lib  tasks  .user.ini  vendor
[root@web-server 127.0.0.1]# cd .api
[root@web-server .api]# ls
alinotify.php  alireturn.php  mpnotify.php  payjsnotify.php  wxnotify.php
[root@web-server .api]# cat alinotify.php

發現flag2

?(12)挑戰八

直接在history中看到?

4.驗證?

[root@web-server ~]# ./wp
提交攻擊者IP?
192.168.20.1
回答正確!
提交攻擊者修改的管理員密碼(明文)
Network@2020
回答正確!
提交第一次Webshell的連接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
index.php?user-app-register
回答正確!
提交Webshell連接密碼
Network2020
回答正確!
提交數據包的flag1
flag1{Network@_2020_Hack}
回答正確!
提交攻擊者使用的后續上傳的木馬文件名稱
version2.php
回答正確!
提交攻擊者隱藏的flag2
flag2 = "flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}
回答錯誤!
提交攻擊者隱藏的flag3
flag3 = flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
回答錯誤!
[root@web-server ~]# ./wp
提交攻擊者IP?
192.168.20.1
回答正確!
提交攻擊者修改的管理員密碼(明文)
Network@2020
回答正確!
提交第一次Webshell的連接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)
index.php?user-app-register
回答正確!
提交Webshell連接密碼
Network2020
回答正確!
提交數據包的flag1
flag1{Network@_2020_Hack}
回答正確!
提交攻擊者使用的后續上傳的木馬文件名稱
version2.php
回答正確!
提交攻擊者隱藏的flag2
flag{bL5Frin6JVwVw7tJBdqXlHCMVpAenXI9In9}
回答正確!
提交攻擊者隱藏的flag3
flag{5LourqoFt5d2zyOVUoVPJbOmeVmoKgcy6OZ}
回答正確!

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

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

相關文章

分享一個免費的CKA認證學習資料

關于CKA考試 CKA(Certified Kubernetes Administrator)是CNCF基金會(Cloud Native Computing Foundation)官方推出的Kubernetes管理員認證計劃,用于證明持有人有履行Kubernetes管理的知識,技能等相關的能力…

【PTA題目解答】7-2 簡化的插入排序(15分)

1.題目 本題要求編寫程序&#xff0c;將一個給定的整數插到原本有序的整數序列中&#xff0c;使結果序列仍然有序。 輸入格式&#xff1a; 輸入在第一行先給出非負整數N&#xff08;<10&#xff09;&#xff1b;第二行給出N個從小到大排好順序的整數&#xff1b;第三行給…

【最新】 ubuntu24安裝 1panel 保姆級教程

系統&#xff1a;ubuntu24.04.1 安裝軟件 &#xff1a;1panel 第一步&#xff1a;更新系統 sudo apt update sudo apt upgrade 如下圖 第二步&#xff1a;安裝1panel&#xff0c;運行如下命令 curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o …

UE4-UE5虛幻引擎,前置學習一--Console日志輸出經常崩潰,有什么好的解決辦法

有些差異 這么牛逼的引擎&#xff0c;居然有這種入門級別的問題&#xff0c;一觸發清理&#xff0c;大概率(80%)會崩潰 無論虛幻5還是UE4都有這個問題&#xff0c;挺煩人的 實在忍不了了&#xff0c;這次&#xff0c;今天 就想問問有什么好的處理方法么&#xff1f;&#x…

【微服務】Nacos 配置動態刷新(簡易版)(附配置)

文章目錄 1、實現方法2、配置依賴 yaml3、驗證效果 1、實現方法 環境&#xff1a;Nacos、Java、SpringBoot等 主要是在boostrap.yaml中的data-id屬性下配置refresh:true來實現動態更新 2、配置依賴 yaml 具體的版本參考官方的說明&#xff1a;官方版本說明 <!--讀取boo…

設計模式之備忘錄設計模式

備忘錄設計模式&#xff08;Memento Pattern&#xff09; 在不破壞封閉的前提下&#xff0c;捕獲一個對象的內部狀態&#xff0c;保存對象的某個狀態&#xff0c;以便在適當的時候恢復對象&#xff0c;又叫做快照模式&#xff0c;屬于行為模式備忘錄模式實現的方式需要保證被保…

pytest 框架學習總結

視頻&#xff1a;pytest01-快速上手_嗶哩嗶哩_bilibili 資料&#xff1a;pytest 框架 - 白月黑羽 基于 Python 語言的自動化測試框架 最知名的 有如下 3 款unittest、pytest、robotframework 前兩款框架主要&#xff08;或者說很大程度上&#xff09;是 聚焦 在 白盒單元測試…

Day16:最小的k個數

倉庫管理員以數組 stock 形式記錄商品庫存表&#xff0c;其中 stock[i] 表示對應商品庫存余量。請返回庫存余量最少的 cnt 個商品余量&#xff0c;返回 順序不限。 示例 1&#xff1a; 輸入&#xff1a;stock [2,5,7,4], cnt 1 輸出&#xff1a;[2]示例 2&#xff1a; 輸入…

【最后203篇系列】016 Q201架構思考

前言 Q200已經達到了我既定的目標&#xff0c;在最近的3個月&#xff0c;我需要進一步完善&#xff0c;達到可以試產的程度。 在這個過程當中&#xff0c;許多知識和體會一直在變。 qtv200到目前&#xff0c;雖然通過習慣(每晚運行離線策略和比對)方式維持了注意力的集中&…

音視頻入門基礎:RTP專題(20)——通過FFprobe顯示RTP流每個packet的信息

通過FFprobe命令&#xff1a; ffprobe -protocol_whitelist "file,rtp,udp" -of json -show_packets XXX.sdp 可以顯示SDP描述的RTP流每個packet&#xff08;數據包&#xff09;的信息&#xff1a; 對于RTP流&#xff0c;上述的“packet”&#xff08;數據包&#…

信息系統運行管理員教程6--信息系統安全

信息系統運行管理員教程6–信息系統安全 第1節 信息系統安全概述 1.信息系統安全的概念 信息系統安全是指保障計算機及其相關設備、設施&#xff08;含網絡&#xff09;的安全&#xff0c;運行環境的安全&#xff0c;信息的安全&#xff0c;實現信息系統的正常運行。信息系統…

LLM后訓練:解鎖大型語言模型推理能力的關鍵路徑

引言&#xff1a;從語言生成到邏輯推理的躍遷 大型語言模型&#xff08;LLMs&#xff09;通過預訓練掌握了海量語言模式&#xff0c;但其核心缺陷——幻覺、邏輯斷裂、價值觀偏差——暴露了單純預訓練的局限性。后訓練&#xff08;Post-Training&#xff09;作為預訓練后的精修…

9.貪心算法

簡單貪心 1.P10452 貨倉選址 - 洛谷 #include<iostream> #include<algorithm> using namespace std;typedef long long LL; const int N 1e510; LL a[N]; LL n;int main() {cin>>n;for(int i 1;i < n;i)cin>>a[i];sort(a1,a1n);//排序 LL sum 0…

Linux 網絡:skb 數據管理

文章目錄 1. 前言2. skb 數據管理2.1 初始化2.2 數據的插入2.2.1 在頭部插入數據2.2.2 在尾部插入數據 2.2 數據的移除 3. 小結 1. 前言 限于作者能力水平&#xff0c;本文可能存在謬誤&#xff0c;因此而給讀者帶來的損失&#xff0c;作者不做任何承諾。 2. skb 數據管理 數…

批量給 Excel 添加或刪除密碼保護|Excel 批量設置打開密碼和只讀密碼

我們在將 Excel 文檔發送給第三方或者進行存檔的時候&#xff0c;對 Excel 文檔添加密碼保護是非常重要的一個操作。添加保護后的 Excel 文檔。就只能有相應權限的用戶才能夠打開或者編輯操作。尤其是當我們 Excel 文檔中內容非常敏感非常重要的時候&#xff0c;添加保護就顯得…

藍耘MaaS平臺:阿里QWQ應用拓展與調參實踐

摘要&#xff1a;本文深入探討了藍耘MaaS平臺與阿里QWQ模型的結合&#xff0c;從平臺架構、模型特點到應用拓展和調參實踐進行了全面分析。藍耘平臺憑借其強大的算力支持、彈性資源調度和全棧服務&#xff0c;為QWQ模型的高效部署提供了理想環境。通過細化語義描述、調整推理參…

使用 Docker 部署前端項目全攻略

文章目錄 1. Docker 基礎概念1.1 核心組件1.2 Docker 工作流程 2. 環境準備2.1 安裝 Docker2.2 驗證安裝 3. 項目配置3.1 項目結構3.2 創建 Dockerfile 4. 構建與運行4.1 構建鏡像4.2 運行容器4.3 訪問應用 5. 使用 Docker Compose5.1 創建 docker-compose.yml5.2 啟動服務5.3 …

Vue中使用到的padStart方法是什么

padStart() 是 JavaScript 字符串對象的一個方法&#xff0c;用于在字符串的開頭填充指定的字符&#xff0c;直到字符串達到指定的長度。這在需要對字符串進行格式化&#xff0c;使其保持固定長度時非常有用&#xff0c;比如在日期格式化時&#xff0c;確保月份、日期等為兩位數…

springboot集成flink實現DM數據庫同步到ES

前言 今天分享的其實是一個面試上機方案&#xff0c;就是監測DM數據庫數據&#xff0c;同步到ES&#xff0c;使用flink實現。基本套路&#xff0c;其實也沒啥好說的&#xff0c;非要說也就是&#xff0c;國家隊還是很多不跟你玩啊&#xff0c;雖然flink有阿里在背后&#xff0c…

springboot jackson 日期格式配置

一、JacksonProperties JacksonProperties是一個用ConfigurationProperties(prefix“spring.jackson”)注解修飾的類&#xff0c;所以可以通過以spring.jackson為前綴的配置去賦值。 JacksonAutoConfiguration會通過Jackson2ObjectMapperBuilderCustomizer實現類根據JacksonPr…