Athena

关于程序的开发进度

2021年 4月 2日

目前 Athena 验证框架,暂时没有发布出来可以供测试的版本

目前仅有文档 docs.c0cc.cc 可以进行查阅

目前编译好的有 Windows 平台 以及 MacOS 平台的二进制程序, Linux 平台因为功能还没有开发完成,所以没有测试编译

现在完成的功能

  • 客户端支持本地运行poc程序
  • 客户端支持本地 交互式 模式
  • 程序支持文档编写完成
  • 完成本地运行 poc 的各种支持函数
  • 完成节点正常拉取插件的功能
  • 用户在有权限操作节点的情况下运行命令行程序
  • 调试DnsLog平台并且集成到节点,完成验证流程
  • WebShell流量代理
  • 完善Webshell管理功能,以及对多语言的Shell支持
  • 重新联动QQ机器人进行任务的管理和激活码的分发领取

目前开发的功能

  • 被动式任务扫描(代理扫描)
  • 插件库的完善

下一步实现路径

  • 考虑增加远程验证服务器
  • 完成一个本地化的正常的整个运行流程(本地完整流程的加载插件,弱点验证)
  • 兼容到第三方的 爬虫框架 (这个是临时想的,以后可能会增加)
  • 完成更多的插件转换和编译
  • 完善弱点修复的列表描述
  • 完善指纹库
  • 完成更多的通用库支持

2021年1月3日

  • WebShell 管理功能中增加了文件的读取,但是目前仅在实现PHP,后续其他语言一套模版下来应该会很快
  • 对在线管理shell中,shell响应到服务器提取的内容长度限制为 10kb

2021年1月5日

  • shell管理部分让群主脑子懵逼了,去学习了其他的项目,差点想冲动写成前后端分离

  • 但是后面又退烧了,已经习得办法优雅一点解决shell管理问题

2021年1月6日 凌晨

  • DNSLog 更换项目到大佬项目 http://www.dnslog.cn/

  • DNSLog 已编写支持库,可以完成生成随机域名与验证工作

补个图

2021年1月7日

更换了shell中文件管理的编写方式,现仅测试实现完成php部分功能

  • 创建目录
  • 切换目录
  • 删除文件目录
  • 重命名文件
  • 编辑保存文件
  • 修改文件时间

2021年1月8日凌晨

  • 完成代理命令运行,暂时只支持php

2021年1月9日凌晨

编写测试完成asp,的功能,包括

  • 创建目录
  • 切换目录
  • 删除文件
  • 重命名文件
  • 编辑保存文件
  • 修改文件时间
  • 运行命令

计划下一个把aspx和jsp也都写了,shell管理暂时告一段落

重要通知

  • 在线通过shell管理数据库功能删除,原因是没必要设计这么复杂的情况
    有需要完全可以通过其他客户端进行管理

2021年1月9日

  • Athena框架的ASPXCusTom模式Shell管理已经编写完成

至此,Athena Shell管理模块 开发进度 到此告一段落

  • 添加并且审核 18 个新的应用
  • 添加并且审核 3 个新漏洞

2021年1月12日

  • 改写 8 插件

  • 录入系统 6 漏洞

  • 录入系统 6 插件

关于键盘

  • 这是三年保修里面第二次敲坏键盘了。
  • 大部分敲击按键其实并不是码代码,看看在群里吹逼的等级就知道了
  • 大概年后,二月三月的,送笔记本修一波,听说笔记本的 触控板键盘电池 都是粘在一起的
    有可能这波直接一起都给换了,三年换两次电池,这波不亏

2021年1月15日

  • 群主突然又想起来自己的账号密码了,最近都在出差,没时间更新

  • 先是有了一个新的想法,想单独独立出来一个指纹的识别模块,有了新的关于指纹规则编写的想法
    有一种,杀:chicken::ox::hocho:的感觉,虽然整体上可能不是很和谐,但是用起来未必不舒服

2021年1月16日

  • 今天我的 :ox::hocho: 已经加进去了,程序体积有小幅度提升,但是我很快乐,已经 20M+ 了,感觉不突破50M大关就可以接受,等待的时间基本都是差不多的
  • 模块等写完指纹识别会更新到程序文档中
  • 后期会考虑把指纹识别更新成一个单独的模块,用于快速短暂的信息搜集

2021年1月18日

  • 新增 39 种文本编码解码方式
  • 新增 http 模块特性,使用 decode 参数,自动识别部分编码,并且进行解码,对插件编写提供支持

例如

function test()
    local resp = http.get("https://www.52pojie.cn/", { decode = true })
    local body = resp.body
    local title = htmlparse:new(body):find("title"):text()
    print(title)
end

输出

➜  build ./node_darwin_amd64 -f templates.poc
          _   _
     /\  | | | |
    /  \ | |_| |__   ___ _ __   __ _
   / /\ \| __| '_ \ / _ \ '_ \ / _  |
  / ____ \ |_| | | |  __/ | | | (_| |
 /_/    \_\__|_| |_|\___|_| |_|\__,_|

[2021-01-18 12:59:31] DEBUG Node: 正在创建运行环境
[2021-01-18 12:59:31] DEBUG Node: 正在载入模块
[2021-01-18 12:59:31] DEBUG Node: 正在装载程序:templates.poc
[2021-01-18 12:59:31] DEBUG Node: 正在运行 test 测试方法
吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn 
[2021-01-18 12:59:31] DEBUG Node: 运行时间:237.418146ms

因为程序默认支持utf8编码方式,此处测试中站点52破解使用gbk编码,正常输出则解码成功

2021年1月24日

  • 近期更新:无

  • 近期工作:其他工具的开发,各位没准以后用得上,可能会发一发 GitHub 什么的,有时间会继续回来开发这个

2021年4月2日

又有需要做的事情了,不能继续开发了,这里记录一下之前的开发进度以及接下来的开发方向


开发进度

  • 重新联动QQ机器人进行任务的管理和激活码的分发领取
  • 新增插件若干

开发方向

  • 看了 X-ray 的被动式扫描,以前只是知道有这么个东西,现在感觉其实也挺好的,起码可以确定具体的扫描位置和流程
  • 针对节点进行http代理的开发并且将数据包送入扫描流程中
  • 继续进行插件的编写,漏洞库的完善

2021年4月9日

  • 新增客户端代理功能,正在调试
  • 下一步服务器增加被动任务概念,将代理获得的数据送入任务的队列池中处理

2021年04月28日

最近偶尔抽时间写,更新了两个模块

  • 更新 jarm 模块,用于对 TLS 服务器的指纹采集,源于 https://github.com/salesforce/jarm
    主要用于对恶意服务器,例如 Cobalt Strike 等指纹信息的采集
  • 更新 nmap 模块,适用于端口扫描的情况
    不是对 nmap 进行调用,是通过 nmap 的指纹库对端口进行扫描和指纹的识别

参考 nmap 模块,测试代码

-- 代码
local nmap = require("nmap")

function test()
    -- 端口扫描例子 IP,端口表,支持"-,"分隔符,超时时间,扫描线程
    local result = nmap.scan("127.0.0.1", "80", 10, 50)
    for _, service in pairs(result) do
        print(string.rep("-", 20))
        for name, value in pairs(service) do
            print(name, ": ", value)
        end
    end
end

-- 运行结果

➜  ./node_darwin_amd64 -f test_portscan.poc 
          _   _
     /\  | | | |
    /  \ | |_| |__   ___ _ __   __ _
   / /\ \| __| '_ \ / _ \ '_ \ / _  |
  / ____ \ |_| | | |  __/ | | | (_| |
 /_/    \_\__|_| |_|\___|_| |_|\__,_|

[2021-04-28 03:07:45] DEBUG Node: 正在创建运行环境
[2021-04-28 03:07:45] DEBUG Node: 正在载入模块
[2021-04-28 03:07:45] DEBUG Node: 正在装载程序:test_portscan.poc
[2021-04-28 03:07:45] DEBUG Node: 正在运行 test 测试方法
--------------------
Port    :       80
ServiceNmae     :       http
StatusCode      :       502
Title   :       502 Bad Gateway
Url     :       http://127.0.0.1:80
VendorProduct   :       
Version :       
[2021-04-28 03:07:45] DEBUG Node: 运行时间:209.276767ms

参考 jarm 模块,测试代码

-- 代码
local jarm = require("jarm")

function test()
    print(jarm.fingerprint("8.210.253.122", 443))
end

-- 运行结果,该结果内容为Cobalt Strike常用

➜  ./node_darwin_amd64 -f test_jarm.poc                                                                                                                                                           
          _   _
     /\  | | | |
    /  \ | |_| |__   ___ _ __   __ _
   / /\ \| __| '_ \ / _ \ '_ \ / _  |
  / ____ \ |_| | | |  __/ | | | (_| |
 /_/    \_\__|_| |_|\___|_| |_|\__,_|

[2021-04-28 03:15:06] DEBUG Node: 正在创建运行环境
[2021-04-28 03:15:06] DEBUG Node: 正在载入模块
[2021-04-28 03:15:06] DEBUG Node: 正在装载程序:test_jarm.poc
[2021-04-28 03:15:06] DEBUG Node: 正在运行 test 测试方法
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1
[2021-04-28 03:15:08] DEBUG Node: 运行时间:1.888426702s

群主哪里可以申请测试,想参与插件的编写贡献

等一等吧,还没写完,写完就放出来测试

2021年6月28日

  • 粗略完成插件本地化运行加载
  • 更新了文档内容,更新进去了本地化运行的支持函数

2021年7月7日

string.packstring.unpack,string.packsize 方法已经抄完了

近期一直卡在这个位置,卡在这里的原因是即将编写的插件是解析CobaltStrike的插件,该插件中有部分功能需要使用到这几个方法,这几个方法是绕不开的,所以就一直在卡着