AoiAWD 設置
環境Ubuntu 18
比賽中
虛擬機配置靜態ip
目的:進入靶機內網
1.本機利用ipconfig /all
查看本機網段,記下本機所連接的網絡的連接描述
、子網掩碼
和默認網關
(非虛擬機ip)
由於我是賽后復現的,所以用的是無線網絡,比賽時會提供網線,到時候選擇有線的就可以
2.虛擬機開啟橋接
打開VMware,將安裝aoiawd虛擬機的網絡適配器改為橋接
3.打開VMvare,進入編輯->虛擬網絡編輯器->更改設置
4.選擇橋接模式,橋接至改成之前記下的連接描述
然后確定
5.打開ubuntu,利用ifconfig得到網卡名稱
6.ubuntu的網絡接口配置
sudo vim /etc/network/interfaces
添加如下的內容
auto ens33 #ens33是剛剛看到的網卡名稱
iface ens33 inet static
address 192.168.123.233 #你想設置的靜態IP
netmask 255.255.255.0 #剛剛記下的子網掩碼
gateway 192.168.123.3 #剛剛記下的網關
7.重啟網卡
sudo ifdown ens33
sudo ifup ens33
或者
sudo ifconfig ens33 down
sudo ifconfig ens33 up
組件功能及參數
AoiAWD Core
是整個系統運行的核心,負責探針數據收集入庫、插件生命周期管理、Web前端托管服務。
- 運行compile.php即可打包為一個單獨的二進制文件,方便攜帶。
- 插件需要放到和aoiawd.phar同目錄下的plugins文件夾,Web端有直接重載插件的按鈕,可以實現熱更新。
- 一般情況下可直接無參數運行,如果需要特別的配置,可以增加-h參數查看幫助信息。
執行參數:
AoiAWD: Data Visualization Tool & Main Server
Usage: ./aoiawd.phar [OPTIONS]
-w [URI] HTTP server bind URI. Default: tcp://0.0.0.0:1337
-l [URI] Log recoard server bind URI. Default: tcp://0.0.0.0:8023
-m [URI] MongoDB server URI. Default: mongodb://127.0.0.1:27017
-t [STRING] Access token. Default: [RANDOM]
-h This help info
服務運行配置文件:
[2020-09-24 15:21:21] MainServer.notice: AccessToken: 0de8d57b3e91dc66 [] [] #<-- Web訪問密鑰
...
[2020-09-24 15:21:21] Amp\Http\Server\Server.info: Listening on http://0.0.0.0:1337/ [] [] #<-- Web前端地址
[2020-09-24 15:21:21] aoicommon\socket\AsyncTCPServer.info: Listening on 0.0.0.0:8023 [] [] #<-- 探針上線地址
Guardian
一個二進制PWN的影子外殼,其原理是包裹在PWN題目外側,在每次被啟動的時候透明記錄STDIN與STDOUT的流量,並快照PWN程序的內存結構(/proc/???/mem)上傳回AoiAWD Core。
- 在項目目錄運行compile.php將會編譯影子殼程序和捆綁程序: guardian.phar,一般是在選手電腦上進行捆綁后將生成文件上傳到靶機。
- 直接運行捆綁程序會輸出幫助文本,其中比較重要的一些參數是:
- -i: 輸入需要套殼的PWN題目程序路徑
- -s: 輸入可以從靶機訪問到探針上線地址的URL,比如說192.168.???.???:8023
Guardian: AoiAWD ELF PWNMonitor Tool
Usage: ./guardian.phar [PATH]
-i [PATH] Original ELF.
-o [PATH] Path of patched ELF. Default: {$OriginalELF}.guardianed
-s [URI] Log recoard server URI. Default: 127.0.0.1:8023
-h This help info
TapeWorm
一個PHP Web的影子外殼,其原理是自動注入到所有PHP文件的頭部,支持輸入輸出流量的抓取與上報,同時具有處理輸出數據的能力,實現輸出內容篡改。
- 程序內部的代碼已經實現了單實例啟動,即便是層層include了多次,也只會運行最先觸發的影子外殼。所以不用擔心復雜的題目影響性能。
- 自動注入程序會智能識別面向對象的文件(包含 namespace 關鍵字),和直接面向過程的PHP文件,一般情況下不會造成語法錯誤。
- 自動注入程序會識別已經被注入的腳本並加以跳過,所以多次反復無腦對web根目錄運行注入程序並不會造成什么太大的問題。
- 運行compile.php就可以生成自動注入程序,一般情況下可以上傳到靶機上直接對web根目錄進行注入,或者在選手電腦上注入好之后再上傳到靶機上。
- 一時注入一時爽,忘記備份宕機慌
- 直接運行注入程序會顯示幫助文本,其中比較重要的一些參數是:
-
-d: 需要注入外殼的web根目錄,會從此目錄遞歸感染所有的PHP文件。
-
-s: 輸入可以從靶機訪問到探針上線地址的URL,比如說192.168.???.???:8023。
參數說明
-
TapeWorm: AoiAWD PHP WebMonitor Tool
Usage: ./tapeworm.phar [PATH]
-d [PATH] WebMonitor inject dir.
-s [URI] Log recoard server URI. Default: 127.0.0.1:8023
-f [PATH] Inject file path. Default: {$dir}
-h This help info
RoundWorm
一個監控文件系統和進程的系統行為監視器,其原理是掃描/proc文件夾獲取當前正在運行的所有進程的信息,以及利用Linux系統的inotify功能對指定文件夾的敏感文件操作進行全面的記錄。
- 直接運行make就可以編譯生成
- 一般來講該程序在靶機上運行,選手電腦上沒必要執行這玩意。
- 添加-h參數即可看到幫助文檔,其中比較重要的一些參數是:
- -d: 后台運行,你當然不想關掉ssh的時候就把探針也給關了。
- -s: 輸入可以從靶機訪問到探針上線地址的IP,比如說192.168.???.???。
- -w: 需要監控文件變化的路徑,如果有多個路徑使用’;'分割,比如: -w “/tmp;/var/www/html”
參數說明:
RoundWorm: AoiAWD Filesystem & Process Monitor Tool
Usage: ./roundworm [OPTIONS]
-d Running in daemon mode.
-s [HOST] AoiAWD Probe IP. Default: 127.0.0.1
-p [PORT] AoiAWD Probe PORT. Default: 8023
-w [PATH] Inotify watch dir, ';' as divider. Default: /tmp
-i [MSECOND] Process watch interval. Default: 100
-h This help info
比賽中
記得把aoiawd.phar放到原始編譯時候的文件夾內(也就是有plugs的文件夾內)
在pwn靶機上傳tapeworm.phar
在web靶機上傳guardian.phar
在所有靶機都上傳roundworm
chmod +x tapeworm.phar
chmod +x roundworm
chmod +x
./tapeworm.phar -d 目錄 -s ip:port
./roundworm -w 目錄 -s ip -p port
./guardian.phar -i 目錄 -s ip:port
比賽后
鏡態ip恢復(恢復動態ip)
sudo vim /etc/network/interfaces
auto ens33
iface ens33 inet dhcp
重啟網卡之后,再將橋接模式改為NET模式即可恢復。
參考:
https://blog.csdn.net/weixin_44377940/article/details/110390544
https://www.icode9.com/content-3-853106.html