工具开发-Netcat程序监控
【摘要】 工具开发-Netcat程序监控
最近在学习中发现 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
监控主要代码:
pythondef run(Port): process = pexpect.spawn("nc",['-lvp',Port]) # pdb.set_trace() process.expect_exact("connect", timeout = None) string = str(process.before) ip = re.search(r'((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))',string,re.M|re.I) print(ip.group()) em4il(ip) process.interact()
温馨提醒:发送邮件的邮箱需要在邮箱设置中开启smtp服务
实验截图:
完美运行👍
邮件发送截图
拓展:
脚本也可充当简陋的蜜罐用
脚本暂时不是太完善,如果被扫描则会断开链接=。=
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)