熱門搜索:技工學校(907)  電子(873)  招生(678)  簡章(475)  學校(470)  電腦(373)
您當前位置:湖南電子職業中專學校文章頻道網絡工程技術

探測遠程主機防火墻允許開放端口

時間:2010-07-15 22:37:05    整理:佚名    []
http://www.410014.com
    上次拿到一個webshell,可是接著遇到麻煩——主機裝了硬件防火墻。雖然發現主機的MSSQL存在hello溢出漏洞,但是由于防火墻的阻撓始終拿不到shell(反向連接時發現僅僅能夠連接,沒有數據過來),另外又試了N種本地提升權限的方法但以失敗告終。郁悶!后來又想到如果在webshell里用sqlhello溢出綁定一個防火墻允許開的端口,那不就ok了。當然這個端口必須是現在關閉著的。

  大家都知道如果能夠連接遠程主機的某個端口,那么這個端口自然是防火墻允許開放的。現在的問題是,現在端口關閉著,如何判斷呢?

  這里我想到有大蝦說過telnet遠程主機端口時,如果很快返回連接失敗就說明端口關閉;如果等了十多秒才返回多半是對方裝有防火墻。這個方法是對的,可是一共有65535個端口,不會讓我慢慢去telnet吧,所以就寫個程序自動去掃。

  同端口掃描程序類似,這個程序也調用winsock的connect函數,但由于端口是關閉的,所以connect會返回一個錯誤碼10061(連接被拒。由于被目標機器拒絕,連接無法建立);但如果是對方的防火墻攔截了連接請求的話,過段時間就會返回10060錯誤(連接超時)。利用返回的錯誤類型我們就可以判斷該端口是否為遠程主機防火墻允許開放的了。不過這里注意,如果目標ip不存在主機的話也會超時的哦。

  原理搞懂了寫程序也就很簡單了,就是調用winsock的connect。關于winsock編程參考《WINDOWS網絡編程技術》吧;嗯,另外注意用多線程,不然的話,呵呵,一整天都掃不完。多線程要使用CreateThread這個API函數,看看MSDN吧。隨便在網上找了個掃描器代碼參考,寫了這個程序,代碼如下:

  #include

  #include

  #include

  #include

  #include

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

  #define MAXThreadCount 100//設置 大線程數

  #define SumScanCount 65535//設置掃描端口總數

  struct sockaddr_in server;

  int ThreadCount=0;

  int dwThrdParam = 1; //CreateThread的參數,提到前面好計算

  unsigned int resolve(char *name)

  struct hostent *he;

  unsigned int ip;

  if((ip=inet_addr(name))==(-1))

  if((he = gethostbyname(name))==0)

  printf("ERROR: Don't find the %s .\n",name);

  exit(0);

  }

  memcpy(&ip,he->h_addr,4);

  }

  return ip;

  }

  DWORD WINAPI Scan(LPVOID lpParam )

  int mysock,code,port=(int)lpParam ;

  mysock=socket(AF_INET,SOCK_STREAM,0);

  if(mysock < 0) { printf("socket error!");

  server.sin_port = htons(port);

  if(connect(mysock,(struct sockaddr *) & server,sizeof(server))!=0)

  code=GetLastError();

  if(code==10061)printf("port %d allown open\n",port);

  else

  printf("port %d openning\n",port);

  closesocket(mysock);

  ThreadCount--;

  return 0;

  }

  void thread(int port)

  {

  DWORD dwThreadId;

  HANDLE hThread;

  WSADATA ws;

  if (WSAStartup( MAKEWORD(2,2), &ws )!=0) ;

  {

  printf(" [-] WSAStartup() error\n");

  exit(0);

  }

  hThread = CreateThread(

  NULL, // no security attributes g

  0, // use default stack size

  Scan, // thread function

  (LPVOID)port, // argument to thread function

  0, // use default creation flags

  &dwThreadId); // returns the thread identifier n

  if (hThread == NULL)

  printf( "CreateThread failed." );

  dwThrdParam++;

  ThreadCount++;

  Sleep(200); //延時,否則CPU會用滿……

  CloseHandle(hThread);

  }

  void main(int argc, char* argv[])

  {

  if(argc!=2)

  {

  printf("\n- This program find port that firewall allow open -\n");

  printf("- Only for test by lake2 - \n");

  printf("Usage: %s IP\n",argv[0]);

  exit(0);

  }

  server.sin_family = AF_INET;

  server.sin_addr.s_addr = resolve( argv[1] );

  printf("Starting and waiting..............\n");

  while( dwThrdParam <= SumScanCount )

  {

  if( ThreadCount < MAXThreadCount ){ thread(dwThrdParam); }

  }

  while( ThreadCount!=0 ){ }

  WSACleanup();

  printf("Done!");

  }

  運行程序,填上ip它就會自動探測所有端口,由于那些被過濾的端口大概都差不多要等二十秒,速度比較慢,可以自己設個超時值加快速度;另外也可以修改一下讓用戶自定義掃描范圍等等,現在不管了,用得起就行。

  程序做好了當然要拿來用啦,經過漫長的3小時多的掃描之后,得到結果:目標主機_blank">防火墻只開放80端口。當場暈死!唉,“路漫漫其修遠兮,吾將上下而求索”……

想在此處做廣告,請聯系QQ:879330360
百度中找“探測遠程主機防火墻允許開放端口”的內容
GOOGLE中找“探測遠程主機防火墻允許開放端口”的內容
關鍵詞:探測遠程主機防火墻允許開放端口 相關文章
相關推薦文章
熱門文章
新文章
想在此處做廣告,請聯系QQ:879330360
家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 主站蜘蛛池模板: 嫩草亚洲国产精品 | 久久99热这里只有精品66 | 户外露出野战hd | 动漫成年美女黄漫网站 | 精品人伦一区二区三区潘金莲 | 婷婷色色狠狠爱 | 熟女人妻水多爽中文字幕 | 97超碰在线视频 免费 | 日本亚洲电影 | 精品久久99麻豆蜜桃666 | 精品人妻伦九区久久AAA片69 | 日韩欧美中文字幕在线 | 久久视热频这里只精品 | 69国产精品人妻无码免费 | 99久久免费精品国产免费 | 高清无码中文字幕影片 | 精品欧美一区二区三区久久久 | 日本美女bb | 成年视频国产免费观看 | 国产精品高清在线观看地址 | 真实国产精品视频国产网 | 亚洲欧洲日产国产 最新 | 印度人XXx| 俄罗斯摘花 | 日日射夜夜干夜夜插在线播放 | 色妞色视频一区二区三区四区 | 邻家美姨在线观看全集免费 | 久久午夜夜伦鲁鲁片无码免费 | 色久久综合视频本道88 | 都市妖奇谈有声 | 99热这里只有的精品 | 久久9精品区-无套内射无码 | 欧美在线亚洲综合国产人 | 女人麻豆国产香蕉久久精品 | 久久黄色小视频 | 孕妇高潮抽搐喷水30分钟 | 成人网络电视破解版 | 日本福利片午夜免费观着 | 囯产免费久久久久久国产免费 | 在线视频av大全色久久 | 色百度网址大全 |