Day 6 被动搜查(3)-Google Hacking、shadon、.git 泄漏

常见的搜寻引擎

为什麽要利用搜寻引擎找到有关於目标的资讯。
因为搜寻引擎最方便,透过浏览器最容易可以使用。

Google 搜寻

你会用 google 当然骇客也会用 google!

一般人使用:如何当骇客
骇客使用:site:feifei.tw

语法 说明 范例
+ 连接多个关键字 --
- 忽略关键字 --
.. 范围 --
* 万用字元 --
"" 精准查询,一定要符合关键字 "index of"
intext 搜寻网页内容,列出符合关键字的网页 intext:"SECRET_KEY="
intitle 搜寻网页中的标题 intitle:"index of"
cache 搜寻指定网址的快取、缓存 cache:网址
define 搜寻关键字的定义 define:hacker
filetype 搜寻指定类型的文件 filetype:pdf
info 搜寻指定网站的基本资讯 info:www.fcu.edu.tw
related 搜寻类似於指定网站的其他网站 related:www.fcu.edu.tw
inurl 寻找指定的字串是否在网址列当中 inurl:www.fcu.edu.tw
site 搜寻指定网址的内容 site:www.fcu.edu.tw

Q:针对 google 的进阶用法,一定要背这些语法吗?
A:一开始可以使用 Google 页面的「进阶搜寻」,用久了就会记得。

  1. 进入 https://www.google.com/,点选右下角的进阶搜寻。
  2. 进入 https://www.google.com/advanced_search
  3. 选择指定的类别

Q:有什麽真实案例可以分享的?
A:许多工程师贪图方便或是没有注意,会把帐号密码一起上传到正式的环境中,若被 google 收录,将造成严重的敏感资料外泄。

Q:可是我不知道要蒐集什麽,什麽资料是我的目标?
A:

  1. 网路设定档案
  2. 包含企业内部的信箱
  3. 企业使用的帐号格式
  4. 帐号、密码、私钥
  5. 第三方服务、云端服务的设定档案
  6. 错误讯息
  7. 正在开发、测试中、使用者测试、历史版本的网站

Q:搜寻目标除了从域名下手,也可从那些路径下手呢?
根目录底下的 robots.txt 该档案为了要提供给搜寻引擎使用,搜寻引擎其实是一个巨大的「爬虫」,每天都会爬大量的网站收录在自己的资料库中,有哪些路径要提供给搜寻引擎爬,有那些不想让搜寻引擎收录,都可以在 robots.txt 被定义。

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml
  • User-agent:指定的 bot 他请求时所代的 User-agent,* 为万用字元,符合所有机器人。
  • Disallow:不允许收录的路径
  • Allow:允许收录的路径
  • Sitemap:路径地图

这些不被允许收录的路径,可能就包含敏感路径,如登入口,渗透测试可以从这个点下手。

Google Hacking, or Dorking

进入网站google Hacking後,选取右边的 Filters 可查询指定的类型。

GHDB 类型 说明
Footholds 找寻突破口(立足点)
Files Containing Usernames 包含使用者帐号的档案
Sensitive Directories 敏感资料夹
Web Server Detection 网站服务器侦测
Vulnerable Files 有弱点的档案
Vulnerable Servers 有弱点的服务器
Error Messages 错误讯息
Files Containing Juicy Info 敏感档案内包含有用的资料
Files Containing Passwords 敏感档案内包含密码
Sensitive Online Shopping Info 敏感的网路购物资讯如卡号
Network or Vulnerability Data 网路中可能含有弱点的页面如 log
Pages Containing Login Portals 包含登入资讯的页面
Various Online Devices 正在网路的设备如印表机或摄影机
Advisories and Vulnerabilities 有漏洞和警告讯息的页面

google map

许多人上传照片时,没有注意照片里面是否包含敏感资讯,如果咖啡厅的 wifi 密码,或是会议室的纸条,因此 google map 也可以是蒐集资讯的好工具。

shadon

该网站如同巨大的爬虫,每天都会搜寻网全世界的设备,并收录在自己的网站中,也会蒐集 port,该服务器上的版本。
如果你有教育帐号可以申请教育方案,每次的黑色星期五也会特价,该网站也有支援 api,也有 python 的套件可以使用。

GitHub/Gitlab

  1. 上传金钥/密码到专案
    企业的程序码,若使用 github 或 gitlab 权限若没有设定完全,或是工程师没有注意,可能会把金钥上传网路。
  2. .git / .svn 资料夹未进行权限控管,任何人都可以存取
    使用 .git 版本控制,且没有将该资料夹进行权限控管,导致骇客可以直接透过工具打包原始码。

tool

  • scrabble
    • scrabble http://<目标 IP 或网站>/
  • GitHack
    • GitHack.py http://<目标 IP 或网站>/.git/
curl http://<目标 IP 或网站>/.git/
curl http://<目标 IP 或网站>/.git/HEAD
curl http://<目标 IP 或网站>/.git/refs/heads/master
# fdc11631133e1e9f4a07a1873da072e4d86d747a
git init
git http-fetch -a  fdc11631133e1e9f4a07a1873da072e4d86d747a http://<目标IP>/.git/
ls -la
git checkout fdc11631133e1e9f4a07a1873da072e4d86d747a
ls -lat
# 查看历史内容内容
git log
git log -p
  1. 针对苹果系统的敏感资料夹 .DS_Store
    tool
  • ds_store_exp
    • python ds_store_exp.py http://www.example.com/.DS_Store

防护方式

确认服务器是否有 DS_Store 资料夹

find . -type f -iname "*.DS_Store*"
  • Apache 放在 httpd.conf
<Files ~ "\.DS_Store$">
    Order allow,deny
    Deny from all
</Files>

<Files ~ "\.git$">
    Order allow,deny
    Deny from all
</Files>

<Files ~ "\.svn$">
    Order allow,deny
    Deny from all
</Files>
  • Nginx 设定档
location ~ \.DS_Store$ {
      deny all;
}

location ~ \.git$ {
      deny all;
}

location ~ \.svn$ {
      deny all;
}

<<:  DAY 6 ROS 通讯架构2

>>:  Day07 - 登入的过程

Day 27: Behavioral patterns - Template Method

目的 亲代物件负责架构,实作细节则交给继承的子代物件负责。 说明 试想一个情境,物件内某个方法的实作...

网路的小技巧-3

//兴趣记录一下~希望退休以後可以回味,各位别嫌弃,感谢各位!! /// //三家分公司互连 图(一...

占位符文字太多超过显示范围

缘由: 今天一样讲画面布局的部分,开发时常常会使用到让使用者填入资料的textfield,但常常为了...

【DAY 05】HTML 标签的基本元素(二)

前言 忘记一天要发一篇,被自己笨死~~虽然中断了但我还是把它完成吧。 今天一样继续HTML语法吧 超...

【Day 16】jQuery事件

jQuery事件 说明:是为响应 HTML 页面中的事件而订制的。 何谓事件(Events)? 网页...