渗透测试总结. 2021-06-15
从一个攻击者的角度总结了一些渗透测试的知识,供新手学习和规避这些安全问题保障自己的隐私安全,包含了大部分渗透测试经验与知识的积累。信息收集业务相关github泄漏网盘泄漏敏感路径扫描· https://github.com/ring04h/dirfuzzQQ群文件泄漏域名相关域名商
· 找域名商漏洞,越权影响目标域名· 欺骗域名商客服,影响目标域名·社工账号,篡改解析地址DNS· 渗透DNS服务器,和社工DNS服务商· DNS域传送漏洞· 子域名接管漏洞CDN· 找真实IP地址? censys.io 等网络空间引擎查找关键字? SSRF漏洞? 查找域名历史解析IP? https://securitytrails.com/? site.ip138.com? 服务器信息泄露? 探测子域名IP? cloudflare(HatCloud)? 看邮件发送者源IP? APP客户端? DOS CDN可能会成回源模式· 破解CDN服务账号WHOIS· 注册者邮箱? 反查其他域名· 手机号· 地址· 注册者名称· DNS子域名· 搜索引擎? fofa、傻蛋、谛听、zoomeye、censys? Google、bing、baidu、duckduckgo? 接口聚合:https://github.com/bit4woo/teemo· 暴力破解? layer? wydomain· 网页爬虫? 基于JS的域名探测https://github.com/nsonaniya2010/SubDomainizer· DNS查找?www.virustotal.com服务器主机端口· nmap· Zenmap系统识别· nmap -O· 大小写敏感· TTL· banner· 信息泄露· 特殊端口 如(22 / 139 / 445 / 1433 / 3389)· HOSTNAME相关资产· 同服网站? https://dns.aizhan.com· 备案反查C段业务· 可能会有其他相关业务,如交换机、机房后台、监控系统等指纹识别· 特有文件MD5· 包含字符· cookie· 响应头弱点检测常见漏洞文件操作· 文件上传? 字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder? %00截断? 畸形文件名? Windows? shell.php{%80-%99}? NTFS ADS特性? shell.php......? shell.php::$DATA? shell.php:a.jpg? 目录穿越? 文件头绕过? 修改上传类型 Content-Type? 双文件上传? 超长截断? 长文件名? 长Content-Disposition? 特殊文件? 上传html、htm 可以 XSS? swf 可以XSS? pdf 在 chrome 里可以做跳转? cer、asa、jspx、php5、phtml等可能会被当做动态语言解析? .htaccess .user.ini web.config web.xml 等? 无大小和次数限制? 无限上传制造垃圾数据堵死硬盘? imagemagick命令执行· 文件读取? 读取系统敏感文件 如配置文件· 文件包含? 可读取文件或代码执行· 文件删除? 删除配置文件可破坏网站? 删除安装锁可重装CSRF· 自动检测 https://github.com/BlackHole1/autoFindXssAndCsrf· FLASH CSRF? http://blog.knownsec.com/2013/03/%E7%A7%91%E6%99%AE%E4%BD%8E%E8%B0%83%E7%9A%84flash-srf%E6%94%BB%E5%87%BB/? https://www.cnblogs.com/fdsajhg30000/archive/2011/02/14/1953966.html? http://www.vuln.cn/7134XSS· 普通反射/持久/DOM型· UXSS· XSS 蠕虫· rootkit xss· Flash Xss? https://www.secpulse.com/archives/44299.html· 其他文档? Web前后端漏洞分析与防御 https://github.com/TYRMars/WebSafe-StepPitGuide? 脑图? https://github.com/phith0n/Mind-Map/blob/master/xss%20virus%201.0.png? https://github.com/phith0n/Mind-Map/blob/master/XSS2.png? https://github.com/phith0n/Mind-ap/blob/master/XSS%E8%84%91%E5%9B%BE.png· CRLF注入在响应头会导致XSSSQL注入· ORACLE? 执行java代码? https://www.cnblogs.com/rebeyond/p/7928887.html? https://www.cnblogs.com/pshell/articles/7473713.html· MYSQL? load_file() 文件读取函数? outfile 写文件? MOF / UDF 提权? general_log_file 写文件· SQL Server? xp_cmdsell? https://www.jianshu.com/p/027636ef4640? wscript.shell? https://www.cnblogs.com/xred/archive/2011/12/31/2308724.html? 沙盒模式?https://blog.csdn.net/sircoding/article/details/78683192? 存储过程写文件? xp_dirtree? https://blog.csdn.net/kj021320/article/details/1736964? sp_oamethod? https://www.0dayhack.com/post-678.html代码执行/命令执行· 命令执行? & / && / | / | | / ;? 系统变量 ${xx} and %xx%· 代码执行? 表达式? freemarker? OGNL? Spel? jsel? 非表达式? php? eval? assert? all_user_func() / call_user_func_array()? preg_replace()? create_function()? array_map()? array_filter()? usort() / uasort()? 反序列化? php 源文件拼接写入? java? 反序列化? 远程 jar 加载? 反射机制? jsp 源文件拼接写入· usort() / uasort()· 反序列化· php 源文件拼接写入反序列化· 格式特征如:O:1:"F":1:{s:8:"filename";s:5:"a.txt";}· unserialize()QL 注入· 未加过滤拼接SQL· 宽字节注入· 注意二次注入文件操作· fopen· file_put_content· $_FILES· file_get_contents· move_uploaded_file· fwrite· nlink· rmdir变量覆盖· 可以导致绕过gpc过滤逻辑漏洞· 安装相关? 安装后未自动删除目录或加锁导致可再次重装? 通过文件删除或移动漏洞操作锁文件,来达到重装? 安装展示页被加锁,但实际上处理安装业务的文件没有则可绕过重装? 重装时一些内容会被写进php的配置文件里,如果知道格式,可以拼接执行php代码? 加了锁,但只是js跳转,并没有exit或die 结束代码,导致可绕过重装文件包含· 本地包含? 如果结尾被拼接.php 则需要00截断? php<5.3.4? 伪协议? phar/zip? 包含上传图片、日志? php://input· 远程包含? 需要开启 allow_url_include allow_url_fopen命令执行· exec· system· `whoami`· popen· passthru· shell_execJava反序列化· 搜索readObject· 使用Serializable 接口· 使用反序列化工具类· 使用 alibaba fastjson· shiro rememberMe· XSTREAM· Jackson· dubbo文件读取· 使用 File 相关工具类· 使用 URLConnection 没有指明协议时可用 file://etc/passwd命令执行· 使用 Runtime.exec· 使用 ProcessBuilder· 使用命令行相关工具类· Spel ognl 表达式可控SQL注入· ORM框架? Mybatis 使用 $? hibernate 拼接查询· jdbc? 使用 statement 类参考· http://absec.cn/?p=168后渗透与持续渗透权限维持与提升提权· Windows? 一般情况? pr 、Churrasco、kelong、IIS6up、mimikatz、第三方cmd、第三方net、vbs、读hash、msf? 找未安装补丁的提权漏洞? 通过高权应用的RCE 或 LCE提权,如:mssql、Oracle? 参考? https://github.com/SecWiki/windows-kernel-exploits· Linux? 通过高权应用? 根据内核版本找exp? 参考? https://github.com/SecWiki/linux-kernel-exploits维持· 信息收集? 保存用户bash history? netstat -an 查看端口连接情况? /etc/passwd /etc/shadow 用户相关信? crontab 里的定时任务? 系统变量? lastlog & last & who /var/log/wtmp 分析登录频次? 用户根目录的文件? /etc/hosts 中的映射? /.ssh/? 查看数据库SQL日志? 查看WEB服务运行日志· 后门? shift 后门? Windows $ 隐藏用户? 开机自启执行后门? 替换带有后门的敏感程序 如:ssh / mstsc? 注册表? dll 劫持? 开启代理待补充内网渗透参考· https://github.com/Ridter/Intranet_Penetration_Tips· https://github.com/l3m0n/pentest_study待补充持续渗透和一些技巧得到子服务器权限后· 探测内网存活主机/服务 的指纹信息· ARP劫持流量· 找到该服务器与其他服务器的关联(如:已得到redis服务器权限 web服务器会从redis中取出数据反序列化 则可以篡改redis中的数据以获取web服务器权限)得到域名解析权后· 指向到反代至目标的服务器,记录GET POST请求日志,分析特殊URL和登录后台的POST 请求找到XSS后· 如果是社交类网站,尝试寻找CSRF制造蠕虫· 通过其他社交网站的JSONP漏洞,探测管理员的个人信息· 打到管理员cookie后通过附带 Cookie 不断请求后台以保持会话不被销毁· 根据浏览器、flash、等情况进行浏览器攻击。如:执行代码、种rootkit· canvas 截图页面得到邮箱地址后· 独立邮件系统可找公开漏洞攻击· 发送测试邮件探测对方使用邮箱系统? 通过挖掘相关邮箱系统漏洞进行攻击· 找到服务器、CDN、域名、DNS等服务商,伪造钓鱼邮件欺骗管理员登录· 发送含有后门的附件(如:pdf、Excl、word、rar的代码执行漏洞)· 通过社工库或搜索引擎人肉搜索得出密码后尝试登陆邮箱得到邮箱权限后· 分析/劫持邮箱收信· 个人邮箱? 搜搜:password、找回密码、重置密码、忘记密码等关键字? 找服务器、CDN、域名、DNS等服务商的邮件,如果无法登陆尝试重置等操作? 找到有关地理位置软件的邮件? 淘宝(收货地址)? 京东(收货地址)? 支付宝(收货地址)? Apple账号(可定位)? 各手机大厂(手机定位)? 找发件箱中的原始图片(找exif的GPS定位)? ...· 企业邮箱? 找VPN相关邮件 可内网渗透? 找A,ERP,SCM,CRM,BRP,OMS,WMS相关系统邮件? 找Git,SVN,自动化测试相关邮件? 搜索关键字:password、密码、192、172、10. 等关键字? ...引入了外部资源· 搞定外部网站· 如果是JS 可以考虑XSS攻击· IMG LINK 可以401认证钓鱼· IFRAME bgsound EMBED source object等可以挂可执行文件或跳转钓鱼页找后台· 一般在后台添加友联时会展示logo图片,如果可以填写远程URL 可以尝试和站长沟通交换友联,添加成功后,对方则会发起一个refer为后台的请求到你的LOGO· 收集网站名简写、英文名、邮箱前缀等 于 admin、manage、system、login等常见单词组合请求· IIS 短文件名漏洞· Windows 下的 >> 特性? https://b1ue.cn/archives/60.html· 找列目录漏洞· XSS· 收集子域名资产及其C段端口· 二级域名 如:admin.xxx.com· google fofa censys等引擎搜索关键字· 爬虫爬取所有链接 提取出目录部分 按目录层级穷举绕过验证码· 只请求一次验证码,然后用同样的验证码暴力破解· 知道验证码在session中的参数,找类似 Tomcat example session重置的漏洞填充同一验证码· 云打码平台识别· 自己训练OCR识别APT攻击待补充...流量取证待补充...社会工程学技巧社交搜索· 查看注册的网站:0xreg reg007? 知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息? 可以从这些方面判断用户是否注册过? 找回密码? 输入账号,如果进入下一步了则该账号存在? 登录? 输入账号和密码,如果提示密码错误,则表示该用户已存在? 注册? 填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册· 知道QQ? 通过QQ邮箱搜索支付宝、淘宝账号? 去腾讯微博搜索? 通过微信搜索? 查看QQ空间? 通过说说、留言、日志找到其好友· 知道手机号? 搜索QQ、微信、钉钉等社交账号? 在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号? 查询支付宝账号,尝试输入常见姓氏获取名字· 通过对方的职业、兴趣找到该领域知名度较高的社交网站反查· 根据在QQ空间、朋友圈等动态用百度识图识别照片,在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选· 留意社交动态? 发布时间线? 使用什么客户端 iPhone Android还是浏览器? 注意每一条链接 / 图片 / 视频? 从最早发布的动态看起,会有很大收获· 一般得到一个账号的密码就相当于得到了其他账号的密码· 一般人不同账号的用户名都是相同或相近的· 一般人的社交账号头像用的都是一样的尝试破解社保、公积金账号· 大部分信息可以用来生成密码字典待补充工具扫描工具主动扫描· AWVS? 业界知名漏洞扫描器,适用于WEB应用· appscan? 业界知名漏洞扫描器,适用于WEB应用· Fuxi Scanner? 一款聚合了很多功能的综合扫描器? https://github.com/jeffzh3ng/Fuxi-Scanner· xunfeng? https://github.com/ysrc/xunfeng? 一款综合的巡航扫描系统· nessus? 适合扫描系统和应用层漏洞的扫描器· sqlmap?https://github.com/sqlmapproject/sqlmap? 知名自动化SQL注入神器,安全人员必备· masscan? 快速端口扫描器被动扫描· GourdScanV2? https://github.com/ysrc/GourdScanV2? 被动式漏洞扫描器· SQLiScanner· Burpsuite? 知名渗透测试工具,安全人员必备渗透框架metasploit· https://github.com/rapid7/metasploit-framework· 知名漏洞利用框架,安全人员必备pocsuite· https://github.com/knownsec/Pocsuite· 知道创宇的POC漏洞测试框架溯光· https://www.trackray.cn/· https://github.com/iSafeBlue/TrackRay· 我开发的一款在线扫描器+接口式渗透测试框架kunpeng· 一个兼容多种语言的漏洞框架poc-t· python 漏洞验证框架bugscan· 四叶草的漏洞扫描器3xp10itpentestbox· 整合了kali中大部分的安全工具,Windows平台上的神器w9scan· w8ay的一款漏洞扫描工具信息收集wydomain· 猪猪侠的子域名扫描工具bit4woo/teemo· 聚合多个接口查子域名ring04h/weakfilescan· 猪猪侠的信息泄露扫描器ring04h/dirfuzz· 猪猪侠的网站目录扫描器whatweb· 网站指纹扫描nsonaniya2010/SubDomainizer信息泄露lijiejie/GitHack· lijiejie的GIT泄露利用engqi158/svnhack· svn泄露利用工具lijiejie/IIS_shortname_Scanner· IIS短文件扫描器渗透辅助Cobalt Strike· 渗透测试工具,安全人员必备hydra· 多种服务的密码暴力破解工具,安全人员必备nmap· 端口扫描和系统漏洞扫描的神器,安全人员必备lcx· 内网转发工具nc· 常用于shell反弹,安全人员必备proxychain· linux下的代理工具reGeorg· 内网渗透代理工具Proxifier· Windows下的代理工具菜刀/蚁剑/Cknife· 网站webshell管理工具,安全人员必备
网络安全渗透测试简介与测试流程
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
渗透测试还具备以下两个显著特点:
渗透测试是一个渐进的并且逐步深入的过程。
渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。
PETS渗透测试执行标准
Step1、前期交互阶段:在前期交互阶段,在渗透测试团队与客户进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。
Step2、情报搜集阶段:在目标范围确定之后,将进入情报搜集阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。
Step3、威胁建模阶段:在搜集到充足的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。这是渗透测试过程中非常重要,但很容易被忽略的一个关键点。
Step4、漏洞分析阶段:在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)。
Step5、渗透攻击阶段:渗透攻击是是渗透测试过程中最有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问权。
Step6、后渗透攻击阶段:后渗透攻击是整个渗透测试过程中最能体现渗透测试团队创造力与技术能力的环节,前面的环节可以说是按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式,保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终能够对客户组织造成最重要业务影响的攻击途径。
Step7、撰写报告阶段:渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告。这份情报凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
实际渗透测试中的流程
1、明确目标:当拿到一个渗透测试项目时,我们首先应该明确客户要求我们进行渗透测试的范围以及整体项目的时间。
2、信息收集:子域名、系统版本、架构、真实IP地址、whios查询、历史漏洞查询、指纹识别等。
3、漏洞发现:通过漏扫软件结合手动挖掘常规的web、系统等漏洞。
4、漏洞利用:由浅入深、旁敲侧推、尽可能的将漏洞的价值发挥到最大化。
5、后渗透:包括内网渗透、权限维持、权限提升,读取用户hash,这里一定要把握好尺度。
6、报告文档阶段:根据之前测试获取的漏洞及企业要求去编写最终的渗透测试报告。
风险规避
不要进行诸如ddos攻击,不破坏数据测试之前对重要数据进行备份
任何测试执行前必须和客户进行沟通,以免引来不必要的麻烦
可以对原始系统生成镜像环境,然后对镜像环境进行的测试
明确渗透测试范围
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试术语简介
白帽子:白帽子描述的是正面的黑客。通过技术手段识别计算机系统或网络系统中的安全漏洞,提交给厂商并提出修复方法。
黑帽子:为了谋取利益而行走在法律边缘甚至违法乱纪的骇客。
灰帽子:介质与黑白之间,无法具体的定性。
肉鸡:就是傀儡机,可以随意被控制的电脑或服务器。
木马:一些用来获取用户权限的程序或者代码段。
后门:为了方便二次进入系统留下的非常隐蔽的后门程序。
shell:命令执行环境,通常所说的拿Shell,就是拿到对方的命令执行环境。
webshell:通过Web入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制。
poc:用来验证漏洞存在的一段代码或程序。
EXP:漏洞利用的一段代码或程序。
Payload:Payload即有效攻击载荷,可以是一段代码,被隐藏并且秘密发送的信息。
WAF:web应用防护系统,也称之为网站应用级入侵防御系统。
提权:利用一些手段将低权限提升为高权限,这里的高权限一般为管理员或系统权限。
API:高级可持续性攻击,是指组织(特别是政府)或者小团体利用先进的攻击手段对特定目标进行长期持续性网络攻击的供给形式(极强的隐蔽性、潜伏期长、持续性强、目标性强)。
CMS:内容管理系统,可以理解为网站的一种模板,将一些功能集中控制管理,是网站搭建变得更为快捷。
黑盒测试:即对内部情况一无所知的情况下进行渗透测试或者其他测试。
白盒测试:了解内部系统、结构、源码的情况下进行渗透测试或其他测试。
灰盒测试:介质于黑白盒之间的渗透测试或其它测试。
0day:0day漏洞是指负责应用程序的程序员或供应商所未知的软件缺陷。因为该漏洞未知,所以没有可用的补丁程序。
1day:1day刚发布但是已被发现官方刚发布补丁网络上还是存在大量的Vulnerability。
Nday:Nday已经被公布出来的0day。
Proxy:代理。一类程序或系统,接收来自客户机算计的流量,并代表客户端与服务器交互,代理能用于过滤应用级别的制定类型的流量或缓存信息以提高性能。许多防火墙依赖代理进行过滤。
加壳/脱壳:“壳”是一段专门负责保护软件不被非法修改或反编译的程序,它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。加壳就是将软件源码保护,脱壳相反。
Shellcode: shellcode是一段用于利用软件漏洞而执行的代码,shellcode 为16进制的机器码,因为经常让攻击者获得shell而得名。
钓鲸攻击:捕鲸是另一种进化形式的鱼叉式网络钓鱼。它指的是针对高级管理人员和组织其他高级人员的网络钓鱼攻击。通过使电子邮件具有个性化并专门针对相关目标进行定制的攻击。
水坑攻击:顾名思义,是在受害者必经之路设置了一个"水坑(陷阱)” 。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
横向移动:在纵向获取到某个服务器的权限时,我们可以以该服务器为跳板,进行横向拓展的内网攻击。
电信诈骗:是指通过电话、网络和短信方式,编造虚假信息,设置骗局,对受害人实施远程、非接触式诈骗,诱使受害人打款或转账的犯罪行为,通常以冒充他人及仿冒、伪造各种合法外衣和形式的方式达到欺骗的目的。
杀猪盘:网络流行词,电信诈骗的一种,是一种网络交友诱导股票投资、赌博等类型的诈骗方式,"杀猪盘” 则是”从业者们”自己起的名字,是指放长线“养猪”诈骗,养得越久,诈骗得越狠。
脱库:将数据库中的数据导出。
社工库:一种黑客将泄露在暗网/公网上的用户数据整合起来,并用来查询或者社工的手段的工具。
撞库攻击:在获取到用户的一组账号密码时,尝试用该账号登录其他站点/app等。
旁站:同一台服务器上可能存在其他的站点。
蜜罐:可以联想为情报收集系统,用来诱导黑客进行攻击,以此来判断黑客行为,甚至完成反制。
挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。
网络钓鱼(Phishing):是"Fishing" 和"Phone" 的综合体,由于黑客始祖起初是以电话作案,所以用"Ph” 来取代“F”,创造了"Phishing" 。然而,当今的“网络钓鱼"攻击利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者往往会泄露自己的财务数据,如信用卡号、账户用户名、口令和社保编号等内容。
cc攻击:攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫: CC(Challenge Collapsar)CC主要是用来攻击页面的。
Dos攻击:拒绝服务攻击。攻击者通过利用漏洞或发送大量的请求导致攻击对象无法访问网络或者网站无法被访问。
DDos攻击:分布式DOS攻击,常见的UDP、SYN、 反射放大攻击等等,就是通过许多台肉鸡一起向你发送一些网络请求信息,导致你的网络堵塞而不能正常上网。
抓鸡:利用漏洞或其他手段批量的在公网上获取存在漏洞的主机,将其沦为肉鸡。
C2:C2全称为CommandandControl, 命令与控制,常见于APT攻击场景中。作动词解释时理解为恶意软件与攻击者进行交互,作名词解释时理解为攻击者的“基础设施”。
鱼叉攻击:鱼叉攻击是将用鱼叉捕鱼形象的引入到了网络攻击中,主要是指可以使欺骗性电子邮件看起来更加可信的网络钓鱼攻击,具有更高的成功可能性。不同于撒网式的网络钓鱼,鱼叉攻击往往更加具备针对性,攻击者往往"见鱼而使叉"。
黑产:网络黑产,指以互联网为媒介,以网络技术为主要手段,为计算机信息系统安全和网络空间管理秩序,甚至国家安全、社会政治稳定带来潜在威胁(重大安全隐患)的非法行为。例如非法数据交易产业。
红队:通常指攻防演习中的攻击队伍。
蓝队:通常指攻防演习中的防守队伍。
紫队:攻防演习中新近诞生的一方,通常指监理方或者裁判方。
IDS:入侵检测系统,用于在黑客发起进攻或是发起进攻之前检测到攻击,并加以拦截。IDS是不同于防火墙。防火墙只能屏蔽入侵,而IDS却可以在入侵发生以前,通过一些信息来检测到即将发生的攻击或是入侵并作出反应。
IPS:IPS全称为Intrusion-PreventionSystem, 即入侵防御系统,目的在于及时识别攻击程序或有害代码及其克隆和变种,采取预防措施,先期阻止入侵,防患于未然。或者至少使其危害性充分降低。入侵预防系统一 般作为防火墙和防病毒软件的补充来投入使用。
堡垒机:运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
VPN:虚拟专用网,在公用网络上建立专用网络,进行加密通讯,通过对数据包的加密和数据包目标地址的转换实现远程访问。
科学上网:fq,翻越c防火墙,访问国外外网,实际上是一种不合法的行为。
CTF(夺旗赛):CTF (CaptureThe Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。
awd攻防对抗赛:AWD(AttackWithDefense, 攻防兼备)模式是一个非常有意思的模式,你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说,攻击别人的靶机可以获取Flag分数时,别人会被扣分,同时你也要保护自己的主机不被别人得分,以防扣!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试总结
从一个攻击者的角度总结了一些渗透测试的知识,供新手学习和规避这些安全问题保障自己的隐私安全,包含了大部分渗透测试经验与知识的积累。
信息收集
业务相关
github泄漏
网盘泄漏
敏感路径扫描
· https://github.com/ring04h/dirfuzz
QQ群文件泄漏
域名相关
域名商
· 找域名商漏洞,越权影响目标域名
· 欺骗域名商客服,影响目标域名
·社工账号,篡改解析地址
DNS
· 渗透DNS服务器,和社工DNS服务商
· DNS域传送漏洞
· 子域名接管漏洞
CDN
· 找真实IP地址
? censys.io 等网络空间引擎查找关键字
? SSRF漏洞
? 查找域名历史解析IP
? https://securitytrails.com/
? site.ip138.com
? 服务器信息泄露
? 探测子域名IP
? cloudflare(HatCloud)
? 看邮件发送者源IP
? APP客户端
? DOS CDN可能会成回源模式
· 破解CDN服务账号
WHOIS
· 注册者邮箱
? 反查其他域名
· 手机号
· 地址
· 注册者名称
· DNS
子域名
· 搜索引擎
? fofa、傻蛋、谛听、zoomeye、censys
? Google、bing、baidu、duckduckgo
? 接口聚合:https://github.com/bit4woo/teemo
· 暴力破解
? layer
? wydomain
· 网页爬虫
? 基于JS的域名探测https://github.com/nsonaniya2010/SubDomainizer
· DNS查找
? dnsdumpster.com
? www.virustotal.com
服务器主机
端口
· nmap
· Zenmap
系统识别
· nmap -O
· 大小写敏感
· TTL
· banner
· 信息泄露
· 特殊端口 如(22 / 139 / 445 / 1433 / 3389)
· HOSTNAME
相关资产
· 同服网站
? https://dns.aizhan.com
· 备案反查
C段业务
· 可能会有其他相关业务,如交换机、机房后台、监控系统等
指纹识别
· 特有文件MD5
· 包含字符
· cookie
· 响应头
弱点检测
常见漏洞
文件操作
· 文件上传
? 字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder
? %00截断
? 畸形文件名
? Windows
? shell.php{%80-%99}
? NTFS ADS特性
? shell.php......
? shell.php::$DATA
? shell.php:a.jpg
? 目录穿越
? 文件头绕过
? 修改上传类型 Content-Type
? 双文件上传
? 超长截断
? 长文件名
? 长Content-Disposition
? 特殊文件
? 上传html、htm 可以 XSS
? swf 可以XSS
? pdf 在 chrome 里可以做跳转
? cer、asa、jspx、php5、phtml等可能会被当做动态语言解析
? .htaccess .user.ini web.config web.xml 等
? 无大小和次数限制
? 无限上传制造垃圾数据堵死硬盘
? imagemagick命令执行
· 文件读取
? 读取系统敏感文件 如配置文件
· 文件包含
? 可读取文件或代码执行
· 文件删除
? 删除配置文件可破坏网站
? 删除安装锁可重装
CSRF
· 自动检测 https://github.com/BlackHole1/autoFindXssAndCsrf
· FLASH CSRF
? http://blog.knownsec.com/2013/03/%E7%A7%91%E6%99%AE%E4%BD%8E%E8%B0%83%E7%9A%84flash-csrf%E6%94%BB%E5%87%BB/
? https://www.cnblogs.com/fdsajhg30000/archive/2011/02/14/1953966.html
? http://www.vuln.cn/7134
XSS
· 普通反射/持久/DOM型
· UXSS
· XSS 蠕虫
· rootkit xss
· Flash Xss
? https://www.secpulse.com/archives/44299.html
· 其他文档
? Web前后端漏洞分析与防御 https://github.com/TYRMars/WebSafe-StepPitGuide
? 脑图
? https://github.com/phith0n/Mind-Map/blob/master/xss%20virus%201.0.png
? https://github.com/phith0n/Mind-Map/blob/master/XSS2.png
? https://github.com/phith0n/Mind-Map/blob/master/XSS%E8%84%91%E5%9B%BE.png
· CRLF注入在响应头会导致XSS
SQL注入
· ORACLE
? 执行java代码
? https://www.cnblogs.com/rebeyond/p/7928887.html
? https://www.cnblogs.com/pshell/articles/7473713.html
· MYSQL
? load_file() 文件读取函数
? outfile 写文件
? MOF / UDF 提权
? general_log_file 写文件
· SQL Server
? xp_cmdsell
? https://www.jianshu.com/p/027636ef4640
? wscript.shell
? https://www.cnblogs.com/xred/archive/2011/12/31/2308724.html
? 沙盒模式
? https://blog.csdn.net/sircoding/article/details/78683192
? 存储过程写文件
? xp_dirtree
? https://blog.csdn.net/kj021320/article/details/1736964
? sp_oamethod
? https://www.0dayhack.com/post-678.html
代码执行/命令执行
· 命令执行
? & / && / | / | | / ;
? 系统变量 ${xx} and %xx%
· 代码执行
? 表达式
? freemarker
? OGNL
? Spel
? jsel
? 非表达式
? php
? eval
? assert
? all_user_func() / call_user_func_array()
? preg_replace()
? create_function()
? array_map()
? array_filter()
? usort() / uasort()
? 反序列化
? php 源文件拼接写入
? java
? 反序列化
? 远程 jar 加载
? 反射机制
? jsp 源文件拼接写入
· usort() / uasort()
· 反序列化
· php 源文件拼接写入
反序列化
· 格式特征如:O:1:"F":1:{s:8:"filename";s:5:"a.txt";}
· unserialize()
SQL 注入
· 未加过滤拼接SQL
· 宽字节注入
· 注意二次注入
文件操作
· fopen
· file_put_content
· $_FILES
· file_get_contents
· move_uploaded_file
· fwrite
· nlink
· rmdir
变量覆盖
· 可以导致绕过gpc过滤
逻辑漏洞
· 安装相关
? 安装后未自动删除目录或加锁导致可再次重装
? 通过文件删除或移动漏洞操作锁文件,来达到重装
? 安装展示页被加锁,但实际上处理安装业务的文件没有则可绕过重装
? 重装时一些内容会被写进php的配置文件里,如果知道格式,可以拼接执行php代码
? 加了锁,但只是js跳转,并没有exit或die 结束代码,导致可绕过重装
文件包含
· 本地包含
? 如果结尾被拼接.php 则需要00截断
? php<5.3.4
? 伪协议
? phar/zip
? 包含上传图片、日志
? php://input
· 远程包含
? 需要开启 allow_url_include allow_url_fopen
命令执行
· exec
· system
· `whoami`
· popen
· passthru
· shell_exec
Java
反序列化
· 搜索readObject
· 使用Serializable 接口
· 使用反序列化工具类
· 使用 alibaba fastjson
· shiro rememberMe
· XSTREAM
· Jackson
· dubbo
文件读取
· 使用 File 相关工具类
· 使用 URLConnection 没有指明协议时可用 file://etc/passwd
命令执行
· 使用 Runtime.exec
· 使用 ProcessBuilder
· 使用命令行相关工具类
· Spel ognl 表达式可控
SQL注入
· ORM框架
? Mybatis 使用 $
? hibernate 拼接查询
· jdbc
? 使用 statement 类
参考
· http://absec.cn/?p=168
后渗透与持续渗透
权限维持与提升
提权
· Windows
? 一般情况
? pr 、Churrasco、kelong、IIS6up、mimikatz、第三方cmd、第三方net、vbs、读hash、msf
? 找未安装补丁的提权漏洞
? 通过高权应用的RCE 或 LCE提权,如:mssql、Oracle
? 参考
? https://github.com/SecWiki/windows-kernel-exploits
· Linux
? 通过高权应用
? 根据内核版本找exp
? 参考
? https://github.com/SecWiki/linux-kernel-exploits
维持
· 信息收集
? 保存用户bash history
? netstat -an 查看端口连接情况
? /etc/passwd /etc/shadow 用户相关信
? crontab 里的定时任务
? 系统变量
? lastlog & last & who /var/log/wtmp 分析登录频次
? 用户根目录的文件
? /etc/hosts 中的映射
? /.ssh/
? 查看数据库SQL日志
? 查看WEB服务运行日志
· 后门
? shift 后门
? Windows $ 隐藏用户
? 开机自启执行后门
? 替换带有后门的敏感程序 如:ssh / mstsc
? 注册表
? dll 劫持
? 开启代理
待补充
内网渗透
参考
· https://github.com/Ridter/Intranet_Penetration_Tips
· https://github.com/l3m0n/pentest_study
待补充
持续渗透和一些技巧
得到子服务器权限后
· 探测内网存活主机/服务 的指纹信息
· ARP劫持流量
· 找到该服务器与其他服务器的关联(如:已得到redis服务器权限 web服务器会从redis中取出数据反序列化 则可以篡改redis中的数据以获取web服务器权限)
得到域名解析权后
· 指向到反代至目标的服务器,记录GET POST请求日志,分析特殊URL和登录后台的POST 请求
找到XSS后
· 如果是社交类网站,尝试寻找CSRF制造蠕虫
· 通过其他社交网站的JSONP漏洞,探测管理员的个人信息
· 打到管理员cookie后通过附带 Cookie 不断请求后台以保持会话不被销毁
· 根据浏览器、flash、等情况进行浏览器攻击。如:执行代码、种rootkit
· canvas 截图页面
得到邮箱地址后
· 独立邮件系统可找公开漏洞攻击
· 发送测试邮件探测对方使用邮箱系统
? 通过挖掘相关邮箱系统漏洞进行攻击
· 找到服务器、CDN、域名、DNS等服务商,伪造钓鱼邮件欺骗管理员登录
· 发送含有后门的附件(如:pdf、Excel、word、rar的代码执行漏洞)
· 通过社工库或搜索引擎人肉搜索得出密码后尝试登陆邮箱
得到邮箱权限后
· 分析/劫持邮箱收信
· 个人邮箱
? 搜搜:password、找回密码、重置密码、忘记密码等关键字
? 找服务器、CDN、域名、DNS等服务商的邮件,如果无法登陆尝试重置等操作
? 找到有关地理位置软件的邮件
? 淘宝(收货地址)
? 京东(收货地址)
? 支付宝(收货地址)
? Apple账号(可定位)
? 各手机大厂(手机定位)
? 找发件箱中的原始图片(找exif的GPS定位)
? ...
· 企业邮箱
? 找VPN相关邮件 可内网渗透
? 找OA,ERP,SCM,CRM,BRP,OMS,WMS相关系统邮件
? 找Git,SVN,自动化测试相关邮件
? 搜索关键字:password、密码、192、172、10. 等关键字
? ...
引入了外部资源
· 搞定外部网站
· 如果是JS 可以考虑XSS攻击
· IMG LINK 可以401认证钓鱼
· IFRAME bgsound EMBED source object等可以挂可执行文件或跳转钓鱼页
找后台
· 一般在后台添加友联时会展示logo图片,如果可以填写远程URL 可以尝试和站长沟通交换友联,添加成功后,对方则会发起一个refer为后台的请求到你的LOGO
· 收集网站名简写、英文名、邮箱前缀等 于 admin、manage、system、login等常见单词组合请求
· IIS 短文件名漏洞
· Windows 下的 >> 特性
? https://b1ue.cn/archives/60.html
· 找列目录漏洞
· XSS
· 收集子域名资产及其C段端口
· 二级域名 如:admin.xxx.com
· google fofa censys等引擎搜索关键字
· 爬虫爬取所有链接 提取出目录部分 按目录层级穷举
绕过验证码
· 只请求一次验证码,然后用同样的验证码暴力破解
· 知道验证码在session中的参数,找类似 Tomcat example session重置的漏洞填充同一验证码
· 云打码平台识别
· 自己训练OCR识别
APT攻击
待补充...
流量取证
待补充...
社会工程学技巧
社交搜索
· 查看注册的网站:0xreg reg007
? 知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息
? 可以从这些方面判断用户是否注册过
? 找回密码
? 输入账号,如果进入下一步了则该账号存在
? 登录
? 输入账号和密码,如果提示密码错误,则表示该用户已存在
? 注册
? 填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册
· 知道QQ
? 通过QQ邮箱搜索支付宝、淘宝账号
? 去腾讯微博搜索
? 通过微信搜索
? 查看QQ空间
? 通过说说、留言、日志找到其好友
· 知道手机号
? 搜索QQ、微信、钉钉等社交账号
? 在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号
? 查询支付宝账号,尝试输入常见姓氏获取名字
· 通过对方的职业、兴趣找到该领域知名度较高的社交网站反查
· 根据在QQ空间、朋友圈等动态用百度识图识别照片,在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选
· 留意社交动态
? 发布时间线
? 使用什么客户端 iPhone Android还是浏览器
? 注意每一条链接 / 图片 / 视频
? 从最早发布的动态看起,会有很大收获
· 一般得到一个账号的密码就相当于得到了其他账号的密码
· 一般人不同账号的用户名都是相同或相近的
· 一般人的社交账号头像用的都是一样的
尝试破解社保、公积金账号
· 大部分信息可以用来生成密码字典
待补充
工具
扫描工具
主动扫描
· AWVS
? 业界知名漏洞扫描器,适用于WEB应用
· appscan
? 业界知名漏洞扫描器,适用于WEB应用
· Fuxi Scanner
? 一款聚合了很多功能的综合扫描器
? https://github.com/jeffzh3ng/Fuxi-Scanner
· xunfeng
? https://github.com/ysrc/xunfeng
? 一款综合的巡航扫描系统
· nessus
? 适合扫描系统和应用层漏洞的扫描器
· sqlmap
? https://github.com/sqlmapproject/sqlmap
? 知名自动化SQL注入神器,安全人员必备
· masscan
? 快速端口扫描器
被动扫描
· GourdScanV2
? https://github.com/ysrc/GourdScanV2
? 被动式漏洞扫描器
· SQLiScanner
· Burpsuite
? 知名渗透测试工具,安全人员必备
渗透框架
metasploit
· https://github.com/rapid7/metasploit-framework
· 知名漏洞利用框架,安全人员必备
pocsuite
· https://github.com/knownsec/Pocsuite
· 知道创宇的POC漏洞测试框架
溯光
· https://www.trackray.cn/
· https://github.com/iSafeBlue/TrackRay
· 我开发的一款在线扫描器+接口式渗透测试框架
kunpeng
· 一个兼容多种语言的漏洞框架
poc-t
· python 漏洞验证框架
bugscan
· 四叶草的漏洞扫描器
3xp10it
pentestbox
· 整合了kali中大部分的安全工具,Windows平台上的神器
w9scan
· w8ay的一款漏洞扫描工具
信息收集
wydomain
· 猪猪侠的子域名扫描工具
bit4woo/teemo
· 聚合多个接口查子域名
ring04h/weakfilescan
· 猪猪侠的信息泄露扫描器
ring04h/dirfuzz
· 猪猪侠的网站目录扫描器
whatweb
· 网站指纹扫描
nsonaniya2010/SubDomainizer
信息泄露
lijiejie/GitHack
· lijiejie的GIT泄露利用
shengqi158/svnhack
· svn泄露利用工具
lijiejie/IIS_shortname_Scanner
· IIS短文件扫描器
渗透辅助
Cobalt Strike
· 渗透测试工具,安全人员必备
hydra
· 多种服务的密码暴力破解工具,安全人员必备
nmap
· 端口扫描和系统漏洞扫描的神器,安全人员必备
lcx
· 内网转发工具
nc
· 常用于shell反弹,安全人员必备
proxychain
· linux下的代理工具
reGeorg
· 内网渗透代理工具
Proxifier
· Windows下的代理工具
菜刀/蚁剑/Cknife
· 网站webshell管理工具,安全人员必备
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
网络安全渗透测试简介与测试流程
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
渗透测试还具备以下两个显著特点:
渗透测试是一个渐进的并且逐步深入的过程。
渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。
PETS渗透测试执行标准
Step1、前期交互阶段:在前期交互阶段,在渗透测试团队与客户进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。
Step2、情报搜集阶段:在目标范围确定之后,将进入情报搜集阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。
Step3、威胁建模阶段:在搜集到充足的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。这是渗透测试过程中非常重要,但很容易被忽略的一个关键点。
Step4、漏洞分析阶段:在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)。
Step5、渗透攻击阶段:渗透攻击是是渗透测试过程中最有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问权。
Step6、后渗透攻击阶段:后渗透攻击是整个渗透测试过程中最能体现渗透测试团队创造力与技术能力的环节,前面的环节可以说是按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式,保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终能够对客户组织造成最重要业务影响的攻击途径。
Step7、撰写报告阶段:渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告。这份情报凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
实际渗透测试中的流程
1、明确目标:当拿到一个渗透测试项目时,我们首先应该明确客户要求我们进行渗透测试的范围以及整体项目的时间。
2、信息收集:子域名、系统版本、架构、真实IP地址、whios查询、历史漏洞查询、指纹识别等。
3、漏洞发现:通过漏扫软件结合手动挖掘常规的web、系统等漏洞。
4、漏洞利用:由浅入深、旁敲侧推、尽可能的将漏洞的价值发挥到最大化。
5、后渗透:包括内网渗透、权限维持、权限提升,读取用户hash,这里一定要把握好尺度。
6、报告文档阶段:根据之前测试获取的漏洞及企业要求去编写最终的渗透测试报告。
风险规避
不要进行诸如ddos攻击,不破坏数据测试之前对重要数据进行备份
任何测试执行前必须和客户进行沟通,以免引来不必要的麻烦
可以对原始系统生成镜像环境,然后对镜像环境进行的测试
明确渗透测试范围
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试术语简介
白帽子:白帽子描述的是正面的黑客。通过技术手段识别计算机系统或网络系统中的安全漏洞,提交给厂商并提出修复方法。
黑帽子:为了谋取利益而行走在法律边缘甚至违法乱纪的骇客。
灰帽子:介质与黑白之间,无法具体的定性。
肉鸡:就是傀儡机,可以随意被控制的电脑或服务器。
木马:一些用来获取用户权限的程序或者代码段。
后门:为了方便二次进入系统留下的非常隐蔽的后门程序。
shell:命令执行环境,通常所说的拿Shell,就是拿到对方的命令执行环境。
webshell:通过Web入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制。
poc:用来验证漏洞存在的一段代码或程序。
EXP:漏洞利用的一段代码或程序。
Payload:Payload即有效攻击载荷,可以是一段代码,被隐藏并且秘密发送的信息。
WAF:web应用防护系统,也称之为网站应用级入侵防御系统。
提权:利用一些手段将低权限提升为高权限,这里的高权限一般为管理员或系统权限。
API:高级可持续性攻击,是指组织(特别是政府)或者小团体利用先进的攻击手段对特定目标进行长期持续性网络攻击的供给形式(极强的隐蔽性、潜伏期长、持续性强、目标性强)。
CMS:内容管理系统,可以理解为网站的一种模板,将一些功能集中控制管理,是网站搭建变得更为快捷。
黑盒测试:即对内部情况一无所知的情况下进行渗透测试或者其他测试。
白盒测试:了解内部系统、结构、源码的情况下进行渗透测试或其他测试。
灰盒测试:介质于黑白盒之间的渗透测试或其它测试。
0day:0day漏洞是指负责应用程序的程序员或供应商所未知的软件缺陷。因为该漏洞未知,所以没有可用的补丁程序。
1day:1day刚发布但是已被发现官方刚发布补丁网络上还是存在大量的Vulnerability。
Nday:Nday已经被公布出来的0day。
Proxy:代理。一类程序或系统,接收来自客户机算计的流量,并代表客户端与服务器交互,代理能用于过滤应用级别的制定类型的流量或缓存信息以提高性能。许多防火墙依赖代理进行过滤。
加壳/脱壳:“壳”是一段专门负责保护软件不被非法修改或反编译的程序,它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。加壳就是将软件源码保护,脱壳相反。
Shellcode: shellcode是一段用于利用软件漏洞而执行的代码,shellcode 为16进制的机器码,因为经常让攻击者获得shell而得名。
钓鲸攻击:捕鲸是另一种进化形式的鱼叉式网络钓鱼。它指的是针对高级管理人员和组织其他高级人员的网络钓鱼攻击。通过使电子邮件具有个性化并专门针对相关目标进行定制的攻击。
水坑攻击:顾名思义,是在受害者必经之路设置了一个"水坑(陷阱)” 。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
横向移动:在纵向获取到某个服务器的权限时,我们可以以该服务器为跳板,进行横向拓展的内网攻击。
电信诈骗:是指通过电话、网络和短信方式,编造虚假信息,设置骗局,对受害人实施远程、非接触式诈骗,诱使受害人打款或转账的犯罪行为,通常以冒充他人及仿冒、伪造各种合法外衣和形式的方式达到欺骗的目的。
杀猪盘:网络流行词,电信诈骗的一种,是一种网络交友诱导股票投资、赌博等类型的诈骗方式,"杀猪盘” 则是”从业者们”自己起的名字,是指放长线“养猪”诈骗,养得越久,诈骗得越狠。
脱库:将数据库中的数据导出。
社工库:一种黑客将泄露在暗网/公网上的用户数据整合起来,并用来查询或者社工的手段的工具。
撞库攻击:在获取到用户的一组账号密码时,尝试用该账号登录其他站点/app等。
旁站:同一台服务器上可能存在其他的站点。
蜜罐:可以联想为情报收集系统,用来诱导黑客进行攻击,以此来判断黑客行为,甚至完成反制。
挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。
网络钓鱼(Phishing):是"Fishing" 和"Phone" 的综合体,由于黑客始祖起初是以电话作案,所以用"Ph” 来取代“F”,创造了"Phishing" 。然而,当今的“网络钓鱼"攻击利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者往往会泄露自己的财务数据,如信用卡号、账户用户名、口令和社保编号等内容。
cc攻击:攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫: CC(Challenge Collapsar)CC主要是用来攻击页面的。
Dos攻击:拒绝服务攻击。攻击者通过利用漏洞或发送大量的请求导致攻击对象无法访问网络或者网站无法被访问。
DDos攻击:分布式DOS攻击,常见的UDP、SYN、 反射放大攻击等等,就是通过许多台肉鸡一起向你发送一些网络请求信息,导致你的网络堵塞而不能正常上网。
抓鸡:利用漏洞或其他手段批量的在公网上获取存在漏洞的主机,将其沦为肉鸡。
C2:C2全称为CommandandControl, 命令与控制,常见于APT攻击场景中。作动词解释时理解为恶意软件与攻击者进行交互,作名词解释时理解为攻击者的“基础设施”。
鱼叉攻击:鱼叉攻击是将用鱼叉捕鱼形象的引入到了网络攻击中,主要是指可以使欺骗性电子邮件看起来更加可信的网络钓鱼攻击,具有更高的成功可能性。不同于撒网式的网络钓鱼,鱼叉攻击往往更加具备针对性,攻击者往往"见鱼而使叉"。
黑产:网络黑产,指以互联网为媒介,以网络技术为主要手段,为计算机信息系统安全和网络空间管理秩序,甚至国家安全、社会政治稳定带来潜在威胁(重大安全隐患)的非法行为。例如非法数据交易产业。
红队:通常指攻防演习中的攻击队伍。
蓝队:通常指攻防演习中的防守队伍。
紫队:攻防演习中新近诞生的一方,通常指监理方或者裁判方。
IDS:入侵检测系统,用于在黑客发起进攻或是发起进攻之前检测到攻击,并加以拦截。IDS是不同于防火墙。防火墙只能屏蔽入侵,而IDS却可以在入侵发生以前,通过一些信息来检测到即将发生的攻击或是入侵并作出反应。
IPS:IPS全称为Intrusion-PreventionSystem, 即入侵防御系统,目的在于及时识别攻击程序或有害代码及其克隆和变种,采取预防措施,先期阻止入侵,防患于未然。或者至少使其危害性充分降低。入侵预防系统一 般作为防火墙和防病毒软件的补充来投入使用。
堡垒机:运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
VPN:虚拟专用网,在公用网络上建立专用网络,进行加密通讯,通过对数据包的加密和数据包目标地址的转换实现远程访问。
科学上网:fq,翻越c防火墙,访问国外外网,实际上是一种不合法的行为。
CTF(夺旗赛):CTF (CaptureThe Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。
awd攻防对抗赛:AWD(AttackWithDefense, 攻防兼备)模式是一个非常有意思的模式,你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说,攻击别人的靶机可以获取Flag分数时,别人会被扣分,同时你也要保护自己的主机不被别人得分,以防扣!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试总结
从一个攻击者的角度总结了一些渗透测试的知识,供新手学习和规避这些安全问题保障自己的隐私安全,包含了大部分渗透测试经验与知识的积累。
信息收集
业务相关
github泄漏
网盘泄漏
敏感路径扫描
· https://github.com/ring04h/dirfuzz
QQ群文件泄漏
域名相关
域名商
· 找域名商漏洞,越权影响目标域名
· 欺骗域名商客服,影响目标域名
·社工账号,篡改解析地址
DNS
· 渗透DNS服务器,和社工DNS服务商
· DNS域传送漏洞
· 子域名接管漏洞
CDN
· 找真实IP地址
? censys.io 等网络空间引擎查找关键字
? SSRF漏洞
? 查找域名历史解析IP
? https://securitytrails.com/
? site.ip138.com
? 服务器信息泄露
? 探测子域名IP
? cloudflare(HatCloud)
? 看邮件发送者源IP
? APP客户端
? DOS CDN可能会成回源模式
· 破解CDN服务账号
WHOIS
· 注册者邮箱
? 反查其他域名
· 手机号
· 地址
· 注册者名称
· DNS
网络安全渗透测试简介与测试流程
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
渗透测试还具备以下两个显著特点:
渗透测试是一个渐进的并且逐步深入的过程。
渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。
PETS渗透测试执行标准
Step1、前期交互阶段:在前期交互阶段,在渗透测试团队与客户进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。
Step2、情报搜集阶段:在目标范围确定之后,将进入情报搜集阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。
Step3、威胁建模阶段:在搜集到充足的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。这是渗透测试过程中非常重要,但很容易被忽略的一个关键点。
Step4、漏洞分析阶段:在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)。
Step5、渗透攻击阶段:渗透攻击是是渗透测试过程中最有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问权。
Step6、后渗透攻击阶段:后渗透攻击是整个渗透测试过程中最能体现渗透测试团队创造力与技术能力的环节,前面的环节可以说是按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式,保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终能够对客户组织造成最重要业务影响的攻击途径。
Step7、撰写报告阶段:渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告。这份情报凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
实际渗透测试中的流程
1、明确目标:当拿到一个渗透测试项目时,我们首先应该明确客户要求我们进行渗透测试的范围以及整体项目的时间。
2、信息收集:子域名、系统版本、架构、真实IP地址、whios查询、历史漏洞查询、指纹识别等。
3、漏洞发现:通过漏扫软件结合手动挖掘常规的web、系统等漏洞。
4、漏洞利用:由浅入深、旁敲侧推、尽可能的将漏洞的价值发挥到最大化。
5、后渗透:包括内网渗透、权限维持、权限提升,读取用户hash,这里一定要把握好尺度。
6、报告文档阶段:根据之前测试获取的漏洞及企业要求去编写最终的渗透测试报告。
风险规避
不要进行诸如ddos攻击,不破坏数据测试之前对重要数据进行备份
任何测试执行前必须和客户进行沟通,以免引来不必要的麻烦
可以对原始系统生成镜像环境,然后对镜像环境进行的测试
明确渗透测试范围
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试术语简介
白帽子:白帽子描述的是正面的黑客。通过技术手段识别计算机系统或网络系统中的安全漏洞,提交给厂商并提出修复方法。
黑帽子:为了谋取利益而行走在法律边缘甚至违法乱纪的骇客。
灰帽子:介质与黑白之间,无法具体的定性。
肉鸡:就是傀儡机,可以随意被控制的电脑或服务器。
木马:一些用来获取用户权限的程序或者代码段。
后门:为了方便二次进入系统留下的非常隐蔽的后门程序。
shell:命令执行环境,通常所说的拿Shell,就是拿到对方的命令执行环境。
webshell:通过Web入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制。
poc:用来验证漏洞存在的一段代码或程序。
EXP:漏洞利用的一段代码或程序。
Payload:Payload即有效攻击载荷,可以是一段代码,被隐藏并且秘密发送的信息。
WAF:web应用防护系统,也称之为网站应用级入侵防御系统。
提权:利用一些手段将低权限提升为高权限,这里的高权限一般为管理员或系统权限。
API:高级可持续性攻击,是指组织(特别是政府)或者小团体利用先进的攻击手段对特定目标进行长期持续性网络攻击的供给形式(极强的隐蔽性、潜伏期长、持续性强、目标性强)。
CMS:内容管理系统,可以理解为网站的一种模板,将一些功能集中控制管理,是网站搭建变得更为快捷。
黑盒测试:即对内部情况一无所知的情况下进行渗透测试或者其他测试。
白盒测试:了解内部系统、结构、源码的情况下进行渗透测试或其他测试。
灰盒测试:介质于黑白盒之间的渗透测试或其它测试。
0day:0day漏洞是指负责应用程序的程序员或供应商所未知的软件缺陷。因为该漏洞未知,所以没有可用的补丁程序。
1day:1day刚发布但是已被发现官方刚发布补丁网络上还是存在大量的Vulnerability。
Nday:Nday已经被公布出来的0day。
Proxy:代理。一类程序或系统,接收来自客户机算计的流量,并代表客户端与服务器交互,代理能用于过滤应用级别的制定类型的流量或缓存信息以提高性能。许多防火墙依赖代理进行过滤。
加壳/脱壳:“壳”是一段专门负责保护软件不被非法修改或反编译的程序,它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。加壳就是将软件源码保护,脱壳相反。
Shellcode: shellcode是一段用于利用软件漏洞而执行的代码,shellcode 为16进制的机器码,因为经常让攻击者获得shell而得名。
钓鲸攻击:捕鲸是另一种进化形式的鱼叉式网络钓鱼。它指的是针对高级管理人员和组织其他高级人员的网络钓鱼攻击。通过使电子邮件具有个性化并专门针对相关目标进行定制的攻击。
水坑攻击:顾名思义,是在受害者必经之路设置了一个"水坑(陷阱)” 。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
横向移动:在纵向获取到某个服务器的权限时,我们可以以该服务器为跳板,进行横向拓展的内网攻击。
电信诈骗:是指通过电话、网络和短信方式,编造虚假信息,设置骗局,对受害人实施远程、非接触式诈骗,诱使受害人打款或转账的犯罪行为,通常以冒充他人及仿冒、伪造各种合法外衣和形式的方式达到欺骗的目的。
杀猪盘:网络流行词,电信诈骗的一种,是一种网络交友诱导股票投资、赌博等类型的诈骗方式,"杀猪盘” 则是”从业者们”自己起的名字,是指放长线“养猪”诈骗,养得越久,诈骗得越狠。
脱库:将数据库中的数据导出。
社工库:一种黑客将泄露在暗网/公网上的用户数据整合起来,并用来查询或者社工的手段的工具。
撞库攻击:在获取到用户的一组账号密码时,尝试用该账号登录其他站点/app等。
旁站:同一台服务器上可能存在其他的站点。
蜜罐:可以联想为情报收集系统,用来诱导黑客进行攻击,以此来判断黑客行为,甚至完成反制。
挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。
网络钓鱼(Phishing):是"Fishing" 和"Phone" 的综合体,由于黑客始祖起初是以电话作案,所以用"Ph” 来取代“F”,创造了"Phishing" 。然而,当今的“网络钓鱼"攻击利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者往往会泄露自己的财务数据,如信用卡号、账户用户名、口令和社保编号等内容。
cc攻击:攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫: CC(Challenge Collapsar)CC主要是用来攻击页面的。
Dos攻击:拒绝服务攻击。攻击者通过利用漏洞或发送大量的请求导致攻击对象无法访问网络或者网站无法被访问。
DDos攻击:分布式DOS攻击,常见的UDP、SYN、 反射放大攻击等等,就是通过许多台肉鸡一起向你发送一些网络请求信息,导致你的网络堵塞而不能正常上网。
抓鸡:利用漏洞或其他手段批量的在公网上获取存在漏洞的主机,将其沦为肉鸡。
C2:C2全称为CommandandControl, 命令与控制,常见于APT攻击场景中。作动词解释时理解为恶意软件与攻击者进行交互,作名词解释时理解为攻击者的“基础设施”。
鱼叉攻击:鱼叉攻击是将用鱼叉捕鱼形象的引入到了网络攻击中,主要是指可以使欺骗性电子邮件看起来更加可信的网络钓鱼攻击,具有更高的成功可能性。不同于撒网式的网络钓鱼,鱼叉攻击往往更加具备针对性,攻击者往往"见鱼而使叉"。
黑产:网络黑产,指以互联网为媒介,以网络技术为主要手段,为计算机信息系统安全和网络空间管理秩序,甚至国家安全、社会政治稳定带来潜在威胁(重大安全隐患)的非法行为。例如非法数据交易产业。
红队:通常指攻防演习中的攻击队伍。
蓝队:通常指攻防演习中的防守队伍。
紫队:攻防演习中新近诞生的一方,通常指监理方或者裁判方。
IDS:入侵检测系统,用于在黑客发起进攻或是发起进攻之前检测到攻击,并加以拦截。IDS是不同于防火墙。防火墙只能屏蔽入侵,而IDS却可以在入侵发生以前,通过一些信息来检测到即将发生的攻击或是入侵并作出反应。
IPS:IPS全称为Intrusion-PreventionSystem, 即入侵防御系统,目的在于及时识别攻击程序或有害代码及其克隆和变种,采取预防措施,先期阻止入侵,防患于未然。或者至少使其危害性充分降低。入侵预防系统一 般作为防火墙和防病毒软件的补充来投入使用。
堡垒机:运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
VPN:虚拟专用网,在公用网络上建立专用网络,进行加密通讯,通过对数据包的加密和数据包目标地址的转换实现远程访问。
科学上网:fq,翻越c防火墙,访问国外外网,实际上是一种不合法的行为。
CTF(夺旗赛):CTF (CaptureThe Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。
awd攻防对抗赛:AWD(AttackWithDefense, 攻防兼备)模式是一个非常有意思的模式,你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说,攻击别人的靶机可以获取Flag分数时,别人会被扣分,同时你也要保护自己的主机不被别人得分,以防扣!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试总结
从一个攻击者的角度总结了一些渗透测试的知识,供新手学习和规避这些安全问题保障自己的隐私安全,包含了大部分渗透测试经验与知识的积累。
信息收集
业务相关
github泄漏
网盘泄漏
敏感路径扫描
· https://github.com/ring04h/dirfuzz
QQ群文件泄漏
域名相关
域名商
· 找域名商漏洞,越权影响目标域名
· 欺骗域名商客服,影响目标域名
·社工账号,篡改解析地址
DNS
· 渗透DNS服务器,和社工DNS服务商
· DNS域传送漏洞
· 子域名接管漏洞
CDN
· 找真实IP地址
? censys.io 等网络空间引擎查找关键字
? SSRF漏洞
? 查找域名历史解析IP
? https://securitytrails.com/
? site.ip138.com
? 服务器信息泄露
? 探测子域名IP
? cloudflare(HatCloud)
? 看邮件发送者源IP
? APP客户端
? DOS CDN可能会成回源模式
· 破解CDN服务账号
WHOIS
· 注册者邮箱
? 反查其他域名
· 手机号
· 地址
· 注册者名称
· DNS
子域名
· 搜索引擎
? fofa、傻蛋、谛听、zoomeye、censys
? Google、bing、baidu、duckduckgo
? 接口聚合:https://github.com/bit4woo/teemo
· 暴力破解
? layer
? wydomain
· 网页爬虫
? 基于JS的域名探测https://github.com/nsonaniya2010/SubDomainizer
· DNS查找
? dnsdumpster.com
? www.virustotal.com
服务器主机
端口
· nmap
· Zenmap
系统识别
· nmap -O
· 大小写敏感
· TTL
· banner
· 信息泄露
· 特殊端口 如(22 / 139 / 445 / 1433 / 3389)
· HOSTNAME
相关资产
· 同服网站
? https://dns.aizhan.com
· 备案反查
C段业务
· 可能会有其他相关业务,如交换机、机房后台、监控系统等
指纹识别
· 特有文件MD5
· 包含字符
· cookie
· 响应头
弱点检测
常见漏洞
文件操作
· 文件上传
? 字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder
? %00截断
? 畸形文件名
? Windows
? shell.php{%80-%99}
? NTFS ADS特性
? shell.php......
? shell.php::$DATA
? shell.php:a.jpg
? 目录穿越
? 文件头绕过
? 修改上传类型 Content-Type
? 双文件上传
? 超长截断
? 长文件名
? 长Content-Disposition
? 特殊文件
? 上传html、htm 可以 XSS
? swf 可以XSS
? pdf 在 chrome 里可以做跳转
? cer、asa、jspx、php5、phtml等可能会被当做动态语言解析
? .htaccess .user.ini web.config web.xml 等
? 无大小和次数限制
? 无限上传制造垃圾数据堵死硬盘
? imagemagick命令执行
· 文件读取
? 读取系统敏感文件 如配置文件
· 文件包含
? 可读取文件或代码执行
· 文件删除
? 删除配置文件可破坏网站
? 删除安装锁可重装
CSRF
· 自动检测 https://github.com/BlackHole1/autoFindXssAndCsrf
· FLASH CSRF
? http://blog.knownsec.com/2013/03/%E7%A7%91%E6%99%AE%E4%BD%8E%E8%B0%83%E7%9A%84flash-csrf%E6%94%BB%E5%87%BB/
? https://www.cnblogs.com/fdsajhg30000/archive/2011/02/14/1953966.html
? http://www.vuln.cn/7134
XSS
· 普通反射/持久/DOM型
· UXSS
· XSS 蠕虫
· rootkit xss
· Flash Xss
? https://www.secpulse.com/archives/44299.html
· 其他文档
? Web前后端漏洞分析与防御 https://github.com/TYRMars/WebSafe-StepPitGuide
? 脑图
? https://github.com/phith0n/Mind-Map/blob/master/xss%20virus%201.0.png
? https://github.com/phith0n/Mind-Map/blob/master/XSS2.png
? https://github.com/phith0n/Mind-Map/blob/master/XSS%E8%84%91%E5%9B%BE.png
· CRLF注入在响应头会导致XSS
SQL注入
· ORACLE
? 执行java代码
? https://www.cnblogs.com/rebeyond/p/7928887.html
? https://www.cnblogs.com/pshell/articles/7473713.html
· MYSQL
? load_file() 文件读取函数
? outfile 写文件
? MOF / UDF 提权
? general_log_file 写文件
· SQL Server
? xp_cmdsell
? https://www.jianshu.com/p/027636ef4640
? wscript.shell
? https://www.cnblogs.com/xred/archive/2011/12/31/2308724.html
? 沙盒模式
? https://blog.csdn.net/sircoding/article/details/78683192
? 存储过程写文件
? xp_dirtree
? https://blog.csdn.net/kj021320/article/details/1736964
? sp_oamethod
? https://www.0dayhack.com/post-678.html
代码执行/命令执行
· 命令执行
? & / && / | / | | / ;
? 系统变量 ${xx} and %xx%
· 代码执行
? 表达式
? freemarker
? OGNL
? Spel
? jsel
? 非表达式
? php
? eval
? assert
? all_user_func() / call_user_func_array()
? preg_replace()
? create_function()
? array_map()
? array_filter()
? usort() / uasort()
? 反序列化
? php 源文件拼接写入
? java
? 反序列化
? 远程 jar 加载
? 反射机制
? jsp 源文件拼接写入
· usort() / uasort()
· 反序列化
· php 源文件拼接写入
反序列化
· 格式特征如:O:1:"F":1:{s:8:"filename";s:5:"a.txt";}
· unserialize()
SQL 注入
· 未加过滤拼接SQL
· 宽字节注入
· 注意二次注入
文件操作
· fopen
· file_put_content
· $_FILES
· file_get_contents
· move_uploaded_file
· fwrite
· nlink
· rmdir
变量覆盖
· 可以导致绕过gpc过滤
逻辑漏洞
· 安装相关
? 安装后未自动删除目录或加锁导致可再次重装
? 通过文件删除或移动漏洞操作锁文件,来达到重装
? 安装展示页被加锁,但实际上处理安装业务的文件没有则可绕过重装
? 重装时一些内容会被写进php的配置文件里,如果知道格式,可以拼接执行php代码
? 加了锁,但只是js跳转,并没有exit或die 结束代码,导致可绕过重装
文件包含
· 本地包含
? 如果结尾被拼接.php 则需要00截断
? php<5.3.4
? 伪协议
? phar/zip
? 包含上传图片、日志
? php://input
· 远程包含
? 需要开启 allow_url_include allow_url_fopen
命令执行
· exec
· system
· `whoami`
· popen
· passthru
· shell_exec
Java
反序列化
· 搜索readObject
· 使用Serializable 接口
· 使用反序列化工具类
· 使用 alibaba fastjson
· shiro rememberMe
· XSTREAM
· Jackson
· dubbo
文件读取
· 使用 File 相关工具类
· 使用 URLConnection 没有指明协议时可用 file://etc/passwd
命令执行
· 使用 Runtime.exec
· 使用 ProcessBuilder
· 使用命令行相关工具类
· Spel ognl 表达式可控
SQL注入
· ORM框架
? Mybatis 使用 $
? hibernate 拼接查询
· jdbc
? 使用 statement 类
参考
· http://absec.cn/?p=168
后渗透与持续渗透
权限维持与提升
提权
· Windows
? 一般情况
? pr 、Churrasco、kelong、IIS6up、mimikatz、第三方cmd、第三方net、vbs、读hash、msf
? 找未安装补丁的提权漏洞
? 通过高权应用的RCE 或 LCE提权,如:mssql、Oracle
? 参考
? https://github.com/SecWiki/windows-kernel-exploits
· Linux
? 通过高权应用
? 根据内核版本找exp
? 参考
? https://github.com/SecWiki/linux-kernel-exploits
维持
· 信息收集
? 保存用户bash history
? netstat -an 查看端口连接情况
? /etc/passwd /etc/shadow 用户相关信
? crontab 里的定时任务
? 系统变量
? lastlog & last & who /var/log/wtmp 分析登录频次
? 用户根目录的文件
? /etc/hosts 中的映射
? /.ssh/
? 查看数据库SQL日志
? 查看WEB服务运行日志
· 后门
? shift 后门
? Windows $ 隐藏用户
? 开机自启执行后门
? 替换带有后门的敏感程序 如:ssh / mstsc
? 注册表
? dll 劫持
? 开启代理
待补充
内网渗透
参考
· https://github.com/Ridter/Intranet_Penetration_Tips
· https://github.com/l3m0n/pentest_study
待补充
持续渗透和一些技巧
得到子服务器权限后
· 探测内网存活主机/服务 的指纹信息
· ARP劫持流量
· 找到该服务器与其他服务器的关联(如:已得到redis服务器权限 web服务器会从redis中取出数据反序列化 则可以篡改redis中的数据以获取web服务器权限)
得到域名解析权后
· 指向到反代至目标的服务器,记录GET POST请求日志,分析特殊URL和登录后台的POST 请求
找到XSS后
· 如果是社交类网站,尝试寻找CSRF制造蠕虫
· 通过其他社交网站的JSONP漏洞,探测管理员的个人信息
· 打到管理员cookie后通过附带 Cookie 不断请求后台以保持会话不被销毁
· 根据浏览器、flash、等情况进行浏览器攻击。如:执行代码、种rootkit
· canvas 截图页面
得到邮箱地址后
· 独立邮件系统可找公开漏洞攻击
· 发送测试邮件探测对方使用邮箱系统
? 通过挖掘相关邮箱系统漏洞进行攻击
· 找到服务器、CDN、域名、DNS等服务商,伪造钓鱼邮件欺骗管理员登录
· 发送含有后门的附件(如:pdf、Excel、word、rar的代码执行漏洞)
· 通过社工库或搜索引擎人肉搜索得出密码后尝试登陆邮箱
得到邮箱权限后
· 分析/劫持邮箱收信
· 个人邮箱
? 搜搜:password、找回密码、重置密码、忘记密码等关键字
? 找服务器、CDN、域名、DNS等服务商的邮件,如果无法登陆尝试重置等操作
? 找到有关地理位置软件的邮件
? 淘宝(收货地址)
? 京东(收货地址)
? 支付宝(收货地址)
? Apple账号(可定位)
? 各手机大厂(手机定位)
? 找发件箱中的原始图片(找exif的GPS定位)
? ...
· 企业邮箱
? 找VPN相关邮件 可内网渗透
? 找OA,ERP,SCM,CRM,BRP,OMS,WMS相关系统邮件
? 找Git,SVN,自动化测试相关邮件
? 搜索关键字:password、密码、192、172、10. 等关键字
? ...
引入了外部资源
· 搞定外部网站
· 如果是JS 可以考虑XSS攻击
· IMG LINK 可以401认证钓鱼
· IFRAME bgsound EMBED source object等可以挂可执行文件或跳转钓鱼页
找后台
· 一般在后台添加友联时会展示logo图片,如果可以填写远程URL 可以尝试和站长沟通交换友联,添加成功后,对方则会发起一个refer为后台的请求到你的LOGO
· 收集网站名简写、英文名、邮箱前缀等 于 admin、manage、system、login等常见单词组合请求
· IIS 短文件名漏洞
· Windows 下的 >> 特性
? https://b1ue.cn/archives/60.html
· 找列目录漏洞
· XSS
· 收集子域名资产及其C段端口
· 二级域名 如:admin.xxx.com
· google fofa censys等引擎搜索关键字
· 爬虫爬取所有链接 提取出目录部分 按目录层级穷举
绕过验证码
· 只请求一次验证码,然后用同样的验证码暴力破解
· 知道验证码在session中的参数,找类似 Tomcat example session重置的漏洞填充同一验证码
· 云打码平台识别
· 自己训练OCR识别
APT攻击
待补充...
流量取证
待补充...
社会工程学技巧
社交搜索
· 查看注册的网站:0xreg reg007
? 知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息
? 可以从这些方面判断用户是否注册过
? 找回密码
? 输入账号,如果进入下一步了则该账号存在
? 登录
? 输入账号和密码,如果提示密码错误,则表示该用户已存在
? 注册
? 填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册
· 知道QQ
? 通过QQ邮箱搜索支付宝、淘宝账号
? 去腾讯微博搜索
? 通过微信搜索
? 查看QQ空间
? 通过说说、留言、日志找到其好友
· 知道手机号
? 搜索QQ、微信、钉钉等社交账号
? 在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号
? 查询支付宝账号,尝试输入常见姓氏获取名字
· 通过对方的职业、兴趣找到该领域知名度较高的社交网站反查
· 根据在QQ空间、朋友圈等动态用百度识图识别照片,在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选
· 留意社交动态
? 发布时间线
? 使用什么客户端 iPhone Android还是浏览器
? 注意每一条链接 / 图片 / 视频
? 从最早发布的动态看起,会有很大收获
· 一般得到一个账号的密码就相当于得到了其他账号的密码
· 一般人不同账号的用户名都是相同或相近的
· 一般人的社交账号头像用的都是一样的
尝试破解社保、公积金账号
· 大部分信息可以用来生成密码字典
待补充
工具
扫描工具
主动扫描
· AWVS
? 业界知名漏洞扫描器,适用于WEB应用
· appscan
? 业界知名漏洞扫描器,适用于WEB应用
· Fuxi Scanner
? 一款聚合了很多功能的综合扫描器
? https://github.com/jeffzh3ng/Fuxi-Scanner
· xunfeng
? https://github.com/ysrc/xunfeng
? 一款综合的巡航扫描系统
· nessus
? 适合扫描系统和应用层漏洞的扫描器
· sqlmap
? https://github.com/sqlmapproject/sqlmap
? 知名自动化SQL注入神器,安全人员必备
· masscan
? 快速端口扫描器
被动扫描
· GourdScanV2
? https://github.com/ysrc/GourdScanV2
? 被动式漏洞扫描器
· SQLiScanner
· Burpsuite
? 知名渗透测试工具,安全人员必备
渗透框架
metasploit
· https://github.com/rapid7/metasploit-framework
· 知名漏洞利用框架,安全人员必备
pocsuite
· https://github.com/knownsec/Pocsuite
· 知道创宇的POC漏洞测试框架
溯光
· https://www.trackray.cn/
· https://github.com/iSafeBlue/TrackRay
· 我开发的一款在线扫描器+接口式渗透测试框架
kunpeng
· 一个兼容多种语言的漏洞框架
poc-t
· python 漏洞验证框架
bugscan
· 四叶草的漏洞扫描器
3xp10it
pentestbox
· 整合了kali中大部分的安全工具,Windows平台上的神器
w9scan
· w8ay的一款漏洞扫描工具
信息收集
wydomain
· 猪猪侠的子域名扫描工具
bit4woo/teemo
· 聚合多个接口查子域名
ring04h/weakfilescan
· 猪猪侠的信息泄露扫描器
ring04h/dirfuzz
· 猪猪侠的网站目录扫描器
whatweb
· 网站指纹扫描
nsonaniya2010/SubDomainizer
信息泄露
lijiejie/GitHack
· lijiejie的GIT泄露利用
shengqi158/svnhack
· svn泄露利用工具
lijiejie/IIS_shortname_Scanner
· IIS短文件扫描器
渗透辅助
Cobalt Strike
· 渗透测试工具,安全人员必备
hydra
· 多种服务的密码暴力破解工具,安全人员必备
nmap
· 端口扫描和系统漏洞扫描的神器,安全人员必备
lcx
· 内网转发工具
nc
· 常用于shell反弹,安全人员必备
proxychain
· linux下的代理工具
reGeorg
· 内网渗透代理工具
Proxifier
· Windows下的代理工具
菜刀/蚁剑/Cknife
· 网站webshell管理工具,安全人员必备
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
渗透测试总结
从一个攻击者的角度总结了一些渗透测试的知识,供新手学习和规避这些安全问题保障自己的隐私安全,包含了大部分渗透测试经验与知识的积累。
信息收集
业务相关
github泄漏
网盘泄漏
敏感路径扫描
· https://github.com/ring04h/dirfuzz
QQ群文件泄漏
域名相关
域名商
· 找域名商漏洞,越权影响目标域名
· 欺骗域名商客服,影响目标域名
·社工账号,篡改解析地址
DNS
· 渗透DNS服务器,和社工DNS服务商
· DNS域传送漏洞
· 子域名接管漏洞
CDN
· 找真实IP地址
censys.io 等网络空间引擎查找关键字
SSRF漏洞
查找域名历史解析IP
https://securitytrails.com/
site.ip138.com
服务器信息泄露
探测子域名IP
cloudflare(HatCloud)
看邮件发送者源IP
APP客户端
DOS CDN可能会成回源模式
· 破解CDN服务账号
WHOIS
· 注册者邮箱
反查其他域名
· 手机号
· 地址
· 注册者名称
· DNS
子域名
· 搜索引擎
fofa、傻蛋、谛听、zoomeye、censys
Google、bing、baidu、duckduckgo
接口聚合:https://github.com/bit4woo/teemo
· 暴力破解
layer
wydomain
· 网页爬虫
基于JS的域名探测https://github.com/nsonaniya2010/SubDomainizer
· DNS查找
dnsdumpster.com
www.virustotal.com
服务器主机
端口
· nmap
· Zenmap
系统识别
· nmap -O
· 大小写敏感
· TTL
· banner
· 信息泄露
· 特殊端口 如(22 / 139 / 445 / 1433 / 3389)
· HOSTNAME
相关资产
· 同服网站
https://dns.aizhan.com
· 备案反查
C段业务
· 可能会有其他相关业务,如交换机、机房后台、监控系统等
指纹识别
· 特有文件MD5
· 包含字符
· cookie
· 响应头
弱点检测
常见漏洞
文件操作
· 文件上传
字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder
%00截断
畸形文件名
Windows
shell.php{%80-%99}
NTFS ADS特性
shell.php......
shell.php::$DATA
shell.php:a.jpg
目录穿越
文件头绕过
修改上传类型 Content-Type
双文件上传
超长截断
长文件名
长Content-Disposition
特殊文件
上传html、htm 可以 XSS
swf 可以XSS
pdf 在 chrome 里可以做跳转
cer、asa、jspx、php5、phtml等可能会被当做动态语言解析
.htaccess .user.ini web.config web.xml 等
无大小和次数限制
无限上传制造垃圾数据堵死硬盘
imagemagick命令执行
· 文件读取
读取系统敏感文件 如配置文件
· 文件包含
可读取文件或代码执行
· 文件删除
删除配置文件可破坏网站
删除安装锁可重装
CSRF
· 自动检测 https://github.com/BlackHole1/autoFindXssAndCsrf
· FLASH CSRF
http://blog.knownsec.com/2013/03/%E7%A7%91%E6%99%AE%E4%BD%8E%E8%B0%83%E7%9A%84flash-csrf%E6%94%BB%E5%87%BB/
https://www.cnblogs.com/fdsajhg30000/archive/2011/02/14/1953966.html
http://www.vuln.cn/7134
XSS
· 普通反射/持久/DOM型
· UXSS
· XSS 蠕虫
· rootkit xss
· Flash Xss
https://www.secpulse.com/archives/44299.html
· 其他文档
Web前后端漏洞分析与防御 https://github.com/TYRMars/WebSafe-StepPitGuide
脑图
https://github.com/phith0n/Mind-Map/blob/master/xss%20virus%201.0.png
https://github.com/phith0n/Mind-Map/blob/master/XSS2.png
https://github.com/phith0n/Mind-Map/blob/master/XSS%E8%84%91%E5%9B%BE.png
· CRLF注入在响应头会导致XSS
SQL注入
· ORACLE
执行java代码
https://www.cnblogs.com/rebeyond/p/7928887.html
https://www.cnblogs.com/pshell/articles/7473713.html
· MYSQL
load_file() 文件读取函数
outfile 写文件
MOF / UDF 提权
general_log_file 写文件
· SQL Server
xp_cmdsell
https://www.jianshu.com/p/027636ef4640
wscript.shell
https://www.cnblogs.com/xred/archive/2011/12/31/2308724.html
沙盒模式
https://blog.csdn.net/sircoding/article/details/78683192
存储过程写文件
xp_dirtree
https://blog.csdn.net/kj021320/article/details/1736964
sp_oamethod
https://www.0dayhack.com/post-678.html
代码执行/命令执行
· 命令执行
& / && / | / | | / ;
系统变量 ${xx} and %xx%
· 代码执行
表达式
freemarker
OGNL
Spel
jsel
非表达式
php
eval
assert
all_user_func() / call_user_func_array()
preg_replace()
create_function()
array_map()
array_filter()
usort() / uasort()
反序列化
php 源文件拼接写入
java
反序列化
远程 jar 加载
反射机制
jsp 源文件拼接写入
· usort() / uasort()
· 反序列化
· php 源文件拼接写入
反序列化
· 格式特征如:O:1:"F":1:{s:8:"filename";s:5:"a.txt";}
· unserialize()
SQL 注入
· 未加过滤拼接SQL
· 宽字节注入
· 注意二次注入
文件操作
· fopen
· file_put_content
· $_FILES
· file_get_contents
· move_uploaded_file
· fwrite
· nlink
· rmdir
变量覆盖
· 可以导致绕过gpc过滤
逻辑漏洞
· 安装相关
安装后未自动删除目录或加锁导致可再次重装
通过文件删除或移动漏洞操作锁文件,来达到重装
安装展示页被加锁,但实际上处理安装业务的文件没有则可绕过重装
重装时一些内容会被写进php的配置文件里,如果知道格式,可以拼接执行php代码
加了锁,但只是js跳转,并没有exit或die 结束代码,导致可绕过重装
文件包含
· 本地包含
如果结尾被拼接.php 则需要00截断
php<5.3.4
伪协议
phar/zip
包含上传图片、日志
php://input
· 远程包含
需要开启 allow_url_include allow_url_fopen
命令执行
· exec
· system
· `whoami`
· popen
· passthru
· shell_exec
Java
反序列化
· 搜索readObject
· 使用Serializable 接口
· 使用反序列化工具类
· 使用 alibaba fastjson
· shiro rememberMe
· XSTREAM
· Jackson
· dubbo
文件读取
· 使用 File 相关工具类
· 使用 URLConnection 没有指明协议时可用 file://etc/passwd
命令执行
· 使用 Runtime.exec
· 使用 ProcessBuilder
· 使用命令行相关工具类
· Spel ognl 表达式可控
SQL注入
· ORM框架
Mybatis 使用 $
hibernate 拼接查询
· jdbc
使用 statement 类
参考
· http://absec.cn/p=168
后渗透与持续渗透
权限维持与提升
提权
· Windows
一般情况
pr 、Churrasco、kelong、IIS6up、mimikatz、第三方cmd、第三方net、vbs、读hash、msf
找未安装补丁的提权漏洞
通过高权应用的RCE 或 LCE提权,如:mssql、Oracle
参考
https://github.com/SecWiki/windows-kernel-exploits
· Linux
通过高权应用
根据内核版本找exp
参考
https://github.com/SecWiki/linux-kernel-exploits
维持
· 信息收集
保存用户bash history
netstat -an 查看端口连接情况
/etc/passwd /etc/shadow 用户相关信
crontab 里的定时任务
系统变量
lastlog & last & who /var/log/wtmp 分析登录频次
用户根目录的文件
/etc/hosts 中的映射
/.ssh/
查看数据库SQL日志
查看WEB服务运行日志
· 后门
shift 后门
Windows $ 隐藏用户
开机自启执行后门
替换带有后门的敏感程序 如:ssh / mstsc
注册表
dll 劫持
开启代理
待补充
内网渗透
参考
· https://github.com/Ridter/Intranet_Penetration_Tips
· https://github.com/l3m0n/pentest_study
待补充
持续渗透和一些技巧
得到子服务器权限后
· 探测内网存活主机/服务 的指纹信息
· ARP劫持流量
· 找到该服务器与其他服务器的关联(如:已得到redis服务器权限 web服务器会从redis中取出数据反序列化 则可以篡改redis中的数据以获取web服务器权限)
得到域名解析权后
· 指向到反代至目标的服务器,记录GET POST请求日志,分析特殊URL和登录后台的POST 请求
找到XSS后
· 如果是社交类网站,尝试寻找CSRF制造蠕虫
· 通过其他社交网站的JSONP漏洞,探测管理员的个人信息
· 打到管理员cookie后通过附带 Cookie 不断请求后台以保持会话不被销毁
· 根据浏览器、flash、等情况进行浏览器攻击。如:执行代码、种rootkit
· canvas 截图页面
得到邮箱地址后
· 独立邮件系统可找公开漏洞攻击
· 发送测试邮件探测对方使用邮箱系统
通过挖掘相关邮箱系统漏洞进行攻击
· 找到服务器、CDN、域名、DNS等服务商,伪造钓鱼邮件欺骗管理员登录
· 发送含有后门的附件(如:pdf、Excel、word、rar的代码执行漏洞)
· 通过社工库或搜索引擎人肉搜索得出密码后尝试登陆邮箱
得到邮箱权限后
· 分析/劫持邮箱收信
· 个人邮箱
搜搜:password、找回密码、重置密码、忘记密码等关键字
找服务器、CDN、域名、DNS等服务商的邮件,如果无法登陆尝试重置等操作
找到有关地理位置软件的邮件
淘宝(收货地址)
京东(收货地址)
支付宝(收货地址)
Apple账号(可定位)
各手机大厂(手机定位)
找发件箱中的原始图片(找exif的GPS定位)
...
· 企业邮箱
找VPN相关邮件 可内网渗透
找OA,ERP,SCM,CRM,BRP,OMS,WMS相关系统邮件
找Git,SVN,自动化测试相关邮件
搜索关键字:password、密码、192、172、10. 等关键字
...
引入了外部资源
· 搞定外部网站
· 如果是JS 可以考虑XSS攻击
· IMG LINK 可以401认证钓鱼
· IFRAME bgsound EMBED source object等可以挂可执行文件或跳转钓鱼页
找后台
· 一般在后台添加友联时会展示logo图片,如果可以填写远程URL 可以尝试和站长沟通交换友联,添加成功后,对方则会发起一个refer为后台的请求到你的LOGO
· 收集网站名简写、英文名、邮箱前缀等 于 admin、manage、system、login等常见单词组合请求
· IIS 短文件名漏洞
· Windows 下的 >> 特性
https://b1ue.cn/archives/60.html
· 找列目录漏洞
· XSS
· 收集子域名资产及其C段端口
· 二级域名 如:admin.xxx.com
· google fofa censys等引擎搜索关键字
· 爬虫爬取所有链接 提取出目录部分 按目录层级穷举
绕过验证码
· 只请求一次验证码,然后用同样的验证码暴力破解
· 知道验证码在session中的参数,找类似 Tomcat example session重置的漏洞填充同一验证码
· 云打码平台识别
· 自己训练OCR识别
APT攻击
待补充...
流量取证
待补充...
社会工程学技巧
社交搜索
· 查看注册的网站:0xreg reg007
知道账号去已注册的网站找回密码,可以看到打码后的用户名、邮箱、真实姓名等信息,如果运气好没准能从数据包或html中找到未被打码的信息
可以从这些方面判断用户是否注册过
找回密码
输入账号,如果进入下一步了则该账号存在
登录
输入账号和密码,如果提示密码错误,则表示该用户已存在
注册
填写账号时一般网站会去检测该账号是否已存在,如果已存在则会提示不可重复注册
· 知道QQ
通过QQ邮箱搜索支付宝、淘宝账号
去腾讯微博搜索
通过微信搜索
查看QQ空间
通过说说、留言、日志找到其好友
· 知道手机号
搜索QQ、微信、钉钉等社交账号
在比较火的一些APP和网站上注册或忘记密码来判断是否注册过账号
查询支付宝账号,尝试输入常见姓氏获取名字
· 通过对方的职业、兴趣找到该领域知名度较高的社交网站反查
· 根据在QQ空间、朋友圈等动态用百度识图识别照片,在微博、ins、Twitter、fb、百度贴吧搜索相近关键字,按地域、年龄、男女、用户名等筛选
· 留意社交动态
发布时间线
使用什么客户端 iPhone Android还是浏览器
注意每一条链接 / 图片 / 视频
从最早发布的动态看起,会有很大收获
· 一般得到一个账号的密码就相当于得到了其他账号的密码
· 一般人不同账号的用户名都是相同或相近的
· 一般人的社交账号头像用的都是一样的
尝试破解社保、公积金账号
· 大部分信息可以用来生成密码字典
待补充
工具
扫描工具
主动扫描
· AWVS
业界知名漏洞扫描器,适用于WEB应用
· appscan
业界知名漏洞扫描器,适用于WEB应用
· Fuxi Scanner
一款聚合了很多功能的综合扫描器
https://github.com/jeffzh3ng/Fuxi-Scanner
· xunfeng
https://github.com/ysrc/xunfeng
一款综合的巡航扫描系统
· nessus
适合扫描系统和应用层漏洞的扫描器
· sqlmap
https://github.com/sqlmapproject/sqlmap
知名自动化SQL注入神器,安全人员必备
· masscan
快速端口扫描器
被动扫描
· GourdScanV2
https://github.com/ysrc/GourdScanV2
被动式漏洞扫描器
· SQLiScanner
· Burpsuite
知名渗透测试工具,安全人员必备
渗透框架
metasploit
· https://github.com/rapid7/metasploit-framework
· 知名漏洞利用框架,安全人员必备
pocsuite
· https://github.com/knownsec/Pocsuite
· 知道创宇的POC漏洞测试框架
溯光
· https://www.trackray.cn/
· https://github.com/iSafeBlue/TrackRay
· 我开发的一款在线扫描器+接口式渗透测试框架
kunpeng
· 一个兼容多种语言的漏洞框架
poc-t
· python 漏洞验证框架
bugscan
· 四叶草的漏洞扫描器
3xp10it
pentestbox
· 整合了kali中大部分的安全工具,Windows平台上的神器
w9scan
· w8ay的一款漏洞扫描工具
信息收集
wydomain
· 猪猪侠的子域名扫描工具
bit4woo/teemo
· 聚合多个接口查子域名
ring04h/weakfilescan
· 猪猪侠的信息泄露扫描器
ring04h/dirfuzz
· 猪猪侠的网站目录扫描器
whatweb
· 网站指纹扫描
nsonaniya2010/SubDomainizer
信息泄露
lijiejie/GitHack
· lijiejie的GIT泄露利用
shengqi158/svnhack
· svn泄露利用工具
lijiejie/IIS_shortname_Scanner
· IIS短文件扫描器
渗透辅助
Cobalt Strike
· 渗透测试工具,安全人员必备
hydra
· 多种服务的密码暴力破解工具,安全人员必备
nmap
· 端口扫描和系统漏洞扫描的神器,安全人员必备
lcx
· 内网转发工具
nc
· 常用于shell反弹,安全人员必备
proxychain
· linux下的代理工具
reGeorg
· 内网渗透代理工具
Proxifier
· Windows下的代理工具
菜刀/蚁剑/Cknife
· 网站webshell管理工具,安全人员必备