上一章介绍了工具的使用,下面来介绍不利用工具,使用其他途径查询收集目标信息,可以通过
社交网络来收集目标信息,例如对方的公司在微博,公众号等发布的信息,
工商注册信息
论坛/新闻
员工招聘,例如急需哪方面的人才,尽可能的推测和发现目标公司的安全隐患,例如你的目标公司在急需找安全方面的人才,尤其需要web注入的人才,那么可以推断,对方目标公司有web注入的隐患,可以尝试注入
社会工程学
下面介绍一个网站
这个网站他只收集互联网上面的网站版本信息,每隔一段时间收集一次,我们可以利用这个查询目标公司历史性的都是用过哪些版本
蓝色的都是这个网站的快照版本,随机点进去一个你会发现是目标网站曾经用过的页面
这边点击的是10月1号的版本信息,能看它这个页面就是10月1号当天使用的页面,我们查到到这个页面可以查看它网页的源代码编写的方式,了解到他们当时编写的技术情况
如果你通过这些历史信息找到了对方的管理员登陆页面,例如邮箱,服务器群,web配置等,并且通过前面的大量的信息搜索,你也搜索到了目标公司员工的姓名或者手机号信息邮箱等个人信息,了解到这些信息后是作为后期社会工程学,还有用来破解他的密码使用的,谈到密码,后面会有一大章的内容来讲密码破解技术,现在单单只是将密码破解字典的一个小工具,密码破解常见的有 字典破解 猜测破解 也可以使用完全暴力的方式,然而在这些破解中 字典破解和暴力破解 他们的效率都是非常低的,效果也不是很好,如果对方开启的有反网络犯罪协议的话(MySQL中的也可以开启在linux中),你尝试输入密码超过10次/10次以下就会对你IP进行封禁,你就无法再次进行破解,比较主流的高效的方法都是根据你的个人信息,为这个人定制的一个密码字典,这个字典不会太大,通常只有几百或者几千条,不会动则几十万几百万的密码字典,个人定制的这个字典为什么效率高呢,通常自己设置的密码一般会根据自己的名称,姓名,手机号,生日,自己的宠物,男女朋友名字等设置密码,
现在有一个程序,这个程序会把你的个人信息进行收集,为你生成一个专属的字典爆破你的密码,命中率非常高
这个程序没有包含在kali库内,需要自己手动安装,安装前需要安装Git
这个程序的名字叫:
CUPP----Common User Password Profiler
如果没有安装git需要先下载git
apt-get update
apt-get install git
git clone https://github.com/Mebus/cupp.git 安装cupp程序
pythub3 cupp.py -l 运行 注意:运行之前要先进入cupp目录内,否者无法直接使用,如果想要直接使用就将cupp.py移动到bin目录下就可以直接使用了root@kali:~/cupp# python3 cupp.py
___________
cupp.py! # Common
\ # User
\ ,__, # Passwords
\ (oo)____ # Profiler
(__) )\
||--|| * [ Muris Kurgas | j0rgan@remote-exploit.org ]
[ Mebus | https://github.com/Mebus/]
usage: cupp.py [-h] [-i | -w FILENAME | -l | -a | -v] [-q]
Common User Passwords Profiler
optional arguments:
-h, --help show this help message and exit
-i, --interactive Interactive questions for user password profiling
-w FILENAME Use this option to improve existing dictionary, or WyD.pl
output to make some pwnsauce
-l Download huge wordlists from repository
-a Parse default usernames and passwords directly from
Alecto DB. Project Alecto uses purified databases of
Phenoelit and CIRT which were merged and enhanced
-v, --version Show the version of this program.
-q, --quiet Quiet mode (don't print banner)
下面介绍常用的参数,如果想要深入就自行百度研究吧
-h使用帮助
-i是交互,当你使用-i的话他会问你要猜测的用户名称是什么,父亲是谁,母亲是谁,等输入完成以后会生成一个专属于这个用户的字典,当然也可以使用这个程序自带的字典文件,建议使用-i参数,因为比较小巧,命中率高
-l这个程序自己的字典文件
我们输入python3 cupp.py -i后会显示下面的内容
root@kali:~/cupp# python3 cupp.py -i
___________
cupp.py! # Common
\ # User
\ ,__, # Passwords
\ (oo)____ # Profiler
(__) )\
||--|| * [ Muris Kurgas | j0rgan@remote-exploit.org ]
[ Mebus | https://github.com/Mebus/]
[+] Insert the information about the victim to make a dictionary
[+] If you don't know all the info, just hit enter when asked! ;)
> First Name: 提示你输入信息,输入破解密码的受害者他的信息,如果你不知道所有的信息就直接回车,
first name是名,不是全称
> First Name: 123
> Surname: 随后又会让你输入他的姓氏,Surname是指姓氏
> First Name: 123
> Surname: 123
> Nickname:输入完姓氏后,Nickname是代表他的外号
> First Name: 123
> Surname: 123
> Nickname: 123
> Birthdate (DDMMYYYY): 外号输入以后,Birthdate表示的是它的生日,注意这个,它的格式是DDMMYYY意思就是出生日出生月出成年,例如1999.01.01在这个里面就填写01011999
> Nickname: 123
> Birthdate (DDMMYYYY):
> Partners) name: 生日填写完成以后,Partners) name是让你输入他父母的名字,或者他的合作伙伴
> Birthdate (DDMMYYYY):
> Partners) name:
> Partners) nickname: 父母的名字输入完成以后会让你输入父母的外号,或者合作伙伴的外号
> Partners) name:
> Partners) nickname:
> Partners) birthdate (DDMMYYYY): 然后让输入父母的生日,或者合作伙伴的生日 格式和上方一样
> Partners) nickname:
> Partners) birthdate (DDMMYYYY):
> Child's name: Child's name:表示的是他自己孩子的名字
> Partners) birthdate (DDMMYYYY):
> Child's name:
> Child's nickname: Child's nickname: 随后又是他孩子的外号
> Child's name:
> Child's nickname:
> Child's birthdate (DDMMYYYY): Child's birthdate (DDMMYYYY),他的孩子生日
> Child's nickname:
> Child's birthdate (DDMMYYYY):
> Pet's name: Pet's name: ,他的宠物名字
> Child's birthdate (DDMMYYYY):
> Pet's name:
> Company name: Company name,他公司的名称
> First Name: 123
> Surname: 123
> Nickname: 123
> Birthdate (DDMMYYYY):
> Partners) name:
> Partners) nickname:
> Partners) birthdate (DDMMYYYY):
> Child's name:
> Child's nickname:
> Child's birthdate (DDMMYYYY):
> Pet's name:
> Company name:
> Do you want to add some key words about the victim? Y/[N]: 随后他会提示你是否还要添加受害者的信息,如果你手里面还有一些信息没有填写,可以输入Y,如果已经没有就输入N,
> Do you want to add some key words about the victim? Y/[N]: n
> Do you want to add special chars at the end of words? Y/[N]: 随后他还会提示你是否要在这些信息加上特殊符号,如果不需要就选择n
> Do you want to add some key words about the victim? Y/[N]: n
> Do you want to add special chars at the end of words? Y/[N]: n
> Do you want to add some random numbers at the end of words? Y/[N]:还会提示你是否需要在这些单词末尾加上一些随机数字,如果不需要就选择n
> Do you want to add some key words about the victim? Y/[N]: n
> Do you want to add special chars at the end of words? Y/[N]: n
> Do you want to add some random numbers at the end of words? Y/[N]:n
> Leet mode? (i.e. leet = 1337) Y/[N]: 后面这个如果你不想要添加一些随机数字选择n,随后这个工具就会生成专属于这个人的密码字典
root@kali:~/cupp# python3 cupp.py -i
___________
cupp.py! # Common
\ # User
\ ,__, # Passwords
\ (oo)____ # Profiler
(__) )\
||--|| * [ Muris Kurgas | j0rgan@remote-exploit.org ]
[ Mebus | https://github.com/Mebus/]
[+] Insert the information about the victim to make a dictionary
[+] If you don't know all the info, just hit enter when asked! ;)
> First Name: 123
> Surname: 123
> Nickname: 123
> Birthdate (DDMMYYYY):
> Partners) name:
> Partners) nickname:
> Partners) birthdate (DDMMYYYY):
> Child's name:
> Child's nickname:
> Child's birthdate (DDMMYYYY):
> Pet's name:
> Company name:
> Do you want to add some key words about the victim? Y/[N]: n
> Do you want to add special chars at the end of words? Y/[N]: n
> Do you want to add some random numbers at the end of words? Y/[N]:n
> Leet mode? (i.e. leet = 1337) Y/[N]: n
[+] Now making a dictionary...
[+] Sorting list and removing duplicates...
[+] Saving dictionary to 123.txt, counting 52 words.
[+] Now load your pistolero with 123.txt and shoot! Good luck!他生成的这个字典名字是123.txt,就是专属于这个,个人的字典,里面有52条密码(前面输入的信息少这里生成的就少,如果输入的个人信息多的话,生成的就多)
root@kali:~/cupp# ls
123.txt CHANGELOG.md cupp.cfg cupp.py LICENSE README.md test_cupp.py我们可以cat这个文件看一下
root@kali:~/cupp# cat 123.txt
1232008
1232009
1232010
1232011
1232012
1232013
1232014
1232015
1232016
1232017
1232018
1232019
1232020
123_2008
123_2009
123_2010
123_2011
123_2012
123_2013
123_2014
123_2015
123_2016
123_2017
123_2018
123_2019
123_2020
3212008
3212009
3212010
3212011
3212012
3212013
3212014
3212015
3212016
3212017
3212018
3212019
3212020
321_2008
321_2009
321_2010这里面的信息都是关于,你输入信息的密码字典,这个定制字典比你使用通用字典破解效率要高出很多很多,最具代表性的就是《黑客军团》里面的主人公多次使用cupp程序进行密码字典破解,值得注意的是,外国人和中国人设置密码的习惯不一样,目前泄露出来的密码有>10亿条密码,现在的程序基本都是根据这10亿条数据进行分析生成规律来破解用户密码的,如果你的设置密码规律被破解的话,生成的字典会特别特别针对你这个人的破解,你的任何信息都不会安全
图片信息收集
MateData
这个工具可以查询图片GPS的信息,不管你用什么设备拍照片,例如用相机拍照,它会有一个设置,是否记录当前拍照地点,如果你仔细查看你的手机,你会发现,你在一个城市内拍照,你的手机都会有一些记录,记录当前照片拍摄时间,拍摄地点,这个工具就是可以查找这个照片的拍摄GPS定位,也就是东经多少度,北纬多少度,经度纬度确定的话,你的物理位置就会被定位到,我们拍摄照片的设备,里面的定位基本都是打开的,手机的话现在大部分手机都是默认打开这个功能的
这些信息都被称为: Exif图片信息 记录的都是摄影图片,在这个图片内能查找到Exif信息
一般的摄影爱好者只关注相机的参数,曝光时间等等这一些摄影相关的专业术语,他们关注这些信息,因为他们希望能拍出大师级别的摄影效果
但是安全方面的人,最感兴趣的就是这个图片内的GPS信息,除了GPS信息还有使用的设备信息,这些信息都会被存入到Exif图片信息内
在kali内就有这个工具,可以通过这个工具提取出来这个照片内的Exif信息,这也是一种信息收集的手段
输入exif就可以打开这个文件了
root@kali:~# exif
用法: exif [选项...] 文件
-v, --version 显示软件版本
-i, --ids 显示 IDs,以代替信息标识名称
-t, --tag=信息标识 选择信息标识
--ifd=IFD 选择 IFD
-l, --list-tags 列出所有 EXIF 信息标识
-|, --show-mnote 显示 MakerNote 的内容
--remove 删除信息标识或是 ifd
-s, --show-description 显示信息标识说明
-e, --extract-thumbnail 解出缩略图
-r, --remove-thumbnail 删除缩略图
-n, --insert-thumbnail=FILE 将 FILE 作为缩略图插入
--no-fixup 不修复文件中存在的标识信息
-o, --output=FILE 将数据写入 FILE
--set-value=STRING tag 值
-c, --create-exif 如果 EXIF 数据不存在就创建它
-m, --machine-readable 以机器可读的格式(tab 分隔)输出
-w, --width=宽度 输出宽度
-x, --xml-output 以 XML 格式输出
-d, --debug 显示调示信息
帮助选项:
-?, --help 显示这个帮助信息
--usage 显示简短的使用说明下面我使用我的手机拍摄了一张照片,查询一下
root@kali:~# exif 2.jpg
‘2.jpg’中的EXIF 信息标识(‘摩托罗拉’字节顺序):
--------------------+----------------------------------------------------------
信息标识 |值
--------------------+----------------------------------------------------------
Model |MI 8 Lite
Software |platina-user 9 PKQ1.181007.001 9.5.9 release-keys
Orientation |Top-left
Date and Time |2019:11:13 13:45:19
YCbCr Positioning |Centered
Resolution Unit |英寸
X-Resolution |72
Y-Resolution |72
Manufacturer |Xiaomi
ISO Speed Ratings |500
Exposure Program |未定义
F-Number |f/1.9
Exposure Time |1/17 sec.
传感方式 |单芯片色彩区域传感器
Sub-second Time (Dig|289460
Sub-second Time (Ori|289460
Sub-second Time |289460
焦距 |3.9 mm
闪光灯 |Flash did not fire, compulsory flash mode
测距模式 |Center-weighted average
场景捕获类型 |标准
Focal Length in 35mm|24
Date and Time (Digit|2019:11:13 13:45:19
Pixel Y Dimension |4032
白平衡 |自动白平衡
Date and Time (Origi|2019:11:13 13:45:19
亮度 |-1.32 EV (1.37 cd/m^2)
Pixel X Dimension |3024
曝光模式 |自动曝光
光圈 |1.85 EV (f/1.9)
Components Configura|Y Cb Cr -
色彩空间 |sRGB
场景类型 |Directly photographed
Shutter Speed |4.06 EV (1/16 sec.)
Exif Version |Exif版本2.2
FlashPixVersion |FlashPix版本 1.0
North or South Latit|N
Latitude |34, 26, 38.1480
East or West Longitu|E
Longitude |114, 20, 32.3088
Altitude Reference |Sea level
Altitude |0.000
GPS Time (Atomic Clo|05:45:17.00
Name of GPS Processi|ASCII
GPS Date |2019:11:13
Interoperability Ind|R98
Interoperability Ver|0100
--------------------+----------------------------------------------------------上面能看到我使用的设备是小米8,拍摄时间,我的北纬,南纬度等很多信息,这些看起来没什么危害的图片,其实已经隐藏的很多危害的信息了


用这个属性查看到的信息和我们刚刚看到的exif信息是一样的,如果你善用这些信息,可以获得很多有价值的信息
除了Exif外还有一个专业的工具
Foca
这个工具专门来查看元数据
元数据就是我们称的MetaData
windows下有这个工具
使用这个工具需要使用到SQL Server数据库,SQL Server 2014或更高版本,如果你的电脑没有安装就无法使用,作者电脑没有安装就不进行演示了,
这个工具使用很简单,
打开软件后将图片拖入到FOCA工具内即可
左边导航栏就会显示这个图片的元数据信息,例如user,GPS等信息
还有一个工具必须掌握(关键性工具),我的笔记内写的还是老版本的,目前已经大更新,自行百度学习吧,如果你现在使用的还是老版本想要学习一下老版本可以加我的联系方式或者细私密我,我将会发送给你,工具名称为RECON-NG
被动信息收集已经介绍完了,后面将会介绍主动信息收集攻击
转载请注明出处!!!