标注的博客| 安全研究| 渗透测试| APT

  • 扫描不能停之Appscan批量扫描

    0x01 关于 之前为了做中间件的扫描测试过不少扫描器,对比多款后最终选择了AWVS11。但是当时也测试了Appscan的批量,Appscan除了速度太慢外,扫描的详细程度还是有可取之处的。 0x02 批量实现 Appscan有一个可以调用它的AppScanCMD.exe。网络上关于这个扫描器的批量脚本有很多,试了几个用着不太顺手,干脆自己写了一个。 只需要替换红标所示目录即可,注释中已指明该变量作用。 运行截图。 0x03 脚本链接 链接:https://pan.baidu.com/s/1ydknkLYGMOwe4bB8x5zU5A 密码:ivzr pass:appscan2018

  • 无效的SSL证书利用

    介绍 互联网使用量正在急剧增长,但绝大多数互联网用户没有任何安全背景。绝大多数公司也不关心信息安全,任何攻击的严重性都可能损害这些公司的宝贵资产。他们也不给员工提供安全意识培训。因此,人是信息安全链中最薄弱的环节。 在本文中,我们将讨论SSL协议和SSL证书,这将有助于网站管理员确保用户的信息以安全的方式安全地通过Internet。此外,我们还将讨论可能导致窃取用户凭据或窃取敏感信息的无效SSL证书,这些信息可能会用于进一步的攻击。 SSL协议在Web浏览、电子邮件、Internet传真、即时消息和VoIP等应用中有着广泛的应用。 信息安全原则 众所周知,信息安全的主要做法是保护信息不受未经授权的访问、披露、破坏、修改、记录或破坏。此外,信息安全工程师的主要职责是发现、跟踪和管理我们资产的风险,这些资产可能是服务器、网络或/和人员。这些风险的影响可能会影响这些资产的机密性、完整性或可用性,因此这三项(CIA triad)是信息安全的核心原则。 什么是SSL? SSL是Secure Sockets层的缩写;它是一种加密协议,专门用于为Internet上的通信提供安全通道。使用SSL是为了确保客户机与谁交谈。换句话说,SSL用于验证远程服务器的身份。例如,如果您正在与https://www.example.com交谈,并且SSL证书example.com有效,则表示您正在与真正的服务器交谈。 为什么使用SSL? 如前所述,Web管理员、Web应用程序开发人员和管理员通常使用SSL协议来确保用户信息以安全的方式安全地通过Internet。这有助于防止恶意攻击者或脚本kiddy嗅探网络以窃取用户凭据等机密信息,攻击者稍后可以使用这些信息来访问同一应用程序,或使用用户名和密码组合来尝试找出任何其他应用程序上同一用户的凭据。绝大多数用户总是使用相同的用户名和密码组合作为登录其他应用程序的凭据,例如,用户用于登录Facebook的凭据将与用户用于登录其Gmail帐户的凭据相同,或者,他可以通过在密码上附加一些数字或特殊字符来稍微更改密码,这也是通过使用混合攻击(在字典单词上附加数字和特殊字符)来猜测密码的一项简单任务。 SSL是一种加密协议。SSL通过创建一个安全通道来提供数据机密性,以便在Internet上进行通信,从而以机密的方式传输数据。此外,SSL还提供了数据完整性,因为SSL证书必须由称为证书颁发机构的第三方签名,因此攻击者不能自己签名伪造的证书,如果攻击者使用另一个实体的证书来欺骗受害者,浏览器将警告用户网站使用了无效证书(其他人的证书),这清楚地表明有人试图攻击他。 SSL协议的工作原理 SSL在第5层(会话层)初始化,然后在第6层(表示层)工作,如下所示: 在握手过程中使用非对称密码协商密码设置并确定该会话的共享密钥的会话层。 表示层使用对称密码和共享密钥来加密通信的其余部分。 无效的SSL证书原因 SSL证书失效的原因有很多。其中一些原因可能是: 吊销的证书:证书或其签名被吊销。检查吊销状态失败。 吊销的证书: 证书或其签名被吊销。 无法检查吊销状态。 无法检查吊销状态。 假证书:该证书是非法订阅的。 假证件: 证书是非法订阅的。 证书是非法订阅的。 证书链已断开:该链由一个自签名证书组成。该链不以受信任的根证书结尾。该链包含不用于签名其他证书的证书。根证书或中间证书已过期或其时间尚未到来。该链未生成。 证书链已断开: 链由一个自签名证书组成。 链没有以受信任的根证书结尾。 链包含不打算签署其他证书的证书。 根证书或中间证书已过期或其时间尚未到来。 链子不是造的。 链子不是造的。 证书中指定的域与建立连接的网站不匹配。 证书中指定的域与建立连接的网站不匹配。 证书时间冲突:操作时间已过期。操作时间尚未到来。 证书时间冲突: 操作时间已过期。 行动时间还没到。 行动时间还没到。 证书结构已损坏:结构已损坏。 证书结构已损坏: 结构损坏。 结构损坏。 签名检查错误。 如果您正在浏览一个通常使用有效SSL证书的网站,并且浏览器显示该网站使用了无效的SSL证书,强烈建议不要继续使用该网站,因为这可能是有人攻击您的线索。 为什么使用无效的SSL证书是危险的? 现在一些网站管理员使用无效的SSL证书在服务器和应用程序用户之间创建一个安全的通信通道。他们认为它将提供与有效SSL证书相同的安全状态,但事实并非如此,因为使用无效SSL证书将给应用程序用户带来巨大的风险,这与通过清晰的通信通道发送用户凭据的风险相同,因为任何恶意攻击者都可以嗅到应用程序用户的凭据和会话ID。 利用无效SSL证书的演示 现在我们将演示攻击者如何利用此漏洞进行攻击。我们将使用该隐和亚伯工具来开发它。根据官方网站,Cain&Abel是微软操作系统的密码恢复工具。它允许通过嗅探网络、使用字典破解加密密码、暴力和密码分析攻击、记录VoIP会话、解码加密密码、恢复无线网络密钥、显示密码框、揭开缓存密码和分析路由协议,轻松恢复各种密码。 最新版本速度更快,包含了很多新功能,如APR(ARP Poison Routing), 它允许监听交换的局域网和中间人攻击。里面的嗅探器 版本还可以分析加密协议,如SSH-1和HTTPS,并包含过滤器 从各种身份验证机制捕获凭据。有关更多信息,请访问本文末尾参考资料部分提到的Cain&Abel官方网站。 攻击者将使用以下场景利用此漏洞进行攻击: 攻击者和受害者必须位于同一物理网段中。 攻击者将安装并运行Cain软件。 攻击者将执行ARP中毒来嗅探受害者和网关之间的网络通信量。 受害者试图访问使用无效SSL证书的web应用程序。 Cain将向受害者发送一个属于Cain的无效SSL证书。 浏览器将通知受害者SSL证书无效。 一旦用户添加了接受此证书的异常,攻击者就可以将受害者凭据和会话标识符以及任何其他活动捕获为明文。 攻击者可以使用网络流量分析器工具(如Wireshark)筛选搜索受害者应用程序请求的流量,然后攻击者可以从请求中提取cookies和referer参数。此外,Cain本身将所有HTTPS流量存储为文本文件格式,该格式将客户端和服务器之间的整个对话保存在Cain文件夹中名为HTTPS的文件夹中,如下图所示。 攻击者可以使用网络流量分析器工具(如Wireshark)筛选搜索受害者应用程序请求的流量,然后攻击者可以从请求中提取cookies和referer参数。此外,Cain本身将所有HTTPS流量存储为文本文件格式,该格式将客户端和服务器之间的整个对话保存在Cain文件夹中名为HTTPS的文件夹中,如下图所示。 结论 大多数网站管理员使用的是无效的SSL证书,这是一个危险的问题,因为它可能会导致通过窃取用户的凭据和会话cookies信息来模拟应用程序用户。要解决此问题,SSL证书必须由来自受信任CA(如VeriSign)的有效证书签名。

    Read more…
  • ISO/IEC 27000 系列

    一、背景概述 信息安全管理要求ISO/IEC27001的前身为英国的BS7799标准,该标准由英国标准协会(BSI)于1995年2月提出,并于1995年5月修订而成的。1999年BSI重新修改了该标准。BS7799分为两个部分: BS7799-1,信息安全管理实施规则 BS7799-2,信息安全管理体系规范。 第一部分对信息安全管理给出建议,供负责在其组织启动、实施或维护安全的人员使用;第二部分说明了建立、实施和文件化信息安全管理体系(ISMS)的要求,规定了根据独立组织的需要应实施安全控制的要求。 二、目录结构 行业里己经从较模糊的 BS7799 标准转到了 ISO/IEC 27000 系列, 这是一个在不断更新的 ISO/IEC 标准清单, 并对 ISMS 的必要组件进行了分区和模块化。 它目前公布的标准(略有省略)包括以下内容: • ISO/IEC 27000 概述和词汇 • ISO/IEC 27001 ISMS 要求 • ISO/IEC 27002 信息安全管理实践代码 • ISO/IEC 27003 信息安全管理体系实施指南 • ISO/IEC 27004 信息安全管理衡量指南与指标框架 • ISO/IEC 27005 信息安全风险管理指南 • ISO/IEC 27006 认证机构要求 • ISO/IEC 27007 ISMS 审计 • ISO/IEC 27008 审计师指南 • ISO/IEC 27011 通信组织信息安全管理指南 • ISO/IEC 27014 信息安全治理指南 • ISO/IEC 27015 金融行业信息安全管理指南 • ISO/IEC 27031 业务连续性 • ISO/IEC 27032 网络空间安全指南 • ISO/IEC 27033 网络安全指南 • ISO/IEC 27034 应用安全指南 • ISO/IEC 27035 安全事件管理指南 • ISO/IEC 27037 数字证据收集和保存指南 • ISO/IEC 27799 医疗机构信息安全管理指南 • ISO/IEC 13335 信息安全风险管理指南 ─ISO-IEC 27035 │ ISO-IEC 27035-2011_en.

    Read more…
  • 2020-2021年印度网络安全会议和活动

    印度的每一个InfoSec事件都会自动流到此资源中 本次活动面向印度的网络安全从业人员。如果你在网络安全行业工作,想了解更多有关信息安全和黑客攻击的知识,那么这次会议将是理想的。 本次活动面向印度的物联网专业人士。如果你在物联网行业工作,如供应链、保险、运输等,那么这次会议将是理想的。 在我们在印度网络安全会议系列中列出的所有事件中,这次无疑是会谈最多的一次。这次在喀拉拉邦举行的活动充满了安全问题。 我们认为,这可能是2019年在印度新德里举行的更好的网络犯罪会议之一。 这是一个有趣的网络安全会议,主要讨论人工智能和机器人技术。这项活动无疑是2019年举行的更有趣的活动之一。 我们喜欢海边的活动。我们喜欢他们,因为他们是会见当地专业信息安全从业人员的绝佳机会。如果你生活和工作在印度德里地区,那么我们会鼓励你与本BSides的章节和认识志同道合的人!通常,bside要么免费,要么定价合理。 由于围绕硬件、软件、物联网和机器人技术的深入讨论,我们在高知“推荐”了这次会议。 如果你与印度的网络犯罪有关联,并且住在海得拉巴,那么这是一个你应该参加的活动。主题包括“印度关键基础设施保护”(因此我们怀疑将举行与SCADA/ICS相关的会谈)和关于印度政府打击网络犯罪的政策和方法的讨论。 在班加罗尔举行,这是一个极好的事件,解决人工智能和物联网。虽然这可能不是一个清教徒式的网络安全会议,但它确实看起来很吸引人,我们建议您进一步了解它。 这是一个必须参加的会议,为那些在印度和新德里工作或与密码学相关的人。 这次会议在孟买举行,是一次极好的金融安全委员会会议,也讨论了网络犯罪问题。强烈推荐!

  • @杰克逊

    嘿,这是2020年Metasploit CTF中Repository Manager前端web应用程序的一篇文章。虽然这让一个忙碌的周末把它和生活中的其他事情混在一起,但这是一个和朋友一起建立团队的好方法。最重要的是我们最终获得了第三名!恭喜佩佩加,并为赢得第一和第二名向世界自然基金会致歉,并为Metasploit团队在挑战和基础设施方面所做的所有努力而欢呼。 这篇文章的结构经过了思考过程,但如果你想切入主题,这里是(剧透警告…):前端是Nexus的一个版本,很容易被命令执行。在更新功能时,可以在“notes”参数中使用JSON注入来利用它。 侦察 挑战从880端口的目标框开始,我们展示了一个Ruby on Rails应用程序,它允许我们查看/编辑repo和管理功能。 在粗略浏览存储库页面的同时,我希望我们可以加载一个未列出的repo,可能是一个包含标志的repo,然后能够通过应用程序访问其内容。唉,由于没有读取文件数据的方法,这并没有什么成效。 功能页面表面上允许用户阅读和更新注释。在更新百胜功能的说明时,我们只会收到一条状态消息,而其他功能在更新时会返回一个空白状态。 退一步,我们绘制出web应用允许我们操作的可见攻击面,假设接下来的步骤将在这个抽象层: 发现 在创建repo时,我的队友h4ccinnja在处理可供选择的提供者列表时发现,将提供者从rubygems托管改为rubygems代理将返回一个转义的HTML页面,并引发500个错误。 rubygems-hosted rubygems-proxy 这个响应使得在后端使用Sonatype Nexus来管理存储库变得更加明显。这很有意思,因为也许有潜在的SSRF。。。如果我们可以在nexushost:8081上查询任意api或与其他容器通信呢? nexushost:8081 另一个有趣的是,版本2.14.14-01正在被使用。通过一些搜索,我们发现此版本易受通过操作系统命令注入验证的RCE的攻击。通过使用恶意命令更新Yum功能的createrepoPath或modifyrepoPath属性,可以利用注入向量。更新后,这些属性值将使用--version参数执行。例如,如果calc.exe作为“恶意”命令提供,则将执行calc.exe--version。我在这里简化了一点,但是在两份HackerOne报告中都有更多的细节:#654888。 createrepoPath modifyrepoPath --version calc.exe calc.exe --version 剥削 当涉及到攻击时,我们不必担心身份验证部分,因为这是在前端与后端通信时假设的。能够修改这些特性被证明是更具挑战性的。我们最初假设可以将这些属性添加到update_capa请求(如下所示)中,期望响应中的状态消息将随着命令的输出而更新。 update_capa 当我们尝试上述请求的许多不同变体时,它已经进入了深夜,但它只是不起作用。 随着我们的进步,人们开始明白为什么利用大规模分配漏洞的想法行不通。如果这确实是一个大规模分配漏洞,我们应该能够使用上面的请求修改capability对象。进一步研究Nexus API,发现id属性用于引用功能,并且没有capa_id属性。因此,我们可能仍在与前端(它忽略了我们的额外输入)而不是后端交互。 id capa_id 出于想法和充足的睡眠,我开始在update note字段中粉碎键,并看到一些有趣的东西。以下是不光彩的再现: 什么?错误信息?意外字符“35;”?在那之前。。。双引号?它期待着后面会有一个逗号。。。用大写字母“O”分隔对象条目,比如JSON对象?等等,JSON对象。。。它们是否将用户输入连接到字符串化JSON并将其发送到后端?为什么会有人这么做??在现实世界的现代网络应用中,这种情况多久出现一次?哦,这是CTF。 在实现之后,很明显需要将有效负载放入notes参数中。下面您可以看到使用字符串连接的预期和意外行为的场景: notes 最小的测试负载如下所示:MyNote1,“properties”:[{“key”:“createrepoPath”,“value”:“/bin/sh-c id | |/createrepo”}],“notes”:“MyNote2”}。以前的尝试没有“}后缀,这仍然会导致注释被更新为“MyNote2”,但不会设置或执行新的createrepoPath值。我们知道Nexus版本是2.14.14-01,我们知道仅仅提供命令是行不通的,因为这个实例是为CVE-2019-5475而不是为CVE-2019-15588打补丁的。 MyNote1", "properties": [{"key": "createrepoPath", "value": "/bin/sh -c id || /createrepo"}], "notes": "MyNote2"} "} 接下来,我们将基线有效载荷替换为一个用于反向shell的有效载荷,在系统周围搜索该标志,并得到其MD5。 这是钻石王牌的旗牌: 这就是全部!谢谢你的阅读,如果你写得这么好,我希望你喜欢。 格瑞兹向小组出口和中央特勤队全体人员问好。

  • 建立加密socks5转发的两种方法

    文章作者:[email protected] 使用场景: 公司最近不知什么原因又开始折腾员工了,微信、QQ、百度网盘等等软件统统不让用了,公司在出口的地方通过部署了安全监控系统来实现上述功能,当我们使用不加密的socks5软件连接公网VPS的时候,会识别出正在使用socks5协议,然后的操作挺常规,block当前的socks5连接。 作为一名安全人员,肯定不甘心止步于这种LOW级别的阻断,于是花了几天时间测试了下面两种建立加密socks5中转方法。终于又可以愉快的使用微信和QQ了。 1、SecureCRT下利用SSH建立加密socks5转发(linux类平台)1.1 SecureCRT端的设置://本机的127.0.0.1上面开放1088代理中转端口设置:ssh主机上面点击右键->Session Options... Port Forwarding->Add... //请按红圈所示位置填入相关信息 1.2 局部代理(http&https代理设置),360浏览器代理插件(SwitchyOmega)设置相关截图,其它浏览器的代理设置也可以参考: 1.3 Proxifier建一个全局socks5代理(ssh+Proxifier):Profile->Proxy Servers //按下图设置完成后,可以点击”Check”测试一下网络连接情况: 2、利用Dog Tunnel_狗洞建立加密socks5转发(全平台支持):2.1 在公网VPS上面运行Dog Tunnel_狗洞,打开加密socks5下载地址:https://github.com/vzex/dog-tunnel //在公网VPS上面监听本地1089的udp或tcp服务端口,action为空表示客户端连接时不限制action行为,如果服务端想限制客户端行为,可强制设置action内容,xor为用户指定字符串用于握手加密,可不指定: //在客户端连接公网VPS的1089 udp或tcp端口,监听本地的1088端口作为socks5服务,传输内容加密,默认建立5条固定通道(防止大数据传输或者网络不好时单条通道拥堵),web请求中不可避免的会有一些非正常关闭的tcp连接,加session_timeout可以清除这些无用连接,防止描述符泄露 2.2 局部代理(http&https代理设置),360浏览器代理插件(SwitchyOmega)设置相关截图,其它浏览器的代理设置也可以参考: 2.3 Proxifier建一个全局socks5代理(ssh+Proxifier):Profile->Proxy Servers //按下图设置完成后,可以点击”Check”测试一下网络连接情况:

  • 也说DNS反弹Shell

    我们就是喜欢在正常的位置放进去一些奇怪的东西。 0x01 引子 反弹Shell广泛应用于远程控制下的权限维持,通过反转攻(客户端)和受(服务端)的角色,来实现条件限制,尤其是内网情况下的远程连接。 反弹Shell的工具和实现方法多种多样,只要能够让被控端通过网络发送数据到控制端,并且实现数据的解析即可完成控制过程。 最近在继续了解网络协议,于是突然想在DNS数据包中插入一些伪造的命令来实现解析,本来准备自己尝试写一个DNS服务器和DNS请求程序来实现反弹,不过刚动笔就看到了别人开源的程序,于是直接使用别人的程序来学习了。 https://github.com/ahhh/Reverse_DNS_Shell 为了运行测试更方便,去掉了程序中的加解密功能,额外的Python包只需要dns和dnslib 0x02 DNS 为了关联主机和IP地址对应关系而诞生的DNS本身,不需要我在这里赘述了。跳过域名构成、查询过程等可以轻松在网络查询到的内容,我们直接来看看DNS的包构成 在smtp那篇文章中,我们提过一层一层洋葱状的协议包裹,在这里,我们跳过以太、IP、UDP头,直接到DNS数据的部分。 标志着数据开始的是Tran ID段,所有的问答信息都需要一定的机制来保证对应,这部分应该就是对应机制中的一部分。 紧接着的Flags,0x0100表明了一些查询属性。 Queries中是我们所要查询的host,查询类型。作为A类型查询,得到的是host的IP,这里也是我们做手脚的地方,不过TXT类型可以插入一些附加的信息,更适合我们用来构造命令语句。 服务器回应包如下: 作为回应的Tran ID,它和查询包相同。 Flags中标准回应标志位 重复显示的Queries 回应的Answers信息。通过CNAME查取主机规范名,再通过规范名查取对应IP。 利用这种相互应答的特性,我们初步计划通过以下流程来实现我们的反弹Shell 被控端: 发送DNS请求——> 接收回应并解析执行命令 ——> 发送DNS请求 | /|\ | | | | | | | \|/ | \|/ 控制端: 接收DNS请求并解析命令回显——发送添加了命令的回应——接收DNS并解析命令 0x03 程序 原始的程序可以在上面的github中找到,这里贴出我们去掉加解密的部分程序。 先说DNS服务器的部分 这一部分封装了对DNS的应答,payload里是被控端发来的查询信息,也就是上一次命令执行后的回显,而out是我们这一次的命令,封装成了TXT的应答包 这部分对于被控端的查询包进行解析,从中获取到地址和数据,对于数据,解析出其中的命令回显,并且初始化一个应答包。 主函数中使用socket监听相关端口,对于监听到的包按照预定流程进行处理。 再来看看被控端发送的部分 首先是整个流程一览,从程序中可以很清晰的看到建立连接,解析命令,执行命令,发送回显的过程。 构造的url,也就是命令回显,对于没有命令的,会返回nxt。利用回显构造查询语句。 这两段程序对于收到的文本格式的命令进行解析和执行,没有太多的东西可以讲。只是注意格式的截取,并且考虑对Linux和Windows的命令之间转换。 这部分负责发送DNS查询,按照与服务器约定的格式构造包并且进行发送。 0x04 测试 我们需要先执行服务器端程序,然后执行被控端程序。我的服务端程序在一台Ubuntu主机上,被控端在我的Win10机器上。 如图,是在Ubuntu上对Win10执行ipconfig命令的显示。 我们再进行抓包分析: 这是被控端第一次连接时发送的包,因为控制端还没有指令,第一次连接发送的是空包,其中Name的值bnh0就是我之前所说的NXT 而第二个包就是控制端发送的指令,在TXT中发送的就是指令whoami的base64编码, 可以对比和我之前实际抓包的不同之处,对照可以看出我们在DNS包的哪些地方做过修改。 0x05 延伸 其实相关的DNS隧道技术原理应该差不多,都是在本来应该放DNS规定信息的地方放入了其他的东西,来达到一些意想不到的结果。 当然,RFC还有许多协议可以让我随意构造去做测试,下一步考虑写一个多协议支持的Fuzzing工具 :)

  • Fallibleinc/Security Master

    Permalink Fetching contributors… Cannot retrieve contributors at this time 82 lines (69 sloc) 7.46 KB 返回目录 安全checklist 权限系统 (注册/注册/二次验证/密码重置) 任何地方都使用 HTTPS. 使用 Bcrypt 存储密码哈希 (没有使用盐的必要 - Bcrypt 干的就是这个事). Bcrypt Bcrypt 登出 密码重置后销毁所有活跃的会话. OAuth2 验证必须包含 state 参数. state 登陆成功之后不能直接重定向到开放的路径(需要校验,否则容易存在钓鱼攻击). 当解析用户注册/登陆的输入时,过滤 javascript://、 data:// 以及其他 CRLF 字符. 使用 secure/httpOnly cookies. 移动端使用 OTP 验证时,当调用 generate OTP 或者 Resend OTP API 时不能把 OTP(One Time Password) 直接返回。(一般是通过发送手机验证短信,邮箱随机 code 等方式,而不是直接 response) OTP generate OTP Resend OTP Login Verify OTP Resend OTP generate OTP 检查邮件或短信里的重置密码的 token,确保随机性(无法猜测) 给重置密码的 token 设置过期时间.

    Read more…
  • Linux Redis自动化挖矿感染蠕虫分析及安全建议

    | 导语 自从Redis未授权问题获取Linux系统root权限的攻击方法的披露后,由于其易用性,利用该问题入侵Linux服务进行挖矿、扫描等的黑客行为一直层出不穷;而在众多利用该问题入侵服务器进行黑产行为的案例中,其中就存在一类利用该问题进行挖矿并且会利用pnscan自动扫描感染其他机器;该类攻击一直存在,不过在近期又呈现数量增加的趋势,在最近捕获到多次,我们针对其做下具体的分析 一、 背景 自从Redis未授权问题获取Linux系统root权限的攻击方法的披露后,由于其易用性,利用该问题入侵Linux服务进行挖矿、扫描等的黑客行为一直层出不穷;而在众多利用该问题入侵服务器进行黑产行为的案例中,其中就存在一类利用该问题进行挖矿并且会利用pnscan自动扫描感染其他机器;该类攻击一直存在,不过在近期又呈现数量增加的趋势,在最近捕获到多次,我们针对其做下具体的分析。 二、 漏洞说明 首先针对利用的漏洞做个说明,Redis 默认情况下,会绑定在 0.0.0.0:6379,在没有利用防火墙进行屏蔽的情况下,将会将Redis服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 ~/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录目标服务器;如果Redis服务是以root权限启动,可以利用该问题直接获得服务器root权限。 相关漏洞详情可以参考: https://www.seebug.org/vuldb/ssvid-89715 以下为漏洞利用演示: 经过在ZoomEye和SHODAN检索,可以发现分别众多Redis服务开放在公网上,这些服务都可能成为攻击目标。 三、 入侵分析 经过对捕获的事件进行分析,我们发现整个入侵流程大概是包含以下几个环节: 扫描开放6379端口的Linux服务器(后续感染扫描网段为1.0.0.0/16到224.255.0.0/16) 扫描开放6379端口的Linux服务器(后续感染扫描网段为1.0.0.0/16到224.255.0.0/16) 通过redis-cli尝试连接Redis并执行预置在.dat文件里的利用命令将Redis的数据文件修改为/var/spool/cron/root,然后通过在Redis中插入数据,将下载执行脚本的动作写入crontab任务 通过redis-cli尝试连接Redis并执行预置在.dat文件里的利用命令将Redis的数据文件修改为/var/spool/cron/root,然后通过在Redis中插入数据,将下载执行脚本的动作写入crontab任务 通过脚本实现以上的相关行为,完成植入并启动挖矿程序 通过脚本实现以上的相关行为,完成植入并启动挖矿程序 再编译安装pnscan,继续扫描感染下一个目标 再编译安装pnscan,继续扫描感染下一个目标 四、 脚本分析 整个入侵利用以及后续的感染的实现,最主要的功能都是基于通过Redis问题写入crontab任务中下载执行的.cmd脚本来实现的,通过对它的分析,我们基本能够得到整个流程的所有细节,这是一个base脚本,我们通过解读来分析下它的相关功能。 这部分代码只要是用作重复执行的判断,将.mxff0文件作为标记文件,如果存在该文件则代表机器上已执行脚本,直接退出,否则写.mxff0文件并进行下一步动作; 设置预置动作,在脚本退出后删除相关文件和脚本自身; 这部分主要是修改系统的配置,开头两行为关闭SELINUX;然后清空/var/spool/cron,进而判断系统DNS服务器是否存在8.8.8.8,没有则添加;接着清空系统tmp目录和删除相关文件;同时清空系统缓存,而最后修改/etc/security/limits.conf来更新系统的资源限制; 这里再进一步的增加iptables限制6379端口只允许本地访问,同时kill相关包含挖矿、redis客户端、爬虫等进程,这里的目的也比较简单,避免被其他黑客再次入侵,同时清除可能其他黑客入侵启动的进程; 清除相关登录日志、命令操作历史; 这一长串的内容主要目的是下载并编译安装pnscan,从内容中我们可以看到对于不同操作系统的判断然后安装依赖的相关模块,然后才是从github下载pnscan的源码进行编译安装;至于为什么采用编译安装的形式,猜测是出于兼容不同系统以及每次编译生成的pnscan的MD5都不一样,避免形成固定特征; 这部分主要是下载挖矿程序并重命名为.gpg,增加执行权限,执行后删除,同时重新上传到https://transfer.sh/ 获取新的链接; 而这部分内容主要是生成新的.dat文件,包含将原来.cmd脚本里的里挖矿程序的下载地址替换为上一步上传到https://transfer.sh/得到的新地址,还有Redis利用的相关语句; 而步主要是调用pnscan去扫描子网段1.0.0.0/16到224.255.0.0/16中开放6379端口并且操作系统为Linux的目标,然后利用redis-cli执行.dat中的命令,进行下个目标的感染;这里pnscan的-W参数值'2a 31 0d 0a 24 34 0d 0a 69 6e 66 6f 0d 0a'转换后内容'*1\r\n$4\r\nINFO\r\n',是向目标Redis服务发送请求获取Redis服务器的各种信息和统计数值,再通过-R参数值'6f 73 3a 4c 69 6e 75 78'(转换后内容为os:Linux)判断是否Linux系统。 最后就是收尾工作,清除相关日志和命令执行历史,同时在脚本退出的时候会触发脚本一开始用trap预置的动作,会做删除操作,删除相关文件和脚本自身(rm -rf m* .cmd tmp.* .r .dat $0)。通过对脚本的解读,我们基本已经清楚整个蠕虫的行为和入侵流程,也就是我们开始所描述的流程。 另外,通过阅读脚本,我们发现虽然整个入侵流程并不是多复杂,但脚本其实有很多”工程化”的细节考虑,不得不让人惊叹入侵者的”考虑周到”: 利用.

    Read more…
  • 新闻:审计中的功能仓储经验:BZSt的观点和实用价值

    背景 联邦财政部与这些国家的最高财政当局达成协议,委托联邦中央税务局(BZSt)评估有关职能部门裁员的规定。该报告于2016年2月发表(参见。以下为BZSt(2016)的陈述,功能性存储经验评估,审计案例发现,压力袋153/16。背景是联邦委员会向联邦政府提出的一项要求,即评估公司和金融管理部门在解除职能方面的经验。最初,这一请求是针对2013年,即在AStG中包含功能性存储税后的五年(参见。一个阿巴斯。3句话9ff AStG)以及行政指示的通过(BMF v.13.10.2010-IV B 5-S 1341/08/10003 BStBl 2010 I S.774,行政原则功能存储)。由于2013年经验不足,评估推迟至2015年。 这份时事通讯总结了本次评估的最终报告的主要结论,并概述了我们在审计方面的经验和职能储存的事实,从而补充了咨询概述。最后,还提到了一份最新的集体协会出版物。 对第1(1)款的修改。AStG引入了功能存储的概念。除非至少有可比交易(实际外汇比较)或免责条款(即个别结算价格评估)是相关的,否则相关转让包应定期进行假设外汇比较。必须确定期末的最低价格和收款人的最高价格(参见。一个阿巴斯。3号卫星9号i.V.m.卫星5号AStG)。 意见摘要 下一节概述了意见的主要结论。详情及来源请参阅报告。在BZSt评估问卷中,对119个审计案例共133个相关公司之间的功能不匹配进行了评估。调查问卷由审计机关答复。调查问卷多达30份。2015年6月在BZSt。 欧盟内记录的73起功能性位移。功能性存储在生产和销售中最为常见。在所有案例中,有55个案例的估价是基于单一的结算价格分析,也就是说,由于至少应用了一个免责条款,因此无法对整个转让包进行估价。在这种情况下,由于缺乏无形经济商品,对个别发票价格的分析占主导地位。其他好处(免责条款1)或由于基本无形经济货物已准确命名(免责条款3)(参见。一个阿巴斯。3第10句AStG)。 几乎85%的传输包评估(cf。57)通过假设的国外比较。其余案例参照有限或完全可比交易进行评估。在转移包评估的情况下,通常由公司进行分析,大约50%的分析由外部专家进行。相对较多的转移包评估(57个评估中的22个)发现了缺陷,主要是由于不完整或不正确的假设。审计机关对不可理解性进行了六次监测。在个人和转移包评估方面的缺陷以及缺乏分析导致在133起案件中估计有42起。 结果,77例功能性存储价值经审计增加,4例功能性存储价值下降。以下图形(参见。报告的图6)显示了增长。虽然经常高达100万。欧元的平均价值是420万欧元。欧元远高于欧元。这显示出高分散性。 尽管该意见仅对估计数的原因作了有条件的陈述,因此对审计的具体批评仍不清楚,但从实践意见中可以推断出一些方面: 对挪用职能的事实定期进行审计。除了在特殊业务情况下有义务及时提供文件外,还应在重组过程中分析功能性减值的存在和评估(参见。90年代阿巴斯。3.AO)。早期分析也有助于可靠地编译文档并检查可能的设计选项。 估算数额巨大的估计数往往是基于不可理解的文件或不合理的假设。这突出表明需要在早期阶段进行评估,并考虑为假设提供充分的理由,并以可理解的方式记录整个情况。 在相对较多的情况下,建立了具有个别转移价格的函数存储转移价格的计算方法。因此,应定期检查三个免责条款中是否有一个(参见。一个阿巴斯。适用于使用设计空间。 在大约15%的案例中,进行了实际的国外比较,因为至少在有限的范围内观察到了可比交易。鉴于方法的层次结构以及为了减少任何评价工作,应审查至少有限的可比交易的可得性。 本文从审计机关的角度进行了较为量化的分析总结,现将定性的审计结论总结出来,从自身的审计实践中总结出来。 实践经验 在审计实践中,在功能存储的上下文中观察到不同的案例组。为了确保案件的匿名性,省略了对案件的描述。相反,在案例组中总结了基本方面。拟定的建议只能提供一个指示,应逐案审查。 地面分类:有几项审计需要观察,其中审计员承担了职能的损失,即使事实没有得到满足。立法者认为,一项职能连同其经济资产和其他利益,以及机会和风险转移给一个跨越国界的亲近的人,这一事实已经实现(参见。一个阿巴斯。1.i.V.m.1.腹肌。3第9句AStG)。因此,如果不传递函数,就不能存储函数。因业务原因纯关闭,不转让在另一个国家开始研究和开发活动,而在德国同时停止研究和开发活动,而不转让,特别是无形经济资产,并不经常构成功能丧失。因此,必须进行详细的功能和风险分析,以及对功能储存前后经济货物分配情况的描述。 对输入变量的详细分析要观察许多测试,其中审计员详细检查评估和相关的输入变量。为此目的,各审计机构都有合格的审计员进行公司评估,部分是作为行业或咨询机构的中间人。例如,在2011年汉堡公民资格考试中,有人讨论了聘用具有商业研究学位(至少是学士学位)的交叉培训师的建议。参议院关于23日公民身份申请的意见附录1。2011年6月“加强税务审计”(新闻案例20/742和补充申请:新闻案例20/848),新闻案例2020/2509)。这一点后来得到了实施。 例如,审计详细审查了计划数据、资本化期间和贴现系数。因此,在评估减值时,应充分考虑输入变量的合理性。计划数据的高度相关性以及管理层对其合理性的相关责任也证实了法律纠纷中的各种判断。例如,OLG Dusseldorf已经在2008年强调,预测必须是“管理层负责人各自业务决策的结果”。在这种情况下,业务决策应基于“相关信息和知情、现实和不矛盾的假设”(参见。OLG Dusseldorf v.07.05.2008 I 26 W 16/06)。建议考虑输入变量对评估结果的敏感性。特别重要的输入变量的分析是特别合理的。实践表明,当个别假设被否决时,例如贴现率或无限期而非有限期的资本化,大量资金很快就会被放置在空间中。 各种审计信息中的文件层不是作为一个封闭的文件提供的,而是在没有充分解释的情况下分散给审计员的。这导致了冗长的测试。考官不能感觉到他完全了解情况。尽管最终要由审计员掌握事实并评估提供给他的文件,但实践表明,易于理解的文件可以对审计产生积极影响。 在个别情况下,应考虑文件的范围,建议采用两步记录方法。在初始文件中,应税人遵守其参与义务,并给予审计员评估事实的机会。基本的假设,但也有一些特殊性,如非典型的利润增长,应该是合理的。应要求提供其他文件,如计划数据的推导。在某些情况下,为了增加法律确定性,最好在移交期间与审查员进行讨论并讨论此事。 在应税人看来,审计没有充分考虑事实,提前作出决定。个别假设无正当理由被否决,取而代之的是没有充分证据的假设。应税人通常在30天内,应要求提交功能储存文件(参见。90年代阿巴斯。3.AO)。对提交的文件评估不足和审计分析不足是不可接受的。提交的文件不是无价的,由财政部门负责举证。 当前关于功能存储和重组的出版物 在功能存储的相关性日益增强的背景下,在2017年初,一本收集卷作为从业者手册出现(参见。Heidecke/Schmidtke/Wilmanns(Hrsg.)(2017年),《功能性存储和结算价格:法律依据、评论、实用提示、Springer》)。在17章中,约550页的20多位作者(经济学家、税务顾问和律师)从清算价格的角度突出了重组中的典型主题以及相关问题。重点是如何识别和评估功能存储。此外,还讨论了以下主题: 集团内部重组的原因和流程 典型的转换定价问题 评价方法及实例 根据HGB第89b节确定索赔 使用乘数分析 会计评估 重组文件要求 典型产业实例与价值链 当前BEPS发展 改制中的工厂问题 工业和行政部门代表访谈 流转税重组的特殊性 重组的民事方面