前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透测试之冷门语言的利用

渗透测试之冷门语言的利用

作者头像
鸿鹄实验室
发布2021-11-02 10:33:27
8380
发布2021-11-02 10:33:27
举报

主要介绍两种被使用的不多的冷门语言来减少一些对抗AV的难度,就像现在的Nim和之前的Go、Python同理。

V Lang

这是一门新发布的语言由Alexander Medvednikov发起,开源时间为2019年6月22日。目前贡献者已有4百多人,快速迭代开发中。

目前,语言的稳定性和成熟度肯定还需要时间完善,不能期望太高。

V语言官网: https://vlang.io/

V语言代码库:https://github.com/vlang

V语言社区dicord:https://discord.com/invite/vlang

V感觉就是go+rust+c的结合体,吸收了这三者的优点,不过像go更多一点。

V语言的目标

作者希望把V变成一个通用编程语言:

  • 能够像C那样,成为新一代的主流静态类型语言。
  • 能够像C/C++/rust那样,用来开发操作系统,数据库,浏览器等核心系统。
  • 能够像shell/python那样,用来写系统脚本。
  • 能够像python那样,用来写机器学习。
  • 能够像go/java那样,用来写网络应用。
  • 能够像C/C++那样,用来写GUI图形框架。
  • 能够像ts那样,用来编译生成js前端代码。

下图为V语言的吉祥物,还是有点好看的。

目前V语言的编译需要依赖C编译器:gcc或clang,如果没有C编译器,可以参考以下文档,进行安装:

https://github.com/vlang/v/wiki/Installing-a-C-compiler-on-Windows

或者直接去官网搞一个预编译安装包,IDE方面推荐VScode,因为有现成的插件。

如果都没问题了之后,可以尝试运行下面的代码:

module main

fn main() {
    println("hello V")
}

而其可以完美的调用C的代码库,只需要#include宏或#define宏,编译时这些宏会被原封不动地搬到生成的C代码中,下面看一个简单的例子就知道了。

module main

#include <stdio.h>  

fn C.getpid() int 
fn C.GetComputerName(lpFileName &u16, nSize u32)int

fn hostname1() string{
  mut sz := 256
  mut buf := unsafe{&u16(malloc(256))}
  defer{
    unsafe{free(buf)}
  }
  if C.GetComputerName(voidptr(buf), u32(&sz)) == 0{
    eprintln(C.errno)
  }
  ret := unsafe{string_from_wide2(buf, sz)}
  return ret
}

fn main(){

    pid:=C.getpid() 
    println(pid)
  println(hostname1())
}

另外V也提供了各种各样的库供我们使用,比如操作系统的os库,有人新建了一个关于V的仓库,这里可以参考着来学:

https://github.com/diljith369/OffensiveVLang/

问题也跟NIm差不多,就是编译体积比较大,简单cs的shellcode混淆后目前可过windows defender

aardio语言

官网地址:https://www.aardio.com/

这个就不多介绍了,时间比较久了,可能有些人有过使用。感兴趣的可以去看这篇文章:https://www.secquan.org/Notes/1072352

里面写的比较详细,且附带shellcode loader代码。

参考文章:https://github.com/lydiandy/vlang_note

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

本文分享自 鸿鹄实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • V语言的目标
  • aardio语言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档