权限维持-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  

监控主要代码:

python
def 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服务

实验截图:

640.png

完美运行👍

邮件发送截图

640.jpg

项目地址:

http://www.khan.org.cn/index.php/2020/02/01/netcat程序监控/

拓展:

   脚本也可充当简陋的蜜罐用

   脚本暂时不是太完善,如果被扫描则会断开链接。



相关文章
|
6月前
|
Shell 开发工具
【shell脚本】Graylog服务状态异常监测与告警
【shell脚本】Graylog服务状态异常监测与告警
97 0
|
6月前
|
缓存 运维 监控
shell监控系统状态和资源使用命令
shell监控系统状态和资源使用命令
171 2
|
6月前
|
监控 Shell
Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
Shell脚本Ping监控主机是否存活并发邮件报警(三种方法)
|
监控 网络协议 搜索推荐
分析服务器日志Shell 命令集锦,收藏好了~
分析服务器日志Shell 命令集锦,收藏好了~
216 0
|
Java Shell 程序员
Power Shell 脚本——基于curl自动批量获取FTP服务器上的日志文件
Power Shell 脚本——基于curl自动批量获取FTP服务器上的日志文件
296 0
Power Shell 脚本——基于curl自动批量获取FTP服务器上的日志文件
|
监控 Shell
使用 Shell 脚本监控主机,实现主机性能监控
使用 Shell 脚本监控主机,实现主机性能监控
502 0
使用 Shell 脚本监控主机,实现主机性能监控
|
监控 网络协议 Shell
shell脚本实现zabbix监控信息收集
zabbix信息收集 一般zabbix信息收集都是写成脚本 思路:将监控的信息写成函数,使用位置参数$1来调用函数即可,一般都是zabbix来传参
546 0
|
监控 关系型数据库 MySQL
linux下安装zabbix服务器shell脚本-添加主机-邮件监控报警zabbix-自动化运维
分布式网络监控平台;分为手动和自动安装,添加主机-邮件监控报警zabbix
971 0
|
Shell
如何在shell脚本中控制任务投递
如果只有一个样本,或者样本量不大的情况下,我会选择一次性投递所有的任务。但是如果有100个以上的样本,那我就得谨慎考虑。 用 snakemake 很好解决这个问题,它会按照你给定的任务数和CPU数,确定每次投递多少任务。
1133 0