?

Python 自動化攻擊腳本在高職“網絡安全”技能競賽中的應用

2022-10-14 02:01宋超
網絡安全技術與應用 2022年9期
關鍵詞:靶機后門腳本

◆宋超

(江蘇聯合職業技術學院無錫旅游商貿分院 江蘇 214000)

1 引言

沒有網絡安全就沒有國家安全,目前“網絡安全”賽項已成為各級各類職業院校比拼實力的舞臺,一場“網絡安全”技能競賽通常由兩部分組成:CTF 和AWD,在AWD 中各個參賽隊伍被分配了若干靶機,這些靶機存在著各種漏洞,在規定時間內參賽隊伍要盡力加固自己的靶機,并利用漏洞攻擊對方靶機以獲得flag(flag 是靶機root 目錄下flagvalue.txt 文件的內容),具有很強的競技性。靶機上漏洞類型多樣,如高端口后門、Webshell、數據庫漏洞等,現實中由于“網絡安全”賽項靶機數量巨大,單憑手動攻擊很難在短時間獲得大量flag,于是利用編程語言編寫自動化攻擊腳本,批量獲得flag 顯然是必要的。

2 Python 語言腳本

Python 語言是當今編程語言中的熱點,它有著高效的數據結構,簡單的面向對象開發的環境,豐富的標準庫等特點,廣泛應用在網絡數據的爬取,人工智能,大數據分析等多方面。在網絡攻防中Python程序常用的第三方庫有OS 庫、requests 庫,MySQLdb 庫等。

3 網絡靶機漏洞

在高職“網絡安全”AWD 競賽中常見的靶機漏洞有系統服務漏洞、網站漏洞、數據庫

漏洞等,其中系統服務漏洞如一些常規端口漏洞:21、22、23端口的弱密碼,著名的139、445 端口的“永恒之藍”漏洞,3389 端口的藍屏攻擊、cve-2019-0708 漏洞等,還有就是系統的高端口后門;網站漏洞包括命令執行、文件包含、文件上傳、SQL 注入等;數據庫漏洞則是通過數據庫連接的弱密碼,運行數據庫語句進行系統滲透。

3.1 系統的后門端口

系統的后門端口往往是程序員預留在系統中以便可以修改系統缺陷的端口,最著名的是Windows 自動更新,如果后門被他人知道,后果將是不堪設想的。后門端口一般大于1024(小于1024 的是常規端口),如知名漏洞機 Metasplotable2-Linux 后門端口為1524,Windows 的遠程管理服務WinRM 默認為5985 端口,開啟后門端口也可使用木馬程序,這類木馬程序由C 或C++語言編寫并編譯生成,如int main(){ serv_addr.sin_family=2;serv_addr.sin_addr.s_addr=0;serv_addr.sin_port=0x901F ;sock=socket(2,1,0);bind(sock,(struct sockaddr*)&serv_addr,0x10);listen(sock,1);dup2(cli,0);dup2(cli,1);dup2(cli,2);execve("/bin/sh",0,0);},該程序在運行時開放了一個8080 的后門端口,攻擊機只需利用NC 工具連入這個后門端口就能輕松進入靶機系統。

3.2 網站命令執行漏洞

網站漏洞通常是因為網站開發人員安全意識不足,對程序參數沒有嚴格限制造成的。知名的網站漏洞有信息泄漏漏洞、目錄遍歷漏洞、命令執行漏洞、文件包含漏洞、SQL 注入漏洞、跨站腳本漏洞等。其中,網站的命令執行通常利用網站中可執行系統命令的頁面,通過構造并拼接一些系統命令,從而對靶機系統進行滲透,如知名的滲透測試網站DVWA,在Low 模式下,Ping 測試網頁中,只需要在待測試的IP地址后拼接|、&、;等特殊符號并加入要執行的命令如whoami、id 等,即可獲得靶機的系統信息。命令執行漏洞的核心是網頁上的命令執行函數,如PHP 網頁中的system()、passthru()、shell_exec()、eval()等。

3.3 數據庫漏洞

數據庫漏洞是高職“網絡安全”競賽中AWD階段靶機中常見的漏洞,如MySQL 數據庫的弱密碼漏洞、Phpmyadmin 萬能密碼繞過,MSSQL 數據庫弱口令等。攻擊者在登錄數據庫后,利用數據庫的查詢語句如select load_file(‘/root/flagvalue.txt’);可以輕松獲得靶機flag 或利用SQL 語句select ‘<?php @eval($_POST[‘aa’];?> ‘into outfile ‘/var/www/html/1.php’ ;向網站目錄里寫入一句話木馬以便進一步進行滲透。

4 Python 自動化攻擊腳本的應用

高職“網絡安全”競賽的AWD階段一般分為兩部分即比賽開始時的加固階段,參賽者只能對各自的靶機進行加固,加固階段之后則進入對攻階段。由于參賽隊伍較多,靶機數量巨大,手動攻擊獲取flag效率較低,編寫合適的腳本進行自動化攻擊顯然是首選。

4.1 高端口漏洞的攻擊腳本

以下是Python 編寫的高端口(10003)漏洞攻擊腳本,攻擊效果如圖1 所示。

圖1 利用高端口漏洞自動化獲得flag

4.2 網站命令執行漏洞攻擊腳本

以下是Python 編寫的網站命令執行漏洞攻擊腳本,攻擊效果如圖2 所示。

4.3 數據庫漏洞的攻擊腳本

以下是Python 編寫的Mysql 數據庫漏洞的攻擊腳本,攻擊效果如圖3 所示。

圖3 利用數據庫漏洞自動化獲得flag

5 小結

以上是高職“網絡安全”技能競賽中三個自動化攻擊的Python 腳本,由于競賽中采用的閉卷形式,腳本必須短小精悍。在現實對抗比賽中筆者曾做過實驗,30 臺靶機(Linux 系統),百兆局域網下,三種攻擊腳本在五分鐘內就會獲取全部flag。此外結合靶機的網站漏洞如存在的一句話木馬,可利用如下程序批量獲得靶機flag。

總之,無論是對靶機進行攻擊還是加固,其前提就是獲取靶機信息,知道漏洞點在哪里,如何在短時間內得到靶機系統漏洞點并編寫一套行之有效的自動化的腳本是今后研究的重點。

猜你喜歡
靶機后門腳本
酒駕
安奇奇與小cool 龍(第二回)
靶機系統的發展趨勢
工業物聯網后門隱私的泄露感知研究
美國克雷托斯公司擴大靶機研發和制造
快樂假期
小編的新年愿望
這個班還不錯
靶機
新帕薩特右后門玻璃升降功能失效
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合