<figure class="wp-block-image size-large">![图片[2]-【零基础学渗透】主动信息收集-FancyPig's blog](img/5da548eeb41afa1952a2cb0ff1a5a0ab.png)</figure>
通常构成方式就是`IP:端口`,`域名:端口`,**冒号**后面的就是我们这里说的**端口**
**小提示:http开头的网址端口通常是80,https开头的网址端口通常是443**
端口分类
1\. 按端口号分布划分
(1)**知名端口**(Well-Known Ports)知名端口即众所周知的端口号,范围从**0到1023**,这些端口号一般固定分配给一些服务。这也是我们为什么在启用服务的时候尽量要求选择大于1024的,就是怕占用了系统的一些服务
比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
(2)**动态端口**(Dynamic Ports) 动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。 不过,动态端口也常常被病毒木马程序所利用。
2\. 按协议类型划分
按协议类型划分,可以分为**TCP**、**UDP**、**IP**和**ICMP**(Internet控制消息协议)等端口。
下面主要介绍**TCP**和**UDP端口**:
(1)**TCP端口**
TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。
(2)**UDP端口**
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
查看端口
可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。
在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态
我们通常可以通过分析本地地址和外部地址,来挖掘出一些隐藏的服务,譬如恶意挖矿等等
<figure class="wp-block-image size-full">![图片[3]-【零基础学渗透】主动信息收集-FancyPig's blog](img/eb424936df90d382d5228ab8cb7ce387.png)</figure>
一些参数
可以看到上面的图中有`协议栏`、`本地地址栏`、`外部地址栏`、`状态`,其中每一栏的详细参数如下
协议栏:显示TCP或UDP
本地地址栏:显示本地地址和对应服务的端口号
外部地址栏:外连地址和端口号
状态:
LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态
命令详解
我们结合具体的场景给大家做了总结,可以参考
* 查看网络链接状态
* 查看路由表
* 查看网络数据统计
* 查看网络接口信息
常见端口和端口漏洞利用方式
<figure class="wp-block-table">
| **端口号** | **端口说明** | **攻击技巧** |
| --- | --- | --- |
| **21/22/69** | **ftp/tftp****:文件传输协议** | **爆破****嗅探**溢出;后门**** |
| **22** | **ssh****:远程连接** | **爆破****OpenSSH**;**28**个退格******** |
| **23** | **telnet****:远程连接** | **爆破****嗅探** |
| **25** | **smtp****:邮件服务** | **邮件伪造** |
| **53** | **DNS****:域名系统** | **DNS****区域传输**DNS**劫持**DNS**缓存投毒**DNS**欺骗**深度利用:利用**DNS**隧道技术刺透防火墙******************** |
| **67/68** | **dhcp** | **劫持****欺骗** |
| **110** | **pop3** | **爆破** |
| **139** | **samba** | **爆破****未授权访问**远程代码执行**** |
| **143** | **imap** | **爆破** |
| **161** | **snmp** | **爆破** |
| **389** | **ldap** | **注入攻击****未授权访问** |
| **512/513/514** | **linux r** | **直接使用****rlogin** |
| **873** | **rsync** | **未授权访问** |
| **1080** | **socket** | **爆破:进行内网渗透** |
| **1352** | **lotus** | **爆破:弱口令****信息泄漏:源代码** |
| **1433** | **mssql** | **爆破:使用系统用户登录****注入攻击** |
| **1521** | **oracle** | **爆破:****TNS**注入攻击**** |
| **2049** | **nfs** | **配置不当** |
| **2181** | **zookeeper** | **未授权访问** |
| **3306** | **mysql** | **爆破****拒绝服务**注入**** |
| **3389** | **rdp** | **爆破****Shift**后门**** |
| **4848** | **glassfish** | **爆破:控制台弱口令****认证绕过** |
| **5000** | **sybase/DB2** | **爆破****注入** |
| **5432** | **postgresql** | **缓冲区溢出****注入攻击**爆破:弱口令**** |
| **5632** | **pcanywhere** | **拒绝服务****代码执行** |
| **5900** | **vnc** | **爆破:弱口令****认证绕过** |
| **6379** | **redis** | **未授权访问****爆破:弱口令** |
| **7001** | **weblogic** | **Java****反序列化**控制台弱口令**控制台部署**webshell******** |
| **80/443/8080** | **web** | **常见****web**攻击**控制台爆破**对应服务器版本漏洞******** |
| **8069** | **zabbix** | **远程命令执行** |
| **9090** | **websphere****控制台** | **爆破:控制台弱口令****Java**反序列**** |
| **9200/9300** | **elasticsearch** | **远程代码执行** |
| **11211** | **memcacache** | **未授权访问** |
| **27017** | **mongodb** | **爆破****未授权访问 端口渗透总结** |
</figure>
一些实战案例参考[乌云Drops](https://www.iculture.cc/?golink=aHR0cHM6Ly93eS56b25lLmNpLw==)
端口扫描工具
结合上面的概念,我们给大家推荐一些工具
御剑
解压密码`www.iculture.cc`
我们除了御剑还给大家准备了其他的工具(工具来自网友分享)
<figure class="wp-block-image size-full">![图片[4]-【零基础学渗透】主动信息收集-FancyPig's blog](img/4f5fd0f3c02528364f541d7c368f73b1.png)</figure>
当我们获取到目标的真实IP后,下一步就是对目标IP进行**端口扫描**和**Banner信息识别**
<figure class="wp-block-image size-full">![图片[5]-【零基础学渗透】主动信息收集-FancyPig's blog](img/af5cadb71e86e47947d5bee6a4601378.png)</figure>
此款工具非常灵活,可批量扫描txt文本内的大量IP,也可扫描IP指定C段,可指定超时时间、每秒扫描的端口速度、自定义端口文件配置(指定扫描哪些端口)、探测指纹。
可以指定IP范围
<figure class="wp-block-image size-full">![图片[6]-【零基础学渗透】主动信息收集-FancyPig's blog](img/a4eecf287213063d56fa8fa896866e0b.png)</figure>
当然,下面也可以选择常见端口
<figure class="wp-block-image size-full">![图片[7]-【零基础学渗透】主动信息收集-FancyPig's blog](img/de6e161eb7bec6546d64edb1e49300e8.png)</figure>
端口配置也支持自定义
<figure class="wp-block-image size-full">![图片[8]-【零基础学渗透】主动信息收集-FancyPig's blog](img/f047e223a403f6f9328ca8c3632bb03c.png)</figure>
<figure class="wp-block-image size-full">![图片[9]-【零基础学渗透】主动信息收集-FancyPig's blog](img/64aac4855cb20e52dfd3406bd8e638d9.png)</figure>
在线扫描
优点:用网站提供的服务器去扫目标,不会暴露自己的IP
缺点:使用不如本地版灵活,功能不够丰富
<figure class="wp-block-image size-full">![图片[10]-【零基础学渗透】主动信息收集-FancyPig's blog](img/2590a292f0d14a9a79dc505c4dc0686f.png)</figure>
masscan
masscan玩法比较多
* 扫描指定网段范围的指定端口
* 获取Banner
* 设置扫描时忽略一些网段
* 输出到指定文件中
* 设置扫描速度
* 用加载配置文件的方式运行
* 结果输出
* 命令行模式详解
放到隐藏部分,您可以评论获取
Nmap的常见命令
之前我们有很多文章讲过Nmap了,可以参考之前的文章
更多笔记请评论获取隐藏内容
<figure class="wp-block-image size-full">![图片[11]-【零基础学渗透】主动信息收集-FancyPig's blog](img/ef17752cc9741c21356dabb12978ab5c.png)</figure>
<figure class="wp-block-image size-full">![图片[12]-【零基础学渗透】主动信息收集-FancyPig's blog](img/3c8fbd043ee8bc08d5705e48d9b8454d.png)</figure>
站点指纹收集
攻击者最常用的方法是首先覆盖目标的网络存在并枚举尽可能多的信息。
利用此信息,攻击者可以製定出准确的攻击方案,这将有效利用目标主机正在使用的**软件类型/版本中的漏洞。**
在攻防环境中信息收集总是非常重要的一个重要环节,多维度信息收集在红队攻防中绘制更完善的攻击面以及攻击思路流程。
判断网站操作系统
Linux大小写敏感
Windows大小写不敏感
Linux操作系统大小写敏感,我们将网址url一些字母修改成修改大小写看网站是否还能正常访问,能访问就是windows服务器,不能则是Linux。
确定网站采用的语言
如PHP / Java / Python等
找后缀,比如php/asp/jsp
<figure class="wp-block-image size-full">![图片[13]-【零基础学渗透】主动信息收集-FancyPig's blog](img/0b74ffb4b7b61da75eb82b9c4d74b09b.png)</figure>
JSESSIONID JSP
PSESSIONID PHP
前端框架
如jQuery / BootStrap / Vue / React / Angular等查看源代码
中间服务器
* 如 Apache / Nginx / IIS 等
* 查看header中的信息
* 根据报错信息判断
* 根据默认页面判断
Web容器服务器
如Tomcat / Jboss / Weblogic等
**后端框架**
* 根据Cookie判断
* 根据CSS / 图片等资源的hash值判断
* 根据URL路由判断,如wp-admin
* 根据网页中的关键字判断
* 根据响应头中的X-Powered-By
您可以通过使用Wappalyzer插件,快速获取网站中的一些资产信息
<figure class="wp-block-image size-large">![图片[14]-【零基础学渗透】主动信息收集-FancyPig's blog](img/3e44721cb1ee87ddcc120aeb1b7a0a2b.png)</figure>
* **CDN信息**
* 常见的有Cloudflare、yunjiasu
* **探测有没有WAF,如果有,什么类型的**
* 有WAF,找绕过方式
* 没有,进入下一步
**Nmap探测WAF有两种脚本**
一种是http-waf-detect。
命令:nmap -p80,443 –script=http-waf-detect ip
一种是http-waf-fingerprint。
命令:nmap -p80,443 –script=http-waf-fingerprint ip
**WAFW00F探测WAF**
命令:wafw00f -a 域名
* **扫描敏感目录,看是否存在信息泄漏**
* 扫描之前先自己尝试几个的url,人为看看反应
* 使用爬虫爬取网站信息
* 拿到一定信息后,通过拿到的目录名称,文件名称及文件扩展名了解网站开发人员的命名思路,确定其命名规则,推测出更多的目录及文件名
目录扫描
目录扫描通常是帮助我们发现敏感信息或者敏感目录,譬如管理员的后台路径、数据库备份文件、网站数据打包文件等等
常见敏感文件或目录
**通常我们所说的敏感文件、敏感目录大概有以下几种:**
* 后台
* robots.txt
* 数据库log
* sitemap.xml
* mysql.sql
* licence.txt
* Git
* hg/Mercurial
* svn/Subversion
* bzr/Bazaar
* Cvs
* WEB-INF泄露
* 备份文件泄露、配置文件泄露
* 还可以使用awvs、burpsuite等爬虫获取
使用搜索引擎
site:xxx.xxx system
site:xxx.xxx 内部
site:xxx.xxx 系统
site:目标 admin
site:目标 login
site:目标 管理员登陆
site:目标 后台
site:目标 中心
site:目标 登录
site:目标 登陆
site:目标 管理中心
常见入口目标
关注度低的系统
业务线较长的系统
物理路径识别
报错
在处理报错信息的问题上如果处理不当,就可导致路径信息泄露,比如访问一些不存在的文件等思路。
•1.有动态URL的地方可以替换参数 替换参数值为不存在的,很多时候都能爆物理路径
•2.访问不存在的文件名 文件 或者改正常后缀为不支持的后缀。
IIS7.0以上,如果没有修改404页面,只要浏览web任意不存在的文件,都会直接暴出绝对路径。同理,thinkphp也有这个性质。 在id=1的注入点,使用各种不支持的字符,比如id=1’ id=? id=-1 id=\ id=/ 都有可能暴出绝对路径。 还有的时候传一些错误图片会报错 windows不支持的符号,?:<>之类的,还有windows不支持的文件名aux Windows服务器上传aux文件或者新建aux文件夹,因为不允许这种文件存在而报错泄露绝对路径。
•3.尤其是php框架写的站,上传很容易爆出物理路径,根据具体情况了,比如一次提交允许的后缀,整体提交时抓包改为不支持的后缀,放包,很多时候都能爆出物理路径。 有一部分都是sql语句报错,sql很多时候会爆物理路径,所以相信你已经会拓展了。
后台可以登录后台的话,后台首页一般都有服务器信息的,大部分情况下物理路径都在里面。
搜索引擎寻找报错
结合关键字和site语法搜索出错页面的网页快照,常见关键字有warning和fatal error。
注意,如果目标站点是二级域名,site接的是其对应的顶级域名,这样得到的信息要多得多。
Site:xxx.edu.tw warning
Site:xxx.com.tw “fatal error”
由于很多网站本身容错做的不好,会有一些暴露物理路径的界面,如果被搜索引擎收录了,那么可以通过搜索引擎来找到
在搜索引擎搜索 site:目标 关键字
我总结了一下常见的报错关键词
warning error module file not exist 数据库 配置出错 找不到包含文件 包含路径 路径为 select Warning: mysqli_query() expects parameter to be mysqli boolean given in on line directory in Fatal error require_once() Failed opening required include_path=
容器特性
很多,如:Apache Tomcat、Struts2、CMS、zabix、Nginx等等,例如Nginx的某版本解析漏洞,就可造成路径信息泄露。
•IIS大于6的版本,基本都是 导致他404就可以爆出物理路径、IIS名、IIS版本。这个很简单,随便访问个不存在的目录或文件就可以。
•nginx文件类型错误解析爆路径: 说明:要求Web服务器是nginx,且存在文件类型解析漏洞。有时在图片地址后加/x.php,该图片不但会被当作php文件执行,有可能爆出物理路径 [www.xxx.com/xx.jpg/x.php](https://www.iculture.cc/?golink=aHR0cDovL3d3dy54eHguY29tL3h4LmpwZy94LnBocA==)
•/etc/httpd/conf/httpd.conf
这是apache默认目录,最底下有一句
Load config files in the “/etc/httpd/conf.d” directory, if any. IncludeOptional conf.d/.conf
这代表,在/etc/httpd/conf.d目录下的所有.conf文件都会被加载,也就是说管理员可以在/etc/httpd/conf.d/.conf里面写网站目录。
所以最后读 /etc/httpd/conf.d/vhost.conf 成功读出网站绝对路径
思路就是先读 /etc/httpd/conf/httpd.conf 没有网站目录就看IncludeOptional conf.d/*.conf 看完就尝试读 /etc/httpd/conf.d/httpd.conf
/etc/httpd/conf.d/vhost.conf
/etc/httpd/conf.d/httpd-vhost.conf
/etc/httpd/conf.d/httpd.conf.bak 等等
文件泄露
通过遗留文件获得,比如 phpinfo.php info.php site.php 1.php a.php 一些探针文件啊都有,等等。在遗留文件中搜索 SCRIPT_FILENAME。
很多网站的根目录下都存在测试文件,脚本代码通常都是phpinfo(),
如:
test.php ceshi.php info.php phpinfo.php php_info.php 1.php
phpmyadmin爆路径
一旦找到phpmyadmin的管理页面,再访问该目录下的某些特定文件,就很有可能爆出物理路径。
至于phpmyadmin的地址可以用wwwscan这类的工具去扫,也可以选择google。
/phpmyadmin/libraries/lect_lang.lib.php
/phpMyAdmin/index.php?lang[]=1
/phpMyAdmin/phpinfo.php load_file()
/phpmyadmin/themes/darkblue_orange/layout.inc.php
/phpmyadmin/libraries/select_lang.lib.php
/phpmyadmin/libraries/lect_lang.lib.php
/phpmyadmin/libraries/mcrypt.lib.php
XML处
一些XML限制或删除不完全,可导致服务器等信息泄露。
配置文件找路径
如果注入点有文件读取权限,就可以手工load_file或工具读取配置文件,再从中寻找路径信息(一般在文件末尾)。各平台下Web服务器和PHP的配置文件默认路径可以上网查,这里列举常见的几个。
Windows:
c:\windows\php.ini php配置文件
c:\windows\system32\inetsrv\MetaBase.xml IIS虚拟主机配置文件
如果有root读取文件的权限,或者任意文件读取漏洞,可以读取容器的配置文件,或者集成环境的固定web目录,判断集成环境,可以通过mysql的根目录判断,前面注入时说到的datadir: 常见配置文件: C:\Windows\system32\inetsrv\metabase.xml
C:\Windows\System32\inetsrv\config\applicationHost.config
C:\xampp\apache\conf\httpd.conf /var/www/conf/httpd.conf
常见集成环境默认目录,后面往往还有以域名命名的目录,比如:
C:\www\baidu
C:\Inetpub\wwwroot
C:\xampp\htdocs
D: \phpStudy\WWW
/home/wwwroot/ /www/users/
CMS识别
CMS指纹识别又有很多方法,比如说**御剑指纹识别、Webrobot工具、whatweb工具、还有在线查询的网站**等等。
CMS在线指纹识别:
[http://whatweb.bugscaner.com/look/](https://www.iculture.cc/?golink=aHR0cDovL3doYXR3ZWIuYnVnc2NhbmVyLmNvbS9sb29r)
[http://finger.tidesec.net/](https://www.iculture.cc/?golink=aHR0cDovL2Zpbmdlci50aWRlc2VjLm5ldC8=)
[https://scan.top15.cn/web/](https://www.iculture.cc/?golink=aHR0cHM6Ly9zY2FuLnRvcDE1LmNuL3dlYi8=)
[https://www.yunsee.cn/](https://www.iculture.cc/?golink=aHR0cHM6Ly93d3cueXVuc2VlLmNuLw==)
[https://www.godeye.vip/index/](https://www.iculture.cc/?golink=aHR0cHM6Ly93d3cuZ29kZXllLnZpcC9pbmRleC8=)
也可在github上找一些高star的指纹识别工具
ffuf的使用
Goby的使用
参考[https://cn.gobies.org/](https://www.iculture.cc/?golink=aHR0cHM6Ly9jbi5nb2JpZXMub3JnLw==)
社工的思路
这个我们博客分享了太多太多了,可以参考
社区里也有网友分享自己的维权整个过程
《[【防骗课堂】第二课:被骗维权之路(写实)](https://www.iculture.cc/forum-post/8167)》
<!--yml
category: 社会工程
date: 2022-11-10 10:30:54
-->
如何获取微博uid?-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=200](https://www.iculture.cc/sg/pig=200)
如何查询微博uid?
微博uid就是类似于微信、QQ的一个id标识,每个人都是唯一的。当然,企业和个人的略有不同。
声明
本教程仅用于教育目的,视频仅用于演示获取uid过程,请不要对号入座。
视频教程
微博APP获取微博uid
如果您下载了微博app,建议观看下面教程,快速获取uid。
微博web获取微博uid
如果您未下载微博app,您可以通过浏览器访问微博手机版,获取uid
> 微博手机版[https://m.weibo.cn/](https://www.iculture.cc/?golink=aHR0cHM6Ly9tLndlaWJvLmNuLw==)
<!--yml
category: 社会工程
date: 2022-11-10 10:30:43
-->
关于5e/8e/16e的含义-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=271](https://www.iculture.cc/sg/pig=271)
5e
5e指的是微博泄露的5亿微博uid与绑定手机相关联的数据
准确的5e是503925366条数据
8e
8e指的是QQ泄露的8亿QQ与初始绑定手机相关联的数据
准确的8e是有719806832条数据
16e
16e指的是整合的16亿数据
市面上没有纯16亿的QQ数据
大概组成
4亿老密码和4亿QQ绑定的数据
8亿邮箱绑定的数据(包括手机和密码)
在线社工库
[https://www.iculture.cc/pizzahut](https://www.iculture.cc/pizzahut)
<!--yml
category: 社会工程
date: 2022-11-10 10:29:55
-->
你知道一张图片,背后隐藏了多少信息?-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=1421](https://www.iculture.cc/sg/pig=1421)
科普:图片中的EXIF信息
当我们拍摄完一张图片后,其实我们会发现这个图片里是携带着`EXIF`相关信息的
包括但不限于:
* 快速查看相机/手机品牌
* 镜头型号
* 曝光对焦参数
* 快门次数
* GPS定位等信息
很多对社工感兴趣的小伙伴,这时应该会有一个大胆的想法,那就是图片里如果包含了`GPS定位信息`,那岂不是别人发个朋友圈不用定位我们也知道在哪里了呢?不妨现在就来试一试吧
演示:寻找下面图片的EXIF信息
我这里找到了一张之前在天津吃饭的照片,这里我发原图,大家可以用这张图做测试进行验证(3MB多,加载可能有点慢)
<figure class="wp-block-image size-large">![图片[1]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/d8b75911ea6c3b448b5ffb7297fdb25c.png)</figure>
通过电脑自带的工具查看
下载完图片后,右键`属性`,点击`详细信息`
<figure class="wp-block-image size-full">![图片[2]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/ca50e5a0b3fad9a712bd408c4d8f0d1d.png)</figure>
这里面就可以看到很多参数了,当然包括定位咯
<figure class="wp-block-image size-full">![图片[3]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/8a87dad0324faee823ff78feaaf47bf0.png)</figure>
如果你不嫌麻烦,可以用在线工具来找到具体定位
我们粗略的填入上方的`39`和`117`
<figure class="wp-block-image size-large">![图片[4]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/86143696dfe2b0c423ec4951a1f20187.png)</figure>
我把相关链接放到下方,评论自取
通过微信小程序进行查看
微信里面可以使用小程序进行查看
<figure class="wp-block-image size-full">![图片[5]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/e08191d6b69399c79d0e51cdfbf6b498.png)</figure>
使用Python实现获取图片EXIF信息
当然,我们这里还给大家准备了适合程序员的处理方式,这里主要就是使用了`exifread`模块读取图片的`exif`信息
相关代码
百度地图的key我给大家已经配置好了,只需要修改倒数第二行的图片名称即可`IMG_6623.jpg`
import requests
import exifread
class GetPhotoInfo:
def __init__(self, photo):
self.photo = photo
百度地图ak 请替换为自己申请的ak
self.ak = 'w5yCMHrlcHn2Er6WHcjvpHMpNOeYGIX7'
self.location = self.get_photo_info()
def get_photo_info(self, ):
with open(self.photo, 'rb') as f:
tags = exifread.process_file(f)
try:
打印照片其中一些信息
print('拍摄时间:', tags['EXIF DateTimeOriginal'])
print('照相机制造商:', tags['Image Make'])
print('照相机型号:', tags['Image Model'])
print('照片尺寸:', tags['EXIF ExifImageWidth'], tags['EXIF ExifImageLength'])
纬度
lat_ref = tags["GPS GPSLatitudeRef"].printable
lat = tags["GPS GPSLatitude"].printable[1:-1].replace(" ", "").replace("/", ",").split(",")
lat = float(lat[0]) + float(lat[1]) / 60 + float(lat[2]) / float(lat[3]) / 3600
if lat_ref != "N":
lat = lat * (-1)
经度
lon_ref = tags["GPS GPSLongitudeRef"].printable
lon = tags["GPS GPSLongitude"].printable[1:-1].replace(" ", "").replace("/", ",").split(",")
lon = float(lon[0]) + float(lon[1]) / 60 + float(lon[2]) / float(lon[3]) / 3600
if lon_ref != "E":
lon = lon * (-1)
except KeyError:
return "ERROR:请确保照片包含经纬度等EXIF信息。"
else:
print("经纬度:", lat, lon)
return lat, lon
def get_location(self):
url = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak={}&output=json' \
'&coordtype=wgs84ll&location={},{}'.format(self.ak, *self.location)
response = requests.get(url).json()
status = response['status']
if status == 0:
address = response['result']['formatted_address']
print('详细地址:', address)
else:
print('baidu_map error')
if __name__ == '__main__':
Main = GetPhotoInfo('IMG_6623.jpg')
Main.get_location()
图片和代码建议放在同一目录下
<figure class="wp-block-image size-full is-resized">![图片[6]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/6208bcf575aa86c71b3ef5b85f41439e.png)</figure>
然后运行一下程序
<figure class="wp-block-image size-large">![图片[7]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/1f340cbd251068e3c8e5740e342c7923.png)</figure>
然后就可以看到结果了
<figure class="wp-block-image size-large">![图片[8]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/db5f6ff03a61bb5353dfdffce72f1854.png)</figure>
附录:Pycharm安装
由于本教程需要使用`python`脚本,故这里也简单介绍一下pycharm的安装过程
安装简易思路
如果你懒得看下面的过程,就记住:一直点next,如果有没打勾的打勾,简单粗暴。
安装详细过程
<figure class="wp-block-image size-full">![图片[9]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/0350ae8caee647188bc2953bb9470229.png)</figure>
<figure class="wp-block-image size-full">![图片[10]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/376497274c3fa4292b20117b91d0285c.png)</figure>
这里需要重启,添加环境变量才会生效
<figure class="wp-block-image size-full">![图片[11]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/bc27b5ea399650458563f650faca31a8.png)</figure>
然后立即重启
<figure class="wp-block-image size-full">![图片[12]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/3275be711e152f3535c2a6be654f5399.png)</figure>
重启之后,打开并同意用户协议
<figure class="wp-block-image size-full">![图片[13]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/a4d68f5ec48f33d5e35deff4a043bea7.png)</figure>
然后选择`不发送数据`
<figure class="wp-block-image size-full">![图片[14]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/27080654a4f5884423718efe14d85006.png)</figure>
创建项目
使用`PyCharm`创建一个新的项目
<figure class="wp-block-image size-full">![图片[15]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/f3c88791e105267afced1339ab7b4e34.png)</figure>
文件位置可以根据你的需要进行修改,我这里选择默认的
<figure class="wp-block-image size-full">![图片[16]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/574bbdf064adf5e8d1637f496cb8d603.png)</figure>
安装exifread模块
在`Terminal`中使用pip安装`exifread`模块
pip install exifread
<figure class="wp-block-image size-full">![图片[17]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/1be011dbfa350c7c5972c896ae9a531c.png)</figure>
安装Requests模块
在`Terminal`中使用pip安装`Requests`模块
pip install Requests
配置过程中可能会遇到的坑
使用`pip`安装的时候如果你习惯开了`vpn`,很有可能会报错,然后还查不到原因。
NO ZUO NO DIE
<figure class="wp-block-image size-large">![图片[18]-你知道一张图片,背后隐藏了多少信息?-FancyPig's blog](img/3cdc2f7100e628928a487c81f1895511.png)</figure>
<!--yml
category: 社会工程
date: 2022-11-10 10:29:14
-->
一次对淘宝6年老店诈骗商家的社工-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=5349](https://www.iculture.cc/sg/pig=5349)
事情起因
在Q群里一位群友说自己被商家骗了3W块钱的游戏账号
<figure class="wp-block-image size-full">![图片[1]-一次对淘宝6年老店诈骗商家的社工-FancyPig's blog](img/d564bfef493cd35e6e9114ce29f8a824.png)</figure>
在群中引发了激烈的讨论……
社工思路
网友只提供了骗子的淘宝店和一个支付宝的收款码,如何通过仅有的线索完成一次信息收集呢?
声明
以下社工过程中**未使用任何歪门邪道、公民信息数据**,纯手工完成,大家学了也一定会哦!
本教程谨献给被网络诈骗的无助网友
过程分享
这次来点纯干货,评论一下问题不大吧~
最后的反馈
<figure class="wp-block-image size-full">![图片[2]-一次对淘宝6年老店诈骗商家的社工-FancyPig's blog](img/f222b93feb62bdc1a01220c18613b2f3.png)</figure>
<figure class="wp-block-image size-full">![图片[3]-一次对淘宝6年老店诈骗商家的社工-FancyPig's blog](img/be0af9cd53af23fd8b85ecf9e0a54d73.png)</figure>
如果有后续被缉拿归案的瓜,我们会给大家分享,也请大家谨记不要在网络上行骗!
<!--yml
category: 社会工程
date: 2022-11-10 10:29:31
-->
IP探针定位系统 附源码可以自行部署-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=2687](https://www.iculture.cc/sg/pig=2687)
响应“净网”专项行动,提高法律意识,自觉维护网络清朗环境
<item>1年前</item> <item class="pull-right">8.8W+</item>
<!--yml
category: 社会工程
date: 2022-11-10 10:28:53
-->
【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=7638](https://www.iculture.cc/sg/pig=7638)
杂谈
之前我们讲了很多基于**OSINT(开源情报)**框架下的内容,例如
当然,我们也整理了一份完整思路,如果您感兴趣也可以看下
[2022社工相关内容汇总](https://www.iculture.cc/?golink=aHR0cHM6Ly93d3cuYmFpZHUuY29tL2xpbms/dXJsPWk1dS1IYU1mSk1rRXZiUVlqQVItMXVadU1WQmNZTGJBRTVTQVFiS19nR2xnQ2p2bkxaMS15aGlNSE5xUDVnSlYmYW1wO3dkPSZhbXA7ZXFpZD1lMjQ2YmMzZTAwMDFlZTViMDAwMDAwMDM2MWUzY2VkOQ==)
即日起,我们将针对社交软件给大家提供一些思路和工具,今天我们先分享一下twitter的社工技巧吧!
(如果上不了[twitter](https://www.iculture.cc/?golink=aHR0cHM6Ly90d2l0dGVyLmNvbS8/bGFuZz1jbg==),记得先学习一下[科学上网](https://www.iculture.cc/sg/pig=222))
<figure class="wp-block-image size-large">![图片[1]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/0b8c0bf30ada81c2ffb6d6e7136d619d.png)</figure>
下面的工具最大的优势就是不基于twitter的api,纯python爬虫实现的,所以超级强大!
视频教程
视频里的方法是直接使用的[国外的服务器](https://www.iculture.cc/?golink=aHR0cHM6Ly93d3cudnVsdHIuY29tLz9yZWY9OTAyNTUyMC04SA==),因此无需[科学上网](https://www.iculture.cc/sg/pig=222),直接输入命令就好了!
(福利:您可以[点这里](https://www.iculture.cc/?golink=aHR0cHM6Ly93d3cudnVsdHIuY29tLz9yZWY9OTAyNTUyMC04SA==)领取到vultr 100美元体验券,可以白嫖一年最低配的国外服务器)
勘误说明:视频中是clear清屏 口误打成clean了😅
工具安装
方法一:从git上clone
git clone --depth=1 https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt
方法二:Python下的twint模块安装(视频中使用的下面这种方法)
安装`twint`模块
pip3 install --upgrade git+https://github.com/twintproject/twint.gitorigin/master#egg=twint
部分运行出现报错,则需要修改`token.py`
具体每个人的环境不同(我的是在`/usr/local/lib/python3.6/site-packages/twint/token.py`下面)
import re
import time
import requests
import logging as logme
class TokenExpiryException(Exception):
def __init__(self, msg):
super().__init__(msg)
class RefreshTokenException(Exception):
def __init__(self, msg):
super().__init__(msg)
class Token:
def __init__(self, config):
self._session = requests.Session()
self._session.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'})
self.config = config
self._retries = 5
self._timeout = 10
self.url = 'https://twitter.com'
def _request(self):
for attempt in range(self._retries + 1):
The request is newly prepared on each retry because of potential cookie updates.
req = self._session.prepare_request(requests.Request('GET', self.url))
logme.debug(f'Retrieving {req.url}')
try:
r = self._session.send(req, allow_redirects=True, timeout=self._timeout)
except requests.exceptions.RequestException as exc:
if attempt < self._retries:
retrying = ', retrying'
level = logme.WARNING
else:
retrying = ''
level = logme.ERROR
logme.log(level, f'Error retrieving {req.url}: {exc!r}{retrying}')
else:
success, msg = (True, None)
msg = f': {msg}' if msg else ''
if success:
logme.debug(f'{req.url} retrieved successfully{msg}')
return r
if attempt < self._retries:
TODO : might wanna tweak this back-off timer
sleep_time = 2.0 * 2 ** attempt
logme.info(f'Waiting {sleep_time:.0f} seconds')
time.sleep(sleep_time)
else:
msg = f'{self._retries + 1} requests to {self.url} failed, giving up.'
logme.fatal(msg)
self.config.Guest_token = None
raise RefreshTokenException(msg)
def refresh(self):
logme.debug('Retrieving guest token')
res = self._request()
match = re.search(r'\("gt=(\d+);', res.text)
if match:
logme.debug('Found guest token in HTML')
self.config.Guest_token = str(match.group(1))
else:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0',
'authority': 'api.twitter.com',
'content-length': '0',
'authorization': self.config.Bearer_token,
'x-twitter-client-language': 'en',
'x-csrf-token': res.cookies.get("ct0"),
'x-twitter-active-user': 'yes',
'content-type': 'application/x-www-form-urlencoded',
'accept': '*/*',
'sec-gpc': '1',
'origin': 'https://twitter.com',
'sec-fetch-site': 'same-site',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://twitter.com/',
'accept-language': 'en-US',
}
self._session.headers.update(headers)
req = self._session.prepare_request(requests.Request('POST', 'https://api.twitter.com/1.1/guest/activate.json'))
res = self._session.send(req, allow_redirects=True, timeout=self._timeout)
match = re.search(r'{"guest_token":"(\d+)"}', res.text)
if match:
logme.debug('Found guest token in JSON')
self.config.Guest_token = str(match.group(1))
else:
self.config.Guest_token = None
raise RefreshTokenException('Could not find the Guest token in JSON')
实战案例
以下内容,我们默认您已经下载好了相关的python脚本
今天,我们要社工的对象,是**黑寡妇**(Scarlett Johansson)~
<figure class="wp-block-image size-full">![图片[2]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/45c41932417f235d4423db9119abd10d.png)</figure>
我们先找到twitter的地址(我们发现寡姐并没有twitter认证的账户,因此我们只能从粉丝账户里寻找一些信息了)
[https://twitter.com/Scarlett_Jo](https://www.iculture.cc/?golink=aHR0cHM6Ly90d2l0dGVyLmNvbS9TY2FybGV0dF9Kbw==)
[https://twitter.com/BestfScarlett](https://www.iculture.cc/?golink=aHR0cHM6Ly90d2l0dGVyLmNvbS9CZXN0ZlNjYXJsZXR0)
(访问不了的请[科学上网](https://www.iculture.cc/sg/pig=222))
<figure class="wp-block-image size-large">![图片[3]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/c98c68d394f15d1cd282fcf67dd39b99.png)</figure>
由于以下内容是实战部分,如果你想借用命令,请记得将`BestfScarlett`改成你要搜寻的用户名
首先,我们可以先收集一下寡姐之前发过的全部推特内容
twint -u BestfScarlett
<figure class="wp-block-image size-large">![图片[4]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/45da6c7b20fa00b48eda364084fc8822.png)</figure>
但是这样并不高效,因为一个人的推文有很多,这时,我们可以做一些筛选!
根据点赞数、评论、转发数筛选
例如,我们只看点赞数超过500的
twint -u BestfScarlett --min-likes=500
<figure class="wp-block-image size-large">![图片[5]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/960cb0c539fc69c6de08d153434e3d85.png)</figure>
或者,我们只看评论超过10的
twint -u BestfScarlett --min-replies=10
<figure class="wp-block-image size-large">![图片[6]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/a1e0e2a448df6b8c6bc527059e954040.png)</figure>
链接一般在一条的最后面,随便打开一个
<figure class="wp-block-image size-large">![图片[7]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/431878ad64a191d3e03be79123e74a18.png)</figure>
或者,我们只看转发量超过100的
twint -u BestfScarlett --min-retweets=100
<figure class="wp-block-image size-large">![图片[8]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/e4670fbfb5d93e505725aeec9ff8717e.png)</figure>
根据时间维度筛选
当然,我们还可以做到更精细,比如我们想看寡姐2021年之前发过的内容,我们可以这样
twint -u BestfScarlett --year 2021
<figure class="wp-block-image size-large">![图片[9]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/acef49ea22f62a2a37d15ca75d8ce822.png)</figure>
某个日期后发送的内容,比如在《复联4》在美国上映后(2019年4月26日),我想看看寡姐的推文
twint -u BestfScarlett --since 2019-4-26
某个时间点之后发送的内容,例如在`2019-04-26 20:30:15`之后发布的内容
twint -u BestfScarlett --since "2019-04-26 20:30:15"
社工进阶
我这里下搜索twitter整个社交平台下,关于 寡姐(Scarlett Johansson)的资料
twint -s Scarlett
然后你可以看到全球用户发布的与其相关的内容
<figure class="wp-block-image size-large">![图片[10]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/9648adfc962c55069a4ad4ec1c54c4ad.png)</figure>
我这里想搜索寡姐(Scarlett Johansson)中与美队相关的内容(关键词我们这里就写`Captain`就行)
twint -u BestfScarlett -s Captain
比方说,我这里想搜索寡姐(Scarlett Johansson),而且来源要是认证账户的
twint -s "Scarlett Johansson" --verified
<figure class="wp-block-image size-large">![图片[11]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/6555fe50675e924faa60edda74a75a60.png)</figure>
我们可以通过下面的命令来检测寡姐(Scarlett Johansson)的手机号、邮箱等资料是否曾泄露于她之前的推文中
检测邮件泄露的命令
twint -u BestfScarlett --email
检测手机号泄露的命令
twint -u BestfScarlett --phone
我们这里没有检测到,我们这里换到了寡姐的前夫小贱贱([https://twitter.com/VancityReynolds](https://www.iculture.cc/?golink=aHR0cHM6Ly90d2l0dGVyLmNvbS9WYW5jaXR5UmV5bm9sZHM=)),我们尝试一下
<figure class="wp-block-image size-large">![图片[12]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/2bd9b6d357113c74bcec44609bc84532.png)</figure>
twint -u VancityReynolds --email
<figure class="wp-block-image size-large">![图片[13]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/924eccd69a6a91ae5a9af05e6402590f.png)</figure>
居然真的可以检测到泄露的邮件账户地址
导出数据
导出数据只是命令中的一个附加参数,相当于之前我们的命令在后面加上`-o`相关的命令,也可以导出
(这里假定我们导出的文件名称为file)
* 导出txt格式 -o file.txt
* 导出csv格式 -o file.csv –csv
* 导出json格式 -o file.json –json
当然,这些都是简单的,如果你还想玩点更骚的,还可以直接写到数据库里
* 写入sqlite数据库中 –database tweets.db
* 写入es数据库中 -es localhost:9200
写到数据库中玩法就更多样了,你可以通过一些图表,来更清晰地展现这些用户画像,用户之间的关系以及发送推文的报表,深层次的玩法,我们以后讲!大家可以期待一下!
<figure class="wp-block-image size-full">![图片[14]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/7bd589025bf5f485346007ae0274f05b.png)</figure>
<figure class="wp-block-image size-large">![图片[15]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/51f0b6e2f872492d978ae07ee23d2968.png)</figure>
<figure class="wp-block-image size-large">![图片[16]-【社工进阶】如何通过Twitter社交软件进行社工-FancyPig's blog](img/149f8bbb00d8fdd67af747eac0eb4ed2.png)</figure>
下面我们将配合实际的功能,跟大家说下如果我想把用户的一些资料导出到json文件中,应该怎么做?
导出粉丝列表
如果你想看哪些用户关注了寡姐,可以通过下面的命令导出到`Scarlett_followers.json`文件中
一般在社工中我们不这么操作,她的粉丝数太多了,这样做一般意义不大!
twint -u Scarlett_Jo --followers -o Scarlett_followers.json --json
导出TA的关心用户
如果你想看寡姐关注了谁,可以通过下面的命令导出
twint -u BestfScarlett --following --user-full -o Scarlett_folloing.json --json
导出最近900条推文
twint -u BestfScarlett --following --user-full -o Scarlett_latest_post.json --json
导出TA喜欢的文章
twint -u BestfScarlett --favorites -o Scarlett_favorites.json --json
<!--yml
category: 社会工程
date: 2022-11-10 10:28:09
-->
微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog
> 来源:[https://www.iculture.cc/knowledge/pig=24574](https://www.iculture.cc/knowledge/pig=24574)
杂谈
之前我们分享了很多期国外的社交平台[OSINT工具](https://iculture.cc/osint)教程
本期我们将针对国内的社交平台,分享关于微博的OSINT工具
效果演示
普通人的搜索方式,我们直接在**微博网页版**中搜索关键词
<figure class="wp-block-image size-full">![图片[1]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/54ec706ecbccfffdacc1219d0dafe56e.png)</figure>
但是程序员可以通过脚本进行快速获取
<figure class="wp-block-image size-large">![图片[2]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/6eac13c8fad0e39c2b2f156beca4c18a.png)</figure>
<figure class="wp-block-image size-full">![图片[3]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/16d69188883bbd1b72ad2faacbdb9025.png)
<figcaption>点击放大查看动图</figcaption>
</figure>
最终可以生成CSV文件,方便分析
<figure class="wp-block-image size-large">![图片[4]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/d3f3e7fb6eeeec76f9bbd2f3691dcec0.png)</figure>
功能介绍
针对微博内容进行个性化检索,导出
* 支持关键词(单个**关键词**,同时包含**多个关键词**)
* 支持时间筛选(**初始时间**、**结束时间**)
* 支持微博来源筛选(**原创微博**、**热门微博**、**关注人微博**、**认证用户微博**、**媒体微博**、**观点微博**)
* 支持微博类型筛选(**全部微博**、**包含图片**的微博、**包含视频**的微博、**包含音乐**的微博、**包含短链接**的微博)
* 支持地区筛选(精确到省或直辖市,可以同时包含多个地区)
* 支持自定义访问频率
同时可以导出多种格式的结果
* **csv文件**(默认)
* **MySQL数据库**(可选)
* **MongoDB数据库**(可选)
对于**图片**或者**视频**附件也可以选择性进行下载
图文教程
下载工具
以下步骤默认您已经下载好项目并解压缩了!
安装Scrapy
pip install scrapy
安装依赖
pip install -r requirements.txt
搜索配置
详见weibo-search/weibo/**settings.py**
其中有详细的注释
-*- coding: utf-8 -*-
BOT_NAME = 'weibo'
SPIDER_MODULES = ['weibo.spiders']
NEWSPIDER_MODULE = 'weibo.spiders'
COOKIES_ENABLED = False
TELNETCONSOLE_ENABLED = False
LOG_LEVEL = 'ERROR'
访问完一个页面再访问下一个时需要等待的时间,默认为10秒
DOWNLOAD_DELAY = 10
DEFAULT_REQUEST_HEADERS = {
'Accept':
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
'cookie': 'your cookie'
}
ITEM_PIPELINES = {
'weibo.pipelines.DuplicatesPipeline': 300,
'weibo.pipelines.CsvPipeline': 301,
'weibo.pipelines.MysqlPipeline': 302,
'weibo.pipelines.MongoPipeline': 303,
'weibo.pipelines.MyImagesPipeline': 304,
'weibo.pipelines.MyVideoPipeline': 305
}
要搜索的关键词列表,可写多个, 值可以是由关键词或话题组成的列表,也可以是包含关键词的txt文件路径,
如'keyword_list.txt',txt文件中每个关键词占一行
KEYWORD_LIST = ['迪丽热巴'] 或者 KEYWORD_LIST = 'keyword_list.txt'
要搜索的微博类型,0代表搜索全部微博,1代表搜索全部原创微博,2代表热门微博,3代表关注人微博,4代表认证用户微博,5代表媒体微博,6代表观点微博
WEIBO_TYPE = 1
筛选结果微博中必需包含的内容,0代表不筛选,获取全部微博,1代表搜索包含图片的微博,2代表包含视频的微博,3代表包含音乐的微博,4代表包含短链接的微博
CONTAIN_TYPE = 0
筛选微博的发布地区,精确到省或直辖市,值不应包含“省”或“市”等字,如想筛选北京市的微博请用“北京”而不是“北京市”,想要筛选安徽省的微博请用“安徽”而不是“安徽省”,可以写多个地区,
具体支持的地名见region.py文件,注意只支持省或直辖市的名字,省下面的市名及直辖市下面的区县名不支持,不筛选请用“全部”
REGION = ['全部']
搜索的起始日期,为yyyy-mm-dd形式,搜索结果包含该日期
START_DATE = '2022-01-01'
搜索的终止日期,为yyyy-mm-dd形式,搜索结果包含该日期
END_DATE = '2022-10-11'
进一步细分搜索的阈值,若结果页数大于等于该值,则认为结果没有完全展示,细分搜索条件重新搜索以获取更多微博。数值越大速度越快,也越有可能漏掉微博;数值越小速度越慢,获取的微博就越多。
建议数值大小设置在40到50之间。
FURTHER_THRESHOLD = 46
图片文件存储路径
IMAGES_STORE = './'
视频文件存储路径
FILES_STORE = './'
配置MongoDB数据库
MONGO_URI = 'localhost'
配置MySQL数据库,以下为默认配置,可以根据实际情况更改,程序会自动生成一个名为weibo的数据库,如果想换其它名字请更改MYSQL_DATABASE值
MYSQL_HOST = 'localhost'
MYSQL_PORT = 3306
MYSQL_USER = 'root'
MYSQL_PASSWORD = '123456'
MYSQL_DATABASE = 'weibo'
如何获取Cookie?填到哪里?
打开[微博](https://www.iculture.cc/?golink=aHR0cHM6Ly93ZWliby5jb20vc2V0L2luZGV4),F12打开**开发者工具**,刷新页面,找到**index**,复制右侧的Cookie内容即可
<figure class="wp-block-image size-large">![图片[5]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/f681ffba35535fc70927e415c0b8ec1d.png)</figure>
然后填入我们刚才提到的**settings.py**文件中
DEFAULT_REQUEST_HEADERS = {
'Accept':
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
'cookie': 'Cookie复制到这里'
}
在第15行 **Cookie复制到这里** 的位置填入你的cookie
'cookie': 'Cookie复制到这里'
运行脚本
scrapy crawl search -s JOBDIR=crawls/search
实战分享
这里又回到了开头,如果我们想获取关于**西北工业大学NSA事件**相关的报道,我们可以对**settings.py**进行以下配置
代码第27行,我们首先要确定我们要索引的关键词
KEYWORD_LIST = ['西北工业大学NSA,西工大NSA']
第29行,我们要确定微博来源,我们选择**原创微博**
其他参数您也可以参考
> 0代表搜索全部微博,1代表搜索全部原创微博,2代表热门微博,3代表关注人微博,4代表认证用户微博,5代表媒体微博,6代表观点微博
WEIBO_TYPE = 1
第31行,我们不进行筛选
> 筛选结果微博中必需包含的内容,0代表不筛选,获取全部微博,1代表搜索包含图片的微博,2代表包含视频的微博,3代表包含音乐的微博,4代表包含短链接的微博
CONTAIN_TYPE = 0
第34行,我们这里看全部的,当然您也可以在设置时,看某个地区的
> 筛选微博的发布地区,精确到省或直辖市,值不应包含“省”或“市”等字,如想筛选北京市的微博请用“北京”而不是“北京市”,想要筛选安徽省的微博请用“安徽”而不是“安徽省”,可以写多个地区,详见**region.py**
REGION = ['全部']
第36行,选择微博的起始时间
> 搜索的起始日期,为yyyy-mm-dd形式,搜索结果包含该日期
START_DATE = '2022-09-01'
第38行,选择微博的结束时间
> 搜索的终止日期,为yyyy-mm-dd形式,搜索结果包含该日期
END_DATE = '2022-10-11'
然后就可以开始运行了!
scrapy crawl search -s JOBDIR=crawls/search
完整的settings.py代码我也放在下方
-*- coding: utf-8 -*-
BOT_NAME = 'weibo'
SPIDER_MODULES = ['weibo.spiders']
NEWSPIDER_MODULE = 'weibo.spiders'
COOKIES_ENABLED = False
TELNETCONSOLE_ENABLED = False
LOG_LEVEL = 'ERROR'
访问完一个页面再访问下一个时需要等待的时间,默认为10秒
DOWNLOAD_DELAY = 10
DEFAULT_REQUEST_HEADERS = {
'Accept':
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7',
'cookie': '填你自己的Cookie哦'
}
ITEM_PIPELINES = {
'weibo.pipelines.DuplicatesPipeline': 300,
'weibo.pipelines.CsvPipeline': 301,
'weibo.pipelines.MysqlPipeline': 302,
'weibo.pipelines.MongoPipeline': 303,
'weibo.pipelines.MyImagesPipeline': 304,
'weibo.pipelines.MyVideoPipeline': 305
}
要搜索的关键词列表,可写多个, 值可以是由关键词或话题组成的列表,也可以是包含关键词的txt文件路径,
如'keyword_list.txt',txt文件中每个关键词占一行
KEYWORD_LIST = ['西北工业大学NSA,西工大NSA'] 或者 KEYWORD_LIST = 'keyword_list.txt'
要搜索的微博类型,0代表搜索全部微博,1代表搜索全部原创微博,2代表热门微博,3代表关注人微博,4代表认证用户微博,5代表媒体微博,6代表观点微博
WEIBO_TYPE = 1
筛选结果微博中必需包含的内容,0代表不筛选,获取全部微博,1代表搜索包含图片的微博,2代表包含视频的微博,3代表包含音乐的微博,4代表包含短链接的微博
CONTAIN_TYPE = 0
筛选微博的发布地区,精确到省或直辖市,值不应包含“省”或“市”等字,如想筛选北京市的微博请用“北京”而不是“北京市”,想要筛选安徽省的微博请用“安徽”而不是“安徽省”,可以写多个地区,
具体支持的地名见region.py文件,注意只支持省或直辖市的名字,省下面的市名及直辖市下面的区县名不支持,不筛选请用“全部”
REGION = ['全部']
搜索的起始日期,为yyyy-mm-dd形式,搜索结果包含该日期
START_DATE = '2022-09-01'
搜索的终止日期,为yyyy-mm-dd形式,搜索结果包含该日期
END_DATE = '2022-10-11'
进一步细分搜索的阈值,若结果页数大于等于该值,则认为结果没有完全展示,细分搜索条件重新搜索以获取更多微博。数值越大速度越快,也越有可能漏掉微博;数值越小速度越慢,获取的微博就越多。
建议数值大小设置在40到50之间。
FURTHER_THRESHOLD = 46
图片文件存储路径
IMAGES_STORE = './images'
视频文件存储路径
FILES_STORE = './videos'
配置MongoDB数据库
MONGO_URI = 'localhost'
配置MySQL数据库,以下为默认配置,可以根据实际情况更改,程序会自动生成一个名为weibo的数据库,如果想换其它名字请更改MYSQL_DATABASE值
MYSQL_HOST = 'localhost'
MYSQL_PORT = 3306
MYSQL_USER = 'root'
MYSQL_PASSWORD = '123456'
MYSQL_DATABASE = 'weibo'
运行完成后,我们可以看到这里多了个**结果文件**
<figure class="wp-block-image size-full">![图片[6]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/086498b0ce68c86f813cc75dc75069f3.png)</figure>
最终得到相关的excel文件
<figure class="wp-block-image size-full">![图片[7]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/b7796228822f644f606c90dd42721786.png)</figure>
打开之后,我们可以根据转发数等参数进行筛选,找到用户阅读比较多的文章,进一步分析
<figure class="wp-block-image size-large">![图片[8]-微博OSINT信息收集工具 支持按时间筛选、关键词筛选、地区筛选-FancyPig's blog](img/9c7ee2230089cc09a8323c8c79b16b51.png)</figure>
<!--yml
category: 社会工程
date: 2022-11-10 10:28:12
-->
如何使用OSINT工具调查邮箱账户-FancyPig's blog
> 来源:[https://www.iculture.cc/knowledge/pig=19243](https://www.iculture.cc/knowledge/pig=19243)
杂谈
我们之前介绍过OSINT工具,通过开源情报、公网中暴露的信息进行调查、溯源,本文依旧是分享OSINT工具的使用方法,我们尝试通过该工具查看我们的邮箱账户是否在公网中泄露!
相关阅读
Mosint
准备工作
需要先给自己的Linux系统安装`git`命令
CentOS
如果你是CentOS环境,您可以输入下面的命令
sudo yum install git
Debian/Ubuntu
sudo apt install git
Mosint工具的使用
下载git仓库
git clone https://github.com/alpkeskin/mosint.git
<figure class="wp-block-image size-full">![图片[1]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/bc04a71834ca2a4fcaae223e0ba8728f.png)</figure>
安装依赖
我们输入下面的命令进入mosint目录
cd mosint
<figure class="wp-block-image size-full">![图片[2]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/92299b8eb672812fc8cc2504179de6ac.png)</figure>
安装依赖
pip3 install -r requirements.txt
<figure class="wp-block-image size-full">![图片[3]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/a4fe73654fecde7a36b470d2c0ee5fa1.png)</figure>
工具集成开源引擎
<figure class="wp-block-table">
您需要去相关网站注册账户,并获取APIKEY,然后填入`key.json`文件
{
"BreachDirectory.org API Key": "",
"Hunter.io API Key": "",
"EmailRep.io API Key": "",
"Intelx.io API Key": ""
}
<figure class="wp-block-image size-full">![图片[4]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/d7b4b297d0bd6a34b34ff27e48843936.png)</figure>
EmailRep申请是需要24小时之内才能获取到APIKEY的,我这里还没有拿到,故先填入其他的三个!
<figure class="wp-block-image size-full">![图片[5]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/dac560d9dd4bca443b6babb18209562a.png)</figure>
首先我们进入[hunter.io](https://www.iculture.cc/?golink=aHR0cHM6Ly9odW50ZXIuaW8v)
在右上角点击Dashboard
<figure class="wp-block-image size-large">![图片[6]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/43b6433f65c9d47af91f59cdef9ed2e6.png)</figure>
选择China,输入自己的手机号进行注册
之后你可以看到右侧有一个API
<figure class="wp-block-image size-full">![图片[7]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/8fc25cb7f01e58b67ac1f7138af0fb5e.png)</figure>
点击复制即可
<figure class="wp-block-image size-large">![图片[8]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/522c17d09f20172b8c26ad2220b603d0.png)</figure>
首先需要注册账户
[https://intelx.io/signup](https://www.iculture.cc/?golink=aHR0cHM6Ly9pbnRlbHguaW8vc2lnbnVw)
填写邮箱账户、要注册的密码等信息,点击Sign up
<figure class="wp-block-image size-large">![图片[12]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/96f9264e6dee85c8d6c04cf5f38cca3c.png)</figure>
完成注册,需要去邮箱验证
<figure class="wp-block-image size-large">![图片[13]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/28670ee61ebdb104b7878ae9ca424c9d.png)</figure>
点击验证链接
<figure class="wp-block-image size-full">![图片[14]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/5b400ec35f39f58fe5a32bdd07ef9d70.png)</figure>
完成验证
<figure class="wp-block-image size-full">![图片[15]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/f603e994f694318a94090967eaafbc04.png)</figure>
输入邮箱账户和密码,点击Sign in登录
<figure class="wp-block-image size-large">![图片[16]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/f30e3933c116183852e2d718a252988c.png)</figure>
点击右上角Account
<figure class="wp-block-image size-large">![图片[17]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/1382f0cdd596498b8259fe0727f087b5.png)</figure>
点击Developer,然后就可以看到我们的APIKEY了
<figure class="wp-block-image size-large">![图片[18]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/1f7ff77e7cf615f2b1dccae9d0b782f5.png)</figure>
邮箱账户收集
比方说我们想查询下我的QQ邮箱`663962qq.com`
查询全部资料
go run main.go -e 663962qq.com -all
查询是否有数据泄露
密码泄露会进行脱敏
go run main.go -e 663962qq.com -leaks
这里可以看到之前我的密码用过**6745******😂
<figure class="wp-block-image size-full">![图片[23]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/a9cb151bc83309994a24ebab4f61c886.png)</figure>
其实我们之前还介绍了很多类似的工具在社区
《[【小技巧】教您查询自己的账户密码是否泄露过](https://www.iculture.cc/forum-post/10643.html)》
查询社交平台注册情况
go run main.go -e 663962qq.com -social
<figure class="wp-block-image size-full">![图片[24]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/0fd142e15075a70b31b035ebf8078a23.png)</figure>
查询关联域名
go run main.go -e 663962qq.com -domain
<figure class="wp-block-image size-full">![图片[25]-如何使用OSINT工具调查邮箱账户-FancyPig's blog](img/3855f979eb529dcbb64255911ee86d78.png)</figure>
更多工具
针对企业我们还可以使用一些收集的平台
</figure>
<!--yml
category: 社会工程
date: 2022-11-10 10:30:10
-->
王者荣耀五五开黑节钓鱼页面-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=822](https://www.iculture.cc/sg/pig=822)
响应“净网”专项行动,提高法律意识,自觉维护网络清朗环境
<item>1年前</item> <item class="pull-right">8.8W+</item>
<!--yml
category: 社会工程
date: 2022-11-10 10:31:03
-->
社工方面的几件事情-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=187](https://www.iculture.cc/sg/pig=187)
社工几件事情
<figure class="wp-block-image">![12.png](img/183a50676cd26de30156b5bac6afccd6.png "12.png")</figure>
0x0
声明
以下全部资料仅用于教育用途
0x1
首先,我们要理性看待社工这件事情,社会工程学虽然在中国没有设立这门专业,但并不意味着它就不重要,它也算是信息安全领域的一门学科。
0x2
其次,我们为什么要社工?我想,大多数人都是为了找到骗子并予以警告,本身出发点并没有错。也有少部分人对信息收集感兴趣,所以想研究社工,这也没有错。只有知道怎么进行信息收集,才能更好的保护我们的隐私。
0x3
最后,我想说的就是一个人的力量是微薄的,知识也是有限的,因此如果想更快地提升这方面的技能,还希望大家能参与进来,多多分享。
0x4
一些社工库分享
在线社工库[https://www.iculture.cc/qbind](https://www.iculture.cc/qbind)
开房、书城、密码数据库[http://site3.sjk.space/](https://www.iculture.cc/?golink=aHR0cDovL3NpdGUzLnNqay5zcGFjZS8=)
搜索引擎社工
小白社工教程
正在制作中
其他资料
你们可以在评论里补充
<!--yml
category: 社会工程
date: 2022-11-10 10:30:03
-->
2022史上最全的社工思路分享-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=1034](https://www.iculture.cc/sg/pig=1034)
声明
本教程仅献给网络安全专业领域、热爱社工的朋友们、被网络欺骗的无助群体
<button type="button" class="close" data-dismiss="alert" aria-label="Close">请不要用于违法用途,阅读以下内容代表您认同并愿意承担由此可能带来的一切法律责任</button>
导读
费罗伊德认为:人类是生来就存在好奇心的,**窥探他人隐私是人的天性**,这源于童年时对自己身世的追问与好奇,也是个人成长的需要。
但是人们在窥探他人隐私的同时,**又害怕被他人窥探到自己的隐私**……
李彦宏曾说过:中国人更加开放,或者说对于隐私问题没有那么敏感。**如果说他们愿意用隐私来交换便捷性或者效率,很多情况下他们是愿意这么做的。**
因此,我们的**隐私泄露**大多数是与自己的**生活习惯**相关、或者是与企业**过度的收集信息**相关。
我想,你应该遇到过这样的场景?
* 为了薅羊毛(免费领取XXXX)而不惜输入**自己的手机号**
* 为了蝇头小利帮助坏人**辅助验证自己的手机号**、**出租自己的微信账户**
这些都是你自己的帐户泄露产生的根源,当然,偶尔也会因为企业信息管理的不善,导致一些信息被黑客导出的情况,前者是可以减小风险发生概率的,而后者是不可避免的。
法律
在阅读下文前,还是要强调下**法律的重要性**。我想,你搜索到这一篇文章,一定是因为被骗了但找不到解决方案,你可能心里会比较焦急,但我们还是要先简单说一下法律的条文规定。针对公民个人信息这一块,现在法律还是比较严格的,侵犯公民个人信息需要负刑事责任,普通信息**5000条**就可以判**3年以下**了,**超过50000条**就要判**3-7年了**。
因此,如果不是专业领域(譬如国家级hvv、网络攻防演习或者其他授权场景,**请不要轻易使用公民个人信息**)
你可以在上面的裁判文书网中,搜索`侵犯公民个人信息`获取有关的案件
社工思维导图
以下思路主要基于**OSINT开源情报框架**
<figure class="wp-block-image size-large is-resized">![图片[1]-2022史上最全的社工思路分享-FancyPig's blog](img/4aef7fe5aef6cd64304415373ccb095a.png)</figure>
信息收集的几个概念
我们推荐大家尽可能使用被动信息收集的方式,不与目标产生直接交互
被动信息收集
**被动信息收集**指的是通过公开渠道可获得的信息,与目标不产生直接交互
比方说通过[**猪头汉堡店**](https://pig8.iculture.cc)或者其他**[在线社工库](https://www.iculture.cc/sgk)**进行信息收集
主动信息收集
与目标进行直接交互
比方说发[钓鱼链接](https://www.iculture.cc/tag/%e9%92%93%e9%b1%bc%e9%a1%b5)、发钓鱼文件
再比方说与目标的朋友套近乎,“他是我一个之前某某某游戏认识的,您能给我一下他的微信吗,好久没跟他聊了”
从而拿到目标信息。
其他阅读
《[史上最全面的红队侦察技巧分享(含信息收集)](https://www.iculture.cc/forum-post/14740)》
常见问题
常见问题,其实也是一个社工的**常见步骤**,可以供各位参考
TOP1:如何通过QQ、微博获取用户的手机号
下方是一些常见的**开源工具**或是**搜索引擎**,均来自**互联网**,请合理合法使用
为了不误伤到无辜的网友,如何验证结果是准确的?您可以尝试通过将**手机号**导入**通讯录**,然后在QQ添加好友列表里,就能看到这个手机号对应的QQ号,你可以通过**校验头像**是否一致,来确认结果是否准确。
👉
首先,在手机通讯录中**新建联系人**,添加上手机号
<figure class="wp-block-image size-full is-resized">![图片[2]-2022史上最全的社工思路分享-FancyPig's blog](img/18f893ee64e333c5bc8721b9593588a7.png)
<figcaption>通讯录导入</figcaption>
</figure>
然后打开QQ,在QQ中添加好友,选择**添加手机联系人**
<figure class="wp-block-image size-full">![图片[3]-2022史上最全的社工思路分享-FancyPig's blog](img/1736bef650515c4efda0d22bcf7fdf6c.png)
<figcaption>QQ>右上角+好友/群>添加手机联系人</figcaption>
</figure>
允许QQ访问通讯录
<figure class="wp-block-image size-full">![图片[4]-2022史上最全的社工思路分享-FancyPig's blog](img/61b2e28949e44e0a14349cc74a3a33bd.png)</figure>
然后在列表里就能看到了,我们找到刚才设置的昵称为**猪**的,发现头像和QQ号是一致的,因此可以一定程度上推断该手机号是正确的
<figure class="wp-block-image size-full">![图片[5]-2022史上最全的社工思路分享-FancyPig's blog](img/ccaa2349d9152b48352bbfff1e68addd.png)</figure>
如何更好的保护自己的隐私呢?需要大家一定要牢记
* 用**自己手机号**注册过的任何账户**不要出售给任何人**,否则结果要么是账户被坏人拿走做了违法的业务,要么就是会被一些网友通过上述搜集手段找到是你,**然后你就被网友们误伤了**……
* 在QQ及其他社交平台上**禁止他人通过手机号搜索**,👉
TOP2:如何通过手机号获取全名?
1.如果你不想被对方发现,建议使用转账验证姓氏的方式,可以参考百家姓中出现频率最高的几个
***常见的姓氏***
*王、李、张、刘、陈、杨、黄、赵、吴、周、徐、孙、马、朱、胡、郭、何、林、高* *2.如果你不介意被对方发现,你可以直接通过支付宝转账,使用银行卡付款。
然后在你的银行卡客户端查询订单,订单详情的支付场所:XXX,会显示对方的全名
普通银行卡客户端,支付宝已将【支付场所:真实姓名】改为【特约商户】
但您仍可以通过使用【云闪付】付款查询到姓名
3.我们还可以通过以下两种方法
* 通过淘宝或者支付宝找回密码,使用人脸验证,可以看到名字中的后2个字
<figure class="wp-block-image size-full">![图片[9]-2022史上最全的社工思路分享-FancyPig's blog](img/1dc91d7d6797a22ac7880c46450fa62e.png)</figure>
<figure class="wp-block-image size-full">![图片[10]-2022史上最全的社工思路分享-FancyPig's blog](img/da872f71b1094a64bae4e1bf6868688b.png)</figure>
这里我们可以查找到该用户对应的公司地址,完成溯源
<figure class="wp-block-image size-full">![图片[11]-2022史上最全的社工思路分享-FancyPig's blog](img/ed69ff9fca27bb9be52449993146e5ba.png)</figure>
TOP3:有了全名可以查到什么?地址?身份证?
爱企查
根据企业法人、高管的姓名可以查到一些**公开的信息**
进阶教程
如何校验一个人的信息是否属实,可以参考下面的教程
TOP4:如果社工库里都没有,怎么办?
传统社工手段
整体思路请参考本文最开始的思维导图
* 抖音/快手/美拍的ID一般跟微信号一样,昵称一般跟微博用户名一样
* 通过[reg007](https://www.iculture.cc/?golink=aHR0cHM6Ly9yZWcwMDcuY29t)查询手机号注册的一些社交网站,然后在到社交平台里收集信息
* 微博/网易云音乐等社交平台如果存在唯一关注、唯一粉丝,可以一定程度上判断是该账户的小号或者大号
* 通过领英职场平台可以寻找到一些有价值的信息
不登陆平台就可以查询用户的方法
* 使用Google Hacking收集有关用户ID、昵称相关的信息
除了以上方法,国外还有一些开源的[OSINT框架](https://www.iculture.cc/osint)可供学习(现已汉化)
<figure class="wp-block-image size-large">![图片[12]-2022史上最全的社工思路分享-FancyPig's blog](img/f7bbb8f4dfd833ab78f8f610e95950c0.png)</figure>
TOP5:怎么查询某个人的定位/地理位置?
社交软件
通过Wireshark工具获取对方IP
通过XML卡片获取对方IP
钓鱼工具
钓鱼教程
TOP6:后续是否考虑做一个互助的社区?
后续可能会考虑给本网站的用户提供一个互助交流的社区,已于2021年12月5日上线*
<!--yml
category: 社会工程
date: 2022-11-10 10:28:24
-->
如何通过手机号溯源到实名-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=17246](https://www.iculture.cc/sg/pig=17246)
相关声明
本教程仅限于授权渗透测试、专业蓝队溯源等场景使用,请勿用于非法用途
相关阅读
之前我们讲到如果能拿到手机号,可以通过支付宝转账验证尝试找到对方的实名
那如果这些方法都无效怎么办呢?
通过网课平台溯源(学习通)
大多数的目标群体都是学生或者毕业的学生,因此我们可以尝试通过**学习通网课平台**进行溯源
下载完成APP后登录,点击**消息**,右上角**+**,**添加朋友**
<figure class="wp-block-image size-full">![图片[1]-如何通过手机号溯源到实名-FancyPig's blog](img/7902569dd4191353945823f6a0dd517f.png)</figure>
然后在搜索框输入**手机号**
<figure class="wp-block-image size-full">![图片[2]-如何通过手机号溯源到实名-FancyPig's blog](img/e482cda5980b92a269ccb6502c738457.png)</figure>
我们这里找了个小姐姐的手机号搜了一下
<figure class="wp-block-image size-full">![图片[3]-如何通过手机号溯源到实名-FancyPig's blog](img/08f84ef7bd8504855f8e1af71a64e5c5.png)</figure>
可以看到默认是认证的,而且是显示实名的
<figure class="wp-block-image size-full">![图片[4]-如何通过手机号溯源到实名-FancyPig's blog](img/275ea2974fb6653f9a8b21379b14ebc7.png)</figure>
到此溯源已经完成了!
通过办公软件平台
当然,如果目标对象是社会人士,你可以考虑通过以下方式进行溯源
企业微信或者微信自带的搜索功能均可以进行搜索,我们这里以微信搜索功能为例,尝试搜下我自己的手机号
<figure class="wp-block-image size-full">![图片[5]-如何通过手机号溯源到实名-FancyPig's blog](img/dcfd2f21e12809f7ba43e2cdfc1844fd.png)</figure>
输入我的手机号看下效果,可以看到实名信息,企业微信联系人的溯源完成
<figure class="wp-block-image size-full">![图片[6]-如何通过手机号溯源到实名-FancyPig's blog](img/a9a4a7c64aad68f5231e4eae1003d55f.png)</figure>
当然,你还可以通过钉钉或者飞书其他的办公软件进行搜索手机号,完成溯源
小结
其实只要是围绕着社交的APP都可以挖掘到一点点信息,比方说领英等等,只要你想象力够丰富总能找到可以溯源的信息。
<!--yml
category: 社会工程
date: 2022-11-10 10:35:26
-->
【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog
> 来源:[https://www.iculture.cc/knowledge/pig=11951](https://www.iculture.cc/knowledge/pig=11951)
相关声明
本教程仅用于hvv、红蓝攻防对抗等专业领域,请勿用于非法用途。
相关阅读
Wireshark的功能实在强大,可以做很多事情,我们之前提供过很多篇教程
杂谈
今天我们延续之前的这篇,给大家补充一下
工具下载
图文教程
首先,我们打开wireshark,这里我们要注意的是
* 如果你是使用的有线连接的互联网,则使用`以太网`
* 如果你是使用的WIFI连接的互联网,则使用`Wlan`
<figure class="wp-block-image size-large">![图片[1]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/c6cf714620ce5f19f26a41e390ffcc4f.png)</figure>
我们这里属于第二种情况,所以选择WLAN
<figure class="wp-block-image size-large">![图片[2]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/fcb892bc4ddb7f33e0533c62a79a0e7a.png)</figure>
方法一:使用CTRL+F字符串查找
按一下ctrl F,选择分组详情、字符串、然后输入代码`020048`(这个是QQ语音对应的特征,其他的后面我们会分享)
<figure class="wp-block-image size-full">![图片[3]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/19a214c7d9f46926e16d19cf649ed155.png)</figure>
点击一下就开始抓包了,这时,我们给另一个猪猪打个电话
<figure class="wp-block-image size-full">![图片[4]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/b7d3d50dc04cbbf1800b4ad8ad023b78.png)</figure>
接通之后
<figure class="wp-block-image size-full">![图片[5]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/db424087f4d8593efd2ef0b4e3c7efbf.png)</figure>
我们点查找就可以看到对方的IP地址了
<figure class="wp-block-image size-large">![图片[6]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/5bdd8819d3efbf6431dbf6c987594aea.png)</figure>
当然,除了这种方法,还可以使用下面的方法
方法二:在过滤器中填写代码回车查找
在过滤器中填写`udp[8:3]==02:00:48`进行过滤,比第一种方法更加直观
<figure class="wp-block-image size-large">![图片[7]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/873b19a9c3200c09140a32d9a8ad8fa4.png)</figure>
为什么是020048?
那这里肯定会有人问了为什么是`020048`,QQ语音通话使用的是UDP协议直连,简单来说就是语音通话的双方直接连接,不通过其他服务器,020048是**QQ UDP**协议**72字节**的报文头
<figure class="wp-block-image size-large">![图片[8]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/e573ad8779fc1be08643ce0b7da65690.png)</figure>
同时也是为什么可以使用`udp[8:3]==02:00:48`进行过滤的原因,UDP前面包括**8字节UDP头**,**后面就是数据**,但是wireshark并没有提供**udp.data**这种直接的过滤方式,故我们使用**偏移**来实现此过滤,也就只能靠udp[8:x]这样偏移来获取(注:8是固定的八个字节),QQ前面的报文头是不会变化的,所以说我们可以通过之前说的两种方式来找到包含带有真实IP的包。
微信语音获取IP特征过程
如果我们不知道特征,那么怎么去尝试寻找特征呢?其实很简单,电脑连上WIFI,给另一个微信(**已知IP**)打个电话,然后开着wireshark,在过滤器上可以输入我们已知的IP地址(如果你不知道自己的IP地址,可以在百度上直接输入`本机ip`就可以快速获取了,我们这里已经获取好了,在过滤器中输入)
<figure class="wp-block-image size-full">![图片[9]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/349f5a99abd269f1be55e39e1a114baa.png)</figure>
然后,我们展开详情,看看Data里有没有同样的特征
<figure class="wp-block-image size-large">![图片[10]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/77adede694e58bf54d869041e4c6d0b4.png)</figure>
我们在这里发现,微信与QQ不同,他的报文头是**随机的值**,通过找规律发现**前两位都是a3**,根据之前说的原理,可以使用**udp[8:1]==a3**进行过滤。
利用data.len进行过滤
这个抓包的并没有上面的第一种方法准确(并不缺少数据,但是过滤后的**无关IP较多**),此方法参考了**台湾中央警察大学**三位研究员2020年9月在公开会议上分享的一篇论文,其中提到了根据**Length**、**Time to live**、**Flags**三个维度来来判断**嫌疑人真实IP**的技巧,根据这篇论文提供的思路,最后得出的命令为**data.len >= 120 and data.len <= 150**,也就是筛选Length长度为120到150区间的包
<figure class="wp-block-image size-large">![图片[11]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-FancyPig's blog](img/18c63cca45a0caeadcc1baf2676d727b.png)</figure>
其他客户端的特征有吗?
微信、钉钉这些语音的特征有吗?
答案是有的,我们这里直接分享其特征:
* 钉钉:udp[8:4]==00:01:00:4c
* QQ:udp[8:3]==02:00:48
* 微信:udp[8:1]==a3
参考原文
<!--yml
category: 社会工程
date: 2022-11-10 10:30:36
-->
QQ在窥探我们的隐私,真的是这样的吗?-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=274](https://www.iculture.cc/sg/pig=274)
关于QQ读取Chrome历史记录的澄清
本文仅作为参考,不针对任何企业。
前言
之前看到群里有人说QQ会读取Chrome的历史记录,而且还被火绒的自定义规则拦截了,到底是真是假呢?
正文
尝试验证一下,下面附验证的整个过程。
打开虚拟机,装好QQ和Chrome,然后打开Process Monitor Filter。使用规则简单的过滤下。
![process1](img/adb52ad8e7b0890bb3443d212662e160.png "process1")
果然看到了读取AppData\Local\Google\Chrome\User Data\Default\History等目录的操作。
![process2](img/d6c82c301b63b552382d84fc57dbb6af.png "process2")
而且时间也是恰到好处的十分钟。
![process3](img/50b734ffaeb2220992b76141d29084fc.png "process3")
这是实锤了QQ和Chrome过不去啊,这我可不信,把规则去掉,重新翻了一下才发现果然是冤枉QQ了啊。
![process4](img/9f6902a6e0f06988fe08377668c0c38a.png "process4")
受害人之多令人震惊,仔细一看,这玩意是遍历了`Appdata\Local\`下的所有文件夹,然后加上`User Data\Default\History`去读啊。`User Data\Default\History`是谷歌系浏览器(火狐等浏览器不熟,不清楚目录如何)默认的历史纪录存放位置,Chrome中枪也就很正常了。
然后就该研究研究QQ为啥要这么干了,读取到的浏览器历史记录又拿来干啥了呢?
挂上x32dbg,动态调试找到位置。
![process5](img/c8ae47d5a312746d924557eee1c0006c.png "process5")
然后去IDA里直接反编译出来,如下(位置在AppUtil.dll中 .text:510EFB98 附近)
![process6](img/806cdac67a9c21d788f77d22f8e80cea.png "process6")
这一段的逻辑还是很好看懂的,先读取各种 User Data\Default\History 文件,读到了就复制到Temp目录下的temphis.db。回去看下Procmom,果然没错。
![process7](img/df2b2db6c09d772ce56742b0859baa38.png "process7")
再之后的操作就简单了,SQLite读取数据库,然后`select url from urls`,这是在干什么大家都懂哈。后面就不接着讲了,有兴趣的可以自己接着看。
结论,QQ并不是特意读取Chrome的历史记录的,而是会试图读取电脑里所有谷歌系浏览器的历史记录并提取链接,确认会中招的浏览器包括但不限于Chrome、Chromium、360极速、360安全、猎豹、2345等浏览器。
晚上来编辑一下,刚才去试了下TIM,果然经典重现,而且比QQ还离谱,不多说直接上图。
![process8](img/3631e46b14d4da3cd307bd25fbc04ac9.png "process8")
![process9](img/7d660ccf79a8e7ed53b323c1638d4100.png "process9")
总结
影响范围
* QQ Windows 9.0.4(发布于2018/06/15)之后的版本 (thx: ddsfeng 315)
* TIM Windows 3.1.0(发布于2020/07/29)之后的版本
具体行为
1. 登录10分钟之后,读取浏览器浏览历史
* 读取 `%LocalAppData%` 目录下所有基于Chromium的浏览器历史记录;
* 读取IE历史(FindFirstUrlCacheEntryW)
2. 对读取到的url进行md5,并在本地进行比较
3. md5匹配的情况下,上传相应分组ID(主要为电商、股票等关键词)
* 第三个字符串应为 `uland.taobao.com/sem/tbsearch?` (来自知乎用户Harrion)
事件进展
* 目前,QQ 9.4.2 (发布于2021/01/17 20:32)移除了相应代码,暂停了侵害行为
* 目前,TIM 3.3.0 (发布于2021/01/17 21:39)移除了相应代码,暂停了侵害行为
参考原文
[《关于QQ读取Chrome历史记录的澄清 》](https://www.iculture.cc/?golink=aHR0cHM6Ly9iYnMucGVkaXkuY29tL3RocmVhZC0yNjUzNTkuaHRt)
<!--yml
category: 社会工程
date: 2022-11-10 10:29:10
-->
图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=5677](https://www.iculture.cc/sg/pig=5677)
法律声明
本教程仅作为JAVA学习提供爱好培养,请勿用于非法用途。
根据**《中国人民共和国刑法总成》(第15版)**第二百五十三条之一规定:
第一条:出售或者**提供行踪轨迹信息**,被他人用于犯罪的;
第三条:非法获取、出售或者提供**行踪轨迹信息**、通信内容、征信信息、财产信息五十条以上的;
属于`情节严重`,将处**三年以下有期徒刑**或者**拘役**,并处或者单处罚金
引入
早在19年的时候就流行着通过照片社工的
这张图片好像是一个日本的女星,具体叫什么咱也不知道,咱也不敢问。
<figure class="wp-block-image size-large">![图片[1]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/023c4e542d5f99c0736bc5d32e8c7308.png)</figure>
然后就有细心网友,发现了背景里有**天汽车城**
<figure class="wp-block-image size-full">![图片[2]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/d88d2e18e8f8716a6ff4676c6305d9d0.png)</figure>
然后到搜索引擎里查询一下,关联出来一些常用的搜索
<figure class="wp-block-image size-full">![图片[3]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/40cd1dc13c41de4850fd46b7d1f49dee.png)</figure>
然后,再将图片翻转过来,观察到中间的区域
<figure class="wp-block-image size-full">![图片[4]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/5de87fe6f6f7d21af21891d6afc94488.png)</figure>
然后再通过强大的Google地图,找到与之匹配的图片,是不是绝了!
<figure class="wp-block-image size-full">![图片[5]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/3909ac437e0c208c6f1c451fec06c68b.png)</figure>
这里只是拍照相关的,由此引出的图片类的社工,除了本身肉眼可见的关键建筑标志,我们还可以从技术手段上发现一些新的特点。
相关阅读
之前我们介绍过图片的EXIF属性,可以找到照片拍摄的地理位置
这里值得补充的是,照片在QQ、微信、微博等社交平台大部分都会进行压缩处理,因此地理位置信息会被抹掉。
在19年的时候,微信官方也对图片原图的相关问题做出过声明
<figure class="wp-block-image size-full">![图片[6]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/9cff77953a2e5dc27d2c270311462a94.png)</figure>
看起来社交是有些困难了,但是如果有其他方式能拿到原图,会不会有一些操作空间?
* USB拷贝?估计不行
* 照片发送原图到电脑?有些难度?
* 远程同步工具?BINGO!相册同步软件试一试?
因此如果将图片通过某种方式自动同步到云端,便可以查看到**图片原图**。
* 例如,**百度网盘**中相册图片自动保存的功能,可以存储原图。
与此类似的软件还有很多,从应用商店随便一搜都是
<figure class="wp-container-2 wp-block-gallery-1 wp-block-gallery columns-2 is-cropped">
即便你不开启定位,相册传到云端,地理位置都可以显示出来
因此,使用了这类软件的童鞋们,建议没有特殊需求还是尽量弃了坑吧,同步相册从某种意义上讲已经把个人的一些资料泄露给了软件的运营商。
不过,暗箭难防啊!其实,手机系统自带的软件就有根据定位筛选照片的功能,甚至还可以通过地图来展示
<figure class="wp-block-image size-full">![图片[9]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/66f72a0d0ea698c73cea4068ce1a6b17.png)</figure>
很多人害怕使用在线工具上传检验图片位置会暴露自己的信息。
因此,之前的文章介绍过通过**Python**来读取图片的地理位置,代码在下面会分享出来
* 倒数第二行要修改你的图片名称,运行时和python脚本在同一路径
import requests
import exifread
class GetPhotoInfo:
def __init__(self, photo):
self.photo = photo
百度地图ak 请替换为自己申请的ak
self.ak = 'w5yCMHrlcHn2Er6WHcjvpHMpNOeYGIX7'
self.location = self.get_photo_info()
def get_photo_info(self, ):
with open(self.photo, 'rb') as f:
tags = exifread.process_file(f)
try:
打印照片其中一些信息
print('拍摄时间:', tags['EXIF DateTimeOriginal'])
print('照相机制造商:', tags['Image Make'])
print('照相机型号:', tags['Image Model'])
print('照片尺寸:', tags['EXIF ExifImageWidth'], tags['EXIF ExifImageLength'])
纬度
lat_ref = tags["GPS GPSLatitudeRef"].printable
lat = tags["GPS GPSLatitude"].printable[1:-1].replace(" ", "").replace("/", ",").split(",")
lat = float(lat[0]) + float(lat[1]) / 60 + float(lat[2]) / float(lat[3]) / 3600
if lat_ref != "N":
lat = lat * (-1)
经度
lon_ref = tags["GPS GPSLongitudeRef"].printable
lon = tags["GPS GPSLongitude"].printable[1:-1].replace(" ", "").replace("/", ",").split(",")
lon = float(lon[0]) + float(lon[1]) / 60 + float(lon[2]) / float(lon[3]) / 3600
if lon_ref != "E":
lon = lon * (-1)
except KeyError:
return "ERROR:请确保照片包含经纬度等EXIF信息。"
else:
print("经纬度:", lat, lon)
return lat, lon
def get_location(self):
url = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak={}&output=json' \
'&coordtype=wgs84ll&location={},{}'.format(self.ak, *self.location)
response = requests.get(url).json()
status = response['status']
if status == 0:
address = response['result']['formatted_address']
print('详细地址:', address)
else:
print('baidu_map error')
if __name__ == '__main__':
Main = GetPhotoInfo('IMG_6623.jpg')
Main.get_location()
这次我们分享JAVA代码,通过JAVA的代码来读取图片地理位置方法
package com.easylinkin.bm.extractor;
import com.alibaba.fastjson.JSONObject;
import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
import com.easylinkin.bm.util.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.io.IOException;
/**
* author zhengwen
**/
Slf4j
public class ImgTestCode {
public static void main(String[] args) throws Exception {
File file = new File("C:\\Users\\fancypig\\Desktop\\pic_location\\IMG_6623.jpg");
readImageInfo(file);
}
/**
* 提取照片里面的信息
*
* param file 照片文件
* throws ImageProcessingException
* throws Exception
*/
private static void readImageInfo(File file) throws ImageProcessingException, Exception {
Metadata metadata = ImageMetadataReader.readMetadata(file);
System.out.println("---打印全部详情---");
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
System.out.format("[%s] - %s = %s\n",
directory.getName(), tag.getTagName(), tag.getDescription());
}
if (directory.hasErrors()) {
for (String error : directory.getErrors()) {
System.err.format("ERROR: %s", error);
}
}
}
System.out.println("--打印常用信息---");
Double lat = null;
Double lng = null;
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
String tagName = tag.getTagName(); //标签名
String desc = tag.getDescription(); //标签信息
if (tagName.equals("Image Height")) {
System.err.println("图片高度: " + desc);
} else if (tagName.equals("Image Width")) {
System.err.println("图片宽度: " + desc);
} else if (tagName.equals("Date/Time Original")) {
System.err.println("拍摄时间: " + desc);
} else if (tagName.equals("GPS Latitude")) {
System.err.println("纬度 : " + desc);
System.err.println("纬度(度分秒格式) : " + pointToLatlong(desc));
lat = latLng2Decimal(desc);
} else if (tagName.equals("GPS Longitude")) {
System.err.println("经度: " + desc);
System.err.println("经度(度分秒格式): " + pointToLatlong(desc));
lng = latLng2Decimal(desc);
}
}
}
System.err.println("--经纬度转地址--");
//经纬度转地主使用百度api
convertGpsToLoaction(lat, lng);
}
/**
* 经纬度格式 转换为 度分秒格式 ,如果需要的话可以调用该方法进行转换
*
* param point 坐标点
* return
*/
public static String pointToLatlong(String point) {
Double du = Double.parseDouble(point.substring(0, point.indexOf("°")).trim());
Double fen = Double.parseDouble(point.substring(point.indexOf("°") + 1, point.indexOf("'")).trim());
Double miao = Double.parseDouble(point.substring(point.indexOf("'") + 1, point.indexOf("\"")).trim());
Double duStr = du + fen / 60 + miao / 60 / 60;
return duStr.toString();
}
/***
* 经纬度坐标格式转换(* °转十进制格式)
* param gps
*/
public static double latLng2Decimal(String gps) {
String a = gps.split("°")[0].replace(" ", "");
String b = gps.split("°")[1].split("'")[0].replace(" ", "");
String c = gps.split("°")[1].split("'")[1].replace(" ", "").replace("\"", "");
double gps_dou = Double.parseDouble(a) + Double.parseDouble(b) / 60 + Double.parseDouble(c) / 60 / 60;
return gps_dou;
}
/**
* api_key:注册的百度api的key
* coords:经纬度坐标
* http://api.map.baidu.com/reverse_geocoding/v3/?ak="+api_key+"&output=json&coordtype=wgs84ll&location="+coords
* <p>
* 经纬度转地址信息
*
* param gps_latitude 维度
* param gps_longitude 精度
*/
private static void convertGpsToLoaction(double gps_latitude, double gps_longitude) throws IOException {
String apiKey = "YNxcSCAphFvuPD4LwcgWXwC3SEZZc7Ra";
String res = "";
String url = "http://api.map.baidu.com/reverse_geocoding/v3/?ak=" + apiKey + "&output=json&coordtype=wgs84ll&location=" + (gps_latitude + "," + gps_longitude);
System.err.println("【url】" + url);
res = HttpUtils.httpGet(url);
JSONObject object = JSONObject.parseObject(res);
if (object.containsKey("result")) {
JSONObject result = object.getJSONObject("result");
if (result.containsKey("addressComponent")) {
JSONObject address = object.getJSONObject("result").getJSONObject("addressComponent");
System.err.println("拍摄地点:" + address.get("country") + " " + address.get("province") + " " + address.get("city") + " " + address.get("district") + " "
+ address.get("street") + " " + result.get("formatted_address") + " " + result.get("business"));
}
}
}
}
<figure class="wp-block-image size-full">![图片[10]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/913a15d9f7f16f24fc4588feda205e15.png)</figure>
自制一个检测工具
当然,很多人可能会觉得java代码用起来很不方便,甚至表示自己没有学过,我们这一期专门给大家准备了一个**本地检测的工具**
在线检测入口
使用方法
还是上一期的图,我们可以在浏览器里拖入检测
<figure class="wp-block-image size-large">![图片[11]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/028fe76dbbbff764e6464105e742a02e.png)</figure>
实现方法就是通过将图片中的数据通过JSON进行解析,**图片不会上传到我们的服务器,相关代码证明**
这里只是通过json解析方式将本地图片中的参数解析出来
class="uploader"
drag
action="https://jsonplaceholder.typicode.com/posts/"
:http-request="processImage"
:before-upload="readExif"
accept=".jpg, .jpeg, .heic"
:show-file-list="false"
通过上面图片的经纬度,我们可以复制到Google地图中,便可以得到精确的地理位置了!
<figure class="wp-block-image size-large">![图片[12]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/9c7cce3e9dde235c6fd851d2d6e8a43c.png)</figure>
小工具制作方法
本项目通过vue编写,这里仅教学一次,后续全部vue项目启动和打包的过程,将不再讲解。
首先需要下载vscode和Nodejs,我们给大家准备了下载链接
打开VSCODE导入文件夹
<figure class="wp-block-image size-full">![图片[13]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/accf8730a02bea1f70f6a25927659452.png)</figure>
选择fancypig-exif-viewer-1.0.0
<figure class="wp-block-image size-full">![图片[14]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/22466ae32ed84a7f82850ba8792299da.png)</figure>
然后进入项目,启动终端
<figure class="wp-block-image size-full">![图片[15]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/9a9e36c57ac4b901acc1618dbdb0f02f.png)</figure>
加载环境依赖
npm install
方便测试效果,可以本地运行
npm run serve
可以通过下面的路径查看效果
<figure class="wp-block-image size-full">![图片[16]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/cf363d60d74f55e3812ed8850aab725f.png)</figure>
访问查看效果
<figure class="wp-block-image size-large">![图片[17]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/c0b7d39f600a9c354d65abd749eec093.png)</figure>
当然,如果你想部署到公网,做一个公益的小工具给热心网友们,可以输入
npm run build
<figure class="wp-block-image size-full">![图片[18]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/ff3c775011df09182ad9cbc8a83d18be.png)
<figcaption>等待打包完成</figcaption>
</figure>
<figure class="wp-block-image size-full">![图片[19]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/6c98dc7f83ba73223db2ff74536ffa92.png)</figure>
会将打包好的文件放到dist目录中
然后我们可以将文件上传到自己的服务器网站中便可以访问了
<figure class="wp-block-image size-full">![图片[20]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/ac4e5f2cdb66348e0b315cf41fdaf40f.png)</figure>
公网上就可以访问咯!
<figure class="wp-block-image size-large">![图片[21]-图片定位远程查岗?别轻易用这些软件了!附一个自制工具-FancyPig's blog](img/d65b5a98a4aab4544cce114e6d81cbe2.png)</figure>
</figure>
<!--yml
category: 社会工程
date: 2022-11-10 10:30:27
-->
分享一款简单粗暴的社工库源码-FancyPig's blog
> 来源:[https://www.iculture.cc/sg/pig=311](https://www.iculture.cc/sg/pig=311)
分享一款简单粗暴的社工库源码
杂谈
之前出过专门一期社工库搭建的视频教程
很多人反馈如果自己有txt、csv的数据,又不会搭建数据库,怎么办?今天给大家分享一个简单粗暴的社工库源码
声明
本教程仅用于教育目的,请勿用于非法用途。
介绍
你只需要把你的txt文件、csv文件放到`FancyPig`目录下
搜索功能就可以自动从`FancyPig`目录下进行模糊查询了,如果文件太大了或者比较多可能查询会比较慢
环境需要
需要使用LNMP或者LAMP的环境
要有php运行环境就行
效果展示
这里随便传了些文件进行测试
<figure class="wp-block-image size-full">![图片[1]-分享一款简单粗暴的社工库源码-FancyPig's blog](img/9817ec9181ada226171ea635bebbbc12.png)</figure>
测试完成之后已经删除了
只留了空的页面
<!--yml
category: 社会工程
date: 2022-11-10 10:29:17
-->
99%的人都不知道的一个微博社工的小技巧-FancyPig's blog
> 来源:[https://www.iculture.cc/knowledge/pig=5115](https://www.iculture.cc/knowledge/pig=5115)
响应“净网”专项行动,提高法律意识,自觉维护网络清朗环境
<item>1年前</item> <item class="pull-right">8.8W+</item>
<!--yml
category: 社会工程
date: 2022-11-10 10:34:57
-->
【零基础学渗透】被动信息收集-FancyPig's blog
> 来源:[https://www.iculture.cc/cybersecurity/pig=11003](https://www.iculture.cc/cybersecurity/pig=11003)
停更已久的[《零基础学渗透》](https://www.iculture.cc/category/cybersecurity/seclearn)系列,今天开始继续更新了
<figure class="wp-block-image size-full">![图片[1]-【零基础学渗透】被动信息收集-FancyPig's blog](img/8e5026b509c27d896d3311866fbd0e04.png)</figure>
更多网络空间安全学习资料,您也可以在我们的社区里找到
相关声明
以下内容仅限于教育目的,请勿用于非法用途。
被动信息收集通常不与目标发生交互,这意味着目标将无法发现我们正在调查TA
学习目标
1.明确目标,要**收集什么信息**
2.掌握常用的**信息收集工具**和**第三方服务**
3.归纳总结自己的**信息收集思路**
网友绘制了一张社工思维导图,可以参考
<figure class="wp-block-image size-full">![图片[2]-【零基础学渗透】被动信息收集-FancyPig's blog](img/4e2d9c5ec3533e6328bc5289f1490ef7.png)</figure>
虽然感觉比我之前绘制的要烂的很多,不过也有一定参考价值😂😂😂
首先,我们分享一下信息收集的常见内容
* 1.IP地址段
* 2.域名信息
* 3.邮件地址
* 4.文档图片信息
* 5.公司地址
* 6.公司组织架构
* 7.联系电话
* 8.人员姓名/职务
* 9.目标系统使用的技术架构
* 10.公开的商业信息
信息的用途
* 1.用信息描述目标
* 2.发现
* 3.社会工程学攻击
* 4.物理缺口
学习内容
1.信息收集内容、信息用途、信息收集DNS、DNS信息收集-NSLOOKUP
2.DNS信息收集
3.DNS区域传输、DNS字典爆破、DNS注册信息
4.搜索引擎、各种互联网资产搜索引擎(shodan、fofa、zoomeye等)
5.google搜索:实例
6.域名的历史解析记录
**信息收集**是一个比较庞大的工程,而且比较有趣,因此,我们在下面会详细展开说明,并附上在线视频教程,欢迎大家观看学习。
在线学习视频
被动信息收集
1.利用第三方服务对目标进行被动信息收集防止被发现
请参考下面视频中的第6-13节内容
* 6【第3章 被动信息收集】1-被动信息收集概述
* 7【第3章 被动信息收集】2-DNS域名解析原理
* 8【第3章 被动信息收集】3-DNS信息收集
* 9【第3章 被动信息收集】4-查询网站的域名注册信息和备案信息
* 10【第3章 被动信息收集】5-使用Maltego收集子域名信息
* 11【第3章 被动信息收集】6-使用Shodan暗黑谷歌搜索引擎收集信息
* 12【第3章 被动信息收集】7-Google搜索引擎使用技巧
* 13【第3章 被动信息收集】8-常见最新漏洞公布网站
信息收集与漏洞挖掘
以下视频包含
* 搜索引擎的利用
* 信息收集专题概括
* 信息收集与情报挖掘——如何收集骗子信息
* 社交网站的信息挖掘
* 钓鱼网站搭建前的准备
* 网络定位IP的常见方法
3.敏感信息收集
4.信息采集
5.大型目标渗透测试
图文资料
DNS注册信息
常见方式:
* nslookup/dig
* dns域名爆破
* recon-ng(信息收集)
请在终端中尝试`nslookup`、`dig`等命令,详细命令以及各种工具用法,请评论获取
IP、MAC地址
IP、MAC的基础知识和常见自我保护手段
**IP地址的唯一性:**
网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。
同理,每个IP信息包都必须包含有目的设备的IP地址,信息包才可以正确地送到目的地。同一设备不可以拥有多个IP地址,所有使用IP的网络设备至少有一个唯一的IP地址。
**IP地址的格式和分段:**
在计算机二进制中,1个字节 = 8位 = 8bit(比特)
IP地址(IPv4)由32位二进制数组成,分为4段(4个字节)
每一段为8位二进制数(1个字节)
每一段8位二进制,中间使用英文的标点符号“.”隔开
由于二进制数太长,为了便于记忆和识别,把每一段8位二进制数转成十进制,大小为0至255。
IP地址表示为:xxx.xxx.xxx.xxx
210.21.196.6就是一个IP地址的表示。
**IP地址的组成:**
IP地址包括网络地址和主机地址两个部分。