一、電子數據取:
1、什么是取證
電子取證學:為打擊網絡犯罪而生的電子數據取證,是計算機學科與法學學科交叉的一門學科,涉及到的知識包括計算機軟硬件知識體系、網絡技術、密碼學、通信技術以及法學知識等。
常規取證:有調查取證權的組織或者個人為了查明案件事實的需要,向有關單位或個人依法進行調查和收集證據。
“洛卡德物質交換原理”:“沒有真正完美的犯罪,只有未被發現的線索。”
埃德蒙·洛卡德(Edmond Locard,1877~1966)博士是法國著名的法庭科學家和偵查學家,他是個固執的學者,窮其一生都在為犯罪現場中物證的取證和鑒定工作努力着,之所以說他「固執」,是因為他一輩子都堅信着那么一件事:
——犯罪者,必留痕
卡洛德在20世紀初提出了他最著名的物質交換定律。
此理論的核心非常簡單:
——「每一個犯罪行為都會留下痕跡」
也就是說:
——只要發生了犯罪行為,就必然會留下相關痕跡,沒有所謂「無痕」的犯罪現場。
——哪怕很多犯罪者具有一定的反偵查能力,會刻意的去破壞一些痕跡,但作為代價,這會帶來更多的物質交換過程,再次形成各種新的痕跡物證。
形象地說,如果你打我一巴掌,我的臉上會留下你的手印、汗漬、划痕等,而你的手上也會有我的皮膚組織、汗漬等,這樣一來通過證據的吻合度是可以判斷出究竟是誰打了我
電子數據同樣遵循這個原理,網絡罪犯也會留下“手印”,但這個痕跡只有專業的取證人員才能看得到。
物質交換原理是電子數據取證的理論基礎,而取證就是尋找各種犯罪交換后留下的痕跡作為證據的活動。
電子數據就是電子證據,在取證行業里所說的電子數據,就是指的電子證據。
| 2013年施行的《中華人民共和國刑事訴訟法》第四十七條規定了 "電子數據"為證據的7大類型。
2016年兩高一部《關於辦理刑事案件收集提取和審查判斷電子數據若干問題的規定》(以下簡稱規定)以定義和列舉的方式,對電子數據做了明確規定:電子數據是案件發生過程中形成的,以數字化形式存儲、處理、傳輸的,能夠證明案件事實的數據。電子數據包括但不限於下列信息、電子文件:網頁、博客、微博客、朋友圈、貼吧、網盤等網絡平台發布的信息;手機短信、電子郵件、即時通信、通訊群組等網絡應用服務的通信信息;用戶注冊信息、身份認證信息、電子交易記錄、通信記錄、登錄日志等信息;文檔、圖片、音視頻、數字證書、計算機程序等電子文件。
電子數據取證什么?
電子數據取證就是把數字證據轉換為報告形式的過程。
這個轉化形式的過程卻涉及法律標准、技術手段、工具使用等等多領域復雜的內容,那可不是幾句話能說得清楚的
取證過程大致分為:
證據收集--->數據獲取--->數據分析--->取證報告
1、收集階段:
電子數據脆弱性,它很容易被破壞:病毒、刪除、覆蓋等都會導致電子數據改變和丟失。
2、數據獲取階段:
1. 轉儲過程是否會改變原始設備上的原始數據?(證據一旦被改變了就沒有法律效應了)
2.怎么證明你在轉儲過程中沒有改變任何數據?
解決辦法:鏡像 和寫保護。
3、數據分析階段
4、報告撰寫階段:形式詳細記錄下來,尤其是能證明犯罪事實的關鍵證據
電子數據取證的目的
電子數據取證的終極目標是:為法庭審判提供合法的證據。
為了達到目標,可能用到的手段方法,數據恢復,密碼破解等
電子數據取證的重要性
中國網絡犯罪占犯罪總是 1/3
每年以 30%以上的速度增長
網絡犯罪造成的經濟損失每年達7000億以上
案例
熊貓燒香:
1、硬盤數據:“灰鴿子”、“Sniffer”、“DDOS.EXE”、“網絡神偷”、“Web3389”、“日 志清理”等大量黑客網絡攻擊工具、木馬制作,病毒,網絡攻擊的相關電子書。大量用VB,VC和Dephi編寫的病毒和木馬源代碼:多線程端口,PHP注入,文 件捆綁,隱藏運行,QQ密碼截獲,IE密碼探測等。
五號分區的 Source\Code\Delphi\Wy_Work\
目錄下,發現“武漢男生”(熊貓燒香)病毒的客戶端和服務端程序,同時,在 \Source Code \Delphi\ My_Work\武漢男生進程監控\code
目錄下發現“武漢男生”的源程序代碼文件,截圖如下:
2、聊天記錄:
3、盜賣賬號信息
4、賬號登錄信息:大量網絡游戲(征途、冒險島等)登錄用戶名和口令
5、賬目信息:“賬單文件”記錄了2005年到2006年7月的賬目信息
二、Linux系統入侵痕跡分析取證
1、基本信息獲取
系統信息:
系統版本信息:
uname -a
lsb_version -a
head -n 1 /etc/issue
用戶和組信息:
cut -d: -f1 /etc/passwd //查看用戶信息
cut -d: -f1 /etc/group //查看用戶組信息
網絡信息:
ip a show //網絡接口信息
ip route //路由信息
ss -tanp //端口信息
iptables -L //防火牆信息
系統運行狀態:
任務計划
cat /etc/crontab //查看系統任務計划
/var/spool/cron/USERNAME //用戶任務計划
進程信息
ps aux
//a 與終端相關的進程
u 以用戶為中心組織進程狀態信息顯示
x 與終端無光的進程
ps -ef //e 顯示所有進程。f顯示完整格式程序信息
ps -eFH //F顯示完整格式的進行信息 H以進程層級格式顯示進程相關信息
top
服務信息
systemctl list-units --type=service //顯示所有已啟動的服務
systemctl list-units -t service -a //所有開啟和關閉的
systemctl list-unit-files -t service -a //服務狀態,是否開機啟動,static:開機不啟動,但是可以被另一個服務激活
/usr/lib/systemd/system //服務目錄
2、日志分析
日志的主要用途是系統審計、監測追蹤和分析統計。
UNIX/ Linux采用了syslog工具來進行日志記錄,所有在主機上發生的事情都會被記錄下來不管是好的還是壞的。
syslog:Linux 內核由很多子系統組成包括網絡、文件訪問、內存管理等。
子系統需要給用戶傳送一些消息這些消息內容包括消息的來源及其重要性等。所有的子系統都要把消息送到一個可以維護的公用消息區於是就有了 syslog。
syslog 是一個綜合的日志記錄系統。
它的主要功能:方便日志管理和分類存放日志。
syslog 配置文件:/etc/syslog.conf
三類日志:
系統接入日志:
根據該日志跟蹤到誰在何時登錄到系統
/var/log/wtmp和/var/run/utmp //telnet、ssh等程序會更新wtmp和utmp文件
進程統計日志:分析系統使用者對系統進行的配置以及對文件進行的操作
pacct或acct
錯誤日志:
/var/log/messages
常用日志文件:
/var/log/boot.log //該文件記錄了系統在引導過程中發生的事件就是Linux系統開機自檢過程顯示的信息。
/var/log/cron //該日志文件記錄crontab守護進程crond所派生的子進程的動作,前面加上用戶、登錄時間和PID以及派生出的進程的動作.
/var/log/maillog //該日志文件記錄了每一個發送到系統或從系統發出的電子郵件的活動。它可以用來查看用戶使用哪個系統發送工具或把數據發送到哪個系統
/var/log/messages //該日志文件是許多進程日志文件的匯總
/var/log/syslog //RHEL/Centos默認不開啟,需要配置,它和/etc/log/messages日志文件不同它只記錄警告信息,
該日志文件能記錄當用戶登錄時login記錄下的錯誤口令、Sendmail的問題、su命令執行失敗等信息。
/var/log/secure //記錄與安全相關的信息,主要是一些和認證、權限使用相關的信息。其是sshd會將所有信息記錄[其中包括失敗登錄]在這里信息
/var/log/lastlog //記錄最近成功登錄的事件和最后一次不成功的登錄事件,只能root執行
/var/log/wtmp //永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件,該日志文件可以用來查看用戶的登錄記錄,last命令就通過訪問這個文件獲得這些信息
/var/run/utmp //該日志文件記錄有關當前登錄的每個用戶的信息, who、w、users、finger 訪問此文件 ,隨着用戶登錄和注銷系統而不斷變化,它只保留當時聯機的用戶記錄不會為用戶保留永久的記錄
//以上提及的3個文件/var/log/wtmp、/var/run/utmp、/var/log/lastlog是日志子系統的關鍵文件,都記錄了用戶登錄的情況。這些文件的所有記錄都包含了時間戳。這些文件是按二進制保存。不能用less、cat之類的命令直接查看這些文件,而是需要使用相關命令通過這些文件而查看
每次有一個用戶登錄時login程序在文件lastlog中查看用戶的UID。
如果存在則把用戶上次登錄、注銷時間和主機名寫到標准輸出中,
然后login程序在lastlog中記錄新的登錄時間打開utmp文件並插入用戶的utmp記錄。
該記錄一直用到用戶登錄退出時刪除。utmp文件被各種命令使用包括who、w、users和finger。
下一步login程序打開文件wtmp附加用戶的utmp記錄。當用戶登錄退出時具有更新時間戳的同一utmp記錄附加到文件中。
wtmp文件被程序last使用。
查看日志文件:
絕大多數是文本文件, cat、tac、more、less、tail
和 grep
進行查看
日志文件的格式:以 /var/log/messages
為例
該文件中每一行表示一個消息而且都由四個域的固定格式組成
時間戳:Timestamp
表示消息發出的日期和時間。
主機名:Hostname
表示生成消息的主機名
生成消息的子系統名稱:“Kernel”表示消息來自內核
消息:Message
:具體的消息內容
Dec 16 03:32:41 cnetos5 syslogd 1.4.1: restart. // syslog 發出的消息說明了守護進程已經在 xxx 重新啟動了
查看非文本格式日志文件:
lastlog :使用 lastlog 命令來檢查某特定用戶上次登錄的時間並格式化輸出上次登錄日志 /var/log/lastlog 的內容
last:搜索 /var/log/wtmp 來顯示自從文件第一次創建以來登錄過的用戶
lastb:命令搜索 /var/log/btmp 來顯示登錄未成功的信息
who:查詢 wtmp 文件並報告當前登錄的每個用戶
who /var/log/wtmp //查詢歷史登錄用戶
登錄日志
二進制日志文件:
1、最近一次日志
/var/log/lastlog lastlog //最近一次用戶登錄的時間記錄
2、用戶登錄日志
/var/log/wtmp
[root@localhost ~]# last
- 或
[root@localhost ~]# last -f <filename> # 指定輸入文件
last -u 用戶名顯示用戶上次登錄的情況
last -t 天數顯示指定天數之前的用戶登錄情況。
系統日志
應用日志
apache日志:
/var/log/httpd/access.log #[Apache服務器的客戶系統訪問記錄]
/var/log/httpd/error.log #[Apache服務器的所有出錯記錄]
cups 打印日志:CUPS [ Common Unix Printing System ] 通用UNIX打印系統
/var/log/cups/access_log # 訪問日志文件,其中記錄了打印機的設置情
況,提交的打印作業,以及打印作業的狀態記錄等信息
/var/log/cups/error_log # 默認的日志文件,存儲各種錯誤信息
Samba 服務器日志
> [目錄] /var/log/samba
[root@localhost ~]# ls /var/log/samba
> log.smbd # 其中包含Samba服務器啟動以及SMB/CIFS文件與打印共享方面的信息
> log.nmbd # 其中包含基於IP協議的NETBIOS網絡通信方面的信息
> log.sysname # 用於記錄特定客戶系統的服務請求信息,文件名中的sysname是客戶系統的主機名,如 log.winxp
相關實驗:網安取證
介紹:詳細了解windows,linux電子取證的原理,使用不同的網絡取證工具學習取證中的信息收集,協議分析,內存磁盤取證,文件恢復等功能操作