白程序如何传参?

admin 2024年10月23日19:52:55评论17 views字数 1295阅读4分19秒阅读模式

欢迎加入我的知识星球,目前正在更新免杀相关的东西,129/永久,每100人加29。

加好友备注星球!!!

白程序如何传参?

一些资源的截图:

白程序如何传参?

白程序如何传参?

白程序如何传参?

比如说我们想做打开这个白程序,然后注入到某个进程中。其实就是shellcode注入。

我们需要提供一个进程的名称对吧。

我们可以使用环境变量的方式来进行传参。

这里需要介绍一个API函数。

GetEnvironmentVariableA函数。

GetEnvironmentVariableA函数是用于从当前进程的环境块中检索指定环境变量的值。

函数原型如下:

DWORD GetEnvironmentVariableA(  LPCSTR lpName,  LPSTR  lpBuffer,  DWORD  nSize);

lpName (LPCSTR):指向一个以空字符结尾的字符串,指定环境变量的名称。

lpBuffer (LPSTR):指向一个接收指定环境变量内容的缓冲区,以空字符结尾的字符串形式。如果该参数为 NULL,函数将返回保存值和终止空字符所需的缓冲区大小。

nSize (DWORD):由 lpBuffer 参数指向的缓冲区的大小,以字符为单位。

如果函数成功,返回值是存储在 lpBuffer 指向的缓冲区中的字符数量,不包括终止的空字符。

那么我们就可以利用这个函数来进行传参。

比如如下代码:

#include <Windows.h>#include <iostream>extern "C" __declspec(dllexport) int DtcMainExt() {    char param[256];    if (GetEnvironmentVariableA("RELAYSEC", param, sizeof(param))) {        MessageBoxA(NULL, param, "relaysec", MB_OK);    } else {        MessageBoxA(NULL, "Not Relaysec", "Not Relaysec", MB_OK);    }}BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {    switch (ul_reason_for_call) {    case DLL_PROCESS_ATTACH:        break;    case DLL_THREAD_ATTACH:    case DLL_THREAD_DETACH:    case DLL_PROCESS_DETACH:        break;    }    return TRUE;}

如上代码其实就是判断当前是否有RELAYSEC这个环境变量,如果没有的话执行else中的内容,如果有的话,将当前进程中环境变量中的值存储到param变量中。然后传递给MessageBoxA函数即可。

那么我们传参的话就可以设置RELAYSEC环境变量了。

set RELAYSEC=relay学安全

这样的话当你去执行白程序的时候就可以正常传参了。

如下图:

白程序如何传参?

如果我们不给他传参,那么就会执行到else这里。

白程序如何传参?

那么这样的话我们就可以尝试去做一些比如shellcode注入的操作了。

这个具体自己发挥吧,这里我就不多说什么了。

原文始发于微信公众号(Relay学安全):白程序如何传参?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月23日19:52:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   白程序如何传参?http://cn-sec.com/archives/3306675.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息