golang golang-pkg-pcre不支持windows_小玩意:golang加载执行shellcode

阅读本文大概需要3分钟,置顶公众号哟。

fad6ca6316f9aa0f3f937fe886f13f21.gif

shellcode执行

前言

今天看到一个比较好玩的东西,虽然原理很简单,但是使用golang来做还是挺新鲜,所以还是分享给大家。

第一节

PoC、Exp、Payload与Shellcode

首先说一下PoC、Exp、Payload与Shellcode这几个概念,这在渗透测试中非常常见。

PoC,全称”Proof of Concept”,中文“概念验证”,常指一段漏洞证明的代码。

Exp,全称”Exploit”,中文“利用”,指利用系统漏洞进行攻击的动作。

Payload,中文“有效载荷”,指成功exploit之后,真正在目标系统执行的代码或指令。

Shellcode,简单翻译“shell代码”,是Payload的一种,由于其建立正向/反向shell而得名。其实就是一段可以运行的二进制代码。

PoC是用来证明漏洞存在的,Exp是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Exp通常是有害的,有了PoC,才有Exp。

Payload有很多种,它可以是Shellcode,也可以直接是一段系统命令。同一个Payload可以用于多个漏洞,但每个漏洞都有其自己的Exp,也就是说不存在通用的Exp。

Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。

今天要讲的就是使用golang 加载并执行shellcode,玩一些极客的感觉。

第二节

windows版shellcode加载器

shellcode既然是一段二进制代码,那加载器的功能则是将二进制写到内存中,并将这段内存设置为可执行,最后从头到尾执行这段代码即可。来看代码:

 1// shellcode_unix.go
2package linuxshellcode
3
4/*
5// shellcode_win.go
6package winshellcode
7
8import (
9    "syscall"
10    "
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值