郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

前言

对没错这是这星期的第三篇文章了,目前只写了个GitHub的使用方法,等周六周天补充吧

Github搜索语法

众所周知,GitHub就是信息泄露的宝库之一,用好语法天天高危来敲你家门(逃

相关语法

查询大于或小于另一个值的值

您可以使用>>=<,和<=搜索是大于,大于或等于,小于和小于或等于另一个值的值。

查询 示例
>n cats stars:>1000 匹配含有 “cats” 字样、星标超过 1000 个的仓库。
>=n cats topics:>=5 匹配含有 “cats” 字样、有 5 个或更多主题的仓库。
<n cats size:<10000 匹配小于 10 KB 的文件中含有 “cats” 字样的代码。
<=n cats stars:<=50 匹配含有 “cats” 字样、星标不超过 50 个的仓库。
n..* cats stars:10…* 等同于 stars:>=10 并匹配含有 “cats” 字样、有 10 个或更多星号的仓库。
*..n cats stars:*…10 等同于 stars:<=10 并匹配含有 “cats” 字样、有不超过 10 个星号的仓库。

查询范围之间的值

您可以使用范围语法 n..n 搜索范围内的值,其中第一个数字 n 是最低值,而第二个是最高值。

查询 示例
n..n cats stars:10…50 匹配含有 “cats” 字样、有 10 到 50 个星号的仓库。

查询日期

您可以通过使用 >>=<<= 和范围查询搜索早于或晚于另一个日期,或者位于日期范围内的日期。 日期格式必须遵循 ISO8601标准,即 YYYY-MM-DD(年-月-日)。

查询 示例
>YYYY-MM-DD cats created:>2016-04-29 匹配含有 “cats” 字样、在 2016 年 4 月 29 日之后创建的议题。
>=YYYY-MM-DD cats created:>=2017-04-01 匹配含有 “cats” 字样、在 2017 年 4 月 1 日或之后创建的议题。
<YYYY-MM-DD cats pushed:<2012-07-05 匹配在 2012 年 7 月 5 日之前推送的仓库中含有 “cats” 字样的代码。
<=YYYY-MM-DD cats created:<=2012-07-04 匹配含有 “cats” 字样、在 2012 年 7 月 4 日或之前创建的议题。
YYYY-MM-DD..YYYY-MM-DD cats pushed:2016-04-30…2016-07-04 匹配含有 “cats” 字样、在 2016 年 4 月末到 7 月之间推送的仓库。
YYYY-MM-DD.. cats created:2012-04-30…* 匹配在 2012 年 4 月 30 日之后创建、含有 “cats” 字样的议题。
..YYYY-MM-DD cats created:*…2012-04-30 匹配在 2012 年 7 月 4 日之前创建、含有 “cats” 字样的议题。

您也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。 这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。

查询 示例
YYYY-MM-DDTHH:MM:SS+00:00 cats created:2017-01-01T01:00:00+07:00…2017-03-01T15:30:15+07:00 匹配在 2017 年 1 月 1 日凌晨 1 点(UTC 偏移为 07:00)与 2017 年 3 月 1 日下午 3 点(UTC 偏移为 07:00)之间创建的议题。
YYYY-MM-DDTHH:MM:SSZ cats created:2016-03-21T14:11:00Z…2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日下午 2:11 与 2016 年 4 月 7 日晚上 8:45 之间创建的议题。

逻辑运算符

您可以使用 NOT 语法排除包含特定字词的结果。 NOT 运算符只能用于字符串关键词, 不适用于数字或日期。

查询 示例
NOT hello NOT world 匹配含有 “hello” 字样但不含有 “world” 字样的仓库。

还可以使用包括ANDOR运算符

排除运算符

缩小搜索结果范围的另一种途径是排除特定的子集。 您可以为任何搜索限定符添加 - 前缀,以排除该限定符匹配的所有结果。

查询 示例
-*QUALIFIER cats stars:>10 -language:javascript 匹配含有 “cats” 字样、有超过 10 个星号但并非以 JavaScript 编写的仓库。
mentions:defunkt -org:github 匹配提及 @defunkt 且不在 GitHub 组织仓库中的议题

有空格的查询需使用引号

如果搜索含有空格的查询,您需要用引号将其括起来。 例如:

包含运算符

查询 示例
in:file cats in:file 搜索文件中包含cats的代码
in:path cats in:path 搜索路径中包含cats的代码。cats in:path,file 搜索路径、文件中包含cats的代码

关键字总结

pushed:在push中的代码中查找

created:基于创建时间查找

stars:基于star数量查找

topics:基于标签数查找

size:基于仓库文件数大小查找

language:基于语言查找

user:基于用户名查找

org:基于组织搜索

in:包含搜索

repo:指定仓库搜索 repo:USERNAME/REPOSITORY

filename:基于文件名查找

path:指定路径搜索 cats path:app/public language:javascript 搜索关键字cats,且语言为javascript,在app/public下的代码

extension:指定扩展名搜索 extension:properties jdbc

注意事项

  • 只能搜索小于384 KB的文件。
  • 不支持长度超过 256 个字符的查询
  • 您无法使用超过五个 ANDORNOT 运算符构造查询
  • 只能搜索少于500,000个文件的存储库。
  • 登录的用户可以搜索所有公共存储库。
  • filename搜索外,搜索源代码时必须至少包含一个搜索词。例如,搜索language:javascript无效,而是这样:amazing language:javascript
  • 搜索结果最多可以显示来自同一文件的两个片段,但文件中可能会有更多结果。
  • 您不能将以下通配符用作搜索查询的一部分:. , : ; / \ ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]。搜索将忽略这些符号。

搜索引擎搜索

这个就那几个语法,大家应该都会。

APP收集

安卓

可以通过各大APP商店来搜索

GooglePlay商店:https://developer.android.google.cn
小米应用商店:http://app.mi.com/
豌豆荚:https://www.wandoujia.com/
豆瓣:https://www.douban.com/app/search
华为应用市场:https://appgallery1.huawei.com
360手机助手:http://zhushou.360.cn/
腾讯应用宝:http://android.myapp.com/
百度手机助手:https://sj.qq.com/
OPPO软件商店:https://store.oppomobile.com/
VIVO应用商店:https://dev.vivo.com.cn/distribute/appStore
搜狗手机助手:http://zhushou.sogou.com/
PP助手:https://www.25pp.com/android/
魅族应用中心: http://app.meizu.com/
乐商店:https://www.lenovomm.com/
安卓市场:http://apk.hiapk.com/

IOS

直接在AppStore上搜索,这里有一个小技巧可以用在搜索上,如果安卓商店也有的话也能适用,这边就拿酷狗来试验

image-20200724172826427

可以看到我们点进去这个APP后这是这样的,但是你们发现这边有一个开发者位置了吗

点击这个开发者按钮

image-20200724172949944

我们可以看到旗下的APP全在这边了是不是很方便,有些还会有子公司的APP在里面,比如子公司广州繁星互娱信息科技有限公司,然后依旧点进去开发者里面

image-20200724173222756

是不是发现又多了好多APP

image-20200724173330399

公众号&小程序收集

这个方法就不一一举例了

微信:通过搜索来查小程序和公众号

支付宝:可以通过支付宝来搞一波看下有没有小程序

公司信息收集

有些人会问为啥要查询这些信息啊,公司信息和渗透有毛关系,因为有些子公司也会用母公司的API以及数据库之类的,但是子公司的安全意识不一定强,我们渗透不能头铁要找软柿子捏

企查查:https://www.qcc.com/
天眼查:https://www.tianyancha.com/
启信宝:https://www.qixin.com/
企查猫:https://www.qichamao.com/
神眼查:https://www.shenyancha.com/

这边就列举这几个,正常查询差不多不会有漏下的了,接下来就是把子公司的域名啥的搜集起来用工具跑子域名了

子域名收集

一些好的子域名收集项目,这几个目前我用起来还不错,其他的一些子域名项目好多都是几年没更新了,害

https://github.com/shmilylty/OneForAll
https://github.com/laramies/theHarvester
https://github.com/aboul3la/Sublist3r

端口收集

收集完子域名就可以批量扫描一波端口了

当需要扫描B端之类的IP的时候,创建一个文件ip.txt然后里面填IP段,运行下面的代码直接起飞

sudo nmap -sS -Pn -n --min-hostgroup 500 --min-parallelism 2048 --host-timeout 30 -T4 -v -p 20,21,22,23,80,161,389,443,873,1025,1099,2222,2601,2604,3312,3311,4440,5900,5901,5902,7002,9000,9200,10000,50000,50060,50030,8080,139,445,3389,13389,7001,1521,3306,1433,5000,5432,27017,6379,11211,53,389 -iL ip.txt >> result.txt

提取数据的脚本

import re
f = open("1.txt","r")
f2 = open("2.txt","a+")
lines = f.readlines()
i=0
for line in lines:
try:
result1 = re.findall(r'Discovered open port (.*)/tcp', line)
result2 = re.findall(r'/tcp on (.*)', line)
print(result2[0]+":"+result1[0])
i=i+1
f2.write(result2[0]+":"+result1[0]+"\n")

except:
pass

print("提取数:"+str(i))

员工邮箱收集

进过我们上面的一大波收集信息,我们可以知道的前置信息

  • C段中哪些IP的对应的端口是邮箱
  • 子域名是邮箱地址

如果以上方式都没有收集到我们需要的邮箱的地址的话,那我们还有办法(方法不全,主要是因为这个不常用

利用一些网站来搜索

//部分免费
https://hunter.io
//部分免费
http://www.skymem.info
//这个网站免费
https://www.email-format.com/i/search/

image-20200725131737949

image-20200725130658393

image-20200725130959273

接下来是开源项目

https://github.com/laramies/theHarvester

这项目还挺不错的,直接输入域名然后写入到html文件中

python3 theHarvester.py -d xxxxx.com -l 2000 -b all -f test.html

image-20200725162758219

查看邮箱是否再用

有时候有可能目标员工离职了之类的话,这个邮箱可能有不能使用了,那么我们可以用这个网站来进行测试

https://mailtester.com/testmail.php

image-20200725143449599

或者写个批量脚本批量跑

参考文章

https://docs.github.com/cn/github/searching-for-information-on-github/understanding-the-search-syntax
https://mp.weixin.qq.com/s?__biz=MzAwMzYxNzc1OA==&mid=2247483886&idx=1&sn=4c98836e278737054a2d32416007fa27&chksm=9b39275fac4eae490e0c5ca5f90887aa3b8a441f137d18d3b73470ba46577b41ea3a9cfa1342&mpshare=1&scene=1&srcid=0724A6jortzlAN8nrOPDkXZV&sharer_sharetime=1595586201150&sharer_shareid=de4f8e5a5ad7bd6a89317b77fa1ff085#rd