红队基础设施加固——SSH
请勿非法攻击,所有的非法攻击行为本人概不负责。
请勿非法攻击,所有的非法攻击行为本人概不负责。
全网首发!!!!!!
——在进攻中,最重要的不是打败敌人,而是保护自己。
红方基础设施被反向入侵很容易被溯源、勾画出攻击者画像,相信红方VPS的使用痕迹没有几个人会去每次删除吧。所以要保护好自已,红方基础设施加固方式一定需要 快速部署、便捷部署、隐蔽部署 这样的特点。
本文主要通过监控SSH的登录,当有非法用户成功登录时,通过邮件告知红方 VPS被反向渗透。整个过程非法用户登录全程无感,非常隐蔽。
以下实验不考虑匿名性,所有技术、设想均为正常合规的渗透测试/攻防过程中的一些技术思考与思路。
快速部署:红方不像蓝方一直是在一个点,红方的基础设施可以很灵活。有可能一天换一个点或者被发现马上快速转移,避免基础设施损毁影响攻击进度。所以基础设施加固需要快速,不能打一天部署半天。
便捷部署:部署方式需要简单、易用。复杂的部署操作或部署过程不顺畅会浪费很多时间,影响进攻者心态。
隐蔽部署:这个很简单,就比如红方上传web shell,你不能上传个webshell.php上去,并且还在根目录吧。同样的道理尽量要让让非法用户无感知,不然非法用户容易做出的一些不可预知的操作。
加固过程:
一、安装SMTP
apt install ssmtp -y
二、配置SMTP
修改SMTP配置,注意两个QQ邮箱位置要配置同一个邮箱,授权码需要去QQ邮箱申请。授权码可以避免邮箱的账密暴露,不要使用明文!!也可以配置其它邮箱。
vim /etc/ssmtp/ssmtp.conf
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=xxxx@qq.com (QQ邮箱)
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.qq.com
AuthUser=xxxx@qq.com (QQ邮箱)
AuthPass=xxxxxx (QQ邮箱授权码)
UseSTARTTLS=YES
FromLineOverride=YES
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=ubuntu
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
三、测试邮件
发送测试邮件,如果正常收到测试邮件 表示SMTP配置正确。如果未收到则需要检查SMTP配置。
echo -e "Subject: Test EmailnFrom: [email protected]nnThis is a test email."| ssmtp xxx.com
Tips:注意检查From: 后面的邮箱,这是发件的邮箱地址。如果有多个邮箱地址则需要注意这个地方。
四、配置监控
(1)配置发件脚本
vim /var/tmp/no_ssh.sh
chmod +x /var/tmp/no_ssh.sh
#!/bin/bash
USER_NAME=$(echo $LOGNAME)
USER_IP=$(echo $SSH_CONNECTION| awk '{print $3}')
LOGIN_TIME=$(date)
TO_EMAIL="[email protected]" # 收件邮件地址
SUBJECT="SSH Login"
BODY="User: $USER_NAMEn IP: $USER_IPnDate: $LOGIN_TIME"
echo -e "Subject: $SUBJECTnFrom: [email protected]nn$BODY"| ssmtp $TO_EMAIL
(2)配置触发
echo 'session required pam_exec.so /var/tmp/no_ssh.sh' >> /etc/pam.d/sshd
(3)重启ssh
systemctl restart ssh
五、检查测试
现在只要任意用户通过ssh的 Bash、sh登录、远程执行命令均会收到邮件。登录会触发一次,退出会触发一次。包括不限于以下方式:
ssh root@172.21.21.22
ssh root@172.21.21.22 sh
ssh root@172.21.21.22 pwd
Tips:任意用户登录均会触发,包括自已。个人觉得并不影响任何操作。
这种方式已知有三个缺点:
(1)用户如果通过console、控制台登录,不会触发。
(2)通过web、其它服务、漏洞等进入则无法监控,如通过某个RCE漏洞进入的系统,因为本身不经过ssh。这个问题可以配合其它监控方式解决,本文不涉及该技术特点。
(3)非法用户登录成功时打印系统banner后会卡住一小下,影响并不大。这是因为触发了发件,SMTP正常工作。终端需要等待SMTP完成,才会返回命令行给用户。并且这个过程经测试用户是无法中断发送的,所以只要登录成功邮件必然会发送。
原文始发于微信公众号(YongYe 安全实验室):红队基础设施加固—SSH
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论