惡意代碼的分類包括計算機病毒、蠕蟲、木馬、后門、Rootkit、流氓軟體、間諜軟體、廣告軟體、僵尸(bot) 、Exploit等等!上次我們分享了惡意代碼的第一部分,現在我們來分享剩下的部分,繼續來看看吧!
4、后門
后門常以套件的形式存在,用于將受害者資訊發送給攻擊者或者傳輸惡意可執行程式(下載器),最常用的功能是接收攻擊端傳送過來的命令,執行某些操作,
Windows系統中有很多WIN32 API可以執行CMD命令,例如system Winexe CreateProcess等,這里介紹通過匿名管道實作遠程CMD,
具體程序
1、初始化匿名管道的SECURITY_ATTRIBUTES結構體,呼叫CreatePipe創建匿名管道,獲取管道資料讀取句柄和寫入句柄,
2、初始化STARTUPINFO結構體,隱藏行程視窗,并把管道資料寫入句柄賦值給新行程控制臺視窗的快取句柄,
3、呼叫CreateProcess函式創建行程,執行CMD命令并呼叫WaitForSingleObject等待命令執行完,
4、呼叫ReadFile根據匿名管道的資料讀取句柄從匿名管道的緩沖區中讀取資料,
5、關閉句柄,釋放資源,
源代碼:
5、檔案監控
全域鉤子可以實作系統監控,Windows提供了一個檔案監控介面函式ReadDirectoryChangesW該函式可以對計算機上所有檔案操作進行監控,在呼叫,
ReadDirectoryChangesW設定監控過濾條件之前,需要通過CreateFile函式打開監控目錄,獲取監控目錄的句柄,之后才能呼叫ReadDirectoryChangesW函式設定監控過濾條件并阻塞,直到有滿足監控過濾條件的操作,ReadDirectoryChangesW才會回傳監控資料繼續往下執行,
具體程序
1、打開目錄,獲取檔案句柄,呼叫CreateFile獲取檔案句柄,檔案句柄必須要有FILE_LIST_DIRECTORY權限,
2、呼叫ReadDirectoryChangesW設定目錄監控,
3、判斷檔案操作型別,只要有滿足過濾條件的檔案操作,ReadDirectoryChangesW函式會立馬回傳資訊,并將其回傳到輸出緩沖區中,而且回傳資料是按結構體FILE_NOTIFY_INFORMATION回傳的,
呼叫一次ReadDirectoryChangesW函式只會監控一次,要想實作持續監控,則需要程式回圈呼叫ReadDirectoryChangesW函式來設定監控并獲取監控資料,由于持續的目錄監控需要不停回圈呼叫ReadDirectoryChangesW函式進行設定監控和獲取監控資料,所以如果把這段代碼放在主執行緒中則會導致程式阻塞,為了解決主執行緒阻塞的問題,可以創建一個檔案監控子執行緒,把檔案監控的實作代碼放到子執行緒中,
源代碼:
6、自洗掉
自洗掉功能對病毒木馬來說同樣至關重要,它通常在完成目標任務之后洗掉自身,不留下任何蛛絲馬跡,自洗掉的方法有很多種,常見的有利用MoveFileEx重啟洗掉和利用批處理洗掉兩種方式,
MoveFileEx重啟洗掉
MOVEFILE_DELAY_UNTIL_REBOOT這個標志只能由擁有管理員權限的程式或者擁有本地系統權限的程式使用,而且這個標志不能MOVEFILE_COPY_ALLOWED一起使用,并且,洗掉檔案的路徑開頭需要加上“\?\"前綴,
源代碼:
利用批處理命令洗掉
del %0
批處理命令會將自身批處理檔案洗掉而且不放進回收站,
具體流程
1 構造自洗掉批處理檔案,該批處理檔案的功能就是先利用choice或ping命令延遲一定的時間,之后才開始執行洗掉檔案操作,最后執行自洗掉命令,
2 在程式中創建一個新行程并呼叫批處理檔案,程式在行程創建成功后,立刻退出整個程式,
源代碼:
和大家共勉!小心使用這些代碼還是很有幫助的哦~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
C語言C++編程學習交流圈子,QQ群1090842465【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:
編程學習視頻分享:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/235299.html
標籤:其他
