社会工程学_你知多少?

发布于 2018-08-13  737 次阅读


这个我从目标是为了搞某个站,对某个企业网络攻击说起,不含有物理接触,线下的社工被追踪的机率非常之大。

假设 A公司

信息收集一

先说信息收集吧,老生常谈的话题了。个人认为,对于中小互联网企业,最主要的是收集邮箱信息。其实各种手段又相互交叉,一定要做好数据记录,试过一些社工框架,都不太好用,或者不太符合中国人习惯。有机会搞一个协同渗透平台。XD

从企业信息下手:

通过企业信用公示系统、天眼查,查看企业股东、查看企业备案的域名,根据每年年报的信息,收集邮箱、电话。

获取:域名、邮箱、股东、电话

从域名下手:

收集whois、备案信息等,通过邮箱、公司名、备案人等,多方面检索收集信息。

获取:域名、邮箱、域名注册人

用搜索引擎(百度、必应、谷歌)

site:xxx.com 邮箱

site:xxx.com @xxx.com

site:xxx.com filetype:xls

获取:邮箱、通讯信息等敏感信息。

论坛、招聘、浏览网站

一般如果有企业论坛,看看正常内容,浏览他的网页,注意底部信息、联系我们、招聘信息等。通过第三方网站找他们的企业邮箱。

根据企业网站等特征代码在google、github等搜索
往往企业邮箱、短信接口、甚至一些运维脚本都能找到。

子域名

企业子域名很多,直接用工具。subdomain等等,用dnspod公开的字典跑吧。
一般可能会找到
oa、bbs、mail、vpn、客服等系统
那么这里就要尝试弱口令了,123456、test、testtest、1234567、xxx(域名)
如果能弄到一份电话、通讯录,直接爆破电话,一般在国企、高校一份通讯录搞一堆服务器。

二、漏洞检测

一般来说,企业都有waf,你一用扫描器就封IP。

文件扫描

我的套路,一般是用个小字典,单线程,并且UA改成搜索引擎spider的。主要是为了检测各种文件泄漏svn、git、DS_Store、bak。等等。推荐下王松写的webdirscan,拿回来自己改改就行。

指纹识别

开源程序指纹特征识别,一般就wp、joomla、dedecms、discuz。
wpscan单线程,dz也是,要留意插件,往往去挖dz插件的0day能有奇效。后边说社工DZ的技巧。

越权、逻辑漏洞

短信逻辑、越权是企业产品最容易找到的漏洞。

注入、XSS、上传等等

这类漏洞,如果没有WAF什么的,可以用AWVS、JSKY等等,但是有防护的,还是手工吧。把自己当作正常的用户,体验各种功能。去推测开发可能是怎样写的代码(这点跟CTF有点像呀)。用最小的特征去测试。

三、社工

再说说社工,对于网络渗透攻击,社工只能取其部分意思,最重要的两种手段:撞库、钓鱼。

伪装

社工的话,要选定几个主要目标,或者你混入他们的圈子,你可以伪装成员工加公司QQ群(QQ群文件往往有意想不到的收获),至于怎么加群,QQ自己搜啊。
还有就是对于主要目标,想办法加好友,微信微博QQmomo,要注意的是,朋友圈空间弄个半年,显得比较正常的。这种微信能买到,行业什么的,反正就是伪装成你们在一个圈子。或者伪装的符合你构造的身份。

侧写

结合前期收集到的信息,对主要目标测写,尽可能的熟悉目标一切,看完他的朋友圈、说说,看完QQ签名等等。只有足够熟悉,后边才不会显得突兀。

社工库很有用

一般会先在社工库跑收集到的有显著特征的用户,用密码撞库,这招很管用。
然后会在社工库搜索网站域名:xxx.com,因为会有员工用企业邮箱注册一些网站么。
主要跑网站管理、技术总监等信息。差一点跑到员工,去试OA,CRM,邮箱什么的。

钓鱼是杀手锏

别小看了钓鱼,对于企业这种干什么都要写邮件的,一封构造精心的钓鱼邮件,可能会是整个渗透的突破。
我常用的一些:
1、诱导下载恶意文档,有word,wps 0day,绑马的文件,VBS、JS马等。
2、直接诱导安装恶意软件。
3、构造钓鱼网页,诱导直接输入密码。
比如我要获取他的QQ,也就是所谓的盗QQ吧,真的这些年主要的技术是靠钓鱼。
4、构造钓鱼网页、诱导间接输入密码。
这个,比如我知道他访问A网站,我可以冒充A网站的人,或者直接高仿A网站的邮箱,给他发钓鱼邮件,诱导他输入A网站的密码,有点水坑攻击的感觉,然后结合密码分析,撞库其他的密码。有一点水坑的思路。

四、案例

案例一 :

收集某女士信息,已知手机号。
根据手机号可查支付宝、微信号等,根据支付宝转账验证真实名字,测出真实姓名。
结合名字、手机号,利用Google搜索,获得一份大学校友通讯录,包含了邮箱、住址、身份证号等信息。
结合社工库搜索手机、邮箱,xiaomi库中查询到常用密码。其实也就是名字缩写加生日。

案例二:

删某同行诽谤说说
分析此人,中年,经常看空间,开武馆的,没有安全意识。
找一篇有争论的武林文章(真实),截图发给他,附带钓鱼链接。
打开后模拟QQ空间登录,跳转到真实文章链接。
获取密码后,在他武馆旁边,用相同UA头登录。IP接近。删贴。

案例三:

社工某中学网站
分析收集信息,网站底部有开发公司。
访问开发公司网站,分析此公司为十几人小公司,不严格。
伪造QQ号,改昵称,年龄三十多,签名说说写关于教学的信息,加开发公司客服QQ,告诉他我是XX学校管网站的。顺带问他,重装电脑后,桌面的文件都没有了能找到不(适当装小白,以增加信任)。最后问他,因电脑重装系统,找不到密码了,校长让发篇新闻,比较着急,于是傻傻的客服就告诉你了密码。

案例四:

社工某公司
网站方向:收集信息,根据a.com在社工库,找到很多邮箱,但要微信验证才能登录,放弃。
利用账户,在业务网站登录,可测试其他漏洞。
另外有论坛,bbs.a.com。收集管理员帐号,社工库查询到管理员几个密码,排列组合试生日,进后台,0day getshell。进内网,收集运维密码,通杀。

案例五:

已知安全部门邮箱,伪造漏洞通报邮件(高仿高仿高仿),其中查看链接跳转到钓鱼页面。登录后跳转真实登录页面。也有跟他们老大聊,他说你随便试,经常有钓鱼演练,钓鱼没用的,刚说着,密码就到了~~~****

五、总结

所谓对于渗透测试的社工,主要在于收集信息,挖掘信息之间的关联,(商业调查的感觉),然后基于信息测试弱口令、撞库等。以及欺骗钓鱼。

通过火车票获取你的身份信息

作为测试,我从百度上找了一张别人的身份证
从火车票中,大概可以获取以下信息

姓名 马子章
性别 男 (18位身份证倒数第二位为顺序码,顺序码为奇数为男性,偶数为女性)
不完整身份证号:3702031988****8611

通过以下程序可以生成一批可能是他的身份证号

#coding:utf-8

import time
# 身份证号 3702031988****8611 
# 姓名 马子章
s="3702031988****8611"

sfz = [s.replace('****',j[4:]) for j in [time.strftime('%Y%m%d',time.localtime(i)) for i in range(int(time.mktime(time.strptime(s[6:10]+'0101','%Y%m%d'))),int(time.mktime(time.strptime(s[6:10]+'1231','%Y%m%d')))+1,3600*24)] if s[-1] == '10X98765432'[sum(map(lambda x: int(x[0]) * x[1], zip(s.replace('****',j[4:]), [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]) )) % 11]]

for i in sfz:
  print i

生成的号码如下:
370203198801048611
370203198801128611
370203198801208611
370203198802198611
370203198802278611
370203198803078611
370203198803158611
370203198803238611
370203198803318611
370203198804038611
370203198804118611
370203198805188611
370203198805268611
370203198806068611
370203198806148611
370203198806228611
370203198806308611
370203198807028611
370203198807108611
370203198807298611
370203198808098611
370203198808178611
370203198808258611
370203198809058611
370203198809138611
370203198809218611
370203198810198611
370203198810278611
370203198811078611
370203198811158611
370203198811238611
370203198812038611
370203198812118611
现在需要在这些里面找到和 马子章 对应的身份证号。
通常一些实名认证的网站通常可以做到(以NATAPP举例):
在我的账户 → 实名认证
如果姓名和身份证号码对应,如下图所有(请注意粉红色提示语):

如果你的身份证号和姓名不符合,则如下图所示:

本次测试发现,尽管火车票用户的身份证号做了模糊化处理,但还是可以通过技术手段获取对方的身份证号。
仅作技术交流,勿用作非法用途!


网络安全研究员、渗透测试攻城狮
文能社会工程学,武能过狗拿shell
日的了站,做的了饭。
人生格言:即使是咸鱼,也一定是最咸的那条