(最全干货分享)渗透测试全流程归纳总结

获取更多学习资料、想加入社群、深入学习,请扫我的二维码或加Memory20000427,诚意教学,白嫖绕道。
(最全干货分享)渗透测试全流程归纳总结

写在开头:
  知识面,决定看到的攻击面有多广。
  知识链,决定发动的杀伤链有多深。

0x00 信息收集最小的粒度应是目录

1.目标确认

1.1域名注册信息

通过如下步骤确认目标所有者信息:
      Whois 目标域名/主机名:whois http://example.com
      解析目标域名/主机名的IP地址:dig +short http://example.com
      获取域名的详细解析过程:dig +trace http://example.com
      后续用于字典制作和进一步收集目标信息的基础

获取真实IP:
      浏览器切换手机模式,可能是真实ip,公众号、小程序中的资产也可能对应真实ip。

验证是否存在CDN
      方法1:
      使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:
      http://ping.chinaz.com/
      http://ping.aizhan.com/
      http://ce.cloud.360.cn/
      方法2:
      试用nslookup进行检测,如果返回域名解析对应多个IP,那么多半是试用了CDN.
      nslookup http://example.com
      方法3:
      在线工具查看是否存在CDN,可以参考以下站点:
      http://www.cdnplanet.com/tools/cdnfinder
      http://www.ipip.net/ip.html

绕过CDN查找网站真实IP
      1.查询历史DNS记录(ip的历史解析域名,域名的历史解析ip)
      查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:
      https://dnsdb.io/zh-cn/
      https://x.threatbook.cn/
      https://censys.io/ipv4?q=baidu.com
      非常牛逼的IP记录站,还能分析内链之类找出可能的IP地址,此外还会记录历史。
      http://viewdns.info

同样是个令站长十分蛋疼的DNS历史记录网站,记录了几年内的更改记录。
      http://securitytrails.com
      https://site.ip138.com/

庞大的DNS历史数据库,可以查出几年内网站用过的IP、机房信息等。
      http://iphostinfo.com
      注意:这个网站可以遍历FTP、MX记录和常见二级域名,有些站长喜欢把邮箱服务也放在自己主机上,侧面泄露了真实的IP地址,通过这个网站可以进行检查。

2.查询子域名(捷径,去众测平台、github找官方发布过的)
      注意:有可能有些站长只给主站或流量大的子域名做了CDN,而很多子域名都是和主站在同一台服务器上,或者 C段中,这样可以通过子域名来辅助找到网站真实IP
      爆破子域名:
      主动式
      layer子域名挖掘机(字典要自己丰富)
      http://z.zcjun.com/(在线子域名挖掘)
      fuzzdomain 很好用,速度快
      被动式
      搜索引擎拿子域名、旁站(同IP网站)、C段:
      可用搜索引擎语法查询子域名:
      谷歌、百度、bing、搜狗(搜索微信文章)、雅虎等略有差异
      详细用法:
        (1)site: =主域名,搜索其主要域名下面的子域名
        (2)allintext: = 搜索文本,但不包括网页标题和链接
        (3)allinlinks: = 搜索链接, 不包括文本和标题。
        (4)related:URL = 列出于目标URL地址有关的网页。
        (5)link:URL = 列出到链接到目标URL的网页清单。
        (6)使用“-”去掉不想看的结果,例如site:http://baidu.com http://-image.baidu.com
        百度语法:
        https://www.cnblogs.com/k0xx/p/12794452.html
    谷歌语法:https://blog.漏洞,就意味着你获取了整个域下面所有的记录。
      dnsrecon -d http://example.com
      dnsenum http://example.com 包含自动检测域传送漏洞
      dnsenum还能爆破子域名,功能比较多,详见:
      https://blog.csdn.net/weixin_43263851/article/details/108955964

1.4业务相关

github泄露:
in:name test #仓库标题搜索含有关键字 SpringCloud
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
stars:>3000 test #stars数量大于3000的搜索关键字
stars:1000…3000 test #stars数量大于1000小于3000的搜索关键字
forks:>1000 test #forks数量大于1000的搜索关键字
forks:1000…3000 test #forks数量大于1000小于3000的搜索关键字
size:>=5000 test #指定仓库大于5000k(5M)的搜索关键字
pushed:>2019-02-12 test #发布时间大于 2019-02-12的搜索关键字
created:>2019-02-12 test #创建时间大于2019-02-12的搜索关键字
user:test #用户名搜素
license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字
language:java test #在java语言的代码中搜索关键字
user:test in:name test #组合搜索,用户名test的标题含有test的

网盘泄露:
      各种云网盘,详见虫部落搜索:
      http://magnet.chongbuluo.com
      敏感路径扫描:
      https://github.com/ring04h/weakfilescan

2.OSINT 公开情报收集

2.1社工技巧

查看注册的网站:0xreg reg007
    知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息

可以从这些方面判断用户是否注册过
    找回密码
      输入账号,如果进入下一步了则该账号存在
    登录
      输入账号和密码,如果提示密码错误,则表示该用户已存在
    注册
      填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册

知道QQ
    通过QQ邮箱和QQ号搜索支付宝、淘宝账号等其他可能的常用平台
    去腾讯新浪微博搜索
    通过微信搜索
    查看QQ空间相册地区星座生日昵称(后续构建字典以及跨平台搜集)
    通过说说、留言、日志找到其好友
    加QQ钓鱼共同好友可能认识的人
  知道手机号
    搜索QQ、微信、钉钉等社交账号
    在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号
    查询支付宝、QQ交易账号,尝试输入常见姓氏获取名字(转账到该手机号,会提示输入姓氏验证)
    通过对方的职业、兴趣找到该领域知名度较高的社交网站反查
    根据在QQ空间、朋友圈等动态用百度识图识别照片
    在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选
  留意社交动态
    发布时间线
    使用什么客户端 iPhone Android还是浏览器
      针对客户端预先制定exploit
      注意每一条链接 / 图片 / 视频链接可能包含用户ID
      图片可能包含水印,exif可能会有GPS定位和手机类型,图片内容特征
      视频也有可能有水印暴露社交账号ID,拍摄地点
      从最早发布的动态看起,会有很大收获
      一般得到一个账号的密码就相当于得到了其他账号的密码
      一般人不同账号的用户名都是相同或相近的
      一般人的社交账号头像用的都是一样的
      尝试破解社保、公积金账号、身份证号(出生地、生日、星座、派出所代码)

虫部落快搜之文件搜索:https://search.chongbuluo.com/

qq群、群文件、贴吧论坛、目标自用论坛等社交平台钓鱼信息泄露(爬邮箱等信息)

电子邮件伪造、网络钓鱼
    下载恶意程序
    输入敏感信息

大部分信息可以用来生成密码字典

对人:说服对方达成一致、恐吓对方(敏感词、漏洞、病毒、权威机构名称、),钓鱼获取信息

2.2搜索引擎OSINT

Google Hacking(baidubingsouhugithub)
  GoogleHacking常用语法
    1、intext:(仅针对Google有效) 把网页中的正文内容中的某个字符作为搜索的条件
    2、intitle: 把网页标题中的某个字符作为搜索的条件
    3、cache: 搜索搜索引擎里关于某些内容的缓存,可能会在过期内容中发现有价值的信息
    4、filetype/ext: 指定一个格式类型的文件作为搜索对象
    5、inurl: 搜索包含指定字符的URL
    6、site: 在指定的(域名)站点搜索相关内容  
  GoogleHacking其他语法
    1、引号 ” ” 把关键字打上引号后,把引号部分作为整体来搜索
    2、or 同时搜索两个或更多的关键字
    3、link 搜索某个网站的链接 link:http://baidu.com即返回所有和baidu做了链接的URL
    4、info 查找指定站点的一些基本信息  GoogleHackingDatabase:
    google-hacking-databaseGoogleHacking典型用法(特定资产的万能密码也要积累)

管理后台地址
    site:http://target.com intext:管理 | 后台 | 后台管理 | 登陆 | 登录 | 用户名 | 密码 | 系统 | 账号 | login | system
    site:http://target.com inurl:login | inurl:admin | inurl:manage
| inurl:manager | inurl:admin_login | inurl:system | inurl:backend
    site:http://target.com intitle:管理 | 后台 | 后台管理 | 登陆 | 登录

上传类漏洞地址
    site:http://target.com inurl:file
    site:http://target.com inurl:upload

注入页面
    site:http://target.com inurl:php?id=
  (批量注入工具、结合搜索引擎)

编辑器页面
    site:http://target.com inurl:ewebeditor

目录遍历漏洞
    site:http://target.com intitle:index.of

SQL错误
    site:http://target.com intext:“sql TCP通信数据包进行探测   nmap -sN 127.0.0.1   -sF是FIN扫描,当我们使用TCP SYN扫描时可能会被目标主机的防火墙发现,会阻止SYN数据包   ,这时我们使用TCP FIN扫描方式会有很好的穿透效果.   nmap -sF 127.0.0.1 扫描前1000号TCP端口 nmap 192.168.100.2 Ping扫描8个本地主机(按ARP、ICMP、TCP 80的顺序) nmap –sP 192.168.100.0-7 扫描80,443端口 nmap -p 80,443 192.168.100.2 扫描前1000号TCP端口,OS指纹,服务,然后运行一个NSE脚本 sudo nmap -A 192.168.100.2 扫描全部65535个TCP端口,OS指纹,服务,然后运行一个NSE脚本 sudo nmap –A –p- 192.168.100.2 扫描前1000号UDP端口 sudo nmap -sU 192.168.100.2 扫描所有65535个UDP端口 sudo nmap -sU –p- 192.168.100.2 扫描所有65535个UDP端口,并获取服务、OS指纹,之后运行一些NSE脚本 sudo nmap –sU -p- -A 192.168.100.2

nmap脑图备查:见笔记

1.2常见端口漏洞利用

快速扫描:
  Masscan -p80,800 ip --rate=10000
21 / FTP
  匿名/暴力破解
  拒绝服务
22 / SSH
  暴力破解
23 / telnet
  Winbox(CVE-2018-14847)
  https://github.com/BasuCert/WinboxPoC
  弱口令 / 暴力破解
161 / snmp
  弱口令
  https://blog.csdn.net/archersaber39/article/details/78932252
389 / ladp
  匿名访问
  https://www.cnblogs.com/persuit/p/5706432.html
  ladp注入
  http://www.4hou.com/technology/9090.html
  https://www.freebuf.com/articles/web/149059.html
443 / ssl
  openssl心脏出血
  https://paper.seebug.org/437/
  http://www.anquan.us/static/drops/papers-1381.html
  https://www.freebuf.com/sectool/33191.html
445 / smb
  win10拒绝服务
  永恒之蓝RCE
875 / rsync
  匿名访问
  http://www.anquan.us/static/bugs/wooyun-2016-0190815.html
  https://paper.seebug.org/409/
  http://www.91ri.org/11093.html
1433 / mssql
  暴力破解
  http://www.anquan.us/static/drops/tips-12749.  html
  https://www.seebug.org/appdir/Microsoft%20SQL%20Server
1521 / oracle
  暴力破解
  https://www.exploit-db.com/exploits/33084
2601 / zebra
  http://www.anquan.us/static/bugs/wooyun-2013-047409.html
3128 / squid
3306 / mysql
  RCE
  http://www.91ri.org/17511.html
  CVE-2015-0411
  hash破解
  https://www.freebuf.com/column/153561.html
  waf绕过
  https://www.freebuf.com/articles/web/155570.html
  general_log_file getshell
  https://www.freebuf.com/column/143125.html
  提权
  http://www.91ri.org/16540.html
3312 / kangle
  getshell
  https://www.secpulse.com/archives/23927.html
3389 / rdp
  shift 放大镜 输入法绕过 guest用户
  永恒之蓝(ESTEEMAUDIT)
  https://www.freebuf.com/articles/system/132171.html
  https://www.anquanke.com/post/id/86328
  ms12-020
  https://blog.csdn.net/meyo_leo/article/details/77950552
4440 / rundeck
  https://www.secpulse.com/archives/29500.html
4848 / glassfish
  文件读取
  https://www.secpulse.com/archives/42277.html
  https://www.anquanke.com/post/id/85948
  GlassFish2 / admin:admin GlassFish3,4 / 如果管理员不设置帐号本地会自动登录,远程访问会提示配置错误
5432 / PostgreSQL
  RCE
  https://www.cnblogs.com/KevinGeorge/p/8521496.html
  https://www.secpulse.com/archives/69153.html
  默认账号postgres
  参考
  http://www.91ri.org/13070.html
  http://www.91ri.org/6507.html
5672,15672,4369,25672 / RabbitMQ
  (guest/guest)
5900 / VNC
  https://www.seebug.org/appdir/RealVNC
5984 / CouchDB
  http://xxx:5984/_utils/
6082 / varnish
  CLI 未授权
  https://www.secpulse.com/archives/10681.html
6379 / redis
  Redis未授权
   ssh publickey
   crontab
   webshell
   反序列化
   开机自启文件夹写bat
   参考
   https://www.freebuf.com/column/170710.html
7001,7002 / WebLogic
  默认弱口令
  weblogic/weblogic ,weblogic/welcom ,weblogic/welcom1,weblogic1/weblogic
  反序列
  CVE-2018-2628
  https://www.freebuf.com/articles/web/169770.html
  https://www.seebug.org/appdir/WebLogic
9200,9300 / elasticsearch
  CVE-2015-1427
  http://www.anquan.us/static/drops/papers-5142.html
  CVE-2018-17246
  https://www.seebug.org/vuldb/ssvid-97730
  参考
  https://www.seebug.org/search/?keywords=elasticsearch
9000 / fcgi
  https://paper.seebug.org/289/
9043 / WebSphere
  Websphere8.5
  https://localhost:9043/ibm/console/logon.jsp
  Websphere6-7
  http://localhost:9043/ibm/console
  后台未授权,登录后可部署WAR包
  SOAP服务有反序列化
  弱口令:admin / password
11211 / memcache
  未授权
  UDP反射
  https://shockerli.net/post/memcached-