一个人的闲言碎语

dr0v

blog.drov.com.cn
一个人碎碎念。
About Me
A lazy security employee.

2018年9月30日星期日

实战阶段,利用Burp suite进行漏洞扫描。
扫描以书中提供的菠菜网站:honhei.com为目标进行。
更多渗透测试网站或平台可参考:在线网站十大渗透测试演练系统

Burp Suite漏扫初探

漏洞扫描(下面简称为漏扫——个人行为)也属于信息探测的一种,帮助渗透测试人员/攻击者快速发现目标网站存在的漏洞,如SQL注入漏洞、跨站点脚本攻击、缓冲区溢出等。
通过Proxy对HTTP请求进行劫持后,即可使用Burp Suite丰富的功能对网站进行信息爬取(spider)、漏洞扫描(scanner)、渗透测试(intruder).
通过send to spider,利用BurpSuite内置的网络爬虫可以对目标网站的内容和功能进行枚举。
在Spider的Control页面可以看到爬虫状态,在Options页面则可对爬虫规则进行修改:
  • 爬虫线程数
  • 爬虫深度
  • 请求头
  • 表单填写内容
  • 是否登录
  • ……


而爬取完成后,我们可以在Target中看到爬虫所爬取的页面及每个页面的请求头和响应信息。(后续scanner后则可以看到漏洞扫描的结果信息)
scanner可以针对单一URL进行漏洞扫描测试,也可对整个站点进行扫描。如果仅需要对一个URL进行扫描,则在Proxy拦截到请求时,选择’Do an active scan’;如果需要对整站进行扫描,则可以在spider爬取完所有网站连接后,在Target中选择需要扫描的网站,右键选择’Actively Scan this Host’,接着会出来scan配置页面,可以选择不需要扫描的元素与网页。
扫描结果和修复建议可以在’issue activity’中查看。

已知网站有各种漏洞的情况下,则可以针对相关漏洞,利用intruder进行渗透测试。
在Proxy中或者Target中选择站点或URL,选择’Send to Intruder’即可开始渗透测试。
在Intruder界面中对本次渗透测试进行配置,首先在Positions中对Attack Type进行配置,攻击类型有四个:
攻击类型 说明
Sniper 对变量依次进行破解
Battering ram 对变量同时进行破解
Pitch fork 每个变量将会对应一个字典
Cluster bomb 每个变量将会对应一个字典,并且交集破解,尝试每个组合
然后在请求头中选择变量,如图,我们对路径’index.html’设定为变量——选择请求头中的’index.html’,然后点击’Add$’按钮即可。

之后,在payloads中配置字典,默认是simple list,然后其中有Fuzzing - XSS、Fuzzing - path traversal等选项。选择一项后,即可点击’Start attack’按钮进行攻击测试。
开始渗透测试后,即会弹出进度框对当前测试进度进行展示。



以上仅根据书籍对Burp Suite进行了初步了解和尝试。更多详细讲解可以看:burpsuite实战指南
后续会进行实战尝试,尝试过程和结果会以单blog的形式展示。

2018年9月26日星期三

接下来是利用nmap进行信息采集

Nmap简介

Nmap,扫描之王,是一款开源的用于网络发现和安全审计的网络安全工具(可参见:Nmap(网络映射器) ),主要功能为:
  • 列举网络主机清单
  • 管理服务升级调度
  • 监控主机
  • 服务运行状况
Nmap通常用于搜集目标主机的基本状态信息,而通过添加插件,Nmap可以在扫描结果基础上进行漏洞扫描、漏洞利用和权限提升:
  • 检测SQL注入
  • 网页爬虫
  • 数据库密码检测
  • ……

Nmap的安装与配置

通过网站 https://nmap.org/download.html 可下载MacOS、Windows、Linux各平台的傻瓜式安装包。
通过傻瓜式安装包提示即可完成Nmap的安装操作。
安装完成后,可通过zenmap(nmap的图形化界面程序)或终端命令来使用nmap的各项功能。
zenmap可自定义扫描语句——其效果等同于终端输入自定义语句。


Nmap简单使用

nmap常用参数和说明:
参数 说明
-sT TCP connect()扫描,这种方式会再目标主机的日志中记录大批连接请求和错误信息
-sP ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
-sS 半开扫描,一般不会记入日志,不过需要root权限。
-sU udp扫描,但是一般不可靠,
-sA 用来穿过防火墙的规则集,速度慢。
-sV 端口服务及版本
-A 包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。
-P0 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
-v 显示扫描进程
-O 探测目标系统的漏洞,容易误报
-oN/ -oX/ -oG 将报告写入文件,格式分别为正常(自定义.txt),XML,grepable.
-iL 扫描主机列表
-sC –script=default 默认的脚本扫描,主要是搜集各种应用服务的信息
从一个简单扫描语句入手,如 nmap -p 80,22,1521 www.baidu.com ,指定端口对主机进行探测,返回探测结果。
nmap还有强大的脚本引擎,在其安装目录的Script文件夹下,大量’.nse’文件即为nmap脚本,用户也可自行编写nmap脚本;诸多脚本引擎为nmap拓展了许多如漏洞扫描、漏洞利用、目录扫描等实用功能。
nmap脚本使用方法十分简单,添加命令--script=script_name即可,更多可参考:NSEDoc Reference Portal
例:扫描web应用的敏感目录—— nmap -p 80 --script=http-enum.nse www.baidu.com
也可直接使用所有脚本对主机进行扫描: nmap --script all www.**.com 漫无目的 式扫描,这里就不做测试了。
更多脚本使用姿势:Nmap Scripting Engine - Usage and Examples
接下来是我比较喜欢的踩点环节——信息探测;个人最爱的Google Hacking

Google Hacking

“踩点”,即在正式安全测试/攻击前最重要的信息采集。所谓知己知彼,百战不殆,对测试/攻击目标的信息采集越全面,后续实际测试/攻击行动执行则会越轻松。
搜集信息应包括:
  • 网站注册人
  • 目标网站系统
  • 目标服务器系统
  • 目标网站关联子域名
  • 目标网站关键路径
  • 目标服务器开放端口
  • 服务器存放网站
  • 服务器配置信息

搜集子域名

搜集方法十分简便:google搜索site:google.com,即可搜到15亿条数据,从中可以看到大量属于google的子服务/域名,一般选取前200条结果即可(过多筛选难度大)。
此外,还可以通过减号运算符排除不感兴趣的子域名,如site:google.com -site:cloud
其他比较好的搜集方法:
当前没有比较好的方法完全采集子域名,主要局限于任务量大和收录不全。

搜集Web信息

通过google常用的语法,可以对web应用进行敏感信息探测。
关键字 说明
site 指定域名
intext 正文中存在关键字的网页
intitle 标题中存在关键字的网页
info 一些基本信息
inurl URL存在关键字的网页
filetype 搜索指定文件类型

案例一:搜索存在敏感信息的网站

输入 intitle:管理登录 filetype:php 即可搜索到网站标题为”管理登录”,类型为php的网站——即网站的管理员后台页面,可通过字典爆破或针对性漏洞攻击获取后台管理页面登录权限,从而达到管理网站、上传shellcode等入侵目的。

案例二:搜索他人遗留的webshell

输入 inurl:b374k.php filetype:php -site:github.com 即可搜索到他人hack网站后遗留的webshell,一般可通过这些webshell进行脚本上传、内网渗透等。
关键字可进行替换:
inurl:b374k.php filetype:php
inurl:c99.php
inurl:c100.php Generation time:
inurl:itsecteam_shell.php
intext:x2300 Locus7Shell v. 1.0a beta Modded by
intext:c99shell inurl:c99.php
powered by Captain Crunch Security Team
"inurl:c99.php" + "intext:safe"
intitle:r57shell
intitle:c99shell +uname
inurl:c99.php uid=0(root)
intitle:c99shell+filetype:php
intitle:ly0kha shell
inurl:.php "cURL: ON MySQL: ON MSSQL: OFF"
"Shell" filetypehp intext:"uname -a:" "EDT 2010"
intitle:"intitle:r57shell"
inurl:"c99.php" & intext:Encoder Tools Proc. 
inurl:"c100.php" & intext:Encoder Tools Proc. 
intitle:"Shell" inurl:".php" & intext:Encoder Tools Proc.

关于google hacking,推荐食用:熟练利用google hacking来辅助我们快速渗透

2018年9月24日星期一

  • 又一个利用adb接口传播的蠕虫,其C2域名musl.lib是由基于区块链的DNS系统——EmereDNS解析的。
    musl.lib #主控域名,由区块链DNS系统EmerDNS解析
    66.42.57.45:7000 #Singapore/SG Singapore #当前主控IP
    ukrainianhorseriding.com #历史关联域名
    27.102.115.44 #Republic of Korea/KR AS45996
    rippr.cc #历史关联域名,Satori主控
    吐槽:比较新的点在于对C2的隐藏上面
  • 大而全的概述了企业安全建设的方方面面:终端安全、应用安全(漏洞扫描)、网络安全、员工安全培训等,可用于扩充安全视角,也能用于指导企业安全建设。
    目录如下:
    吐槽:会有点太长不看的感觉。
  • 互联网反欺诈体系至少要做到三个层面的欺诈特征检测:
    • Real —— 区分用户是否真实
    • Right —— 用户信息是否真实有效;勾稽对比、交叉对比
    • Reliable —— 动机校验;结合用户的社交、通讯、金融、出行、车产、房产、职业等多维度的信息,进行横向的关联分析
      吐槽:这个系列都是只谈概念,不讲干货(个人观点)。
  • halong.dulichculao.com 曾在对越某些机构发起的网络攻击中用过,Fortinet曾对这类攻击做过详细分析,并把其追溯为黑客组织-1937CN。
    把这两次攻击的各项TTP指标进行对比,发现基本相似,攻击者都使用了RTF文档作为前期入侵,而用DLL劫持作为后期payload加载。
    此次攻击中的另外一个域名cat.toonganuh.com,是toonganuh.com的子域名,也曾被发现和黑客组织-1937CN注册过的邮箱florence1972@scryptmail.com有关联。
    吐槽:上次是从Uber数据分析出APT10;这次又是1937CN?
  • google发现Honeywell的android设备存在提权漏洞,Honeywell已修复漏洞。
    吐槽:所以以子之矛,攻子之盾?
  • 配合风云再起,签名冒用引发信任危机食用,对签名滥用、盗用、冒用有一个更好的了解。
    吐槽:火绒应该是国内终端安全做的最成功的了吧?不过可能我不太是目标群体,所以不了解。
    另:签名冒用、滥用在Android端其实更严重。
  • 360推测的攻击过程:
    攻击阶段使用技术
    攻击入口利用鱼叉邮件投递漏洞文档,如CVE-2017-11882漏洞文档
    初始控制远程下载伪装成图片的PowerShell脚本载荷 利用McAfee的白利用技术执行核心dll载荷
    横向移动主要利用系统命令实现横向移动:
    - 使用nbt.exe进行扫描
    - net.exe实现IPC用户添加
    - MsBuild.exe在内网机器上编译生成恶意dll模块并执行
    “海莲花”组织一直在不断更新和演变其攻击的战术技术特点,并擅长于利用开源或公开的攻击工具和代码用于自身的攻击活动中。
    吐槽:其实这更像一篇360威胁情报平台的软文。
  • Palo Alto Networks的Unit 42研究团队发现了一种新的恶意软件类——Xbash,能够针对Linux和Windows服务器,将加密货币挖掘,僵尸网络和勒索软件功能结合在一个自我扩展的蠕虫软件包中。
    Xbash使用可利用的漏洞和弱密码强制组合在服务器之间传播,与其他勒索软件不同,默认情况下启用了数据销毁功能,没有恢复功能,几乎不可能进行文件恢复。
    Unit 42已经发现48个传入到Xbash勒索软件组件中的硬编码钱包总计6000美元.
    吐槽:这是没有职业道德的勒索软件。
  • 工具作业图:
    正经:威胁猎人是真勇士,深入敌后。
  • 9月18日凌晨,Apple正式对外发布最新的iOS 12系统,现在,阿里安全潘多拉实验室安全专家已经攻破,实现完美越狱。
    吐槽:beta版的漏洞,正式版没修复就是这种后果咯。
  • tag:供应链安全
    Hook setup.py install 过程 构造恶意三方包,原理如下:
    setuptools 包提供了一个安装类 : setuptools.command.install.install,只要继承这个类,然后重写其run方法,那么就可以达到hook pip install xxx/ 或 python setup.py install 行为的目的。
    完整hook 需要2步:
    • 第一步,重写安装类,即重写原生install 类的ru 方法:
      class CustomInstallCommand(install):
      
    • 第二步,在setuptools.setup 设置中指明重写后的安装类:
      setuptools.setup(
      
      ...
      
      ,
      
      cmdclass={
      
      'install': CustomInstallCommand,
      
      },
      
      )
      
      吐槽:所以供应链要加强审核,不过目前应该暂未发现实际攻击案例。
  • 配合威胁猎杀实战(一):平台 食用,拓展安全视野。
    吐槽:本质是天御威胁感知平台的软文。

2018年9月21日星期五

继续学习笔记,截取http请求初尝——工具使用:Burp Suite Proxy、Fiddler、WinSock Expert。

截取HTTP请求

渗透测试中,通常会通过截取HTTP请求来分析web应用是否存在漏洞,诸如绕过JavaScript验证、隐藏标签内容等。

Burp Suite Proxy

Burp Suite是用于Web应用安全测试工具的集成平台,包含许多工具并提供接口便于拓展开发。
首先,推荐参考工具书:burpsuite实战指南
Burp Suite功能:
工具 说明
Proxy 一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截、查看、修改在两个方向上的原始数据包
Spider 一个应用智能感应的网络爬虫,能完整地 枚举Web应用程序的内容和功能
Scanner 一个高级漏洞扫描工具,能自动发现Web应用程序的安全漏洞
Intruder 一个定制的高度可配置工具,可对Web应用程序进行自动化攻击,如:枚举标识符、表单破解和信息采集
Repeater 一个靠手动操作来补发单独的HTTP请求并分析Web应用程序响应的工具
Sequencer 一个用来分析不可预知的Web应用程序会话令牌和重要数据项的随机性工具
Decoder 一个编解码工具
Comparer 一个通过一些相关请求和响应得到两项数据可视化”差异”的工具
通过Proxy进行简单的功能体验:

burp suite默认proxy的设置监听地址和端口是127.0.0.1:8080,支持自由设置。
  1. 然后在浏览器中设置代理为127.0.0.1:8080,之后所有的请求都会被Burp Suite拦截了。(windows IE设置路径:设置-Internet选项-连接-局域网设置;MacOS Safari设置路径:偏好设定-进阶-代理服务器-更改设定-http代理&https代理)
浏览器请求网页访问后,请求即被hook,在Burp Suite的Proxy页面上,可以看到http请求的具体内容,并可对内容参数进行修改,修改完成后,点击Forward即可进行下一步(发送请求),另外三个按钮分别是Drop(放弃本次请求)、Intercept is on(拦截开关)和Action(动作选项,可选择将本次请求发送至Spider等其他工具)。
原书建立了一个验证页面,进行了攻击演示。(本文不做这方面的个人实践了,后续有实战再上实战截图吧。)

Fiddler

Fiddler是一款优秀的Web调试工具,可对HTTP/HTTPS通信进行断点调试,修改输入/输出(因此较多用于Android应用破解与调试中).一些基本教程
一些关键功能说明:
  • 过滤器:过滤请求消息、响应消息、状态码等,用于过滤不需关注的css文件、IMAGE等会话。
  • 设置断点:1、通过”Rules” -> “Automatic Breakpoints”选择在请求前、响应后进行拦截或不拦截;2、通过命令”bpu www.xxoo.com”(拦截所有该网站会话)或”bpafter **”(拦截响应消息)
  • 第三方插件:
    • Intruder21:类似Burp的Intruder模块, 用于fuzzing;
    • x5s:快速发现跨站脚本漏洞;
    • Ammonite:一款web应用安全扫描插件,检测SQL注入、命令行注入、本地文件包含、缓冲区溢出和XSS漏洞。(ammonite看来是下架了-.-)
  • 移动端抓包:设置”Allow remote computers to connect”,在终端上安装fiddler证书,并设置fiddler主机IP地址为代理服务器,即可对手机端HTTP/HTTPS请求进行抓包分析与劫持。

WinSock Expert

WinSock Expert可以抓取指定进程的数据包(可以监视与修改)。(其优点在于大小仅200KB)
在WinSock Expert的进程列表中选中进程,点击”Open”即可对进程的网络通信进行监控。

黑帽SEO之搜索引擎劫持

利用HTTP协议劫持搜索引擎做SEO优化,可能是最古老、寿命最长的黑产之一了。
黑帽SEO的一般原理是:
  1. 入侵大流量网站或关键词相关网站,注入劫持代码(代码如图——原理如下);
  2. 建立劫持搜索引擎库:以baidu、google等域名为关键字;
  3. 获取HTTP Referer头;
  4. 遍历搜索引擎库,并与Referer的内容进行比较,如果两者相同或者存在搜索关键字,即跳转到指定页面,也就是域名劫持。
更多技术手法可参考:黑帽SEO剖析之手法篇