木馬控制技術(二) 埠復用

2022-03-24 04:23:23 字數 1110 閱讀 1172

此為《木馬技術揭秘與防禦》系列讀書筆記

埠復用,字面意思就是,重複使用乙個埠

記得有一次同學的 sina 微博總是自動發訊息,當時讓他檢視本地埠,再通過埠找到對應程式

學了埠復用和執行緒注入之後,發現這種方法對「高階點」的木馬完全沒用……

還是需要一些強大的 hip 工具來檢查

回到正題

埠復用,使用到了乙個重要的函式:

int

setsockopt(

__in socket s,

__in

intlevel,

__in

intoptname,

__in

const

char *optval,

__in

intoptlen

);

其中第三個引數使用bool型值 so_reuseaddr,作用介紹:

通過對 socket 使用該設定,達到重用已繫結埠的目的。

另外,第乙個引數的socket必須通過wsasocket建立才能被替換埠,socket()建立的就只能用管道來通訊了。

完整**如下:

#pragma comment(lib,"ws2_32.lib")

#pragma comment(lib,"user32.lib")

#pragma comment(lib,"advapi32.lib")#include

#include

intmain()

試驗過程:

在虛擬機器中建立 iis 伺服器,占用80埠

啟動木馬程式,看到另乙個80埠對外的連線:

在宿主機中

telnet 虛擬機器ip 80

會**回 shell

埠復用技術

內網主機埠 外網主機埠。訪問外網埠 內網主機埠。路由器上設定乙個埠對映。外部埠和內部埠一 一對應 外部埠和內部ip一 一對應 兩個程式,監聽相同的埠。埠復用技術中最重要的乙個函式是setsockopt setsockopt 函式,用於任意型別 任意狀態套介面的設定選項值。設定socket的so re...

STM32學習筆記(二)埠復用與重對映

首先,埠復用和重對映可以看做是兩個逆過程。埠復用是把乙個io口做幾個用,比如一般io口是作為輸入輸出用 只是普通的高低電平控制 但是stm32有很多外設,而且埠就那麼幾個 如果沒有復用,就會出現io口夠外設不夠或者外設夠io口不夠 這個時候就可以把io口復用使用。比如pa9,pa10兩個埠,既可以當...

控制檔案的多路復用技術

在windows作業系統中,如果登錄檔檔案被損壞了,就會影響作業系統的穩定性。嚴重的話,會導致作業系統無法正常啟動。而控制檔案對於oracle資料庫來說,其作用就好象是登錄檔一樣的重要。如果控制檔案出現了意外的損壞,那麼此時oracle資料庫系統很可能無法正常啟動。為此作為oracle資料庫管理員,...