内网渗透TIPS

信息搜集

边界资产信息收集

Whois 聚合数据

微步在线:https://x.threatbook.cn/

云悉指纹:https://www.yunsee.cn/

集团结构

天眼查:https://www.tianyancha.com/

网站备案看有哪些主域名(或者改后缀可能也有其它域名)

收集子公司的名称和联系邮箱

子域名(主公司/子公司)

OneForAll (一个就够了)

https://paper.seebug.org/1053/ 帮助简介(把API、代理都配置好)

DNSdumpster(在线): https://dnsdumpster.com/

历史DNS记录: https://rapiddns.io/subdomain

CDN绕过(IP资产收集)

确认CDN

多地ping: https://tools.ipip.net/httphead.php

CMD-ping看回复(IP前的域名有无CDN或WAF)

国外访问: https://asm.ca.com/en/ping.php (针对小厂CDN,国外访问可能获得真实IP)

绕过CDN

注册查看邮件原文

用空间搜索引擎(FOFAtitle="公司名"等特征 )

通过查找到的子域名,辅助查找真实IP

配置不当

1、phpinfo

2、站点同时支持http和https访问,CDN只配置 https协议,那么这时访问http就可以轻易绕过。

得知真实IP后,可以改host访问

在这里https://www.ipip.net/ip.html 查询IP归属地,和目标公司匹配一下。

C段/旁站

将C段收集的相关IP,推测该单位所在的IP段,再针对IP段进行服务器端口扫描

利用FOFA空间搜索引擎(title="xxx" && host="xxx.com"

ASN码查询C段(大型企业才有)

https://tools.ipip.net/as.php (在这输入IP查ASN码)

https://www.cidr-report.org/cgi-bin/as-report?as=AS37963 (查询ASN码对应的资产列表)

旁站查询(IP反查域名)

443 看证书、FOFA搜IP查域名

http://dns.bugscaner.com/

https://site.ip138.com/

SRC 漏洞库

拿到子域的一些资产可以查找已公开漏洞,例如搜索深信服VPN

乌云镜像:https://wooyun.x10sec.org/

Web指纹(网站架构)

CMS框架、OS、脚本语言、中间件容器 (使用的版本是否存在历史漏洞)

相关工具:wappalyzer、云悉指纹等

网站后台/敏感信息

网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,可能存在一些敏感路径

备份文件、测试文件、Github泄露、SVN源码泄露

https://github.com/maurosoria/dirsearch

JS敏感API接口

jsfinder(扫API和子域名):https://github.com/Threezh1/JSFinder

APP/微信小程序

通过移动端的程序,找到信息泄露、真实IP等,多端不同步等漏洞。

端口服务扫描

1-65535端口扫描,探测Web服务端口

masscan+nmap结合扫描研究,速度和准确率的结合

https://zhuanlan.zhihu.com/p/77656471

常见端口服务渗透

端口号

端口说明

渗透思路

21/69

FTP/TFTP:文件传输协议

爆破、内网嗅探

22

SSH:远程连接

用户名枚举、爆破

23

Telnet:远程连接

爆破、内网嗅探

25

SMTP:邮件服务

邮件伪造

53

DNS:域名系统

DNS域传送\DNS缓存投毒\DNS欺骗\利用DNS隧道技术刺透防火墙

389

LDAP

未授权访问(通过LdapBrowser工具直接连入)

443

https服务

OpenSSL 心脏滴血(nmap -sV --script=ssl-heartbleed 目标)

445

SMB服务

ms17_010远程代码执行

873

rsync服务

未授权访问

1090/1099

Java-rmi

JAVA反序列化远程命令执行漏洞

1352

Lotus Domino邮件服务

爆破:弱口令、信息泄漏:源代码

1433

MSSQL

注入、SA弱口令爆破、提权

1521

Oracle

注入、TNS爆破

2049

NFS

配置不当

2181

ZooKeeper服务

未授权访问

3306

MySQL

注入、爆破、写shell、提权

3389

RDP

爆破、Shift后门、CVE-2019-0708远程代码执行

4848

GlassFish控制台

爆破:控制台弱口令、认证绕过

5000

Sybase/DB2数据库

爆破、注入

5432

PostgreSQL

爆破弱口令、高权限执行系统命令

5632

PcAnywhere服务

爆破弱口令

5900

VNC

爆破:弱口令、认证绕过

6379

Redis

未授权访问、爆破弱口令

7001

WebLogic中间件

反序列化、控制台弱口令+部署war包、SSRF

8000

jdwp

JDWP 远程命令执行漏洞(工具

8080/8089

Tomcat/JBoss/Resin/Jetty/Jenkins

反序列化、控制台弱口令、未授权

8161

ActiveMQ

admin/admin、任意文件写入、反序列化

8069

Zabbix

远程命令执行

9043

WebSphere控制台

控制台弱口令https://:9043/ibm/console/logon.jsp、远程代码执行

9200/9300

Elasticsearch服务

远程代码执行

11211

Memcache

未授权访问(nc -vv 目标 11211)

27017

MongoDB

未授权访问、爆破弱口令

50000

SAP

远程代码执行

50070

hadoop

未授权访问

开源情报信息收集(OSINT)

github

whois查询/注册人反查/邮箱反查/相关资产

google hacking

创建企业密码字典

字典列表

密码生成

邮箱列表获取

泄露密码查询

对企业外部相关信息进行搜集

子域名获取

Linux

Windows

漏洞挖掘

漏洞挖掘步骤:

(1)枚举程序入口点(GET-URL、POST数据、Cookie、HTTP消息头、带外通道)

(2)思考可能出现的不安全状态(即漏洞)

(3)设法使入口点到达不安全状态

带外通道

处理并显示通过SMTP接受到的电子邮件消息的Web邮件应用程序;

具有通过HTTP从其它服务器获取内容功能的发布应用程序(SSRF、XML)

记录数据或日志显示在Web页面的入侵检测系统;

提供的API接口

从攻击面上来划分可以讲漏洞分为两大类,通用漏洞 和 上下文漏洞

通用型漏洞

是指在我们对应用的业务逻辑不是非常熟悉的情况下能够找出的漏洞;

例如一些RCE(远程代码执行)、SQLi、XSS、等。

上下文漏洞

是指需要在对应用的业务逻辑、认证方式等非常熟悉的情况下才能找到的漏洞,例如权限绕过等。

漏洞的复杂性:有时候需要多个漏洞一起结合利用

OWASP Top10

1.注入:SQL注入、OS注入(命令执行)、LDAP注入 2.失效的身份认证和会话管理:弱口令爆破、不安全的散列密码加密(MD5爆破) 3.敏感数据泄漏:源码泄漏、配置文件暴露、www.zip备份文件、默认后台 4.XML外部实体(XXE) 5.失效的访问控制:管理页面仅能管理员权限访问;越权漏洞(垂直越权、水平越权); JWT-Cookie伪造 6.安全配置错误:开放了不必要的功能(445端口、网页-默认安装页面未删除、页面报错)、默认密码或空密码 7.跨站脚本(XSS) 8.不安全的反序列化:java、php、python 9.使用含有已知漏洞的组件:未打补丁的系统和组件、使用有已知漏洞的框架版本 10.不足的日志记录和监控:代码被删除,日志被修改,无法溯源;应该记录登陆失败次数;监控问题没被管理员响应

渗透测试CheckList

这里并没有列全,反正就是各种Day去打就是了

漏洞扫描

【AWVS爬虫 + Xray被动扫描】联动

任意文件读取(下载)

JAVA站文件读取漏洞,下载网站源码工具

https://github.com/LandGrey/ClassHound

https://github.com/Artemis1029/Java_xmlhack

社工打点

邮件钓鱼

伪装求职者欺骗HR(传word或PDF马)

伪装客户欺骗销售(传木马)

伪装客户联系技术支持(获取系统密码)

进入内网

基于企业弱账号漏洞

  • VPN(通过邮箱,密码爆破,社工等途径获取VPN)

  • 企业相关运维系统(zabbix等)

基于系统漏洞进入

网站应用程序渗透

  • SQL注入

  • 跨站脚本(XSS)

  • 跨站请求伪造(CSRF)

  • SSRF(ssrf_proxy

  • 功能/业务逻辑漏洞

  • 其他漏洞等

  • CMS-内容管理系统漏洞

  • 企业自建代理

无线Wi-Fi接入

隐匿攻击

Command and Control

Fronting

代理

内网跨边界应用

构建通道漫游内网

边界代理

遵循三个原则

  1. 稳定性(主要用于扫描){ 支持高并发、自动断线重连 }

  2. 安全性(防止socks5直接被ban){ 流量可加密、开放代理可设置认证 }

  3. 健壮性 { 支持多种协议方式、最好支持插件定制 }

推荐工具

工具

优点

缺点

稳定、支持断线重连(大流量不断线) 支持将代理端口放在本地(跳板机只开个frp服务端口)

配置复杂,体积偏大

自带Web管理,一键启动 多级代理友好

稳定性不如Frp 会在tmp生成文件

端口转发(打17_010等漏洞)

Windows netsh

netsh仅支持TCP协议, 适用于双网卡服务器, 连接外网6666端口,就是连接到内网目标上面的3389。

启动转发

取消转发

Linux SSH隧道(高权限用)

SSH一般是允许通过防火墙的,而且传输过程是加密的

测试环境如下图,VPS可访问Web服务器,但不能访问内网其它机器,Web服务器可访问内网其它机器。

目标:以Web服务器为跳板访问内网其它机器。

本地转发

VPS(黑客)上执行以下命令

SSH进程的本地端口映射,将本地端口转发到远端指定机器的指定端口;

本地端口转发是在本地监听一个端口,所有访问这个端口的流量都会通过SSH隧道传输到远端的对应端口。

远程转发

Web服务器上执行如下命令

访问VPS的1122端口,即可连接内网数据库服务器的3389

所有访问VPS的1122端口的流量都会通过SSH隧道传输到数据库服务器的3389端口

ICMP隧道

项目地址:https://github.com/esrrhs/pingtunnel

适用场景 :特殊环境下icmp流量允许出网

实现原理:客户端将TCP流量封装成icmp,然后发送给服务端,服务端再从ICMP包解析出正常TCP流量最后发向目标

iptables正向端口转发

1、编辑配置文件

2、关闭服务

3、配置规则

4、保存并重启服务

这时访问Web服务器的3389就能登录到内网机器的桌面了。

端口复用

适用场景

需要占用一些已经开启的端口情况下( server只对外开放指定端口,无法向外进行端口转发 、规避防火墙)

当前机器不出网不出网情况下,留正向后门

reGeorg 端口复用

网络情况:A只能连接B主机的80端口,A无法与C进行通信,且B无法与外网进行通信

项目地址: https://github.com/sensepost/reGeorg

reGeorg是一个Python2.7环境下开发的一款结合Webshell进行端口复用的工具;

能够将数据通过在本地建立的Socks服务转发到内网环境 ;

reGeorg需要配合Webshell使用,并且需要一个良好的网络状况,Python环境必须安装Urlib3

创建Socks5代理

之后使用浏览器设置Socks代理,就能访问内网主机的端口了,或者结合 Proxifier 连接 3389

HTTP.sys端口复用后门

HTTP.sys驱动是IIS的主要组成部分,主要负责HTTP协议相关的处理,它有一个重要的功能叫Port Sharing,即端口共享;

所有基于HTTP.sys驱动的HTTP应用可以共享同一个端口,只需要各自注册的url前缀不一样即可;

使用Windows的远程管理服务WinRM,结合HTTP.sys驱动自带的端口复用功能,可实现端口复用后门

1、 开启WinRM服务

WinRm使用端口:http 5985、https 5986

Server 2012及之后,已经默认开启WinRM并监听了5985端口

Server 2008及之前的系统

2、 Server 2012配置,新增80端口Listerner

对于原本就开放了WinRM的机器(Server 2012),需要保留该端口,以免影响系统管理员正常使用

同时还需要新增一个80端口的Listener供攻击者使用

3、Server 2008配置,修改WinRM端口

对于原本未开放WinRM服务的机器(Server 2008),需要把新开的5985端口修改至80端口,避免引起系统管理员怀疑

4、后门连接

首先开启本机WinRM服务,然后设置信任连接的主机

执行使用winrs命令连接远程WinRM服务,获取交互shell

端口复用相关工具: https://github.com/Heart-Sky/port-multiplexing

参考连接

端口复用后门 - 0x4D75 - 博客园

内网跨边界转发

内网跨边界代理穿透

EW

正向 SOCKS v5 服务器:

反弹 SOCKS v5 服务器: a) 先在一台具有公网 ip 的主机A上运行以下命令:

b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口

多级级联

lcx_tran 的用法

lcx_listen、lcx_slave 的用法

“三级级联”的本地SOCKS测试用例以供参考

Termite

使用说明:https://rootkiter.com/Termite/README.txt

代理脚本

reGeorg :https://github.com/sensepost/reGeorg

shell反弹

bash

perl

python

php

ruby

java

nc

lua

内网文件的传输和下载

wput

wget

ariac2(需安装)

powershell

vbs脚本

执行 :cscript test.vbs

Perl

执行:perl test.pl

Python

执行:python test.py

Ruby

执行:ruby test.rb

PHP

执行:php test.php

NC attacker

target

FTP

TFTP

Bitsadmin

Window 文件共享

SCP 本地到远程

远程到本地

rsync 远程rsync服务器中拷贝文件到本地机

本地机器拷贝文件到远程rsync服务器

certutil.exe

copy

WHOIS 接收端 Host B:

发送端 Host A:

WHOIS + TAR First:

Next

Finally

PING 发送端:

接收端ping_receiver.py:

DIG 发送端:

接收端dns_reciver.py:

...

搭建 HTTP server

python2

python3

PHP 5.4+

ruby

Perl

busybox httpd

内网信息搜集

本机信息搜集

1、用户列表

windows用户列表 分析邮件用户,内网[域]邮件用户,通常就是内网[域]用户

2、进程列表

析杀毒软件/安全监控工具等 邮件客户端 VPN ftp等

3、服务列表

与安全防范工具有关服务[判断是否可以手动开关等] 存在问题的服务[权限/漏洞]

4、端口列表

开放端口对应的常见服务/应用程序[匿名/权限/漏洞等] 利用端口进行信息收集

5、补丁列表

分析 Windows 补丁 第三方软件[Java/Oracle/Flash 等]漏洞

6、本机共享

本机共享列表/访问权限 本机访问的域共享/访问权限

7、本用户习惯分析

历史记录 收藏夹 文档等

8、获取当前用户密码工具

Windows

Linux

扩散信息收集

端口扫描

常用端口扫描工具

内网拓扑架构分析

  • DMZ

  • 管理网

  • 生产网

  • 测试网

常见信息收集命令

ipconfig:

net:

dsquery

第三方信息收集

  • NETBIOS 信息收集

  • SMB 信息收集

  • 空会话信息收集

  • 漏洞信息收集等

权限提升

Windows

BypassUAC

常用方法

  • 使用IFileOperation COM接口

  • 使用Wusa.exe的extract选项

  • 远程注入SHELLCODE 到傀儡进程

  • DLL劫持,劫持系统的DLL文件

  • eventvwr.exe and registry hijacking

  • sdclt.exe

  • SilentCleanup

  • wscript.exe

  • cmstp.exe

  • 修改环境变量,劫持高权限.Net程序

  • 修改注册表HKCU\Software\Classes\CLSID,劫持高权限程序

  • 直接提权过UAC

常用工具

提权

  • windows内核漏洞提权

检测类:Windows-Exploit-Suggester,WinSystemHelper,wesng

利用类:windows-kernel-exploitsBeRoot

  • 服务提权

数据库服务,ftp服务等

  • WINDOWS错误系统配置

  • 系统服务的错误权限配置漏洞

  • 不安全的注册表权限配置

  • 不安全的文件/文件夹权限配置

  • 计划任务

  • 任意用户以NT AUTHORITY\SYSTEM权限安装msi

  • 提权脚本

PowerUP,ElevateKit

Linux

内核溢出提权

linux-kernel-exploits

计划任务

SUID

系统服务的错误权限配置漏洞

不安全的文件/文件夹权限配置

找存储的明文用户名,密码

权限维持

C&C免杀对抗多维度分析

查杀方式

文件查杀(Signatured Static Scanning) 内存扫描(Run-time Analysis) 流量分析(NIPS/NIDS) 行为分析(behavior Monitoring)

对抗-静态扫描(文件查杀)

1、shellcode加密(XOR、AES)

避免被杀软直接获取到真正shellcode(因为性能等原因 杀软不会暴力枚举解密内容)

2、源码级免杀(自主研发C&C工具)

对抗-内存扫描

各种语言自定义加载器,比如使用C# 编写ShellCode Loader

运行机制不同(C#使用虚拟机解释后运行,Golang编译运行)杀软没足够精力跟进各种形式的加载器

对抗-流量分析

域前置 - Domain Fronting

流量路径CDN->IP->c2

对抗-行为分析

指定特定的运行条件,符合条件才执行恶意操作;避免在沙箱、逆向分析时有明显的恶意行为。

适合指定某个重要目标的情况下使用,比如要拿域内的某台重要靶标。

或者可以加强壳,例如VMP

一、shellcode加密

推荐一个脚本:https://github.com/rvrsh3ll/CPLResourceRunner

可以把CS生成的RAW的beacon.bin转成shellcode

服务端:Python Flask动态加密Shellcode

二、C#编写Loader

客户端:Loder从网络加载Shellcode(随机生成key去请求shellcode) -> 解密 -> 创建进程 运行上线

成功上线

杀软扫描

最后注意!!!

我写代码的时候机器开着火绒呢,一开始我用的CreateThread直接给我干掉了;

后来改成CreateRemoteThread,火绒还是能识别出木马释放程序;

解决方法:1、再找其它可以替代的函数; 2、寻找新的注入方式

还有就是我这次做实验的时候太奔放了,全程开着杀软网没断;

正确的做法是更新完杀软然后断网,创建虚拟机快照,测完后恢复快照;

否则杀软会镜像流量,等下次开机样本就会被上传出去。

这个加载器运行时会弹一个黑框输出shellcode的长度,实际使用记得修改为不让它弹窗

三、使用域前置

由于是测试,跳过了这一步,直接用了C2的IP

域前置方法参考以下链接:

https://www.anquanke.com/post/id/195011

另外CS的Profie也要自己修改一下特征

系统后门

Windows

1、密码记录工具

WinlogonHack WinlogonHack 是一款用来劫取远程3389登录密码的工具,在 WinlogonHack 之前有 一个 Gina 木马主要用来截取 Windows 2000下的密码,WinlogonHack 主要用于截 取 Windows XP 以及 Windows 2003 Server。 键盘记录器 安装键盘记录的目地不光是记录本机密码,是记录管理员一切的密码,比如说信箱,WEB 网页密码等等,这样也可以得到管理员的很多信息。 NTPass 获取管理员口令,一般用 gina 方式来,但有些机器上安装了 pcanywhere 等软件,会导致远程登录的时候出现故障,本软件可实现无障碍截取口令。 Linux 下 openssh 后门 重新编译运行的sshd服务,用于记录用户的登陆密码。

2、常用的存储Payload位置

WMI : 存储:

读取:

包含数字签名的PE文件 利用文件hash的算法缺陷,向PE文件中隐藏Payload,同时不影响该PE文件的数字签名 特殊ADS

特殊COM文件

磁盘根目录

3、Run/RunOnce Keys

用户级

管理员

4、BootExecute Key

由于smss.exe在Windows子系统加载之前启动,因此会调用配置子系统来加载当前的配置单元,具体注册表键值为:

5、Userinit Key

WinLogon进程加载的login scripts,具体键值:

6、Startup Keys

7、Services

创建服务

8、Browser Helper Objects

本质上是Internet Explorer启动时加载的DLL模块

9、AppInit_DLLs

加载User32.dll会加载的DLL

10、文件关联

11、bitsadmin

12、mof

管理员执行:

13、wmi

每隔60秒执行一次notepad.exe

14、Userland Persistence With Scheduled Tasks

劫持计划任务UserTask,在系统启动时加载dll

15、Netsh

后门触发:每次调用netsh

dll编写:https://github.com/outflanknl/NetshHelperBeacon

16、Shim

常用方式: InjectDll RedirectShortcut RedirectEXE

17、DLL劫持

通过Rattler自动枚举进程,检测是否存在可用dll劫持利用的进程 使用:Procmon半自动测试更精准,常规生成的dll会导致程序执行报错或中断,使用AheadLib配合生成dll劫持利用源码不会影响程序执行 工具:https://github.com/sensepost/rattler 工具:https://github.com/Yonsm/AheadLib

18、DoubleAgent

编写自定义Verifier provider DLL 通过Application Verifier进行安装 注入到目标进程执行payload 每当目标进程启动,均会执行payload,相当于一个自启动的方式 POC : https://github.com/Cybellum/DoubleAgent

19、waitfor.exe

不支持自启动,但可远程主动激活,后台进程显示为waitfor.exe POC : https://github.com/3gstudent/Waitfor-Persistence

20、AppDomainManager

针对.Net程序,通过修改AppDomainManager能够劫持.Net程序的启动过程。如果劫持了系统常见.Net程序如powershell.exe的启动过程,向其添加payload,就能实现一种被动的后门触发机制

21、Office

劫持Office软件的特定功能:通过dll劫持,在Office软件执行特定功能时触发后门 利用VSTO实现的office后门 Office加载项

  • Word WLL

  • Excel XLL

  • Excel VBA add-ins

  • PowerPoint VBA add-ins

参考1 :https://3gstudent.github.io/3gstudent.github.io/Use-Office-to-maintain-persistence/

参考2 :https://3gstudent.github.io/3gstudent.github.io/Office-Persistence-on-x64-operating-system/

22、CLR

无需管理员权限的后门,并能够劫持所有.Net程序 POC:https://github.com/3gstudent/CLR-Injection

23、msdtc

利用MSDTC服务加载dll,实现自启动,并绕过Autoruns对启动项的检测 利用:向 %windir%\system32\目录添加dll并重命名为oci.dll

24、Hijack CAccPropServicesClass and MMDeviceEnumerato

利用COM组件,不需要重启系统,不需要管理员权限 通过修改注册表实现 POC:https://github.com/3gstudent/COM-Object-hijacking

25、Hijack explorer.exe

COM组件劫持,不需要重启系统,不需要管理员权限 通过修改注册表实现

26、Windows FAX DLL Injection

通过DLL劫持,劫持Explorer.exe对fxsst.dll的加载 Explorer.exe在启动时会加载c:\Windows\System32\fxsst.dll(服务默认开启,用于传真服务)将payload.dll保存在c:\Windows\fxsst.dll,能够实现dll劫持,劫持Explorer.exe对fxsst.dll的加载

27、特殊注册表键值

在注册表启动项创建特殊名称的注册表键值,用户正常情况下无法读取(使用Win32 API),但系统能够执行(使用Native API)。

《渗透技巧——"隐藏"注册表的创建》

《渗透技巧——"隐藏"注册表的更多测试》

28、快捷方式后门

替换我的电脑快捷方式启动参数 POC : https://github.com/Ridter/Pentest/blob/master/powershell/MyShell/Backdoor/LNK_backdoor.ps1

29、Logon Scripts

30、Password Filter DLL

31、利用BHO实现IE浏览器劫持

Linux

crontab

每60分钟反弹一次shell给dns.wuyun.org的53端口

硬链接sshd

链接:ssh root@192.168.206.142 -p 2333

SSH Server wrapper

SSH keylogger

vim当前用户下的.bashrc文件,末尾添加

source .bashrc

Cymothoa_进程注入backdoor

rootkit

Tools

WEB后门

PHP Meterpreter后门 Aspx Meterpreter后门 weevely webacoo ....

PHP

文件免杀(Apache、Nginx特性)cmd

一句话

流量免杀

蚁剑自定义编码器 https://github.com/AntSwordProject/AwesomeEncoder/tree/master/php

内存马

杀死PHP不死马

JSP

Tomcat无文件Shell: https://github.com/z1Ro0/tomcat_nofile_webshell

冰蝎去特征(请参考酒仙桥六号部队的文章)

冰蝎,从入门到魔改

冰蝎改造之不改动客户端=>内存马

隐藏WebShell

1、仿照已存在的文件起名字,隐藏在深层目录, 创建…目录隐藏shell(ls -al你就知道为啥了)

2、利用静态文件,比如图片马然后利用 .htaccess 进行解析

3、修改WebShell时间戳为同目录下其它文件相同的时间

反弹Shell

PHPhttps://github.com/pentestmonkey/php-reverse-shell

JSPhttps://github.com/z3v2cicidi/jsp-reverse-shell

ASPXhttps://github.com/borjmz/aspx-reverse-shell

攻击机 VPS 监听接 shell

横向渗透

端口渗透

端口扫描

  • 1.端口的指纹信息(版本信息)

  • 2.端口所对应运行的服务

  • 3.常见的默认端口号

  • 4.尝试弱口令

端口爆破

hydra

端口弱口令

  • NTScan

  • Hscan

  • 自写脚本

端口溢出

smb

  • ms08067

  • ms17010

  • ms11058

  • ...

apache ftp ...

常见的默认端口

1、web类(web漏洞/敏感目录)

第三方通用组件漏洞: struts thinkphp jboss ganglia zabbix ...

2、数据库类(扫描弱口令)

3、特殊服务类(未授权/命令执行类/漏洞)

4、常用端口类(扫描弱口令/端口爆破)

5、端口合计所对应的服务

域渗透

信息搜集

powerview.ps1

BloodHound

获取某OU下所有机器信息

自动标记owned用户及机器

SyncDog

获取域内DNS信息

获取域控的方法

SYSVOL

SYSVOL是指存储域公共文件服务器副本的共享文件夹,它们在域中所有的域控制器之间复制。 Sysvol文件夹是安装AD时创建的,它用来存放GPO、Script等信息。同时,存放在Sysvol文件夹中的信息,会复制到域中所有DC上。 相关阅读:

MS14-068 Kerberos

利用mimikatz将工具得到的TGT_domainuser@SERVER.COM.ccache写入内存,创建缓存证书:

相关阅读 :

SPN扫描

Kerberoast可以作为一个有效的方法从Active Directory中以普通用户的身份提取服务帐户凭据,无需向目标系统发送任何数据包。 SPN是服务在使用Kerberos身份验证的网络上的唯一标识符。它由服务类,主机名和端口组成。在使用Kerberos身份验证的网络中,必须在内置计算机帐户(如NetworkService或LocalSystem)或用户帐户下为服务器注册SPN。对于内部帐户,SPN将自动进行注册。但是,如果在域用户帐户下运行服务,则必须为要使用的帐户的手动注册SPN。 SPN扫描的主要好处是,SPN扫描不需要连接到网络上的每个IP来检查服务端口,SPN通过LDAP查询向域控执行服务发现,SPN查询是Kerberos的票据行为一部分,因此比较难检测SPN扫描。 相关阅读 :

Kerberos的黄金门票

在域上抓取的哈希

相关阅读 :

Kerberos的银票务

黄金票据和白银票据的一些区别: Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限 银票:伪造TGS,只能访问指定的服务 加密方式不同: Golden Ticket由krbtgt的hash加密 Silver Ticket由服务账号(通常为计算机账户)Hash加密 认证流程不同: 金票在使用的过程需要同域控通信 银票在使用的过程不需要同域控通信 相关阅读 :

域服务账号破解

与上面SPN扫描类似的原理 https://github.com/nidem/kerberoast 获取所有用作SPN的帐户

从Mimikatz的RAM中提取获得的门票

用rgsrepcrack破解

凭证盗窃

从搜集的密码里面找管理员的密码

NTLM relay

Kerberos委派

地址解析协议

实在搞不定再搞ARP ​

获取AD哈希

  • 使用VSS卷影副本

  • Ntdsutil中获取NTDS.DIT​​文件

  • PowerShell中提取NTDS.DIT -->Invoke-NinaCopy

  • 使用Mimikatz提取

  • 使用PowerShell Mimikatz

  • 使用Mimikatz的DCSync 远程转储Active Directory凭证 提取 KRBTGT用户帐户的密码数据:

管理员用户帐户提取密码数据:

  • NTDS.dit中提取哈希 使用esedbexport恢复以后使用ntdsxtract提取

AD持久化

活动目录持久性技巧

https://adsecurity.org/?p=1929 DS恢复模式密码维护 DSRM密码同步

Windows Server 2008 需要安装KB961320补丁才支持DSRM密码同步,Windows Server 2003不支持DSRM密码同步。KB961320:https://support.microsoft.com/en-us/help/961320/a-feature-is-available-for-windows-server-2008-that-lets-you-synchroni,可参考:[巧用DSRM密码同步将域控权限持久化](http://drops.xmd5.com/static/drops/tips-9297.html)

DCshadow

Security Support Provider

简单的理解为SSP就是一个DLL,用来实现身份认证

这样就不需要重启c:/windows/system32可看到新生成的文件kiwissp.log

SID History

SID历史记录允许另一个帐户的访问被有效地克隆到另一个帐户

AdminSDHolder&SDProp

利用AdminSDHolder&SDProp(重新)获取域管理权限

组策略

https://adsecurity.org/?p=2716 策略对象在持久化及横向渗透中的应用

Hook PasswordChangeNotify

http://www.vuln.cn/6812

Kerberoasting后门

域渗透-Kerberoasting

AdminSDHolder

Backdooring AdminSDHolder for Persistence

Delegation

Unconstrained Domain Persistence

其他

域内主机提权

SharpAddDomainMachine

Exchange的利用

TIPS

《域渗透——Dump Clear-Text Password after KB2871997 installed》

《域渗透——Hook PasswordChangeNotify》

可通过Hook PasswordChangeNotify实时记录域控管理员的新密码

《域渗透——Local Administrator Password Solution》

域渗透时要记得留意域内主机的本地管理员账号

《域渗透——利用SYSVOL还原组策略中保存的密码》

相关工具

在远程系统上执行程序

IOT相关

中间人

规避杀软及检测

Bypass Applocker

UltimateAppLockerByPassList https://lolbas-project.github.io/

bypassAV

痕迹清理

获取日志分类列表:

获取单个日志类别的统计信息: eg.

回显:

查看指定日志的具体内容:

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

破坏Windows日志记录功能

利用工具

msf

3389登陆记录清除

最后更新于

这有帮助吗?