0x00 已知條件
給了一個(gè)“+_+.rar.977e2c637dc492fb9a7cf7595c852044”助隧,去掉多余的后綴得到“+_+.rar”唆香,該壓縮包里是Winpcap抓的包嫌变,用Wireshark可以查看。
發(fā)現(xiàn)主要是57370端口(控制端)和2333端口(被控端)間的通信躬它。通過(guò)"$"不難猜到是shell交互腾啥。
上圖是其中一個(gè)數(shù)據(jù)幀的載荷部分,可以看出2333端口是reverse shell冯吓,通過(guò)追蹤TCP流可以看到完整的shell指令交互過(guò)程倘待,如下圖,除了cat腳本的部分外都是對(duì)目錄的訪問(wèn)(類似紅框內(nèi)的操作)组贺。
0x01 條件分析
最重要的部分是上面打印的function.py里的內(nèi)容凸舵,可以看出這是一個(gè)AES加解密腳本,經(jīng)過(guò)運(yùn)行發(fā)現(xiàn)message是它給出的一個(gè)樣例example失尖,解密結(jié)果如下圖啊奄,是flag的格式。
藍(lán)色框是加密結(jié)果掀潮,而紅色框是解密結(jié)果菇夸。但是該結(jié)果得到的只是一堆"x",顯然仍需要尋找仪吧。
將shell的交互數(shù)據(jù)拉到最下面庄新,可以發(fā)現(xiàn)"flag"這個(gè)文件cat出來(lái)是一個(gè)顯然加密過(guò)的字符串:
“mbZoEMrhAO0WWeugNjqNw3U6Tt2C+rwpgpbdWRZgfQI3MAh0sZ9qjnziUKkV90XhAOkIs/OXoYVw5uQDjVvgNA==”
根據(jù)字符串末尾的兩個(gè)等號(hào)和function.py腳本中import過(guò)base64庫(kù),猜測(cè)該字符串是由base64編碼的薯鼠。
下面對(duì)該字符串連續(xù)進(jìn)行base64解碼和調(diào)用腳本中的decrypt函數(shù)進(jìn)行解密择诈,得到結(jié)果。(注意僅base64解碼后的結(jié)果形式與上圖藍(lán)色框類似出皇,故想到調(diào)用腳本函數(shù)繼續(xù)解密)