• Stars
    star
    219
  • Rank 181,133 (Top 4 %)
  • Language
    C#
  • License
    GNU General Publi...
  • Created almost 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Linux C2 框架demo,为期2周的”黑客编程马拉松“,从学习编程语言开始到实现一个demo的产物

PandaSniper

Linux C2 框架demo,为期2周的”黑客编程马拉松“,从学习编程语言开始到实现一个demo的产物。

特别注意:此程序仅仅是demo,请勿用于实际项目。

但是我们会不定时更新,随着我们对这次新学的编程语言的更深入了解和运用,我们会不断更新和优化代码以及架构,让PandaSniper随着我们一起成长,作为我们小组技术提升的体现。

为什么叫”PandaSniper“,没有为什么,觉得熊猫狙击手比较好听,就选它了。

起因

我相信每一个入行(信息安全)的人都有一个木马梦,向往有一天能够骑着自己的”马儿“浪迹天涯。从红狼、上兴、大灰狼到现在的MSF、Cobaltstrike等,”马儿“的名字在不停的变化,功能在不停的优化,架构在不停的更新,异或有些”马儿“慢慢消失在了信息安全这个小行业的历史长河里,但是它永远是”搞站“(渗透测试、红队评估等等)活动中的不可或缺的一大利器。

作为安全圈一名入行十余年的老鸟和带领的几个入行几年的新鸟,但都是编码圈的菜鸟的我们,一起达成了一个共识,我们要实现我们的“木马梦”,虽然我们2周前还不会写GO、C#、C/C++。我们不做”如果有这么一款马儿就好了的“美梦,我们自己上,成不成看天意,做不做看自己。

架构简述

PandaSniper使用不同编程语言,编写3个独立的组件,分为Master、Agent、Implant这3个部分。

  • Master(主控端):使用C#和WPF编写,作为主要功能的展示和操作部分。

  • Agent(代理端):使用GO编写,顾名思义作为Master端的代理人,接收和发出Master的各种指令以及数据。

  • Implant(植入端):使用c/c++编写,用于目标主机数据获取的植入程序,并发送数据到Agent端。

    数据流和协议:

​ Master <----(tcp/ssl)-----> Agent <----(http)----> Implant

如果你打开我们的Master界面会发现,极其像Cobaltstrike。我们整个架构和界面都是模仿的Cobaltstrike,Cobaltstrike是我目前用过的最好用的和扩展性最好的以及最稳定的C2工具。我也希望我们的PandaSniper能像Cobaltstrike一样好用,但目前相差太远(及其遥远),但我们相信未来。

功能

目前只有一个可能还存在bug的命令执行功能。对一些需要交互式的命令基本没有支持,功能还需大力完善。

依赖

  • Master:.NET Framework 4.6 (Visual Studio 2019)
  • Agent: 无
  • Implant:libcurl4

编译和安装:

  • Master端使用了MaterialDesignColors和MaterialDesignThemes.Wpf(项目网址:http://materialdesigninxaml.net/),Newtonsoft.Json项目。使用Visual Studio 2019直接编译。

  • Agent端依赖包

    • github.com/bitly/go-simplejson
    • github.com/dgrijalva/jwt-go
    • github.com/urfave/cli
  • Implant端

    • 安装依赖:apt-get install libcurl4-gnutls-dev
    • 编译:gcc main.cpp -lcurl -lstdc++ -lpthread

TODO

  • Master端
    • 自己编写控件模板和样式,去掉MaterialDesign相关依赖
    • 更换Json使用库,去掉Newtonsoft.Json依赖
    • 利用MVVM设计模式编写界面
    • 整理C#代码
    • 完整移植Cobalstrike v4.0所有相关操作界面
  • Agent端
    • 整理规划代码
    • 完善架构功能和数据结构
    • 完善命令功能
  • Implant端
    • 整理规划代码
    • 去掉curllib4库的依赖,使用原生函数
    • 完善命令执行功能

截图

More Repositories

1

BrowserGhost

这是一个抓取浏览器密码的工具,后续会添加更多功能
C#
1,380
star
2

LuWu

红队基础设施自动化部署工具
Python
843
star
3

WeblogicEnvironment

Weblogic环境搭建工具
Shell
766
star
4

sharpwmi

sharpwmi是一个基于rpc的横向移动工具,具有上传文件和执行命令功能。
C#
707
star
5

EventCleaner

A tool mainly to erase specified records from Windows event logs, with additional functionalities.
C++
584
star
6

CobaltStrike-Toolset

Aggressor Script, Kits, Malleable C2 Profiles, External C2 and so on
PowerShell
518
star
7

EventLogMaster

Cobalt Strike插件 - RDP日志取证&清除
PowerShell
358
star
8

ptrace

a PoC for Linux to get around agents that log commands being executed, without root privilege. Linux低权限模糊化执行的程序名和参数,避开基于execve系统调用监控的命令日志
C
236
star
9

HideShell

A JSP backdoor that enables under Tomcat hiding arbitrary JSP files, in addition to their access logs.
Java
213
star
10

redis_lua_exploit

Python
145
star
11

NtlmSocks

a pass-the-hash tool
Go
107
star
12

SerialWriter

SerialWriter is an incomplete implementation of Java serialization for study of Java deserialization vulnerabilities.
Java
101
star
13

ptyshell

A reverse PTY shell in C
C
100
star
14

openssh-7.6p1-patch

a patched sshd for red team activities
C
81
star
15

getpass

a mini tool to dump password and NTLM hash from WDigest & MSV1_0 & tspkg, as a result of study of mimikatz
C++
76
star
16

dcpwn

an impacket-dependent script exploiting CVE-2019-1040
Python
72
star
17

mscache

a tool to manipulate dcc(domain cached credentials) in windows registry, based mainly on the work of mimikatz and impacket
Python
67
star
18

KerberosUserEnum

Kerberos accounts enumeration taking advantage of AS-REQ
Python
43
star
19

Papers

Papers
34
star
20

CVE-2018-20250

010 Editor template for ACE archive format & CVE-2018-2025[0-3]
Python
25
star
21

sunburst_decoder

SUNBURST DGA decoder
C#
11
star
22

cisco_ppc_rsp

A debugger in Python for Cisco c3560
Python
10
star