偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux服務器安全事件應急的一些隨筆 - 備份篇

運維 服務器運維
最近連著碰到幾起Linux服務器的安全應急響應,之前這方面的經驗也不是很足,都是平時刷刷大家寫的文章靠著一些Linux下的基礎知識去分析著這幾次碰到的事件,事后想想,在面對這幾次的應急事件有很多地方考慮的不是很全面,隨寫此文紀錄下心中所想。盡量用系統(tǒng)本身最基礎的功能完成前期應急取證的備份工作。

前言

最近連著碰到幾起Linux服務器的安全應急響應,之前這方面的經驗也不是很足,都是平時刷刷大家寫的文章靠著一些Linux下的基礎知識去分析著這幾次碰到的事件,事后想想,在面對這幾次的應急事件有很多地方考慮的不是很全面,隨寫此文紀錄下心中所想。盡量用系統(tǒng)本身最基礎的功能完成前期應急取證的備份工作。

劃重點

重要的事情說四遍

備份! 備份!備份!備份!

原始數(shù)據(jù)的備份在應急響應分析過程中的重要性不言而喻,但在這幾次的應急事件中甲方爸爸貌似都忽略了這個問題,當我們到達現(xiàn)場的時候,甲方爸爸要么是已經將被入侵服務器糟蹋了一波,要么是備份了,也只備份了一波日志。

[[241853]]

系統(tǒng)鏡像備份

備份

  1. # dd if=/dev/sda of=bak.img 

恢復

  1. # dd if=bak.img of=/dev/sdb 

fdisk -l 查看磁盤分區(qū)情況

  1. # fdisk -lDisk /dev/sda: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders 
  2. Units = cylinders of 16065 * 512 = 8225280 bytes 
  3. Sector size (logical/physical): 512 bytes / 512 bytes 
  4. I/O size (minimum/optimal): 512 bytes / 512 bytes 
  5. Disk identifier: 0x000a7707 
  6.  
  7.    Device Boot      Start         End      Blocks   Id  System 
  8. /dev/sda1   *           1        1013     8136891   8e  Linux LVM 
  9. /dev/sda2            1014        1044      249007+   5  Extended 
  10. /dev/sda5            1014        1044      248976   83  Linux 

df -h 查看磁盤占用情況

  1. # df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/brokenwebapps-root                      7.3G  5.8G  1.2G  84% /none                  497M  176K  497M   1% /devnone                  502M   12K  502M   1% /dev/shmnone                  502M  300K  501M   1% /var/runnone                  502M     0  502M   0% /var/locknone                  502M     0  502M   0% /lib/init/rwnone                  7.3G  5.8G  1.2G  84% /var/lib/ureadahead/debugfs 
  2. /dev/sda5             228M   44M  173M  21% /boot 
  3. /dev/sdb1              12G  159M   12G   2% /test 

# dd if=/dev/sda of=bak.img 進行備份,等個幾分鐘,備份完成

備份完成后發(fā)送至我們的分析系統(tǒng)

  1. # scp bak.img root@192.168.232.132:/root/ 

掛載分析

  1. 分析系統(tǒng)環(huán)境 - kali 

通過losetup命令虛擬一個loop設備掛載鏡像

查看第一個空閑loop設備

  1. # losetup -f/dev/loop0 

創(chuàng)建loop設備

  1. # losetup /dev/loop0 bak.img 
  2.  
  3. # fdisk -lDisk /dev/loop0: 8 GiB, 8589934592 bytes, 16777216 sectors 
  4. Units: sectors of 1 * 512 = 512 bytes 
  5. Sector size (logical/physical): 512 bytes / 512 bytes 
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes 
  7. Disklabel type: dos 
  8. Disk identifier: 0x000a7707Device       Boot    Start      End  Sectors   Size Id Type 
  9. /dev/loop0p1 *          63 16273844 16273782   7.8G 8e Linux LVM 
  10. /dev/loop0p2      16273845 16771859   498015 243.2M  5 Extended 
  11. /dev/loop0p5      16273908 16771859   497952 243.1M 83 Linux 

通過fdisk -l 我們可以看到我們的鏡像中有三個分區(qū),所以我們需要將每個分區(qū)單獨映射出來,然后再進行掛載。

這里通過kpartx來進行分區(qū)表的讀取和映射

  1. # kpartx -av /dev/loop0  
  2. add map loop0p1 (254:0): 0 16273782 linear 7:0 63add map loop0p2 (254:1): 0 2 linear 7:0 16273845add map loop0p5 (254:2): 0 497952 linear 7:0 16273908 

映射完畢后我們通過

  1. ls -l /dev/mapper/ 
  2.  
  3. lrwxrwxrwx 1 root root       7 Nov  6 07:46 brokenwebapps-root -> ../dm-3lrwxrwxrwx 1 root root       7 Nov  6 07:46 brokenwebapps-swap_1 -> ../dm-4crw------- 1 root root 10, 236 Nov  6 07:46 control 
  4. lrwxrwxrwx 1 root root       7 Nov  6 07:46 loop0p1 -> ../dm-0lrwxrwxrwx 1 ro 

查看下映射關系。Linux下的mapper設備是內核中提供的一種從邏輯設備到物理設備的映射機制,通過該設備我們可以很清楚的看到root分區(qū)所在位置

mount掛載

下面我們將root分區(qū)掛載到我們的test目錄

  1. # mount /dev/mapper/brokenwebapps-root /test/ 

切換到test目錄查看,整個文件系統(tǒng)已經被還原到我們的分析系統(tǒng)上

下面我們就可以在我們的分析系統(tǒng)上對被入侵主機進行更加深入的分析了

卸載

  1. # umount /dev/mapper/brokenwebapps-root卸載kpartx映射# kpartx -dv /dev/loop0若無法卸載可先通過lvremove命令卸載映射出的邏輯設備再通過kpartx卸載映射 
  2. 卸載loop設備# losetup -a        查看當前創(chuàng)建的loop設備/dev/loop0: [2049]:2107674 (/root/bak.img)# losetup -d /dev/loop0    卸載 

內存鏡像備份

測試環(huán)境:

  1. Linux kali 4.9.0-kali4-amd64 #1 SMP Debian 4.9.30-2kali1 (2017-06-22) x86_64 GNU/Linux 

在比較老的Linux上,通常內核版本為2.6以下的,應該是還可以通過dd命令進行內存鏡像備份的

命令大概長這樣:

  1. dd if=/dev/mem of=dumpmem.dd bs=1024 

通過dd命令dump出/dev/mem設備的內容完成內存的備份,但是2.6以下版本的內核在平??赡懿皇翘嘁娝晕乙矝]具體測試這個命令導出的具體效果。

2.6及以上的版本由于Linux安全性要求,其開始限制我們直接對系統(tǒng)內存的訪問。所以內存的備份我們可能要違背一下初心,需要引用第三方的模塊來完成我們的工作

一開始我嘗試使用的工具是fmem,他通過將自己加載到Linux內核中運行,通過創(chuàng)建/dev/fmem設備使我們可以繼續(xù)使用dd命令來備份我們的內存。奈何我沒編譯成功,因為找的模擬環(huán)境為owasp的一個漏洞環(huán)境,然而其源已經連接不上了導致我無法去更新內核的開發(fā)包,也就沒法編譯成功了,轉戰(zhàn)kali,編譯也出問題,大概也是內核版本不匹配,有機會在研究下能不能搞定他。

前面說到由于一開始用的環(huán)境無法更新內核開發(fā)包了,所以注明下以下的操作皆在kali下完成的,kali的具體內核版本開頭已說明

在繼續(xù)說內存鏡像備份前先瞎說一波內核模塊的加載,反正也不是什么正兒八經的討論內核

先引用下度娘百科吧。

大概就可以理解為Linux的內核是一塊支持熱插拔的板卡,在其運行過程中我們可以隨時插入一個功能板,為其擴展功能。在不用的時候我們又可以將這塊功能板給拔掉。這樣我們就可以在不用修改內核的情況下擴展了其功能。前面提到的fmem也是運用到了Linux內核的這個特性,下面要用的這個工具也是運行的這個特性。

在Linux中我們可以通過

lsmod 查看有哪些功能版正插在板卡上

insmod 插入一塊新的功能版

rmmod 拔出一塊功能版

內存?zhèn)浞莨ぞ週iME

https://github.com/504ensicslabs/lime

git下源碼丟進kali里進行編譯假設你編譯有問題,比如類似的這種錯誤

  1. make -C /lib/modules/2.6.32-25-generic-pae/build M="/test/LiME/src" modules 
  2. make[1]: Entering directory `/lib/modules/2.6.32-25-generic-pae/build' 
  3. make[1]: *** No rule to make target `modules'.  Stop. 
  4. make[1]: Leaving directory `/lib/modules/2.6.32-25-generic-pae/build'make: *** [default] Erro 

你可能需要這個命令

  1. apt-get install linux-headers-$(uname -r) 

去安裝當前內核的開發(fā)包完成LiME的編譯

記得安裝完內核開發(fā)包后前往/lib/modules/xxxx-amd64目錄下查看有沒有build和source的軟鏈接

沒有的話通過下面命令創(chuàng)建一下

  1. ln -s /usr/src/linux-headers-x.xx.x-x-amd64 build 
  2. ln -s /usr/src/linux-headers-x.xx.x-x-common source 

沒什么其他錯誤的話我們就可以加載這個模塊進行內存?zhèn)浞萘?/p>

進入其src目錄進行編譯# makemake -C /lib/modules/4.9.0-kali4-amd64/build M="/root/Github/LiME/src" modules

  1. make[1]: Entering directory '/usr/src/linux-headers-4.9.0-kali4-amd64' 
  2.   Building modules, stage 2. 
  3.   MODPOST 1 modules 
  4.   LD [M]  /root/Github/LiME/src/lime.ko 
  5. make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-kali4-amd64'strip --strip-unneeded lime.ko 
  6. mv lime.ko lime-4.9.0-kali4-amd64.ko 

編譯成功后會在當前目錄生成lime-4.9.0-kali4-amd64.ko文件

執(zhí)行命令

  1. # insmod ./lime-4.9.0-kali4-amd64.ko "path=/test/testmem.lime format=lime" 

稍等片刻完成內存的備份,其中path參數(shù)為備份內存保存的路徑,format為保存格式,建議使用lime格式,方便我們后面通過volatility進行分析

簡單的先測試下剛剛備份的內存是否可以被volatility識別

  1. # python vol.py -f /test/testmem.lime --profile=Linuxkalix64 limeinfoVolatility Foundation Volatility Framework 2.6 
  2. Memory Start       Memory End         Size               
  3. ------------------ ------------------ ------------------ 
  4. 0x0000000000001000 0x000000000009f3ff 0x000000000009e400 
  5. 0x0000000000100000 0x00000000546dffff 0x00000000545e0000 
  6. 0x0000000054700000 0x00000000547fffff 0x0000000000100000 

內存?zhèn)浞萃旰笮遁dlime模塊

很無奈的備份

安全應急實施過程中有時候甲方爸爸也不一定讓你搞這搞那,一句話,你要啥日志~ 我~ 甲方爸爸~ 給日志~

這時難免被這王霸之氣震驚,隨記錄下需要備份哪些日志以及文件以免遺漏

打包打包打包

/var/log完整打包

視具體情況而定,假設日志過多情況下,則可能需要我們進行篩選打包

  1. # tar -czvf xx_var_log_time.tar.gz /var/log 

針對web入侵應急還需備份出web應用,nginx日志等

經常會遺漏的一些內容

備份passwd和shadow文件分析是否存在可疑賬號

比如某些本該是系統(tǒng)用戶的賬號卻存在了口令字段

  1. # cat /etc/passwd > etc_passwd.txt# cat /etc/shadow > etc_shadow.txt 

備份當前網絡連接情況# netstat -anp > netstat_anp.txt

備份歷史命令# cp ~/.bash_history bash_history.txt帶時間和執(zhí)行者格式備份

  1. history# export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`:"# history > history.txt 

備份用戶登錄信息

  1. # w > col_users.txt# lastlog > lastlog.txt 

查找最近5天被修改的文件#find / -type f -mtime +5

備份進程信息

  1. # ps -ef > ps_ef.txt# ps aux > ps_aux.txt 

備份重要文件或命令的md5值

懶人辦法:

設置要備份的目錄# TESTDIR='/bin/'# find $TESTDIR -type f -print0 | xargs -0 md5sum > dir_bin_cmd.md5備份出bin目錄下所有命令的md5值

生成完整的或自定義的某個目錄文件系統(tǒng)樹形結構圖# tree > tree.txt或者定義生成目錄深度# tree -L 2

 

責任編輯:武曉燕 來源: 硬土殼安全
相關推薦

2010-05-12 16:02:30

2011-03-28 16:59:16

nagios監(jiān)控服務器

2022-09-14 12:01:35

服務器入侵篡改,

2018-10-29 10:45:44

2010-05-12 17:45:01

IIS 服務器

2010-05-20 18:19:45

2011-11-08 21:12:35

2020-07-14 09:23:49

安全運營甲方乙方

2017-12-21 07:54:07

2013-04-07 09:15:31

2019-08-01 15:05:22

2019-07-09 09:31:50

操作系統(tǒng)電腦技術

2013-01-18 10:54:33

2018-01-15 09:32:59

即時通信服務器架構

2010-05-12 17:46:38

IIS服務器

2009-12-07 10:25:52

服務器安全服務器事件查看器

2018-01-31 11:20:48

2009-08-03 18:16:46

ASP.NET Web

2013-12-24 13:59:03

2010-05-19 18:39:28

點贊
收藏

51CTO技術棧公眾號