当前位置: 首页 > news >正文

招聘网站怎么做吸引人水果 网站源码

招聘网站怎么做吸引人,水果 网站源码,wordpress经典博客主题,上传网站程序反弹shell的本质#xff1a;就是控制端监听在某TCP/UDP端口#xff0c;被控端发起请求到该端口#xff0c;并将其命令行的输入输出转到控制端。reverse shell与telnet#xff0c;ssh等标准shell对应#xff0c;本质上是网络概念的客户端与服务端的角色反转。 反弹shell的结… 反弹shell的本质就是控制端监听在某TCP/UDP端口被控端发起请求到该端口并将其命令行的输入输出转到控制端。reverse shell与telnetssh等标准shell对应本质上是网络概念的客户端与服务端的角色反转。 反弹shell的结果一个client上的bash进程 可以和 server上的进程通信。 而反弹shell的检测本质上就是检测 shell进程如bash的输入输出是否来自于一个远程的server。 一、检测思路 1.进程 file descriptor 异常检测 1.1 检测 file descriptor 是否指向一个socket 以“重定向符”/dev/tcp网络通信Bash反弹Shell这一类最经典的反弹Shell攻击方式为例这类反弹shell的本质可以归纳为file descriptor的重定向到一个socket句柄。 1.2 检测 file descriptor 是否指向一个管道符pipe 对于利用“管道符”传递指令的反弹shell攻击方式来说这类反弹shell的本质可以归纳为file descriptor的重定向到一个pipe句柄。 更进一步地说不管做了多少层的pipe反弹shell的本质是将server的输入传递给client的bash因此肯定存在socket连接。 我们只需要根据pid追溯pipe上游的进程并判断其进程fd检查是否是来自一个socket。 例如跟踪pipe发现pipe的进程建立了socket连接那么就存在反弹shell的风险。 2.netlink监控fd异常检测 监听Netlink Socket实时获取进程EXEC事件。如果为Shell进程检查进程启动打开的FD 打开了Socket未使用/dev/tty、/dev/pts/n、/dev/ptmx等终端则确认为反弹Shell 绕过风险仅能通过进程执行文件名判断是否为Shell进程上传可执行文件、拷贝Bash文件到其他路径等方法会绕过这个方法。 例如通过将/bin/sh重命名为其他名字进行反弹shell。 3.脚本文件 应用程序 无文件fileless反弹shell检测 需要注意的是操作系统是分层的Bash只是一个应用程序的普通应用其内部封装了调用glibc execve的功能而已除了bash之外白帽子还可以基于任意的应用层技术来实现反弹shell例如 python/perl实现纯代码形式的反弹shell文件执行文件脚本检测python/perl实现纯代码形式的反弹shell命令行指令fileless纯命令行fileless检测C/C实现纯代码形式的反弹shell二进制文件检测 4. 特征检测 4.1网络层反弹shell通信特征检测 反弹shell的通信会话中会包含一些”cmdline shell特征“例如”#root…“等可以在网络侧进行NTA实时检测。 4.2DNS反弹shell特征检测 针对DNS流量进行分析判断关联进程是否开启/dev/net/tun或者/dev/net/tap隧道等等。 4.3 ICMP反弹shell特征检测 对于正常的ping命令产生的数据有以下特点 ● 每秒发送的数据包个数比较少通常每秒最多只会发送两个数据包 ● 请求数据包与对应的响应数据包内容一样 ● 数据包中payload的大小固定windows下为32byteslinux下为48bytes ● 数据包中payload的内容固定windows下为abcdefghijklmnopqrstuvwabcdefghilinux下为!”#$%’(),-./01234567如果指定ping发送的长度则为不断重复的固定字符串 ● type类型只有2种0和8。0为请求数据8为响应数据。 对于ICMP隧道产生的数据有以下特点 ● 每秒发送的数据包个数比较多在同一时间会产生成百上千个 ICMP 数据包 ● 请求数据包与对应的响应数据包内容不一样 ● 数据包中 payload的大小可以是任意大小 ● 存在一些type为13/15/17的带payload的畸形数据包 ● 个别ICMP隧道工具产生的数据包内容前面会增加 ‘TUNL’ 标记以用于识别隧道。 因此根据正常ping和ICMP隧道产生的数据包的特点可以通过以下几点特征检测ICMP隧道: ● 检测同一来源数据包的数量。正常ping每秒只会发送2个数据包而ICMP隧道可以每秒发送很多个 ● 检测数据包中 payload 的大小。正常ping产生的数据包payload的大小为固定而ICMP隧道数据包大小可以任意 ● 检测响应数据包中 payload 跟请求数据包是否不一致。正常ping产生的数据包请求响应内容一致而ICMP隧道请求响应数据包可以一致也可以不一致 ● 检测数据包中 payload 的内容。正常ping产生的payload为固定字符串ICMP隧道的payload可以为任意 ● 检测 ICMP 数据包的type是否为0和8。正常ping产生的带payload的数据包type只有0和8ICMP隧道的type可以为13/15/17。 具体实现可参考https://blog.riskivy.com/%E5%9F%BA%E4%BA%8E%E7%BB%9F%E8%AE%A1%E5%88%86%E6%9E%90%E7%9A%84icmp%E9%9A%A7%E9%81%93%E6%A3%80%E6%B5%8B%E6%96%B9%E6%B3%95%E4%B8%8E%E5%AE%9E%E7%8E%B0/ 二、具体实现举例 1.监听Netlink Socket 并轮询处理 func (ns *NetlinkSocket) ReceiveFrom() ([]syscall.NetlinkMessage, syscall.Sockaddr, error) {nr, from, err : syscall.Recvfrom(ns.fd, ns.buf, 0)if err ! nil {return nil, from, err}if nr syscall.NLMSG_HDRLEN {return nil, from, fmt.Errorf(Got short response from netlink)}msg, err : syscall.ParseNetlinkMessage(ns.buf[:nr])return msg, from, err } 2.实时处理进程EXEC事件 func (p *Probe) netLinkHandler(e *netlinkProcEvent) {switch e.Event {case netlink.PROC_EVENT_EXEC:p.handleProcExec(e.Pid, false) // pid} }3.根据反弹shell的基本原理判断进程 file descriptor 是否异常 //根据反弹shell的基本原理判断进程 file descriptor 是否异常也就是是否相等 func (p *Probe) checkReverseShell(pid int) {//获取对应的inodeinodeStdin, err : osutil.GetFDSocketInode(pid, 0)if err ! nil {return nil}inodeStdout, err : osutil.GetFDSocketInode(pid, 1)if err ! nil {return nil}if inodeStdin ! inodeStdout || inodeStdin 0 {return nil}return osutil.GetProcessConnection(pid, nil, utils.NewSet(inodeStdin)) }//获取进程对应的连接 func GetProcessConnection(pid int, clientPort *share.CLUSProtoPort, inodes utils.Set) *Connection {var err errorif inodes nil {inodes, err GetProcessSocketInodes(pid)if err ! nil {return nil}}if inodes.Cardinality() 0 {return nil}var sport uint16if clientPort ! nil {sport clientPort.Port}pidDir : global.SYS.ContainerProcFilePath(pid, /)if clientPort nil || clientPort.IPProto syscall.IPPROTO_TCP {if conn : getConnectionByFile(pidDirnet/tcp, inodes, true, sport); conn ! nil {return conn}if conn : getConnectionByFile(pidDirnet/tcp6, inodes, true, sport); conn ! nil {return conn}}if clientPort nil || clientPort.IPProto syscall.IPPROTO_UDP {if conn : getConnectionByFile(pidDirnet/udp, inodes, false, sport); conn ! nil {return conn}if conn : getConnectionByFile(pidDirnet/udp6, inodes, false, sport); conn ! nil {return conn}}return nil }以上方式的缺点为仅能通过进程执行文件名判断是否为Shell进程上传可执行文件、拷贝Bash文件到其他路径等方法会绕过这个方法。 除此以外还可以对特定场景进行分析进程对应的fd是否异常并且外联开源代码可参考https://github.com/zhanghaoyil/seesaw 三、总结 这篇文章主要介绍了常见的反弹shell检测思路以及实现举例欢迎大家进行补充与分享 四、参考链接 郑瀚Andrew的 反弹Shell原理及检测技术研究
http://www.w-s-a.com/news/505596/

相关文章:

  • 安顺公司做网站福州建设发展集团有限公司网站
  • 普陀企业网站建设做散客机票的网站如何推广
  • 河北网站建设与制作建设宁波市分行的互联网网站
  • python做网站是不是特别慢百度推广基木鱼
  • 卖网站链接东营住房和城乡建设信息网
  • 网站后台如何上传ico图标单位建设网站需要的材料
  • 如何建淘客网站郑州做网站最好的公司
  • 连锁酒店网站方案o2o网站建设方案
  • 功能型网站响应式网站原理
  • 聊城建设网站骨干校 建设网站
  • 网站建设与管理是干嘛的中国新闻社是什么单位
  • 帮别人做视频剪辑的网站传业做微采商城网站
  • 设计一个网站开发方案宣传片制作企业
  • 新网站收录多少关键词免费一键网站
  • 网页制作与网站建设 在线作业手表网站制作照片
  • 电商网站开发技术与维护重庆建筑工程交易信息网
  • 人和马做的网站线上营销推广方式
  • 青海教育厅门户网站有赞商城
  • 网站建设多语种自动翻译插件wordpress谷歌翻译插件
  • 泰安高级网站建设推广wordpress教程 好看
  • 我自己的网站怎么做关键词优化泰安网站建设dxkjw
  • 平面设计做画册用网站泰州seo平台
  • 申请一个域名后怎么做网站evernote wordpress
  • 网站左侧导航栏设计网站开发后台数据怎么来
  • 临西做网站报价网站建设需要写语句吗
  • 建设网站网站首页购物网站开发代码
  • 淘宝客怎么建立网站网站360优化
  • 安徽建海建设工程有限公司网站网站空间和域名价格
  • 农产品网站建设策划哪里有做枪网站的
  • 更改各网站企业信息怎么做张家港企业网站制作