十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要為大家展示了“SGN是一款什么工具”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“SGN是一款什么工具”這篇文章吧。
成都創(chuàng)新互聯(lián)公司堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10年網(wǎng)站建設(shè)經(jīng)驗成都創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務(wù)商,為您提供做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、H5高端網(wǎng)站建設(shè)、網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)、小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
SGN是一款功能強(qiáng)大的多模式(多態(tài))二進(jìn)制編碼工具,廣大滲透測試人員可以在SGN的幫助下,輕松生成靜態(tài)且不可檢測的二進(jìn)制Payload。SGN可以使用反饋循環(huán)來對給定的二進(jìn)制指令進(jìn)行編碼,這種方式類似于LSFR。
針對網(wǎng)絡(luò)安全社區(qū)來說,原始版本的SGN編碼器一開始被認(rèn)為是最好的Shellcode編碼器,直到現(xiàn)在其實也是。但多年以來,安全研究人員發(fā)現(xiàn)了靜態(tài)檢測編碼器的幾個Bug(相關(guān)內(nèi)容可以參考FireEye的文章)。因此,社區(qū)不斷地在對SGN進(jìn)行改進(jìn),以期實現(xiàn)更好的編碼功能。
當(dāng)前版本的SGN實現(xiàn)了以下改進(jìn):
1、64位支持,可正確編碼x64 Shellcode。
2、更小型的解碼器Stub,LFSR密鑰降低為1個字節(jié)。
3、使用偽隨機(jī)模式的編碼器Stub,解碼器Stub也使用了偽隨機(jī)模式編碼。
4、解碼器Stub混淆,添加了隨即垃圾指令生成器。
5、安全注冊選項,不會影響寄存器。
該工具需要的依賴組件為keystone和capstone庫,安裝這兩個庫的方法如下:
OS | 安裝命令 |
Ubuntu/Debian | sudo apt-get install libcapstone-dev |
Arch Linux | sudo pacman -S capstone keystone |
Mac | brew install keystone capstone |
Fedora | sudo yum install keystone capstone |
undefined
go get github.com/egebalci/sgn
“-h”選項可以直接查看工具的幫助信息,如果你想要查看編碼過程的詳細(xì)數(shù)據(jù),可以使用“-v”選項來開啟verbose模式。
警告!SGN包目前仍處于開發(fā)階段,主要重心在性能提升上,大多數(shù)功能可能會因為版本不同而有區(qū)別。
package main
import (
"encoding/hex"
"fmt"
"io/ioutil"
sgn "github.com/egebalci/sgn/lib"
)
func main() {
// First open some file
file, err := ioutil.ReadFile("myfile.bin")
if err != nil { // check error
fmt.Println(err)
return
}
// Create a new SGN encoder
encoder := sgn.NewEncoder()
// Set the proper architecture
encoder.SetArchitecture(64)
// Encode the binary
encodedBinary, err := encoder.Encode(file)
if err != nil {
fmt.Println(err)
return
}
// Print out the hex dump of the encoded binary
fmt.Println(hex.Dump(encodedBinary))
}下圖顯示的是SGN編碼器的基本執(zhí)行流程,但是請記住,在每次迭代中,垃圾指令、解碼器和模式解碼器的大小、位置和順序都會發(fā)生變化。
LFSR本身在概率空間方面的功能是非常強(qiáng)大,下圖顯示了LFSR的特征多項式的伴隨矩陣,并將種子表示為列向量,k步后寄存器在Fibonacci配置中的狀態(tài)。
以上是“SGN是一款什么工具”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!