最近在学习中发现 netcat 连接被动后门比如( crontab 写定时反弹shell / alias替换命令反弹shell)时的局限性很大,当shell反弹回来,你却不能及时去操作shell这种情况,然后我就花了点时间写了个小脚本监控 (权当练习,毕竟过年无聊)。
功能点:
1、监控netcat的交互情况
2、正则匹配IP
3、当接收到shell的时候发送邮件推送
监控主要思路:
1、创建一个跑 netcat 的子进程
2、当接收到'connect'就执行下一步
3、before属性是直到异常为止接收的所有数据
4、在before中正则匹配IP
5、执行邮件方法,并将 肉鸡ip 通过邮件方式邮件到目标邮箱
6、将子进程控制权还给用户
用法:
./moniter.py
[!]Usage: ./moniter.py [PORT]
实现工具所需的库:pexpect , smtplib , re
监控主要代码:
python
def run(Port):
process = pexpect.spawn("nc",['-lvp',Port])
process.expect_exact("connect", timeout = None)
string = str(process.before)
ip = re.search(r'((25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(25[0-5]|2[0-4]d|((1d{2})|([1-9]?d)))',string,re.M|re.I)
print(ip.group())
em4il(ip)
process.interact()
温馨提醒:发送邮件的邮箱需要在邮箱设置中开启smtp服务
实验截图:
完美运行👍
邮件发送截图
项目地址:
http://www.khan.org.cn/index.php/2020/02/01/netcat程序监控/
拓展:
脚本也可充当简陋的蜜罐用
脚本暂时不是太完善,如果被扫描则会断开链接=。=
请中奖的小伙伴联系小编把转发截图发到公众号核实
手握日月摘星辰,安全路上永不止步。
- Khan攻防安全实验室
本文始发于微信公众号(Khan安全攻防实验室):权限维持-Netcat程序监控
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论